- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
乒乓球游戏电路课程设计最终完成版
电子课程设计
——基于Verilog的乒乓游戏设计电路
学院:
专业、班级:
姓名:
学号:
指导教师:
2014年12月
引言
可编程器件的广泛应用,为数字系统的设计带来了极大的灵活性。可编程器件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样快捷方便。高速发展的FPGA、CPLD兼有串、并行工作方式和高速、高可靠性的特点,在电子系统设计中得到了广泛应用。?
通常使用硬件描述语言(Hardware?Description?Language,HDL)进行数字电子系统设计。目前应用广泛的硬件描述语言有:VHDL语言,Verilog?HDL语言,AHDL语言。Verilog语言由于具有强大的行为描述能力和丰富的仿真语句从而成为系统设计领域最佳的硬件描述语言。?
鉴于如上所述,本系统使用Verilog语言进行设计,采用自上向下的设计方法。利用Quartus?II?9.1?进行Verilog程序的编译与综合,然后用Modelism?SE?6.0进行功能仿真和时序仿真,并使用EDA实验箱进行下载验证。
基于Verilog的乒乓游戏设计电路
设计任务与要求
任务:?
设计一个乒乓球游戏机,模拟乒乓球比赛的基本过程和规则,并能裁判和自动计分。?
要求如下:?
1.使用乒乓球游戏机的甲乙双方在不同的位置罚球或击球。?
2.乒乓球的位置和移动方向可由发光二极管和依次点亮的方向决定,为球的移动速度为一定值(我们设计中设为0.5秒移动一位)。使用者可按乒乓球的位置发出相应的动作,在其他时候击球视为犯规,给对方加一分;都犯规双方各加一分。
二、总体框图
设计思路
根据乒乓球比赛的过程和规则,首先游戏开始,如果一方非正确击球则另一方加分,当分数大于11时获胜,游戏结束,系统设计流程图如图1所示。
图2给出了乒乓球游戏机的原理图。
用5个发光二极管代表乒乓球,在游戏机两侧各设置二个开关,一个是发球开关,一个是击球开关。即若A方按动发球开关时,靠近A方的第一灯亮,然后二极管由A向B逐次点亮,代表乒乓球在移动。当过网后,B就可以击球,否则判B方失分,A方自动加分,重新发球比赛继续进行到一方计分到11分,该局结束,计分牌清零,可以开始新的一局比赛。反之B发球时也一样。将核心模块分俩个进程:第一个实现逻辑功能,第二个将整数记分转换为十进制数,便于译码显示;得分显示模块用七段译码器。?
各个状态间的转移控制要根据要求来改变转移的状态由于设计要求实现LED灯依此从左到右,或从右到左的移动,同时球拍击球。若击中,则球向相反方向移动,若未击中,则对方得1分。
就其功能,若要实现记分,就得用到7段数码管,考虑到硬件要求,考虑用动态扫描技术来解决。动态扫描前要进行译码,即把记数得分的结果译码成七段码。
设计方案
完全用Verilog HDL语言编写程序。
三、器件选择
1、装有QuartusII软件的计算机一台。?
2、EDA实验箱一个?
(1)7段数码显示管。?
(2)5个LED灯。?
(3)芯片:使用Altera公司生产的CycloneIV芯片,选用EP4CE6E22C8片。
四、功能模块
1、实现整个设计的逻辑功能,当游戏开始时,先通过clr对整个系统进行清零,在输入clk上升沿有效的条件下,甲方开始发球,LED灯从距离甲方最近的一个开始闪亮,并依次向乙方移动,过了网后乙方就可以击球,若乙方击球成功,则球按原路返回,再次过网后甲方就可击球,若甲击球成功,则按以上游戏一直进行下去,若有一方击球失败或提前击球,对方在记分牌上自动记一分;当其中的一方记满11分时比赛结束,清零后可开始下一局。
2、将整数计分转换为十进制数,便于译码显示。当甲乙双方的记分低位到达9时使低位清零,同时使高位加1,以便正确地在数码管上显示得分。
clr为乒乓球游戏清零键,af为A方发球控制键,aj接球键;?bf为乙方发球控制键,bj接球键;clk为控制乒乓球行进速度的时钟信号,接50MHZ时钟信号源;shift为LED灯显示输出端,接5个LED显示灯;计分要经过译码器译码后接8位共阴极数码显示管。
Verilog HDL程序
module lqq (shift,scan,seg7,clk50Mhz,clr,af,aj,bf,bj);
output[4:0] shift;
output[3:0] scan;
output[6:0] seg7;
input clk50Mhz; //50Mhz时钟信号
input af; //A方发球
input aj; //A方击球
文档评论(0)