Verilog HDL项目设计报告--拔河游戏机

Verilog HDL项目设计报告--拔河游戏机

ID:35208310

大小:484.97 KB

页数:22页

时间:2019-03-21

Verilog HDL项目设计报告--拔河游戏机_第1页
Verilog HDL项目设计报告--拔河游戏机_第2页
Verilog HDL项目设计报告--拔河游戏机_第3页
Verilog HDL项目设计报告--拔河游戏机_第4页
Verilog HDL项目设计报告--拔河游戏机_第5页
资源描述:

《Verilog HDL项目设计报告--拔河游戏机》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、河海大学物联网工程学院VerilogHDL项目设计报告题目拔河游戏机专业电子科学与技术学号1562910123、1562910125授课班号6292758学生姓名徐子豪、杨诗欣指导教师华迪、齐本胜4摘要和关键字为了掌握数字系统的设计方法,掌握硬件描述语言——VerilogHDL,掌握模块化设计方法,掌握开发软件的使用方法。选择基于FPGA开发板设计的拔河游戏机,使用两个按键进行比赛,利用按键按下的快慢作为模拟的双方选手拔河过程,led灯的变化决定绳子的位置,led灯到了一边以后比赛终止,整个过程的难点在于,需要过滤信号

2、,使按键产生的信号稳定,所以程序中需要有按键消抖模块,同时需标识符来控制比赛的开始与结束。关键词:verilog拔河比赛消抖模块标识符Inordertomasterthedesignmethodofdigitalsystem,wemustmasterthehardwaredescriptionlanguage--VerilogHDL,graspthemodulardesignmethodandmasterthewayofdevelopingsoftware.ChoiceTugofwargameFPGAdevelopme

3、ntboardbasedonthedesign,theuseoftwobuttongame,usingkeypressspeedasboth4playerstugofwarofsimulation,changeledlampdecidethepositionoftherope,LEDlightstothesideaftertheendgame,thedifficultyliesinthewholeprocess,needtofilterthesignal,thestablesignalgeneratedbythekey

4、sso,theprocedurerequiresakeydebouncemodule,alsoneedtocontrolthegame'sidentifierandendstart.Keywords:Verilogtugshake-offmoduleidentifier.一、系统设计1.实验要求设计拔河游戏电路,用按键与LED表示输入与输出。(1)初始时,16个LED中间的两个点亮,然后游戏双方不停按动按键,点亮的两个LED向按动按键慢的一方移动;(2)每按动一下按键,LED向对方移动一格;(3)只要LED移动到头,游

5、戏结束;(4)工作时钟100Hz即可;(5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。2.方案对比4脉冲信号方案:在选定一定的时间周期内,检测按键A与按键B的产生的脉冲个数,进行比较,若A的脉冲数量大于B,则Led向A方向移动,反之则向B方向移动,若相等则不动。4消抖模块方案给所定按键两个状态,一个前状态,一个后状态,当时钟时钟的脉冲沿来临时,将按键状态赋值给前状态,设置定时器,当计数计满后,前状态值赋给后状态,按键输出值为前状态和后状态的取反的并。此方案当一

6、直按住按键时,按键电平信号一直为高,取反后的变为低,可以避免一直按住而直接比赛结束的特殊情况。3.系统框图译码模块Led移动比较模块按键模块消抖模块时钟分频22由分频后的时钟信号模块控制按键信号模块,之后进入比较模块,若A的脉冲数大于B,则Led向A代表方向移动,反之则向B代表方向移动,若相等则不动。由Led的位置决定使能端的开启与关闭,若移动至A或B的顶端,则使能端控制Led无法再移动。4.代码设计和说明(1)对于输入端口输出端口的定义,和寄存器,线网型变量的,以及计数常量的定义moduleproject_ba(Cl

7、k,Rst_n,KEY1,KEY2,LED);inputClk;inputRst_n;inputKEY1;inputKEY2;//定义输入output[15:0]LED;//定义输出22reg[27:0]Cnt;regClk_100hz;regen;regKey1_n;regKey1_n_reg;regKey2_n;regKey2_n_reg;reg[3:0]t;reg[15:0]led;wirekey1,key2;parameterCNT=28'd49_999;(2)分频模块,将Basys3的100M系统时钟分频成为

8、周期为10ms,100Hz频率always@(posedgeClkorposedgeRst_n)beginif(Rst_n)beginCnt<=28'd0;Clk_100hz<=0;endelseif(Cnt==CNT)beginCnt<=28'd0;Clk_100hz<=~Clk_100hz;endelseCnt<=Cnt+1'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。