Skip to content
/ AXI4 Public

AXI4 Full, Lite, and AxiStream verification components. AXI4 Interface Master, Responder, and Memory verification components. AxiStream transmitter and receiver verification components

License

Notifications You must be signed in to change notification settings

OSVVM/AXI4

Repository files navigation

AXI4 Verification Component Library

The AXI Verification Component Library implements verification components for:

  • AXI4
    • Manager with bursting
    • Memory Subordinate with bursting
    • Transaction Subordinate - no bursting
  • AXI4 Lite
    • Manager
    • Memory Subordinate
    • Transaction Subordinate
  • AXI Stream
    • Transmitter
    • Receiver

Testbenches are Included

Testbenches are in the Git repository, so you can run a simulation and see a live example of how to use the models.

AXI Project Structure

  • AXI4
    • Common
      • src
    • Axi4
      • src
      • testbench
    • Axi4Lite
      • src
      • testbench
    • AxiStream
      • 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.

AXI4/common/src

Contains packages shared by Axi4, Axi4Lite, and AxiStream.

  • Axi4LiteInterfacePkg.vhd
    • Defines Axi4Lite Interface record
  • Axi4InterfacePkg.vhd
    • Defines Axi4 Full Interface record
  • Axi4InterfaceCommonPkg.vhd
    • Defines RESP and PROT values for Axi4 Full and Lite
  • Axi4CommonPkg.vhd
    • Used by Axi4, Axi4Lite, and AxiStream
    • Defines procedures to handle ready and valid signaling
  • Axi4ModelPkg.vhd
    • Used by Axi4 and Axi4Lite
    • Defines handling for Axi4 Bus interface
  • Axi4OptionsPkg.vhd
    • Used by Axi4 and Axi4Lite
    • Transaction extensions for AXI4 bus interface
    • Used in conjunction with AddressBusTransactionpkg
  • Axi4VersionCompatibilityPkg.vhd
    • Used by testbenches that used earlier versions of Axi4 and Axi4Lite verification components
    • Used to minimize changes made to the AXI4

For current compile order see AXI4/common/common.pro.

AXI4/Axi4/src

AXI4 Full verification components. Uses OSVVM Model Independent Transactions for Address Busses. See OSVVM-Common repository, files Common/src/AddressBusTransactionpkg.vhd and Common/src/AddressBusResponderTransactionPkg.vhd

  • Packages with component declarations for verification components
    • Axi4ComponentPkg.vhd - All AXI4 CTI Components
    • Axi4ComponentVtiPkg.vhd - All AXI4 VTI Components
  • Axi4Context.vhd
    • References all packages required to use the AXI4 verification components
  • Axi4Manager.vhd and Axi4ManagerVti.vhd
    • AXI4 Manager verification component with bursting
  • Axi4Monitor_dummy.vhd
  • Axi4Subordinate.vhd and Axi4SubordinateVti.vhd
    • AXI4 Subordinate verification component
    • Currently does not support bursting
  • Axi4Memory.vhd and Axi4MemoryVti.vhd
    • AXI4 Memory Subordinate verification component with bursting

For current compile order see AXI4/Axi4/Axi4.pro.

AXI4/Axi4Lite/src

AXI4 Lite verification components. Uses OSVVM Model Independent Transactions for AddressBusses. See OSVVM-Common repository, files Common/src/AddressBusTransactionpkg.vhd and Common/src/AddressBusResponderTransactionPkg.vhd

  • Axi4LiteComponentPkg.vhd
    • Packages with component declarations for verification components
  • Axi4LiteContext.vhd
    • References all packages required to use the AXI4Lite verification components
  • Axi4LiteManager.vhd
    • AXI4 Manager verification component
  • Axi4LiteMonitor_dummy.vhd
  • Axi4LiteSubordinate.vhd
    • AXI4 Subordinate verification component
  • Axi4LiteMemory.vhd
    • AXI4 Memory verification component

For current compile order see AXI4/Axi4Lite/Axi4Lite.pro.

AXI4/AxiStream/src

AxiStream Transmitter and Receiver verification components. Uses OSVVM Model Independent Transactions for Streaming. See OSVVM-Common repository, file Common/src/StreamTransactionPkg.vhd

  • AxiStreamOptionsPkg.vhd
    • Transaction extensions for AxiStream interface
    • Used in conjunction with StreamTransactionpkg
  • AxiStreamTransmitter.vhd and AxiStreamTransmitterVti.vhd
    • AXI4 Transmitter verification component
  • AxiStreamReceiver.vhd and AxiStreamReceiverVti.vhd
    • AXI4 Receiver verification component
  • AxiStreamComponentPkg.vhd
    • Packages with component declarations for verification components
  • AxiStreamContext.vhd
    • References all packages required to use the AxiStream verification components

For current compile order see AXI4/AxiStream/AxiStream.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.

About

AXI4 Full, Lite, and AxiStream verification components. AXI4 Interface Master, Responder, and Memory verification components. AxiStream transmitter and receiver verification components

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages