软件:Quartus
语言:VHDL
代码功能:
(1)八位智力抢答器。同时供8名选手或8个代表队参加比赛。
(2)数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出用控制电路和主持人开关启动报警电路以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出突现计时功能构成扩展电路。
(3)抢答倒计时时间为12秒,可调。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
5.1 整体仿真
5.2 抢答控制模块
5.3 分频模块
5.4 显示模块
部分代码展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; --8路抢答器 ENTITY?qiangdaqi?IS ???PORT?( ??????clk????????????:?IN?STD_LOGIC;--时钟 ??????reset_n????????:?IN?STD_LOGIC;--复位 ??????start_p????????:?IN?STD_LOGIC;--开始 ?????? ??????key_1??????????:?IN?STD_LOGIC;--抢答键 ??????key_2??????????:?IN?STD_LOGIC;--抢答键 ??????key_3??????????:?IN?STD_LOGIC;--抢答键 ??????key_4??????????:?IN?STD_LOGIC;--抢答键 ??????key_5??????????:?IN?STD_LOGIC;--抢答键 ??????key_6??????????:?IN?STD_LOGIC;--抢答键 ??????key_7??????????:?IN?STD_LOGIC;--抢答键 ??????key_8??????????:?IN?STD_LOGIC;--抢答键 ?????? ??????led_overtime???:?OUT?STD_LOGIC;--超时报警 ?????? ??--数码管 ??????HEX0???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????HEX1???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????HEX2???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0) ???); END?qiangdaqi; ARCHITECTURE?behavioral?OF?qiangdaqi?IS --分频模块,时钟分频到1Hz COMPONENT?fenping?IS ???PORT?( ??????clk_50M??:?IN?STD_LOGIC;--输入时钟 ??????clk_1Hz??:?OUT?STD_LOGIC--输出1Hz使能信号 ???); END?COMPONENT; ??? ???--显示模块 ???COMPONENT?display?IS ??????PORT?( ?????????clk????????????:?IN?STD_LOGIC; ?????????HEX0???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????HEX1???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ?????????HEX2???????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); time_down???????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--倒计时 ?????????qiangda????????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0) ??????); ???END?COMPONENT; ??? ???--抢答控制模块 ???COMPONENT?qiandda_ctrl?IS ??????PORT?( ??????clk?????????????:?IN?STD_LOGIC;--时钟 clk_1Hz?????????:?IN?STD_LOGIC;--1Hz时钟 ??????reset_n?????????:?IN?STD_LOGIC;--复位 ??????start_p?????????:?IN?STD_LOGIC;--开始 --8个抢答按键 ??????key_1???????????:?IN?STD_LOGIC; ??????key_2???????????:?IN?STD_LOGIC; ??????key_3???????????:?IN?STD_LOGIC; ??????key_4???????????:?IN?STD_LOGIC; ??????key_5???????????:?IN?STD_LOGIC; ??????key_6???????????:?IN?STD_LOGIC; ??????key_7???????????:?IN?STD_LOGIC; ??????key_8???????????:?IN?STD_LOGIC; ??????led_overtime????:?OUT?STD_LOGIC;--超时报警 ???time_down???????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--倒计时 ??????qiangda?????????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)--抢答号 ??????); ???END?COMPONENT; ???SIGNAL?qiangda?????????????:?STD_LOGIC_VECTOR(3?DOWNTO?0); ???SIGNAL?clk_1Hz:?STD_LOGIC; SIGNAL?time_down???????:?STD_LOGIC_VECTOR(7?DOWNTO?0);--倒计时 BEGIN --调用分频模块,时钟分频到1Hz i_fenping:?fenping ???PORT?MAP??( ??????clk_50M???=>?clk,--输入时钟 ??????clk_1Hz???=>?clk_1Hz--输出1Hz使能信号 ???); --调用抢答控制模块 ???i_qiandda_ctrl?:?qiandda_ctrl ??????PORT?MAP?( ?????????clk?????????????=>?clk, clk_1Hz?????????=>?clk_1Hz, ?????????reset_n?????????=>?reset_n, ?????????start_p?????????=>?start_p, ????????? ?????????key_1???????????=>?key_1, ?????????key_2???????????=>?key_2, ?????????key_3???????????=>?key_3, ?????????key_4???????????=>?key_4, ?????????key_5???????????=>?key_5, ?????????key_6???????????=>?key_6, ?????????key_7???????????=>?key_7, ?????????key_8???????????=>?key_8, ????????? ?????????led_overtime????=>?led_overtime,--超时报警 ?????????time_down???=>?time_down,--倒计时 ?????????qiangda?????????=>?qiangda--抢答号?? ??????);
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=621
							阅读全文
							
						
					
								
								
								
348