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

本文详细介绍了如何配置Vivado与Modelsim进行联合仿真的过程,包括软件版本匹配、Modelsim破解及环境变量设置等关键步骤,并提供了一份详细的版本对应表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vivado与Modelsim联合仿真

笔者在学习FPGA过程中遇到了如何使用Vivado和Modelsim进行联合仿真的问题,特此记录。

首先确定版本

笔者Vivado用的是2018.3版本,先是随便下了个Modelsim10.1c 的版本,到编译库文件时报错了,后来发现是俩款软件的版本不匹配。所以大家在进行联合仿真之前先核对两个软件的版本是否对应,不用到最后再卸载重装。
具体的版本对应情况放到文档末尾,大家可翻到文末查看。
笔者用的是Vivado2018.3,查询的对应的Modelsim版本为10.6c。


Modelsim破解

准备Modelsim10.6c的安装包

下载链接

步骤如下:

(1)、安装软件,注意安装路径中不要出现中文或空格,安装过程中一直点击YES即可。

2.png

(2)、把crack.batMentorKG.exe一起拷贝到modelsim安装目录的win64文件夹下,例如D:\modelsim_dlx64_10.6c\win64pe

(3)、双击crack.bat,若出现下图所示问题,则将mgls64.dll重命名为mgls.dll再次重新运行crack.bat即可。

1.png

(4)、将生成的LICENSE.TXT放在modelsim的安装路径下,如D:\modelsim_dlx64_10.6c,若前面修改了mgls64.dll文件的名称,则生成完LICENSE文件后应当把名字改回去。

(5)、新建环境变量MGLS_LICENSE_FILE,变量值为LICENSE放置的路径,如D:\modelsim_dlx64_10.6c\LICENSE.TXT。在win10中,右键此电脑->属性->高级系统设置->环境变量,进行环境变量的添加。

3.png

4.png

(6)、打开Modelsim软件,安装破解结束。

5.png


联合仿真

(1)、打开任意一个vivado工程,再按下图所示点击编译Xilinx的仿真库。

6.png

注意:Simulator选Modelsim Simulator,编译库Compiled library location放入新建的文件夹D:\Xilinx\Xlib中(可自己指定),Simulator executable path选择modelsim安装路径下的win64pe。注意Compile Xilinx IP选项不勾选。

7.png

编译结果从Vivado中的Tcl Console中可知,无Errors,芜湖起飞!

8.png

(2)查看编译库Compiled library location路径下,应该出现modelsim.ini文件。

9.png

我们将其设置为用户的全局变量,这样下次就不需要再编译库文件了,步骤如下图所示:

10.png

11.png

(3)、设置第三方仿真软件的安装路径与编译库的路径,具体步骤如下图所示

12.png

13.png

14.png

(4)、全部准备就绪后,点击Run Simulation中的Run Behavioral Simulation。

15.png

自动弹出Modelsim,并显示波形,游戏结束。

16.png

Vivado与Modelsim对应版本

Vivado Design Suite 2018.3

Mentor Graphics ModelSim SE/DE/PE (10.6c)
Mentor Graphics Questa Advanced Simulator (10.6c)
Cadence Incisive Enterprise Simulator (IES) (15.20.053)
Cadence Xcelium Parallel Simulator (18.03.005)
Synopsys VCS and VCS MX (N-2017.12-SP2)
Aldec Active-HDL (10.5) Aldec Riviera-PRO (2018.02)

Vivado Design Suite 2018.2

Mentor Graphics ModelSim SE/DE/PE (10.6c)
Mentor Graphics Questa Advanced Simulator (10.6c)
Cadence Incisive Enterprise Simulator (IES) (15.20.042)
Cadence Xcelium Parallel Simulator (17.10.005)
Synopsys VCS and VCS MX (N-2017.12)
Aldec Active-HDL (10.4a) Aldec Riviera-PRO (2017.10)

Vivado Design Suite 2018.1

Mentor Graphics ModelSim SE/DE/PE (10.6c)
Mentor Graphics Questa Advanced Simulator (10.6c)
Cadence Incisive Enterprise Simulator (IES) (15.20.042)
Cadence Xcelium Parallel Simulator (17.10.005)
Synopsys VCS and VCS MX (N-2017.12)
Aldec Active-HDL (10.4a) Aldec Riviera-PRO (2017.10)

