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.

../../_images/e-uvm-browser-presentation.png

Toolbar

../../_images/prepend_package.png

Prepend Package Name

Prepend the enclosing package name to the name of each element, useful when you explore for example all agents across packages.

../../_images/package.png

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

Agents

uvm_agent

UVM e

Agent Configs

uvm_agent_config

UVM e

BFMs

uvm_bfm

UVM e

Collectors

uvm_collector

UVM e

Config Params

uvm_config_params

UVM e

Drivers

any_sequence_driver

eRM

Envs

any_env / uvm_env

eRM / UVM e

Env Configs

uvm_env_config

UVM e

Items

any_sequence_item

eRM

Memories

vr_ad_mem

vr_ad

Monitors

uvm_monitor

UVM e

Ports

any_port

eRM

Registers

vr_ad_reg

vr_ad

Register Files

vr_ad_reg_file

vr_ad

Register Maps

vr_ad_map

vr_ad

Scoreboards

uvm_scoreboard

UVM e

Sequences

any_sequence

eRM

Signal Maps

uvm_signal_map

UVM e

Virtual Drivers

any_sequence_driver (of a virtual sequence)

eRM

Virtual Sequences

any_sequence (no item)

eRM

Phases

tf_phase_t

UVM e

Phase domains

tf_domain_t

UVM 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 uvm-members 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.