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

2023-12-06 22:20

本文主要是介绍在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

这篇关于在Vivado 仿真器中搭建UVM验证环境(不需要联合modelsim)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463560

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip