我们常用的debug uvm的方法是通过打印log实现。有没有办法像 debug rtl代码一样将 uvm 中变量拉到波形上看呢?答案是有的,下面让我们看看是怎么做到的。
第一步在uvm compile 的选项里面加入 -debug_access+all
第二步在 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的信息。
我们 编译完之后,然后开始跑仿真。跑仿真的时候会跳出下面verdi的界面。
接下来点击绿色的箭头就可以跑仿真
跑完仿真之后,我们点击verdi 里面 uvm这个地方,会出现uvm的环境。
下面我们看下 uvm component里面的信息,通过指定一个 component 然后右击 add to waveform 就可以看 component的信息。
sequence里面的信息怎么看呢?下面点击sequence view 就可以看 sequnce的信息。
我们要看sequence里面的一个变量变化,可以这么做。
先将一个object或者一个sequence 添加到watch中。
从这个watch中的object或者sequence里面选择一个变量到 waveform上。重跑simulation,就可以看到对应添加变量的值值。
下面是我们在波形上看到sequence里面变量的信息
看register model里面的值也是类似的做法,找到 register view,然后找到 register model 添加 register 到 waveform里面。
重跑simulation,就可以看到register值。
用verdi debug uvm总体感觉比较麻烦,个人还是喜欢打印log的方式debug。
AC/DC与DC/DC电源模块虚拟测试系统的设计
任天堂Switch售价会价格比Wii U便宜?
七则不可不知的电池常识
美国设立了第二个智能城市出行与交通枢纽
iOS 10.3正式版即将发布,但请不要盲目升级!
有没有办法像debug RTL代码一样将UVM中变量拉到波形上看呢?
照明出口倒V走势迈入“生死时速” 出口如何破局?
Merlin HugeCTR v4.3 发布说明
一种新型的USB通信技术研究
单片机教程十七:单片机的中断系统
不同形式的组件排布,哪种收益更高?
基于振动信号的机械设备故障监测实现步骤
74ls161十进制计数器电路图
传苹果A7处理器仍由三星代工 M7伴核更神秘
英特尔在以色列海法成立联合AI研究中心,有助于进一步推动AI创新
各种传感器工作原理分析
电动车ESD/EOS防护关键布局方案应用
大疆正式发布全新产品DJI FPV无人机
谷歌pixel xl怎么样,服务很棒但是颜值低而且太费电
健身房智能镜子有什么作用,它可带你玩转健身房