uvm_hdl_xxx系列后门操作失败的定位问题

电子说

1.3w人已加入

描述

uvm_hdl_xxx系列在验证环境中经常使用,hvm_hdl_force/deposit用来后门给信号赋值,uvm_hdl_read用于后门读取信号值。

由于某些原因,导致后门读写失败时,在仿真时会遇到如下的错误:

UVM_ERROR: set: unable to write to hdl path ...

出现这种情况时,可以按如下步骤排查:

检查信号的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+all option enables debug capabilities equal to -debug_all 
(except it does not apply capability inside cells and encrypted modules).

(2)结合debug_region编译选项使用:-debug+all -debug_region=cell+lib

编辑:黄飞

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分