数字电子技术基础课程设计报告.docx
- 文档编号:8895129
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:13
- 大小:3.84MB
数字电子技术基础课程设计报告.docx
《数字电子技术基础课程设计报告.docx》由会员分享,可在线阅读,更多相关《数字电子技术基础课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
数字电子技术基础课程设计报告
课程设计报告
题目
冒险游戏有限状态机设计
授课教师
课程助教
课程代码
教学班
学年度
成绩比例
综合评价(助教)
向乾尹
曾思杰
3045600
2
2015-2016(A)
10%
项目分工情况说明(学生填写)
姓名
学号
班级
在课题中的分工与贡献(100字内)
组长
侯正罡
2014112208
软件四班
word,状态图,状态表
组员1
朱秀林
2014112207
软件四班
代码编写及检验
组员2
张严
2014112209
软件四班
上机实验,仿真,照相,摄像
组员3
张翔
2014112216
软件四班
电路图建立与矫正
报告正文
一、状态机理论设计
1.RoomFSM完整的状态转移图(状态转移图要求用visio画出,可直接拷贝到word中。
必须图文并茂,对补充的内容进行阐述说明)
2.状态转换表
ROOMFSM状态表
输入
现态
次态
输出
reset
n
s
e
w
v
Sn
Sn+1
cc
tt
rr
ss
dd
vv
gg
sw
1
×
×
×
×
×
000
000
1
0
0
0
0
0
0
0
0
×
×
0
×
×
000
000
1
0
0
0
0
0
0
0
0
×
×
1
×
×
000
001
0
1
0
0
0
0
0
0
0
×
0
×
0
×
001
001
0
1
0
0
0
0
0
0
0
×
0
×
1
×
001
000
1
0
1
0
0
0
0
0
0
×
1
×
0
×
001
010
0
0
1
0
0
0
0
0
0
×
1
×
1
×
001
001
0
1
0
0
0
0
0
0
0
0
×
0
0
×
010
010
0
0
1
0
0
0
0
0
0
0
×
0
1
×
010
011
0
0
0
1
0
0
0
1
0
0
×
1
0
×
010
100
0
0
0
0
1
0
0
0
0
0
×
1
1
×
010
010
0
0
1
0
0
0
0
0
0
1
×
0
0
×
010
001
0
1
0
0
0
0
0
0
0
1
×
0
1
×
010
010
0
0
1
0
0
0
0
0
0
1
×
1
0
×
010
010
0
0
1
0
0
0
0
0
0
1
×
1
1
×
010
010
0
0
1
0
0
0
0
0
0
×
×
0
×
×
011
011
0
0
0
1
0
0
0
1
0
×
×
1
×
×
011
010
0
0
1
0
0
0
0
0
0
×
×
×
×
0
100
101
0
0
0
0
0
0
1
0
0
×
×
×
×
1
100
110
0
0
0
0
0
1
0
0
0
×
×
×
×
×
111
000
1
0
0
0
0
0
0
0
SWORDFSM状态表
输入
现态
次态
输出
reset
sw
Sn
Sn+1
v
1
×
0
0
0
0
0
0
0
0
0
1
0
1
1
0
×
1
1
1
0
×
1
1
1
注:
注意列表时未涉及的状态可不列,以减小表格规模!
3.状态编码方案及状态转换真值表
将cc,tt,rr,ss,dd,vv,gg,sw换为Q[7:
0],
4.触发器激励方程、输出方程,自启动能力及误输出检查更正
输出方程:
Q[7]=
+
Q[6]=
Q[5]=
Q[4]=
Q[3]=
Q[2]=
Q[1]=
Q[0]=
当进入不存在状态
时会自动恢复原始状态,输出以Q[7](cc)为高位转化为十进制输出,只要进入有剑房间,Q[0](sw)输出为1,那么第二个原件的输出v会一直为1,直到使能端r为高位
当输入两个及两个以上的方向时,若其中只有一个有效方向则向这个方向行走,若有两个及两个以上有效方向则不动
二、电路设计(此部分默认要求是用D触发器和逻辑门在Quartus中进行电路设计,也可用VERILOGHDL进行编程设计)
moduleRoom(
inputclk,n,s,e,w,v,r,
outputreg[7:
0]cout
);
reg[2:
0]Q;
always@(posedgeclk)
begin
if(Q==7)
begin
cout<=128;
Q<=0;
end
if(r)
begin
Q<=0;
cout<=128;
end
elseif(e==0&&Q==0)
begin
cout<=128;
Q<=0;
end
elseif(e==1&&Q==0)
begin
cout<=64;
Q<=1;
end
elseif(s==0&&w==1&&Q==1)
begin
cout<=128;
Q<=0;
end
elseif((s+w==0||s+w==2)&&Q==1)
begin
cout<=64;
Q<=1;
end
elseif(s==1&&w==0&&Q==1)
begin
cout<=32;
Q<=2;
end
elseif(n==1&&w+e==0&&Q==2)
begin
cout<=64;
Q<=1;
end
elseif(n+e==0&&w==1&&Q==2)
begin
cout<=17;
Q<=3;
end
elseif(n+w==0&&e==1&&Q==2)
begin
cout<=8;
Q<=4;
end
elseif(Q==2)
begin
cout<=32;
Q<=2;
end
elseif(e==1&&Q==3)
begin
cout<=32;
Q<=2;
end
elseif(e==0&&Q==3)
begin
cout<=17;
Q<=4;
end
elseif(v==1&&Q==4)
begin
cout<=1;
Q<=5;
end
elseif(v==0&&Q==4)
begin
cout<=0;
Q<=6;
end
end
endmodule
三、仿真验证与引脚分配(图文并茂,要有分析/说明)
1.仿真激励设计说明
按照路程设计,依次输入东、南、西、东、东,输出仿真结果。
2.仿真结果
3.FPGA引脚分配图
4.实测照片
四、总结、心得与建议
通过这次课程设计,我学到了好多东西。
首先是加深了对课本基础知识的理解,其次,通过查阅相关书籍,上网搜索相关资料。
拓展了自己的知识范围。
当然,在设计电路过程中也会遇到一些麻烦,比如刚开始时,没有考虑到如何处理错误信号,在仿真是,有输入,没有输出信号,在实践时,引脚锁反了,没有输出信号,小灯没有亮。
不过,解决问题过程让能我更好的学习。
在本次课程设计中,我对于数字、模拟电路的综合运用有了更深一步理解,同时提高了实践动手能力。
课程设计给我们提供了一个宝贵的机会,理论用于实践,从设计、仿真、安装调试,每一步的进行,都受益匪浅。
而这其中许多的实践经验是我们在课本上学不到的,必须经过这样严格的自己动手,才能从中体会出设计成果的喜悦。
理论知识总是要用于实践中才能得以升华,我们应该更多地参与实践,以增强对于知识的理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子技术 基础 课程设计 报告