DVT SystemVerilog IDE User Guide
Rev. 24.1.7, 9 April 2024

40.17.9 Factory Overrides View

The Factory Overrides View shows the UVM create calls affected by factory overrides.

Open the view from the UVM menu > Show Factory Overrides. The view is populated only after setting a runtime elaborated Verification top.

The view content is grouped in three categories:

  • Direct: Lists all the overrides applied by the UVM factory while creating components or objects during the UVM elaboration. Each entry corresponds to the application of a particular override.

  • Chain: Groups together all the chained factory overrides that get applied during the creation of a UVM component or object which is subject to multiple overrides.

  • Unused: Lists all the factory overrides which were not applied during the UVM elaboration.

Note: Overrides meant to be applied after the end of elaboration phase will show up as Unused.

The view columns represent:

  • Applicable To: The verification hierarchy to which the override is applicable.

  • Original Type: The type to be overridden.

  • Override Type: The type created by the factory.

  • Override Path: The verification hierarchy path of the created object.

  • Override Chain: The types that make up the override chain, for example if foo overrides bar, and xyz overrides foo, then the chain will show foo > bar > xyz.

The quick search bar applies to any of the view’s columns.

From the Filters toolbar button you can toggle the visibility of each section.

Use the Toggle Inspect Panel toolbar button to see an Inspect Panel embedded in the view. It shows the relevant code sections for the currently selected table row, namely the set override calls and the corresponding create calls.

Tip: Double click any node to go to the create call.

Tip: Use Up and Down arrow keys to navigate the view, Left to collapse and Right to expand.

Tip: Right-click on a node to:

  • Open Override Call Jump to the applied override call.

  • Open Original Type Declaration Jump to the original type.

  • Open Override Type Declaration Jump to the override type.

  • Open Instantiation Jump to the create call.

  • Copy Hierarchy Path Copy the content of the Override Path column to the clipboard.