河北科技大学EDA课程设计报告Word文档格式.docx

上传人:b****2 文档编号:4350703 上传时间:2023-05-03 格式:DOCX 页数:9 大小:92.67KB
下载 相关 举报
河北科技大学EDA课程设计报告Word文档格式.docx_第1页
第1页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第2页
第2页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第3页
第3页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第4页
第4页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第5页
第5页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第6页
第6页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第7页
第7页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第8页
第8页 / 共9页
河北科技大学EDA课程设计报告Word文档格式.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

河北科技大学EDA课程设计报告Word文档格式.docx

《河北科技大学EDA课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《河北科技大学EDA课程设计报告Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。

河北科技大学EDA课程设计报告Word文档格式.docx

起止时间

2015年6月26日—7月2日

设计题目

打地鼠游戏设计

年月日

一、设计题目及要求……………………………3

二、系统结构框图………………………………3

三、状态流程图…………………………………4

四、程序清单……………………………………6

五、调试及仿真波形……………………………8

六、设计分工………………………………10

七、心得与体会………………………………10

八、参考文献………………………………12

一、设计题目及要求

1、功能:

由8只LED代表虫洞,8个按键代表打虫棒,虫子随机在8虫洞随机出现(LED亮)1s,1s按相应的虫棒即算打中地虫,得一分,按错或1S按过其他键或未按键即丢1分。

间隔2S出现下一只虫子。

10只虫算一关,打对十只算本关通过,重新从0积分,否则游戏结束。

2、要求:

上电时数码管显示“STAr--00”并闪烁,按“开始”键,进入第一局;

打关时数码管显示关数和分数;

过关时数码管显示“STAr--XX”并闪烁(XX为下一关数),按“开始”键,进入下一关;

每过一关,虫子出现的时间为上一关的3/4,共设计8关。

8关全过时显示“--end--”

3、发挥:

声效、过关音乐等。

二、系统结构框图

1.总系统框图

2.各个模块的功能描述

1)分数判断模块

判断选手得分或失分主要是由一个比较器完成的,将系统传给LED灯的信号与选手输入的信号作比较,相同则加分,否则扣分,这两个信号分别传给计分模块,从而完成系统判定得分的工作。

2)系统时钟模块

将部2MHz的时钟分频为1Hz、及游戏时钟,供以后程序适使用。

3)键盘电路

主要通过产生行扫描,来识别用户的按键,其提供给控制器按键的编码。

4)等级判断模块

判断等级,若游戏未开始时,将等级设为初始值,游戏开始后则判断每一等级是否按对次数是否大于按错次数,是责加分,否则相应减分。

并通过分数的正负进行等级的判断及变化。

5)随机数产生模块

为使得测试结果的公平性,需要L9-L16等灯亮灭具有随机性,因而需要随机数产生过程,在本课设中,采用伪随机数产生方法,即在ROM中存入随机表中的数据,游戏开始后采用一个计数器不断计数,并通过计数寻址,读出存储的随机数据,传送至灯进行显示。

6)显示模块

用来显示地虫的出现位置及各关、分数等

三、状态流程图

四、程序清单

libraryieee;

--蜂鸣器部分

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entitybellis

port(

clk1:

instd_logic;

--时钟信号输入

right,wrong:

--正确、错误脉冲输入

bellout:

outstd_logic--时钟驱动输出

);

endbell;

architecturefuncofbellis

signalcountr:

integerrange0to7;

--RIGHT时用于声音频率分频的计数器

signalcountw:

integerrange0to3;

--WRONG时用于声音频率分频的计数器

signalcounttime1,counttime2:

integerrange0to399;

--控制声音长短

signaloutr,outw,rf,wf:

std_logic:

='

0'

;

--正确输出、错误输出,时间标志

begin

process(right,clk1)

begin

if(right='

andrf='

)thenoutr<

--由right或rf启动驱动蜂鸣器

elsif(clk1'

eventandclk1='

1'

)then

if(countr=countr'

high)then

countr<

=0;

outr<

else

=countr+1;

endif;

if(counttime1=counttime1'

counttime1<

rf<

--达到发声时长,时间标志清零

elsecounttime1<

=counttime1+1;

endif;

endprocess;

process(wrong,clk1)

if(wrong='

andwf='

)thenoutw<

--由wrong或wf启动驱动蜂鸣器

if(countw=countw'

countw<

outw<

else

=countw+1;

endif;

if(counttime2=counttime2'

counttime2<

wf<

elsecounttime2<

=counttime2+1;

endprocess;

bellout<

=(outroroutw);

--由于right和wrong脉冲不会同时到来,可将outr和outw或后输出

endfunc;

五、调试及仿真波形

1.仿真波形

2.程序硬件调试

把实验箱串口插头与串口线(已经与pc机串口相连)联接

1)将程序正确下载到FPGA上,引脚绑定情况如下表:

信号名

对应器件名

管脚名

Clk1

石英晶振

79

Clk2

183

Sp

蜂鸣器

63

Start

按键K15

88

Reset

按键K16

89

a(7downto0)

按键K1,K2,K3,K4,K5,K6,K7,K8

64,65,67,68,69,70,

71,73

deng(7downto0)

Led灯L16、l15、L14、l13、L12、l11、L10、l9、

205、203、202、200、

199、198、197、196

y1(7downto0)

段码M4D、M4C、M4B、M4A、M3D、M3C、M3B、M3A

195、193、192、191

190、189、187、179

wei(7downto0)

位码M2D、M2C、M2B、M2A、M1D、M1C、M1B、M1A

177、176、175、174

173、172、170、169

2)点击start按钮K15灯亮,表示游戏开始,开始计分。

3)点击reset按钮K16灯亮,无论游戏从何处开始,都从第一关开始计分。

4)打地虫时蜂鸣器是否响起,过关时蜂鸣器是否响起。

观察是否能打地虫,打时是否有音效,打中或未打中是,看实验箱数码管的变化是否正确,过关后是否有音效。

六、设计分工

小组成员

主要负责模块

Hit部分

Bell部分

焦睿雄

Counter部分

吕晓丁

Kaishi部分

冠桥

Jihe部分

敦致远

总程序检验和连接试验箱验证

七、收获与体会

这次EDA课程设计历时一个星期,在这一个星期里可以说是苦多于甜,但是可以学到很多东西。

期间不仅巩固了以前学习的知识,而且还学到了很多书本上没有学过的知识。

而且通过这次课设,进一步加深了我们对EDA的了解,让我们对它有了更加浓厚的兴趣。

特别是当子模块调试成功时,心里特别的开心。

通过这次课设是我懂得了理论与实际相结合的重要性,只用理论知识是远远不够的。

只有把学到的理论知识和实践结合起来,从实践中得出结论才能真正体会到知识的妙用,从而提高自己的动手能力和独立思考问题解决问题的能力。

在实践中我们看到了自己的不足,同时通过学习我们掌握了很多新的知识。

总的来说这次课设设计的相当成功,我们不仅把基本部分做好,还把发挥全部做好了。

通过这几天的设计,终于完成了打地鼠设计,该设计让我们懂得了许多的东西,包括专业方面和学习方面的。

在系统设计上,我知道了要设计一个电子系统是要经过许多步骤,包括硬件和软件方面的知识;

在学习方面,让我懂得了学习要扎实。

一开始我们很简单的认为,只要把VHDL语言弄懂了就能轻松完成一个电子系统的设计,到了后来我才发现我们是错的,这里面包括要对整个系统做到完全的把握,包括每一个步骤,除此之外还要自学很多课上没有讲过的知识。

总之让我们明白了很多的东西,在该设计的过程中,感老师的细心帮助和指导。

参考文献

1巴里.威尔金森.《数字设计基础》.机械工业.2008.1

2黄继业.EDA技术实用教程(第三版).科学.2010.7

3美金.VHDL程序设计.清华大学.2011.3

4江思敏.VHDL数字电路及系统设计.机械工业.2006.8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

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

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