0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用Verdi查看UVM环境中的变量?

sanyue7758 来源:处芯积律 2023-06-25 16:01 次阅读

我们常用的debug UVM的方法是通过打印log实现。有没有办法像 debug RTL代码一样将 UVM 中变量拉到波形上看呢?答案是有的,下面让我们看看是怎么做到的。

第一步在UVM compile 的选项里面加入-debug_access+all

da5d8fe4-132d-11ee-962d-dac502259ad0.png

第二步在 simulation 选项中加入下面三个选项-gui=verdi+UVM_VERDI_TRACE="UVM_AWARE+RAL+HIER+COMPWAVE"+UVM_TR_RECORD这里 -gui=verdi是启动verdi 和vcs联合仿真。+UVM_VERDI_TRACE这里是记录 UVM中 register,component 的波形。+UVM_TR_RECORD记录 transaction的信息

da77a6d6-132d-11ee-962d-dac502259ad0.png

我们 编译完之后,然后开始跑仿真。跑仿真的时候会跳出下面verdi的界面。

da871eea-132d-11ee-962d-dac502259ad0.png

接下来点击绿色的箭头就可以跑仿真

dab06386-132d-11ee-962d-dac502259ad0.png

跑完仿真之后,我们点击Verdi 里面 UVM这个地方,会出现UVM的环境。

dabe181e-132d-11ee-962d-dac502259ad0.png

下面我们看下 uvm component里面的信息,通过指定一个 component 然后右击 add to waveform 就可以看 component的信息。

dad70130-132d-11ee-962d-dac502259ad0.png

Sequence里面的信息怎么看呢?下面点击sequence view 就可以看 sequnce的信息。

dafa4cda-132d-11ee-962d-dac502259ad0.png

我们要看sequence里面的一个变量变化,可以这么做。

先将一个object或者一个sequence添加到watch中。

db10b72c-132d-11ee-962d-dac502259ad0.png

从这个watch中的object或者sequence里面选择一个变量到 waveform上。重跑simulation,就可以看到对应添加变量的值值。

db2f3512-132d-11ee-962d-dac502259ad0.png

下面是我们在波形上看到sequence里面变量的信息

db421182-132d-11ee-962d-dac502259ad0.png

看register model里面的值也是类似的做法,找到 register view,然后找到 register model 添加 register 到 waveform里面。

db5665d8-132d-11ee-962d-dac502259ad0.png

重跑simulation,就可以看到register值。

db673e8a-132d-11ee-962d-dac502259ad0.png

用verdi debug UVM总体感觉比较麻烦,个人还是喜欢打印log的方式debug。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132166
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    18973
  • Verdi
    +关注

    关注

    0

    文章

    21

    浏览量

    8694
  • 变量
    +关注

    关注

    0

    文章

    596

    浏览量

    28112

原文标题:如何用Verdi查看UVM环境中的变量?

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载...

    原文链接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章内容主要讲述两个内容,芯片验证以及验证计划。那本章我们主要讲述的内容有介绍什么是uvm
    发表于 01-21 16:00

    什么是uvmuvm的特点有哪些呢

    直观的印象,就是uvm验证平台,它是分层的结构。图中的每一个巨型框都代表着平台的一个构成元素。这些元素呢,我们称为平台组建,下面来简单的分析一下。从最底层上来看,agent 包含了driver,monitor和sequencer,其中driver ,monitor
    发表于 02-14 06:46

    该如何设置和查看Linux系统的环境和Shell这两种变量

    Shell 变量仅在当前 Shell 可用,可以用来存储当前用户的 ID 等信息。什么是环境变量,什么是 Shell 变量,该如何设置和查看
    发表于 06-14 16:21

    如何构建UVM寄存器模型并将寄存器模型集成到验证环境

    ),通常也叫寄存器模型,顾名思义就是对寄存器这个部件的建模。本文要介绍的内容,包括对UVM寄存器模型的概述,如何构建寄存器模型,以及如何将寄存器模型集成到验证环境。篇幅原因,将在下一篇文章再给出寄存器
    发表于 09-23 14:29

    谈谈UVMuvm_info打印

    \_file, \`uvm\_line)。当uvm\_report\_enabled(xxx)函数返回为1时,才会执行uvm\_report\_info(xxx)。  参数和变量分析:
    发表于 03-17 16:41

    一种基于UVM的混合信号验证环境

    一种基于UVM的混合信号验证环境_耿睿
    发表于 01-07 21:39 1次下载

    Modelsim uvm库编译及执行

    第一句话是设置uvm环境变量,指定uvm的dpi位置。 第二句话是创建work工作目录。 第三句话是编译源文件,并且通过-L指定几个编译库。 第三句是执行仿真,调用uvm
    的头像 发表于 12-01 11:25 3369次阅读
    Modelsim <b class='flag-5'>uvm</b>库编译及执行

    通过env命令来查看Linux系统当前的环境变量

    在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,常见的环境变量有HOME,SHELL,PATH等等。
    的头像 发表于 01-18 16:10 2011次阅读

    全网最实用的Verdi教程1

    过程中,常常用来调试(debug)一些错误的情况。Verdi既可以阅读调试代码,又可以查看波形,包括数字设计的波形和模拟设计的波形。
    的头像 发表于 05-05 14:49 1.4w次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程1

    全网最实用的Verdi教程2

    过程中,常常用来调试(debug)一些错误的情况。Verdi既可以阅读调试代码,又可以查看波形,包括数字设计的波形和模拟设计的波形。
    的头像 发表于 05-05 14:53 4970次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程2

    全网最实用的Verdi教程3

    过程中,常常用来调试(debug)一些错误的情况。Verdi既可以阅读调试代码,又可以查看波形,包括数字设计的波形和模拟设计的波形。
    的头像 发表于 05-05 14:53 3764次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程3

    何用vcs+verdi仿真Verilog文件并查看波形呢?

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的头像 发表于 05-08 16:00 4563次阅读
    如<b class='flag-5'>何用</b>vcs+<b class='flag-5'>verdi</b>仿真Verilog文件并<b class='flag-5'>查看</b>波形呢?

    何用vcs+verdi仿真Verilog文件

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件内容如下:
    的头像 发表于 05-11 17:03 1457次阅读
    如<b class='flag-5'>何用</b>vcs+<b class='flag-5'>verdi</b>仿真Verilog文件

    Verdi环境配置、生成波形的方法

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式进行代码的仿真与检查
    的头像 发表于 05-29 09:48 2315次阅读
    <b class='flag-5'>Verdi</b><b class='flag-5'>环境</b>配置、生成波形的方法

    一文详解UVM设计模式

    本篇是对UVM设计模式 ( 二 ) 参数化类、静态变量/方法/类、单例模式、UVM_ROOT、工厂模式、UVM_FACTORY[1]中单例模式的补充,分析静态类的使用,
    的头像 发表于 08-06 10:38 903次阅读
    一文详解<b class='flag-5'>UVM</b>设计模式