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 |
---|---|---|
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 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.