eda大作业(1)(1).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录一、课程设计任务及要求1二、总体电路设计2三、模块设计3四、管脚绑定7五、仿真及FPGA开发板调试8六、设计体会与小结11摘要:拔河游戏机由分频模块、按键扫描模块、计分模块、响铃模块、动态扫描模块、数码管选择模块以及译码模块组成,把输入20MHz时钟晶振信号分成合适频率的时钟输入进各个模块,开始游戏后,令双方按下按键,即可完成项目目标。该设计使用Verilog HDL语言,完成拔河游戏机的实现。实用软件有QuartusII 13和ModelSim-Altera10.1d,在其环境下进行代码的编写编译以及现象仿真,而后烧写到CycloneIVE EP4CE30F23C7 FPGA实验板中,经过测试之后最终完成拔河游戏机的基本要求。一、课程设计任务及要求设计任务:1)设计一个能进行拔河游戏的电路。2)电路使用8个(或7个)发光二极管,开机后只有中间两个(一个)发亮,此即拔河的中心点。3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。4)亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。5)用数码管显示获胜者的盘数。6)附加,亮点移动到任意一方终点时,蜂鸣器报警提醒。要求:1)全部使用Verilog HDL硬件描述语言编写。2)使用ModelSim-Altera软件进行仿真并对结果进行分析。3)分析预期现象与实际现象之间产生差别的原因。二、总体电路设计1、拔河游戏机总体设计思想:在20MHz的时钟信号作用下,经过分频模块分频成1KHz和10Hz的时钟信号,数码管动态扫描使用1KHz的频率,按键扫描使用10Hz的频率,通过按键扫描将双方的按键情况输入,并产生与之相对应晶体管亮点位置的位移,当位移至某一方的终点时,将按键使能端关闭,蜂鸣器报警开启,并使获胜方的分数加一,将分数通过译码在数码管上显示出来。可以通过游戏复位按键是晶体管亮点回到中心,通过分数复位按键使双方分数全部清零。2、总体电路组成CLK分频模块10Hz时钟1KHz时钟动态扫描模块按键扫描模块亮点移动计分数 码 管译码图2-1 拔河游戏机总体设计框图三、模块设计1、分频模块设计设计思路:由于FPGA芯片内部提供的时钟信号为20MHz,因此需要将其分频为10Hz,1KHz的信号,为后续的按键扫描,,蜂鸣器报警以及数码管动态扫描显示提供时钟脉冲激励。通过设置模计数器cnt1khz与cnt10hz,在20MHz时钟脉冲下计数,并将输出时钟翻转,最终输出的分别是1KHz,10Hz的时钟分别名为clk1khz与clk10hz。分频cnt1khz9999时翻转CLK20MHzcnt10hz999999时翻转图3-1 分频模块框图2、按键扫描与亮点位移模块设计设计思路:s1和s2是按键经过消抖后的输入变量,8位ledtemp是亮点当前位置的状态变量,初值t是亮点位移的中间变量初值为3即亮点处在中间。配合时钟脉冲,并且游戏使能端开启的情况下,当key1按下key2不按下时,t自减1,当key1不按下key2按下时,t自加1,其他情况t保持不变。而后用case语句对应不同的t给予不同的ledtemp值,例如t=1意味着亮点应该左移了两位,给ledtemp赋最后在always块之外用assign语句将ledtemp赋值给输出led。 clk10hzS1/S2为0/1不是S1/S2为1/0 是t = t - 1不是 是t保持原值t = t + 1tCase(t)ledtempled图3-2 按键扫描与亮点位移框图3、比赛计分以及游戏锁定模块设计思路:拔河游戏机在任意一方将亮点按动到自己那边终点后,所得分数就会加一,且此时按动游戏按键无效。按动按键使亮点到达终点时即t等于0或者等于6,0为左端终点,6为右端终点。故可以设定一个游戏使能变量k且赋初始值为1,计数使能变量j初始值为1,在k等于1时按键有效,然后每当t变化一次之后就对其进行判断,当t到达了0或者6,将游戏时能变量k置0,且对相应的分数变量left与right加一,并将计数使能变量j置0,同时在这之中放入BCD码转换模块,将二进制的left和right转换为十进制方便译码。 k=1扫描按键 不是 t变化t=0或t=6是t=0不是t=6 是 right=right+1k=0j=0left=left+1k=0j=0图3-3 比赛计分与游戏锁定框图4、获胜报警模块设计思路:在时钟脉冲激励下,检测并

文档评论(0)

ntls166 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档