微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 问个uvm config 的set和get的问题

问个uvm config 的set和get的问题

时间:10-02 整理:3721RD 点击:
在自己做的module里面加了uvm_config_db#(virtual if)::set(null," ", $formatf("LLLLL%0d_IF",num), test_if);
在uvm模块的monitor中get此if. uvm_config_db#(virtual vif)::get(this," ",$formatf("LLLLL%0d_IF",num), vif);
这样子工作是正常的。

请问:monitor是怎么get到module里面set的内容的呢?用的是uvm-1.1d版本,看源代码没看懂,不知道原理好纠结的说。

找到层次就可以get过来

没明白层次trace的过程,汗!从set那边开始,第二个参数是空的,那么层次指向top。get中层次this指向当前文件,but 不知道中间过程是个啥情况。还是多谢多谢啦

config_db不是uvm_component才有的吗?还能在module里面写Set?

不是啊 ,只要包在initial begin end块里面就可以用哎

关于uvm_config_db可以这样理解,uvm_config_db#(uvm_object)::set(comp,string0,string1,obj),set 操作可以认为做了一个联合数组aa[{comp.get_full_name(),string0,string1}] = obj,而get操作就是得到 aa[{comp.get_full_name(),string0,string1}],那么关于你的问题,在transaction中get某个obj,就可以这样,在test中uvm_config_db#(uvm_object)::set(null,string0,string1,obj),而get时也是uvm_config_db#(uvm_object)::get(null,string0,string1,obj),这样即可

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top