This document addresses two related issues: how to configure an OVM testbench, and how a test and a DUT communicate. Configuring a testbench refers to setting values that affect the structure and behavior of the testbench. Ideally, you would set values from a single location, i.e. in the test, so that it’s easy to locate where configuration values are being set and it’s easy to make changes to the configuration. 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.

Note: By clicking on the above link, this paper will be emailed to your TechOnline log-in address by Mentor Graphics.