interface例化后,往resource pool中的存入与取出

1.interface的例化

(1)可以通过bind方式实现,详见bind章节;

2.interface资源的存入与取出

(1)可以使用uvm_config_db::set/get或者uvm_resource_db::set/read_by_name;

(2)关于存放时,路径层次的一个巧妙的处理(构建module+module例化):

注:其实也没必要非要这样处理,直接根据interface实例hier存放就行;

(2.1)构建一个module;

(2.2)在module内部,通过string path=$psprintf("%m")获取其hierarchy;然后根据字符串的处理方法,从字符串末尾往前遍历,直到遇到一个.号,点号前的内容为去除了实例名的层次;

(2.3)由于后面将该module例化到与interface相同的层次下,于是(2.2)中的层次也是interface的层次,将该层次与interface的实例名拼接,就得到了interface的完整的层次;

(2.4)在module内部,采用uvm_resource_db::set将interface实例放入到resource_pool内,注意该部分语句需要放到initial begin...end块中;

(2.5)将该module采用与bind interface相同的方式,将其与interface例化到相同的hierarchy下;

posted on   知北游。。  阅读(249)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示