名称:十字路口红绿灯Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
一课程设计题目
使用硬件描述语言设计一个十字路口的红绿灯控制电路,有东西方向,和南北方向两组红绿灯,每组的亮灯顺序依次为“绿灯一黄灯一红灯一绿灯环亮,其中绿灯亮灯时间为27s,黄灯亮灯时间为35,红亮灯时间为30s.采用倒计时显示剩余时间,使用数码管动态显示。
二、程序设计具体要求:
1、使用 Verilog Hdl语言编写
使用modelsim进行仿真
1. 工程文件
2. 程序文件
顶层文件
分频模块
控制模块
显示模块
3. 程序编译(编译报告)
4. RTL图
状态机状态图
5. Testbench(TB文件)
6. modelsim仿真图
整体仿真图
分频模块
控制模块
数码管显示模块
部分代码展示:
module traffic_light( input clk,//50MMhz input reset,//复位---- //led 1亮0灭 output main_red,//主路灯 output main_green,//主路灯-- output main_yellow,//主路灯-- output branch_red,//支路灯-- output branch_green,//支路灯-- output branch_yellow,//支路灯-- output [3:0] weixuan,//数码管位选 output [7:0] duanxian//数码管段选 ); wire clk_1Hz; wire [7:0] main_data_out; wire [7:0] branch_data_out; wire main_red_led;//主路灯 wire main_green_led;//主路灯 wire main_yellow_led;//主路灯 wire branch_red_led;//支路灯 wire branch_green_led;//支路灯 wire branch_yellow_led;//支路灯 //led 0亮1灭 assign main_red=main_red_led;//主路灯 assign main_green=main_green_led;//主路灯 assign main_yellow=main_yellow_led ;//主路灯 assign branch_red=branch_red_led;//支路灯 assign branch_green=branch_green_led;//支路灯 assign branch_yellow=branch_yellow_led ;//支路灯 //定义路口个灯持续时间,修改此处时间 //主路绿灯+主路黄灯=支路红灯时间 //支路绿灯+支路黄灯=主路红灯时间 wire [7:0]main_green_time; wire [7:0]main_yellow_time; wire [7:0]branch_green_time; wire [7:0]branch_yellow_time; assign main_green_time=8'd27;//主路绿灯时间设置为27秒 assign main_yellow_time=8'd3;//主路黄灯时间设置为3秒 assign branch_yellow_time=8'd3;//支路黄灯时间设置为3秒 assign branch_green_time=8'd27;//主路绿灯时间设置为27秒 /// reg [7:0] display_main; reg [7:0] display_branch;
源代码
扫描文章末尾的公众号二维码