欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    最新基于VHDL课程设计乒乓球游戏Word文档格式.docx

    • 资源ID:6899818       资源大小:2.07MB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新基于VHDL课程设计乒乓球游戏Word文档格式.docx

    1、Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。Quartus II design 是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。 QuartusII design 提供完善的 timing closure 和 LogicLock? 基于块的设计流程。QuartusII design是唯逐一个包括以timin

    2、g closure 和 基于块的设计流为基本特征的programmable logic device (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜伏的设计延迟等,在产业领域率先提供FPGA与mask-programmed devices开发的同一工作流程。1.2 课题主要内容随着可编程逻辑电路和EDA技术的发展,在逻辑电路设计和嵌入式系统设计方面,以CPLD/FPGA为代表的可编程逻辑器件已经逐步代替了传统的标准逻辑器件;本次论文的乒乓球游戏所有的程序可以集成在一个FPGA开发芯片上面,不用在用其他功能的分立逻辑元件,达到集成度高、响应快、功耗低的特点。

    3、本次论文主要是基于FPGA的乒乓球游戏的设计,模拟乒乓球比赛的基本过程和规则,自动裁判和记分,比局为7局,每局11分。而本次论文采用模块化设计,主要分为两大模块:时钟分频模块、状态机控制模块。第二部分 系统设计2.1整体设计图图 1 乒乓球游戏程序BDF图2.2设计思路1控制模块状态图图 2 乒乓球游戏程序控制模块状态图2总体思路SW0开关(EN)控制功能使能与比赛清零 。SW0关闭(EN=0),显示学号后六位,打开时允许运行,比分比局清零。利用状态机,设初始状态处于start状态,key3为复位键,按下key3可以回到start状态。通过各种请求信号实现状态的相互转换,进而实现发球和乒乓球左

    4、右移动、击球的相互转换,并在球未击中、提前击中、发球失败时显示相应比分、比局情况。通过设计control的反馈控制频率方式,利用不同键击球的快慢控制球运行的速度。并在整个游戏结束时有一个end标记与比分比局切换显示。2.3具体功能对应等1乒乓球控制模块控制乒乓球的运行状态的转换,比分、比局的显示。反馈信号信号的设置和输出,为分频模块提供指令信号,控制球运行的速度。图 3 乒乓球运行控制模块BDF2时钟分频模块 为状态机产生3种不同的时钟信号。图 4 时钟分频模块BDF 第三部分 模块设计3.1控制模块3.1.1 引脚功能表 1 控制模块的引脚功能表定义类型外设引脚功能in std_logicE

    5、NSW0关闭显示学号后6位并对比分清零,打开则开始游戏CLK分频模块送入3种不同频率的速度RSTKEY3按一次重新开始新的一球HIT17.13SW17SW13选手甲接发球开关HIT5.2SW5SW2选手乙接发球开关HIT12.6SW12SW6禁止触球区outstd logicHEX7选手甲获胜局数HEX6选手乙获胜局数HEX5显示无意义HEX4HEX3选手甲获胜比分HEX2HEX1选手乙获胜比分HEX0CONTROL1.0输出反馈给分频模块LIGHT17.2LEDR17LEDR2乒乓球位置显示3.1.2 核心代码及解释模块主要分状态转换,状态译码,LED灯的译码,和辅助变量temp,辅助判断信

    6、号control的计数进程。利用temp判断是否分出胜负即游戏是否结束,结束之后显示闪烁辅助标志End并且清零比分。利用control判断接球快慢,反馈到分频器,分频器根据接球快慢控制球的运行速度,共快中慢三种速度,分别为50Hz,10Hz,5.556Hz。为方便检查结果,SW1直接控制速度开关,共快慢两种速度,分别为50Hz,5.556Hz。1中间变量的初始化:SIGNAL ST,NST: STATE:=start;SIGNAL reg: STD_LOGIC_VECTOR(17 DOWNTO 2); -灯的内部变量SIGNAL BIFEN1,BIFEN2: integer range 0 t

    7、o 11;-选手甲乙的比分记录变量SIGNAL BIJUONE,BIJUTWO: integer range 0 to 4; -选手甲乙的比局记录变量SIGNAL TEMP: integer range 0 to 1; -比局数的内部计数变量SIGNAL BIJU1,BIJU2: STD_LOGIC_VECTOR(6 DOWNTO 0); -选手甲乙的比局译码输出变量SIGNAL BIFENOUT11,BIFENOUT12,BIFENOUT21,BIFENOUT22: -选手甲乙的比分译码输出变量SIGNAL REG_1: -数码管的内部变量SIGNAL REG_5: SIGNAL REG_3

    8、:SIGNAL REG_8:SIGNAL REG_4:SIGNAL REG_2:2主控组合进程:通过判断球的位置信号及开关键信号执行相应的状态转换。EN=1时游戏开始,进入状态start,temp开始计数,进入状态wait1检测发球选手并点亮相应的球所代表的LED,之后进入状态send,之后选择进入状态,movatoright或movetoleft,球开始向对方选手移动,当球到达可接球区域时,若对方及时击打并及时关闭开关,则进入状态movetoleft或movatoright球向回移动,如此反复。若发球方或接球方未及时关闭开关,则视为击打失败,返回状态start,对方加一分。每局为11分制,共

    9、设七局。每结束一局temp就会相应加1,当temp加到5,即分出胜负之后显示闪烁辅助标志End。以选手甲发球为例:(1)进入状态start,统计比分及比局。(2)进入状态send,判断选手甲(假设甲为左边一方)是否发球,若发球则进入状态wait1,否则停留在状态start。(3)进入状态wait1,判断选手甲发球端球代表的灯REG17是否亮起,若是则进入状态movetoright,反之返回状态start。(4)进入状态movetoright,灯右移,并判断是否有无关按键按下(SW17SW14),若无则继续右移,反之返回状态start并且对方得一分。当球移至REG6REG2,进入选手乙可接球区域

    10、:1当球移至REG6时选手乙及时击打相应开关SW6,则进入状态movetoleft,并调整球运行速度为快。若提前击打或未及时关闭开关,则击球失败并且对方得一分,进入状态start。REG5条件下类似。2当球移至REG4时选手乙及时击打开关SW4,则进入状态movetoleft,并调整球运行速度为中。REG4,REG3条件下类似。(5)进入状态movetoleft,灯左移,并判断是否有无关按键按下(SW2SW5),若无则继续右移,反之返回状态start并且对方得一分。当球移至REG17REG13,进入选手甲可接球区域:1当球移至REG13时选手乙及时击打相应开关SW6,则进入状态movetori

    11、ght,并调整球运行速度为快。REG14条件下类似。2当球移至REG15时选手乙及时击打开关SW4,则进入状态movetoright,并调整球运行速度为中。REG16,REG17条件下类似。附movetoright代码:WHEN movetoright=REGNST=movetoright;00000 IF HIT= THEN -开关及时关上 NST ELSE BIFEN2= BIFEN2+1; -若未及时关上,对方加分 END IF; NST IF HIT= THEN NST ELSE BIFEN2 END IF; THEN CONTROL=01;=movetoleft; ELSIF HIT

    12、(5)=1 THEN BIFEN1= BIFEN1+1;01000 IF HIT(4)= ELSIF HIT= WHEN 00100 IF HIT(3)= BIFEN1 NST ELSIF HIT=1000010 IF HIT(2)= END IF;00001 IF HIT= ELSE BIFEN1 END CASE;3主控时序进程:控制游戏使能及状态转换,具有异步清零功能。附代码:PROCESS (EN,RST,CLK) BEGIN IF EN = THEN IF RST= THEN ST ELSIF CLKEVENT and CLK=NST; END IF;END PROCESS;4译码进

    13、程:EN=0时显示学号;EN=1时将选手甲、乙的比分及比局变量译码转为七段数码管显示。并且当TEMP=0时,在数码管上显示游戏结束标志End。代码见附录。3.1.3 RTL图图 5 控制模块RTL图3.2 分频模块3.2.1 引脚功能表 2 分频模块引脚功能表FD内部50MHz时钟总使能开关SW1频率直接选择信号CONTROL速度控制频率选择信号out std_logicCLKOUT提供频率给GAME3.2.2 核心代码及解释1核心代码PROCESS(CLK,EN) VARIABLE temp1: integer range 999999 downto 0 :=0; -50Hz VARIABL

    14、E temp2: integer range 4999999 downto 0 : -10Hz VARIABLE temp3: integer range 8999999 downto 0 : -5.556Hz IF EN= if CLKEVENT AND CLK= IF temp1=999999 THEN temp1: Q1 = NOT Q1; ELSE=temp1+1; END if; IF temp2=4999999 THEN temp2: Q2 = NOT Q2;=temp2+1; IF temp3=8999999 THEN temp3: Q3 = NOT Q3;=temp3+1; e

    15、nd if; ELSE temp1:Q1 = temp2:Q2 temp3:Q3 CASE CONTROL IS WHEN 00 IF SW1= CLKOUT=Q1; ELSIF SW1=Q3;CLKOUTEND CASE;2解释该模块将内部时钟的50MHz信号,变为50Hz,10Hz,5.556Hz。内部变量分别为Q1、Q2、Q3,将根据GAME模块反馈的CONTROL选择输出到CLKOUT。初始条件下可直接通过SW1控制Q1、Q3输出到CLKOUT。3.2.3 RTL图图 6 分频模块RTL图第四部分 操作配图1、EN=0,显示学号图 7 显示学号153835、1538422、EN=1,初

    16、始状态,甲和乙比局和比分均为0。图8 初始状态3、EN=1,甲发球,SW17亮。图 94、EN=1,右移状态。图 105、EN=1,乙接球失败,乙发球情况。图 116、甲乙比局2:1,比分2:5情况显示如下。图177、游戏结束辅助显示如下。图12第五部分 结论4.1遇到的问题和改进问题1:在比赛结束时,比分比局迅速清零,无法使比分比局按我们的意志在某时刻清零。解决办法:增设辅助信号,当比赛结束时,使数码管在结束标志与比局之间切换显示,最后由人为的控制使能开关清零。问题2:无法按照在不同键接球改变球运行的速度。设一个反馈控制信号,将不同键接球信息反馈回分频模块里从而控制速度。4.2工作分配比例邢

    17、可馨:分频模块,按键击球以及比赛记分译码代码的设计与开发(55%)陈声琴:速度控制处理、状态机代码的设计与开发(45%)第六部分 附录一、分频模块代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FD IS PORT( EN: IN STD_LOGIC; CLK:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC; SW1: CONTROL:IN STD_LOGIC_VECTOR(1 DOWNTO 0) );END FD;ARCHITECTURE behav OF FD ISsignal Q1: STD_LOGIC;signal Q2:signal Q3:BEGIN -最快使比赛结束的速度 -接球加速后的速度 -正常发球速度 CASE CONTROL IS -使用反馈信号控制速度 END PROCESS;END behav;二、状态机、击球、比赛计分、译码控制模块LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSI


    注意事项

    本文(最新基于VHDL课程设计乒乓球游戏Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开