ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:152.49KB ,
资源ID:3710606      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3710606.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(乒乓球游戏机EDA课程设计完整版本.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

乒乓球游戏机EDA课程设计完整版本.docx

1、乒乓球游戏机EDA课程设计完整版本 4.1控制模块的设计 24.2.1 ch41a模块分析 7乒乓游戏机1 设计目的掌握熟悉的使用Quartus II 9.1软件的原理图绘制,程序的编写,编译以及仿真。体会使用EDA综合过程中电路设计方法和设计思路的不同。掌握使用EDA工具设计乒乓游戏机的的设计思路和设计方法。2 设计要求和任务2.1设计任务设计一个乒乓球游戏机,该机模拟乒乓球比赛的基本过程和规则,并能自动裁判和几分。2.2设计要求 (1)甲乙双方各在不同的位置发球或击球。 (2)乒乓球的位置和移动方向由灯亮及依次点亮的方向决定,球移动的速度为0.1-0.5秒移动一位。 (3)11分为一局,甲

2、乙双方都应设置各自的几分牌,任何一方先记满11分,该方胜出。当记分牌清零后,重新开始。3 总体设计思路及原理描述由乒乓游戏机功能,用原理图作为顶层模块,再将底层划分成四个小模块来实现: (1)cornal模块:整个程序的核心,它实现了整个系统的全部逻辑功能; (2)ch41a模块:在数码的片选信号时,送出相应的数据; (3)sel模块:产生数码管的片选信号; (4)disp模块:7段译码器。 图3.1 结构层次图4 分层次方案设计及代码描述4.1控制模块的设计 4.1.1 cornal模块分析a发球一、在范围内 1、b没有接到球,a加1分,将灯光清零000 00 000 2、b接到了球,则灯光

3、为0 &【7位】二、在b方出界了 1、如果b没有接到球,则a加分 2、如果b接到了球,则灯光为0 &【7位】b发球一、在范围内 1、a没有接到球,b加1分,并将灯光清零000 00 000 2、a接到了球,则灯光计分为【7位】& 0二、在a方出界了 1、a没有接到球,则b加分 2、a接到了球,则灯光计分为【7位】& 0af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。图4.1 conal模块原理图4.1.2 cornal模块VHDL程序描述Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_l

4、ogic_unsigned.all;Entity cornal isPort(clr,af,aj,bf,bj,clk:in std_logic;Shift:out std_logic_vector(7 downto 0);Ah,al,bh,bl:out std_logic_vector(3 downto 0);Awin,bwin:out std_logic);End cornal;Architecture bahave of cornal isSignal amark,bmark:integer;Begin Process(clr,clk)Variable a,b:std_logic;Vari

5、able she:std_logic_vector(7 downto 0);Begin If clr=0 t hena:=0;b:=0;she:=”00000000”amark=0;bmark8 then if bj=0 then -b方过网击球 amark=amark+1; -a方加一分 a:=0; b:=0; she:=”00000000”; else she:=0&she(7 downto 1); -b方没有击球 end if;elsif she=0 then -球从b方出界 amark=amark+1; -a方加一分 a:=0; b:=0;else if bj=0 then -b方正常

6、击球a:=0;b:=1;else she:=0&she(7 downto 1); -b方没有击球end if;end if;elsif a=0 and b=1then -b方发球 if she16 and she/=0 then if aj=0 then bmark=bmark+1; a:=0; b:=0; she:=”00000000”; else she:=she(6 downto 0)&0;end if;elsif she=0 thenbmark=bmark+1;a:=0;b:=0;elseif aj=0then a:=1; b:=0;else she:=she(6 downto 0)&

7、0;end if;end if;end if;end if;shifttmp1 then if ala=”1001” thenala:=”0000”;aha:=aha+1;tmp1:=tmp1+1;else ala:=ala+1; tmp1:=tmp1+1;end if;elsif bmarktmp2 then if bla=”1001” thenbla:=”0000”;bha:=bha+1;tmp2:=tmp2+1;else bla:=bla+1; tmp2:=tmp2+1;end if;end if;end if;al=ala;bl=bla;ah=aha;bh=bha;awin=t1;bw

8、inqqqq=d3;End case;End process;End behave;4.3产生数码管片选信号模块的设计4.3.1 sel模块分析 图4.3 sel模块分析及原理图4.3.2 sel模块VHDL程序描述Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity sel is Port(clk:in std_logic;Sell:out std_logic_vector(2 downto 0);End sel;Architecture behave of sel isBegin Pr

9、ocess(clk) Variable tmp:std_logic_vector(2 downto 0);Begin If clkevent and clk=1 then If tmp=”000” then Tmp:=”001”; Elsif tmp=”001” then Tmp:=”100”;Elsif Tmp=”100” then Tmp:=”101”;Elsif tmp=”101” then Tmp:=”000”;End if;End if;Sellqqqqqqqqqq=”1101111”;End case;End process;End behave;4.5顶层原理图设计图4.5 顶层

10、模块原理图5 各模块的时序仿真图 图5.1为A方两次发球,B方没有接到球,A方得到2分的仿真波形图图5.1 仿真波形图图5.2所示为A方发球,B方提前击球的情况,此时,A方得一分。图中还显示了A方发球,B方在规定的时刻没有接到球的情况,此时,A方又得一分。图5.2 仿真波形图 图5.3所示为A方发球,在恰当的时候B方接到球,当球回到A方时,A方又接到球,但B方再也没有接到球的仿真波形。图5.3仿真波形图 图5.4所示为A方得分增加到11分的情况,此时awin输出高电平,输出分数保持不变。当清零信号按下时,得分清为零,awin输出恢复低电平,又可以开始新的一局比赛。图5.4仿真波形图6 总结当知

11、道我做的这个设计是乒乓游戏机的时候,我完全没有了头绪,不知道这到底会是一个怎样的设计,后来经过在网上参考了许许多多的资料,才知道这到底是怎么一回事,过了一个假期,许多软件上的操作都忘记了许多,当开始课程设计的时候,才发现原来安装好了的软件试用期到了,然后又得重装软件,重装又不成功,反复弄了几次才成功,总是急出一身的汗。当软件安装好之后,开始将设计的VHDL程序输入到里面编译,最后设计顶层程序的时候,一直出现错误,是说不能使用两个脉冲时钟,于是又重新学画了原理图的设计,才最终成功。 通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别

12、的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。7 参考文献 1邹彦主编.EDA技术与数字系统设计.电子工业出版社.20122朱正伟主编.EDA技术及应用.清华大学出版社.20053黄智伟 等主编.FPGA系统设计与实践.电子工业出版社.20044张亦华 等主编.数字逻辑设计实验技术与EDA工具.北京邮电大学出版社.20035谭会生 等主编.EDA技术及应用.西安电子科技大学出版社.2001 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1