乒乓球比赛游戏机设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 引言 (1)
1.1设计背景 (1)
1.2VHDL简介 (1)
1.3Q UARTUSⅡ简介 (3)
2 乒乓球比赛游戏机的设计 (3)
2.1系统设计要求 (3)
2.2设计思路 (4)
3 乒乓球比赛游戏机的实现 (6)
3.1乒乓球比赛游戏机的顶层原理图 (6)
3.2系统各功能模块的实现 (6)
3.2.1 比赛控制模块 (6)
3.2.2 记分模块 (7)
3.2.3 数码管显示模块 (8)
4 各个模块的仿真以及系统仿真、分析 (9)
4.1比赛控制模块仿真波形 (9)
4.2记分模块仿真波形图 (9)
4.3管脚锁定 (10)
4.4系统的波形仿真 (11)
4.5显示结果的几种情况 (14)
5 总结 (15)
5.1设计制作过程中遇到的问题及解决方案 (15)
5.2本设计有以下几个可以改进的地方 (15)
参考文献 (16)
附录 (17)
游戏控制模块的VHDL程序 (17)
记分模块的VHDL程序 (19)
动态扫描模块的VHDL程序 (20)
译码器模块的VHDL程序 (21)
1 引言
1.1 设计背景
1.2 VHDL简介
硬件描述语言已经有几十年的发展历史,并且在系统的仿真、验证和设计、综合等方面得到成功的应用。目前常用的硬件描述语言有VHDL、Verilog HDL、ABEL等[2][3][4]。VHDL则起源于20世纪70年代末和80年代初,美国国防部提出的VHSIC计划,目标是为下一代集成电路的生产、实践阶段性的工艺极限和完成10万门级以上的电路设计而建立一种新的描述方法[5]。VHDL的英文全称为Very-High-Speed Integrated Circuit Hardware Description Language,是IEEE 标准化的硬件描述语言,并且已经成为系统描述的国际公认标准,得到众多EDA 公司的支持。
VHDL具有很多的优点使它能够被大多数人认可,被广泛应用在逻辑电路的设计方面,并且成为了标准化的硬件描述语言,其优点如下:
(1)功能强大和设计灵活。一个简洁的使用VHDL语言编写的程序就可以描述一个复杂的逻辑电路,因为VHDL拥有强大的语言结构[6]。VHDL多层次的设计描述功能可以有效地控制设计的实现,支持设计库和可重复使用的元件生成,还支持多种设计方式,如层次化设计、模块化设计和同步、异步和随机电路设计。
(2)与具体器件无关。用VHDL设计硬件电路时不用先确定设计要用到哪种器件,也不用特别熟悉器件的内部结构,这样可以使设计人员专注于进行系统设计。设计完成后,可以根据消耗的资源选择合适的器件,而不造成资源的浪费。
(3)很强的移植能力。VHDL由很多不同的工具支持,同一个设计的程序可以在包括综合工具、仿真工具、系统平台等工具中使用。
(4)强大的硬件描述能力。VHDL可以描述系统级电路和门级电路,而且描述方式多样,可以采用行为描述、寄存器传输描述或者结构描述,也可以用其混合描述方式。同时,VHDL可以准确地建立硬件电路模型,因为它支持惯性延迟和
传输延迟。VHDL的数据类型很丰富,支持标准定义的数据类型,当标准定义的数据类型不能满足用户的需求时,用户可以自己定义的所需要的数据类型,增加了设计的自由度。
(5)语法规范,易于共享。当把用VHDL编写的代码文件看作是程序时,它可以作为设计人员之间的交流内容;当把它看作是文档时,可以作为签约双方的合同文本。VHDL易于共享的特点,使得大规模的协作开发容易实现。同时,这些特点也促进了VHDL的发展和完善。
综上所述,VHDL有很多其他的硬件描述语言所不具备的优点。但是,VHDL 仍然存在一些缺点,主要是3个方面。
(1)要求设计者对硬件电路知识甚至是芯片结构方面的知识了解较多。应该摆脱一般的高级语言程序设计思路,因为在电路世界里的事件很多是并行发生的,并且硬件电路系统内部的模块可以是互相独立的,也可以是互为因果的,所以,在用VHDL设计硬件电路时应摆脱一般的高级语言程序设计思路。在设计电路时,应先构思电路,然后才能描述。
(2)不能进行太抽象的系统描述。因为EDA工具无法综合抽象性太强的系统,故用VHDL描述系统电路时不能太抽象。目前的VHDL很难综合实际的硬件电路,只能适用于系统建模。
(3)不能描述模拟电路。对于模拟电路而言,VHDL并不是一种理想的硬件描述语言。但可以预见,未来硬件描述语言的发展方向是模拟电路和数模混合电路的描述方式。
1.3 QuartusⅡ简介
2 乒乓球比赛游戏机的设计
2.1 系统设计要求
设计一个由甲乙双方参赛,有裁判的三人乒乓球游戏机。
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置点亮的LED依此从左到右,或从右到左,其移动速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,既表示启动球拍击球,若未击中,球掉出桌外,则对方得一方。
设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每记满11分为1局。
甲乙双方各设一个发光二极管表示拥有发球权,每隔两次自动交换发球权,拥有发球权的一方发球才有效。系统框图如图2-1所示:
图2-1 乒乓球比赛游戏机系统框图
2.2 设计思路
此设计问题可分为游戏控制模块,加减计数模块,译码模块,甲乙方得分显示模块四部分。
设置甲乙双方击球脉冲信号int1/int2,一方的击球信号使加/减计数器加法计数,则另一方的击球信号就使加/减计数器减法计数,译码模块输出端Y1-Y8接LED模拟乒乓球的轨迹。经控制模块实现移位方向的控制,真值表2-2所列。
设置发球权拥有显示信号s1、s2。控制模块使每两次交换发球权。
加/减控制信号U/D由乒乓球到达Y8、Y1和击球信号int1、int2及发球权拥有信号s1、s2共同产生,真值表如表2-3所示。