Vivado2024.2+Modelsim仿真环境搭建大全(保姆式说明)

发布于:2025-05-18 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

一、安装准备

1.1 安装支持环境

1.2 磁盘空间要求

二、Vivado2024.2安装与配置

2.1 Vivado安装

2.2 License导入

三、Modelsim安装

3.1 Modelsim版本

3.2 安装步骤

3.3 license导入

3.4 license失败问题

四、Vivado配置modelsim

4.1 生成仿真库

4.2 modelsim配置仿真库(逐个添加)

4.3 modelsim添加仿真库(批量添加)

4.4 Vivado设置modelsim仿真

五、仿真操作示例

5.1 设计示例

5.2 Vivado运行流程

5.3 Vivado执行仿真

六、常见问题

6.1 Flow Navigator窗口中无法执行simulation操作

6.2 切换工程文件和源文件,仿真失败

6.3 仿真输出结果为z

6.4 license无效

6.5 Vivado和Modelsim lic环境变量同名


一、安装准备

1.1 安装支持环境

操作系统:Windows系统(本文示例环境window10)、Red hat、Centos、SUSE Linux、Ubuntu

安装包:vivado2024.2 安装包,modelsim2020.4安装包

下载链接:Downloads

需注意:完整的安装包大小达到了有史以来的最大值129.54G,需充分考虑到安装环境磁盘空间大小

1.2 磁盘空间要求

1)下载的vivado2024.2压缩包大小130G

2)解压后的文件夹大小124G,如果只是安装Vivado的基础组件功能,安装目录大小最少79G,因此共需约至少210G的空间

安装文件夹大小79G

3)modelsim安装包 750M+安装大小1.5G

二、Vivado2024.2安装与配置

2.1 Vivado安装

将下载的vivado安装包解压, 解压后,进入到解压后的文件夹中,如下图所示,双击“xsetup.exe”进行安装。

  进入安装界面,点击“Next”

进入到选择安装工具的界面,可选择的包括Vitis,Vivado,Vitis Embedded Development,BootGen,Lab Edition,Hardware Server,Power Design Manager,Documentation Navigator,根据实际需要选择安装。此处以选择Vivado为例后,点击“Next”

Vivado版本选择,有2个选项,个人使用一般是选择“Vivado ML Standard”

  进入到组件选择界面,分为设计工具(Design Tools)选择以及器件选择(Device),如果是个人学习使用,设计工具建议选择Vivado Design Suite和Power Design Manager(功耗管理工具)和DocNav(文档工具,包含各种使用文档),Device使用默认选项

进入到接受license协议界面,全部无条件勾选即可,否则"Next"一直置灰,全部勾选后点击“Next”

进入安装路径设置界面,默认为C盘,此处因C盘空间不够,以红色告警提示,需修改成实际空间足够的路径安装。

选择有效的安装路径后,将不存在空间不足的告警,同时Installation Locations中会显示安装的插件,此处为Vivado,Vitis_HLS,PDM,Docnav和前面设置的一致,,Disk Space Required中会显示当前路径可用空间以及安装需要空间58.85G,再点击“Next”图标。

此时会再次对这次安装的设置概览,确保与预期的一致,点击“Install”进行安装

 安装中,左上角有安装进度显示,安装时间会比较久,耐心等待安装完

安装完后桌面会有以下四个图标,点击“Vivado 2024.2”打开

2.2 License导入

进入到“Help->Manage License”

 选择“View License Status”查看当前license状态,右侧内容为空表示无license

进入“Manage License Search Paths”中,在LM_LICENSE_FILE中输入lic文件地址,点击“Set”保存

重新进入查看license状态,已经多了很多工具的license信息

重新打开vivado,安装破解成功的界面

三、Modelsim安装

3.1 Modelsim版本

Modelsim版本路径以及破解工具

下载链接:https://pan.baidu.com/s/1Yy-w_7VfSa6cMzUyPw7atg 提取码: c4x4

