ovm_object_defines.svh File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ovm_field_utils
#define ovm_field_utils_begin(T)
#define ovm_field_utils_end
#define ovm_object_utils(T)
#define ovm_object_param_utils(T)
#define ovm_object_utils_begin(T)
#define ovm_object_param_utils_begin(T)
#define ovm_object_utils_end
#define ovm_component_utils(T)
#define ovm_component_param_utils(T)
#define ovm_component_utils_begin(T)
#define ovm_component_param_utils_begin(T)
#define ovm_component_utils_end
#define ovm_field_int(ARG, FLAG)
#define ovm_field_enum(T, ARG, FLAG)
#define ovm_field_object(ARG, FLAG)
#define ovm_field_event(ARG, FLAG)
#define ovm_field_string(ARG, FLAG)
#define ovm_field_array_int(ARG, FLAG)
#define ovm_field_array_enum(T, ARG, FLAG)
#define ovm_field_queue_enum(T, ARG, FLAG)
#define ovm_field_sarray_enum(T, ARG, FLAG)
#define ovm_field_qda_enum(T, ARG, FLAG)
#define ovm_unpack_array_enum(T, ARG, FLAG)
#define ovm_unpack_queue_enum(T, ARG, FLAG)
#define ovm_pack_unpack_sarray_enum(T, ARG, FLAG)
#define ovm_field_sarray_int(ARG, FLAG)
#define ovm_field_array_object(ARG, FLAG)
#define ovm_field_sarray_object(ARG, FLAG)
#define ovm_field_array_string(ARG, FLAG)
#define ovm_field_sarray_string(ARG, FLAG)
#define ovm_field_queue_int(ARG, FLAG)
#define ovm_field_queue_object(ARG, FLAG)
#define ovm_field_queue_string(ARG, FLAG)
#define ovm_field_aa_int_string(ARG, FLAG)
#define ovm_field_aa_object_string(ARG, FLAG)
#define ovm_field_aa_string_string(ARG, FLAG)
#define ovm_field_aa_object_int(ARG, FLAG)
#define ovm_field_aa_int_int(ARG, FLAG)   ovm_field_aa_int_key(int, ARG, FLAG) \
#define ovm_field_aa_int_int_unsigned(ARG, FLAG)   ovm_field_aa_int_key(int unsigned, ARG, FLAG)
#define ovm_field_aa_int_integer(ARG, FLAG)   ovm_field_aa_int_key(integer, ARG, FLAG)
#define ovm_field_aa_int_integer_unsigned(ARG, FLAG)   ovm_field_aa_int_key(integer unsigned, ARG, FLAG)
#define ovm_field_aa_int_byte(ARG, FLAG)   ovm_field_aa_int_key(byte, ARG, FLAG)
#define ovm_field_aa_int_byte_unsigned(ARG, FLAG)   ovm_field_aa_int_key(byte unsigned, ARG, FLAG)
#define ovm_field_aa_int_shortint(ARG, FLAG)   ovm_field_aa_int_key(shortint, ARG, FLAG)
#define ovm_field_aa_int_shortint_unsigned(ARG, FLAG)   ovm_field_aa_int_key(shortint unsigned, ARG, FLAG)
#define ovm_field_aa_int_longint(ARG, FLAG)   ovm_field_aa_int_key(longint, ARG, FLAG)
#define ovm_field_aa_int_longint_unsigned(ARG, FLAG)   ovm_field_aa_int_key(longint unsigned, ARG, FLAG)
#define ovm_field_aa_int_key(KEY, ARG, FLAG)
#define ovm_set_flags(ARG, FLAG)
#define ovm_print_msg_enum(LHS, RHS)
#define ovm_record_int(ARG, FLAG)
#define ovm_record_string(ARG)   recorder.record_string("ARG", ARG); \
#define ovm_record_object(ARG, FLAG)
#define ovm_record_any_object(ARG)
#define ovm_new_func
#define ovm_component_new_func   ovm_new_func
#define ovm_new_func_data
#define ovm_object_new_func   ovm_new_func_data
#define ovm_named_object_new_func
#define ovm_object_create_func(T)
#define ovm_named_object_create_func(T)
#define ovm_named_object_factory_create_func(T)   ovm_named_object_create_func(T) \
#define ovm_object_factory_create_func(T)
#define ovm_component_factory_create_func(T)
#define ovm_get_type_name_func(T)
#define USE_PARAMETERIZED_WRAPPER
#define ovm_register_self_func(T)
#define ovm_factory_override_func
#define ovm_object_registry(T, S)
#define ovm_object_registry_internal(T, S)
#define ovm_object_registry_param(T)
#define ovm_component_registry(T, S)
#define ovm_component_registry_internal(T, S)
#define ovm_component_registry_param(T)
#define OVM_FIELD_DATA(ARG, FLAG)
#define OVM_FIELD_ENUM(T, ARG, FLAG)
#define OVM_FIELD_DATA_EVENT(ARG, FLAG)
#define OVM_FIELD_DATA_OBJECT(ARG, FLAG)
#define OVM_FIELD_DATA_STRING(ARG, FLAG)
#define RESIZE_QUEUE_NOCOPY(T, ARG, SIZE)
#define RESIZE_QUEUE_COPY(T, ARG, SIZE)
#define RESIZE_QUEUE_OBJECT_NOCOPY(ARG, SIZE)
#define RESIZE_QUEUE_OBJECT_COPY(ARG, SIZE)
#define ovm_record_array_int(ARG, RADIX, RECORDER)
#define ovm_record_qda_enum(T, ARG, RECORDER)
#define OVM_FIELD_DATA_ARRAY(ARG, FLAG)
#define OVM_FIELD_ARRAY_INT_PACK(ARG, FLAG)
#define OVM_FIELD_QUEUE_INT_PACK(ARG, FLAG)
#define OVM_FIELD_DATA_SARRAY(ARG, FLAG)
#define ovm_record_array_object(ARG, RECORDER)
#define OVM_FIELD_DATA_ARRAY_OBJECT(ARG, FLAG)
#define OVM_FIELD_ARRAY_OBJ_PACK(ARG, FLAG)
#define OVM_FIELD_QUEUE_OBJ_PACK(ARG, FLAG)
#define OVM_FIELD_DATA_SARRAY_OBJECT(ARG, FLAG)
#define ovm_record_array_string(ARG, RECORDER)
#define OVM_FIELD_DATA_ARRAY_STRING(ARG, FLAG)
#define OVM_FIELD_DATA_SARRAY_STRING(ARG, FLAG)
#define OVM_FIELD_ARRAY_STR_PACK(ARG, FLAG)
#define OVM_FIELD_QUEUE_STR_PACK(ARG, FLAG)
#define OVM_COMPARE_FAILED(ARG)
#define OVM_FIELD_DATA_AA_generic(TYPE, KEY, ARG, FLAG)
#define OVM_FIELD_DATA_AA_int_string(ARG, FLAG)   OVM_FIELD_DATA_AA_generic(int, string, ARG, FLAG)
#define OVM_FIELD_DATA_AA_int_key(KEY, ARG, FLAG)
#define OVM_FIELD_DATA_AA_object_string(ARG, FLAG)
#define OVM_FIELD_DATA_AA_object_int(ARG, FLAG)
#define OVM_FIELD_DATA_AA_string_string(ARG, FLAG)
#define DOREFERENCECOPY(ARG, FLAG)
#define DODEEPCOPY(ARG, FLAG)
#define DOSHALLOWCOPY(ARG1, ARG2, FLAG)
#define OVM_FIELD_SET(ARG, FLAG)
#define OVM_FIELD_SET_EVENT(ARG, FLAG)
#define OVM_FIELD_SET_OBJECT(ARG, FLAG)
#define OVM_FIELD_SET_STRING(ARG, FLAG)
#define OVM_FIELD_SET_QUEUE_TYPE(ATYPE, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_QUEUE_ENUM(T, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_QUEUE_OBJECT_TYPE(ARRAY, FLAG)
#define OVM_FIELD_SET_AA_TYPE(INDEX_TYPE, ARRAY_TYPE, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_AA_OBJECT_TYPE(INDEX_TYPE, ARRAY, FLAG)
#define OVM_FIELD_SET_AA_INT_TYPE(INDEX_TYPE, ARRAY_TYPE, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_ARRAY_TYPE(ARRAY_TYPE, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_ARRAY_ENUM(T, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_SARRAY_TYPE(ARRAY_TYPE, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_SARRAY_ENUM(T, ARRAY, RHS, FLAG)
#define OVM_FIELD_SET_ARRAY_OBJECT_TYPE(ARRAY, FLAG)
#define OVM_FIELD_SET_SARRAY_OBJECT_TYPE(ARRAY, FLAG)
#define OVM_FIELD_SET_ARRAY_OBJECT(ARG, FLAG)
#define OVM_FIELD_SET_SARRAY_OBJECT(ARG, FLAG)
#define OVM_FIELD_SET_QUEUE_OBJECT(ARG, FLAG)


