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

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

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

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

相关推荐