UVM学习 您所在的位置:网站首页 uvm打印信息 UVM学习

UVM学习

2023-03-12 09:08| 来源: 网络整理| 查看: 265

        在config_db机制中,分为set和get两步操作。所谓set操作,简单理解为“寄信”,而get则相当于是“收信”。这两个都是静态函数。

注意点:第一个参数和第二个参数联合起来组成目标路劲,与此路径符合的目标才能收信。第一个参数必须是一个uvm_component实例的指针,第二个参数是相对此实例的路径。第三个参数表示一个记号,用以说明这个值是传给目标中的哪个成员的。第四个参数是要设置的值。在get中,一般的,如果第一个参数被设置为this,那个第二个参数可以是一个空的字符串。 省略get语句

        假设my_driver有成员变量pre_num,当执行到driver的super.build_phase时,会自动执行get语句。这种做法的前提是:第一,my_driver必须使用uvm_component_utils宏注册;第二,pre_num必须使用uvm_field_int宏注册;第三,在调用set函数的时候,set函数的第三个参数必须与要get函数中变量的名字相一致,即必须是pre_num。

跨层次的多重设置

当set函数的一个参数是this时,比较优先级,优先级高的层次就先被获取。当set函数的一个参数不是this时,比较寄信的时间,时间短的先被获取。

非直线的设置和获取

在其它component,如scoreboard中,对driver的某些变量使用config_db机制进行设置,则称为非直线设置。在其它component,如reference model中获取其他component设置给my_driver的参数的值,称为非直线的获取。要进行非直线的设置,需要仔细设置set函数的第一个和第二个参数。要进行非直线的获取也只需要设置其第一个和第二个参数。

 

check_config_usage

         可以显示出截止到此函数调用时有哪些参数是被设置过但是却没有被获取过。由于config_db的set及get语句一般都用于build_phase阶段,所以此函数一般在connect_phase被调用。

print_config

config_db调试中的一个函数。

其中参数1表示递归的查询,若为0,则只显示当前component的信息。print_config的输出结果中有很多的冗余信息。它会遍历整个验证平台的所有结点,找出哪些被设置过的信息对于它们是可见的。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有