欢迎来到天天文库
浏览记录
ID:23473742
大小:119.34 KB
页数:22页
时间:2018-11-08
《eda课程设计--乒乓球游戏电路设计(双打)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计说明书题目:乒乓球游戏电路设计(双打)姓名:院系:专业班级:学号:指导教师:成绩:时间:2014年6月9日至2014年6月13日课程设计任务书题目乒乓球游戏电路设计(双打)专业、班级学号37-42姓名主要内容、基本要求、主要参考资料等:根据乒乓球双打的规则,利用硬件编程语言VHDL或者Verilog-HDL实现乒乓球游戏电路的设计。首先给出状态机的设计,然后据此给出完成控制电路所需要的设计模块;给出硬件编程语言的实现,并进行仿真;给出下载电路的设计,设计为2种下载方法,其中一种必须为JTA
2、G;时设计者报告不允许雷同。参考资料:1、潘松、黄继业《EDA技术及其应用》(第四版)科学出版社20092、数字信号处理的教材完成期限:指导教师签名:课程负责人签名:年月日目录摘要I1.总体设计思想11.1基本原理11.2设计框图12.设计步骤和调试过程32.1总体设计电路32.2模块设计和相应模块程序32.2.1乒乓球游戏机实体的设计32.2.2状态机编程实现42.2.3记分译码器的设计62.2.4构造体的设计82.3仿真及仿真结果分析102.4实验调试结果12总结13参考资料14附录1510摘
3、要 VHDL是甚高速集成电路硬件描述语言。目前,VHDL已成为许多设计自动化工具普遍采用的标准化硬件描述语言。VHDL语言功能性强,覆盖面广,灵活性高,具有很好的实用性。本文设计一个基于VHDL的乒乓游戏机,乒乓游戏机由状态机、记分器、译码显示器与按键去抖等部分所组成。通过对各部分编写VHDL程序,然后进行编译、仿真、逻辑综合、逻辑适配,最后进行编程下载,并且通过GW48型EDA实验箱的验证,实现乒乓游戏机的基本功能。 关键词:VHDL;GW48;乒乓游戏机1乒乓球游戏电路设计1.总体设计思想
4、1.1基本原理根据乒乓球比赛的过程和规则,首先游戏开始,如果一方非正确击球则另一方加分,当分数大于21时获胜,游戏结束,我们把设计流程规定如图1.1所示。状态机设置了7个状态,分别是“等待发球状态”,“第一盏灯亮状态”,“第八盏灯亮状态”,“球向甲乙移动状态”,“球向丙丁移动状态”,“允许甲或乙击球状态”,“允许丙或丁击球状态”。这是该程序中起决定作用的七个状态。开始的时候处于“等待发球状态”,若甲或乙发球则状态转移到“第一盏灯亮状态”,若丙或丁发球则转移到“第八盏灯亮状态”,具体说明以甲球为例。
5、若发球后丙或丁没有提前击球----规定球移动到对方第一个发光二极管时允许击球,那么状态机从“第一盏灯亮状态”转移到“球向丙丁移动状态”。若在“球向丙丁移动状态”丙或丁仍然没有提前击球,状态就转移到“允许丙或丁击球状态”,在此状态下,如果丙或丁击球了,那么状态就转移到“球向甲乙移动状态”。在“第一盏灯亮状态”,“球向丙丁移动状态”中,如果丙或丁击球了,就算提前击球,这样甲乙得分,状态转移到“等待发球状态”等待发球,“球向甲乙移动状态”之后的过程和前面的过程只不过是甲或乙和丙或丁角色的调换而已。状态转
6、移规则都是一样的。图1.2给出了乒乓球游戏机的原理图。1.2设计框图根据需要设计出游戏流程图和乒乓球原理图:游戏开始正确接发球?甲或乙丙或丁否否丙丁方胜利甲乙方胜利甲乙方加分丙丁方加分大于21?大于21?NNYY游戏结束图1-1设计流程图12乒乓球游戏电路设计等待发球甲乙得分丙丁得分甲或乙发球丙或丁发球第一盏灯亮第八盏灯亮甲或乙击球丙或丁击球球向甲乙移动动球向丙丁移动甲或乙击球丙或丁击球允许甲或乙发球允许丙或丁发球甲乙没击球丙丁没击球或者击球错误或者击球错误图1-2乒乓球游戏机原理图12乒乓球游戏
7、电路设计2.设计步骤和调试过程2.1总体设计电路该乒乓球游戏机的设计主要包括的模块与内容有:乒乓球游戏机实体的设计,游戏机编程的实现,记分译码器的设计以及构造体的设计。直接对状态机进行描述,所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELSE语句实现。以下我们就详细解析各个板快的设计与实现。2.2模块设计和相应模块程序2.2.1乒乓球游戏机实体的设计设计该乒乓球游戏机的输入与输出端口。首先考虑输入端口,一般应该设置一个异步置位端口reset,用
8、于在系统不正常时回到初始状态:两个发球输入端serve1和serve2,逻辑‘1’分别表示甲乙丙丁的发球;四个个击球输入端hit1,hit2,hit3和hit4逻辑‘1’分别表示甲丙乙丁击球;一个开始游戏按钮startbutton,处于逻辑‘1’表示可以游戏;还得有一个时钟输入端口clk。其次考虑输出端口,芯片应该有8个输出端口来控制8个发光二极管,输出逻辑‘1’即输出一个高电平,可以使发光二极管点亮;另外,要直观地表示双方的得分,就得用到4个七段译码器,每方用到2个,可以表示0到
此文档下载收益归作者所有