UVM event
###########################################################################
############################# 方法一:uvm_event_pool #########################
###########################################################################
// 声明 uvm_event inflight_flush_rsp; // 使用 inflight_flush_rsp = uvm_event_pool::get_global("inflight_flush_rsp"); inflight_flush_rsp.trigger();
###########################################################################
// 声明 uvm_event inflight_flush_rsp; // 使用 inflight_flush_rsp = uvm_event_pool::get_global("inflight_flush_rsp"); inflight_flush_rsp.wait_trigger();
###########################################################################
######################## 方法二:uvm_seq_item_event_pool #####################
###########################################################################
// 声明 uvm_seq_item_event_pool evt_pool; uvm_event #(uvm_sequence_item) l2r_miss_evt; // 使用 evt_pool = uvm_seq_item_event_pool::get_global_pool(); l2r_miss_evt = evt_pool.get("bg_l2r_ready_evt"); l2r_miss_evt.trigger(l2r_req);
###########################################################################
// 声明 uvm_seq_item_event_pool evt_pool;
uvm_event #(uvm_sequence_item) vl1_l2rw_trreq_evt; // 使用 evt_pool = uvm_seq_item_event_pool::get_global_pool();
vl1_l2rw_trreq_evt = evt_pool.get("bg_l2r_ready_evt"); vl1_l2rw_trreq_evt.wait_trigger_data(req); // req必须是uvm_sequence_item类型 $cast(vl1_l2rw_req_tr, req);