uvm_domain¶
-
class
uvm.base.uvm_domain.UVMDomain(name)[source]¶ Bases:
uvm.base.uvm_phase.UVMPhaseClass: UVMDomain
Phasing schedule node representing an independent branch of the schedule. Handle used to assign domains to components or hierarchies in the testbench. Domain is basically a container for the uvm phases, or custom phases if custom schedule is created.
-
m_common_domain= <uvm.base.uvm_domain.UVMDomain object>¶
-
m_uvm_domain= <uvm.base.uvm_domain.UVMDomain object>¶
-
m_domains: Dict[str, UVMDomain] = {'common': <uvm.base.uvm_domain.UVMDomain object>, 'uvm': <uvm.base.uvm_domain.UVMDomain object>}¶
-
m_uvm_schedule= <uvm.base.uvm_phase.UVMPhase object>¶
-
classmethod
get_domains(domains=None) → Dict[str, uvm.base.uvm_domain.UVMDomain][source]¶ Returns a list of all domains.
-
classmethod
get_uvm_schedule()[source]¶ Get the “UVM” schedule, which consists of the run-time phases that all components execute when participating in the “UVM” domain.
- Returns
Returns UVM schedule consisting of uvm phases.
- Return type
-
classmethod
get_common_domain()[source]¶ Function: get_common_domain
Get the “common” domain, which consists of the common phases that all components execute in sync with each other. Phases in the “common” domain are build, connect, end_of_elaboration, start_of_simulation, run, extract, check, report, and final. Returns:
-
classmethod
add_uvm_phases(schedule)[source]¶ Appends to the given
schedulethe built-in UVM phases.- Parameters
schedule (UVMPhase) – Phase to be added to the schedule.
-