Awesome
OSVVM Common Library
The OSVVM Common library defines
- OSVVM Model Independent Transactions (MIT)
- Support functions for filling burst transfer FIFOs (in MIT or not)
- Generic Interrupt handler for MIT
- Model Parameter Settings support
About OSVVM's Model Independent Transactions (MIT).
MIT defines a common communication interface (record based) and transaction API for Address Bus and Streaming Interface. Using MIT makes verification component development as easy as any "Lite" approach to verification. Going further using a common transaction API simplifies the test development process.
Common Library Project Structure
- Common
- src
- testbench
Release History
For the release history see, CHANGELOG.md
Learning OSVVM
You can find an overview of OSVVM at osvvm.github.io. Alternately you can find our pdf documentation at OSVVM Documentation Repository.
You can also learn OSVVM by taking the class, Advanced VHDL Verification and Testbenches - OSVVM™ BootCamp
Download OSVVM Libraries
OSVVM is available as either a git repository OsvvmLibraries or zip file from osvvm.org Downloads Page.
On GitHub, all OSVVM libraries are a submodule of the repository OsvvmLibraries. Download all OSVVM libraries using git clone with the “–recursive” flag:
$ git clone --recursive https://github.com/osvvm/OsvvmLibraries
Run The Demos
A great way to get oriented with OSVVM is to run the demos. For directions on running the demos, see OSVVM Scripts.
Participating and Project Organization
The OSVVM project welcomes your participation with either issue reports or pull requests.
You can find the project Authors here and Contributors here.
common/src
- StreamTransactionPkg.vhd
- Stream Interface Model Independent Transaction (MIT) Definitions
- AddressBusTransactionPkg.vhd
- Address Bus Interface Model Independent Transaction (MIT) Definitions
- AddressBusResponderTransactionPkg.vhd
- Address Bus Responder Interface Model Independent Transaction (MIT) Definitions
- AddressBusVersionCompatibilityPkg.vhd
- Aliases to keep this version compatible with last version
- ModelParametersPkg.vhd
- Support for setting parameters in a verification component
- FifoFillPkg_slv.vhd
- Implements fill patterns for verification component burst buffers.
- InterruptHandler.vhd
- Generic Interrupt Handler for any VC that implements Address Bus Interface MIT
- InterruptHandlerComponentPkg.vhd
- Component declaration for the OSVVM Interrupt Handler
- OsvvmCommonContext.vhd
- Context declaration to include all above packages
For current compile order see Common/common.pro.
Verification
- AddressBusTransactionPkg and AddressBusResponderTransactionPkg
- OsvvmLibraries/AXI4/Axi4/RunAllTests.pro
- StreamTransactionPkg
- OsvvmLibraries/AXI4/AxiStream/RunAllTests.pro
- FifoFillPkg_slv
- OsvvmLibraries/AXI4/Axi4/RunAllTests.pro
- InterruptHandler
- OsvvmLibraries/AXI4/Axi4/testbench_interrupt
- ModelParametersPkg
- common/testbench
- TbModelParameters.vhd to verify ModelParametersPkg.vhd
- Runs using testbench.pro
More Information on OSVVM
OSVVM Forums and Blog: http://www.osvvm.org/
Gitter: https://gitter.im/OSVVM/Lobby
Documentation: osvvm.github.io
Documentation: PDF Documentation
Copyright and License
Copyright (C) 2006-2022 by SynthWorks Design Inc.
Copyright (C) 2022 by OSVVM Authors
This file is part of OSVVM.
Licensed under Apache License, Version 2.0 (the "License")
You may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.