Define Documentation

#define DODEEPCOPY ARG,
FLAG   ) 
 

Value:

begin \
    ovm_object this_d__, from_d__; \
    if(tmp_data__ != null) \
      if(!$cast(local_data__, tmp_data__)) begin \
        ovm_object::m_sc.scratch1 = "Cast failed for argument: ARG"; \
      end \
    if(ARG != null) $cast(this_d__,ARG); \
    if(local_data__.ARG != null) $cast(from_d__,local_data__.ARG); \
\
    if((this_d__==null) && (from_d__!=null)) begin \
      this_d__ = from_d__.clone(); \
      this_d__.set_name("ARG"); \
    end \
    else if(from_d__ == null) \
      this_d__ = from_d__; \
    else begin \
      this_d__.copy(from_d__); \
    end \
    if((this_d__ == null) || !$cast(ARG, this_d__)) begin \
      ovm_object::m_sc.scratch1 = "Cast failed for ARG during copy"; \
      _global_reporter.ovm_report_error("CSTFLD", ovm_object::m_sc.scratch1); \
    end \
  end

Definition at line 2185 of file ovm_object_defines.svh.

#define DOREFERENCECOPY ARG,
FLAG   ) 
 

Value:

if( (FLAG)&OVM_REFERENCE)) \
      ARG = local_data__.ARG; \

Definition at line 2178 of file ovm_object_defines.svh.

#define DOSHALLOWCOPY ARG1,
ARG2,
FLAG   ) 
 

Value:

if( (FLAG)&OVM_SHALLOW) \
    begin \
      ovm_object lhs__, rhs__; \
      ovm_object::m_sc.scratch1 = "Executing shallow copy of arg ARG"; \
 \
 \
      if(ARG2==null) ARG1 = ARG2; \
      else begin \
        if(ARG1 != null) $cast(lhs__, ARG1); \
        if(ARG2 != null) $cast(rhs__, ARG2); \
        if(rhs__!=null && lhs__!=null) \
          lhs__.copy(rhs__); \
        else if(rhs__ != null) begin \
          $cast(lhs__, rhs__.clone()); \
          if (lhs__ != null) \
            $cast(ARG1, lhs__); \
        end \
        else \
          ARG1 = null; \
 \
      end \
    end \
  else \
    begin \
      ovm_object::m_sc.scratch1 = "Shallow copy off for arg ARG"; \
    end

Definition at line 2214 of file ovm_object_defines.svh.

#define OVM_COMPARE_FAILED ARG   ) 
 

Value:

Definition at line 1880 of file ovm_object_defines.svh.

#define ovm_component_factory_create_func  ) 
 

Value:

function ovm_component create_component (string name, ovm_component parent); \
     T tmp; \
     tmp = new(.name(name), .parent(parent)); \
     return tmp; \
   endfunction \
   \
   static function T create(string name, ovm_component parent, string contxt=""); \
     ovm_factory f; \
     f = ovm_factory::get(); \
     if (contxt == "" && parent != null) \
       contxt = parent.get_full_name(); \
     assert ($cast(create, f.create_component_by_type(get(),contxt,name,parent))) \
     else $fatal(0,"Factory did not return a component of type, ",type_name); \
   endfunction

Definition at line 944 of file ovm_object_defines.svh.

#define ovm_component_new_func   ovm_new_func
 

Definition at line 875 of file ovm_object_defines.svh.

#define ovm_component_param_utils  ) 
 

Value:

Definition at line 199 of file ovm_object_defines.svh.

#define ovm_component_param_utils_begin  ) 
 

Value:

Definition at line 224 of file ovm_object_defines.svh.

#define ovm_component_registry T,
 ) 
 

Value:

typedef ovm_component_registry #(T,S) type_id; \
   function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1133 of file ovm_object_defines.svh.

#define ovm_component_registry_internal T,
 ) 
 

Value:

typedef ovm_component_registry #(T,"S") type_id; \
   static function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1140 of file ovm_object_defines.svh.

#define ovm_component_registry_param  ) 
 

Value:

typedef ovm_component_registry #(T,S) type_id; \
   function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1167 of file ovm_object_defines.svh.

#define ovm_component_utils  ) 
 

Value:

Definition at line 189 of file ovm_object_defines.svh.

#define ovm_component_utils_begin  ) 
 

Value:

Definition at line 213 of file ovm_object_defines.svh.

