typedefuvm_in_order_comparator#(T,comp_type,convert,pair_type)this_type;`uvm_component_param_utils(this_type)conststaticstringtype_name="uvm_in_order_comparator #(T,comp_type,convert,pair_type)";// Port: before_export//// The export to which one stream of data is written. The port must be// connected to an analysis port that will provide such data. uvm_analysis_export#(T)before_export;// Port: after_export//// The export to which the other stream of data is written. The port must be// connected to an analysis port that will provide such data.
typeAFTER=int,typeTRANSFORMER=int)extendsuvm_component;conststaticstringtype_name="uvm_algorithmic_comparator #(BEFORE,AFTER,TRANSFORMER)";typedefuvm_algorithmic_comparator#(BEFORE,AFTER,TRANSFORMER)this_type;`uvm_component_param_utils(this_type)// Port: before_export//// The export to which a data stream of type BEFORE is sent via a connected// analysis port. Publishers (monitors) can send in an ordered stream of// transactions against which the transformed BEFORE transactions will// (be compared.
`uvm_object_param_utils(this_type)conststaticstringtype_name="uvm_class_pair #(T1,T2)";// Variable: T1 first//// The handle to the first object in the pairT1first;// Variable: T2 second//// The handle to the second object in the pairT2second;// Function: new//
`uvm_object_param_utils(this_type)conststaticstringtype_name="uvm_built_in_pair #(T1,T2)";// Variable: T1 first//// The first value in the pairT1first;// Variable: T2 second//// The second value in the pairT2second;// Function: new//
// ~type_name~, and implements the virtual// <uvm_object::get_type_name> method.//`define uvm_type_name_decl(TNAME_STRING) \ static function string type_name(); \ return TNAME_STRING; \ endfunction : type_name \ virtual function string get_type_name(); \ return TNAME_STRING; \ endfunction : get_type_name// m_uvm_object_registry_internal// ------------------------------//This is needed due to an issue in of passing down strings//created by args to lower level macros.`define m_uvm_object_registry_internal(T,S) \ typedef uvm_object_registry#(T,`"S`") type_id; \
typedefuvm_in_order_comparator#(T,comp_type,convert,pair_type)this_type;`uvm_component_param_utils(this_type)`uvm_type_name_decl("uvm_in_order_comparator #(T,comp_type,convert,pair_type)")// Port --NODOCS-- before_export//// The export to which one stream of data is written. The port must be// connected to an analysis port that will provide such data. uvm_analysis_export#(T)before_export;// Port --NODOCS-- after_export//// The export to which the other stream of data is written. The port must be// connected to an analysis port that will provide such data. uvm_analysis_export#(T)after_export;
typedefuvm_in_order_built_in_comparator#(T)this_type;`uvm_component_param_utils(this_type)`uvm_type_name_decl("uvm_in_order_built_in_comparator #(T)")functionnew(stringname,uvm_componentparent);super.new(name,parent);endfunctionendclass//------------------------------------------------------------------------------//// CLASS --NODOCS-- uvm_in_order_class_comparator #(T)//// This class uses the uvm_class_* comparison, converter, and pair classes.// Use this class for comparing user-defined objects of type T, which must// provide compare() and convert2string() method.
TRANSFORMER)this_type;`uvm_component_param_utils(this_type)`uvm_type_name_decl("uvm_algorithmic_comparator #(BEFORE,AFTER,TRANSFORMER)")// Port --NODOCS-- before_export//// The export to which a data stream of type BEFORE is sent via a connected// analysis port. Publishers (monitors) can send in an ordered stream of// transactions against which the transformed BEFORE transactions will// (be compared.uvm_analysis_imp#(BEFORE,this_type)before_export;// Port --NODOCS-- after_export//// The export to which a data stream of type AFTER is sent via a connected// analysis port. Publishers (monitors) can send in an ordered stream of
typedefuvm_class_pair#(T1,T2)this_type;`uvm_object_param_utils(this_type)`uvm_type_name_decl("uvm_class_pair #(T1,T2)")// Variable -- NODOCS -- T1 first//// The handle to the first object in the pairT1first;// Variable -- NODOCS -- T2 second//// The handle to the second object in the pairT2second;// Function -- NODOCS -- new//
typedefuvm_built_in_pair#(T1,T2)this_type;`uvm_object_param_utils(this_type)`uvm_type_name_decl("uvm_built_in_pair #(T1,T2)")// Variable -- NODOCS -- T1 first//// The first value in the pairT1first;// Variable -- NODOCS -- T2 second//// The second value in the pairT2second;// Function -- NODOCS -- new//