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

拔河游戏机设计含报告VHDL代码Quartus仿真

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

2-240Z5153609D9.docx

共1个文件

名称:拔河游戏机设计含报告VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

拔河游戏机设计含报告

要求:

1、电路使用9个发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏甲乙双方各持一个按钮,迅速地不断地按动产生脉冲,谁按得快,亮点向谁方向移动,每按一次,亮点移动一次。亮点移到任一方终端二极管,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。。

2、由裁判下达比赛开始命令后,甲乙双方才能输入信号,否则 输入信号无效。

3、用数码管显示获胜者的盘数,每次比赛结束自动给获胜方加分。

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

设计文档:

1. 工程文件

2. 程序文件

顶层电路

代码

3. 程序编译

4. RTL图

状态图

5. 仿真图

整体仿真图

功能:电路使用 9 个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。 游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快, 亮点就向谁的方向移动,每按一次,亮点移动一次。 亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用, 输出保持,只有复位后才使亮点恢复到中心。用数码管显示获胜者的盘数。

按键检测模块

模块功能:按键按下后,输出一个脉冲信号指示按键按键

拔河控制模块

模块功能:控制led灯根据按键移动,左移或者右移,发光二极管向一方的终点延伸,

当延伸到某方的最后一个发光二极管时,则该方获胜,此时双方按钮均 无作用, 输出保持,记录此时的分数

显示模块

模块功能:用数码管显示获胜者的盘数 ,分别显示游戏双方的或者盘数,采用扫描式的数码管,数码管为共阳极。

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--控制模块
ENTITY?bahe_ctrl?IS
???PORT?(
??????clk???????:?IN?STD_LOGIC;--标准时钟
??????reset_n????????:?IN?STD_LOGIC;--复位信号,低有效?
reset_cnt????????:?IN?STD_LOGIC;--计数复位信号,低有效?
??????shift1???????:?IN?STD_LOGIC;--选手1
??????shift2???????:?IN?STD_LOGIC;--选手2
??????led????????????:?OUT?STD_LOGIC_VECTOR(8?DOWNTO?0);--9个led
???win1_times?????:OUT?STD_LOGIC_VECTOR(15?DOWNTO?0);--1号获胜次数
???win2_times?????:OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)--2号获胜次数
???);
END?bahe_ctrl;
ARCHITECTURE?behave?OF?bahe_ctrl?IS
???
???TYPE?State_type?IS?(s_idle,?s_start,?s_left_shift,?s_right_shift,?s_win_1,?s_win_2);??--?定义状态
???SIGNAL?state?:?State_Type;????--?创建信号
???SIGNAL?game_led??????:?STD_LOGIC_VECTOR(8?DOWNTO?0)?:=?"000010000";
SIGNAL?win1_num??????:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";
SIGNAL?win2_num??????:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";
BEGIN
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?((NOT(reset_n))?=?'1')?THEN
????????????state?<=?s_idle;
?????????ELSE
????????????CASE?state?IS
???????????????WHEN?s_idle?=>--复位状态
?????????????????????state?<=?s_start;
???????????????WHEN?s_start?=>--游戏中

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

  • 2-240Z5153609D9.docx
    下载

相关推荐