名称:Quartus数字式竞赛抢答器Verilog代码AX301开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:数字式竞赛抢答器设计
设计一个可容纳四组参赛者同时抢答的数字抢答器
要求:(1)能断第一抢答者并报警指示抢答成功,其他组抢答均无效
(2)设计倒计时时钟,若提前抢答则对相应的抢答组发出警报。
本代码已在AX301开发板验证,开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
整体仿真图
控制模块仿真
显示模块仿真
部分代码展示:
//数字式竞赛抢答器设计 //设计一个可容纳四组参赛者同时抢答的数字抢答器。 //(1)能判断第一抢答者并报警指示抢答成功,其他组抢答均无效; //(2)设计倒计时时钟,若提前抢答则对相应的抢答组发出警报 module?qiangdaqi?( input?clk,//50MHz //input?reset_n,//复位 input?key_1,//抢答键 input?key_2,//抢答键 input?key_3,//抢答键 input?key_4,//抢答键 output?alarm_LED,//高电平亮,提前抢答指示灯 output?beep,//蜂鸣器,低电平响 output?[5:0]?bit_select,//数码管位选 output?[7:0]?seg_select//数码管段选 ); wire?[3:0]?number;//抢答编号 wire?[3:0]?time_downcnt;//倒计时 wire?reset_n; assign?reset_n=~(key_1==0?&&?key_2==0);//两个按键同时按下作为复位信号 //控制模块 control?i_control?( .?clk(clk),//50MHz .?reset_n(reset_n),//复位 .?key_1(key_1),//抢答键 .?key_2(key_2),//抢答键 .?key_3(key_3),//抢答键 .?key_4(key_4),//抢答键 .?alarm_LED(alarm_LED),//高电平亮,提前抢答指示灯 .?beep(beep),//蜂鸣器,低电平响 .?number(number),//抢答编号 .?time_downcnt(time_downcnt)//倒计时 ); //数码管显示模块 display?i_display( .?clk(clk), .?number(number),//抢答编号 .?time_downcnt(time_downcnt),//倒计时 .?bit_select(bit_select),//数码管位选 .?seg_select(seg_select)//数码管段选 ); endmodule
?扫描文章末尾的公众号二维码