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

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

3天内不再提示

有没有办法像debug RTL代码一样将UVM中变量拉到波形上看呢?

冬至子 来源:处芯积律 作者:处芯积律 2023-06-29 15:14 次阅读

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

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

image.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的信息

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

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

    关注

    14

    文章

    1016

    浏览量

    83636
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59701
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    19139
收藏 人收藏

    评论

    相关推荐

    IGBT驱动波形负压关断时有上升尖峰,请问有没有办法可以抑制?

    逆变器,用的个桥臂IGBT模块,IGBT驱动波形下管负压关断时有上升尖峰,请问有没有办法可以抑制?图中黄色是下管驱动波形,蓝色是管驱动
    发表于 04-03 11:20

    STC单片机,有没有办法做U盘烧录程序?

    STC单片机,有没有办法做U盘烧录程序?就像PLC一样U盘插上就可以烧录程序了
    发表于 10-18 22:26

    体机改造成普通主机,请问有没有办法把它改成普通主板一样vga视频输出?

    `我家里有个机型为联想c225r的体机,现在想把它改成可以连接显示器的主机,可是主板集成化太高,只能连接自带屏幕而且要接两条线,如图,不知各位大神有没有办法把它改成普通主板一样vg
    发表于 08-04 17:43

    有没有办法让全局变量产生警告?

    我使用的是全局变量,但是没有。我更改了变量的类型,这样就不会溢出。在其他文件,我注意到我把它们外部化了。这不会产生警告或错误。有没有办法
    发表于 08-01 08:05

    有没有办法在运行时查看变量

    我想观察变量的值,而图片是编程和运行的,我假设没有办法这样做,但我要求确定。问题中的PIC是10LF320,程序员是PICTIT3。谢谢。
    发表于 10-09 12:14

    TouchGFX示波器有没有办法次刷新多个数据点

    ) 有没有办法加快数据输入到图表的速度?b) 有没有办法次刷新多个数据点,例如 ADC 值数组?PK编辑:我玩了模拟器,发现我可以在 handleTickEvent() 事件
    发表于 12-20 07:36

    有没有办法实现通配符的ButtonWithLabel小部件

    的自定义字符串替换标签,该字符串可以在运行时更改并且不可预测(无法使用资源)。有没有办法实现个带有文本的按钮,可以通配符一样随时更改?
    发表于 01-04 09:07

    有没有办法使用HAL库来读取地址中指定的变量

    有没有办法使用HAL库来读取地址中指定的变量?STM32L073内置温度传感器应该如何校准?
    发表于 01-05 08:23

    有没有办法通过NFC重置标签?

    0/0 字节”,因此它不接受任何订单。我现在的问题是,为什么会发生这种情况,有没有办法通过 NFC 重置标签?以前有其他人遇到过这个问题吗?
    发表于 01-16 07:59

    有没有办法个项目或组项目中的所有代码文件中进行查找/替换?

    有没有办法个项目或组项目中的所有代码文件中进行查找/替换?即更改项目或所有打开项目中的变量名称?保罗
    发表于 01-16 06:20

    有没有办法动态改变FTM的pwm频率?

    ”,然后是“ FTM_CalculateCounterClkDiv ”来修改频率和“ FTM_Init ”。但这是个非常慢的解决方案,如果我多次修改频率太快,它就无法正常工作。有没有办法动态改变
    发表于 03-21 07:24

    求助,有没有办法从配置工具添加#include 或外部引用到“生成的代码”?

    移出的数据数组的变量名作为源地址表达式。生成代码时,这个变量名在“peripherals.c”中被引用(正如预期的那样),但是由于变量未知而导致编译失败。
    发表于 04-06 07:59

    AT+HTTPCLIENT有没有办法打断命令?

    )AT HTTP 命令似乎没有正确的错误处理, 也从未观察到“AT HTTP 错误代码”部分描述的错误代码有没有办法为 ATHTTP命令
    发表于 04-24 08:09

    有没有办法保护ESP代码

    有没有办法保护 ESP 代码? 我最初来自 PIC 背景,这非常简单,只需在固件闪烁时设置代码保护位,vola 代码是安全的。我想为客户
    发表于 05-08 08:25

    如何用Verdi查看UVM环境变量

    我们常用的debug UVM的方法是通过打印log实现。有没有办法 debug RTL
    的头像 发表于 06-25 16:01 1642次阅读
    如何用Verdi查看<b class='flag-5'>UVM</b>环境<b class='flag-5'>中</b>的<b class='flag-5'>变量</b>?