乒乓球游戏机EDA课程设计本_第1页
乒乓球游戏机EDA课程设计本_第2页
乒乓球游戏机EDA课程设计本_第3页
乒乓球游戏机EDA课程设计本_第4页
乒乓球游戏机EDA课程设计本_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TOC\o"1-5"\h\z\o"CurrentDocument"1设计目的 1\o"CurrentDocument"2设计要求和任务 1\o"CurrentDocument"2.1设计任务 1\o"CurrentDocument"2.2设计要求 1\o"CurrentDocument"3总体设计思路及原理描述 1\o"CurrentDocument"4分层次方案设计及代码描述 2\o"CurrentDocument"控制模块的设计 2\o"CurrentDocument"cornal 模块分析 2\o"CurrentDocument"cornal 模块VHDL程序描述 3\o"CurrentDocument"4.2送数据模块的设计 7\o"CurrentDocument"ch41a 模块分析 7\o"CurrentDocument"ch41a模块VHDL程序描述 7\o"CurrentDocument"4.3产生数码管片选信号模块的设计 8\o"CurrentDocument"sel模块分析 8\o"CurrentDocument"sel模块VHDL程序描述 9\o"CurrentDocument"4.4七段译码器模块的设计 10\o"CurrentDocument"disp模块分析 10\o"CurrentDocument"disp模块VHDL程序描述 10\o"CurrentDocument"4.5顶层原理图设计 11\o"CurrentDocument"5各模块的时序仿真图 12\o"CurrentDocument"总结 14\o"CurrentDocument"参考文献 14乒乓游戏机1设计目的掌握熟悉的使用QuartusII9.1 软件的原理图绘制,程序的编写,编译以及仿真。体会使用EDA综合过程中电路设计方法和设计思路的不同。掌握使用 EDA工具设计乒乓游戏机的的设计思路和设计方法。2设计要求和任务2.1设计任务设计一个乒乓球游戏机,该机模拟乒乓球比赛的基本过程和规则,并能自动裁判和几分。2.2设计要求(1) 甲乙双方各在不同的位置发球或击球。(2)乒乓球的位置和移动方向由灯亮及依次点亮的方向决定, 球移动的速度为0.1-0.5秒移动一位。(3)11分为一局,甲乙双方都应设置各自的几分牌,任何一方先记满 11分,该方胜出。当记分牌清零后,重新开始。3总体设计思路及原理描述由乒乓游戏机功能,用原理图作为顶层模块,再将底层划分成四个小模块来实现:(1) cornal模块:整个程序的核心,它实现了整个系统的全部逻辑功能;(2) ch41a模块:在数码的片选信号时,送出相应的数据;(3) sei模块:产生数码管的片选信号;(4) disp模块:7段译码器。图3.1结构层次图4分层次方案设计及代码描述控制模块的设计cornal 模块分析a发球一、在范围内、b没有接到球,a加1分,将灯光清零00000000、b接到了球,则灯光为0&【7位】二、在b方出界了1、如果b没有接到球,则a加分2、如果b接到了球,则灯光为0&【7位】b发球一、在范围内1、 a没有接到球,b加1分,并将灯光清零000000002、 a接到了球,则灯光计分为【7位】&0二、在a方出界了1、 a没有接到球,则b加分2、 a接到了球,则灯光计分为【7位】&0表示球所af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift在的位置。表示球所1i -clr——3fah[3..O]——al[3..a]—i二=bfbh[J..O]——bj——elk3>*in—1h卅inirst"图4.1conal模块原理图cornal模块VHDL程序描述Libraryieee;Useieee.std」ogic_1164.all;Useieee.std_logic_unsigned.all;EntitycornalisPort(clr,af,aj,bf,bj,clk:instd」ogic;Shift:outstd」ogic_vector(7downto0);Ah,al,bh,bl:outstd」ogic_vector(3downto0);Awin,bwin:outstd_logic);Endcornal;ArchitecturebahaveofcornalisSignalamark,bmark:integer;BeginProcess(clr,clk)Variablea,b:std_logic;Variableshe:std」ogic_vector(7downto0);BeginIfclr='O'thena:='O';b:='O';she:=”OOOOOOO0'amark<=0;bmark<=0;elsifclk'eventandclk='1'thenifa='0'andb='0'andaf='0'then--a方发球a:='1';she;=”10000000';elsifa='0'andb='0'thenbf='0'then--b方发球b:='1';she:=”00000001”elsifa='1'andb='0'then--a 方发球后ifshe>8thenifbj='0'then --b方过网击球amark<=amark+1;--a 方^口一分a:='0';b:='0';she:=”00000000';elseshe:='0'&she(7downto1);--b 方没有击球endif;elsifshe=0then-- 球从b方出界amark<=amark+1;--a 方^口一分a:='0';b:='0';elseifbj='0'then--b 方正常击球a:='0';b:='1';elseshe:='0'&she(7downto1);--b 方没有击球endif;endif;elsifa='O'andb='1'then--b方发球ifshe<16andshe/=Othenifaj='O'thenbmark<=bmark+1;TOC\o"1-5"\h\za:= 'O';b:= 'O';she:=”0000000O';elseshe:=she(6downto0)& 'O';endif;elsifshe=Othenbmark<=bmark+1;a:='O';b:='O';elseifaj='O'thena:='1';b:='O';elseshe:=she(6downto0)& 'O';endif;endif;endif;endif;shift<=she;endprocess;process(clk,clr,amark,bmark)variableaha,ala,bha,bla:std_logic_vector(3downto0);variabletmp1,tmp2:integer;variablet1,t2:std」ogic;beginifclr='0'then -- 清零aha:=”0000”;ala:=”0000”;bha:=”0000”;bla:=”0000”;tmp1:=0;tmp2:=0;t1:= '0';t2:= '0';elsifelk'eventandclk='1'thenifaha=”0001”andala=”0001”then--a方得分达到11分,则保持aha:=”0001”ala:=”0001”t1:='1';elsifbha=”0001”andbla=”0001”then--b 方得分达到11分,则保持bha:= ”0001”;bla:= ”0001”;t2:= '1';elsifamark>tmp1thenifala=”1001”thenala:=”0000”;aha:=aha+1;tmp1:=tmp1+1;elseala:=ala+1;tmp1:=tmp1+1;endif;elsifbmark>tmp2thenifbla=”1001”thenbla:=”0000”;bha:=bha+1;

