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

基于FPGA的选手抢答器及结果显示驱动设计VHDL代码ISE仿真

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

2-24052QA549130.doc

共1个文件

名称:基于FPGA的选手抢答器及结果显示驱动设计VHDL代码ISE仿真

软件:ISE

语言:Verilog

代码功能:

选手抢答器及结果显示驱动设计

要求:

1.至多10个选手参与抢答;

2.从某个选手最快按下抢答键开始,所有选手的抢答键被锁定(屏蔽)并令结果显示驱动器输出该选手的编号,用于驱动七段液晶显示器

3.结果锁定后可以进行手动重置,并重新开始抢答;

4.需要分别完成以下3个模块的VHDL设计并分别进行仿真测试选手按键编码模块,抢答及锁定模块,结果显示驱动模块;

5.按照合理逻辑将上述三个模块进行连接,必要时适当添加周边电路完成整体的VHDL设计,再进行仿真测试。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--按键编码模块
ENTITY key_code IS
   PORT (
      clk     : IN STD_LOGIC;--时钟
      reset   : IN STD_LOGIC;--复位
      key_1   : IN STD_LOGIC;--1号抢答按键
      key_2   : IN STD_LOGIC;--2号抢答按键
      key_3   : IN STD_LOGIC;--3号抢答按键
      key_4   : IN STD_LOGIC;--4号抢答按键
      key_5   : IN STD_LOGIC;--5号抢答按键
      key_6   : IN STD_LOGIC;--6号抢答按键
      key_7   : IN STD_LOGIC;--7号抢答按键
      key_8   : IN STD_LOGIC;--8号抢答按键
      key_9   : IN STD_LOGIC;--9号抢答按键
      key_10  : IN STD_LOGIC;--10号抢答按键
      valid   : OUT STD_LOGIC;--按键按下
      number  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--按下序号
   );
END key_code;
ARCHITECTURE behave OF key_code IS
signal key_in:STD_LOGIC_VECTOR(9 DOWNTO 0);
BEGIN
   
valid <= key_1 or key_2 or key_3 or key_4 or key_5 or key_6 or key_7 or key_8 or key_9 or key_10;
key_in <= key_1 & key_2 & key_3 & key_4 & key_5 & key_6 & key_7 & key_8 & key_9 & key_10;  
   PROCESS (key_in, reset)
   BEGIN
      IF (reset = '1') THEN--复位
         number <= "0000";
      ELSE
case key_in is
when "1000000000" =>number <= "0001";--按键1按下
when "0100000000" =>number <= "0010";--按键2按下
when "0010000000" =>number <= "0011";--按键3按下
when "0001000000" =>number <= "0100";--按键4按下
when "0000100000" =>number <= "0101";--按键5按下
when "0000010000" =>number <= "0110";--按键6按下
when "0000001000" =>number <= "0111";--按键7按下
when "0000000100" =>number <= "1000";--按键8按下
when "0000000010" =>number <= "1001";--按键9按下
when "0000000001" =>number <= "1010";--按键10按下
when others =>number <= "0000";
end case;
end if;
   END PROCESS;
 
END behave;

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

  • 2-24052QA549130.doc
    下载

相关推荐