关于Vivado和Modelsim联合仿真的爱恨情仇

  • 心路历程
  • 版本对应
  • 仿真设置
  • 错误解决
  • 关于使用modelsim查看状态转移图

心路历程

vivado自带仿真工具虽然可以使用,但是每一次修改代码后都会使用较长的时间才能重新仿真,时间太长真的接受不了。但是modelsim仿真是比较快的,所以建议使用modelsim进行仿真开发。虽然网上有很多关于vivado和modelsim联合仿真的文档,但是小编多次实验发现,简单的按照网上通用做法将两个软件做联合仿真老是出问题。有时候今天仿真好好的,第二天突然就不行了,或者换一个电脑,仿真就挂掉了。这种问题很影响工程进度。下面将自己的经验分享给大家。

版本对应

每一个版本的vivado都会有一个对应的modelsim版本与之对应,不然会出现错误,如果版本不对应可能无法解决错误。而且每一次仿真找问题都太麻烦了。具体vivado版本对应表可在技术手册ug973中查看,如下图所示:

在下载对应版本的modelsim后,按照网上通用做法生成vivado仿真编译库,在生成modelsim仿真编译库时,一定不能存在错误结果,不然会导致意想不到的结果。

仿真设置

将vivado的modelsim仿真设置好后,如果修改代码,就必须重新加载文件,可以直接run xxx.do文件,不必关闭modelsim。
具体操作方法:
1)使用notepad打开xxx_complie.do文件,去掉quit -force,这句会直接强制关闭modelsim;
2)回到xxx_simulate.do文件,在文件开头增加do xxx_complie.do代码。
3)在modelsim的transcript窗口输入do {xxx_simulate.do}就可以加载。
4)如果存在已经设置好的波形配置,进制显示,信号位置顺序等,可以将Wave(.do文件)界面保存下来,等到重新加载仿真后在打开.do文件。
补充:
关于modelsim和Vivado联合仿真实现后,ise 软件和modelsim的仿真不能用了的处理办法:
环境变量原因:
1) 破解license文件的环境变量:MGLS_LICENSE_FILE: …\LICENSE.TXT
2) Mmodelsim运行ini文件:MODELSIM: …\modelsim.ini
一般设置好这两个环境变量后,modelsim就可以正常启动了,如果点击ise或者vivado的仿真按钮后还是不能启动modelsim,就需要查看modelsim根目录下ini文件是否被程序修改,如果被修改了(一般是自动修改的),就将想要实现仿真的软件的library库中找到相应的modelsim.ini,直接替换掉modelsim根目录中的文件即可。如果是该程序前一天还可以仿真,第二天就突然不能仿真,就需要将vivado工程目录下的根目录中所有的日志文件删除,以及sim目录中的所有文件后,就可以了

错误解决

1、在生成modelsim仿真编译库时,一定不能存在错误结果,不然会导致意想不到的结果。比如,我利用vivado生成编译库时有错误结果,导致加载modelsim时报错:dds 仿真IP核出错。
2、出现报错:[vsim-3363]
解决:忽略掉这种报错,在seting设置界面,simulation页的modelsim.simulate.vsim.more_options*选项填:-warning 3363。就可以忽略掉该条报错,使得仿真继续。
3. 2022年7月5日——出现联合仿真库不匹配的问题:在使用别人的工程进行仿真时,会遇到找不到相关库文件的情况,例如:vcom_1598/vcom_1136,报错,但是自己定义的仿真库和vivado是对应的,但就是会报错!如果删除前工程日志文件(…/xxx.jou,…/xxx.log)无效,替换modelsim.ini也无效时,可以直接简单粗暴的将生成的modelsim仿真库文件夹中的所有内容都复制到工程中就可以解决报错问题。(…/work.sim/sim_1/behav/modelsim/modelsim_lib/msim路径下)
4.2022年10月28日 ——报错:(vlog-7)filed to open design unit file…问题。解决办法是因为程序的文件目录名称太长了,建议将工程移到名称短的目录中。
后续还会持续更新错误解决办法!!

关于使用modelsim查看状态转移图

在程序设计时,有时候需要查看我们编写的程序状态转移图,以便直观的查看对应状态跳转,而vivado又不支持该功能,那么既然选择了modelsim进行仿真,顺便使用其状态转移图又何乐不为呢。

  1. 在seting设置界面,进入到simulation选项卡,在simulation页面下,在modelsim.simulation.vsim.more_options选项填入“-coverage -fsmdebug”即可。如下如:
  2. 在modelsim仿真软件中打开FSM界面,即可查看到对应的状态转移图。

既然说到状态机,在vivado中,可以查看状态机实际综合出的编码方式,以及你编写的状态机是否被EDA软件识别为状态机。具体查看方法是,在综合完之后,在vivado的log界面,搜索:3354、802、fsm、state等关键字就可找到对应的状态机实现说明。如下图:

