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

上传人:b****8 文档编号:29061859 上传时间:2023-07-20 格式:DOCX 页数:16 大小:184.16KB
下载 相关 举报
乒乓球游戏机EDA课程设计本.docx_第1页
第1页 / 共16页
乒乓球游戏机EDA课程设计本.docx_第2页
第2页 / 共16页
乒乓球游戏机EDA课程设计本.docx_第3页
第3页 / 共16页
乒乓球游戏机EDA课程设计本.docx_第4页
第4页 / 共16页
乒乓球游戏机EDA课程设计本.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

《乒乓球游戏机EDA课程设计本.docx》由会员分享,可在线阅读,更多相关《乒乓球游戏机EDA课程设计本.docx(16页珍藏版)》请在冰豆网上搜索。

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

乒乓球游戏机EDA课程设计本

4.2.1ch41a模块分析7

乒乓游戏机

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)sel模块:

产生数码管的片选信号;

(4)disp模块:

7段译码器。

图3.1结构层次图

4分层次方案设计及代码描述

4.1控制模块的设计

4.1.1cornal模块分析

a发球

一、在范围内

1、b没有接到球,a加1分,将灯光清零00000000

2、b接到了球,则灯光为0&【7位】

二、在b方出界了

1、如果b没有接到球,则a加分

2、如果b接到了球,则灯光为0&【7位】

b发球

一、在范围内

1、a没有接到球,b加1分,并将灯光清零00000000

2、a接到了球,则灯光计分为【7位】&0

二、在a方出界了

1、a没有接到球,则b加分

2、a接到了球,则灯光计分为【7位】&0

af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。

图4.1conal模块原理图

4.1.2cornal模块VHDL程序描述

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entitycornalis

Port(clr,af,aj,bf,bj,clk:

instd_logic;

Shift:

outstd_logic_vector(7downto0);

Ah,al,bh,bl:

outstd_logic_vector(3downto0);

Awin,bwin:

outstd_logic);

Endcornal;

Architecturebahaveofcornalis

Signalamark,bmark:

integer;

Begin

Process(clr,clk)

Variablea,b:

std_logic;

Variableshe:

std_logic_vector(7downto0);

Begin

Ifclr=’0’then

a:

=’0’;

b:

=’0’;

she:

=”00000000”

amark<=0;

bmark<=0;

elsifclk’eventandclk=’1’then

ifa=’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>8then

ifbj=’0’then--b方过网击球

amark<=amark+1;--a方加一分

a:

=’0’;

b:

=’0’;

she:

=”00000000”;

else

she:

=’0’&she(7downto1);--b方没有击球

endif;

elsifshe=0then--球从b方出界

amark<=amark+1;--a方加一分

a:

=’0’;

b:

=’0’;

else

ifbj=’0’then--b方正常击球

a:

=’0’;

b:

=’1’;

else

she:

=’0’&she(7downto1);--b方没有击球

endif;

endif;

elsifa=’0’andb=’1’then--b方发球

ifshe<16andshe/=0then

ifaj=’0’then

bmark<=bmark+1;

a:

=’0’;

b:

=’0’;

she:

=”00000000”;

else

she:

=she(6downto0)&’0’;

endif;

elsifshe=0then

bmark<=bmark+1;

a:

=’0’;

b:

=’0’;

else

ifaj=’0’then

a:

=’1’;

b:

=’0’;

else

she:

=she(6downto0)&’0’;

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_logic;

begin

ifclr=’0’then--清零

aha:

=”0000”;

ala:

=”0000”;

bha:

=”0000”;

bla:

=”0000”;

tmp1:

=0;

tmp2:

=0;

t1:

=’0’;

t2:

=’0’;

elsifclk’eventandclk=’1’then

ifaha=”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>tmp1then

ifala=”1001”then

ala:

=”0000”;

aha:

=aha+1;

tmp1:

=tmp1+1;

else

ala:

=ala+1;

tmp1:

=tmp1+1;

endif;

elsifbmark>tmp2then

ifbla=”1001”then

bla:

