西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计

上传人:第*** 文档编号:55671536 上传时间:2018-10-03 格式:DOCX 页数:16 大小:1.56MB
返回 下载 相关 举报
西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计_第1页
第1页 / 共16页
西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计_第2页
第2页 / 共16页
西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计_第3页
第3页 / 共16页
西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计_第4页
第4页 / 共16页
西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计》由会员分享,可在线阅读,更多相关《西南交大-数字电子技术-课程设计-冒险游戏有限状态机设计(16页珍藏版)》请在金锄头文库上搜索。

1、数字电子技术数字电子技术 AA 课程设计报告课程设计报告 题目题目冒险游戏有限状态机设计冒险游戏有限状态机设计 授课教师授课教师课程助教课程助教课程代码课程代码教学班教学班学年度学年度成绩比例成绩比例综合评价(助教)综合评价(助教) 向乾尹曾思杰 304560022015-2016(A)10% 项目分工情况说明(学生填写)项目分工情况说明(学生填写) 姓名姓名学号学号班级班级 在课题中的分工与贡献在课题中的分工与贡献 (100100 字内)字内) 组长组长汤朋 2014112217 软件四班 电路设计+仿真验证+引脚分配 +下载开发板验证 组员组员 1 1单源超 2014112212 软件四班

2、 录制视频+ppt 制作+实测照片 组员组员 2 2朱浩楠 2014112219 软件四班 画状态转移图+状态转换表+写 总结心得与建议 组员组员 3 3马昊 2014112210 软件四班 状态编码+状态机的激励方程、 输出方程+检查自启动能力、输 出信号、误输出等 报告正文报告正文 格式注意:正文字体为宋体小四,行距 1.25,段落设置首行缩进 2 个字符。 一、状态机理论设计一、状态机理论设计 1. Room FSM 完整的状态转移图(完整的状态转移图(状态转移图要求用状态转移图要求用 visio 画出,可直接拷贝到画出,可直接拷贝到 word 中。必须中。必须 图文并茂,对补充的内容进

3、行阐述说明图文并茂,对补充的内容进行阐述说明) 1.ROOM 状态图 2.SWORD 状态图 2. 状态转换表状态转换表 ROOM FSM 状态表状态表 输入输入 现现 态态 次次 态态 输出输出 resetnsewvSnSn+1ccttrrssddvvggwindeadsw 1xxxxxcccc1000000000 00010xcctt0100000000 00100xttrr0010000000 000010rrss0001000001 000101ssrr0010000000 000101rrdd0000100100 000100rrdd0000100010 00001xttcc1000

4、000000 01000xrrtt0100000000 000011rrss0001000000 000000ddgg0000001010 000001ddvv0000010100 SWORD FSM 状态表状态表 注:注意列表时未涉及的状态可不列,以减小表格规模! 3. 状态编码方案及状态转换真值表状态编码方案及状态转换真值表 采用采用“一对一一对一”编码方案。以编码方案。以 7 7 个个 D D 触发器表示状态,现态为触发器表示状态,现态为 Q Q6 6n n,Q Q5 5n n,Q Q 4 4n n ,Q,Q3 3n n,Q,Q2 2n n,Q Q1 1n n,Q Q0 0n n 输输

5、入信号为入信号为 resetreset,n n,s s,w w,e e,v v。次态为。次态为 Q Q6 6n+1 n+1( (cccc),),Q Q5 5n+1 n+1( (tttt),), Q Q4 4n+1 n+1( (rrrr) ,Q Q3 3n+1 n+1( (ssss) ,Q Q2 2n+1 n+1( (dddd),),Q Q1 1n+1 n+1( (vvvv),),Q Q0 0n+1 n+1( (gggg)。)。winwin,deaddead,swsw 作为输出。作为输出。 列出状态转换真值表如下列出状态转换真值表如下 4. 触发器激励方程、输出方程,自启动能力及误输出检查更正触

6、发器激励方程、输出方程,自启动能力及误输出检查更正 得到 7 个 D 触发器的激励方程组 D6=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w +reset D5= Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w + Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w D4=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w+ Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v D3=Q6n Q5n Q4n Q3n Q2n

7、Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3nQ2n Q1n Q0n reset n s e w v D2=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3nQ2n Q1n Q0n reset n s e w v D1=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3nQ2n Q1n Q0n reset n s e w v D0=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v 输出方

8、程为 win=Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3nQ2n Q1n Q0n reset n s e w v dead= Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v+ Q6n Q5n Q4n Q3nQ2n Q1n Q0n reset n s e w v sw= Q6n Q5n Q4n Q3n Q2n Q1n Q0n reset n s e w v 有效编码状态有:有效编码状态有:10

9、000001000000、01000000100000、00100000010000、00010000001000、00001000000100、00000100000010、0000001.0000001. 其他无效编码要么为全其他无效编码要么为全 0 0 要么至少含有两个要么至少含有两个 1 1,当进入无效态时,根据输出方程可以看出,当进入无效态时,根据输出方程可以看出,winwin = = 0 0 ,dead,dead = = 0 0 , , swsw = = 0,0,所以没有误输出。然而当状态进入所以没有误输出。然而当状态进入 00000000000000 时,时,D D6 6D D5

10、 5D D4 4D D3 3D D2 2D D1 1 D D0 0 全 全 为为 0 0,不具备自启动能力,所以我们通过将,不具备自启动能力,所以我们通过将 resetreset = = D D6 6+D+D5 5+D+D4 4+D+D3 3+D+D2 2+D+D1 1+D+D0 0 的当进入全 的当进入全 0 0 状状 态时,态时,resetreset 为为 1 1,重置为初始态。而其他态至少有两个,重置为初始态。而其他态至少有两个 1 1,进入这些状态后,在下一个时钟沿,进入这些状态后,在下一个时钟沿 后都进入全后都进入全 0 0 态态( (在在 VerilogVerilog 中通过中通过

11、 casecase 中的中的 defaultdefault 语句实现语句实现) ),最后进入初始态。所以此时,最后进入初始态。所以此时 就具备了自启动能力。就具备了自启动能力。 2 2、电路设计电路设计(此部分默认要求是用此部分默认要求是用 D 触发器和逻辑门在触发器和逻辑门在 Quartus 中进行电路设计,也可用中进行电路设计,也可用 VERILOG HDL 进行编程设计进行编程设计) ROOMROOM FSMFSM module T175066(input clk ,n,s,e,w,v,reset,output reg cc,tt,rr,ss,dd,vv,gg,win,dead,sw);

12、 reg6:0 temp ; integer flag = 0; initial begin cc = 1b1; tt = 1b0; rr = 1b0; ss = 1b0; dd = 1b0; vv = 1b0; gg = 1b0; win = 1b0; dead =1b0; sw = 1b0; temp = cc,tt,rr,ss,dd,vv,gg; end always (posedge clk) begin if(reset) begin cc = 1b1; tt = 1b0; rr = 1b0; ss = 1b0; dd = 1b0; vv = 1b0; gg = 1b0; win =

13、 1b0; dead = 1b0; sw = 1b0; temp = cc,tt,rr,ss,dd,vv,gg; end else begin case(temp) 7b1000000: if(e) begin cc = 1b0; tt = 1b1; end else; 7b0100000: if(w) begin cc = 1b1; tt = 1b0; end else if(s) begin tt = 1b0; rr = 1b1; end else ; 7b0010000: if(n) begin tt = 1b1; rr = 1b0; end else if(e) begin dd =

14、1b1; rr = 1b0 ; end else if(w) begin ss = 1b1; rr = 1b0; sw = 1b1;end else ; 7b0001000: if(e) begin ss = 1b0; rr = 1b1; end else ; 7b0000100: if(v) begin vv = 1b1; dd = 1b0; win = 1b1; dead = 1b0;end else begin gg = 1b1; dd = 1b0; win = 1b0; dead = 1b1;end 7b0000010: begin win = 1b1; dead = 1b0; end

15、 7b0000001: begin win = 1b0; dead = 1b1; end default: flag = 1; endcase temp = cc,tt,rr,ss,dd,vv,gg; end if(flag = 1) begin temp = 0; flag = 0; end if(temp = 0) reset = 1; end Endmodule SWORDSWORD FSMFSM module N175066(output reg v,input sw,reset,clk); always (posedge clk) begin if(reset) v = 1b0; e

16、lse if(sw) v = 1b1; else v = 1b0; end endmodule 三、仿真验证与引脚分配三、仿真验证与引脚分配(图文并茂,要有分析图文并茂,要有分析/说明说明) 1. 仿真激励设计说明仿真激励设计说明 1 通过 reset1、reset2 置为 1,初始化所有状态。 2 初始化处于 cc(洞穴)(cc 为 1,其他位置都为 0),然后置 e 为 1,向东走到 tt(隧 道)(tt 为 1,其他为 0,以下类似,不再累赘)。 3 再向南走 s = 1,到达 rr(河流)。 4 如果再向东走(e = 1)没有拿到宝剑(sw = 0),到达 dd(龙穴),由于 v = 0 则玩 家被杀死扔到 gg(墓地),win = 0 ,dead = 1,游戏结束。如下图一所示。 5 如果向西走(w = 1),到达 ss(剑阁)获得宝剑(sw

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号