关于Vivado和Modelsim联合仿真的爱恨情仇相关推荐

  1. FPGA学习之路—Vivado与Modelsim联合仿真

    Vivado与Modelsim联合仿真 笔者在学习FPGA过程中遇到了如何使用Vivado和Modelsim进行联合仿真的问题,特此记录. 首先确定版本 笔者Vivado用的是2018.3版本,先是随 ...

  2. vivado和modelsim联合仿真实现占空比1:15的分频

    上一讲我们看了偶数分频 vivado和modelsim联合仿真实现偶分频,只需要在clk计数到一半时进行翻转即可,这是占空比为50%的情况,如果占空比任意数值就需要重新设计 16需要从0计数到15=4 ...

  3. vivado和modelsim联合仿真实现偶分频

    首先创建一个工程,因为不在硬件上实现所以芯片型号随便选一个就行 创建design文件div6.v,代码来源于以下视频,稍作修改. 在复位时给输出信号clk6赋值为0,不然输出不确定 判断条件cnt为1 ...

  4. 【FPGA】vivado和modelsim联合仿真

    文章目录 二.遇到的问题 三. 参考资料: 二.遇到的问题 1. 错误一: # ** Fatal: (vsim-3693) The minimum time resolution limit (10f ...

  5. Vivado和Modelsim联合仿真问题记录

    目录 写在前面 Modelsim安装 1.以管理员身份运行安装程序 2.去掉mgls.dll和mgl64s.dll文件"只读"属性,直接双击运行patch64_dll.bat 编译 ...

  6. Vivado与modelsim联合仿真(2018.3---10.6c)

    Vivado不同于Quartus自带仿真,但是个人觉得跑一些简单工程的仿真还是可以的,不过跑一些复杂工程的的仿真简直就是毫无体验感,建议使用第三方仿真软件进行联合仿真,这边主要推荐的Modelsim, ...

  7. Vivado与Modelsim联合仿真配置【图文并茂】

    文章目录 前言 一.编译仿真库 1.编译仿真库 2.仿真库设置 二.Vivado设置 1.在Vivado中单击Tools-Settings 2.将lib导入Modelsim 3.打开Modelsim, ...

  8. vivado 和 modelsim联合仿真

    1)随便打开一个vivado工程, 2)配置3rd party, 设置install path, D:\modeltech64_10.6e\win64, 设置default compiled libr ...

  9. vivado和modelsim联合仿真实现分频器——2的n次方分频

    首先创建一个工程,因为不在硬件上实现所以芯片型号随便选一个就行 创建design文件,代码来源于以下视频 FPGA分频器的设计 module fenpin_2_pow_n(input clk,inpu ...

最新文章

  1. SQLSERVER 性能优化统计信息
  2. Java POI操作Excle工具类
  3. C#中更改DataTable某列的值,格式化显示指定列的数据
  4. 微软自带输入法如何关闭桌面右下角「拼」图标
  5. JAVA中String类的intern()方法的作用
  6. 关于node-sass和sass-loader安装上去的时候的时候报错的问题
  7. 第4章 Python 数字图像处理(DIP) - 频率域滤波1 - 傅里叶级数和变换简史
  8. ssh(Spring+Spring mvc+hibernate)——Emp.hbm.xml
  9. Python基础教程,流程控制语句详解
  10. Flex整合Spring
  11. Java之Exception
  12. 每天一个linux命令(5):in命令
  13. ip地址二进制转十进制
  14. Shell 操作 —— 随机数、定时任务
  15. vivo手机通用的官方售后解锁工具包箱_可更换镜头拍照手机不远了!vivo IFEA分离式镜头获奖...
  16. adb ps shell 查看进程_adb shell查看进程方法
  17. 10套word版个人简历模板,各种风格个人简历模板
  18. Mysql数据库分表实现
  19. android动态壁纸的制作
  20. oppo A37T刷机 ROOT 以及无信号解决办法

热门文章

  1. 七星配资周五市场分析
  2. jzoj4240 [五校联考5day2]游行 拓扑排序+倍增lca+线段树优化建图
  3. linux进程管理设计模式,设计模式之观察者模式
  4. 经典文献阅读之--Swin Transformer
  5. 未掌握的基础知识之HTML+CSS
  6. lhgDialog弹窗提示窗口组件
  7. ios https 单项认证 双向认证 以及服务端配置
  8. 伊洛纳服务器维护,【更新公告】《伊洛纳elona》7月28日正式服停服维护更新说明...
  9. SYSTEM 关机整蛊
  10. Golang-go mod download 出现 dial tcp 34.64.4.17:443: i/o timeout