=”0000”;

bha:

=bha+1;

tmp2:

=tmp2+1;

else

bla:

=bla+1;

tmp2:

=tmp2+1;

endif;

endif;

endif;

al<=ala;

bl<=bla;

ah<=aha;

bh<=bha;

awin<=t1;

bwin<=t2;

endprocess;

endbehave;

4.2送数据模块的设计

4.2.1ch41a模块分析

图4.2ch41a模块分析及原理图

4.2.2ch41a模块VHDL程序描述

LibraryIEEE;

UseIEEE.std_logic_1164.all;

Entitych41ais

Port(sel:

instd_logic_vector(2downto0);

D0,d1,d2,d3:

instd_logic_vector(3downto0);

Q:

outstd_logic_vector(3downto0));

Endch41a;

Architecturebehaveofch41ais

Begin

Process(sel)

Begin

Caseselis

When”100”=>q<=d0;

When”101”=>q<=d1;

When”000”=>q<=d2;

Whenothers=>q<=d3;

Endcase;

Endprocess;

Endbehave;

4.3产生数码管片选信号模块的设计

4.3.1sel模块分析

图4.3sel模块分析及原理图

4.3.2sel模块VHDL程序描述

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityselis

Port(clk:

instd_logic;

Sell:

outstd_logic_vector(2downto0));

Endsel;

Architecturebehaveofselis

Begin

Process(clk)

Variabletmp:

std_logic_vector(2downto0);

Begin

Ifclk’eventandclk=’1’then

Iftmp=”000”then

Tmp:

=”001”;

Elsiftmp=”001”then

Tmp:

=”100”;

ElsifTmp=”100”then

Tmp:

=”101”;

Elsiftmp=”101”then

Tmp:

=”000”;

Endif;

Endif;

Sell<=tmp;

Endprocess;

Endbehave;

 

4.4七段译码器模块的设计

4.4.1disp模块分析

图4.4disp模块分析及原理

4.4.2disp模块VHDL程序描述

Libraryieee;

Useieee.std_logic_1164.all;

Entitydispis

Port(d:

instd_logic_vector(3downto0);

Q:

outstd_logic_vector(6downto0));

Enddisp;

Architecturebehaveofdispis

Begin

Process(d)

Begin

Casedis

When”0000”=>q<=”0111111”;

When”0001”=>q<=”0000110”;

When”0010”=>q<=”1011011”;

When”0011”=>q<=”1001111”;

When”0100”=>q<=”1100110”;

When”0101”=>q<=”1101101”;

When”0110”=>q<=”1111101”;

When”0111”=>q<=”0100111”;

When”1000”=>q<=”1111111”;

Whenothers=>q<=”1101111”;

Endcase;

Endprocess;

Endbehave;

 

4.5顶层原理图设计

图4.5顶层模块原理图

 

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总结

当知道我做的这个设计是乒乓游戏机的时候,我完全没有了头绪,不知道这到底会是一个怎样的设计,后来经过在网上参考了许许多多的资料,才知道这到底是怎么一回事,过了一个假期,许多软件上的操作都忘记了许多,当开始课程设计的时候,才发现原来安装好了的软件试用期到了,然后又得重装软件,重装又不成功,反复弄了几次才成功,总是急出一身的汗。

当软件安装好之后,开始将设计的VHDL程序输入到里面编译,最后设计顶层程序的时候,一直出现错误,是说不能使用两个脉冲时钟,于是又重新学画了原理图的设计,才最终成功。

通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

特别是当每一个子模块编写调试成功时,心里特别的开心。

但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。

这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

7参考文献

[1]邹彦主编.EDA技术与数字系统设计.电子工业出版社.2012

[2]朱正伟主编.EDA技术及应用.清华大学出版社.2005

[3]黄智伟等主编.FPGA系统设计与实践.电子工业出版社.2004

[4张亦华等主编.数字逻辑设计实验技术与EDA工具.北京邮电大学出版社.2003

[5]谭会生等主编.EDA技术及应用.西安电子科技大学出版社.2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

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

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