Description |
Release |
Open Source VHDL Verification Methodology (OSVVM™)
Open Source VHDL Verification Methodology, OSVVM, is an intelligent testbench methodology that allows mixing of "Intelligent Coverage™" (coverage driven randomization) with directed, algorithmic, file based, and constrained random test approaches. The methodology can be adopted in part or in whole as needed. With OSVVM you can add advanced verification methodologies to your current testbench without having to learn a new language or throw out your existing testbench or testbench models.
Like other verification languages, it is all about methodology. OSVVM simplifies verification methodology to the following steps.
- Write a high fidelity functional coverage (FC) model
- Randomly select holes in the functional coverage (aka "Intelligent Coverage")
- Refine the initial randomization using sequential VHDL code
OSVVM is based on a set of open source (free) packages: CoveragePkg for functional coverage and "Intelligent Coverage", and RandomPkg for constrained random (CR) utilities. These packages offer a similar capability and conciseness to the syntax of other verification languages (such as SystemVerilog or 'e'). Going further, "Intelligent Coverage" is a leap ahead of what other verification languages provide. Since it is package based, it is easier to update than language syntax.
Benefits:
- Faster simulations due to removing redundancies in CR stimulus generation.
- Faster development due to removing redundancies between modeling FC and CR.
- Less cost. Packages are free. Works with basic simulation licenses.
- Vendor independent and works on any VHDL-2008 simulator (VHDL-2002 with some adaptations).
More Information, OSVVM Webinar:
OSVVM_2up.pdf
Get CoveragePkg, RandomPkg, and user guides:
OSVVM.zip 2015.03
|
2015.03 |
CoveragePkg: Functional Coverage Collection and Reporting
CoveragePkg simplifies the modeling of functional coverage for either point or cross coverage. It defines a protected type and methods that facilitate modeling, collecting, and interacting with the coverage data structure.
Functional coverage is modeled sequentially. Coverage items can be added incrementally. Any sequential language construct can be used to model or capture coverage. This gives VHDL a powerful capability that results in a high fidelity coverage model.
The protected type also contains a randomization object. Intelligent coverage uses the randomization object to randomly select holes in the coverage model. This allows the creation of an intelligent test environment that reaches complete coverage faster than other approaches. Intelligent coverage balances the randomization solution without requiring the complexity of a solver.
Coverage Package code and user guide:
OSVVM.zip 2015.03
MAPLD/ReSpace Conference presentation on CoveragePkg:
coverage_2011_lewis.pdf
Learn more in our
Advanced VHDL Testbenches and Verification class.
|
2015.03 |
RandomPkg: Constrained Random Verification with VHDL
RandomPkg defines a set of function methods for randomization with a uniform (range or set), discrete (weighted), Normal, or Poisson distribution. Calling these methods from within sequential code provides a form of constrained random test generation. Rather than use constrained random by itself, OSVVM uses constrained random to refine the initial "Intelligent Coverage" randomization.
Random Package code and user guide:
OSVVM.zip 2015.03
Webinar slides for version 2.1:
Slides
Learn more in our
Advanced VHDL Testbenches and Verification class.
|
2015.03 |
Scoreboard Packages
A parameterizable set of packages for creating scoreboards.
Currently only released with our class Advanced VHDL Testbenches and Verification.
Learn more in our
Advanced VHDL Testbenches and Verification class.
|
To Be Released |
Open Source Licensing
The following open source licensing applies to these files:
Verbatim copies of the source files may be used and distributed without restriction.
You may modify and/or redistribute modifications under the terms of the
ARTISTIC License as published by The Perl Foundation; either version 2.0 of
the License, or (at your option) any later version.
Perl ARTISTIC License 2.0:
At Perl Foundation
Local Copy
|
Description |
Revision |
VHDL Quick Reference |
vhdl_quickref.pdf
|
VHDL Types & Package Quick Reference |
type_pkg_quickref.pdf |
ModelSim Quick Reference
ModelSim Tutorial
|
modelsim_quickref.pdf
modelsim_tutorial.pdf
|
ActiveHDL Quick Reference
ActiveHDL Tutorial
|
activehdl_quickref.pdf
activehdl_tutorial.pdf
|
Synplify Quick Reference |
synplify_quickref.pdf |
| Copyrighted with verbatim copies permitted |