• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

uvm_table_printer的用法

相信大多数朋友在打印类中数组成员时都遇到过数组打印信息不全的困扰:

假如图中pload[5]到pload[194]中间某些数据出现错误,则会为debug带来困扰。
今天分享一个很实用但却少有人知的小技巧,通过修改uvm_printer中的部分参数解决上述问题。
之所以出现上面的问题是因为uvm_printer类中有一个uvm_printer_knobs类型的成员knobs:

此类中有两个变量:
begin_elements
end_elements
这两个变量默认值均为5,这也是为何数组开头和结尾均只打印五个数据的原因。只需要将这两个变量的值都改为-1,数组就会全部打印出来了。
下面是改配参数的方法:

其中uvm_table_printer是uvm_printer的扩展类,因为后者是一个抽象类,不能实例化,所以这里更改uvm_table_printer。代码中打印那行代码也可以直接改成tr.print(full_printer)。
打印结果如下:

posted on 2023-07-03 22:03  SOC验证工程师  阅读(1398)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3