在Vivado 仿真器中搭建UVM验证环境(不需要联合modelsim)

news2025/1/24 1:35:22

        Vivado 集成设计环境支持将通用验证方法学 (UVM) 应用于 Vivado 仿真器。Vivado 提供了预编译的 UVM V1.2 库。

(1)在 Vivado 2019.2 中创建新 RTL 工程。

(2)单击“添加目录 (Add Directories)”以将“src”和“verif”目录添加至该工程中。
指定 UVM 验证文件仅用于仿真 (Simulation Only)。

(3)选择工程所需的器件/开发板,然后单击“Next”。

(4)检查“工程摘要 (Project Summary)”,然后单击“完成 (Finish)”。

        使用来自“src”和“verif”目录的新增源代码创建工程后,请转至“设置 (Settings)”->“仿真 (Simulation)”。
        将“-L UVM”开关添加到位于“编译 (compilation)”选项卡下的 xsim.compile.xvlog.more_options 以及位于“细化 (Elaboration)”选项卡下的 xsim.elaborate.xelab_more_options(请参阅下图)。此开关是使用预编译的 UVM 库所必需的。

此外,还可通过 Tcl 控制台 (Tcl Console) 设置下列属性:

set_property -name {xsim.compile.xvlog.more_options} -value {-L uvm} -objects [get_filesets sim_1]
set_property -name {xsim.elaborate.xelab.more_options} -value {-L uvm} -objects [get_filesets sim_1]

如需了解这些步骤的相关信息,请参阅 (UG900) 附录 C。
 

  • 添加以上开关后,请确保已选中“adder_4_bit_tb_top.sv”文件作为顶层模块,然后运行仿真。

    仿真应可正常完成运行,但 Vivado 的“层级 (Hierarchy)”视图中的“源代码 (Sources)”窗口将显示这些文件上的语法错误。

        您可忽略“Hierarchy”视图和 Vivado Text Editor 中的有关 UVM 的语法错误,因为 UVM 支持是在 Vivado 2019.2 中专为仿真器新增的。

(5)以下是非工程/批量模式下的 UVM 使用步骤:

  • 调用 Vivado 2019.2:
source <Vivado_install_path>/Xilinx/Vivado/2019.2/settings64.sh
  • 要以非工程模式运行仿真,请从当前工作目录切换至“run”文件夹。
cd ./Adder_4_bit/run
  • 要在 Vivado 中运行独立仿真,可运行 run_xsim.csh(在 Linux 上)和 run_xsim.bat(在 Windows 上),或者也可在 Linux/Windows 中使用以下命令来运行 run.tcl。
    Vivado –mode batch –source run.tcl
    参考:
    AMD Customer Community

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

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

相关文章

LLM大语言模型(一):ChatGLM3-6B本地部署

目录 前言 本机环境 ChatGLM3代码库下载 模型文件下载 修改为从本地模型文件启动 启动模型网页版对话demo 超参数设置 GPU资源使用情况 &#xff08;网页对话非常流畅&#xff09; 前言 LLM大语言模型工程化&#xff0c;在本地搭建一套开源的LLM&#xff0c;方便后续的…

