📄 traffic.v
字号:
module traffic(clk,esp,lightR,lightY,lightG);
input clk,esp;
output[3:0] lightR; //红灯
output[3:0] lightG; //绿灯
output[3:0] lightY; //黄灯
reg[3:0] lightR;
reg[3:0] lightG;
reg[3:0] lightY;
reg[3:0] state;
parameter
IDLE='d0, A='d1, B='d2,C='d3, D='d4,E='d5, F='d6,G='d7;
always @(posedge clk)
if(!esp)
begin
lightR<=4'b1111;//紧急事件,红灯全亮
lightG<=4'b0;
lightY<=4'b0;
end
else
case(state)
IDLE :
begin
lightR<=4'b1100;
lightG<=4'b0;
lightY<=4'b0011;
state <= A;
end
A:
begin
lightR<=4'b1100;
lightG<=4'b0011;
lightY<=4'b0;
state <=B;
end
B:
begin
lightR<=4'b0;
lightG<=4'b1111;
lightY<=4'b0;
state <= C;
end
C:
begin
lightR<=4'b0011;
lightG<=4'b1100;
lightY<=4'b0;
state <= D;
end
D:
begin
lightR<=4'b0011;
lightG<=4'b0;
lightY<=4'b0011;
state <= E;
end
E:
begin
lightR<=4'b0011;
lightG<=4'b0011;
lightY<=4'b0;
state <= F;
end
F:
begin
lightR<=4'b0;
lightG<=4'b1111;
lightY<=4'b0;
state <= G;
end
G:
begin
lightR<=4'b1100;
lightG<=4'b0011;
lightY<=4'b0;
state <= A;
end
default:state<=IDLE;//返回初始状态。
endcase
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -