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

4人竞赛数字抢答器vivado软件verilog代码ego1开发板

05/29 15:04
644
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-231129210412V7.doc

共1个文件

名称:4人竞赛数字抢答器vivado软件verilog代码ego1开发板(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

数字抢答器的设计任务说明:

设计一个可供4人竞赛的数字抢答器。

(1)具有定时抢答功能,且一次抢答的时间由主持人设定,本抢答器的时间 设定为60秒以内,当主持人启动“开始”开关后,定时器开始计时。

(2)设定的抢答时间内,选手可以抢答,抢答成功定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键

(3)抢答器开始时数码管显示序号0,选手抢答实行优先锁存,优先抢答选手 的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,并且不出现其他抢答者的序号。

(4)当设定的时间到,而无人抢答时,本次抢答无效,发出报警指示(可以 用LED灯亮表示),并禁止抢答,定时器上显示00。主持人按动复位按 钮后,抢答可以重新开始。

注:附加功能根据本人能力自行添加(如:自动积分、减分等等)

要求.png

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

本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管脚适配:

ego1开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

分频模块

抢答器控制模块

数码管显示模块

部分代码展示:

//4人抢答器
module?responder_top
(
input?clk,//100Mhz
input?reset,//复位
input?key_main_in,//主持人主控S0
input?key_1_in,//抢答按键输入1
input?key_2_in,//抢答按键输入2
input?key_3_in,//抢答按键输入3
input?key_4_in,//抢答按键输入4
output?beep,//报警输出(LED)
output??[3:0]?weixuan,//位选
output??[7:0]?duanxian//段选
);
wire?[2:0]?cur_state;//当前状态
wire?[7:0]?time_down;//倒计时10_0
wire?[3:0]?responder_num;//抢答指示1~6
wire?clk_1Hz;//1Hz
//抢答器控制模块
responder_ctrl?i_responder_ctrl
(
.?clk(clk),//50Mhz
.?reset(reset),//高电平有效
.?clk_1Hz(clk_1Hz),//1Hz时钟
.?key_main_in(key_main_in),//主持人主控
.?key_1_pos(key_1_in),//抢答按键输入1
.?key_2_pos(key_2_in),//抢答按键输入2
.?key_3_pos(key_3_in),//抢答按键输入3
.?key_4_pos(key_4_in),//抢答按键输入4
.?beep(beep),//蜂鸣器输出
.?time_down(time_down),//倒计时
.?cur_state(cur_state),
.?responder_num(responder_num)//抢答指示1~6
);
//分频模块
div_1Hz?i_div_1Hz
(
.?clk(clk),//50M
.?reset(key_main_in),//复位
.?clk_1Hz(clk_1Hz)//1Hz时钟
);
//数码管显示模块
display?i_display
(
.?clk(clk),
.?time_down(time_down),//倒计时10_0
.?responder_num(responder_num),//抢答指示1~6
.?weixuan(weixuan),//位选,高电平亮
.?duanxian(duanxian)//段选,高电平亮
);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=314

  • 1-231129210412V7.doc
    下载

相关推荐