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

ISE数字式竞赛抢答器Basys2开发板verilog语言

05/25 10:48
551
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-231111222I9464.doc

共1个文件

名称:ISE数字式竞赛抢答器Basys2开发板verilog语言(代码在文末下载)

软件:ISE

语言:Verilog

代码功能:

数字式竞赛抢答器具体要求:

(1)设计一个可容纳3组参赛的数字式抢答器,每设个按钮,供抢答使用。

(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。

(3)设置一个主持人“复位”按钮。

(4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答祖别,扬声器发出12秒的音响。

5)设置一个计分电路,每组开始预置10分,由主持人记分,答对一次1分,答错一次减1分。

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

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

basys2.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真图

Testbench

仿真图

部分代码展示:

module qiangdaqi (
input clk,//时钟
input reset_p,//复位
input add_key,//加分键
input sub_key,//减分键
input key_1,//抢答键
input key_2,//抢答键
input key_3,//抢答键
output beep,//蜂鸣器
//3灯指示3个选手
output led_1,
output led_2,
output led_3,
output [3:0] weixuan,//位选
output [7:0] duanxian//段选
);
//按键消抖
wire add_score;
wire sub_score;
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 [3:0] qiangda;//正常抢答
wire [2:0] state;//输出状态
wire [7:0] score_1;//1号分数
wire [7:0] score_2;//2号分数
wire [7:0] score_3;//3号分数
//抢答器控制模块
qiandda_ctrl i_qiandda_ctrl(
. clk(clk),
. reset_p(reset_p),
. key_1(key_1),
. key_2(key_2),
. key_3(key_3),
. beep(beep),
//3灯指示3个选手
. led_1(led_1),
. led_2(led_2),
. led_3(led_3),
. state_out(state),//输出状态
. qiangda(qiangda)//正常抢答
);
//分数统计模块
score_crtl i_score_crtl(
. clk(clk),
. state(state),//状态
. add_score(add_score),//加分键
. sub_score(sub_score),//减分键
. score_1(score_1),//1号分数
. score_2(score_2),//2号分数
. score_3(score_3)//3号分数
);
//数码管显示
display i_display(
. clk(clk),
. state(state),//状态
. qiangda(qiangda),//正常抢答
. score_1(score_1),//1号分数
. score_2(score_2),//2号分数
. score_3(score_3),//3号分数
. weixuan(weixuan),//位选
. duanxian(duanxian)//段选
);
endmodule

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

  • 1-231111222I9464.doc
    下载

相关推荐