#define ovm_component_utils_end
 

Value:

end \
   endfunction

Definition at line 233 of file ovm_object_defines.svh.

#define ovm_factory_override_func
 

Definition at line 1016 of file ovm_object_defines.svh.

#define ovm_field_aa_int_byte ARG,
FLAG   )     ovm_field_aa_int_key(byte, ARG, FLAG)
 

Definition at line 723 of file ovm_object_defines.svh.

#define ovm_field_aa_int_byte_unsigned ARG,
FLAG   )     ovm_field_aa_int_key(byte unsigned, ARG, FLAG)
 

Definition at line 726 of file ovm_object_defines.svh.

#define ovm_field_aa_int_int ARG,
FLAG   )     ovm_field_aa_int_key(int, ARG, FLAG) \
 

Definition at line 711 of file ovm_object_defines.svh.

#define ovm_field_aa_int_int_unsigned ARG,
FLAG   )     ovm_field_aa_int_key(int unsigned, ARG, FLAG)
 

Definition at line 714 of file ovm_object_defines.svh.

#define ovm_field_aa_int_integer ARG,
FLAG   )     ovm_field_aa_int_key(integer, ARG, FLAG)
 

Definition at line 717 of file ovm_object_defines.svh.

#define ovm_field_aa_int_integer_unsigned ARG,
FLAG   )     ovm_field_aa_int_key(integer unsigned, ARG, FLAG)
 

Definition at line 720 of file ovm_object_defines.svh.

#define ovm_field_aa_int_key KEY,
ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_AA_int_key(KEY,ARG,FLAG) \
  OVM_FIELD_SET_AA_INT_TYPE(KEY, INT, ARG, m_sc.bitstream, FLAG)  \
  m_sc.scope.up(null); \
  end

Definition at line 741 of file ovm_object_defines.svh.

#define ovm_field_aa_int_longint ARG,
FLAG   )     ovm_field_aa_int_key(longint, ARG, FLAG)
 

Definition at line 735 of file ovm_object_defines.svh.

#define ovm_field_aa_int_longint_unsigned ARG,
FLAG   )     ovm_field_aa_int_key(longint unsigned, ARG, FLAG)
 

Definition at line 738 of file ovm_object_defines.svh.

#define ovm_field_aa_int_shortint ARG,
FLAG   )     ovm_field_aa_int_key(shortint, ARG, FLAG)
 

Definition at line 729 of file ovm_object_defines.svh.

#define ovm_field_aa_int_shortint_unsigned ARG,
FLAG   )     ovm_field_aa_int_key(shortint unsigned, ARG, FLAG)
 

Definition at line 732 of file ovm_object_defines.svh.

#define ovm_field_aa_int_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_AA_int_string(ARG,FLAG) \
  OVM_FIELD_SET_AA_TYPE(string, INT, ARG, m_sc.bitstream, FLAG)  \
  m_sc.scope.up(null); \
  end

Definition at line 661 of file ovm_object_defines.svh.

#define ovm_field_aa_object_int ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_AA_object_int(ARG,FLAG) \
  OVM_FIELD_SET_AA_OBJECT_TYPE(int, ARG, FLAG)  \
  m_sc.scope.up(null); \
  end

Definition at line 699 of file ovm_object_defines.svh.

#define ovm_field_aa_object_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_AA_object_string(ARG,FLAG) \
  OVM_FIELD_SET_AA_OBJECT_TYPE(string, ARG, FLAG)  \
  m_sc.scope.up(null); \
  end

Definition at line 674 of file ovm_object_defines.svh.

#define ovm_field_aa_string_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_AA_string_string(ARG,FLAG) \
  OVM_FIELD_SET_AA_TYPE(string, STR, ARG, m_sc.stringv, FLAG)  \
  m_sc.scope.up(null); \
  end

Definition at line 687 of file ovm_object_defines.svh.

#define ovm_field_array_enum T,
ARG,
FLAG   ) 
 

Value:

begin \
    ovm_field_qda_enum(T,ARG,FLAG) \
    ovm_unpack_array_enum(T,ARG,FLAG) \
    OVM_FIELD_SET_ARRAY_ENUM(T, ARG, m_sc.bitstream, FLAG) \
  end

Definition at line 361 of file ovm_object_defines.svh.

#define ovm_field_array_int ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG",null); \
  if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
    if(local_data__!=null) begin \
      ARG = new [local_data__.ARG.size()](local_data__.ARG); \
    end \
    else begin \
      ARG.delete(); \
    end \
  end \
  OVM_FIELD_DATA_ARRAY(ARG,FLAG) \
  OVM_FIELD_ARRAY_INT_PACK(ARG,FLAG) \
  OVM_FIELD_SET_ARRAY_TYPE(INT, ARG, m_sc.bitstream, FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 340 of file ovm_object_defines.svh.

#define OVM_FIELD_ARRAY_INT_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_field(ARG[i], $bits(ARG[i])); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
            ARG = new[s_]; \
          end \
          foreach(ARG[i]) \
            ARG[i] = ovm_auto_options_object.packer.unpack_field($bits(ARG[i])); \
        end \
  endcase

Definition at line 1500 of file ovm_object_defines.svh.

#define OVM_FIELD_ARRAY_OBJ_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_object(ARG[i]); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
 \
            if(ARG.size() < s_) \
              _global_reporter.ovm_report_error("OBJUPK", $psprintf("Array ARG cannot support the unpack operation, the unpack requires %0d elements, ARG has only %0d", s_, ARG.size())); \
          end \
          foreach(ARG[i]) begin \
            ovm_auto_options_object.packer.unpack_object(ARG[i]); \
          end \

Definition at line 1642 of file ovm_object_defines.svh.

#define ovm_field_array_object ARG,
FLAG   ) 
 

Value:

begin \
    if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
    m_sc.scope.down("ARG", null); \
    if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
      if(local_data__!=null) begin \
         ARG = new[local_data__.ARG.size()]; \
      end \
      else begin \
        ARG.delete(); \
      end \
    end \
    OVM_FIELD_DATA_ARRAY_OBJECT(ARG,FLAG) \
    OVM_FIELD_ARRAY_OBJ_PACK(ARG,FLAG) \
    OVM_FIELD_SET_ARRAY_OBJECT(ARG,FLAG) \
    m_sc.scope.up(null); \
  end

Definition at line 509 of file ovm_object_defines.svh.

#define OVM_FIELD_ARRAY_STR_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_string(ARG[i]); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
            ARG = new[s_]; \
          end \
          foreach(ARG[i]) begin \
            ARG[i] = ovm_auto_options_object.packer.unpack_string(-1); \
          end \
        end \
  endcase

Definition at line 1828 of file ovm_object_defines.svh.

