pluto_hdl_adi/docs/library/spi_engine/spi_engine_offload.rst

69 lines
2.4 KiB
ReStructuredText

.. _spi_engine offload:
SPI Engine Offload Module
================================================================================
.. hdl-component-diagram::
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
* - :git-hdl:`library/spi_engine/spi_engine_offload/spi_engine_offload.v`
- Verilog source for the peripheral.
* - :git-hdl:`library/spi_engine/spi_engine_offload/spi_engine_offload_ip.tcl`
- 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
--------------------------------------------------------------------------------
.. hdl-interfaces::
* - ctrl_clk
- The ``spi_engine_offload_ctrl`` signals are synchronous to this clock.
* - spi_clk
- The ``spi_engine_ctrl`` signals, ``offload_sdi`` signals and
trigger are synchronous to this clock.
* - spi_resetn
- Synchronous active low reset
- Resets the internal state machine of the core.
* - trigger
- When asserted the stored command and data stream is send out on the
``spi_engine_ctrl`` interface.
* - spi_engine_offload_ctrl
- :ref:`spi_engine offload-control-interface` subordinate.
Control interface which allows to re-program the stored command and SDO
data stream.
* - spi_engine_ctrl
- :ref:`spi_engine control-interface` controller.
SPI Engine Control stream that contains commands and data.
* - offload_sdi
- Streaming AXI controller
Output stream of the received SPI data.