2023-08-16 12:57:14 +00:00
|
|
|
:orphan:
|
|
|
|
|
|
|
|
.. _template_ip:
|
|
|
|
|
|
|
|
IP Template
|
|
|
|
================================================================================
|
|
|
|
|
2023-12-04 22:57:35 +00:00
|
|
|
.. hdl-component-diagram::
|
|
|
|
:path: library/spi_engine/spi_engine_execution
|
2023-08-01 20:39:09 +00:00
|
|
|
|
2023-08-16 12:57:14 +00:00
|
|
|
Features
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
* AXI-based configuration
|
|
|
|
* Vivado and Quartus Compatible
|
|
|
|
|
|
|
|
Files
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - Name
|
|
|
|
- Description
|
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/axi_dmac.v`
|
2023-08-16 12:57:14 +00:00
|
|
|
- Verilog source for the peripheral.
|
|
|
|
|
|
|
|
|
|
|
|
Block Diagram
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.. image:: ../axi_dmac/block_diagram.svg
|
|
|
|
:alt: Template IP block diagram
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
Configuration Parameters
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.. hdl-parameters::
|
|
|
|
:path: library/spi_engine/spi_engine_interconnect
|
|
|
|
|
|
|
|
* - DATA_WIDTH
|
|
|
|
- Data width of the parallel SDI/SDO data interfaces.
|
|
|
|
|
|
|
|
.. _template_ip interface:
|
|
|
|
|
|
|
|
Interface
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2023-08-07 19:31:41 +00:00
|
|
|
.. hdl-interfaces::
|
|
|
|
:path: library/axi_ad9783
|
2023-08-16 12:57:14 +00:00
|
|
|
|
|
|
|
Detailed Architecture
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
.. image:: detailed_architecture.svg
|
|
|
|
:alt: Template IP detailed architecture
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
Detailed Description
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The top module instantiates
|
|
|
|
|
|
|
|
* The ADC channel register map.
|
|
|
|
* The ADC common register map.
|
|
|
|
* The AXI handling interface.
|
|
|
|
|
|
|
|
The data from the interface module is processed by the ADC channel module.
|
|
|
|
The Up_adc_common module implements the ADC COMMON register map, allowing for
|
|
|
|
basic monitoring and control of the ADC.
|
|
|
|
The Up_adc_channel module implements the ADC CHANNEL register map, allowing for
|
|
|
|
basic monitoring and control of the ADC's channel.
|
|
|
|
|
|
|
|
Register Map
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2023-08-07 19:31:41 +00:00
|
|
|
.. hdl-regmap::
|
|
|
|
:name: COMMON
|
|
|
|
:no-type-info:
|
2023-08-16 12:57:14 +00:00
|
|
|
|
2023-08-07 19:31:41 +00:00
|
|
|
.. hdl-regmap::
|
|
|
|
:name: ADC_COMMON
|
|
|
|
:no-type-info:
|
2023-08-16 12:57:14 +00:00
|
|
|
|
2023-08-07 19:31:41 +00:00
|
|
|
.. hdl-regmap::
|
|
|
|
:name: ADC_CHANNEL
|
|
|
|
:no-type-info:
|
2023-08-16 12:57:14 +00:00
|
|
|
|
|
|
|
Design Guidelines
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The control of the chip is done through an SPI interface, which is needed at the
|
|
|
|
system level.
|
|
|
|
The :ref:`template_ip interface` must be connected directly to the top file of
|
|
|
|
the design, as IO primitives are part of the IP.
|
|
|
|
|
|
|
|
The example design uses a DMA to move the data from the output of the IP to memory.
|
|
|
|
If the data needs to be processed in HDL before moving to the memory, it can be
|
|
|
|
done at the output of the IP (at the system level) or inside the ADC interface
|
|
|
|
module (at the IP level).
|
|
|
|
The example design uses a processor to program all the registers.
|
|
|
|
If no processor is available in your system, you can create your IP starting
|
|
|
|
from the interface module.
|
|
|
|
|
|
|
|
Software Guidelines
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
docs: Intermediary for IP Cores import, user guide, regmap (#1321)
Use interref (doctools cross-repository) to link the docs guidelines
Add user guide pages, update IP references
Add axi_adc/dac, up_if, "Use ADI IPs", "Creating new IP",
Update AXI DMAC, JESD204, I3C Controller, SPI Engines
Minor fixes in the frameworks and register maps,
the latter following the discussed guidelines.
Update AXI terms to manager and subordinate.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
Signed-off-by: Istvan-Zsolt Szekely <istvan.szekely@analog.com>
2024-05-13 13:05:12 +00:00
|
|
|
Linux is supported also using :git-linux:`/`.
|
2023-08-16 12:57:14 +00:00
|
|
|
|
|
|
|
References
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
* :git-hdl:`/`, :git-hdl:`library/axi_ad777x` library.
|
docs: Intermediary for IP Cores import, user guide, regmap (#1321)
Use interref (doctools cross-repository) to link the docs guidelines
Add user guide pages, update IP references
Add axi_adc/dac, up_if, "Use ADI IPs", "Creating new IP",
Update AXI DMAC, JESD204, I3C Controller, SPI Engines
Minor fixes in the frameworks and register maps,
the latter following the discussed guidelines.
Update AXI terms to manager and subordinate.
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
Signed-off-by: Istvan-Zsolt Szekely <istvan.szekely@analog.com>
2024-05-13 13:05:12 +00:00
|
|
|
* :git-linux:`/`.
|
2023-09-06 18:00:15 +00:00
|
|
|
* :xilinx:`Zynq-7000 SoC Overview <support/documentation/data_sheets/ds190-Zynq-7000-Overview.pdf>`.
|
|
|
|
* :xilinx:`Zynq-7000 SoC Packaging and Pinout <support/documentation/user_guides/ug865-Zynq-7000-Pkg-Pinout.pdf>`.
|