UVM reg model 常见问题记录
1.仿真log中报出大量的"include_coverage not located, did you mean ***"?
(1) user在构建register model或者集成register model的过程中,可能会调用uvm_reg::build_coverage(), uvm_mem::build_coverage(), uvm_reg_block::build_coverage();而在build_coverage()函数内,会调用uvm_resource_db::read_by_name()函数,该函数又会调用get_by_name()函数,接着调用uvm_resource.svh中的get_by_name()函数与lookup_name()函数,lookup_name()函数在特定条件下,会调用spell_check()函数,而"include_coverage not located, did you mean ***"正式spell_check()函数报出来的;
(2) 其实,问题很简单!当调用uvm_resource_db::read_by_name()函数时,uvm会检查name字符串(该处指"include_coveage")是否有在相应的关联数组rtab中记录过,如果没有就会报错;如果在调用uvm_resource_db::read_by_name()前,进行过uvm_resource_db::set()对name字符串进行记录,则不会报该类错误!
(3) 该种情况中,大概率是调用了build_coverage函数,该函数会读取resource,但是没有调用include_coverage()进行resource的set;
2.调用regmodel前门配置寄存器的过程中,发生了hang的情况,hang在uvm_reg_map do_bus_write函数内的bus_req.end_event.wait_on()处;
(1) hang的原因是define了UVM_DISABLE_AUTO_ITEM_RECORDING;
(2) 具体原因为:
(2.1) bus_req.end_event.wait_on()需要在bus_req.end_event的触发下,才能结束; 而bus_req.end_event.trigger则在uvm_transaction的function end_tr内发生;
(2.2) uvm_component的function end_tr内会调用uvm_transaction.end_tr()函数;
(2.3) uvm_sequence_base的task start()以及finish_item()都会调用uvm_component的task end_tr(); 但是uvm_reg_map采用的是uvm_sequence.finish_item(); 所以研究uvm_sequence的finish_item() task; 该task内在调用sequencer.end_tr()之前会先检测sequencer.is_auto_item_recording_enabled()函数的返回值,因为当前场景下定义了UVM_DISABLE_AUTO_ITEM_RECORDING,导致is_auto_item_recording_enabled()的返回值为0,所以hang;
注1:https://bbs.eetop.cn/thread-863236-1-1.html这个帖子遇到了同样的问题;
3.在使用uvm后门函数时,遇到”UVM_ERROR: set:unable to write to hdl path(...) You may not have sufficient PLI/ACC capabilites enabled for that path“;
(1) 出现这个问题是可以简单的理解为VCS缺乏权限造成的,需要在编译选项中加上-debug_all,打开所有权限即可解决这个问题。
(2) 来源:https://bbs.eetop.cn/thread-886462-1-1.html;
4.使用uvm后门方式(本质调用uvm_hdl_deposit())配置寄存器失败?
(1) int uvm_hdl_deposit(string path, uvm_hdl_data_t value): 将path指定的信号,设定为value值;($deposit函数及其与force的区别见vcs user guide-后续的仿真事件会覆盖掉deposit的值,force则不然);
(2) 寄存器模型后门写时,需要注意如果在reset期间后门写一个reg类型变量(尤其是seq内后门写寄存器时,如果seq内寄存器配置的时机不合适),可能不会达到预期结果; 原因就在于deposit和force不同,当信号值受其他因素影响而改变时,会覆盖deposit值; reset期间, reg类型变量可能会在always块内被赋值为0,进而覆盖deposit值;
UVM reg model 常见问题记录的更多相关文章
- 帝国CMS常见问题记录
1.第一次安装,为什么找不到"增加信息"的地方?因为你未增加栏目,请先增加栏目,然后再增加信息(终极栏目下方可增加信息). 2.为什么信息管理的"信息栏目"列表不变?缓存问题,解决方法如下两种:1." ...
- ios学习之常见问题记录
使用Core Data的好处和缺点? 首先这是apple官方极力推荐的,使用它而不是SQLite.好处有大概这么几点:1.减少你model层的代码量,减少50%-70%.无需测试和优化.2.提供了内存 ...
- Win10常见问题记录
基本信息 记录我在使用win10过程中遇到的一些问题 我所使用的两个win10系统 Win10 企业版 1607(家里电脑) Win10 专业版 1806(公司电脑) win10 开启Sets 请问您 ...
- 关于PaddleSharp GPU使用 常见问题记录
在安装NVIDIA驱动过程中遇到一系列问题,记录如下! 附上PaddleSharp地址,大家喜欢可以关注 根据PaddleSharp官方说明需要安装驱动如下 CUDA 和 cuDNN 和 Tensor ...
- VMware下Debian开发环境部署之常见问题记录
本文讲介绍windows作为宿主机,linux虚拟机作为编译环境的开发环境搭建中最常用到的三个问题,详细描述了解决过程. 目录: 1.网路配置: 2.分辨率设置: 3.共享网盘设置: 1.网络设置,V ...
- Mui中常见问题记录
1.mui中A标签如果有这个class="mui-control-item"时,a标签点击链接是没有反应的,那么可以用以下方式实现 : mui.init(); mui('body' ...
- layui常见问题记录
1.用js选中checkbox,没有效果 解决方式:加入 form.render(); 重新渲染表单 $(this).prop('checked', true); //在新版本的jquery中,如果是 ...
- python Scrapy 常见问题记录
ImportError: No module named win32api 处理办法 windows系统上出现这个问题的解决需要安装Py32Win模块,但是直接通过官网链接装exe会出现几百个错误,更 ...
- SpringBoot 常见问题记录
问题一 Error starting ApplicationContext. To display the auto-configuration report re-run your applicat ...
- svn 常见问题记录
One or more files are in a conflicted state 情景:A组员新增文件并提交,B组员更新出现如下图情况. 解决方案:直接拷贝到B组员工作区.
随机推荐
- Gridea,一个小而美的博客梦想桥梁
欢迎到我自己搭建的博客查看最新最全的这篇文章,效果更佳- 备注:本文叙述操作过程非常详细,会稍现冗长,可以适当的跳读. 引子 相信大家应该已经非常了解GitHub pages了,他是一个基于githu ...
- HttpProxyCacheServer (音视频缓存框架)
implementation 'com.danikula:videocache:2.7.0' //包 MyApplication 中: //音视频缓存框架private HttpProxyCacheS ...
- SAP 删除始终使用选定的格式
修改默认格式 se38 SALV_BS_ADMIN_MAINTAIN
- 2.6 EmpController
package com.hy.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.H ...
- leetcode刷题(三)
1.图论 找到小镇的法官 在一个小镇里,按从 1 到 N 标记了 N 个人.传言称,这些人中有一个是小镇上的秘密法官. 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人.每个人(除了小镇法官外) ...
- Parsing error: missing-whitespace-between-attributes
给如下位置添加空格即可 在文件末尾添加一空白行即可
- WDA学习(28):Drag &Drop使用
1.21 Drag Drop使用 本实例测试Drag Drop; 运行结果: Drag图标Drop到添加Icon,会将一条记录添加到Table; Drag Table记录Drop到垃圾桶Icon,会将 ...
- 2022-05-26内部群每日三题-清辉PMP
1.在执行关键路径上的一项活动时,职能主管将涉及这个活动的两个项目资源调去支持解决某个应急情况,项目经理应该怎么做? A.实施应急计划 B.快速跟进关键路径 C.与职能经理协商分配替代资源 D.将该问 ...
- 2022-05-20内部群每日三题-清辉PMP
1.一位团队成员通知项目经理有一个问题可能会破坏项目.项目经理将该问题添加到问题日志中,并要求团队找到解决方案. 项目经理下一步应该怎么做? A.更新风险登记册 B.修订项目管理计划 C.确定适当的风 ...
- cisco-RIPv2重分发缺省路由
项目设计: 网络拓扑图: IP地址规划表 设备 端口 接口模式 绑定vlan IP地址 对端设备 端口 IP地址 R1 Fa0/0 无 无 172.16.1.1/30 R2 Fa0/0 172.16. ...