【UVM源码学习】uvm_pool

简介: 【UVM源码学习】uvm_pool

uvm_pool.svh中实现了两个class,其一是uvm_pool,另一是在uvm_pool基础上派生出可通过字符串对动态关联数组进行索引的通用类uvm_object_string_pool。uvm中用到uvm_object_string_pool的地方有uvm_event_pool、uvm_barrier_pool等。


 uvm_pool直接派生自uvm_object,实现了一个动态关联数组的基类,可根据需求对稀疏数组进行定位、传递及存储。uvm_pool实现的主要方法有:



序号 方法 描述
1 get_global_pool 返回global pool,为空的话先new再返回
2 get 返回指定key的item,若item不存在先new再返回
3 get_global 返回global pool中指定key的item,若item不存在先new再返回
4 add 添加item到指定key中,若key的item已存在,则覆盖
5 num 返回pool中非重复key的item总数
6 delete 从pool中删除指定key的item,不存在key会报warning
7 exist 判断pool中是否存在指定key,存在返回1,不存在返回0
8 first 获取pool中第一个item的key,若pool为空返回0,非空返回1
9 last 获取pool中最后一个item的key,若pool为空返回0,非空返回1
10 next 获取pool中下一个item的key,若下一item不存在返回0,存在返回1
11 prev 获取pool中上一个item的key,若下一item不存在返回0,存在返回1
12 get_type_name 获取type_name
13 do_copy 先cast再copy
14 do_print 调用printer打印所有pool中所有key的item


目录
相关文章
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
968 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object
137 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_heartbeat
【UVM源码学习】uvm_heartbeat
251 0
【UVM源码学习】uvm_heartbeat
【UVM源码学习】uvm_barrier
【UVM源码学习】uvm_barrier
153 0
【UVM源码学习】uvm_barrier
|
安全
【UVM源码学习】uvm_links
【UVM源码学习】uvm_links
166 0
【UVM源码学习】uvm_links
【UVM源码学习】uvm_event
【UVM源码学习】uvm_event
330 0
【UVM源码学习】uvm_event
|
存储 C语言
【UVM源码学习】uvm_misc
【UVM源码学习】uvm_misc
140 0
【UVM源码学习】uvm_misc
|
测试技术 数据库 容器
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_resource
185 0
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_object_globals
144 0
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_registry
【UVM源码学习】uvm_registry
247 0
【UVM源码学习】uvm_registry