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

        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.mzph.cn/news/202408.shtml

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

相关文章

4.1 Docker 容器化和镜像管理

Docker 容器化和镜像管理 容器化的概念 介绍容器化的含义&#xff0c;将应用程序及其依赖项封装为一个独立的运行环境&#xff0c;实现隔离和可移植性。强调容器化的优势&#xff0c;如轻量、快速启动、一致性和可扩展性。 Docker 简介 解释 Docker 是一种主流的容器化技术&am…

CCF计算机软件能力认证202309-2坐标变换(其二)(C语言)

ccf-csp计算机软件能力认证202309-2坐标变换&#xff08;其二&#xff09;(C语言版) 题目内容&#xff1a; 问题描述 输入格式 输出格式 样例输入 10 5 2 0.59 2 4.956 1 0.997 1 1.364 1 1.242 1 0.82 2 2.824 1 0.716 2 0.178 2 4.094 1 6 -953188 -946637 1 9 96953…

计算机网络之网络传输,三次握手和四次挥手

网络传输通过高低电压 流 基本类型数组 低电压转高电压&#xff0c;通过网卡 传输模式&#xff1a; 全双工&#xff1a;互相传输且能同时传输 半双工&#xff1a;互相传输但是不能同时传输 单工&#xff1a;单向传输&#xff0c;&#xff08;键盘&#xff0c;显示器&#…

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

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

微信小程序查看接口信息(抓包)

本文仅供交流学习使用 主要参考: https://cloud.tencent.com/developer/article/1833591 https://www.cnblogs.com/x1you/p/12033839.html 由于参考文章在baidu权重不高(google才查到的), 所以自己重新记录一篇, 方便他人, 也防止参考文章丢失. 背景 需要知道微信小程序的接口…

8、Broker进一步了解

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

线程与线程池

单核cpu与多核cpu&#xff1a; 线程的并发和并行问题 多线程的创建&#xff1a; 多线程程序创建&#xff1a;java.lang.Thread(实现了Runnable接口) // 1定义一个类实现Runnable接口&#xff0c;重写run方法&#xff08;run方法中设置线程任务&#xff09;…

W5500实现以太网通信

实现原理 嵌入式程序跑在STM32微控制器&#xff0c;通过片上SPI控制器与W5500进行通信&#xff0c;配置所需网络参数并与远端服务器建立链接&#xff08;TCP客户端&#xff09;之后发送接收数据&#xff1b;又或者是建立服务器&#xff08;TCP服务器&#xff09;等待建立链接之…

mac电池最大充电限制工具 AlDente Pro中文 for Mac

Pro 版特有功能 热保护&#xff1a;在电池温度较高时为电池充电会导致电池老化更快。启用热保护后&#xff0c;当电池温度过高时&#xff0c;充电将自动停止。 航行模式&#xff1a;通常情况下&#xff0c;即使激活了最大电池充电&#xff0c;您的 MacBooks 电池也会始终稍微充…

记一次校园双选会面试问到的题

创建对象方式 线程安全和那些锁 stringbuff build区别 反射原理 集合底层 存储引擎myisam和innodb B树&#xff0c;慢查询&#xff0c;sql优化 数据库三大范式 左右内连接分别的效果 谈谈boot和spring&#xff0c;常用注解 ioc aop redis里的锁&#xff0c;缓存击穿穿透血崩&am…

7.上传project到服务器及拉取服务器project到本地、更新代码冲突解决

1.上传project到SVN服务器 1.在eclipse中&#xff0c;从show view里调出SVN资源库视图 2.在SVN资源库窗口的空白位置右键选择新建资源库位置 3.填好服务器的地址 4.资源库导入成功,SVN资源库视图下出现导入的资源库 5.新建project 6.写好project的初始版本 7.右键project --&…

Java面试题(每天10题)-------连载(43)

目录 Spring篇 1、请举例说明Qualifier注解 2、构造方法注入和设值注入有什么区别&#xff1f; 3、Spring框架中有哪些不同类型的事件&#xff1f; 4、FileSystemResource和ClassPathResource有什么区别&#xff1f; 5、Spring框架中都用到了哪些设计模式&#xff1f; 6…

激光雷达生成的图像检测关键点用来辅助里程计的方案

文章&#xff1a;LiDAR-Generated Images Derived Keypoints Assisted Point Cloud Registration Scheme in Odometry Estimation 作者&#xff1a;Haizhou Zhang , Xianjia Yu, Sier Ha , Tomi Westerlund 编辑&#xff1a;点云PCL 欢迎各位加入知识星球&#xff0c;获取PDF…

数据结构与算法编程题41

线性表中各结点的检索概率不等时&#xff0c;可用如下策略提高顺序检索的效率&#xff1a; 若找到指定的结点&#xff0c;则将该结点和其前驱结点&#xff08;若存在&#xff09;交换&#xff0c;使得经常被检索 的结点尽量位于表的前端。试设计在顺序结构的线性表上实现上述策…

使用Vue写一个日期选择器

在 Vue 中实现日期选择器的方法有很多&#xff0c;下面提供一个简单的实现方法。 首先&#xff0c;在需要使用日期选择器的组件中引用 Vue 和 date-fns 库&#xff0c;date-fns 库是一个轻量级的 JavaScript 时间日期工具库&#xff0c;可以方便地处理日期的格式化和计算。 &…

DCGAN生成网络模型

DCGAN&#xff08;Deep Convolutional Generative Adversarial Network&#xff09;是一种生成对抗网络&#xff08;GAN&#xff09;的变体&#xff0c;专门设计用于生成图像。它结合了卷积神经网络&#xff08;CNN&#xff09;和生成对抗网络的概念&#xff0c;旨在生成具有高…

Java的接口和抽象类

在Java编程中&#xff0c;接口和抽象类是两个重要的概念。它们都用于实现面向对象编程中的抽象和封装&#xff0c;但在使用方式和功能上有所不同。本文将详细介绍Java中接口和抽象类的概念、用法和示例代码&#xff0c;帮助读者更好地理解和应用它们。 一、接口&#xff08;In…

C语言/C++实战项目雷霆飞机(代码改进)

上代码 #include <stdio.h> #include <easyx.h> #include <time.h> #include <Mmsystem.h> #pragma comment(lib,"winmm.lib") #define WIDTH 600 #define HEIGHT 850 #define bullet_max 5000 //我方飞机子弹最大量 #define enem…

mysql基础之DQL基本单表查询

学习DQL之前先知道sql语句的执行顺序 from->join->on->where->group by->count(字段)->having->select->distinct->order by->limit null无法和任何值进行比较&#xff08;不相等&#xff09;&#xff0c;包括null和null也不相等 1.DQL简单查询…

免费好用的5个AI写作工具,如何更好的使用AI写作工具

人工智能&#xff08;AI&#xff09;作为当今科技领域的热门话题&#xff0c;正在以惊人的速度改变我们生活的方方面面。从智能助手到自动驾驶汽车&#xff0c;AI的应用已经渗透到我们日常的方方面面。 1. 什么是AI人工智能&#xff1f; 什么是AI人工智能&#xff1f;简而言之…