扫码加入

  • 方案介绍
  • 相关推荐
申请入驻 产业图谱

基于状态机的交通灯控制器的设计Verilog代码Quartus仿真

2小时前
45
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

名称:基于状态机的交通灯控制器的设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:这是一个基于状态机的交通灯控制器。模块采用三段式状态机设计,包含红灯、黄灯、绿灯三个状态,定时分别为25秒、5秒和20秒。每个状态都有独立的计数器,在时钟上升沿触发计数,达到设定时间后自动切换到下一状态,状态转换顺序为:红灯→黄灯→绿灯→红灯循环。复位时系统进入红灯状态确保安全。输出采用独热码方式,同一时刻只有一个灯亮起。该设计结构清晰,通过参数化时间设置便于修改,实现了交通灯基本的周期性切换功能。

 

 

 

 

演示视频:

设计文档:

1、工程文件

 

2、div_clk文件

 

3、程序编译

 

4、Testbench

RTL图

5、仿真图

6、traffic_light文件

 

7、程序编译

 

8、Testbench

 

9、仿真图

 

 

 

部分代码展示:

module div_clk(
input clk,
input rst,
output clk_low_freq
);
parameter NUMBER=27'd125_000_000;//125M
reg [26:0] div_cnt;
always@(posedge clk or posedge rst)
if(rst)
div_cnt<=27'd0;
else if(div_cnt>=NUMBER-27'd1)//计数NUMBER
div_cnt<=27'd0;
else
div_cnt<=div_cnt+27'd1;
assign clk_low_freq = (div_cnt>=NUMBER/2) ? 1'b1 : 1'b0;

 

 

 

 

 

 

相关推荐