UVM学习 | 您所在的位置:网站首页 › uvm打印信息 › UVM学习 |
在config_db机制中,分为set和get两步操作。所谓set操作,简单理解为“寄信”,而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被调用。 config_db调试中的一个函数。
|
CopyRight 2018-2019 实验室设备网 版权所有 |