#define ovm_field_array_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
    if(local_data__!=null) begin \
       ARG = new[local_data__.ARG.size()]; \
    end \
    else begin \
      ARG.delete(); \
    end \
  end \
  OVM_FIELD_DATA_ARRAY_STRING(ARG,FLAG) \
  OVM_FIELD_ARRAY_STR_PACK(ARG,FLAG) \
  OVM_FIELD_SET_ARRAY_TYPE(STR, ARG, m_sc.stringv, FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 555 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA ARG,
FLAG   ) 
 

Definition at line 1179 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_generic TYPE,
KEY,
ARG,
FLAG   ) 
 

Definition at line 1896 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_int_key KEY,
ARG,
FLAG   ) 
 

Definition at line 1952 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_int_string ARG,
FLAG   )     OVM_FIELD_DATA_AA_generic(int, string, ARG, FLAG)
 

Definition at line 1946 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_object_int ARG,
FLAG   ) 
 

Definition at line 2066 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_object_string ARG,
FLAG   ) 
 

Definition at line 2008 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_string_string ARG,
FLAG   ) 
 

Definition at line 2131 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY ARG,
FLAG   ) 
 

Definition at line 1447 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY_OBJECT ARG,
FLAG   ) 
 

Definition at line 1590 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY_STRING ARG,
FLAG   ) 
 

Definition at line 1758 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_EVENT ARG,
FLAG   ) 
 

Value:

begin \
    if(what__ == OVM_PRINT && ( (FLAG)&OVM_NOPRINT != 0) && \
                          ovm_auto_options_object.printer.knobs.print_fields == 1) \
       ovm_auto_options_object.printer.print_generic("ARG", "event", -1, "-"); \
    else if((what__ == OVM_COMPARE) && ( (FLAG)&OVM_NOCOMPARE != 0) && \
            local_data__ && ARG != local_data__.ARG) \
    begin \
      ovm_auto_options_object.comparer.print_msg(""); \
    end \
    else if((what__ == OVM_COPY) && local_data__ && ( (FLAG)&OVM_NOCOPY != 0 ) ) \
    begin \
      ARG = local_data__.ARG; \
    end \
  end

Definition at line 1266 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_OBJECT ARG,
FLAG   ) 
 

Definition at line 1286 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_SARRAY ARG,
FLAG   ) 
 

Value:

begin \
    if((what__ & (FLAG)) || (what__ >= OVM_MACRO_EXTRAS)) begin \
      if(what__ == OVM_PRINT) \
        ovm_print_sarray_int3(ARG, ovm_radix_enum((FLAG)&(OVM_RADIX)), \
                                   ovm_auto_options_object.printer) \
      else if(tmp_data__!=null) begin \
        foreach(ARG[i__]) \
          if($cast(local_data__, tmp_data__)) begin \
            void(m_do_data($psprintf("ARG[%0d]",i__), ARG[i__], local_data__.ARG[i__], what__, $bits(ARG[i__]), FLAG)); \
          end \
      end \
      else begin \
        foreach(ARG[i__]) \
          if($cast(local_data__, tmp_data__)) begin \
            void(m_do_data($psprintf("ARG[%0d]",i__), ARG[i__], 0, what__, $bits(ARG[i__]), FLAG)); \
          end \
      end \
    end \
  end

Definition at line 1547 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_SARRAY_OBJECT ARG,
FLAG   ) 
 

Definition at line 1705 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_SARRAY_STRING ARG,
FLAG   ) 
 

Value:

begin \
    if((what__ & (FLAG)) || (what__ >= OVM_MACRO_EXTRAS)) begin \
      if(what__ == OVM_PRINT) \
        ovm_print_sarray_string2(ARG, ovm_auto_options_object.printer) \
      else if(tmp_data__!=null) begin \
        foreach(ARG[i__]) \
          if($cast(local_data__, tmp_data__)) begin \
            void(m_do_data_string($psprintf("ARG[%0d]",i__), ARG[i__], local_data__.ARG[i__], what__, FLAG)); \
          end \
      end \
      else begin \
        foreach(ARG[i__]) \
          if($cast(local_data__, tmp_data__)) begin \
            void(m_do_data_string($psprintf("ARG[%0d]",i__), ARG[i__], "", what__, FLAG)); \
          end \
      end \
    end \
  end

Definition at line 1808 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_STRING ARG,
FLAG   ) 
 

Value:

begin \
    int r__; \
    if(local_data__ != null) begin \
      if($cast(local_data__, tmp_data__)) begin \
        r__ = m_do_data_string("ARG", ARG, local_data__.ARG, what__, FLAG); \
      end \
    end \
    else \
      r__ = m_do_data_string("ARG", ARG, "", what__, FLAG); \
  end

Definition at line 1355 of file ovm_object_defines.svh.

#define OVM_FIELD_ENUM T,
ARG,
FLAG   ) 
 

Definition at line 1215 of file ovm_object_defines.svh.

#define ovm_field_enum T,
ARG,
FLAG   ) 
 

Value:

begin \
  m_sc.scope.set_arg("ARG"); \
  OVM_FIELD_ENUM(T,ARG,FLAG) \
  m_sc.scope.unset_arg("ARG"); \
  end

Definition at line 267 of file ovm_object_defines.svh.

#define ovm_field_event ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_EVENT(ARG,FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 303 of file ovm_object_defines.svh.

#define ovm_field_int ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.set_arg("ARG"); \
  OVM_FIELD_DATA(ARG,FLAG) \
  OVM_FIELD_SET(ARG,FLAG) \
  m_sc.scope.unset_arg("ARG"); \
  end

Definition at line 257 of file ovm_object_defines.svh.

#define ovm_field_object ARG,
FLAG   ) 
 

Value:

if((ARG==null) || !m_sc.scope.in_hierarchy(ARG)) begin \
    if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
    m_sc.scope.down("ARG", ARG); \
    OVM_FIELD_DATA_OBJECT(ARG,FLAG) \
    OVM_FIELD_SET_OBJECT(ARG,FLAG) \
    m_sc.scope.up(ARG); \
  end

Definition at line 284 of file ovm_object_defines.svh.

#define ovm_field_qda_enum T,
ARG,
FLAG   ) 
 

Definition at line 404 of file ovm_object_defines.svh.

#define ovm_field_queue_enum T,
ARG,
FLAG   ) 
 

Value:

begin \
    ovm_field_qda_enum(T,ARG,FLAG) \
    ovm_unpack_queue_enum(T,ARG,FLAG) \
    OVM_FIELD_SET_QUEUE_ENUM(T, ARG, m_sc.bitstream, FLAG) \
  end

Definition at line 368 of file ovm_object_defines.svh.

