Skip to content

Latest commit

 

History

History
113 lines (91 loc) · 4.6 KB

README.md

File metadata and controls

113 lines (91 loc) · 4.6 KB

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.