乒乓球比赛游戏机设计(21页).doc
《乒乓球比赛游戏机设计(21页).doc》由会员分享,可在线阅读,更多相关《乒乓球比赛游戏机设计(21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-目 录1 引言11.1 设计背景11.2 VHDL简介11.3 Quartus简介32 乒乓球比赛游戏机的设计32.1 系统设计要求32.2 设计思路43 乒乓球比赛游戏机的实现63.1 乒乓球比赛游戏机的顶层原理图63.2 系统各功能模块的实现63.2.1 比赛控制模块63.2.2 记分模块73.2.3 数码管显示模块84 各个模块的仿真以及系统仿真、分析94.1 比赛控制模块仿真波形94.2 记分模块仿真波形图94.3 管脚锁定104.4 系统的波形仿真114.5 显示结果的几种情况145 总结155.1 设计制作过程中遇到的问题及解决方案155.2 本设计有以下几个可以改进的地方15参
2、考文献16附 录17游戏控制模块的VHDL程序17记分模块的VHDL程序19动态扫描模块的VHDL程序20译码器模块的VHDL程序21-第 19 页-1 引言1.1 设计背景1.2 VHDL简介硬件描述语言已经有几十年的发展历史,并且在系统的仿真、验证和设计、综合等方面得到成功的应用。目前常用的硬件描述语言有VHDL、Verilog HDL、ABEL等234。VHDL则起源于20世纪70年代末和80年代初,美国国防部提出的VHSIC计划,目标是为下一代集成电路的生产、实践阶段性的工艺极限和完成10万门级以上的电路设计而建立一种新的描述方法5。VHDL的英文全称为Very-High-Speed
3、Integrated Circuit Hardware Description Language,是IEEE标准化的硬件描述语言,并且已经成为系统描述的国际公认标准,得到众多EDA公司的支持。VHDL具有很多的优点使它能够被大多数人认可,被广泛应用在逻辑电路的设计方面,并且成为了标准化的硬件描述语言,其优点如下:(1)功能强大和设计灵活。一个简洁的使用VHDL语言编写的程序就可以描述一个复杂的逻辑电路,因为VHDL拥有强大的语言结构6。VHDL多层次的设计描述功能可以有效地控制设计的实现,支持设计库和可重复使用的元件生成,还支持多种设计方式,如层次化设计、模块化设计和同步、异步和随机电路设计。
4、(2)与具体器件无关。用VHDL设计硬件电路时不用先确定设计要用到哪种器件,也不用特别熟悉器件的内部结构,这样可以使设计人员专注于进行系统设计。设计完成后,可以根据消耗的资源选择合适的器件,而不造成资源的浪费。(3)很强的移植能力。VHDL由很多不同的工具支持,同一个设计的程序可以在包括综合工具、仿真工具、系统平台等工具中使用。(4)强大的硬件描述能力。VHDL可以描述系统级电路和门级电路,而且描述方式多样,可以采用行为描述、寄存器传输描述或者结构描述,也可以用其混合描述方式。同时,VHDL可以准确地建立硬件电路模型,因为它支持惯性延迟和传输延迟。VHDL的数据类型很丰富,支持标准定义的数据类
5、型,当标准定义的数据类型不能满足用户的需求时,用户可以自己定义的所需要的数据类型,增加了设计的自由度。(5)语法规范,易于共享。当把用VHDL编写的代码文件看作是程序时,它可以作为设计人员之间的交流内容;当把它看作是文档时,可以作为签约双方的合同文本。VHDL易于共享的特点,使得大规模的协作开发容易实现。同时,这些特点也促进了VHDL的发展和完善。综上所述,VHDL有很多其他的硬件描述语言所不具备的优点。但是,VHDL仍然存在一些缺点,主要是3个方面。(1)要求设计者对硬件电路知识甚至是芯片结构方面的知识了解较多。应该摆脱一般的高级语言程序设计思路,因为在电路世界里的事件很多是并行发生的,并且
6、硬件电路系统内部的模块可以是互相独立的,也可以是互为因果的,所以,在用VHDL设计硬件电路时应摆脱一般的高级语言程序设计思路。在设计电路时,应先构思电路,然后才能描述。(2)不能进行太抽象的系统描述。因为EDA工具无法综合抽象性太强的系统,故用VHDL描述系统电路时不能太抽象。目前的VHDL很难综合实际的硬件电路,只能适用于系统建模。(3)不能描述模拟电路。对于模拟电路而言,VHDL并不是一种理想的硬件描述语言。但可以预见,未来硬件描述语言的发展方向是模拟电路和数模混合电路的描述方式。1.3 Quartus简介2 乒乓球比赛游戏机的设计2.1 系统设计要求设计一个由甲乙双方参赛,有裁判的三人乒
7、乓球游戏机。 用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置点亮的LED依此从左到右,或从右到左,其移动速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,既表示启动球拍击球,若未击中,球掉出桌外,则对方得一方。设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每记满11分为1局。甲乙双方各设一个发光二极管表示拥有发球权,每隔两次自动交换发球权,拥有发球权的一方发球才有效。系统框图如图2-1所示:图2-1 乒乓球比赛游戏机系统框图2.2 设计思路此设计问题可分为游戏控
8、制模块,加减计数模块,译码模块,甲乙方得分显示模块四部分。设置甲乙双方击球脉冲信号int1/int2,一方的击球信号使加/减计数器加法计数,则另一方的击球信号就使加/减计数器减法计数,译码模块输出端Y1-Y8接LED模拟乒乓球的轨迹。经控制模块实现移位方向的控制,真值表2-2所列。设置发球权拥有显示信号s1、s2。控制模块使每两次交换发球权。加/减控制信号/D由乒乓球到达Y8、Y1和击球信号int1、int2及发球权拥有信号s1、s2共同产生,真值表如表2-3所示。当球到达Y8或Y1时,参赛者没有及时击中,则球掉出桌外,加/减计数模块停止计数,对方得一分。设置捡球信号reset1,通过加/减计
9、数模块的异步置数端实现捡球。当甲方拥有发球权时捡球信号将球放到Y1,乙方拥有发球权时将球放到Y8.在控制模块对甲乙双方的得分进行检测,只要一方的得分达到11,则一局结束,设置裁判员复位信号reset.在每局结束后将双方得分清零。由调节晶振产生的时钟脉冲信号的频率,可以调节球的运动速度。表2-2 加/减计数译码显示真值表时钟加/减控制计数器输出译码器输出CLK/DQ3Q2Q1Q0Y8Y7Y6Y5Y4Y3Y2Y10000100000001000100000001000011000001000010000001000001010001000000110001000000011101000000010
10、00100000001011101000000101100010000010101000100001010000001000100110000010010010000000101000100000001表2-3 加减控制信号的产生Y8Y1Int1Int2S1S2/D100011010100硬件系统示意图如下所示图2-4 硬件系统示意图3 乒乓球比赛游戏机的实现3.1 乒乓球比赛游戏机的顶层原理图图3-1 顶层原理图原理图中输入部分分别是:复位按键res,时钟clk_1,startbutton开始游戏按键,serve1.0发球按键,serve0代表甲发球,serve1代表乙发球,int1为甲击球
11、按键,int2为乙击球按键,原理图中输出部分分别是:8个LED灯light1.8,数码管段选信号A、C、D、E、F、G、H,数码管进入译码器74ls138的位选信号sel2.0,在数码管上显示了甲乙两个人的分数。3.2 系统各功能模块的实现3.2.1 比赛控制模块图3-2 比赛控制模块元件框图按下startbutton按键之后游戏开始,当按下serve0时甲发球,8个一排的LED灯从左向右移动(从1到8),当移动到第八个灯时按下int2按键代表乙击中,则乙得1分,提前或未来的及击球则甲得分。当按下serve1时乙发球从右向左移动,当移动到第一个灯时按下int1代表甲击中球,甲得1分,提前或未来
12、的击球及则乙得分。3.2.2 记分模块图3-3 记分模块元件框图当选择好的信号binaryin4.1进入mydecoder之后,相应的数据会选择到相应的信号中,并且通过bcdout14.1和bcdout24.1输出相应的分数在两位数码管上的显示数字。bcdout1为十位数,bcdout2为个位数。3.2.3 数码管显示模块图3-4 显示模块框图数码管显示模块主要是由两个模块组成分别为setime以及deled这两个模块组成:setime模块主要是将输入的分数进行动态扫描,显示到每一位数码管的位选上,通过高速的扫描后会将每一位选手的分数很清晰的显示在数码管上。deled模块是一个译码器的模块译码
13、器的译码对照表3-5如下所示:表3-5 译码器的译码对照表显示的数字BCD编码七段共阳数码管000001000000100011111001200100100100300110110000401000011001501010010010601100000010701111111000810000000000910010010000XXXXX1111111在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码字,其他情况不予考虑。4 各个模块的仿真以及系统仿真、分析4.1 比赛控制模块仿真波形图4-1 比赛控制模块4.2 记分模块仿真波形图 图4-2记分模块仿真波形图
14、表4-3 对应分数的数码管显示binaryinbcdout1bcdout2000000000000000100000001001000000010001100000011010000000100010100000101011000000110011100000111100000001000100100001001101000010000101100010001在图4-2中可以看出当得分为2(0010)分时对应的两位数码管则会显示为02(bcoudt1:0000,bcoudt2:0010),当分数超过11分时数码管的显示全为为00。表4-3为具体的分数对应的数码管显示。4.3 管脚锁定在验证出乒
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 乒乓球 比赛 游戏机 设计 21
限制150内