天天看點

UVM資源池之uvm_pool

class uvm_pool #(type KEY=int,T=uvm_void) extends uvm_object
           

資源類是一個參數類,每一個特定類型的資源類(參數類型确定的話)采用single模式,全局唯一

資源類中核心的是聯合數組 T pool [KEY];

兩個核心的靜态方法

1:get_global_pool:擷取全局唯一的pool(資源池)

2:get_global:擷取全局唯一的資源(T對象,即pool【key】)。

class uvm_object_string_pool#(type T=uvm_object) extends uvm_pool #(string,T)
           

兩個主要的資源池

uvm_barrier_pool    //核心資源池       uvm_barrier pool[string]
           
uvm_event_pool  //核心資源池    uvm_event#(uvm_object) pool[string]
           

用法例子

uvm_event e1=uvm_event_pool.get_global("e1")
uvm_barrier b1=uvm_barrier_pool.get_global("b1")