Python实现FA萤火虫优化算法优化LightGBM分类模型(LGBMClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

空间金字塔池化(SPP,Spatial Pyramid Pooling)系列

空间金字塔池化的作用是解决输入图片大小不一造成的缺陷&#xff0c;同时在目标识别中增加了精度。空间金字塔池化可以使得任意大小的特征图都能够转换成固定大小的特征向量&#xff0c;下面针对一些典型的空间金字塔进行盘点。 部分图片来自blog:空间金字塔池化改进 SPP / SP…

第二十一章总结

一、网络通信&#xff1a; 1.网络程序设计基础&#xff1a;网络程序设计编写的是与其他计算机进行通信的程序。 1.1局域网与互联网&#xff1a;为了实现两台计算机的通信&#xff0c;必须用一个网络线路连接两台计算机 2.网络协议&#xff1a;网络协议规定了计算机之间连接的…

【精选】WebLogic-CVE-2017-3506

下载地址&#xff1a; https://github.com/Al1ex/CVE-2017-3506https://github.com/Al1ex/CVE-2017-3506 1.weblogic wls-wsat组件远程命令执行&#xff08;CVE-2017-3506&#xff09; 复现&#xff1a; ┌──(root&#x1f480;kali)-[~/routing/红日2/CVE-2017-3506-mai…

C++利剑string类(详解)

前言&#xff1a;大家都知道在C语言里面的有 char 类型&#xff0c;我接下来要讲的 string 类功能是使用 char 类型写的类&#xff0c;当然这个是C官方写的&#xff0c;接下来我们将会学会使用它&#xff0c;我们会发现原来 char 这种类型是还能这么好用&#xff0c;授人以…

结构体精讲1

这一期我们讲一讲C语言中的自定义类型中的其中一种类型--->结构体 相信大家对于结构体都听了很久了吧&#xff0c;下面就由我来带领大家一起学习学习&#xff01; 结构体类型是一种自定义的数据类型&#xff0c;用来组织不同类型的数据成员。结构体可以包含多个不同类型的…

【Proteus】绘制简单的电路图

参考书籍&#xff1a;微机原理与接口技术——基于8086和Proteus仿真&#xff08;第3版&#xff09;&#xff08;作者&#xff1a;顾晖等&#xff09;&#xff0c;p111 1.放置元件 以8086为例&#xff1a; 确保处于元件模式&#xff0c;点击对应的按钮&#xff1a; 在元件库中…

【创意坊】技术征战:揭秘CSDN博客等级与原力等级的战略大计

目录 &#x1f4cb; 前言 1. 博客等级 1.1 博客积分规则 1.2 博客等级划分 1.3 博客等级权益 2. 原力等级 2.1 原力积分规则 2.2 原力等级划分 2.3 原力等级权益 3. 文章点赞评论规则 &#x1f4dd;总结 &#x1f4cb; 前言 &#x1f308;个人主页&#xff1a;Sarapi…

PostgreSQL有意思的现象:支持不带列的表

1、前言 以前从没有试过建一张表&#xff0c;不带任何列。在PG中却支持这种语法。这是个什么鬼? 最近&#xff0c;把PG源码扒了下&#xff0c;简单浏览了下最近的一些merge。其中有一个fix&#xff1a; eeb0ebad79 ("Fix the initial sync tables with no columns.&qu…

【动手学深度学习】(六)权重衰退

文章目录 一、理论知识二、代码实现2.1从零开始实现2.2简洁实现 【相关总结】 主要解决过拟合 一、理论知识 1、使用均方范数作为硬性限制&#xff08;不常用&#xff09; 通过限制参数值的选择范围来控制模型容量 通常不限制偏移b 小的意味着更强的正则项 使用均方范数作为柔…

自定义登录页面模板(移动端)

login/index <script setup lang"ts"> </script><template><div class"login-page">//组件 由于配置了自动注册&#xff0c;所以无需引入<cp-nav-barright-text"注册"click-right"$router.push(/register)&quo…

elk:filebeat

elk:filebeat日志收集工具和logstash相同 filebeat是一个轻量级的日志收集工具&#xff0c;所使用的系统资源比logstash部署和启动时使用的资源要小的多。 filebeat可以运行在非java环境&#xff0c;他可以代替logstash在非java环境上收集日志。 filebeat无法实现数据的过滤…

外置固态硬盘配置

1、插上usb外置硬盘盒 2、邮件我的此“电脑”选择“管理” 3、例如新增的固态硬盘如下&#xff1a; 4、这里我选择mrb(旧模式)而没选guid(新模式) 因为mrb兼容模式更加适合windows、ios等系统 5、右击未分区磁盘&#xff0c;选择新增卷区&#xff0c;一路下一步即可

顶级设计师力荐的界面设计软件,设计新选择

即时设计 作为专业的在线协作UI设计软件&#xff0c;即时设计可以实现视觉效果、交互效果、体验效果一站成型&#xff0c;为你的目标用户创造流畅体验。 轻松绘制原型&#xff1a;借助社区设计资源和原型模板的即时设计&#xff0c;开始敏捷高效的工作。与产品经理分解用户需…

fastapi.templating与HTMLResponse

要声明一个模板对象&#xff0c;应将存储html模板的文件夹作为参数提供。在当前工作目录中&#xff0c;我们将创建一个 “templates “目录。 templates Jinja2Templates(directory“templates”) 我们现在要把这个页面的HTML代码渲染成HTMLResponse。让我们修改一下hello()函…

轻量封装WebGPU渲染系统示例<41>- 前向渲染的雾(Fog)效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/FogTest.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源码如下&#xff1a; export class FogTest {private mRscene new Rend…

TrustZone之数据、指令和统一缓存(unified caches)

在Arm架构中,data caches是物理标记(physically tagged)的。物理地址包括该行来自哪个地址空间,如下所示: 对于NP:0x800000的缓存查找永远不会命中使用SP:0x800000标记的缓存行。这是因为NP:0x800000和SP:0x800000是不同的地址。 这也影响缓存维护操作。考虑前面图表中的示…

kubernetes详解——从入门到入土(更新中~)

k8s简介 编排工具&#xff1a;系统层面ansible、saltstackdocker容器docker compose docker swarm docker machinedocker compose&#xff1a;实现单机容器编排docker swarm&#xff1a;实现多主机整合成为一个docker machine&#xff1a;初始化新主机mesos marathonmesos …

8、Broker进一步了解

1、Broker消息分发服务以及构建ConsumeQueue和IndexFile与消息清除 前面分析如何进行刷盘&#xff0c;本章分析Broker的消息分发以及构建ConsumerQueue和IndexFile&#xff0c;两者构建是为了能够提高效率&#xff0c;减少消息查找时间以及减少网络带宽与存储空间。 ConsumeQ…