在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1576|回复: 1

[原创] UVM環境中Trace變量的一種方法 --- Debug Interface

[复制链接]
发表于 2020-5-20 18:59:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
UVM環境中Trace變量的一種方法
                                               --- Debug Interface


       引言:在UVM環境中,如果我們需要追蹤一個變量值,常常是通過`uvm_info()打印到Log中。但是如果要追蹤的變量比較多,並且需要知道他們之間的映射關係,此時用打印的辦法就顯得不足了。假如我們能夠把變量的值送到Interface上面,我們就可以很方便的觀測變量的變化過程以及各個變量之間的協同關係了。本文將給出一種Debug Interface的實現方案。



一、問題引入
       比如我們需要追蹤Scoreboard中的某幾個全局變量,那麼靠Log中的信息,遠遠不足,不方便看到各個變量之間的關係。



二、Debug Interface開發
2.1、Debug Interface的實質
       所謂的debug interface,其實就是一個task,把需要觀測的變量放在敏感信號列表中,并driver到Interface上面。類似蘇Verilog中的always塊。



2.2、實例
bit [7:0]                        hp_chn_id;
bit [7:0]                        lp_chn_id;
bit [31:0]                       dsb_hp_src[$];
bit [23:0]                       dsb_lp_src[$];

virtual dfe_dsb_if.mon           intf_mon;

task dfe_dsb_scoreboard::debug_interface();
  forever begin
    @(hp_chn_id or lp_chn_id or dsb_hp_src[0] or dsb_lp_src[0]);
    intf_mon.monck.hp_chn_id  <= hp_chn_id;
    intf_mon.monck.lp_chn_id  <= lp_chn_id;
    intf_mon.monck.dsb_hp_src <= dsb_hp_src[0];
    intf_mon.monck.dsb_lp_src <= dsb_lp_src[0];
  end

endtask : debug_interface


2.3、在run_phase()中調用上述task
task dfe_dsb_scoreboard::run_phase(uvm_phase phase);

  fork

    debug_interface();

  join_none

endtask
————————————————
版权声明:本文为CSDN博主「gsithxy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gsjthxy/article/details/106195469

发表于 2020-5-26 00:07:40 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:55 , Processed in 0.018696 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表