#define ovm_field_queue_int ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
    if(local_data__!=null) begin \
      RESIZE_QUEUE_NOCOPY(ovm_bitstream_t, ARG, local_data__.ARG.size()) \
    end \
    else begin \
      RESIZE_QUEUE_NOCOPY(ovm_bitstream_t, ARG, 0) \
    end \
  end \
  OVM_FIELD_DATA_ARRAY(ARG,FLAG) \
  OVM_FIELD_QUEUE_INT_PACK(ARG,FLAG) \
  OVM_FIELD_SET_QUEUE_TYPE(INT, ARG, m_sc.bitstream, FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 583 of file ovm_object_defines.svh.

#define OVM_FIELD_QUEUE_INT_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_field(ARG[i], $bits(ARG[i])); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
            while(ARG.size() < s_) ARG.push_back(0); \
            while(ARG.size() > s_) void(ARG.pop_front()); \
          end \
          foreach(ARG[i]) \
            ARG[i] = ovm_auto_options_object.packer.unpack_field($bits(ARG[i])); \
        end \
  endcase

Definition at line 1523 of file ovm_object_defines.svh.

#define OVM_FIELD_QUEUE_OBJ_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_object(ARG[i]); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
 \
            if(ARG.size() < s_) \
              _global_reporter.ovm_report_error("OBJUPK", $psprintf("Queue ARG cannot support the unpack operation, the unpack requires %0d elements, ARG has only %0d", s_, ARG.size())); \
          end \
          foreach(ARG[i]) begin \
            ovm_auto_options_object.packer.unpack_object(ARG[i]); \
          end \

Definition at line 1673 of file ovm_object_defines.svh.

#define ovm_field_queue_object ARG,
FLAG   ) 
 

Value:

begin \
    if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
    m_sc.scope.down("ARG", null); \
    if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
      if(local_data__!=null) begin \
        RESIZE_QUEUE_OBJECT_NOCOPY(ARG, local_data__.ARG.size()) \
      end \
      else begin \
        RESIZE_QUEUE_OBJECT_NOCOPY(ARG, 0) \
      end \
    end \
    OVM_FIELD_DATA_ARRAY_OBJECT(ARG,FLAG) \
    OVM_FIELD_QUEUE_OBJ_PACK(ARG,FLAG) \
    OVM_FIELD_SET_QUEUE_OBJECT(ARG,FLAG) \
    m_sc.scope.up(null); \
  end

Definition at line 611 of file ovm_object_defines.svh.

#define OVM_FIELD_QUEUE_STR_PACK ARG,
FLAG   ) 
 

Value:

case(what__) \
      OVM_PACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata == 1) \
            ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
          foreach(ARG[i]) \
            ovm_auto_options_object.packer.pack_string(ARG[i]); \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if(ovm_auto_options_object.packer.use_metadata) begin \
            int s_; \
            s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
            while(ARG.size() < s_) ARG.push_back(""); \
            while(ARG.size() > s_) void(ARG.pop_front()); \
          end \
          foreach(ARG[i]) begin \
            ARG[i] = ovm_auto_options_object.packer.unpack_string(-1); \
          end \
        end \
  endcase

Definition at line 1852 of file ovm_object_defines.svh.

#define ovm_field_queue_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  if(what__==OVM_COPY && !((FLAG)&OVM_NOCOPY)) begin \
    if(local_data__!=null) begin \
      RESIZE_QUEUE_NOCOPY(string, ARG, local_data__.ARG.size()) \
    end \
    else begin \
      RESIZE_QUEUE_NOCOPY(string, ARG, 0) \
    end \
  end \
  OVM_FIELD_DATA_ARRAY_STRING(ARG,FLAG) \
  OVM_FIELD_QUEUE_STR_PACK(ARG,FLAG) \
  OVM_FIELD_SET_QUEUE_TYPE(STR, ARG, m_sc.stringv, FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 639 of file ovm_object_defines.svh.

#define ovm_field_sarray_enum T,
ARG,
FLAG   ) 
 

Value:

begin \
    T lh__, rh__; \
    if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
    m_sc.scope.down("ARG",null); \
    if((what__ == OVM_PRINT) && !(OVM_NOPRINT&(FLAG))) \
      ovm_print_qda_enum(ARG, ovm_auto_options_object.printer, array, T) \
    else if((what__ == OVM_COPY) && !(OVM_NOCOPY&(FLAG))) begin \
      $cast(local_data__, tmp_data__); \
      if(local_data__ != null) foreach(ARG[i]) ARG[i] = local_data__.ARG[i]; \
    end \
    else if((what__ == OVM_RECORD) && !(OVM_NORECORD&(FLAG))) \
      ovm_record_qda_enum(T,ARG, ovm_auto_options_object.recorder) \
    else if((what__ == OVM_COMPARE) && !(OVM_NOCOMPARE&(FLAG))) begin \
      foreach(ARG[i__]) \
        if(ARG[i__] !== local_data__.ARG[i__]) begin \
          lh__ = ARG[i__]; \
          rh__ = local_data__.ARG[i__]; \
          ovm_auto_options_object.comparer.scope.down_element(i__, null);\
          $swrite(m_sc.stringv, "lhs = %0s : rhs = %0s", \
            lh__.name(), rh__.name()); \
          ovm_auto_options_object.comparer.print_msg(m_sc.stringv); \
          ovm_auto_options_object.comparer.scope.up_element(null);\
        end \
    end \
    ovm_pack_unpack_sarray_enum(T,ARG,FLAG) \
    OVM_FIELD_SET_SARRAY_ENUM(T, ARG, m_sc.bitstream, FLAG) \
  end

Definition at line 375 of file ovm_object_defines.svh.

#define ovm_field_sarray_int ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG",null); \
  OVM_FIELD_DATA_SARRAY(ARG,FLAG) \
  OVM_FIELD_SET_SARRAY_TYPE(INT,ARG,m_sc.bitstream,FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 491 of file ovm_object_defines.svh.

#define ovm_field_sarray_object ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG",null); \
  OVM_FIELD_DATA_SARRAY_OBJECT(ARG,FLAG) \
  OVM_FIELD_SET_SARRAY_OBJECT(ARG,FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 536 of file ovm_object_defines.svh.

#define ovm_field_sarray_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG", null); \
  OVM_FIELD_DATA_SARRAY_STRING(ARG,FLAG) \
  OVM_FIELD_SET_SARRAY_TYPE(STR, ARG, m_sc.stringv, FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 573 of file ovm_object_defines.svh.

#define OVM_FIELD_SET ARG,
FLAG   ) 
 

Value:

if(ovm_object::m_do_set (str__, "ARG", ARG, what__, FLAG)) begin \
    m_sc.scope.up(null); \
    return; \
  end

Definition at line 2246 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_AA_INT_TYPE INDEX_TYPE,
ARRAY_TYPE,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    bit wildcard_index__; \
    INDEX_TYPE index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETARRAY_TYPE) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          if(ARRAY.first(index__)) \
          do begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              ARRAY[index__] = RHS; \
              m_sc.status = 1; \
            end \
          end while(ARRAY.next(index__));\
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] = RHS; \
          m_sc.status = 1; \
        end  \
      end \
    end \
 end

