名称:基于FPGA的电子抢答器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
基于FPGA的电子抢答器
设计一款基于FPGA的四路智力抢答器设计,具备系统复位、30秒倒计时、数码管显示等功能。抢答器通过按键消抖、控制、分数管理和显示控制四大模块实现,适用于竞赛活动,支持主持人控制和选手抢答,具有锁存和显示成功抢答者号码及分数的能力。
1、工程文件
编辑
2、程序文件
编辑
编辑
编辑
3、程序编译
编辑
4、RTL图
编辑
5、仿真图
整体仿真图
编辑
编辑
按键消抖模块
编辑
编辑
控制模块
编辑
编辑
计时模块
编辑
编辑
分数控制模块
编辑
编辑
数码管显示模块
编辑
编辑
部分代码展示:
//抢答控制模块 module qiangda_ctrl( input clk, input reset_n,//复位抢答状态 input start_p,//开始控制按键 //4个抢答按键 input key_1, input key_2, input key_3, input key_4, //4灯指示4个选手 output reg led_1, output reg led_2, output reg led_3, output reg led_4, output reg led_tiqian,//提前抢答报警 output reg led_overtime,//超时报警 output [4:0]state_out,//输出状态 input [7:0] time_done,//倒计时 output reg beep,//抢答成功提示音 output [3:0] tiqian_qiangda,//提前抢答 output [3:0] qiangda//正常抢答 ); parameter s_idle=5'd0; parameter s_start=5'd1; parameter s_timedown=5'd2; parameter s_tiqian_1=5'd3; parameter s_tiqian_2=5'd4; parameter s_tiqian_3=5'd5; parameter s_tiqian_4=5'd6; parameter s_qianda_1=5'd7; parameter s_qianda_2=5'd8; parameter s_qianda_3=5'd9; parameter s_qianda_4=5'd10; parameter s_overtime=5'd11; reg [4:0] state=5'd0; reg [7:0] time_cnt=8'd20; assign state_out=state; always@(posedge clk or negedge reset_n) if(!reset_n) state<=s_idle; else case(state) s_idle://空闲状态,还没开始抢答 if(start_p)//开始抢答按键 state<=s_start; else
【来源:www.hdlcode.com】
阅读全文
1075