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

8位智力抢答器VHDL代码Quartus仿真

07/11 09:04
348
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24012Z930112O.doc

共1个文件

名称:8位智力抢答器VHDL代码Quartus仿真

软件: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

  • 2-24012Z930112O.doc
    下载

相关推荐