最近项目需要进行 FPGA 上板,因此需要使用 vivado,但是 vivado 的仿真实在是太慢了,前面装过了 questasim,于是决定使用 questasim 和 vivado 进行联合仿真。由此进行了一部分的配置。
发现网上的教程有些有些古老了,这里做一些补充。

环境

  • Questasim 2024.1
  • Vivado 2025.2
  • Ubuntu 24.04 LTS

    这里 vivado 2025.2 仿真时会警告与 questasim 不兼容。UG835 明确写了,Vivado 2025.2 支持的 Questa 版本是 2024.3_3 或更高,但是我实际上还没有发现有问题,暂时先用着。

方法

1. 编译仿真库

  1. 选择 vivado 菜单 Tools ——> Compile Simulation Libraries... 命令。
  2. 在弹出的对话框中设置器件库编译参数,仿真工具 Simulator 选为 Questasim Advanced Simulator
  3. 语言 Language、库 Library、器件家族 Family 都为默认设置 All(当然也可以根据自己的需求进行设置)
  4. Compiled library location 栏设置编译器件库的路径,这里选择放在questasim的根目录下面,防止questasim无法识别到。(新建一个专门的文件夹放置也行,这里是偷懒,免去后面配置的思考过程,有时间还是新建一个比较好)
  5. Simulator executable path 栏设置 Questasim 执行文件的路径,linux_x 86_64 和 bin 目录都可以。(如果安装的是 32 位,就是 linux )
  6. GCC executable path 栏设置gcc的路径 ,注意一定要是 7.4.0以下的版本,高版本vivado不支持,路径主要细致到 bin ,这里是 gcc-7.4.0-linux_x86_64 (32 位有可能有一点区别)

需要注意的是不会直接修改 QuestaSim 安装目录下的 modelsim.ini。Vivado 在编译仿真库时,会在你指定的 Compiled library location(库输出目录) 下生成一个新的 modelsim.ini 文件,其中自动写入了编译好的 Xilinx 库路径映射。
如果指定的编译输出路径恰好就是 QuestaSim 的安装目录,那会修改原始的文件,需要提前修改modelsim.ini 文件权限(默认不可写)。

2. 设置一下路径

在 vivado 菜单中选择 Tools ——> Settings...,在 Tool Setings 下的 3 rd Party Simulators 中设置 。

  1. install paths 中需要直接设置根目录即可。(注意这里和之前有区别,不需要 linux_x 86_64 ,vivado会自动在你添加的路径后面加bin作为启动路径)
  2. GCC Install PATHS 和前面编译的填写的一样
  3. Default Compiled Library Paths 同样设置为前面编译库文件的目标地址。

3. 在使用时切换模拟器

网上教程有很多了,这里不再重复,可以看 Vivado 2019.1 与 Questasim 联合仿真 - ArtisticZhao - 博客园,切换后,其他选项按需变化

附录

仿真开始后无仿真界面,但是脚本在终端运行正常的问题

原因:
vivado 所在的终端没有 questasim 的环境。如果通过 ubuntu 的桌面或从菜单启动 vivado 的话,vivado 是不会获取你设置在 bashrc 中的路径的。
Vivado 2025.2 的第三方仿真流程本质上是:先为目标仿真器生成 compile / elaborate / simulate 脚本,再执行这些脚本。如果环境中没有questasim的路径,脚本运行会失败。

解决方法:
在一个设置好路径的终端中通过命令运行vivado

vivado &

参考

1. https://zhuanlan.zhihu.com/p/1882610144820565905

2. https://www.cnblogs.com/ArtisticZhao/p/14888399.html

更多推荐