Vivado Design Suite 2017.4

Mentor Graphics ModelSim SE/DE/PE (10.6b)
Mentor Graphics Questa Advanced Simulator (10.6b)
Cadence Incisive Enterprise Simulator (IES) (15.20.028)
Synopsys VCS and VCS MX (M-2017.03-SP1)
Aldec Active-HDL (10.4a) Aldec Riviera-PRO (2017.02)

Vivado Design Suite 2017.3

Mentor Graphics ModelSim SE/DE/PE (10.6b)
Mentor Graphics Questa Advanced Simulator (10.6b)
Cadence Incisive Enterprise Simulator (IES) (15.20.028)
Synopsys VCS and VCS MX (M-2017.03-SP1)
Aldec Active-HDL (10.4a) Aldec Riviera-PRO (2017.02)

Vivado Design Suite 2017.2

Mentor Graphics ModelSim SE/DE/PE (10.5c)
Mentor Graphics Questa Advanced Simulator (10.5c)
Cadence Incisive Enterprise Simulator (IES) (15.20.014)
Synopsys VCS and VCS MX (L-2016.06-SP1)
Aldec Active-HDL (10.4) Aldec Riviera-PRO (2016.10)

Vivado Design Suite 2017.1

Mentor Graphics ModelSim SE/DE/PE (10.5c)
Mentor Graphics Questa Advanced Simulator (10.5c)
Cadence Incisive Enterprise Simulator (IES) (15.20.014)
Synopsys VCS and VCS MX (L-2016.06-SP1)
Aldec Active-HDL (10.4) Aldec Riviera-PRO (2016.10)

Vivado Design Suite 2016.4

Mentor Graphics ModelSim SE/DE/PE (10.5c)
Mentor Graphics Questa Advanced Simulator (10.5c)
Cadence Incisive Enterprise Simulator (IES) (15.20.005)
Synopsys VCS and VCS MX (L-2016.06)
Aldec Active-HDL (10.3) Aldec Riviera-PRO (2016.06)

Vivado Design Suite 2016.3

Mentor Graphics ModelSim SE/DE/PE (10.5c)
Mentor Graphics Questa Advanced Simulator (10.5c)
Cadence Incisive Enterprise Simulator (IES) (15.20.005)
Synopsys VCS and VCS MX (L-2016.06)
Aldec Active-HDL (10.3) Aldec Riviera-PRO (2016.06)

Vivado Design Suite 2016.2, 2016.1

Mentor Graphics ModelSim SE/DE/PE (10.4d)
Mentor Graphics Questa Advanced Simulator (10.4d)
Cadence Incisive Enterprise Simulator (IES) (15.10.013)
Synopsys VCS and VCS MX (K-2015.09)
Aldec Active-HDL (10.3) Aldec Riviera-PRO (2015.10)

Vivado Design Suite 2015.4, 2015.3

Mentor Graphics ModelSim SE/DE/PE (10.4b)
Mentor Graphics Questa Advanced Simulator (10.4b)
Cadence Incisive Enterprise Simulator (IES) (14.20.006)
Synopsys VCS and VCS MX (J-2014.12-SP2)
Aldec Active-HDL (10.2 SP2) Aldec Riviera-PRO (2015.06)

Vivado Design Suite 2015.2, 2015.1

Mentor Graphics ModelSim SE/DE/PE (10.3d)
Mentor Graphics Questa Advanced Simulator (10.3d)
Cadence Incisive Enterprise Simulator (IES) (14.10.011)
Synopsys VCS and VCS MX (I-2014.03-SP1)
Aldec Active-HDL (10.1 SP1) Aldec Riviera-PRO (2015.02)

Vivado Design Suite 2014.4

Mentor Graphics ModelSim SE/DE/PE (10.3b)
Mentor Graphics Questa Advanced Simulator (10.3b)
Cadence Incisive Enterprise Simulator (IES) (13.20.005)
Synopsys VCS and VCS MX (I-2014.03)
Aldec Active-HDL (9.3 SP1) Aldec Riviera-PRO (2014.02)

Vivado Design Suite 2014.3

