Vivado 设置关联使用第三方仿真软件 Modelsim

news2024/11/25 15:50:44

目录

  • 1.前言
  • 2.Vivado 设置关联使用第三方仿真软件 Modelsim

微信公众号获取更多FPGA相关源码:
在这里插入图片描述

1.前言

Vivado 软件自带有仿真功能,该功能使用还是比较方便的,初学者可以直接使用自带的仿真功能。

Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比vivado自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。

对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。

Modelsim的关联需要参考Vivado的版本,具体信息可以去官网查看,Vivado 2018.3适配的是Modelsim 10.6d可以公众号后台回复Modelsim获得下载链接。

Vivado 2018.3也可以在后台回复Vivado获得下载链接。

2.Vivado 设置关联使用第三方仿真软件 Modelsim

对于想使用 Modelsim 进行关联仿真的,下面将提供 Vivado 设置关联使用第三方仿真软件 Modelsim 的方法步骤,具体如下。

1、打开 vivado 2018.3 软件,在 Tools 下点击 Settings…

启动仿真器关联的设置界面

2、进入 Settings 界面,在界面左侧窗口找到 3nd Party Simulations,然后找到设置第三
方仿真工具安装路径和编译库文件目录的地方。

仿真器选择窗口

3、在 Install Paths 下的 Modelsim 通过点击右侧“…”,选择已经安装好 modelsim 的路径,在 Default Compiled Library Paths 下的 Modelsim 通过点击右侧“…”,选择设置一个目录文件夹,这里我在 modelsim 安装目录下新建了 vivado_lib 的文件夹,并指定到这里。读者可根据自己的情况进行设置。这里设置的路径是 Vivado 仿真编译库文件存放的地址,目前还没有对库文件进行编译生成仿真所需的文件,所以可自己指定(注意不要指向带空格的路径),后面编译库文件生成仿真所需文件时,将目录再设置到这个目录就行。然后点击 OK。

选择仿真器及其存放路径

4、 编译 Vivado 的库供第三方仿真工具 Modelsim 仿真使用。 在 Tools 下点击 Compile
Simulation Libraries…

启动编译仿真库文件

5、进入 Complile Simulation Libraries 界面,需要进行如下一些设置。

(1) 我们使用的第三方仿真工具是 modelsim,在 Simulator 处选择 Modelsim Simulation;

(2) Language 默认选择 All,这里可以根据实际使用情况选择,也可以选择 Verilog 或
VHDL;

(3) Library 默认选择 All;

(4) 器件就根据实际使用情况进行选择,这里选择的器件系列越多,Compile 生成库的时间越长,若需要选择全部的器件,建议可以选择在空闲时间进行编译。

(5) 编译库存放路径,这里路径默认是我们在前面 3nd Party Simulations 上设置的路径,
前面设置过了,这里默认就可以。

(6) 仿真软件 Modelsim 路径,这里路径默认是我们在前面 3nd Party Simulations 上设置
的路径,前面设置过了,这里默认就可以。

设置仿真库文件的相关信息

其他地方保持默认,点击 Compile,出现如下界面,开始编译 vivado 库生成 modelsim仿真库了,这个过程大概需要 40 分钟,如果选择全部器件,时间会更长。

开始编译仿真库

6、仿真库编译完成后,想要使用 Vivado 自动关联调用 Modelsim 进行仿真,还需在 Tool-
->Setting–>Simulation 下对仿真进行如下设置。这里的设置需要在打开一个工程后,打开工
程后才会在 Settings 下有 Simulation 选项。需进行如下设置。

(1) 选择仿真我们使用的第三方仿真软件 modelsim

(2) 语言根据实际情况进行选择,这里可供选择的有 Verilog、 VHDL、 Mixed,保持默认
即可。

(3) 保持默认就 OK

(4) 仿真的顶层文件,选择你要仿真的 testbench 文件,一般在你去点击 vivado 软件的
Run Simulation 时它会默认选择要仿真的顶层 testbench 文件,自己在仿真时可核对下是否
有误。

(5) 选择我们存放编译 Vivado 仿真库的路径,这里会根据之前生成编译库默认为编译库
的路径,我们只要核对下是否有误,有问题就改一下,没有问题就保持默认就 OK。

调用仿真库的存放位置

7、整个设置就完成了,在需要进行仿真时,点击 Run Simulation -->Run behavioral
Simulation 或其他类型仿真就会自动弹出 Modelsim 界面。

启动仿真窗口

8.打开后就可以正常使用

Modelsim 10.6dwave界面

至此, Vivado 设置关联使用第三方仿真软件 Modelsim 就完成了,可以比较方便的通过
Vivado 调用 Modlsim 进行仿真。对于初学者,建议可以直接使用 Vivado 自带的仿真功能。
后面的例程基本也是采用 Vivado 自带的仿真功能进行仿真验证。

微信公众号获取更多FPGA相关源码:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1795812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

27 - 求关注者的数量(高频 SQL 50 题基础版)

27 - 求关注者的数量 selectuser_id,count(*) followers_count fromFollowers group byuser_id;

什么是阻塞IO和非阻塞IO

一、IO模型 五种:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、异步IO 1.阻塞IO:一个应用程序执行I/O操作时,会被阻塞,直到数据准备好或操作完成。这种模型通常简单易用,但会造成资源浪费。因为CPU在等待I/O操作完成时…

为什么要学习扣子(Coze)

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 吾之笔记,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。 &#…

2024大模型如何学习【附学习资料】

