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

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

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

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
    下载

相关推荐