Definition at line 2424 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_AA_OBJECT_TYPE INDEX_TYPE,
ARRAY,
FLAG   ) 
 

Definition at line 2391 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_AA_TYPE INDEX_TYPE,
ARRAY_TYPE,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    bit wildcard_index__; \
    INDEX_TYPE index__; \
    index__ = ovm_get_array_index_INDEX_TYPE(str__, wildcard_index__); \
    if(what__==OVM_SETARRAY_TYPE) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          if(ARRAY.first(index__)) \
          do begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)}) ||  \
               ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0s]", index__)})) begin \
              ARRAY[index__] = RHS; \
              m_sc.status = 1; \
            end \
          end while(ARRAY.next(index__));\
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] = RHS; \
          m_sc.status = 1; \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0s]", index__)})) begin \
          ARRAY[index__] = RHS; \
          m_sc.status = 1; \
        end \
      end \
    end \
 end

Definition at line 2361 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_ENUM T,
ARRAY,
RHS,
FLAG   ) 
 

Definition at line 2491 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_OBJECT ARG,
FLAG   ) 
 

Value:

OVM_FIELD_SET_ARRAY_OBJECT_TYPE(ARG, FLAG) \
  if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    ovm_object obj__; \
    for(int index__=0; index__<ARG.size(); ++index__) begin \
       if($cast(obj__,ARG[index__]) && (obj__!=null)) \
          obj__.m_field_automation(null, what__, str__); \
    end \
  end

Definition at line 2653 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_OBJECT_TYPE ARRAY,
FLAG   ) 
 

Definition at line 2581 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_TYPE ARRAY_TYPE,
ARRAY,
RHS,
FLAG   ) 
 

Definition at line 2449 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_EVENT ARG,
FLAG   ) 
 

Definition at line 2256 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_OBJECT ARG,
FLAG   ) 
 

Value:

begin \
    ovm_object arg_obj__; \
    int r__;  \
    if(ARG != null) $cast(arg_obj__, ARG); \
    r__ = ovm_object::m_do_set_object(str__, "ARG", \
        arg_obj__, what__, FLAG); \
     \
    if(r__ && (what__ == OVM_SETOBJ) && (arg_obj__ != null)) \
      $cast(ARG, arg_obj__); \
    else if(arg_obj__ == null) \
      ARG = null; \
  end

Definition at line 2263 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_QUEUE_ENUM T,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    bit wildcard_index__; \
    int index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETINT) \
    begin \
      if(ovm_is_array(str__)  && (index__ != -1)) begin\
        if(wildcard_index__) begin \
          for(index__=0; index__<ARRAY.size(); ++index__) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              ARRAY[index__] = T(RHS); \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] =  T(RHS); \
          m_sc.status = 1; \
        end \
      end \
    end \
 end

Definition at line 2311 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_QUEUE_OBJECT ARG,
FLAG   ) 
 

Value:

OVM_FIELD_SET_QUEUE_OBJECT_TYPE(ARG, FLAG) \
  if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    ovm_object obj__; \
    for(int index__=0; index__<ARG.size(); ++index__) begin \
       if($cast(obj__,ARG[index__]) && (obj__!=null)) \
          obj__.m_field_automation(null, what__, str__); \
    end \
  end

Definition at line 2676 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_QUEUE_OBJECT_TYPE ARRAY,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    bit wildcard_index__; \
    int index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETOBJ) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          for(index__=0; index__<ARRAY.size(); ++index__) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              if (m_sc.object != null) \
                $cast(ARRAY[index__], m_sc.object); \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          if (m_sc.object != null) \
            $cast(ARRAY[index__], m_sc.object); \
          m_sc.status = 1; \
        end \
      end \
    end \
 end

Definition at line 2335 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_QUEUE_TYPE ATYPE,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    bit wildcard_index__; \
    int index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETATYPE) \
    begin \
      if(ovm_is_array(str__)  && (index__ != -1)) begin\
        if(wildcard_index__) begin \
          for(index__=0; index__<ARRAY.size(); ++index__) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              ARRAY[index__] = RHS; \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] =  RHS; \
          m_sc.status = 1; \
        end \
      end \
    end \
 end

Definition at line 2287 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_SARRAY_ENUM T,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    int index__; \
    bit wildcard_index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETINT) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          foreach(ARRAY[index__]) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              ARRAY[index__] = T(RHS); \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] = T(RHS); \
          m_sc.status = 1; \
        end \
      end \
    end \
  end

Definition at line 2557 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_SARRAY_OBJECT ARG,
FLAG   ) 
 

Value:

OVM_FIELD_SET_SARRAY_OBJECT_TYPE(ARG, FLAG) \
  if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    ovm_object obj__; \
    foreach(ARG[index__]) begin \
       if($cast(obj__,ARG[index__]) && (obj__!=null)) \
          obj__.m_field_automation(null, what__, str__); \
    end \
  end

Definition at line 2663 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_SARRAY_OBJECT_TYPE ARRAY,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    int index__; \
    bit wildcard_index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETOBJ) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          foreach(ARRAY[index__]) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              if (m_sc.object != null) begin \
                $cast(ARRAY[index__], m_sc.object); \
              end \
              else \
                ARRAY[index__] = null; \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          if (m_sc.object != null) begin \
            $cast(ARRAY[index__], m_sc.object); \
          end \
          else \
            ARRAY[index__] = null; \
          m_sc.status = 1; \
        end \
      end \
    end \
  end

Definition at line 2615 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_SARRAY_TYPE ARRAY_TYPE,
ARRAY,
RHS,
FLAG   ) 
 

Value:

if((what__ >= OVM_START_FUNCS && what__ <= OVM_END_FUNCS) && (((FLAG)&OVM_READONLY) == 0)) begin \
    int index__; \
    bit wildcard_index__; \
    index__ = ovm_get_array_index_int(str__, wildcard_index__); \
    if(what__==OVM_SETARRAY_TYPE) \
    begin \
      if(ovm_is_array(str__) ) begin\
        if(wildcard_index__) begin \
          foreach(ARRAY[index__]) begin \
            if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
              ARRAY[index__] = RHS; \
              m_sc.status = 1; \
            end \
          end \
        end \
        else if(ovm_is_match(str__, {m_sc.scope.get_arg(),$psprintf("[%0d]", index__)})) begin \
          ARRAY[index__] = RHS; \
          m_sc.status = 1; \
        end \
      end \
    end \
  end