摘要: 通过深入了解本文中的这些细节,并在实际项目中应用相关知识,将能够更好地理解和利用大模型的潜力,不仅在学术研究中,也在工程实践中。通过不断探索新方法、参与项目和保持热情,并将其应用于各种领域&…

【Spring框架全系列】SpringBoot_基础_先知(详细)

文章目录 1.SpringBoot介绍2.创建一个SpringBoot项目3.parent标签 - 父工程4.starter依赖5.启动类和文件打包6.默认配置 1.SpringBoot介绍 Spring阶段最困扰大家的事情是什么? 配置 → 配置魔鬼 快速搭建一个独立的生产级别的Spring应用 快速引入项目相关依赖 开箱…

开源!过程控制与自动化系统

软件介绍 ProviewR是一个基于GPL许可的过程控制与自动化系统,最初由瑞典的Mandator和SSAB Oxelsund开发。作为一个成熟、集成且低成本的自动化解决方案,ProviewR在以Linux作为操作系统的标准PC上运行。该系统包含了顺序控制、调整、数据采集、通信、监控…

16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分

1、matlab求导,diff()函数 1)一阶导数 语法:diff(f(x)):求一阶导数 //diff(f(x),n):求n阶导数(n为具体正整数) 以函数(cos(x)sin(x)-x^2)的一阶导数为例 一阶导数代码: yms x;%声明符号变量x f(x)cos(…

开源网关Apache APISIX启用JWT身份验证

说明: 本文APISIX的配置参考我之前写的《Ubuntu部署Apache APISIX》 创建最小API 首先,确保你已经安装了.NET 6 SDK。创建文件夹“MinimalApiDemo”,VS Code打开文件夹,打开终端 dotnet new web -o MinimalApiDemo cd Minimal…

ros2笔记

Ros2 hello world ccreate packagehelloworld.cpp hello world pythonhelloworld.py file explainros2 cmdcreatebuildfindruninstall interfacesmsg filesrv fileaction file Topic hello world c mkdir -p {your workspace name}/src cd {your workspace name} #进入工作空间…

【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

文件上传 文章目录 文件上传What is Upload-File?Upload-File In CTFWeb151考点:前端校验解题: Web152考点:后端校验要严密解题: Web153考点:后端校验 配置文件介绍解题: Web154考点&#xff1a…

【Java】static 修饰成员方法

static 修饰成员方法 简介 应用 static 修饰成员方法 1.static 修饰成员方法2.内存原理3.main函数4.类方法的应用 1.static 修饰成员方法 测试类: package suziguang_d2_staticdemo;public class Test {public static void main(String[] args) {// 1.类方法使用/…

六西格玛培训,带你解锁职场超能力工具!

当提及六西格玛培训的精髓时,我们不得不提到那些强大而实用的工具,它们如同探险者的指南针,引导我们走向卓越。今天,就让我们一起揭开这些神秘工具的面纱,探寻六西格玛背后的智慧。 首先,DMAIC流程是六西格…

SpringBoot高手之路04-Aop

文章目录 AOP 基础AOP概述start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖都会下载下来 AOP快速入门AOP核心概念 切入点表达式-execution AOP 基础 AOP概述 AOP 对特定的方法做增强 AOP 快速入门 start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖…

LNMP网站架构部署

目录 一、LNMP架构部署(源码编译安装) ①实验准备 ②安装nginx服务 ③安装mysql服务,配置文件 ④安装php服务,修改配置文件 ⑤验证 静态页面测试访问 动态页面测试访问 调用数据库测试 二、LNMP架构应用实例 1.论坛网站…

网鼎杯 2020 玄武组 SSRFMe

复习一下常见的redis主从复制 主要是redis伪服务器的选择和一些小坑点 <?php function check_inner_ip($url) { $match_resultpreg_match(/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/,$url); if (!$match_result) { die(url fomat error); } try { …

安卓照片云备份:如何将Android照片备份到云服务

随着智能手机摄影技术的发展&#xff0c;我们每天都在手机上拍摄大量照片和视频。为了防止宝贵的回忆丢失&#xff0c;将这些照片备份到云服务上是一个明智的选择。我们有多种云服务可供选择&#xff0c;如华为云、小米云、腾讯云等&#xff0c;它们提供了安全、便捷的数据备份…

力扣2968.执行操作使频率分数最大

力扣2968.执行操作使频率分数最大 方法一&#xff1a;滑窗 前缀和 求前缀和数组s 求一个数组补齐到中位数的差值 枚举右端点 class Solution {public:int maxFrequencyScore(vector<int>& nums, long long k) {int res0,n nums.size();sort(nums.begin(),nums…

tomcat中管理环境变量之setenv.sh

tomcat配置spring profiles springboot打包war部署到外部tomcat的时候指定profile启动 windows 在%tomcat%/bin下创建setenv.bat文件 linux 在%tomcat%/bin下创建setenv.sh文件 使用JVM参数: windows set "JAVA_OPTS%JAVA_OPTS% -Dspring.profiles.activedev"in…

【ROS2大白话】三、给turtlebot3安装realsense深度相机

系列文章目录 【ROS2大白话】一、ROS2 humble及cartorgrapher安装 【ROS2大白话】二、turtlebot3安装 【ROS2大白话】三、给turtlebot3安装realsense深度相机 【ROS2大白话】四、ROS2非常简单的传参方式 文章目录 系列文章目录效果展示一、修改model.sdf文件1. 路径位置2. 修改…

基于python的网上挂号预约系统-计算机毕业设计源码35796

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;医院当然也不例外。网上挂号预约系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;采用Py…