forked from VUnit/vunit
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: reorganise 'HDL Libraries', add section 'Guides'
- Loading branch information
Showing
13 changed files
with
118 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,90 @@ | ||
.. _hdl_libraries: | ||
|
||
VHDL Libraries | ||
HDL Libraries | ||
############# | ||
|
||
VHDL | ||
==== | ||
|
||
Builtins | ||
-------- | ||
|
||
By default, VUnit provides bare minimal functionality for running testbenches. | ||
In practice, most users want to use HDL utilities to reduce verbosity and improve reporting when writting tests. | ||
VUnit includes several optional libraries in a group named *VHDL builtins* (see :meth:`add_vhdl_builtins() <vunit.ui.VUnit.add_vhdl_builtins>`): | ||
|
||
* :vunit_file:`core <vunit/vhdl/core>` | ||
* :vunit_file:`logging <vunit/vhdl/logging>` (see :ref:`logging_library`) | ||
* :vunit_file:`string_ops <vunit/vhdl/string_ops>` | ||
* :vunit_file:`check <vunit/vhdl/check>` (see :ref:`check_library`) | ||
* :vunit_file:`dictionary <vunit/vhdl/dictionary>` | ||
* :vunit_file:`run <vunit/vhdl/run>` (see :ref:`run_library`) | ||
* :vunit_file:`path <vunit/vhdl/path>` | ||
|
||
Most of the utilities are based on some internal data types providing dynamic arrays and queues (FIFOs). | ||
See :ref:`data_types_library`. | ||
|
||
Communication | ||
------------- | ||
|
||
The VUnit communication library (``com``) provides a high-level communication mechanism based on the | ||
`actor model <http://en.wikipedia.org/wiki/Actor_model>`__. | ||
|
||
See :meth:`add_com() <vunit.ui.VUnit.add_com>` and :ref:`com_user_guide`. | ||
|
||
.. NOTE:: | ||
The Communication Library depends on the builtins, which are added implicitly. | ||
|
||
Verification Components | ||
----------------------- | ||
|
||
.. note:: This library is released as a *BETA* version. This means non-backwards compatible changes are still likely | ||
based on feedback from our users. | ||
|
||
The VUnit Verification Component Library (VCL) contains a number of useful | ||
:ref:`Verification Components <verification_components>` (VC) as well as a set of utilities for writing your own | ||
verification component. | ||
Verification components allow a better overview in the test bench by raising the abstraction level of bus transactions. | ||
Even if you do not need the advanced features that VCs offer you may still benefit from using peer-verified models of an | ||
AXI-bus instead of re-implementing it yourself. | ||
|
||
See :meth:`add_verification_components() <vunit.ui.VUnit.add_verification_components>` and :ref:`vc_user_guide`. | ||
|
||
.. NOTE:: | ||
The VCL depends on both the Communication Library and OSVVM, which are added implicitly. | ||
|
||
Random | ||
------ | ||
|
||
VUnit provides random integer vector and pointer generation, based on built-in :ref:`Data Types <data_types_library>` | ||
and OSVVM. | ||
|
||
See :meth:`add_random() <vunit.ui.VUnit.add_random>`. | ||
|
||
OSVVM | ||
----- | ||
|
||
VUnit includes the core of `OSVVM <https://github.com/osvvm/>`__ as a submodule and internal dependency of optional | ||
libraries such as Random or Verification Components. | ||
However, it can be added explicitly through :meth:`add_osvvm() <vunit.ui.VUnit.add_osvvm>`. | ||
|
||
Moreover, multiple approaches are supported for using `OSVVMLibraries <https://github.com/OSVVM/OsvvmLibraries>`__ in | ||
VUnit. | ||
See :ref:`OSVB: Examples » SISO AXI4 Stream <osvb:Examples:AXI4Stream>`. | ||
|
||
JSON-for-VHDL | ||
------------- | ||
|
||
VUnit includes `JSON-for-VHDL <https://github.com/Paebbels/JSON-for-VHDL>`__ as a submodule. | ||
JSON-for-VHDL is an alternative to composite top-level generics, which supports any depth in the content structure. | ||
|
||
See :meth:`add_json4vhdl() <vunit.ui.VUnit.add_json4vhdl>`, :vunit_file:`json4vhdl.py <vunit/json4vhdl.py>` and example | ||
:ref:`JSON-for-VHDL <examples:vhdl:json4vhdl>`. | ||
|
||
System Verilog | ||
============== | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
Builtins | ||
-------- | ||
|
||
id/user_guide | ||
logging/user_guide | ||
check/user_guide | ||
run/user_guide | ||
com/user_guide | ||
data_types/user_guide | ||
verification_components/user_guide | ||
See :meth:`add_verilog_builtins() <vunit.ui.VUnit.add_verilog_builtins>` and :vunit_file:`vunit_pkg.sv <vunit/verilog/vunit_pkg.sv>`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters