DVT e Language IDE User Guide
Rev. 24.1.5, 13 March 2024

33.1 UVM Browser

The UVM Browser View is an intuitive entry point for exploring the components of a UVM-based or eRM-based verification environment.

It allows you to explore UVM-based types grouped by categories, like agents, monitors, BFMs, drivers or sequences and easily inspect the UVM flow specific API, like sub-instances, overridden phases or TLM ports.

Open the view from menu Window > Show View > Other... > DVT > UVM Browser.

You can use CamelCase or Simple Regex to locate a specific element.

Toolbar   
Prepend Package Name Prepend the enclosing package name to the name of each element, useful when you explore for example all agents across packages.
Group By Package Group categories by package. You may chose to see for example all agents across packages or to explore all categories in a specific package.

The top panel presents all the UVM-based structs and units defined in your verification environment. For convenience they are grouped by categories like agents or monitors.

The inheritance hierarchy between elements is shown up to the UVM base type and down to when subtypes.

The categories and their corresponding base types are the following:

Category Base type Methodology
Agentsuvm_agentUVM e
Agent Configsuvm_agent_configUVM e
BFMsuvm_bfmUVM e
Collectorsuvm_collectorUVM e
Config Paramsuvm_config_paramsUVM e
Driversany_sequence_drivereRM
Envsany_env / uvm_enveRM / UVM e
Env Configsuvm_env_configUVM e
Itemsany_sequence_itemeRM
Memoriesvr_ad_memvr_ad
Monitorsuvm_monitorUVM e
Portsany_porteRM
Registersvr_ad_regvr_ad
Register Filesvr_ad_reg_filevr_ad
Register Mapsvr_ad_mapvr_ad
Scoreboardsuvm_scoreboardUVM e
Sequencesany_sequenceeRM
Signal Mapsuvm_signal_mapUVM e
Virtual Driversany_sequence_driver (of a virtual sequence)eRM
Virtual Sequencesany_sequence (no item)eRM
Phasestf_phase_tUVM e
Phase domainstf_domain_tUVM e

The bottom Members Panel panel displays members of the type selected in the top panel. You can toggle the UVM Members Mode on/off using the button.

In UVM Members Mode it displays the following members:

  • All unit instances

  • Fields whose type is or inherits from one of the base types defined in the table above

  • Fields whose type is or inherits from a type defined in the uvm_e, uvm_scbd and vr_ad libraries

  • Fields whose type is or inherits from uvm_accel_input_pipe_proxy or uvm_accel_output_pipe_proxy

  • Extensions of fields, events and methods introduced by calls to macros defined in the uvm_e, uvm_scbd and vr_ad libraries

  • Extensions of UVM Scoreboard Data Transformation methods

  • Extensions of UVM Scoreboard Match Process Customization methods

  • Extensions of e Language Phases and Predefined Methods, like run(), connnect_pointers(), pre and post_generate() etc.

  • Extensions of body(), pre_body() and post_body() methods of any_sequence

When the UVM Members Mode is off, the Members Panel behaves exactly like the Members Panel of the Type Hierarchy View.