交通灯系统设计Verilog代码Quartus仿真

名称:交通灯系统设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

设计交通灯系统。

① 功能:定义两个拨码开关,用来控制a,b方向灯的亮灭以及个灯亮的时间,当拨码开关都拨上去时,a方向的红灯亮,并且数码管的低两位显示红灯亮的时间,b方向的绿灯亮,数码管的高两位显示绿灯亮的时间,然后依次是a方向的绿灯、黄灯,b方向的黄灯、红灯依次循环进行交替亮灭。

② 要求:设计实现方案,划分功能模块,采用HDL建模,并完成功能仿真分析、RTL视图分析


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件



3. 程序编译


4. RTL图


5. 仿真图

整体仿真图


分频模块


控制模块

显示模块


部分代码展示:

//红绿灯控制模块
module light_ctrl(
input clk_in,//时钟
input clk_1Hz,//1Hz时钟
input [1:0] SW,//两个拨码开关
output reg main_R,//主干道红灯
output reg main_G,//主干道绿灯
output reg main_Y,//主干道黄灯
output reg branch_R,//支干道红灯
output reg branch_G,//支干道绿灯
output reg branch_Y,//支干道黄灯
output reg [7:0] Main_road,//主干道数码管数据显示
output reg [7:0] Branch_road//支干道数码管数据显示
);
reg [7:0] main_G_cnt;
reg [7:0] main_Y_cnt;
reg [7:0] main_R_cnt;
reg [7:0] branch_G_cnt;
reg [7:0] branch_Y_cnt;
reg [7:0] branch_R_cnt;
reg [2:0] state=3'd0;
parameter M_G_state=3'd0;
parameter M_Y_state=3'd1;
parameter B_G_state=3'd2;
parameter B_Y_state=3'd3;
reg [7:0] M_G_cnt=1;
reg [7:0] M_Y_cnt=1;
reg [7:0] B_G_cnt=1;
reg [7:0] B_Y_cnt=1;
//状态机控制
always@(posedge clk_1Hz)
if(SW!=2'b11)begin//拨码不都拨上时
state<=M_G_state;//(a方向的红灯亮,b方向的绿灯亮)
end
else//拨码都拨上时
case(state)
M_G_state://(a方向的红灯亮,b方向的绿灯亮)
if(M_G_cnt<8'd45) begin//主干道绿灯45秒
state<=M_G_state;
M_G_cnt<=M_G_cnt+1;//计数
end
else begin
state<=M_Y_state;//下一状态
M_G_cnt<=1;
end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 交通灯系统设计Verilog代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员