Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General updates #165

Merged
merged 10 commits into from
Mar 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,27 @@

This repository contains testbenches and verification components for system level projects or components connected at block level from the [hdl](https://github.com/analogdevicesinc/hdl) repository.

This repository is not a stand alone one. It must be cloned or linked as a submodule inside the [hdl](https://github.com/analogdevicesinc/hdl) repository you want to test.
This repository is not a stand alone one. It must be cloned or linked as a submodule inside the [hdl](https://github.com/analogdevicesinc/hdl) repository you want to test.

The folder structure of the hdl will look as follows:

hdl
- projects
- library
- testbenches

## Setup
The testbenches are built around Xilinx verification IPs so it requires Vivado to be set up according to the hdl repository requirenments.
The testbenches are built around Xilinx verification IPs so it requires Vivado to be set up according to the hdl repository requirenments.
Running the testbenches relies on the build mechanism from the hdl repository, make sure you have a proper setup for Xilinx flow described [here](https://wiki.analog.com/resources/fpga/docs/build)

## Running a testbench:

Change the workig directory to the testbench you want to run:
Change the workig directory to the testbench you want to run:

cd testbenches/fmcomms2

The scripts first will build all components used from the hdl library, build the block design environment based on a configuration file that describes parameters of under test block, then will actually run the test.
These steps are separated in ordrer to be able to run multiple tests on the same configuration without rebuilding the block desing every time.
The scripts first will build all components used from the hdl library, build the block design environment based on a configuration file that describes parameters of under test block, then will actually run the test.
These steps are separated in ordrer to be able to run multiple tests on the same configuration without rebuilding the block desing every time.

### Run all tests in batch mode:

Expand Down
2 changes: 1 addition & 1 deletion docs/library/drivers/common/watchdog/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,6 @@ Other use-cases for the watchdog timer:
system hanging. In this case it is more advisable have a watchdog timer
stopped and started or reset each time a repetitive task is completed. This
allows for a stricter watchdog timer value, which may stop a hanging
simulation sooner without waiting for the whole process to finish.
simulation sooner without waiting for the whole process to finish.

.. include:: ../../../../common/support.rst
4 changes: 2 additions & 2 deletions docs/library/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Library
===============================================================================

Drivers
-------------------------------------------------------------------------------

Expand Down Expand Up @@ -34,4 +34,4 @@ VIPs
:maxdepth: 1

vip/index

2 changes: 1 addition & 1 deletion docs/library/vip/amd/axi_vip/adi_axi_agent.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ADI AXI Agent (VIP)
Overview
-------------------------------------------------------------------------------

The ADI AXI Agent uses the AMD (Xilinx) AXI VIP at its core with added
The ADI AXI Agent uses the AMD (Xilinx) AXI VIP at its core with added
sequencer, monitor and wrapper class. Has a master, slave and passthrough
variant. Provides functions to start, stop and run the classes within. Its
purpose is to create and contain everything under a single construct and not
Expand Down
2 changes: 1 addition & 1 deletion docs/library/vip/amd/axi_vip/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Xilinx AXI Verification IP (VIP)
Overview
-------------------------------------------------------------------------------

The ADI AXI Agent uses the AMD (Xilinx) AXI VIP at its core with added
The ADI AXI Agent uses the AMD (Xilinx) AXI VIP at its core with added
sequencer, monitor and wrapper class.
`[1] <https://docs.amd.com/r/en-US/pg267-axi-vip>`__

Expand Down
2 changes: 1 addition & 1 deletion docs/library/vip/amd/axis_vip/adi_axis_agent.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ADI AXIS Agent (VIP)
Overview
-------------------------------------------------------------------------------

The ADI AXIS Agent uses the AMD (Xilinx) AXIS VIP at its core with added
The ADI AXIS Agent uses the AMD (Xilinx) AXIS VIP at its core with added
sequencer, monitor and wrapper class. Has a master, slave and passthrough
variant. Provides functions to start, stop and run the classes within. Its
purpose is to create and contain everything under a single construct and not
Expand Down
2 changes: 1 addition & 1 deletion docs/library/vip/amd/axis_vip/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Xilinx AXIS Stream Verification IP (VIP)
Overview
--------------------------------------------------------------------------------

The ADI AXIS Agent VIP uses the AMD (Xilinx) AXIS VIP at its core with added
The ADI AXIS Agent VIP uses the AMD (Xilinx) AXIS VIP at its core with added
sequencer, monitor and wrapper class.
`[1] <https://docs.amd.com/v/u/en-US/pg277-axi4stream-vip>`__

Expand Down
2 changes: 1 addition & 1 deletion docs/testbenches/common/dependency_common.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Common with most testbenches:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand Down
2 changes: 1 addition & 1 deletion docs/testbenches/ip_based/util_pack/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The following parameters of this project that can be configured:
.. note::

The max width is calculated with: CHANNELS*SAMPLES*WIDTH and it cannot
exceed 2048.
exceed 2048.

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
10 changes: 5 additions & 5 deletions docs/testbenches/project_based/ad463x/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,18 @@ The following parameters of this project that can be configured:

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The parameters mentioned above can be configured when starting the build, like in
the following example:

.. shell::
:showuser:

$make CLK_MODE=0 NUM_OF_SDI=2 CAPTURE_ZONE=1 DDR_EN=0

but we recommend using the already tested build configuration modes, that can be
found in the ``cfg`` section.

Configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -167,7 +167,7 @@ Sanity test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This test is used to check the communication with the AXI REGMAP module of the
AD463X SPI Engine interface, by reading the core VERSION register, along with
AD463X SPI Engine interface, by reading the core VERSION register, along with
writing and reading the SCRATCH register.

FIFO SPI test
Expand Down Expand Up @@ -322,7 +322,7 @@ Testbench specific dependencies:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand Down
14 changes: 7 additions & 7 deletions docs/testbenches/project_based/ad738x/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,21 @@ The following parameters of this project that can be configured:
- NUM_OF_SDI: defines the number of MOSI lines of the SPI interface:
Options: 1 - Interleaved mode, 2 - 1 lane per channel,
4 - 2 lanes per channel

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The parameters mentioned above can be configured when starting the build, like in
the following example:

.. shell::
:showuser:

$make ALERT_SPI_N=0 NUM_OF_SDI=2

but we recommend using the already tested build configuration modes, that can be
found in the ``cfg`` section.

Configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -64,7 +64,7 @@ The following configuration files are available:
| +----------+---------------+
| | ALERT_SPI_N | NUM_OF_SDI |
+=======================+=============+============+
| cfg1 | 0 | 2 |
| cfg1 | 0 | 2 |
+-----------------------+-------------+------------+

Tests
Expand Down Expand Up @@ -128,7 +128,7 @@ Sanity test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This test is used to check the communication with the AXI REGMAP module of the
AD738X SPI Engine interface, by reading the core VERSION register, along with
AD738X SPI Engine interface, by reading the core VERSION register, along with
writing and reading the SCRATCH register.

FIFO SPI test
Expand Down Expand Up @@ -283,7 +283,7 @@ Testbench specific dependencies:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand Down
20 changes: 10 additions & 10 deletions docs/testbenches/project_based/ad7606/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,21 @@ The following parameters of this project that can be configured:
- NUM_OF_SDI: defines the number of MOSI lines of the SPI interface:
Options: 1 - Interleaved mode, 2 - 1 lane per channel,
4 - 2 lanes per channel, 8 - 4 lanes per channel

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The parameters mentioned above can be configured when starting the build, like in
the following example:

.. shell::
:showuser:

$make DEV_CONFIG=0 EXT_CLK=0 INTF=0 NUM_OF_SDI=2

but we recommend using the already tested build configuration modes, that can be
found in the ``cfg`` section.

Configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -72,7 +72,7 @@ The following configuration files are available:
| cfg2 | 1 | 0 | 0 | 1 |
+-----------------------+------------+---------+------+------------+
| cfg3 | 2 | 0 | 0 | 1 |
+-----------------------+------------+---------+------+------------+
+-----------------------+------------+---------+------+------------+

Tests
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -135,7 +135,7 @@ Sanity test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This test is used to check the communication with the AXI REGMAP module of the
AD7606 SPI Engine interface, by reading the core VERSION register, along with
AD7606 SPI Engine interface, by reading the core VERSION register, along with
writing and reading the SCRATCH register.

Simple configuration test
Expand Down Expand Up @@ -313,13 +313,13 @@ HDL related dependencies
* - UTIL_CPACK2
- :git-hdl:`library/util_pack/util_cpack2 <library/util_pack/util_cpack2>` *
- :external+hdl:ref:`here <util_cpack2>`

.. admonition:: Legend
:class: note

- ``*`` instantiated only for INTF=0 (parallel interface)
- ``**`` instantiated only for INTF=1 (serial interface)


Testbenches related dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -331,7 +331,7 @@ Testbench specific dependencies:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand Down Expand Up @@ -362,7 +362,7 @@ Testbench specific dependencies:
* - S_AXIS_SEQUENCER
- :git-testbenches:`library/vip/amd/s_axis_sequencer.sv`
- ---

.. include:: ../../../common/more_information.rst

.. include:: ../../../common/support.rst
18 changes: 9 additions & 9 deletions docs/testbenches/project_based/ad7616/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ AD7616_SDZ parallel interface

AD7616_SDZ serial interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. image:: ./ad7616_si_tb.svg
:width: 800
:align: center
:alt: AD7616 Serial Interface/Testbench block diagram
:alt: AD7616 Serial Interface/Testbench block diagram

Configuration parameters and modes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -46,21 +46,21 @@ The following parameter of this project that can be configured:

- INTF: defines the device's interface:
Options: 0 - Parallel, 1 - Serial

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The parameter mentioned above can be configured when starting the build, like in
the following example:

.. shell::
:showuser:

$make INTF=0

but we recommend using the already tested build configuration modes, that can be
found in the ``cfg`` section.

Configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -191,7 +191,7 @@ Sanity test
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This test is used to check the communication with the AXI REGMAP module of the
AD7616 SPI Engine interface, by reading the core VERSION register, along with
AD7616 SPI Engine interface, by reading the core VERSION register, along with
writing and reading the SCRATCH register.

FIFO SPI test
Expand Down Expand Up @@ -358,7 +358,7 @@ Testbench specific dependencies:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand Down Expand Up @@ -413,7 +413,7 @@ Testbench specific dependencies:

- ``*`` used only for parallel interface
- ``**`` used only for serial interface

.. include:: ../../../common/more_information.rst

.. include:: ../../../common/support.rst
12 changes: 6 additions & 6 deletions docs/testbenches/project_based/fmcomms2/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ Configuration parameters and modes

There are no project parameters that can be configured in the testbench
configuration files.

Build parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

There are no build parameters for this testbench.

Configuration files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -49,7 +49,7 @@ The following configuration file is available:
| +----------+---------------+
| | --- |
+=======================+=============+============+
| cfg1 | --- |
| cfg1 | --- |
+-----------------------+-------------+------------+

Tests
Expand Down Expand Up @@ -283,7 +283,7 @@ Testbench specific dependencies:
.. list-table::
:widths: 30 45 25
:header-rows: 1

* - SV dependency name
- Source code link
- Documentation link
Expand All @@ -301,7 +301,7 @@ Testbench specific dependencies:
- ---
* - ADI_REGMAP_DAC_PKG
- :git-testbenches:`library/regmaps/adi_regmap_dac_pkg.sv`
- ---
- ---
* - DMA_TRANS
- :git-testbenches:`library/drivers/dmac/dma_trans.sv`
- ---
Expand Down
Loading