4路抢答器 FPGA 设计 Verilog Quartus

名称:4路抢答器 FPGA 设计 Verilog Quartus

软件:Quartus

语言:Verilog

开发板/平台:DE2-115

功能介绍

本设计实现一个基于 FPGA 的 4 路抢答器系统,使用 Verilog 编写,工程软件为 Quartus,目标开发板为 DE2-115。系统包含抢答开始、复位、4 名选手抢答输入、抢答指示、超时指示、分数加减和倒计时数码管显示等功能,适合 FPGA 入门实践、数字逻辑课程设计和抢答器类综合实验。 系统通过 4 个选手按键完成抢答输入,抢答成功后对应 LED 点亮,用于直观显示当前抢答选手;超时状态通过独立 LED 输出提示。分数显示使用 HEX0-HEX3,分别显示 4 位选手的分数;倒计时显示使用 HEX4-HEX5,显示倒计时十位和个位。 工程结构较简洁,顶层模块 qiangdaqi 连接 control 控制模块和 display 显示模块,便于学习 Verilog 模块划分、按键输入处理、状态控制、数码管动态/段码显示以及 FPGA 开发板外设约束配置。

运行环境

开发语言:Verilog 开发软件:Quartus 目标开发板:DE2-115 工程包含 Quartus 工程文件、Verilog 源码、管脚约束文件、编译输出结果和 ModelSim 仿真相关目录,可用于综合、编译、仿真参考和开发板验证。

设计思路

设计采用顶层模块统一连接控制逻辑与数码管显示逻辑,系统时钟为 50MHz,外部按键输入完成复位、开始抢答、加分、减分以及 4 路选手抢答操作。顶层模块只负责信号组织和模块例化,核心业务由控制模块处理,显示输出由显示模块完成,结构清晰,便于阅读和二次修改。 控制部分围绕抢答流程展开:开始键触发一轮抢答,4 路选手按键作为抢答输入,抢答成功后通过对应 LED 给出选手指示,同时输出倒计时数据和各选手分数。加分键、减分键用于对分数进行调整,适合课堂实验、竞赛抢答器和 FPGA 综合课程设计等场景。 显示部分负责将 4 位选手分数和倒计时结果转换到数码管接口。HEX0-HEX3 用于显示各选手分数,HEX4 和 HEX5 用于显示倒计时十位、个位,使抢答状态、比分和时间信息能够同时在开发板上显示。

模块结构

顶层模块:qiangdaqi,负责连接系统输入输出、例化控制模块和显示模块。 控制模块:control,负责抢答开始、复位、4 路选手抢答、加分减分、倒计时、选手 LED 指示和超时 LED 输出。 显示模块:display,负责将 4 位选手分数和倒计时数据输出到 HEX0-HEX5 数码管接口。

开发板验证

工程面向 DE2-115 开发板进行了硬件验证适配,包含 DE2-115 相关管脚约束与管脚分配内容,可直接用于按键、LED 指示灯和 6 位数码管等板载外设连接。 按键部分用于复位、开始抢答、加分、减分以及 4 路选手抢答输入;LED 用于显示抢答成功选手和超时状态;HEX0-HEX3 显示 4 位选手分数,HEX4-HEX5 显示倒计时。工程还配有开发板实物验证图片,便于对照硬件连接和显示效果。

4路抢答器 FPGA 设计 Verilog Quartus 开发板验证图片 DE2-115开发板.png

演示视频

配套演示视频展示了抢答器在开发板上的运行效果,可用于观察开始抢答、选手按键响应、LED 指示、分数显示和倒计时显示等功能表现。

仿真图/仿真说明/设计文档图片

设计文档内容包含工程文件、程序文件、程序编译、RTL 图、管脚分配、仿真图、Testbench、整体仿真图、控制模块和显示模块等说明图片。文档图片可用于查看工程组织、编译结果、RTL 结构、仿真波形和模块划分情况。

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image1.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image10.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image2.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image3.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image4.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image5.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image6.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image7.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image8.png

4路抢答器 FPGA 设计 Verilog Quartus 设计文档图片 image9.png

部分代码

以下展示顶层模块 qiangdaqi 的部分代码,完整源码请下载压缩包查看。

module qiangdaqi(
input clk,//50M
input reset_n,//复位
input start_key,//抢答开始
input add_score_key,//加分键
input sub_score_key,//减分键

input player_1_key,//抢答按键
input player_2_key,//抢答按键
input player_3_key,//抢答按键
input player_4_key,//抢答按键

output led_1,//抢答指示灯
output led_2,//抢答指示灯
output led_3,//抢答指示灯
output led_4,//抢答指示灯

output led_out,//超时指示灯

output [7:0] HEX0,//数码管显示分数
output [7:0] HEX1,//数码管显示分数
output [7:0] HEX2,//数码管显示分数
output [7:0] HEX3,//数码管显示分数

output [7:0] HEX4,//数码管显示倒计时十位
output [7:0] HEX5 //数码管显示倒计时个位
);

wire [3:0] score_1;
wire [3:0] score_2;
wire [3:0] score_3;
wire [3:0] score_4;
wire [7:0] down_time;

//控制模块
control i_control(
. clk(clk),//50M
. reset_n(reset_n),//复位
. start_key(start_key),//抢答开始
. add_score_key(add_score_key),//加分键
. sub_score_key(sub_score_key),//减分键

. player_1_key(player_1_key),//抢答按键
. player_2_key(player_2_key),//抢答按键
. player_3_key(player_3_key),//抢答按键
. player_4_key(player_4_key),//抢答按键

. led_1(led_1),//抢答指示灯
. led_2(led_2),//抢答指示灯
. led_3(led_3),//抢答指示灯
. led_4(led_4),//抢答指示灯

. down_time(down_time),//倒计时
. led_out(led_out),//超时指示灯

. score_1(score_1),
. score_2(score_2),
. score_3(score_3),
. score_4(score_4)
);

//显示模块
display i_display
(
. clk(clk),
. down_time(down_time),
. score_1(score_1),
. score_2(score_2),
. score_3(score_3),
. score_4(score_4),

. HEX0(HEX0),//数码管段选
. HEX1(HEX1),//数码管段选
. HEX2(HEX2),//数码管段选
. HEX3(HEX3), //数码管段选
. HEX4(HEX4),//倒计时十位
. HEX5(HEX5) //倒计时个位
);


endmodule

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 4路抢答器 FPGA 设计 Verilog Quartus

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员