tmp2:=tmp2+1;elsebla:=bla+1;tmp2:=tmp2+1;endif;endif;endif;al<=ala;bl<=bla;ah<=aha;bh<=bha;awinv=t1;bwinv=t2;endprocess;endbehave;4.2送数据模块的设计ch41a 模块分析100101000其它 ►do ►dl ►d2 ►d3f— O)—idi[3..0]L业口o]<ra[3..DJin^t图4.2ch41a模块分析及原理图ch41a模块VHDL程序描述LibraryIEEE;

UseIEEE.std_logic_1164.all;Entitych41aisPort(sel:instd_logic_vector(2downto0);D0,d1,d2,d3:instd_logic_vector(3downto0);Q:outstd_logic_vector(3downto0));Endch41a;Architecturebehaveofch41aisBeginProcess(sel)BeginCaseselisWhen”100”=>qv=dO;When”101”=>q<=d1;When”000”=>q<=d2;Whenothers=>qv=d3;Endcase;Endprocess;Endbehave;4.3产生数码管片选信号模块的设计sel模块分析三三»三三»—1elk&ell[2.3]000—1―100―101图4.3sel模块分析及原理图432sei模块VHDL程序描述Libraryieee;Useieee.std」ogic_1164.all;Useieee.std_logic_unsigned.all;EntityselisPort(clk:instd_logic;Sell:outstd」ogic_vector(2downto0));Endsel;ArchitecturebehaveofselisBeginProcess(clk)Variabletmp:std_logic_vector(2downto0);BeginIfclk'eventandclk='1'thenIftmp= ”000”thenTmp:= ”001”;Elsiftmp=”001”thenTmp:=”100”;ElsifTmp=”100”thenTmp:=”101”;Elsiftmp=”101”thenTmp:=”000”;Endif;Endif;Sell<=tmp;Endprocess;Endbehave;

4.4 七段译码器模块的设计i=isp—<14 43.01disp 模块分析i=isp—<14 43.010 0000― 0111111L 0001— 0000110W10—k 10110110011—► 1M111L0100―11001100101― 11011010110― 1111101C111— 0100111图4.4disp 模块分析及原理disp模块VHDL程序描述Libraryieee;Useieee.std」ogic_1164.all;EntitydispisPort(d:instd_logic_vector(3downto0);Q:outstd_logic_vector(6downto0));Enddisp;ArchitecturebehaveofdispisBeginProcess(d)BeginCasedisWhen0000”=>qv仝0111111”When0001"=>qv仝0000110'When0010”=>qv仝1011011”When0011”=>qv仝1001111”When0100”=>qv仝1100110'When0101”=>qv仝1101101”

When0110”=>qv仝1111101”When0111”=>qv仝0100111”When1000”=>qv仝1111111”Whenothers=>q<=”1101111”Endcase;Endprocess;Endbehave;4.5顶层原理图设计Nad色Valuea,t15.08Nad色Valuea,t15.08m呼0clrAI呼】gfAL町kIM3b£AL巧AIIf*5dkAIselkIf10skiftH00SB田1H3F<>24awifiH005bwinMiO三承nrE mir-nnr►MasteilimeBar15.075nt十Pointer.2B0.E9msInerwM:2EQ.E9msStait:End.257.401ms287ns425.113 508.06 592.946ns676.832miI I ■ I II5各模块的时序仿真图图5.1为A方两次发球,B方没有接到球,A方得到2分的仿真波形图arLnnnnrLAnnnnnnn_nTmTLnLnrLrLn图5.1仿真波形图图5.2所示为A方发球,B方提前击球的情况,此时,A方得一分。图中还显示了A方发球,B方在规定的时刻没有接到球的情况,此时, A方又得一分。

图5.3所示为A方发球,在恰当的时候B方接到球,当球回到A方时,A方又接到球,但B方再也没有接到球的仿真波形。图5.4所示为A方得分增加到11分的情况,此时awin输出高电平,输出分数保持不变。当清零信号按下时,得分清为零,awin输出恢复低电平,又可以开始新的一局比赛。15075ns*Foihlef:¥s1iha15.08Iclr15075ns*Foihlef:¥s1iha15.08IclrA1El北A1ijA1bfA1W4bjA1elkA1sclkH10shiftKOO祁怡E)QIf3F0-24酬inHObvinHD。爼a諂iHD4nr IMasterlime&ar:1.3sStartErd殊1.332:哪5 】.忖"坪2^_rr_n"ToXTo—,-n_r^^LrT_TL_r-Lrx_n^^^^LTTTL^nnr图5.4仿真波形图6总结当知道我做的这个设计是乒乓游戏机的时候,我完全没有了头绪,不知道这到底会是一个怎样的设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论