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

基于FPGA的打地鼠游戏机设计VHDL代码ISE仿真

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

2-24052419263KA.doc

共1个文件

名称:基于FPGA的打地鼠游戏机设计VHDL代码ISE仿真

软件:ISE

语言:VHDL

代码功能:

设计打地鼠游戏机,用8个LED灯表示8个地鼠,用3位LED8段显示得分,8个按键表示打击点。一个start键表示开始游戏,可中途用start键中止游戏。

游戏开始前,得分清零,按start键开始,以间隔一定时间(T1)随机点亮某个LED灯,维持一定的时间(这个时间为T2),如果在T2时间内按了相应的按键,则表示成功打到地鼠,则灭灯并计分,反之不计分。

游戏共分三轮,一轮结束(8次亮灯)后,如果打地鼠超过4次成功,进入下一轮,可以缩短T2的时间进行第2轮,每次得分也可以为2,再同理第3轮,最后游戏结束并显示总分。

随机时间要足够随机,不能让游戏者有预判,start按键考虑去毛刺的功能。

以上设计用TOP DOWN设计流程,完成系统框图设计、RTL设计、综合、功能和时序仿真、物理实现。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序综合

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

随机产生模块

按键模块

控制模块

显示模块

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--分频模块
ENTITY fengping IS
   PORT (
      clk_50M  : IN STD_LOGIC;
      clk_div  : OUT STD_LOGIC--50M分频为100KHz
   );
END fengping;
ARCHITECTURE behave OF fengping IS
   SIGNAL count   : integer:=0;
BEGIN
   PROCESS (clk_50M)
   BEGIN
      IF (clk_50M'EVENT AND clk_50M = '1') THEN
         IF (count >= 499) THEN--计数到499,500分频
            count <= 0;
         ELSE
            count <= count + 1;
         END IF;
      END IF;
   END PROCESS;
   
   
   PROCESS (clk_50M)
   BEGIN
      IF (clk_50M'EVENT AND clk_50M = '1') THEN
         IF (count >= 250) THEN--分频为clk_div
            clk_div <= '0';
         ELSE
            clk_div <= '1';
         END IF;
      END IF;
   END PROCESS;
   
END behave;

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

  • 2-24052419263KA.doc
    下载

相关推荐