交通灯检测电路设计(Verilog)
1. 题目要求:
实现3-8译码器,利用译码器实现监视交通信号灯故障的电路,即红、黄、绿三盏灯有且仅有一个亮时,交通信号灯正常,否则输出故障指示信号。
2.设计思路:
(1)实现三八译码器;
(2)用LED灯的亮与灭表示交通灯的故障与否。LED灯亮则表示出现故障,灭即为没有故障。
3.Verilog代码设计:
//顶层文件
module MonitorLED(Sw_In,LED_Out);
input [2:0]Sw_In;
output LED_Out;
MonitorLED_module MonitorLED_module_inst
(
.Sw_In(Sw_In) ,
.LED_Out(LED_Out)
);//例化
endmodule
//底层文件
module MonitorLED_module(Sw_In,LED_Out);
input [2:0]Sw_In;
output reg LED_Out;
always @(Sw_In[0] or Sw_In[1] or Sw_In[2])
begin
case({Sw_In[0],Sw_In[1],Sw_In[2]})
3'b000: LED_Out=1;
3'b001: LED_Out=0;
3'b010: LED_Out=0;
3'b011: LED_Out=1;
3'b100: LED_Out=0;
3'b101: LED_Out=1;
3'b110: LED_Out=1;
3'b111: LED_Out=1;
default: LED_Out=1;
endcase
end
endmodule