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

智力竞赛抢答器设计Verilog代码Quartus仿真

09/18 09:29
270
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241022200H4530.doc

共1个文件

名称:智力竞赛抢答器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

智力竞赛抢答器

设计一个四路智力竞赛抢答器,每路用一个按键代表抢答按钮。主持人通过“复位”按钮宣布开始抢答,开始抢答后数码管显示倒计时时间(30秒),至0秒时无人抢答则通过扬声器报警。当有参赛者按下抢答按钮后,相应指示灯亮,此时抢答器不再接受其他输入信号,使除第一抢答者外的按钮不起作用,倒计时也相应停止,主持人复位后,重新开始抢答。

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

演示视频:

设计文档:

1. Testbench

2. 仿真图

部分代码展示:

module?qiangdaqi?(
input?clk,
input?reset_n,//
input?start_n,//
input?add_key,//加分键
input?sub_key,//减分键
input?key_1,//抢答键
input?key_2,//抢答键
input?key_3,//抢答键
input?key_4,//抢答键
//4灯指示4个选手
output?led_1,
output?led_2,
output?led_3,
output?led_4,
output??led_tiqian,//提前抢答报警
output??led_overtime,//超时报警
output?[7:0]?dataout,
output?[7:0]?en//COM使能输出
);
//按键消抖
wire?start_p;
wire?add_score;
wire?sub_score;
key_debounce?i_key_debounce(
.?clk(clk),
.?button_in(start_n),//输入
.?button_neg(start_p)//消抖后按键下降沿
);
key_debounce?iadd_key_debounce(
.?clk(clk),
.?button_in(add_key),//输入
.?button_neg(add_score)//消抖后按键下降沿
);
key_debounce?isub_key_debounce(
.?clk(clk),
.?button_in(sub_key),//输入
.?button_neg(sub_score)//消抖后按键下降沿
);
wire?[7:0]?time_done;//倒计时
wire?[3:0]?tiqian_qiangda;//提前抢答
wire?[3:0]?qiangda;//正常抢答
wire?[3:0]?state;
wire?[3:0]?score_1;//1号分数
wire?[3:0]?score_2;//2号分数
wire?[3:0]?score_3;//3号分数
wire?[3:0]?score_4;//4号分数
//计时模块
jishi?i_jishi(
.?clk(clk),
.?reset_n(reset_n),
.?state(state),
.?time_done(time_done)//倒计时
);
qiandda_ctrl?i_qiandda_ctrl(
.?clk(clk),
.?reset_n(reset_n),
.?start_p(start_p),
.?key_1(key_1),
.?key_2(key_2),
.?key_3(key_3),
.?key_4(key_4),
//4灯指示4个选手
.?led_1(led_1),
.?led_2(led_2),
.?led_3(led_3),
.?led_4(led_4),

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

  • 2-241022200H4530.doc
    下载

相关推荐