uvm_domain

class uvm.base.uvm_domain.UVMDomain(name)[source]

Bases: UVMPhase

Class: 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, UVMDomain][source]

Returns a list of all domains.

Parameters

domains

Returns

List of all domains

Return type

list[UVMDomain]

Raises

Exception

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

UVMPhase

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 schedule the built-in UVM phases.

Parameters

schedule (UVMPhase) – Phase to be added to the schedule.

classmethod get_uvm_domain()[source]

Get a handle to the singleton uvm domain

Returns

Singleton instance of uvm domain

Return type

UVMDomain

classmethod jump_all(phase)[source]
uvm.base.uvm_domain.check_phase_exists(name, phase)[source]