有很多文章都介绍了在windows下Vivado联动Modelsim生成FSM的教程,在Linux下与在windows下有些许不同。
在前面的部分配置可以参考这一篇文章【原创】在Vivado中调用ModelSim生成FSM的状态转移图-paradoxfx-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台
在设置simulation setting的时候,要在vsim.more_options哪里再加上-fsmdebug,如下图
如果没有加上的话,打开FSM List的时候就会提示没有找到状态机。
在Linux下面前半部分操作与上述没有什么区别,modelsim的路径可以在终端中输入以下命令来获得
which vsim
按照上面文章操作完之后点击
发现没有弹出modesim的界面,只有在log 界面的simulation中有写提示信息
往上翻,最顶部,这个时候可以 发现已经生成了一个.do文件
这个.do文件一般的命名格式就是{顶层代码名_simulate.do},一般放在工程目录的{工程名.sim}-{sim_1}-{behav}下面,在该文件夹内运行终端(这样modelsim的工程路径就是当前文件夹),输入
vsim
如果安装正常就会打开modelsim,之后在下面的Transcript中输入(如果没有看到Transcript可以在view中手动打开)
回车就会自动执行对应的程序,来生成FSM,按照上面博客中说的打开FSM List就可以看到了。
有的人可能会问,为什么同样的代码生成的状态机样子不同,这个是由于版本不同导致的,版本较老的modelsim生成的状态图就是上图所示,我使用的是10.2c版本的,如果是windows上版本较高的生成,就会是下面这个样子
个人感觉老版本的要好看一点。