名称: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
源代码
扫描文章末尾的公众号二维码