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 2258 of file ovm_object_defines.svh.

#define DOREFERENCECOPY ( ARG,
FLAG   ) 

Value:

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

Definition at line 2251 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 2287 of file ovm_object_defines.svh.

#define OVM_COMPARE_FAILED ( ARG   ) 

Value:

Definition at line 1953 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 957 of file ovm_object_defines.svh.

#define ovm_component_new_func   ovm_new_func

Definition at line 888 of file ovm_object_defines.svh.

#define ovm_component_param_utils (  ) 

#define ovm_component_param_utils_begin (  ) 

#define ovm_component_registry ( T,
 ) 

Value:

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

Definition at line 1146 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 1153 of file ovm_object_defines.svh.

#define ovm_component_registry_param (  ) 

Value:

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

Definition at line 1180 of file ovm_object_defines.svh.

#define ovm_component_utils (  ) 

#define ovm_component_utils_begin (  ) 

#define ovm_component_utils_end

Value:

end \
   endfunction

Definition at line 234 of file ovm_object_defines.svh.

#define ovm_factory_override_func

Definition at line 1029 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 736 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 739 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 724 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 727 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 730 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 733 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 754 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 748 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 751 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 742 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 745 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 674 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 712 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 687 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 700 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 362 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 341 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((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
  endcase

Definition at line 1538 of file ovm_object_defines.svh.

#define OVM_FIELD_ARRAY_OBJ_PACK ( ARG,
FLAG   ) 

Definition at line 1692 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 522 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((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
  endcase

Definition at line 1889 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 568 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA ( ARG,
FLAG   ) 

Definition at line 1192 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_generic ( TYPE,
KEY,
ARG,
FLAG   ) 

Definition at line 1969 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_int_key ( KEY,
ARG,
FLAG   ) 

Definition at line 2025 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 2019 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_object_int ( ARG,
FLAG   ) 

Definition at line 2139 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_object_string ( ARG,
FLAG   ) 

Definition at line 2081 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_AA_string_string ( ARG,
FLAG   ) 

Definition at line 2204 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY ( ARG,
FLAG   ) 

Definition at line 1470 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY_OBJECT ( ARG,
FLAG   ) 

Definition at line 1640 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_ARRAY_STRING ( ARG,
FLAG   ) 

Definition at line 1819 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 1285 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_OBJECT ( ARG,
FLAG   ) 

Definition at line 1305 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 1597 of file ovm_object_defines.svh.

#define OVM_FIELD_DATA_SARRAY_OBJECT ( ARG,
FLAG   ) 

Definition at line 1766 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 1869 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 1377 of file ovm_object_defines.svh.

#define OVM_FIELD_ENUM ( T,
ARG,
FLAG   ) 

Definition at line 1228 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 268 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 304 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 258 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 285 of file ovm_object_defines.svh.

#define ovm_field_qda_enum ( T,
ARG,
FLAG   ) 

Definition at line 405 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 369 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 596 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((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
  endcase

Definition at line 1567 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((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) begin \
            if(ovm_auto_options_object.packer.use_metadata == 1) \
              ovm_auto_options_object.packer.pack_field_int(ARG.size(), 32); \
            foreach(ARG[i]) begin \
              ovm_auto_options_object.packer.pack_object(ARG[i]); \
            end \
          end \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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]); \
              if(ovm_auto_options_object.packer.use_metadata == 0 && ARG[i] == null) \
                return; \
            end \

Definition at line 1726 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 624 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((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
      OVM_UNPACK: \
        if(((FLAG)&OVM_NOPACK) == 0) \
        begin \
          if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
              (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
        end \
  endcase

Definition at line 1919 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 652 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 376 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 504 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 549 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 586 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 2319 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 2497 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_AA_OBJECT_TYPE ( INDEX_TYPE,
ARRAY,
FLAG   ) 

Definition at line 2464 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 2434 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_ENUM ( T,
ARRAY,
RHS,
FLAG   ) 

Definition at line 2564 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 2726 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_OBJECT_TYPE ( ARRAY,
FLAG   ) 

Definition at line 2654 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_ARRAY_TYPE ( ARRAY_TYPE,
ARRAY,
RHS,
FLAG   ) 

Definition at line 2522 of file ovm_object_defines.svh.

#define OVM_FIELD_SET_EVENT ( ARG,
FLAG   ) 

Definition at line 2329 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 2336 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 2384 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 2749 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 2408 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 2360 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 2630 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 2736 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 2688 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 2606 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 2354 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 322 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__;  \
     typedef T ___local_type____; \
     string string_aa_key;  \
      \
     if(what__ == OVM_CHECK_FIELDS) begin \
       if(! ___local_type____::m_fields_checked) \
         ___local_type____::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 121 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 977 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 921 of file ovm_object_defines.svh.

#define ovm_named_object_factory_create_func (  )     ovm_named_object_create_func(T) \

Definition at line 929 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 899 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 883 of file ovm_object_defines.svh.

#define ovm_new_func_data

Value:

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

Definition at line 891 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 909 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 936 of file ovm_object_defines.svh.

#define ovm_object_new_func   ovm_new_func_data

Definition at line 896 of file ovm_object_defines.svh.

#define ovm_object_param_utils (  ) 

#define ovm_object_param_utils_begin (  ) 

#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 1068 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 1075 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 1103 of file ovm_object_defines.svh.

#define ovm_object_utils (  ) 

#define ovm_object_utils_begin (  ) 

#define ovm_object_utils_end

Value:

end \
   endfunction \

Definition at line 180 of file ovm_object_defines.svh.

#define ovm_pack_unpack_sarray_enum ( T,
ARG,
FLAG   ) 

Value:

if((what__ == OVM_PACK) && !(OVM_NOPACK&(FLAG))) begin \
    if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
        (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) \
      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 \
    if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
        (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) \
      foreach(ARG[i]) \
        ARG[i] = T(ovm_auto_options_object.packer.unpack_field($bits(ARG[i]))); \
  end \

Definition at line 479 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 778 of file ovm_object_defines.svh.

#define ovm_record_any_object ( ARG   ) 

Definition at line 868 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 1434 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 1625 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 1811 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 808 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 845 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 1456 of file ovm_object_defines.svh.

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

Definition at line 830 of file ovm_object_defines.svh.

#define ovm_register_self_func (  ) 

Definition at line 1006 of file ovm_object_defines.svh.

#define ovm_set_flags ( ARG,
FLAG   ) 

Value:

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

Definition at line 768 of file ovm_object_defines.svh.

#define ovm_unpack_array_enum ( T,
ARG,
FLAG   ) 

Value:

if((what__ == OVM_UNPACK) && !(OVM_NOPACK&(FLAG))) begin \
    if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
        (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
  end \

Definition at line 450 of file ovm_object_defines.svh.

#define ovm_unpack_queue_enum ( T,
ARG,
FLAG   ) 

Value:

if((what__ == OVM_UNPACK) && !(OVM_NOPACK&(FLAG))) begin \
    if((((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.abstract) || \
        (!((FLAG)&OVM_ABSTRACT) && ovm_auto_options_object.packer.physical)) 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 \
  end \

Definition at line 464 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 1404 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 1393 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 1425 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 1415 of file ovm_object_defines.svh.

#define USE_PARAMETERIZED_WRAPPER

Definition at line 988 of file ovm_object_defines.svh.


Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 2.0.1
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.5.5
Wed Jan 7 19:27:27 2009
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV