Universal VHDL Verification Methodology (UVVM)

UVVM is an open source VHDL verification library and methodology, available on both Github and IEEE Standards Association Open, and is developed in cooperation with the European Space Agency (ESA). The latest UVVM library is included in the installation of the latest versions of Active-HDL and Riviera-PRO.

 

A major advantage of using this VHDL-based approach is that you can use the design language you already know and add, step-by-step, the functionality you need for your specific testbench. Moreover, you only need VHDL, thus resulting in simpler, faster and cheaper verification. UVVM works with any VHDL 2008 compatible simulator and may also be used for ASIC verification – even for a Verilog design under test (DUT).

 

UVVM is seen as “UVM for VHDL”, but with a far lower user threshold, and was made to target the following for your testbench:

 

UVVM has lots of interface models for accessing various interfaces. These are provided as bus functional model (BFM) procedures, for simple usage, and as VHDL verification components (VVCs) for more advanced verification. These interface models allow you to write high level transactions (procedures) to create easily understandable test cases. 

 

The VVCs of UVVM provide unique functionality that allows more efficient verification in a single project, and even more so for reuse at all levels. Features include:

 

UVVM focuses on simplicity where it matters, and software and hardware developers alike can easily read and write UVVM test cases. Also, the methodology is very well documented with description, syntax and examples. You can also find demo and maintenance testbenches (inside UVVM Supplementary) for any functionality.

 

UVVM is a verification methodology that targets cycle-related corner cases, which are often very error prone, and the inventor the methodology, Espen Tallaksen of EmLogic (Norway), is still the project manager and chief architect.

 

Primary Use Case

UVVM has been targeted to improve VHDL testbench readability, overview and maintainability. Simple DUTs can be verified using the simple UVVM Utility Library and BFMs, whereas very structured UVVM testbench architectures can be made to verify complex DUTs in a very simple way, thus significantly improving efficiency and quality.

 

Benefits

UVVM provides the following functionality:

 

Webinar Video: Enhancing the Simulation Testbench for VHDL-based FPGA Designs (Part 1) Basic Testbench for a Simple DUT

Functional simulation using an HDL testbench is the de facto method for proving functional correctness of FPGA designs. In this three-part webinar series, we will present a step-by-step approach on how to architect a testbench - progressing from basic to advanced techniques. We will first use a simple DUT then go to a more complex DUT with simultaneous activities on multiple interfaces.

 

In part 1 of this webinar series, we show you how to verify a relatively simple DUT with low- to mid-quality requirements using a basic testbench without using any verification framework. We also discuss the elements of a basic testbench infrastructure, show examples of how to create self-checking testbenches with verbosity and alert control, and introduce the use of basic BFMs to speed up verification and debugging. We then introduce UVVM and show you how to use it to verify a simple DUT.

 

Use Python and bring joy back to verification webinar video

 

Other Webinar Recordings for UVVM

 

Additional Links



Printed version of site: support.aldec.com/en/solutions/functional_verification/uvvm