
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 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:
begin \ ovm_object::m_sc.scratch1 = "Compare failed ARG"; \ ovm_auto_options_object.comparer.result++; \ if(ovm_auto_options_object.comparer.result <= \ ovm_auto_options_object.comparer.show_max) \ begin \ ovm_object::m_sc.scratch1 = "Miscompare for field ARG"; \ _global_reporter.ovm_report_info("MISCMP", ovm_object::m_sc.scratch1, OVM_MEDIUM) \ end \ end
Definition at line 1953 of file ovm_object_defines.svh.
| #define ovm_component_factory_create_func | ( | T | ) |
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 | ( | T | ) |
Value:
Definition at line 200 of file ovm_object_defines.svh.
| #define ovm_component_param_utils_begin | ( | T | ) |
Value:
Definition at line 225 of file ovm_object_defines.svh.
| #define ovm_component_registry | ( | T, | |||
| S | ) |
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, | |||
| S | ) |
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 | ( | T | ) |
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 | ( | T | ) |
Value:
Definition at line 190 of file ovm_object_defines.svh.
| #define ovm_component_utils_begin | ( | T | ) |
Value:
Definition at line 214 of file ovm_object_defines.svh.
| #define ovm_component_utils_end |
| #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 | ( | T | ) |
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 |
| #define ovm_get_type_name_func | ( | T | ) |
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 | ( | T | ) |
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 | ( | T | ) | 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 | ( | T | ) |
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 | ( | T | ) |
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 | ( | T | ) |
Value:
Definition at line 141 of file ovm_object_defines.svh.
| #define ovm_object_param_utils_begin | ( | T | ) |
Value:
Definition at line 167 of file ovm_object_defines.svh.
| #define ovm_object_registry | ( | T, | |||
| S | ) |
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, | |||
| S | ) |
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 | ( | T | ) |
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 | ( | T | ) |
Value:
Definition at line 131 of file ovm_object_defines.svh.
| #define ovm_object_utils_begin | ( | T | ) |
Value:
ovm_object_registry_internal(T,T) \ ovm_object_create_func(T) \ ovm_get_type_name_func(T) \ ovm_field_utils_begin(T)
Definition at line 155 of file ovm_object_defines.svh.
| #define ovm_object_utils_end |
| #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 | ( | T | ) |
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 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 Version: 1.5.5 Wed Jan 7 19:27:27 2009 |