uvm_hdl_xxx系列在验证环境中经常使用,hvm_hdl_force/deposit用来后门给信号赋值,uvm_hdl_read用于后门读取信号值。
由于某些原因,导致后门读写失败时,在仿真时会遇到如下的错误:
UVM_ERROR:set:unabletowritetohdlpath...
出现这种情况时,可以按如下步骤排查:
检查信号的hierarchy路径是否正确
打开verdi,选中信号后,copy信号的full path可以看到信号的完整路径名。

检查是否添加了debug选项
如果确定信号路径没有问题后,可检查下编译选项中是否添加了-debug_all或者+debug_access+all。
检查信号所在的模块是否为cell
当编译选项没有使用-debug_all,使用的是-debug_access+all或者-debug_access+r+w+f。而恰好信号所在的模块为cell时,也无法正常进行后门访问。
在verdi中,如果模块为cell类型,可以看到undefined cell或者lib cell的标识:

解决办法:
(1)编译选项更换为-debug_all。debug_access+all并不能开启cell和lib类型的访问权限:
The-debug_access+all=-debug_access+line+class+wn+driver+r+w+cbk+f+fn+thread+cbkd. The-debug_access+alloptionenablesdebugcapabilitiesequalto-debug_all (exceptitdoesnotapplycapabilityinsidecellsandencryptedmodules).
(2)结合debug_region编译选项使用:-debug+all -debug_region=cell+lib
编辑:黄飞
-
信号
+关注
关注
12文章
2928浏览量
80397 -
定位
+关注
关注
5文章
1609浏览量
36762
原文标题:后门操作失败的定位思路
文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载中...
山武智能阀门定位器AVP302-RSD3A-1XXX-W
系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败的解决办法
什么是uvm?uvm的特点有哪些呢
看看在SpinalHDL的仿真中我们可以使用的后门读写操作
介绍UVM寄存器模型访问上的一些内容
如何构建UVM寄存器模型并将寄存器模型集成到验证环境中
谈谈UVM中的uvm_info打印
UVM中seq.start()和default_sequence执行顺序
痞子衡嵌入式:系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败
SpinalHDL的仿真中可以使用的后门读写操作
基于分割后门训练过程的后门防御方法
WK2XXX SPI 驱动:动态申请设备号解决双实例加载失败
uvm_hdl_xxx系列后门操作失败的定位问题
评论