一种基于EDA 的乒乓球游戏机的设计
2022-08-19钱虹凌
钱虹凌
(山西大同大学教学实验与实训中心,山西 大同 037003)
EDA 为常见的FPGA 开发工具,基于此开发设计的一款乒乓球游戏机,可以满足用户的使用要求。
1 乒乓球游戏机可实现的功能
乒乓球游戏机可实现的功能如下:能进行正常的计局、计分功能;能实现对球台和乒乓球的物理模拟实现功能;用发光二极管来替代乒乓球,每个乒乓球由10个发光二极管来构成;能实现自动判球计分;能进行得胜显示。
设计思路:乒乓球游戏机原理框图如图1 所示。
图1 乒乓球游戏机原理框图
2 模块电路功能(采用自顶向下方法设计)
(1)总电路由计分器、计局器、移位寄存器和控制器来组成。其中,A、B 双方计分显示和计局器显示分别由六个数码管来完成。
(2)控制器模块由时序机来实现,能够完成对计分器、计局器和移位寄存器的控制,其系统流程图如图2所示。
图2 系统流程图
(3)CLK1 输出的时钟信号经分频后得到的信号来作为移位寄存器和控制器的时钟控制信号。
(4)CLK2 输出的时钟信号用于消除按键抖动。
(5)SA、SB、S、SD、SV 模块为D 触发器,其时钟信号由CLK2 来进行提供。
3 部分软件及说明
该游戏机的计局器和计分器可由四位二进制计数器来实现,具体实现的VHDL 部分程序及说明如下:
Entity count is
根据 Ari(2005)[12]将智力资本划分为人力资本和结构资本,本文将人力资本和结构资本划分为以下几个维度。
Port(clk: in std_logic;---------输入、输出端口信号定义
Q:out std_logic_vecter(3 downto 0));
End count;
Architecture behave of count is
Signal qq: std_logic_vecter(3 downto 0);
Begin
Process(clk)------进程由敏感时钟信号CLK 触发。
Begin
If clk’event and clk=’1’then
Qq<=qq+1;
End if;
End process;
Q<=qq;
End behave;
EDA 软件QuartusII 操作界面如图3 所示。
图3 QuartusII 设计软件操作设置界面
4 结语
该乒乓球游戏机可实现正常的计局、计分功能,采用VHDL 语言独特的自顶向下的设计方法进行设计,可以达到预期的开发效果。