3.2 安装步骤

1、下载解压安装包,得到软件原程序和patch破解文件夹;

2、首先双击文件“modelsim-win64-2020.4-se.exe”安装软件,选择“下一步”,

选择“下一步”,按默认路径安装即可。

选择“同意”


安装中,几分钟就能结束

注意:这一步选“否”,不要安装Key Driver;


完成安装界面

3.3 license导入

1、软件成功安装后,先不运行软件,打开crack 1破解文件夹,将MentorKG.exe、mgls64.dll和patch64_dll.bat复制到安装目录下的win64文件夹中;默认路径:C:\modeltech64_2020.4\win64,需修改为实际设置的安装路径

进行覆盖替换

管理员身份运行patch_dll.bat,将生成的许可证另存为LICENSE.TXT,保存到软件安装目录下;


接下来,创建系统环境变量:
变量名:LM_LICENSE_FILE
变量值:LICENSE.TXT的路径。
默认为:C:\modeltech64_2020.4\win64\LICENSE.TXT


软件成功激活,运行即可免费使用

3.4 license失败问题

执行patch_dll.bat失败,失败原因是找不到mgls.dll,mgls64.dll文件

mgls.dll可不管,先确保mgls64.dll的确存在该路径下,在该路径直接打开cmd窗口

直接输入“cmd”

再逐条复制里面的命令执行

四、Vivado配置modelsim

4.1 生成仿真库

 打开vivado,进入“Tools->Compile Simulation Libraries”进行仿真库编译

仿真库设置,“Simulation”设置为“Modelsim Simulator”,language,Library,Family为默认值“All”即可

       “Compiled library location”设置为编译的仿真库所存放的路径,该路径自定义,"Simulation executable path"设置为之前安装的modelsim的路径(包含modelsim.exe文件的路径)。

仿真库编译中,编译完成大概需要一个半小时

编译完成后在 “Compiled library location”设置的路径下可看到仿真库文件

大小1.62G

同时仿真库目录下有一个modelsim.ini文件,记录了当下所有库与路径

所有库与对应路径,该内容可用于后续章节中对于modelsim批量添加库文件

4.2 modelsim配置仿真库(逐个添加)

modelsim安装完后只有一些自带的库,如下图


 打开modelsim,任意选中一个存在的library,鼠标右键弹出弹框,选择“New->library”创建新库

因为前面已经使用vivado编译了仿真库,故"Create"选择“a map to an existing library”,“library name”自定义,最好和库文件夹同名方便识别,"Library Maps to"选择需添加的仿真库路径,此处以路径E:\lib1\zynq_ultra_ps_e_vip_v1_0_12下的库为例

添加成功后如图所示,在zynq_ultra_ps_e_vip库下面可以看到相关的文件

4.3 modelsim添加仿真库(批量添加)

上一小节介绍的是单个库添加,当有较多库需添加时该方法效率低,此时就需要批量添加的操作,进入modelsim安装环境中,安装路径下有一个modelsim.ini文件,默认文件是只读的,取消只读属性后打开文件 

 在"Library"下添加vivado编译的仿真库路径,可将上一章节中编译库中的modelsim.ini的库文件内容复制到此处    

如图所示进行添加保存,此处添加了一千多个库

重新打开modelsim,都是通过modelsim.ini批量添加的库

4.4 Vivado设置modelsim仿真

上述步骤已完成仿真库的编译,modelsim仿真库路径配置,最后一步是将Vivado的默认仿真工具设置为modelsim。进入“Tool->Settings”,将Target simulator设为Modelsim Simulator,保存设置即可

五、仿真操作示例

5.1 设计示例

以一个计数器的例子为例,Verilog代码如下

module counter (
    input wire clk,        // 时钟信号
    input wire rst_n,      // 异步复位信号,低电平有效
    input wire en,         // 计数使能信号
    input wire load,       // 加载使能信号
    input wire [7:0] data, // 并行加载数据
    output reg [7:0] count // 计数器输出
);

