Third Party Libraries¶
The PoC-Library is shiped with different third party libraries, which are
located in the <PoCRoot>/lib/
folder. This document lists all these
libraries, their websites and licenses.
Cocotb¶
Cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.
Folder: | <PoCRoot>\lib\cocotb\ |
Copyright: | Copyright © 2013, Potential Ventures Ltd., SolarFlare Communications Inc. |
License: | Revised BSD License (local copy) |
Documentation: | http://cocotb.readthedocs.org/ |
Source: | https://github.com/potentialventures/cocotb |
OSVVM¶
Open Source VHDL Verification Methodology (OS-VVM) 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.
Folder: | <PoCRoot>\lib\osvvm\ |
Copyright: | Copyright © 2012-2016 by SynthWorks Design Inc. |
License: | Artistic License 2.0 (local copy) |
Website: | http://osvvm.org/ |
Source: | https://github.com/JimLewis/OSVVM |
UVVM¶
The Open Source UVVM (Universal VHDL Verification Methodology) - VVC (VHDL Verification Component) Framework for making structured VHDL testbenches for verification of FPGA. UVVM consists currently of: Utility Library, VVC Framework and Verification IPs (VIP) for various protocols.
For what do I need this VVC Framework?
The VVC Framework is a VHDL Verification Component system that allows multiple
interfaces on a DUT to be stimulated/handled simultaneously in a very structured
manner, and controlled by a very simple to understand software like a test
sequencer. VVC Framework is unique as an open source VHDL approach to building
a structured testbench architecture using Verification components and a simple
protocol to access these. As an example a simple command like
uart_expect(UART_VVCT, my_data)
, or axilite_write(AXILITE_VVCT, my_addr, my_data, my_message)
will automatically tell the respective VVC (for UART or AXI-Lite) to execute
the uart_receive()
or axilite_write()
BFM respectively.
Folder: | <PoCRoot>\lib\uvvm\ |
Copyright: | Copyright © 2016 by Bitvis AS |
License: | The MIT License (local copy) |
Website: | http://bitvis.no/ |
Source: | https://github.com/UVVM/UVVM_All |
VUnit¶
VUnit is an open source unit testing framework for VHDL released under the terms of Mozilla Public License, v. 2.0. It features the functionality needed to realize continuous and automated testing of your VHDL code. VUnit doesn’t replace but rather complements traditional testing methodologies by supporting a “test early and often” approach through automation.
Folder: | <PoCRoot>\lib\vunit\ |
Copyright: | Copyright © 2014-2016, Lars Asplund lars.anders.asplund@gmail.com |
License: | Mozilla Public License, Version 2.0 (local copy) |
Website: | https://vunit.github.io/ |
Source: | https://github.com/VUnit/vunit |
Updating Linked Git Submodules¶
The third party libraries are embedded as Git submodules. So if the PoC-Library
was not cloned with option --recursive
it’s required to run the sub-module
initialization manually:
On Linux¶
cd PoCRoot
git submodule init
git submodule update
We recommend to rename the default remote repository name from ‘origin’ to ‘github’.
cd PoCRoot\lib\
Todo
write Bash code for Linux
On OS X¶
Please see the Linux instructions.
On Windows¶
cd PoCRoot
git submodule init
git submodule update
We recommend to rename the default remote repository name from ‘origin’ to ‘github’.
cd PoCRoot\lib\
foreach($dir in (dir -Directory)) {
cd $dir
git remote rename origin github
cd ..
}