基于VHDL课程设计乒乓球游戏Word格式文档下载.docx
- 文档编号:21560405
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:32
- 大小:49.21KB
基于VHDL课程设计乒乓球游戏Word格式文档下载.docx
《基于VHDL课程设计乒乓球游戏Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于VHDL课程设计乒乓球游戏Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
未定义书签。
3.1控制模块..............................................................................................................错误!
3.1.1引脚功能................................................................................................错误!
3.1.2核心代码及解释....................................................................................错误!
3.1.3RTL图....................................................................................................错误!
3.2分频模块..........................................................................................................错误!
3.2.1引脚功能................................................................................................错误!
3.2.2核心代码及解释....................................................................................错误!
3.2.3RTL图....................................................................................................错误!
3.3按键处理模块...................................................................................................错误!
3.3.1引脚功能..................................................................................................错误!
3.3.2核心代码及解释......................................................................................错误!
3.3.3RTL图.......................................................................................................错误!
3.4锁楼层模块.......................................................................................................错误!
3.4.1引脚功能................................................................................................错误!
3.4.2核心代码及解释....................................................................................错误!
3.4.3RTL图.................................................................................................错误!
第四部分操作配图.......................................................................................................错误!
第五部分结论.............................................................................................................................................16
4.1遇到的问题和改进............................................................................................................................16
4.2工作分配比例....................................................................................................................................16
第六部分附录.............................................................................................................................................17
基于VHDL课程设计乒乓球游戏
基于FPGA的乒乓球游戏程序的设计
摘要
VHDL是高速集成电路硬件描述语言,目前已成为许多设计自动化工具普遍采用的标准化硬件描述语言.VHDL语言功能性强、覆盖面广、灵活性高,具有很好的实用。
本文设计一个基于VHDL的乒乓游戏机模拟乒乓球比赛。
用VHDL编程模拟乒乓球比赛,电路模块由分频、状态机等部分组成,对各部分编写VHDL算法,进行编译及程序下载。
通过验证,乒乓游戏机能模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分,还能根据接球快慢改变球运行的速度。
实现乒乓游戏机的功能。
关键词:
乒乓游戏机、VHDL、状态机
课程设计乒乓球游戏基于VHDL绪论第一部分课题设计背景1.1
FPGA简介1.1.1
、、GAL,即现场可编程门阵列,它是在PALFPGA(Field-ProgrammableGateArray))领域中等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASICCPLD的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
VHDL
硬件描述语言1.1.2
。
)硬件描述语言VHDL的英文全名是VHSICHardwareDescriptionLanguage(VHSIC年代在美国国防80的缩写,是20世纪VHSIC是VeryHighSpeedIntegratedCircuit和美国IEEE年底,VHDL被部的资助下始创的,并最终导致了VHDL语言的出现。
1987
主要用于描述数字系统的结构,行为,功能和接VHDL国防部确认为标准硬件描述语言。
的语言形式和描述风格与句法是十分类VHDL口。
除了含有许多具有硬件特征的语句外,(可或称设计实体VHDL的程序结构特点是将一项工程设计,似于一般的计算机高级语言。
以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将VHDL系统设计的基本点。
设计实体分成内外部分的概念是
QuartusⅡ简介1.1.3
AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
AlteraQuartusII(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。
QuartusIIdesign是最高级和复杂的,用于system-on-a-programmable-chip
(SOPC)的设计环境。
QuartusIIdesign提供完善的timingclosure和LogicLock?
基于块的设计流程。
QuartusIIdesign是唯逐一个包括以timingclosure和基于块的设计流为基本特征的programmablelogicdevice(PLD)的软件。
QuartusII设计软件改进了性能、提升了功能性、解决了潜伏的设计延迟等,在产业领域率先提供FPGA与开发的同一工作流程。
mask-programmeddevices
1.2课题主要内容
随着可编程逻辑电路和EDA技术的发展,在逻辑电路设计和嵌入式系统设计方面,以CPLD/FPGA为代表的可编程逻辑器件已经逐步代替了传统的标准逻辑器件;
本次论文的乒乓球游戏所有的程序可以集成在一个FPGA开发芯片上面,不用在用其他功能的分立逻辑元件,达到集成度高、响应快、功耗低的特点。
本次论文主要是基于FPGA的乒乓球游戏的设计,模拟乒乓球比赛的基本过程和规则,自动裁判和记分,比局为7局,每局11分。
而本次论文采用模块化设计,主要分为两大模块:
时钟分频模块、状态机控制模块。
第二部分系统设计
2.1整体设计图
图1乒乓球游戏程序BDF图
2.2设计思路
1.控制模块状态图
乒乓球游戏程序控制模块状态图2图
2.总体思路
SW0开关(EN)控制功能使能与比赛清零。
SW0关闭(EN=0),显示学号后六位,打开时允许运行,比分比局清零。
利用状态机,设初始状态处于start状态,key3为复位键,按下key3可以回到start状态。
通过各种请求信号实现状态的相互转换,进而实现发球和乒乓球左右移动、击球的相互转换,并在球未击中、提前击中、发球失败时显示相应比分、比局情况。
通过设计control的反馈控制频率方式,利用不同键击球的快慢控制球运行的速度。
并在整个游戏结束时有一个end标记与比分比局切换显示。
2.3具体功能对应等
1.乒乓球控制模块
控制乒乓球的运行状态的转换,比分、比局的显示。
反馈信号信号的设置和输出,为分频模块提供指令信号,控制球运行的速度。
BDF乒乓球运行控制模块图3
2.时钟分频模块
为状态机产生3种不同的时钟信号。
BDF时钟分频模块4图
第三部分模块设计
3.1控制模块3.1.1引脚功能
表1控制模块的引脚功能表
定义类外引功
关闭显示学号EN
位并对比分清零,打开SW开始游
分频模块送CLK
种不同频率的速in
按一次重新开始新的一RST
KEY3
std_logic
选手甲接发球开HIT[17..13]SW17~SW13
选手乙接发球开SW5~SW2HIT[5..2]
禁止触球HIT[12..6]SW12~SW6
选手甲获胜局HEX7HEX7
选手乙获胜局HEX6HEX6
显示无意义HEX5HEX5
显示无意义HEX4HEX4
选手甲获胜比分HEX3HEX3out
stdlogic选手甲获胜比分HEX2HEX2
选手乙获胜比分HEX1HEX1
选手乙获胜比分HEX0
HEX0
输出反馈给分频模块CONTROL[1..0]
乒乓球位置显示LEDR17~LEDR2LIGHT[17..2]
3.1.2核心代码及解释
模块主要分状态转换,状态译码,LED灯的译码,和辅助变量temp,辅助判断信号control的计数进程。
利用temp判断是否分出胜负即游戏是否结束,结束之后显示闪烁辅助标志End并且清零比分。
利用control判断接球快慢,反馈到分频器,分频器根据接球快慢控制球的运行速度,共快中慢三种速度,分别为50Hz,10Hz,5.556Hz。
为方便检查结果,SW1直接控制速度开关,共快慢两种速度,分别为50Hz,5.556Hz。
1.中间变量的初始化:
SIGNALST,NST:
STATE:
=start;
SIGNALreg:
STD_LOGIC_VECTOR(17DOWNTO2);
--灯的内部变量
SIGNALBIFEN1,BIFEN2:
integerrange0to11;
--选手甲乙的比分记录变量
SIGNALBIJUONE,BIJUTWO:
integerrange0to4;
--选手甲乙的比局记录变量
SIGNALTEMP:
integerrange0to1;
--比局数的内部计数变量
SIGNALBIJU1,BIJU2:
STD_LOGIC_VECTOR(6DOWNTO0);
--选手甲乙的比局译码输出变量
SIGNALBIFENOUT11,BIFENOUT12,BIFENOUT21,BIFENOUT22:
STD_LOGIC_VECTOR(6DOWNTO0);
--选手甲乙的比分译码输出变量
SIGNALREG_1:
--数码管的内部变量
SIGNALREG_5:
SIGNALREG_3:
SIGNALREG_8:
SIGNALREG_4:
SIGNALREG_2:
2.主控组合进程:
通过判断球的位置信号及开关键信号执行相应的状态转换。
EN=1时游戏开始,进入状态start,temp开始计数,进入状态wait1检测发球选手并点亮相应的球所代表的LED,之后进入状态send,之后选择进入状态,movatoright或movetoleft,球开始向对方选手移动,当球到达可接球区域时,若对方及时击打并及时关闭开关,则进入状态movetoleft或movatoright球向回移动,如此反复。
若发球方或接球方未及时关闭开关,则视为击打失败,返回状态start,对方加一分。
每局为11分制,共设七局。
每结束一局temp就会相应加1,当temp加到5,即分出胜负之后显示闪烁辅助标志End。
以选手甲发球为例:
(1)进入状态start,统计比分及比局。
(2)进入状态send,判断选手甲(假设甲为左边一方)是否发球,若发球则进入状态wait1,否则停留在状态start。
(3)进入状态wait1,判断选手甲发球端球代表的灯REG17是否亮起,若是则进入状态movetoright,反之返回状态start。
(4)进入状态movetoright,灯右移,并判断是否有无关按键按下(SW17~SW14),若无则继续右移,反之返回状态start并且对方得一分。
当球移至REG6~REG2,进入选手乙可接球区域:
①当球移至REG6时选手乙及时击打相应开关SW6,则进入状态movetoleft,并调整球运行速度为快。
若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。
REG5条件下类似。
②当球移至REG4时选手乙及时击打开关SW4,则进入状态movetoleft,并调整球运行速度为中。
条件下类似。
,REG4REG3(5)进入状态movetoleft,灯左移,并判断是否有无关按键按下(SW2~SW5),若无则继续右移,反之返回状态start并且对方得一分。
当球移至REG17~REG13,进入选手甲可接球区域:
①当球移至REG13时选手乙及时击打相应开关SW6,则进入状态movetoright,并调整球运行速度为快。
REG14条件下类似。
②当球移至REG15时选手乙及时击打开关SW4,则进入状态movetoright,并调整球运行速度为中。
,REG16REG17
代码:
movetoright附.
WHENmovetoright=>
REG<
='
0'
&
REG(17DOWNTO3);
--右移状态
CASEREGIS
WHEN@00=>
NST<
=movetoright;
WHEN
IFHIT=--开关及时关上
NST<
ELSE
BIFEN2<
=BIFEN2+1;
--若未及时关上,对方加分
ENDIF;
IFHIT=
IFHIT=@00THENCONTROL<
=;
=movetoleft;
ELSIFHIT(5)='
1'
THEN
BIFEN1<
=BIFEN1+1;
=star
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 课程设计 乒乓球 游戏