Mentor Graphics ModelSim SE/DE/PE (10.3b)
Mentor Graphics Questa Advanced Simulator (10.3b)
Cadence Incisive Enterprise Simulator (IES) (13.20.005)
Synopsys VCS and VCS MX (I-2014.03)
Aldec Active-HDL (9.2 SP1) Aldec Riviera-PRO (2014.02)

Vivado Design Suite 2014.2, 2014.1

Mentor Graphics ModelSim SE/DE/PE (10.2a)
Mentor Graphics Questa Advanced Simulator (10.2a)
Cadence Incisive Enterprise Simulator (IES) (12.2-016)
Synopsys VCS and VCS MX (H-2013.06-SP1)
Aldec Active-HDL (9.3 SP1) Aldec Riviera-PRO (2014.02)

Vivado Design Suite 2013.4

Mentor Graphics ModelSim SE/DE/PE (10.2a)
Mentor Graphics Questa Advanced Simulator (10.2a)
Cadence Incisive Enterprise Simulator (IES) (12.2-016)
Synopsys VCS and VCS MX (H-2013.06)
Aldec Active-HDL (9.2 SP1) Aldec Riviera-PRO (2013.06)

Vivado Design Suite 2013.3

Mentor Graphics ModelSim SE/DE/PE (10.2a)
Mentor Graphics Questa Advanced Simulator (10.2a)
Cadence Incisive Enterprise Simulator (IES) (12.2-016)
Synopsys VCS and VCS MX (H-2013.06-3)
Aldec Active-HDL (9.2) Aldec Riviera-PRO (2013.02)

Vivado Design Suite 2013.1, 2013.2

Mentor Graphics ModelSim SE/DE/PE (10.1b)
Mentor Graphics Questa Advanced Simulator (10.1b)
Cadence Incisive Enterprise Simulator (IES) (12.2)
Synopsys VCS and VCS MX (G-2012.09)
Aldec Active-HDL (9.2) Aldec Riviera-PRO (2012.10)

reference

### 二维前缀和算法在瓦片图案生成或处理中的应用 #### 定义基本原理 二维前缀和是一种用于快速求解矩形区域内元素总和的技术。对于给定的一个矩阵 `A`,可以预先计算一个新的矩阵 `prefixSum`,其中每个元素 `(i,j)` 表示从原点 `(0,0)` 到当前坐标的子矩阵内所有数值之和。 通过这种方式,在后续查询任意指定区域内的元素累积值时只需常数时间复杂度 O(1),因为只需要访问四个预处理过的节点即可完成加减运算得出结果[^1]。 #### 应用场景分析 当涉及到像地图服务这样的应用场景时——特别是采用分层切片机制的地图系统(如微软 Bing 地图),这种技术能够显著提升性能效率: - **加速渲染过程**:利用二维前缀和可以在瞬间获取特定范围内的数据汇总信息,从而加快图像合成速度; - **简化碰撞检测逻辑**:游戏开发等领域经常需要用到对象间相互作用判断,借助此方法可迅速定位目标区间并作出响应; - **优化路径规划算法**:无论是最短路还是其他形式的空间搜索问题,都能受益于高效的数据检索能力所带来的优势[^2]。 #### 实现案例展示 下面给出一段 Python 代码片段作为例子说明如何基于上述理论框架构建实际解决方案: ```python def build_prefix_sum(matrix): rows = len(matrix) cols = len(matrix[0]) if matrix else 0 prefix_sum = [[0]*(cols+1) for _ in range(rows+1)] for i in range(1,rows+1): for j in range(1,cols+1): prefix_sum[i][j]=matrix[i-1][j-1]+\ prefix_sum[i-1][j]+ \ prefix_sum[i][j-1]- \ prefix_sum[i-1][j-1] return prefix_sum def query_submatrix_sum(prefix_sum,x1,y1,x2,y2): """Query sum of elements within sub-matrix defined by top-left (x1,y1), bottom-right(x2,y2).""" return prefix_sum[x2+1][y2+1]-prefix_sum[x1][y2+1]-prefix_sum[x2+1][y1]+prefix_sum[x1][y1] # Example usage: input_matrix=[[3,0,1,4],[2,8,7,5],[4,6,9,1]] ps=build_prefix_sum(input_matrix) print(query_submatrix_sum(ps,1,1,2,2)) # Output should be 30 which is the sum inside this area. ```
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日拱一卒_未来可期

若复习顺利望有闲钱的同学支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值