OVM Field Editor
The OVM Field Editor enables you to inspect and edit OVM 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 OVM Field Editor for a certain class: place the cursor anywhere inside the class definition, right click and select Source > UVM Field Editor from the pop-up menu. If you place the cursor on a field, the OVM Field Editor will show up with the respective field selected.
If there are no previously registered macros, the ovm_*_utils_begin and ovm_*_utils_end macros shall be determined based on the class found at the cursor position. For a class that inherits from ovm_sequence, a pop-up dialog will ask you to select the desired sequencer from the available ones.
Interface
On the left side of the Field Editor Dialog there is a list containing all the fields in the class. You can register/unregister the class by clicking on the checkbox in the Class group. When the class is registered 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 OVM 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:
Summary information regarding registrations: no. of registered fields, total no. of fields in class, no. of errors, no. of warnings.
Content Filters matched indication
Class checkbox that allows you to toggle the registration state.
Field type
Field name
Field icon. The field icons have the following meanings:
Icon |
Meaning |
---|---|
The class is not registered |
|
The class is registered |
|
The field is a virtual interface |
|
The field is instantiated and is a UVM Component |
|
The field is instantiated and is a UVM Object |
|
The field is a port |
|
The field is an array |
|
The field is not registered. |
|
The field is registered. |
|
The field is registered and affected by a warning. |
|
The field is registered and affected by an error. |
Field registration checkbox that allows you to toggle the registration state.
Select/Deselect all buttons. Used to register/unregister all the fields in a class.
Fix button. Used to fix a macro registration if the right one isn’t used
The UVM Registration Macro that is currently used for the selected field.
Message area: displays error/warning messages.
Field operation checkbox. If checked, the flag will be added to the registration.
Field operation controls: allow you to select / clear all of the checkboxes.
Print radix radio button. If checked, the radix will be set in the registration. At most one radix can be specified.
Tooltip: hover with the mouse pointer any field operation checkbox or print radix radio button to obtain information about the flag.
Clear print radix: allows you to unset the print radix (set all radio buttons off).
Problems
OVM 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. ovm_field_object will be used. |
Warning |
Tips
- Shortcut
You can quickly trigger by using Shift+Alt+G.
- 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.
- 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.