EDA小游戏(17页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《EDA小游戏(17页).doc》由会员分享,可在线阅读,更多相关《EDA小游戏(17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-EDA小游戏-第 17 页EDA技术课程设计报告设计名称: EDA课程设计设计题目: 经典数字游戏过河专业:电子信息工程专业 班级:0学生姓名 学号:指导老师题目:基于FPGA的经典数字游戏过河的设计摘要:基于FPGA的洗衣机控制器设计,主要通过使用VerilogHDL语言,在Quartus2上完成电路设计以及程序开发模拟,实现经典的猫狗鼠过河游戏。本设计硬件主要5个按键10个LED灯以及2个数码管;软件设计时采用有限状态机来实现,设置了十个状态,由玩家输入的按键值来决定状态之间的转换。全部程序由控制器模块,分频模块,按键去抖模块,控制模块,十进制转换模块组成,顶层模块使用原理图实现,底层由
2、Verilog HDL语句实现。在编程之后还进行了功能仿真,给出了仿真的结果以及仿真图。并对本次设计的完成情况进行了系统性的总结。关键字:FPGA,Quartus2,Verilog HDL语言,过河,状态机目录一、系统设计3 1 设计要求3 2 总体设计方案3 (1) 设计思路3 (2) 系统组成3二、单元硬件电路设计4 1 键盘去抖模块4 2 显示模块4 3 状态控制模块4三、软件设计4 1 状态控制模块程序设计5 2 按键去抖程序设计5 3 时钟分频模块程序设计64 十进制转换模块程序设计6四、系统仿真测试6 1 洗衣机模块仿真6 2 控制模块仿真6 3 按键去抖模块仿真7 4 分频模块仿
3、真7五、编译下载调试8六、总结12附录:附录一 电路原理图13附录二 管脚定义13附录三 程序代码14一、系统设计1、设计要求一个人将一只狗、一只猫和一只老鼠渡过河的经典游戏用模块实现; 游戏要求:独木舟1次只能装载人和1只动物,且猫狗、猫鼠不能友好相处,设计过河方案,将三只动物安全渡过河,则游戏胜利结束。 1、用LED以适当的方式表示各种动物、河和独木舟以及过河的动作; 2、以数码管显示完成游戏所经历的过河次数; 3、调置复位键,当游戏失败后,以LED显示或数码管显示E等方式来表示此时程序挂起,俺复位键课重新开始新一轮游戏。2、总体设计方案1、设计思路本课程设计需要使用Verilog HDL
4、 语言编程,实现经典的猫狗鼠过河游戏。设计时采用有限状态机来实现本游戏。本设计硬件主要有5个按键10个LED灯以及2个数码管;5个按键用来玩家输入以及复位按键,10个LED分别用来显示河对岸状态与进行过河状态以及输赢的情况;2个数码管用来显示玩家所经历的过河次数。题目要求设计一个过河游戏电路,实现游戏实现状态的控制。1. 状态控制模块基本实现要求功能,包括LED输出、数码管显示次数。2. 分频模块实现从高频向低频转换,供控制模块等使用3按键去抖模块,实现对按键的去抖功能。4. 状态控制模块控制各种状态间转换5. 十进制转换模块,因为实验箱自带显示译码,所以省掉数码管模块。6. 定义管脚,最终能
5、在试验箱上显示结果2、系统组成过河游戏电路主要由状态控制模块,时钟分频模块,按键去抖模块,计数模块,十进制转换模块组成。如图1-1所示时钟分频模块(产生50HZ信号)键盘去抖模块(5个按键的输入)状态控制模块以及计数模块数码管显示步数十进制转换模块LED显示图1-1二、单元硬件电路设计1、按键去抖模块 设有5个按键:一个复位键,四个过河状态控制的按键,表示正在过河的才做过程。2、显示模块 设有10个LED灯,2个数码管。LED灯中分两部分,LED0-LED3中四个表示河对岸的状态,一个表示是否错误,一个表示是否游戏成功;LED8-LED11中四个表示另一岸的状态(guo he zhuang t
6、ai?)。2个数码管显示游戏所用步数。3、状态控制模块模块是以一片altera公司的Cyclone2系列FPGA为主体,配合一些外围电路实现的。Cyclone2 系列FPGA采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone II 器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。三、软 件 设 计 采用Quartus2作为开发工具对可编程逻辑器件
7、FPGA的编程,底层由Verilog HDL语句实现,顶层使用原理图实现。软件设计由状态控制模块,时钟分频模块,按键去抖模块,十进制转换模块四部分组成,由于输入时钟为50MHZ,因此使用分频模块输出50HZ的方波,给控制模块提供信号,控制模块输出的计数输入给数码管显示译码模块,按键消抖模块的作用是为了消除按键抖动而设立的。1、主控制模块程序设计状态控制模块采用有限状态机实现对过河游戏状态的控制。具体如下S状态表示河对岸的各状态,共十一个状态,包括一个错状态,K表示按键所给条件,表示正在过河的各种情况.我们采用led灯来表示过河的状态。如当ren he猫在河对岸,我们记为(1010),猫在河对岸
8、时我们记为(0010),同理一共有10个允许出现的状态,还包括一个错误的状态。状态有:S0=(0000) S1=(1010) S2=(0010) S4=(1110) S5=(0100) S6=(0001) S7=(1101) S8=(0101) S9=(1111) S10错误状态同状态一样设置K1=(1000)表示人单独运动, K2=(1100)表示人和狗一起运动, K3=(1010)表示人和猫一起运动,K4=(1001)表示人和鼠一起运动。 当输出最终为(1111)是游戏一胜利而告终。状态转换示意图如3-1下S0S1S2S4S3S6S5S7S8S9K3K1K4K2K1K3K2K4K1K3图3
9、-12、按键去抖程序设计在进行独立按键或者矩阵式按键的设计的时候,我们在按下键盘的时候其实并不只是按下去有一个抖动的过程,就连松手的过程也有抖动,然而这个抖动通常被人们所忽略,从而导致输入数据的错误和乱码,因此我们必须对按键进行按键的消抖处理。FPGA的Verilog HDL语言是硬件描述语言,主要运用了状态机和延时的消抖方式。3、时钟分频模块程序设计该模块通过输入的clock信号(50MHZ)分频后得到50HZ供给控制模块,通过两个1000分频输出50HZ的时钟信号,提供给其余各个模块。4、十进制转换模块程序设计该模块主要是为了实现将系统中二进制数转换为十进制数分别显示在数码管中表示游戏行走
10、的步数,由于数码管系统自行译码为4为位二进制数,从而使得一个数码管显示十六进制数。四、系统仿真测试1状态控制模块仿真 如下图4-1out_n表示按键的次数,ledout表示4个led输出的状态,最开始7个按键顺利完成游戏,ledout输出15即(1111),outdata表示胜利,此时输出为1。按下复位键后状态清零,游戏重新开始,当按下key2是游戏失败outdata2表示游戏失败输出1.图4-12. 十进制模块仿真 如图4-2图4-2输入24,十位是nsouta输出2,各位osoutb输出4.3时钟分频模块仿真 如图4-3图4-3(由于分频数较大,所以输入信号显得过于密集)输入时钟信号的频率
11、为输出信号的100倍。4. 按键去抖模块仿真 如图4-4图4-4通过计数使得按键带到一定时间后输出一个周期的脉冲。五、编译下载调试图5-1左边两排led灯,上面一排表示河对岸,初始状态为s0(0000),下面的是此案状态值正好与对岸相反(1111)。右上角两个显示为00的数码管表示游戏进行的步数即按键的次数。F1是复位键,F2是表人单独运动的键,F3表示人和狗运动,F4表示人和猫运动,F5表示人和鼠一起运动。图5-2游戏正在顺利进行,尚未出错,已运行3步图5-3游戏失败,上面一排的第7个led灯亮,表示游戏失败。图5-4上面一排led前四个全亮表示人狗猫鼠已经到达河对岸,下面的全灭,第一排最右
12、边的led灯亮表示游戏成功,数码管显示7步完成游戏附录附录一:顶层文件图 如图附录二:管脚定义 Node namedirectionlocationgroupI/O bankVref groupI/O standardCrruent strength(24mA)clkInputPIN_P256B6_N024mAkey1InputPIN_AA108B8_N124mAkey2InputPIN_AB108B8_N124mAkey3InputPIN_AE68B8_N124mAkey4InputPIN_V226B6_N124mAledout0OutputPIN_AE8Ledout3.08B8_N024m
13、Aledout1OutputPIN_W12Ledout3.08B8_N024mAledout2OutputPIN_W11Ledout3.08B8_N024mAledout3OutputPIN_AC10Ledout3.08B8_N024mAnsouta0OutputPIN_AD21Nsouta3.07B7_N024mAnsouta1OutputPIN_AF22Nsouta3.07B7_N024mAnsouta2OutputPIN_AE22Nsouta3.07B7_N024mAnsouta3OutputPIN_V18Nsouta3.07B7_N024mAnsoutb0OutputPIN_AB21N
14、soutb3.07B7_N024mAnsoutb1OutputPIN_AD23Nsoutb3.07B7_N024mAnsoutb2OutputPIN_AD22Nsoutb3.07B7_N024mAnsoutb3OutputPIN_AC21Nsoutb3.07B7_N024mAoutdataOutputPIN_AA118B8_N124mAoutdata2OutputPIN_AF78B8_N124mArstInputPIN_Y118B8_N124mAshow10OutputPIN_U21Show13.06B6_N024mAshow11OutputPIN_U20Show13.06B6_N024mAs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 小游戏 17
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内