uvm_*_registry¶
-
class
uvm.base.uvm_registry.UVMComponentRegistry(Constr, tname)[source]¶ Bases:
uvm.base.uvm_factory.UVMObjectWrapper-
registry_db= {'UVMAlgorithmicComparator': <uvm.base.uvm_registry.UVMComponentRegistry object>, 'UVMInOrderBuiltInComparator': <uvm.base.uvm_registry.UVMComponentRegistry object>, 'UVMInOrderClassComparator': <uvm.base.uvm_registry.UVMComponentRegistry object>, 'UVMInOrderComparator': <uvm.base.uvm_registry.UVMComponentRegistry object>, 'UVMRegPredictor': <uvm.base.uvm_registry.UVMComponentRegistry object>, 'UVMSequencer': <uvm.base.uvm_registry.UVMComponentRegistry object>}¶
-
registered= {'UVMAlgorithmicComparator': True, 'UVMInOrderBuiltInComparator': True, 'UVMInOrderClassComparator': True, 'UVMInOrderComparator': True, 'UVMRegPredictor': True, 'UVMSequencer': True}¶
-
comps= {'UVMAlgorithmicComparator': <class 'uvm.comps.uvm_algorithmic_comparator.UVMAlgorithmicComparator'>, 'UVMInOrderBuiltInComparator': <class 'uvm.comps.uvm_in_order_comparator.UVMInOrderBuiltInComparator'>, 'UVMInOrderClassComparator': <class 'uvm.comps.uvm_in_order_comparator.UVMInOrderClassComparator'>, 'UVMInOrderComparator': <class 'uvm.comps.uvm_in_order_comparator.UVMInOrderComparator'>, 'UVMRegPredictor': <class 'uvm.reg.uvm_reg_predictor.UVMRegPredictor'>, 'UVMSequencer': <class 'uvm.seq.uvm_sequencer.UVMSequencer'>}¶
-
create_component(name, parent)[source]¶ Function: create_component
Creates a component of type T having the provided
nameandparent. This is an override of the method inuvm_object_wrapper. It is called by the factory after determining the type of object to create. You should not call this method directly. Callcreateinstead. :param name: :param parent:Returns:
-
get_type_name()[source]¶ Function: get_type_name
Returns the value given by the string parameter,
Tname. This method overrides the method inuvm_object_wrapper. Returns:
-
get()[source]¶ Function: get
Returns the singleton instance of this type. Type-based factory operation depends on there being a single proxy instance for each registered type. Returns:
-
create(name, parent, contxt='')[source]¶ Function: create
Returns an instance of the component type,
T, represented by this proxy, subject to any factory overrides based on the context provided by theparent’s full name. Thecontxtargument, if supplied, supersedes theparent’s context. The new instance will have the given leafnameandparent. :param name: :param parent: :param contxt:Returns: Raises:
-
set_type_override(override_type, replace=True)[source]¶ Function: set_type_override
Configures the factory to create an object of the type represented by
override_typewhenever a request is made to create an object of the type,T, represented by this proxy, provided no instance override applies. The original type,T, is typically a super class of the override type. :param override_type: :param replace:
-
set_inst_override(override_type, inst_path, parent=None)[source]¶ Function: set_inst_override
Configures the factory to create a component of the type represented by
override_typewhenever a request is made to create an object of the type,T, represented by this proxy, with matching instance paths. The original type,T, is typically a super class of the override type.If
parentis not specified,inst_pathis interpreted as an absolute instance path, which enables instance overrides to be set from outside component classes. Ifparentis specified,inst_pathis interpreted as being relative to theparent’s hierarchical instance path, i.e. ~{parent.get_full_name(),”.”,inst_path}~ is the instance path that is registered with the override. Theinst_pathmay contain wildcards for matching against multiple contexts. :param override_type: :param inst_path: :param parent:
-
-
class
uvm.base.uvm_registry.UVMObjectRegistry(Constr, tname)[source]¶ Bases:
uvm.base.uvm_factory.UVMObjectWrapper-
registry_db= {'UVMBuiltInPair': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMClassPair': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMMemAccessSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMMemSingleAccessSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMMemSingleWalkSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMMemWalkSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMParentChildLink': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMPhaseStateChange': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegAccessSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegBackdoor': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegBitBashSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegField': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegHWResetSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegItem': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegMap': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegMemAccessSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegMemBuiltInSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegReadOnlyCbs': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegSequence': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegSingleAccessSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegSingleBitBashSeq': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRegWriteOnlyCbs': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMRelatedLink': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMReportHandler': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMTLMGenericPayload': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMTextRecorder': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMTextTrDatabase': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMTextTrStream': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'UVMVRegField': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'uvm_get_to_lock_dap': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'uvm_set_before_get_dap': <uvm.base.uvm_registry.UVMObjectRegistry object>, 'uvm_simple_lock_dap': <uvm.base.uvm_registry.UVMObjectRegistry object>}¶
-
registered= {'UVMBuiltInPair': True, 'UVMClassPair': True, 'UVMMemAccessSeq': True, 'UVMMemSingleAccessSeq': True, 'UVMMemSingleWalkSeq': True, 'UVMMemWalkSeq': True, 'UVMParentChildLink': True, 'UVMPhaseStateChange': True, 'UVMRegAccessSeq': True, 'UVMRegBackdoor': True, 'UVMRegBitBashSeq': True, 'UVMRegField': True, 'UVMRegHWResetSeq': True, 'UVMRegItem': True, 'UVMRegMap': True, 'UVMRegMemAccessSeq': True, 'UVMRegMemBuiltInSeq': True, 'UVMRegReadOnlyCbs': True, 'UVMRegSequence': True, 'UVMRegSingleAccessSeq': True, 'UVMRegSingleBitBashSeq': True, 'UVMRegWriteOnlyCbs': True, 'UVMRelatedLink': True, 'UVMReportHandler': True, 'UVMTLMGenericPayload': True, 'UVMTextRecorder': True, 'UVMTextTrDatabase': True, 'UVMTextTrStream': True, 'UVMVRegField': True, 'uvm_get_to_lock_dap': True, 'uvm_set_before_get_dap': True, 'uvm_simple_lock_dap': True}¶
-
objs= {'UVMBuiltInPair': <class 'uvm.comps.uvm_pair.UVMBuiltInPair'>, 'UVMClassPair': <class 'uvm.comps.uvm_pair.UVMClassPair'>, 'UVMMemAccessSeq': <class 'uvm.reg.sequences.uvm_mem_access_seq.UVMMemAccessSeq'>, 'UVMMemSingleAccessSeq': <class 'uvm.reg.sequences.uvm_mem_access_seq.UVMMemSingleAccessSeq'>, 'UVMMemSingleWalkSeq': <class 'uvm.reg.sequences.uvm_mem_walk_seq.UVMMemSingleWalkSeq'>, 'UVMMemWalkSeq': <class 'uvm.reg.sequences.uvm_mem_walk_seq.UVMMemWalkSeq'>, 'UVMParentChildLink': <class 'uvm.base.uvm_links.UVMParentChildLink'>, 'UVMPhaseStateChange': <class 'uvm.base.uvm_phase.UVMPhaseStateChange'>, 'UVMRegAccessSeq': <class 'uvm.reg.sequences.uvm_reg_access_seq.UVMRegAccessSeq'>, 'UVMRegBackdoor': <class 'uvm.reg.uvm_reg_backdoor.UVMRegBackdoor'>, 'UVMRegBitBashSeq': <class 'uvm.reg.sequences.uvm_reg_bit_bash_seq.UVMRegBitBashSeq'>, 'UVMRegField': <class 'uvm.reg.uvm_reg_field.UVMRegField'>, 'UVMRegHWResetSeq': <class 'uvm.reg.sequences.uvm_reg_hw_reset_seq.UVMRegHWResetSeq'>, 'UVMRegItem': <class 'uvm.reg.uvm_reg_item.UVMRegItem'>, 'UVMRegMap': <class 'uvm.reg.uvm_reg_map.UVMRegMap'>, 'UVMRegMemAccessSeq': <class 'uvm.reg.sequences.uvm_reg_access_seq.UVMRegMemAccessSeq'>, 'UVMRegMemBuiltInSeq': <class 'uvm.reg.sequences.uvm_reg_mem_built_in_seq.UVMRegMemBuiltInSeq'>, 'UVMRegReadOnlyCbs': <class 'uvm.reg.uvm_reg_cbs.UVMRegReadOnlyCbs'>, 'UVMRegSequence': <class 'uvm.reg.uvm_reg_sequence.UVMRegSequence'>, 'UVMRegSingleAccessSeq': <class 'uvm.reg.sequences.uvm_reg_access_seq.UVMRegSingleAccessSeq'>, 'UVMRegSingleBitBashSeq': <class 'uvm.reg.sequences.uvm_reg_bit_bash_seq.UVMRegSingleBitBashSeq'>, 'UVMRegWriteOnlyCbs': <class 'uvm.reg.uvm_reg_cbs.UVMRegWriteOnlyCbs'>, 'UVMRelatedLink': <class 'uvm.base.uvm_links.UVMRelatedLink'>, 'UVMReportHandler': <class 'uvm.base.uvm_report_handler.UVMReportHandler'>, 'UVMTLMGenericPayload': <class 'uvm.tlm2.uvm_tlm2_generic_payload.UVMTLMGenericPayload'>, 'UVMTextRecorder': <class 'uvm.base.uvm_recorder.UVMTextRecorder'>, 'UVMTextTrDatabase': <class 'uvm.base.uvm_tr_database.UVMTextTrDatabase'>, 'UVMTextTrStream': <class 'uvm.base.uvm_tr_stream.UVMTextTrStream'>, 'UVMVRegField': <class 'uvm.reg.uvm_vreg_field.UVMVRegField'>, 'uvm_get_to_lock_dap': <class 'uvm.dap.uvm_get_to_lock_dap.uvm_get_to_lock_dap'>, 'uvm_set_before_get_dap': <class 'uvm.dap.uvm_set_before_get_dap.uvm_set_before_get_dap'>, 'uvm_simple_lock_dap': <class 'uvm.dap.uvm_simple_lock_dap.uvm_simple_lock_dap'>}¶
-
create_object(name='')[source]¶ Creates a new object with the optional
name. An object proxy (e.g., <uvm_object_registry #(T,Tname)>) implements this method to create an object of a specific type, T.- Parameters
name (str) –
- Returns
UVMObject|None
-
get_type_name()[source]¶ Function: get_type_name
Returns the value given by the string parameter,
Tname. This method overrides the method inuvm_object_wrapper. Returns:
-
get()[source]¶ Function: get
Returns the singleton instance of this type. Type-based factory operation depends on there being a single proxy instance for each registered type. Returns:
-
create(name, parent=None, contxt='')[source]¶ Function: create
Returns an instance of the object type,
T, represented by this proxy, subject to any factory overrides based on the context provided by theparent’s full name. Thecontxtargument, if supplied, supersedes theparent’s context. The new instance will have the given leafname, if provided. :param name: :param parent: :param contxt:Returns:
-
set_type_override(override_type, replace=True)[source]¶ Function: set_type_override
Configures the factory to create an object of the type represented by
override_typewhenever a request is made to create an object of the type represented by this proxy, provided no instance override applies. The original type,T, is typically a super class of the override type. :param override_type: :param replace:
-
set_inst_override(override_type, inst_path, parent=None)[source]¶ Function: set_inst_override
Configures the factory to create an object of the type represented by
override_typewhenever a request is made to create an object of the type represented by this proxy, with matching instance paths. The original type,T, is typically a super class of the override type.If
parentis not specified,inst_pathis interpreted as an absolute instance path, which enables instance overrides to be set from outside component classes. Ifparentis specified,inst_pathis interpreted as being relative to theparent’s hierarchical instance path, i.e. ~{parent.get_full_name(),”.”,inst_path}~ is the instance path that is registered with the override. Theinst_pathmay contain wildcards for matching against multiple contexts. :param override_type: :param inst_path: :param parent:
-