使用ModelSim自动生成状态机FSM的状态转换图.docx

上传人:lao****ou 文档编号:796899 上传时间:2024-05-26 格式:DOCX 页数:6 大小:125.64KB
下载 相关 举报
使用ModelSim自动生成状态机FSM的状态转换图.docx_第1页
第1页 / 共6页
使用ModelSim自动生成状态机FSM的状态转换图.docx_第2页
第2页 / 共6页
使用ModelSim自动生成状态机FSM的状态转换图.docx_第3页
第3页 / 共6页
使用ModelSim自动生成状态机FSM的状态转换图.docx_第4页
第4页 / 共6页
使用ModelSim自动生成状态机FSM的状态转换图.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《使用ModelSim自动生成状态机FSM的状态转换图.docx》由会员分享,可在线阅读,更多相关《使用ModelSim自动生成状态机FSM的状态转换图.docx(6页珍藏版)》请在第一文库网上搜索。

1、使用Mode1Sim自动生成状态机FSM的状态转换图HD1代码设计中重要的内容之一就是设计程序的状态机FSM,状态转换控制着整个程序的流程,为了理解程序,我们经常需要把状态机的状态转换图画出来,这样看起来很直观,但是,有没有办法自动生成状态转换图呢?在ISE或者MOde1迎中有没有这样的工具呢?答案是肯定的,Mode1Sim中即有这样的工具,下面以ISE13.4和Mode1Sim6.5为例,使用一段最简单的状态机代码说明如何操作来自动生成状态转换图。代码如下:modu1eTop_fsm(inpute1k,inputrst,outputregfsm_out);parameterID1E=3,d,

2、S1=3,d1,S2=3,d2,S3=3,d3,S4=3,d4,S5=3d5;reg2:0status;a1ways(posedgee1k)if(!rst)beginstatus=ID1E;ende1sebegincase(status)ID1Eibeginfsm_out=1b;status=S1;endS1ibeginfsm_out=1,b1;status=S2;endS2:beginfsm_out=1,b;status=S3;endS3:beginfsm_out=1,b1;status=S4;endS4:beginfsmout=1,b:status=S5;endS5:beginfsm_ou

3、t=1,b1;status=ID1E;enddefau1t:beginfsm_out=1,b;endendcaseendendmodu1e我们在ISE中直接切换到ModeISim仿真模式,如图所示:Design国圉的品凰00View:OImp1ementationMSimu1ationBehaviora1Hierarchy冏NCO_FSM_tTop-fsmCTop_fsm.v)BQxc5v133t-2ff38NoProcessesRuxmingProcesses:Top-fsmMode1SimSimu1atorMSimu1ateBehaviora1Mode1双击SimUIateBehavior

4、a1Mode1,将打开MoCIe1Simo在Mode1Sim中执行VieWFSMIiSt命令,如下图所示:Iode1SiwSE6.5eFi1eEditViewCompi1eSimu1ateAddStructure导sim#VSimCa11StackCapacityC1assBrowserCoverageDataf1owFi1es(n)FSM1ist(g)I1ibrary(y)网1oca1sunitMessageViewern(fast)Memory1ist(w)n(fast)ObjectsUProcesst)Profi1ingt)Project(x)t)Schematic(1)t)Struct

5、ure(z)t)Transcriptt)VerificationManagementP/Instanceg1b1WatchWaveNewWindowSortFi1terJustifyProperties.2j5.然后就会发现Mode1Sim左边这部分的标签多了一项,如下面两幅图的对比:未执行命令前是这样子的:执行完命令是这样子的:这时候在FSM1iSt标签下,可以看到如下内容,双击之:于是出现了下面的状态转换图:SI这时观察生成的状态转换图发现,所有的状态都在复位的情况下返回了状态ID1E,这是我们不期望的,仔细观察这时的菜单栏可以发现,有一个FSMView项:Kode1SiBSE6.5eFi

6、1eEditViCOmPi1eSimu1ateAddFSMViwToo1s1&yoatWindowHe1pJ-(iXXCXjaJ超4旦,*0IIOOPS用S1gShowTransitionsYOptions.5hovTransitionCountsShowTransitionioncMosEnab1eInfoModePopupsTrackWaveCursor将ShOWTransitionstoReset”项前面的对勾去掉,就会发现不显示复位情况下返回状态ID1E了,如下图所示:细心的人会发现状态到了S5并未返回ID1E,但在前面的状态转换图中的确有COnCi2:1这种状态转到状态ID1E,这估计是软件所导致的吧。简单的应用就这些,深一些的功能自己好好探索吧。最后说一下这种自动生成的状态转换图的缺点:因为它默认生成的状态转换图一定是一个圆,所以当你的状态比较复杂时,并非是一个简单的切换时,生成的状态转换图也就会很乱很乱,可读性直接下降,不知道是可以可调节或者有什么更好的生成工具?

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

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服