UVM Field Editor

The UVM Field Editor enables you to inspect and edit UVM field registrations. It allows you to quickly add, remove and edit the registration macros and presents field statistics (total no. of fields, no. of registered fields, no. of warnings/errors).

Triggering

Triggering the UVM Field Editor for a certain class: place the cursor anywhere inside the class definition and use UVM Field Editor command from Command Palette. If you place the cursor on a field, the UVM Field Editor will show up with the respective field selected.

If there are no previously registered macros, the uvm_*_utils_begin and uvm_*_utils_end macros shall be determined based on the class found at the cursor position. For a class that inherits from uvm_sequence, a new window will appear and will ask you to select the desired sequencer from the available ones.

Interface

On the left side of the Field Editor there is a list containing all the fields in the class. You can register or unregister fields by checking the corresponding checkboxes. When selecting a field you can also find information about the macro used for registration in the UVM Registration Macro group. If it’s not the desired macro you can fix it using the Fix button. On the right side you can see the flag status of the registered fields.

Its main features are highlighted and explained below:

../../_images/sv_uvm_field_editor_interface.png
  1. Summary information regarding registrations: no. of registered fields, total no. of fields in class, no. of errors, no. of warnings

  2. Field type

  3. Field name

  4. Field icon. The field icons show if there are any warnings or errors

  5. Field registration checkbox that allows you to toggle the registration state

  6. Select/Deselect all buttons. Used to register/unregister all the fields in a class

  7. Fix button. Used to fix a macro registration if the right one isn’t used

  8. The UVM Registration Macro that is currently used for the selected field

  9. Field operation checkbox. If checked, the flag will be added to the registration

  10. Field operation controls: allow you to select / clear all of the checkboxes

  11. Print radix radio button. If checked, the radix will be set in the registration. At most one radix can be specified

  12. Tooltip: hover with the mouse pointer any field operation checkbox or print radix radio button to obtain information about the flag

  13. Clear print radix: allows you to unset the print radix (set all radio buttons off)

Problems

UVM Field Editor reports the following problems:

Message

Severity

This field is registered with <current_macro_name> instead of <macro_determined_by_dvt>

Error

Radix flag is specified more than once.

Error

The flags for the field registration are incorrectly specified. They should be OR-ed together using | (pipe character).

Error

DVT could not determine a registration macro for this field. uvm_field_object will be used.

Warning

Tips

  • Fixing problems

    To fix a problem, press the Fix button if it’s a wrong registration macro or unregister and register the field.

    Note

    Registering and unregistering the field will reset the flags/registration macro.

    Note

    You can hover over the field / UVM Registration Macro section to see more details about the warning/error;

  • Multiple selection

    You can’t use multiple selection to perform registration/unregistration of more fields.

    Note

    If you want you can register/unregister all the fields using the Select/Deselect all buttons.

  • Default values

    To configure predefined field operations and set the print radix for fields go to File ‣ Preferences ‣ Settings ‣ Extensions ‣ DVT ‣ Editor ‣ XVM Field Editor.