2023-10-09 13:23:17 +00:00
|
|
|
.. _ad9783_ebz_hdl:
|
|
|
|
|
|
|
|
AD9783-EBZ HDL project
|
|
|
|
===============================================================================
|
|
|
|
|
|
|
|
Overview
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
The :adi:`AD9783` includes pin-compatible, high dynamic range, dual
|
2023-10-09 13:23:17 +00:00
|
|
|
digital-to-analog converters (DACs) with 16-bit resolution, and sample rates of
|
|
|
|
up to 500 MSPS.
|
|
|
|
|
|
|
|
The device includes specific features for direct conversion transmit
|
|
|
|
applications, including gain and offset compensation, interfacing seamlessly
|
|
|
|
with analog quadrature modulators.
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
The :adi:`EVAL-AD9783` board is connected to the FPGA carrier through
|
|
|
|
:adi:`AD-DAC-FMC`-ADP interposer board.
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
Supported boards
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :adi:`EVAL-AD9783`
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
Supported devices
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :adi:`AD9780`
|
|
|
|
- :adi:`AD9781`
|
|
|
|
- :adi:`AD9783`
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
Supported carriers
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
- :xilinx:`ZCU102` on FMC HPC0 slot
|
|
|
|
|
|
|
|
Block design
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Block diagram
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
The data path and clock domains are depicted in the below diagram:
|
|
|
|
|
2023-11-15 15:13:26 +00:00
|
|
|
.. image:: ad9783_zcu102_block_diagram.svg
|
2023-10-09 13:23:17 +00:00
|
|
|
:width: 800
|
|
|
|
:align: center
|
|
|
|
:alt: AD9783-EBZ/ZCU102 block diagram
|
|
|
|
|
|
|
|
Clock scheme
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
- External clock source connected to J1 (CLOCK IN)
|
|
|
|
- For maximum performance, give a 500 MHz clock
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
To make the connection between the :adi:`EVAL-AD9783` evaluation board and
|
2023-10-09 13:23:17 +00:00
|
|
|
the carrier using SPI, some hardware changes must be done to the evaluation
|
|
|
|
board. These are presented in detail in the **Connections and hardware changes**
|
|
|
|
section.
|
|
|
|
|
|
|
|
CPU/Memory interconnects addresses
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
The addresses are dependent on the architecture of the FPGA, having an offset
|
|
|
|
added to the base address from HDL (see more at :ref:`architecture`).
|
|
|
|
|
|
|
|
============== =============== ===========
|
|
|
|
Instance Zynq/Microblaze ZynqMP
|
|
|
|
============== =============== ===========
|
|
|
|
axi_ad9783 0x7420_0000 0x9420_0000
|
|
|
|
axi_ad9783_dma 0x7C42_0000 0x9C42_0000
|
|
|
|
============== =============== ===========
|
|
|
|
|
|
|
|
SPI connections
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
For the evaluation board to communicate through SPI with the carrier, some
|
|
|
|
hardware changes must be done, which are explained in the system level
|
|
|
|
documentation.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:widths: 25 25 25 25
|
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - SPI type
|
|
|
|
- SPI manager instance
|
|
|
|
- SPI subordinate
|
|
|
|
- CS nb
|
|
|
|
* - PS
|
|
|
|
- SPI 0
|
|
|
|
- AD9783
|
|
|
|
- 0
|
|
|
|
|
|
|
|
Interrupts
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Below are the Programmable Logic interrupts used in this project.
|
|
|
|
|
|
|
|
============== === ============ =============
|
|
|
|
Instance name HDL Linux ZynqMP Actual ZynqMP
|
|
|
|
============== === ============ =============
|
|
|
|
axi_ad9783_dma 12 108 140
|
|
|
|
============== === ============ =============
|
|
|
|
|
|
|
|
Building the HDL project
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The design is built upon ADI's generic HDL reference design framework.
|
|
|
|
ADI does not distribute the bit/elf files of these projects so they
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
must be built from the sources available :git-hdl:`here </>`. To get
|
2023-10-09 13:23:17 +00:00
|
|
|
the source you must
|
|
|
|
`clone <https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository>`__
|
|
|
|
the HDL repository, and then build the project as follows:
|
|
|
|
|
|
|
|
**Linux/Cygwin/WSL**
|
|
|
|
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
user@analog:~$ cd hdl/projects/ad9783_ebz/zcu102
|
|
|
|
user@analog:~/hdl/projects/ad9783_ebz/zcu102$ make
|
|
|
|
|
|
|
|
A more comprehensive build guide can be found in the :ref:`build_hdl` user guide.
|
|
|
|
|
|
|
|
Software considerations
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The SPI communication is changed because of hardware modifications, so the
|
|
|
|
connection looks like this:
|
|
|
|
|
2023-11-15 15:13:26 +00:00
|
|
|
.. image:: ad9783_zcu102_spi_pmod.svg
|
|
|
|
:width: 600
|
|
|
|
:align: center
|
|
|
|
:alt: AD9783-EBZ/ZCU102 SPI Pmod connection
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
Resources
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Systems related
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Here you can find the quick start guides available for these evaluation boards:
|
|
|
|
|
|
|
|
.. list-table::
|
2023-11-27 10:53:21 +00:00
|
|
|
:widths: 50 50
|
2023-10-09 13:23:17 +00:00
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - Evaluation board
|
|
|
|
- Zynq UltraScale+ MP
|
|
|
|
* - AD9783-EBZ
|
|
|
|
- :dokuwiki:`[Wiki] ZCU102 <resources/fpga/xilinx/interposer/ad9783>`
|
|
|
|
|
|
|
|
Hardware related
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
- Product datasheets:
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :adi:`AD9780`
|
|
|
|
- :adi:`AD9781`
|
|
|
|
- :adi:`AD9783`
|
|
|
|
- :adi:`EVAL-AD9783`
|
|
|
|
- :adi:`AD-DAC-FMC`-ADP
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
HDL related
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`AD9783_EBZ HDL project source code <projects/ad9783_ebz>`
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:widths: 30 35 35
|
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - IP name
|
|
|
|
- Source code link
|
|
|
|
- Documentation link
|
|
|
|
* - AXI_AD9783
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`library/axi_ad9783`
|
2023-10-09 13:23:17 +00:00
|
|
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_ad9783>`
|
|
|
|
* - AXI_DMAC
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`library/axi_dmac`
|
2023-10-09 13:23:17 +00:00
|
|
|
- :ref:`here <axi_dmac>`
|
|
|
|
* - AXI_SYSID
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`library/axi_sysid`
|
2023-10-09 13:23:17 +00:00
|
|
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_sysid>`
|
|
|
|
* - SYSID_ROM
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`library/sysid_rom`
|
2023-10-09 13:23:17 +00:00
|
|
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/axi_sysid>`
|
|
|
|
* - UTIL_UPACK2
|
docs: links, drop part, fixups, codeowners
Drop part role, use generic adi instead for root adi domain links.
For future reference, the snipped used was:
find ./docs/projects -type f -exec sed -i 's/:part:/:adi:/g' {} \;
Drop Containerfile.
Add option to validate links status (e.g. 200, 404), intended mostly for CI
use to check if a page has disappeared from the internet.
Validate links uses coroutines to launch multiple tasks concurrently,
but do it in bundles to avoid being rate limited.
Fixup regmap styling.
Add imoldovan, jmarques, spop, lbarbosa as docs codeowners.
Remove branch field for links to the hdl repo.
Change git role to display full path.
Fixup ZedBoard link label, remove IP List, add SYSID_ROM dokuwiki link
in ad716_sdz project.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-11-13 15:42:46 +00:00
|
|
|
- :git-hdl:`library/util_pack/util_upack2`
|
2023-10-09 13:23:17 +00:00
|
|
|
- :dokuwiki:`[Wiki] <resources/fpga/docs/util_upack>`
|
|
|
|
|
|
|
|
Software related
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-11-27 10:53:21 +00:00
|
|
|
- :git-linux:`Linux device tree zynqmp-zcu102-rev10-ad9783.dts <arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-ad9783.dts>`
|
|
|
|
- :git-linux:`Linux driver ad9783.c <drivers/iio/frequency>`
|
2023-10-09 13:23:17 +00:00
|
|
|
|
|
|
|
.. include:: ../common/more_information.rst
|
|
|
|
|
|
|
|
.. include:: ../common/support.rst
|
|
|
|
|