⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traffic.v

📁 1.设计目的 (1)设计交通灯控制器; (2)学习状态机的设计方法; (3)学习原理图、状态机等多种的设计方法进行混合设计; (4)熟练掌握器件设计输入、编译、仿真和编程的过程。 2.设计内
💻 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 + -