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

可容纳四组参赛者的数字智力抢答器VHDL代码Quartus仿真

07/12 08:21
411
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24012Z94K1433.doc

共1个文件

名称:可容纳四组参赛者的数字智力抢答器VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

设计制作一个可容纳四组参赛者的数字智力抢答器。

1.电路具有第一抢答信号的鉴别和锁存功能。在主持人发出抢答指令后,若抢答成功,则该组指示灯亮。此时,电路应具备自锁功能,使别组的抢答开关不起作用。

2.设置计分电路。每组在开始时预置成50分,抢答后由主持人计分,答对一次加5分,否则减5分。每组选手分值由数码管进行显示。

3.系统主要外设:自恢复式按键5个、蜂鸣器1个、系统时钟(50MH2)、LED灯若干、7段数码管若干。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

状态图

5. Testbench(TB文件)

6. 仿真图

整体仿真图

抢答控制模块

分数控制模块

显示模块

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY qiangdaqi IS
   PORT (
      clk            : IN STD_LOGIC;
      reset_n        : IN STD_LOGIC;--复位
      start_p        : IN STD_LOGIC;--主持人
      
      add_score_1    : IN STD_LOGIC;--加分键
      sub_score_1    : IN STD_LOGIC;--减分键
      add_score_2    : IN STD_LOGIC;--加分键
      sub_score_2    : IN STD_LOGIC;--减分键
      add_score_3    : IN STD_LOGIC;--加分键
      sub_score_3    : IN STD_LOGIC;--减分键
      add_score_4    : IN STD_LOGIC;--加分键
      sub_score_4    : IN STD_LOGIC;--减分键
      
      key_1          : IN STD_LOGIC;--抢答键
      key_2          : IN STD_LOGIC;--抢答键
      key_3          : IN STD_LOGIC;--抢答键
      key_4          : IN STD_LOGIC;--抢答键
      
      led_1      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_2      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_3      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_4      : OUT STD_LOGIC;--抢答指示led灯,高亮
      
  --数码管
      HEX1           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--抢答者
      HEX2           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--分数十位
      HEX3           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--分数个位
   );
END qiangdaqi;
ARCHITECTURE behavioral OF qiangdaqi IS
--分数控制模块
   COMPONENT score_crtl IS
      PORT (
         clk            : IN STD_LOGIC;
         add_score_1    : IN STD_LOGIC;
         sub_score_1    : IN STD_LOGIC;
         add_score_2    : IN STD_LOGIC;
         sub_score_2    : IN STD_LOGIC;
         add_score_3    : IN STD_LOGIC;
         sub_score_3    : IN STD_LOGIC;
         add_score_4    : IN STD_LOGIC;
         sub_score_4    : IN STD_LOGIC;
         score_1        : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_2        : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_3        : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_4        : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
   
   --显示模块
   COMPONENT display IS
      PORT (
         clk            : IN STD_LOGIC;
         HEX1           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         HEX2           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         HEX3           : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         qiangda        : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
         score_1        : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_2        : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_3        : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         score_4        : IN STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
--抢答控制模块
COMPONENT qiandda_ctrl IS
   PORT (
      clk        : IN STD_LOGIC;
reset_n        : IN STD_LOGIC;
      start_p   : IN STD_LOGIC;--主持人按键
      key_1      : IN STD_LOGIC;--抢答按键,所有key都是高电平有效
      key_2      : IN STD_LOGIC;--抢答按键,所有key都是高电平有效
      key_3      : IN STD_LOGIC;--抢答按键,所有key都是高电平有效
      key_4      : IN STD_LOGIC;--抢答按键,所有key都是高电平有效
   qiangda    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--正常抢答
      led_1      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_2      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_3      : OUT STD_LOGIC;--抢答指示led灯,高亮
      led_4      : OUT STD_LOGIC--抢答指示led灯,高亮
   );
END COMPONENT;
   
   SIGNAL qiangda             : STD_LOGIC_VECTOR(3 DOWNTO 0);
   
   SIGNAL score_1             : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL score_2             : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL score_3             : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL score_4             : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
--调用抢答控制模块
   i_qiandda_ctrl : qiandda_ctrl
      PORT MAP (
         clk             => clk,
         start_p         => start_p,
         reset_n         => reset_n,
         key_1           => key_1,
         key_2           => key_2,
         key_3           => key_3,
         key_4           => key_4,

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=622

  • 2-24012Z94K1433.doc
    下载

相关推荐