// 计数器逻辑
always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin
        // 异步复位
        count <= 8'b0;
    end else if (load) begin
        // 同步加载
        count <= data;
    end else if (en) begin
        // 计数使能
        count <= count + 1;
    end
end

endmodule

测试文件代码

`timescale 1ns/1ps
module counter_tb;
// 输入信号
reg clk;
reg rst_n;
reg en;
reg load;
reg [7:0] data;
// 输出信号
wire [7:0] count;

// 实例化被测模块
counter uut (
    .clk(clk),
    .rst_n(rst_n),
    .en(en),
    .load(load),
    .data(data),
    .count(count)
);
// 时钟生成
initial begin
    clk = 0;
    forever #10 clk = ~clk; // 50MHz时钟
end
// 测试激励
initial begin
    // 初始化输入
    rst_n = 0;
    en = 0;
    load = 0;
    data = 8'h00;
    
    // 复位
    #20 rst_n = 1;
    
    // 测试1: 正常计数
    en = 1;
    #200; // 计数10个周期
    
    // 测试2: 暂停计数
    en = 0;
    #100;
    
    // 测试3: 加载数据
    load = 1;
    data = 8'h55;
    #20;
    load = 0;
    en = 1;
    #100;
    
    // 测试4: 复位
    rst_n = 0;
    #20;
    rst_n = 1;
    en = 1;
    #100;
    
    // 结束仿真
    $finish;
end
// 监控输出
initial begin
    $monitor("Time = %t, rst_n = %b, en = %b, load = %b, data = %h, count = %h", 
             $time, rst_n, en, load, data, count);
end
endmodule

5.2 Vivado运行流程

将源文件和测试文件添加到工程中

执行完implement阶段

5.3 Vivado执行仿真

Implement成功后,如下图,进行仿真,选择“Post-Implementation Functional Simulation”

仿真会自动打开modelsim展示结果,但显示时间精认默认,不友好,如下图

按下图标号一次操作步骤1,2,3,步骤1位restart,步骤3位run,在wave中重新生成结果

再点击下图红框图标“zoom full”.展示结果

鼠标点击波形任一需要查看的位置,会出现一根黄色的定位线,不断地进行放大,如下图即可看到清晰的结果

六、常见问题

6.1 Flow Navigator窗口中无法执行simulation操作

如下图,如之前出现过仿真报错的情况,则此时“Flow Navigator”窗口中"Simulation"下的仿真选项是reset状态,无法执行simulation

进入“Sources->Simulation Sources” 下面的仿真文件夹,鼠标右键弹出仿真弹框,选择“Run Simulation”即可执行各阶段的仿真

6.2 切换工程文件和源文件,仿真失败

在vivado中如果一个工程和仿真结束后,需要切换到其他工程进行仿真时,对应的project summary中,Top module name需设置为新的源文件模块

仿真文件切换,进入“Tools->Settings”界面

进入“Flow->Settings->Simulation settings”界面,“Simulation top module name”需设置为simulation 文件的module,非Design Sources中.v文件的module

6.3 仿真输出结果为z

运行仿真后,如果某个变量的值一直为1'hz,如下图的tesett,表示tesett的状态为不定状态,新手容易犯的一个错误是无信号输入,此时要检查设计仿真文件,是否无信号传入到tesett

6.4 license无效

安装完后查看View License Status界面显示为空白

出现该问题的原因可能是安装vivado前环境变量配置了其他的license,导致安装后失效

解决方法,重新进行license导入操作,将license放置到安装目录下,在license manager中将LM_LICENSE_FILE配置为license路径

配置完后点击“set”图标,重启vivado即可。重启后重新进入查看View License Status,显示不为空白

6.5 Vivado和Modelsim lic环境变量同名

前面的配置中Vivado和Modelsim的License环境变量同名LM_LICENSE_FILE,设置方法是同时设置两个变量值即可


网站公告

今日签到

点亮在社区的每一天
去签到