课程设计论文-乒乓球游戏机设计Word文档下载推荐.docx
- 文档编号:13019443
- 上传时间:2022-10-02
- 格式:DOCX
- 页数:17
- 大小:107.96KB
课程设计论文-乒乓球游戏机设计Word文档下载推荐.docx
《课程设计论文-乒乓球游戏机设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《课程设计论文-乒乓球游戏机设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
VHDL的程序结构特点是将一项工程设计,或称设计实体分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
应用VHDL进行工程设计的优点是多方面的。
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
1.2QuartusⅡ简介
QuartusII是Altera公司的综合性PLD开发软件,可以采用多种输入方式,如VHDL、VerilogHDL、AHDL(AlteraHardwareDescriptionLanguage)及电路图等。
它支持一些比较成熟的模块,如LPM/MegaFunction宏功能模块库等,设计者可以直接调用这些模块,从而使设计的复杂性降低了,设计的速度也加快了。
QuartusII内带有综合器和仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,减少了设计者的工作量。
QuartusII是一种综合性的开发平台,在QuartusII中可以进行系统级设计嵌入式的软件开发和可编程逻辑的设计。
QuartusII越来越受到数字系统设计者的欢迎,是因为QuartusII拥有强大的设计能力和直观易用的接口,可以在多种平台上使用,如XP、Linux以及Unix等,具有完善的用户图形界面设计方式,运行速度快,功能集中,易学易用等特点。
2设计题目、内容及要求
2.1设计题目
乒乓球游戏机设计
2.2设计内容
(1)用8个发光二极管表示球,用两个按钮分别表示甲乙两个球员的球拍。
(2)一方发球后,球以固定速度向另一方运动,发光二极管依次点亮,当球达到最后一个发光二极管时,对方击球,按下按钮,球将向相反方向运动。
在其他时候击球视为犯规,给对方加1分都犯规,各加1分。
(3)甲乙两方各由数码管计分。
(4)裁判有一按钮可进行系统初始化。
具体原理图如下:
等待发球
甲得分乙得分
甲发球乙发球
第一盏灯亮
第八盏灯亮
允许甲发球
球向甲移动
乙击球甲击球
球向乙移动
乙击球甲击球
允许乙发球
乙没击球甲没击球
图1-1乒乓球游戏机原理图
2.3设计要求
(1)根据任务要求确定电路各功能模块;
(2)写出设计程序;
(3)给出时序仿真结果;
(4)最后要有设计总结;
3系统设计
3.1控制模块的设计
模块pp分两个进程,第一个进程实现逻辑功能,第二个进程将整数的记分转换为十进制数,便于译码显示。
af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。
其vhdl程序描述如下:
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
Entityppis
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);
Endpp;
Architecturebehaveofppis
Signalamark,bmark:
integer;
Begin
Process(clr,clk)
Variablea,b:
std_logic;
Variableshe:
std_logic_vector(7downto0);
Begin
Ifclr='
0'
then
a:
='
;
b:
she:
="
"
amark<
=0;
bmark<
elsifclk'
eventandclk='
1'
then
ifa='
andb='
andaf='
--a方发球
elsifa='
andbf='
--b方发球
andb='
--a方发球后
ifshe>
8then
ifbj='
--b方过网击球
=amark+1;
--a方加一分
else
&
she(7downto1);
--b方没有击球
endif;
elsifshe=0then
--球从b方出界
--b方正常击球
ifshe<
16andshe/=0then
ifaj='
=bmark+1;
=she(6downto0)&
'
shift<
=she;
endprocess;
process(clk,clr,amark,bmark)
variableaha,ala,bha,bla:
std_logic_vector(3downto0);
variabletmp1,tmp2:
variablet1,t2:
begin
ifclr='
--清零
aha:
0000"
ala:
bha:
bla:
tmp1:
tmp2:
t1:
t2:
ifaha="
0001"
andala="
--a方得分达到11分,则保持
elsif
bha="
andbla="
--b方得分达到11分,则保持
elsifamark>
tmp1then
ifala="
1001"
=aha+1;
=tmp1+1;
=ala+1;
elsifbmark>
tmp2then
if
bla="
=bha+1;
=tmp2+1;
=bla+1;
al<
=ala;
bl<
=bla;
ah<
=aha;
bh<
=bha;
awin<
=t1;
bwin<
=t2;
endbehave;
3.2送数据模块的设计
--送数据模块的设计送数据模块ch41a的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
Process(sel)
Caseselis
When
100"
=>
q<
=d0;
When"
101"
=d1;
000"
=d2;
Whenothers=>
=d3;
Endcase;
Endprocess;
Endbehave;
3.3产生数码管片选信号模块的设计
--产生数码管片选信号模块sel的vhdl程序描述如下:
Useieee.std_logic_unsigned.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 乒乓球 游戏机 设计