EDA-Verilog拔河游戏机报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计(论文)任务书电气与电子工程学院电子信息工程专业2013-2班一、课程设计(论文)题目拔河游戏机二、课程设计(论文)工作自2015年12月28日起至2016年1月8日止。三、课程设计(论文)地点:电子测控实验室四、课程设计(论文)内容要求:1)课程设计任务:1)设计一个能进行拔河游戏的电路2)电路使用8个(或7个)发光二极管,开机后只有中间两个(或中间一个)发亮,此即拔河的终点。3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点就移动一次。4)亮点移动到任意一端的终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。5)用数码管显示获胜者的盘数。6)*在亮点移动到中端二极管是蜂鸣器报警一方获胜。2)课程设计论文编写要求(1)课程设计任务及要求(2)总体电路设计(3)模块设计---给出各个模块的详细设计思路(4)管脚绑定---列表或截图给出管脚绑定情况(5)仿真及FPGA开发板调试---给出运行仿真波形截图,分析运行结果。(6)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。(7)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(8)报告按规定排版打印,要求装订平整,否则要求返工;(9)课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)(10)严禁抄袭,如有发现,按不及格处理。EDA技术课程设计报告第2页3)课程设计评分标准:(1)学习态度:10分;(2)系统设计:20分;(3)代码调试:20分;(4)回答问题:20分;(5)论文撰写:30分。4)课程设计进度安排进度安排:本设计持续10天,其中最后一天为答辩时间。第1-2天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备;第3-4天:完成设计与验证方案,经指导老师验收后进入模块电路设计;第5-7天:完成模块电路设计,进行代码输入,并完成代码的初步仿真;第8-9天:代码功能仿真正确,约束设计,综合、下载,实现设计目标,并指导老师验收设计;整理设计资料,撰写报告、准备答辩;第10天:验收合格后进行答辩。学生签名:2015年12月28日课程设计(论文)评审意见(1)学习态度(10分):优()、良()、中()、一般()、差();(2)系统设计(20分):优()、良()、中()、一般()、差();(3)代码调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)论文撰写(30分):优()、良()、中()、一般()、差();评阅人:职称:2016年1月10日EDA技术课程设计报告摘要经过一个学期的EDA学习,要检验自己的学习效果,最好的方法就是课程设计。拔河游戏机是一个十分有趣的项目,不仅可以检验学习的情况,同时可以提高自己对EDA的兴趣。拔河游戏机由分频模块、按键扫描模块、计分模块、响铃模块、动态扫描模块、数码管选择模块以及译码模块组成,把输入20MHz时钟晶振信号分成合适频率的时钟输入进各个模块,开始游戏后,令双方按下按键,即可完成项目目标。本次项目设计使用VerilogHDL语言,完成拔河游戏机的设计。实用软件有QuartusII13和ModelSim-Altera10.1d,在其环境下进行代码的编写编译以及现象仿真,而后烧写到CycloneIVEEP4CE30F23C7FPGA实验板中,经过测试之后最终完成拔河游戏机的基本要求。关键字:VerilogHDL,QuartusII,FPGA,拔河游戏机EDA技术课程设计报告目录一、课程设计任务及要求..................................................................1二、总体电路设计..............................................................................2三、模块设计......................................................................................3四、管脚绑定......................................................................................7五、仿真及FPGA开发板调试..........................................................8六、设计体会与小结........................................................................11七、参考文献....................................................................................12EDA技术课程设计报告第1页一、课程设计任务及要求1、设计任务:1)设计一个能进行拔河游戏的电路。2)电路使用8个(或7个)发光二极管,开机后只有中间两个(一个)发亮,此即拔河的中心点。3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。4)亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。5)用数码管显示获胜者的盘数。6)附加,亮点移动到任意一方终点时,蜂鸣器报警提醒。2、要求:1)全部使用VerilogHDL硬件描述语言编写。2)使用ModelSim-Altera软件进行仿真并对结果进行分析。3)分析预期现象与实际现象之间产生差别的原因。EDA技术课程设计报告第2页二、总体电路设计1、拔河游戏机总体设计思想:在20MHz的时钟信号作用下,经过分频模块分频成1KHz和10Hz的时钟信号,数码管动态扫描使用1KHz的频率,按键扫描使用10Hz的频率,通过按键扫描将双方的按键情况输入,并产生与之相对应晶体管亮点位置的位移,当位移至某一方的终点时,将按键使能端关闭,蜂鸣器报警开启,并使获胜方的分数加一,将分数通过译码在数码管上显示出来。可以通过游戏复位按键是晶体管亮点回到中心,通过分数复位按键使双方分数全部清零。2、总体电路组成CLK图2-1拔河游戏机总体设计框图分频模块1KHz时钟10Hz时钟动态扫描模块按键扫描模块亮点移动计分译码数码管EDA技术课程设计报告第3页三、模块设计1、分频模块设计设计思路:由于FPGA芯片内部提供的时钟信号为20MHz,因此需要将其分频为10Hz,1KHz的信号,为后续的按键扫描,,蜂鸣器报警以及数码管动态扫描显示提供时钟脉冲激励。通过设置模计数器cnt1khz与cnt10hz,在20MHz时钟脉冲下计数,并将输出时钟翻转,最终输出的分别是1KHz,10Hz的时钟分别名为clk1khz与clk10hz。cnt1khz9999时翻转CLK20MHzcnt10hz999999时翻转图3-1分频模块框图2、按键扫描与亮点位移模块设计设计思路:s1和s2是按键经过消抖后的输入变量,8位ledtemp是亮点当前位置的状态变量,初值为00011000,t是亮点位移的中间变量初值为3即亮点处在中间。配合时钟脉冲,并且游戏使能端开启的情况下,当key1按下key2不按下时,t自减1,当key1不按下key2按下时,t自加1,其他情况t保持不变。而后用case语句对应不同的t给予不同的ledtemp值,例如t=1意味着亮点应该左移了两位,给ledtemp赋值01100000。最后在always块之外用assign语句将ledtemp赋值给输出led。分频clk1khzclk10hzEDA技术课程设计报告第4页clk10hz不是是不是是Case(t)图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转S1/S2为0/1t=t-1S1/S2为1/0t=t+1t保持原值tledtempledEDA技术课程设计报告第5页换为十进制方便译码。k=1不是t变化是不是t=6是图3-3比赛计分与游戏锁定框图4、获胜报警模块设计思路:在时钟脉冲激励下,检测并判断t的值,若t等于0或6,蜂鸣器变量ring置1,是蜂鸣器报警。clk1khz是图3-4获胜报警模块框图扫描按键t=0或t=6t=0left=left+1k=0j=0right=right+1k=0j=0t=0或t=6ring=1ring保持EDA技术课程设计报告第6页5、动态扫描、数码管选择与译码模块设计思路:通过绑定三个通选信号,对8个数码管进行扫描。在代码中设定输出q以及与其对应的中间变量qtemp,赋予初值为0,令其在1KHz的时钟下自加一,而当其等于7时置零。选择译码管使用case语句,在q所对应的数码管上赋予希望输出的值,即可完成选择。Case语句对应相应数字的段码完成译码。1khz时钟qtemp=0不是是图3-5动态扫描模块框图6、按键消抖模块设计思路:按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。所以在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象我们需要将其消抖。不断地检测输入信号,与上个及上上个信号进行或运算,除非连续出现三个低电平才能说出现下降沿认为是按键按下。qtemp=qtemp+1qtemp=7qtemp=0EDA技术课程设计报告第7页四、管脚绑定表一管脚绑定NodeNameDirectionLocationaoutputPIN_W10boutputPIN_V10coutputPIN_U10doutputPIN_T10eoutputPIN_V11foutputPIN_U11goutputPIN_T11led[7]outputPIN_U8led[6]outputPIN_AB8led[5]outputPIN_U7led[4]outputPIN_V7led[3]outputPIN_W7led[2]outputPIN_Y7led[1]outputPIN_AA7led[0]outputPIN_AB7RingoutputPIN_A20q[2]outputPIN_AA8q[1]outputPIN_Y10q[0]outputPIN_AA10clkinputPIN_G22key1inputPIN_E12key2inputPIN_E13rst_ninputPIN_T2rsts_ninputPIN_T1EDA技术课程设计报告第8页1、abcdefg为数码管输出段码。2、8位led对应8位发光二极管。3、Ring为对应蜂鸣器。4、3位q为数码管通选信号。5、clk绑定20MHz时钟。6、key1、key2为双方玩家输入按键。7、rst_n、rsts_n分别为发光二级管与游戏使能端的复位以及游戏分数清零的按钮。五、仿真及FPGA开发板调试1、rst_n对使能端的复位在rst_n一开始为高电平时,j、k、t变量没有给赋值所以为高阻态,而当rst_n复位为低电平之后就对他们进行了赋值,使三个变量j=1、k=1

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功