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

电子拔河游戏机VHDL代码Quartus仿真

06/23 08:22
352
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240105094321Y4.doc

共1个文件

名称:电子拔河游戏机VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

电子拔河游戏机

电子拔河游戏机是一种能容纳甲乙双方参赛游戏电路。由一排发光二极管表示拔河的“电子绳”。由甲乙双方通过按纽开关使发光二极管向一方的终点延伸当延伸到某方的最后一个发光二极管时,则该方获胜,连续比赛多局以定胜负。

基本要求

设计一个能进行拔河游戏的电路。

2、电路使用9个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。

3、游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。

4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。

5、用数码管显示获胜者的盘数。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

原理图文件

代码文件

3. 程序编译

4. RTL图

5. 仿真图

整体仿真图

拔河控制模块仿真图

显示模块仿真图

部分代码展示:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
--拔河游戏
entity bahe is
port (
    -- CLOCK
    CLK: in std_logic;
    -- SEG7
    HEX0: out std_logic_vector(7 downto 0);--数码管1
    HEX1: out std_logic_vector(7 downto 0);--数码管2
    -- KEY (debounced)
    Button1: in std_logic;--选手1
 Button2: in std_logic;--选手2
    reset_n        : IN STD_LOGIC;--复位信号,低有效 
    restart        : IN STD_LOGIC;--裁判控制重新开始
    -- LED
    LEDR: out std_logic_vector(8 downto 0)
 );
end bahe;
architecture behav of bahe is
    
 signal score_1        : STD_LOGIC_VECTOR(3 DOWNTO 0);--选手1分数
    signal score_2        : STD_LOGIC_VECTOR(3 DOWNTO 0);--选手2分数
 
    component BIN2HEX
    port (
        bin: in std_logic_vector(3 downto 0);
        hex: out std_logic_vector(7 downto 0)); 
    end component;
    
    -- provide the component of your design here
component bahe_ctrl
   PORT (
      clk       : IN STD_LOGIC;--标准时钟
      reset_n        : IN STD_LOGIC;--复位信号,低有效 
      restart        : IN STD_LOGIC;--裁判控制重新开始
      Button1       : IN STD_LOGIC;--选手1
      Button2       : IN STD_LOGIC;--选手2
      led            : OUT STD_LOGIC_VECTOR(8 DOWNTO 0);--9个led
      score_1        : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--选手1分数
      score_2        : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--选手2分数
   );
END component;
    
begin
    --拔河控制模块
U_bahe_ctrl: bahe_ctrl
   port map  (
      clk=>CLK,
      reset_n=>reset_n,
      restart=>restart,
      Button1=>Button1,
      Button2=>Button2,
      led=>LEDR,
      score_1=>score_1,
      score_2=>score_2
   );
    --数码管显示模块
    U_HEX0: BIN2HEX
 port map (
 bin=>score_1, 
 hex=>HEX0
 );
 --数码管显示模块
    U_HEX1: BIN2HEX 
 port map (
 bin=>score_2,
 hex=>HEX1
 );
end behav;

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

  • 2-240105094321Y4.doc
    下载

相关推荐