Thought Leadership

OVM Extensions for Testbench Reuse

By Dennis Brophy
Download OVM Configuration and Virtual Interface Extensions from OVMWorld.org

OVM_Logo Creating configurable testbench elements is critical for reuse. If you write some OVM code in one particular testbench and never intend to use it in any other testbench, then there is no need to make it configurable. As soon as you wish to take code and turn it into reusable IP which can be used in a variety of applications, not all of which are immediately known, then you need to think about how to make the code configurable. Making code configurable means that you need to think about the breadth of applications where it will be used and the degrees of freedom you want to make available to the user of this IP.

The author of any verification IP needs to think about how to make that VIP sufficiently flexible to be used in a variety of different scenarios. In order to achieve this, OVM components need to have a number of settings associated with which can be varied by the testbench integrator. These settings may include things such as error injection rates, protocol modes supported or not supported, whether an agent is active or passive, to name but a few.

Future OVM Directions

If you download the OVM Configuration and Virtual Interface Extensions, you will find information on future directions for OVM in the documentation directory.  In particular, detaching the configuration scoping mechanism from the OVM component hierarchy is an active area of investigation which might enhance the existing configuration mechanisms in important ways. This would allow one to naturally use the scoping mechanism with “behavioral VIP,” such as sequences, in addition to the current “structural scoping” mechanism that works with OVM components.

Additionally, the current configuration database is limited to storing strings, integers, and objects derived from ovm _ object. Another area of active investigation is enabling the database to store values of any type to solve the efficiency problems when storing and retrieving integral types.

It is also possible to improve and expand the existing wildcarding mechanisms to deal with the full regular expression syntax.

We invite you to join us in the this endeavor and share your thoughts here or on OVM World.  To get started, you can download the OVM Configuration and Virtual Interface extensions to learn more.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/verificationhorizons/2010/05/04/ovm-extensions-for-testbench-reuse/