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

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

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

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
    下载

相关推荐