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

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

ID:27847091

大小:229.50 KB

页数:8页

时间:2018-12-06

使用ModelSim自动生成状态机FSM的状态转换图.doc_第1页
使用ModelSim自动生成状态机FSM的状态转换图.doc_第2页
使用ModelSim自动生成状态机FSM的状态转换图.doc_第3页
使用ModelSim自动生成状态机FSM的状态转换图.doc_第4页
使用ModelSim自动生成状态机FSM的状态转换图.doc_第5页
资源描述:

《使用ModelSim自动生成状态机FSM的状态转换图.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、tputregfsm_out);  parameterIDLE=3’d0,S1=3’d1,S2=3’d2,S3=3’d3,S4=3’d4,S5=3’d5;reg[2:0]status;always@(posedgeclk)if(!rst)beginstatus<=IDLE;endelsebegincase(status)IDLE:beginfsm_out<=1’b0;status<=S1;endS1:beginfsm_out<=1’b1;status<=S2;endS2:beginfsm_out<=1’b0;status<=S3;endS3:be

3、ginfsm_out<=1’b1;status<=S4;endS4:beginfsm_out<=1’b0;status<=S5;endS5:beginfsm_out<=1’b1;status<=IDLE;enddefault:beginfsm_out<=1’b0;endendcaseendendmodule  我们在ISE中直接切换到ModelSim仿真模式,如图所示:    双击SimulateBehavioralModel,将打开ModelSim。  在ModelSim中执行View---FSMlist命令,如下图所示:    然后就会发现M

4、odelSim左边这部分的标签多了一项,如下面两幅图的对比:  未执行命令前是这样子的:  执行完命令是这样子的:  这时候在FSMList标签下,可以看到如下内容,双击之:  于是出现了下面的状态转换图:    这时观察生成的状态转换图发现,所有的状态都在复位的情况下返回了状态IDLE,这是我们不期望的,仔细观察这时的菜单栏可以发现,有一个FSMView项:    将ShowTransiTIonsto“Reset”项前面的对勾去掉,就会发现不显示复位情况下返回状态IDLE了,如下图所示:    细心的人会发现状态到了S5并未返回IDLE,但在前

5、面的状态转换图中的确有Cond2:1这种状态转到状态IDLE,这估计是软件所导致的吧。  简单的应用就这些,深一些的功能自己好好探索吧。  最后说一下这种自动生成的状态转换图的缺点:因为它默认生成的状态转换图一定是一个圆,所以当你的状态比较复杂时,并非是一个简单的切换时,生成的状态转换图也就会很乱很乱,可读性直接下降,不知道是可以可调节或者有什么更好的生成工具?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。