按 type name 字符串做匹配/过滤/打印归档的代码(如波形或日志脚本匹配 uvm_event)会失配。同理 uvm_barrier/uvm_pool/uvm_queue 因改用宏注册,get_type_name 值保持不变("uvm_barrier"/"uvm_pool"/"uvm_queue"),仅 event 系变化。
returntrigger_data;endfunctionvirtualfunctionstringget_type_name();returntype_name;endfunction//-----------//// callbacks ////-----------//// Function: add_callback//// Registers a callback object, ~cb~, with this event. The callback object// may include pre_trigger and post_trigger functionality. If ~append~ is set// to 1, the default, ~cb~ is added to the back of the callback list. Otherwise,// ~cb~ is placed at the front of the callback list.virtualfunctionvoidadd_callback(uvm_event_callback#(T)cb,bitappend=1);
// @uvm-ieee 1800.2-2020 auto 10.1.1.1virtualclassuvm_event_baseextendsuvm_object;`uvm_object_abstract_utils(uvm_event_base)protectedeventm_event;protectedintnum_waiters;protectedbiton;protectedtimetrigger_time=0;// Function -- NODOCS -- new//// Creates a new event object.// @uvm-ieee 1800.2-2020 auto 10.1.1.2.1functionnew(stringname="");super.new(name);endfunction
`uvm_object_param_utils(this_type)// Better type name for debugvirtualfunctionstringget_type_name();return"uvm_pkg::uvm_event#(T)";endfunction:get_type_namelocalTtrigger_data;localTdefault_data;// Function -- NODOCS -- new//// Creates a new event object.// @uvm-ieee 1800.2-2020 auto 10.1.2.2.1functionnew(stringname="");super.new(name);endfunction