Definition at line 2533 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_STRING ARG,
FLAG   ) 
 

Value:

if(ovm_object::m_do_set_string (str__, "ARG", ARG, what__, FLAG)) begin \
    m_sc.scope.up(null); \
    return; \
  end

Definition at line 2281 of file ovm_object_defines.svh.

#define ovm_field_string ARG,
FLAG   ) 
 

Value:

begin \
  if(what__==OVM_CHECK_FIELDS) m_do_field_check("ARG"); \
  m_sc.scope.down("ARG",null); \
  OVM_FIELD_DATA_STRING(ARG,FLAG) \
  OVM_FIELD_SET_STRING(ARG,FLAG) \
  m_sc.scope.up(null); \
  end

Definition at line 321 of file ovm_object_defines.svh.

#define ovm_field_utils
 

Definition at line 87 of file ovm_object_defines.svh.

#define ovm_field_utils_begin  ) 
 

Value:

static bit m_fields_checked = 0; \
   function void m_field_automation (ovm_object tmp_data__=null, \
                                     int what__=0, \
                                     string str__=""); \
   begin \
     T local_data__;  \
     string string_aa_key;  \
      \
     if(what__ == OVM_CHECK_FIELDS) begin \
       if(! T::m_fields_checked) \
         T::m_fields_checked=1; \
       else \
         return; \
     end \
      \
     super.m_field_automation(tmp_data__, what__, str__); \
     if(tmp_data__ != null) \
        \
       if(!$cast(local_data__, tmp_data__)) return; \
     if(what__ == OVM_CHECK_FIELDS) begin \
       m_field_array.delete(); \
     end

Definition at line 93 of file ovm_object_defines.svh.

#define ovm_field_utils_end
 

Value:

end \
   endfunction \

Definition at line 120 of file ovm_object_defines.svh.

#define ovm_get_type_name_func  ) 
 

Value:

const static string type_name = "T"; \
   virtual function string get_type_name (); \
     return type_name; \
   endfunction

Definition at line 964 of file ovm_object_defines.svh.

#define ovm_named_object_create_func  ) 
 

Value:

function ovm_named_object create_named_object (string name, ovm_named_object parent); \
     T tmp; \
     tmp = new(.name(name), .parent(parent)); \
     return tmp; \
   endfunction

Definition at line 908 of file ovm_object_defines.svh.

#define ovm_named_object_factory_create_func  )     ovm_named_object_create_func(T) \
 

Definition at line 916 of file ovm_object_defines.svh.

#define ovm_named_object_new_func
 

Value:

function new (string name, ovm_component parent); \
    super.new(name, parent); \
  endfunction

Definition at line 886 of file ovm_object_defines.svh.

#define ovm_new_func
 

Value:

function new (string name, ovm_component parent); \
    super.new(name, parent); \
  endfunction

Definition at line 870 of file ovm_object_defines.svh.

#define ovm_new_func_data
 

Value:

function new (string name=""); \
    super.new(name); \
  endfunction

Definition at line 878 of file ovm_object_defines.svh.

#define ovm_object_create_func  ) 
 

Value:

function ovm_object create (string name=""); \
     T tmp; \
     tmp = new(); \
     tmp.set_name(name); \
     return tmp; \
   endfunction

Definition at line 896 of file ovm_object_defines.svh.

#define ovm_object_factory_create_func  ) 
 

Value:

function ovm_object create_object (string name=""); \
     T tmp; \
     tmp = new(); \
     tmp.set_name(name); \
     return tmp; \
   endfunction \
   \
   static function T create(string name="", ovm_component parent=null, string contxt=""); \
     ovm_factory f; \
     f = ovm_factory::get(); \
     if (contxt == "" && parent != null) \
       contxt = parent.get_full_name(); \
     assert ($cast(create,f.create_object_by_type(get(),contxt,name))) \
     else $fatal(0,"Factory did not return an object of type, ",type_name); \
   endfunction

Definition at line 923 of file ovm_object_defines.svh.

#define ovm_object_new_func   ovm_new_func_data
 

Definition at line 883 of file ovm_object_defines.svh.

#define ovm_object_param_utils  ) 
 

Value:

Definition at line 140 of file ovm_object_defines.svh.

#define ovm_object_param_utils_begin  ) 
 

Value:

Definition at line 166 of file ovm_object_defines.svh.

#define ovm_object_registry T,
 ) 
 

Value:

typedef ovm_object_registry#(T,S) type_id; \
   static function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1055 of file ovm_object_defines.svh.

#define ovm_object_registry_internal T,
 ) 
 

Value:

typedef ovm_object_registry#(T,"S") type_id; \
   static function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1062 of file ovm_object_defines.svh.

#define ovm_object_registry_param  ) 
 

Value:

typedef ovm_object_registry#(T) type_id; \
   static function type_id get_type(); \
     return type_id::get(); \
   endfunction

Definition at line 1090 of file ovm_object_defines.svh.

#define ovm_object_utils  ) 
 

Value:

Definition at line 130 of file ovm_object_defines.svh.

#define ovm_object_utils_begin  ) 
 

Value:

Definition at line 154 of file ovm_object_defines.svh.

#define ovm_object_utils_end
 

Value:

end \
   endfunction \

Definition at line 179 of file ovm_object_defines.svh.

#define ovm_pack_unpack_sarray_enum T,
ARG,
FLAG   ) 
 

Value:

if((what__ == OVM_PACK) && !(OVM_NOPACK&(FLAG))) begin \
    foreach(ARG[i]) \
      ovm_auto_options_object.packer.pack_field(ARG[i],$bits(ARG[i])); \
  end \
  else if((what__ == OVM_UNPACK) && !(OVM_NOPACK&(FLAG))) begin \
    foreach(ARG[i]) \
      ARG[i] = T(ovm_auto_options_object.packer.unpack_field($bits(ARG[i]))); \
  end \

Definition at line 469 of file ovm_object_defines.svh.

#define ovm_print_msg_enum LHS,
RHS   ) 
 

Value:

begin \
    ovm_comparer comparer; \
    comparer = ovm_auto_options_object.comparer; \
    if(comparer==null) comparer = ovm_default_comparer; \
    comparer.result++; \
 \
 \
    $swrite(comparer.miscompares,"%s%s: lhs = %0d : rhs = %0d\n", \
       comparer.miscompares, comparer.scope.get_arg(), LHS, RHS ); \
  end

