white paper

UVM IEEE shiny object

Core functions are discussed in terms of the core services class

UVM IEEE shiny object

This paper explores a focused part of the UVM IEEE. Central core functions are discussed in terms of the core services class. Working examples demonstrate integrating these core functions in UVM-1800.2-2017-1.0.

What’s new in UVM IEEE?

This paper is part history and background; part performance analysis; part UVM development archeology; part testbench architecture; and part pining for a future of stability and simplification for verification engineers.

It shares tips for creating a useful report server, or replacing the factory, or installing a new core service. It also discusses improvements to debug for the configuration database that continue to be needed after many years. There is no surprise ending. The UVM is here to stay, being used widely for verification productivity improvements world-wide. And the UVM-IEEE is the latest release.

The UVM IEEE is substantially the same as UVM 1.2 [6] and UVM 1.1d [5], with just enough backward incompatibilities to keep things interesting. The released code unpacks with a name like ‘uvm-core-1800.2-2017-1.0’. I’d prefer uvm-1800.2-2017-1.0 or better and in keeping with uvm-1.1d and uvm-1.2 - uvm-ieee-1.0. In any case, in this paper the release will be called ‘UVM IEEE’.

The README.md file in the release has notes about changes. Comment lines were added throughout the UVM IEEE source code, annotating what is part of the standard, what might be considered for inclusion in the future, and what is in the Accellera implementation (@uvm-ieee, @uvm-contrib and @uvm-accellera, respectively). Certain UVM 1.2 APIs were deprecated. They are still available behind a switch, but will be removed in the next release. Any code that was previously deprecated in UVM 1.2 has been removed.

Share

Related resources