2023-08-16 12:57:14 +00:00
|
|
|
.. _spi_engine offload:
|
|
|
|
|
2023-08-18 20:29:31 +00:00
|
|
|
SPI Engine Offload Module
|
2023-08-16 12:57:14 +00:00
|
|
|
================================================================================
|
|
|
|
|
2023-12-04 22:57:35 +00:00
|
|
|
.. hdl-component-diagram::
|
2023-08-16 12:57:14 +00:00
|
|
|
|
|
|
|
The SPI Engine Offload peripheral allows to store a SPI Engine command and SDO
|
|
|
|
data stream in a RAM or ROM module. The command stream is executed when the
|
|
|
|
``trigger`` signal is asserted. This allows the execution of SPI transactions
|
|
|
|
with a very short delay in reaction to a event.
|
|
|
|
|
|
|
|
Files
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:widths: 25 75
|
|
|
|
: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/spi_engine/spi_engine_offload/spi_engine_offload.v`
|
2023-08-16 12:57:14 +00:00
|
|
|
- Verilog source for the peripheral.
|
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/spi_engine/spi_engine_offload/spi_engine_offload_ip.tcl`
|
2023-08-16 12:57:14 +00:00
|
|
|
- TCL script to generate the Vivado IP-integrator project for the
|
|
|
|
peripheral.
|
|
|
|
|
|
|
|
Configuration Parameters
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.. hdl-parameters::
|
|
|
|
|
|
|
|
* - ASYNC_SPI_CLK
|
|
|
|
- If set to 1 the ``ctrl_clk`` and ``spi_clk`` are assumed to be
|
|
|
|
asynchronous.
|
|
|
|
* - CMD_MEM_ADDRESS_WIDTH
|
|
|
|
- Configures the size of the command stream storage. The size is
|
|
|
|
``2**CMD_MEM_ADDR_WIDTH`` entries.
|
|
|
|
* - SDO_MEM_ADDRESS_WIDTH
|
|
|
|
- Configures the size of the SDO data stream storage. The size is
|
|
|
|
``2**SDO_MEM_ADDR_WIDTH`` entries.
|
|
|
|
|
|
|
|
Signal and Interface Pins
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2023-08-01 20:39:09 +00:00
|
|
|
.. hdl-interfaces::
|
2023-08-16 12:57:14 +00:00
|
|
|
|
2023-08-01 20:39:09 +00:00
|
|
|
* - ctrl_clk
|
2023-08-16 12:57:14 +00:00
|
|
|
- The ``spi_engine_offload_ctrl`` signals are synchronous to this clock.
|
2023-08-01 20:39:09 +00:00
|
|
|
* - spi_clk
|
2023-08-16 12:57:14 +00:00
|
|
|
- The ``spi_engine_ctrl`` signals, ``offload_sdi`` signals and
|
|
|
|
trigger are synchronous to this clock.
|
2023-08-01 20:39:09 +00:00
|
|
|
* - spi_resetn
|
2023-08-16 12:57:14 +00:00
|
|
|
- Synchronous active low reset
|
|
|
|
- Resets the internal state machine of the core.
|
2023-08-01 20:39:09 +00:00
|
|
|
* - trigger
|
2023-08-16 12:57:14 +00:00
|
|
|
- When asserted the stored command and data stream is send out on the
|
|
|
|
``spi_engine_ctrl`` interface.
|
2023-08-01 20:39:09 +00:00
|
|
|
* - spi_engine_offload_ctrl
|
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
|
|
|
- :ref:`spi_engine offload-control-interface` subordinate.
|
2023-08-01 20:39:09 +00:00
|
|
|
Control interface which allows to re-program the stored command and SDO
|
2023-08-16 12:57:14 +00:00
|
|
|
data stream.
|
2023-08-01 20:39:09 +00:00
|
|
|
* - spi_engine_ctrl
|
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
|
|
|
- :ref:`spi_engine control-interface` controller.
|
2023-08-01 20:39:09 +00:00
|
|
|
SPI Engine Control stream that contains commands and data.
|
|
|
|
* - offload_sdi
|
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
|
|
|
- Streaming AXI controller
|
2023-08-01 20:39:09 +00:00
|
|
|
Output stream of the received SPI data.
|