Definition at line 765 of file ovm_object_defines.svh.

#define ovm_record_any_object ARG   ) 
 

Definition at line 855 of file ovm_object_defines.svh.

#define ovm_record_array_int ARG,
RADIX,
RECORDER   ) 
 

Value:

begin \
    if(RECORDER.tr_handle != 0) begin\
      if(RADIX == OVM_ENUM) begin \
        if(!m_sc.array_warning_done) begin \
           m_sc.array_warning_done = 1; \
           ovm_object::m_sc.scratch1 = \
             `"Recording not supported for array enumerations: ARG`"; \
           _global_reporter.ovm_report_warning("RCDNTS", ovm_object::m_sc.scratch1); \
        end \
      end \
      else begin \
        for(int i__=0; i__<ARG.size(); ++i__) \
          RECORDER.record_field($psprintf("ARG[%0d]",i__), ARG[i__], $bits(ARG[i__]), ovm_radix_enum(RADIX)); \
      end \
    end \
  end

Definition at line 1412 of file ovm_object_defines.svh.

#define ovm_record_array_object ARG,
RECORDER   ) 
 

Value:

begin \
    if(RECORDER.tr_handle != 0) begin\
      ovm_object obj__; \
      for(int i__=0; i__<ARG.size(); ++i__) begin \
        if($cast(obj__, ARG[i__]))\
          if(obj__ != null) begin \
            m_sc.scope.down_element(i__, null);\
            obj__.m_field_automation(null, what__, str__); \
            m_sc.scope.up_element(null);\
          end \
      end \
    end \
  end

Definition at line 1575 of file ovm_object_defines.svh.

#define ovm_record_array_string ARG,
RECORDER   ) 
 

Value:

begin \
    if(RECORDER.tr_handle != 0) begin\
      for(int i__=0; i__<ARG.size(); ++i__) \
        RECORDER.record_string($psprintf("ARG[%0d]", i__), ARG[i__]); \
    end \
  end

Definition at line 1750 of file ovm_object_defines.svh.

#define ovm_record_int ARG,
FLAG   ) 
 

Value:

begin \
    int radix__; \
    ovm_bitstream_t value; \
    value = ARG; \
    radix__ = ovm_radix_enum((FLAG)&(OVM_RADIX)); \
    if(recorder==null) \
      recorder=ovm_auto_options_object.recorder; \
    recorder.record_field("ARG", ARG, radix__, $bits(ARG); \
  end

Definition at line 795 of file ovm_object_defines.svh.

#define ovm_record_object ARG,
FLAG   ) 
 

Value:

begin \
     ovm_object v__; \
     if(ARG != null) begin \
       if($cast(v__,ARG)) begin \
         ovm_record_object__("ARG", v__, recorder); \
       end \
     end \
     else begin \
       ovm_record_any_object(ARG); \
     end \
  end

Definition at line 832 of file ovm_object_defines.svh.

#define ovm_record_qda_enum T,
ARG,
RECORDER   ) 
 

Value:

begin \
    if(RECORDER.tr_handle != 0) begin\
      foreach(ARG[i__]) begin \
        T lh__=ARG[i__]; \
        RECORDER.record_string($psprintf("ARG[%0d]",i__), lh__.name()); \
      end \
    end \
  end

Definition at line 1433 of file ovm_object_defines.svh.

#define ovm_record_string ARG   )     recorder.record_string("ARG", ARG); \
 

Definition at line 817 of file ovm_object_defines.svh.

#define ovm_register_self_func  ) 
 

Definition at line 993 of file ovm_object_defines.svh.

#define ovm_set_flags ARG,
FLAG   ) 
 

Value:

begin \
   if(what__ == OVM_FLAGS) begin \
   end \
  end

Definition at line 755 of file ovm_object_defines.svh.

#define ovm_unpack_array_enum T,
ARG,
FLAG   ) 
 

Value:

if((what__ == OVM_UNPACK) && !(OVM_NOPACK&(FLAG))) begin \
    if(ovm_auto_options_object.packer.use_metadata) begin \
      int s_; \
      s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
      ARG = new[s_]; \
    end \
    foreach(ARG[i]) \
      ARG[i] = T(ovm_auto_options_object.packer.unpack_field($bits(ARG[i]))); \
  end \

Definition at line 446 of file ovm_object_defines.svh.

#define ovm_unpack_queue_enum T,
ARG,
FLAG   ) 
 

Value:

if((what__ == OVM_UNPACK) && !(OVM_NOPACK&(FLAG))) begin \
    if(ovm_auto_options_object.packer.use_metadata) begin \
      int s_; \
      s_ = ovm_auto_options_object.packer.unpack_field_int(32); \
      while(ARG.size() > s_) void(ARG.pop_front()); \
      while(ARG.size() < s_) ARG.push_back(T(0)); \
    end \
    foreach(ARG[i]) \
      ARG[i] = T(ovm_auto_options_object.packer.unpack_field($bits(ARG[i]))); \
  end \

Definition at line 457 of file ovm_object_defines.svh.

#define RESIZE_QUEUE_COPY T,
ARG,
SIZE   ) 
 

Value:

begin \
     T tmp__; \
     while(ARG.size()>SIZE) void(ARG.pop_back()); \
     while(ARG.size() != SIZE) ARG.push_back(tmp__); \
   end

Definition at line 1382 of file ovm_object_defines.svh.

#define RESIZE_QUEUE_NOCOPY T,
ARG,
SIZE   ) 
 

Value:

begin \
     T tmp__; \
     while(ARG.size()) void(ARG.pop_front()); \
     while(ARG.size() != SIZE) ARG.push_back(tmp__); \
   end

Definition at line 1371 of file ovm_object_defines.svh.

#define RESIZE_QUEUE_OBJECT_COPY ARG,
SIZE   ) 
 

Value:

begin \
     while(ARG.size()>SIZE) void(ARG.pop_front()); \
     while(ARG.size() != SIZE) ARG.push_back(null); \
   end

Definition at line 1403 of file ovm_object_defines.svh.

#define RESIZE_QUEUE_OBJECT_NOCOPY ARG,
SIZE   ) 
 

Value:

begin \
     while(ARG.size()) void(ARG.pop_front()); \
     while(ARG.size() != SIZE) ARG.push_back(null); \
   end

Definition at line 1393 of file ovm_object_defines.svh.

#define USE_PARAMETERIZED_WRAPPER
 

Definition at line 975 of file ovm_object_defines.svh.


Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 1.1.0
Copyright (c) 2008 Intelligent Design Verification.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included here:
http://www.intelligentdv.com/licenses/fdl.txt
doxygen
Doxygen Version: 1.4.6
Mon Sep 29 14:23:36 2008

Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV