78 lines
2.6 KiB
ReStructuredText
78 lines
2.6 KiB
ReStructuredText
|
.. _spi_engine offload:
|
||
|
|
||
|
SPI Engine Offload
|
||
|
================================================================================
|
||
|
|
||
|
.. symbolator:: ../../../library/spi_engine/spi_engine_offload/spi_engine_offload.v
|
||
|
|
||
|
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:`master:library/spi_engine/spi_engine_offload/spi_engine_offload.v`
|
||
|
- Verilog source for the peripheral.
|
||
|
* - :git-hdl:`master: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::
|
||
|
:path: library/spi_engine/spi_engine_offload
|
||
|
|
||
|
* - 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
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
.. list-table::
|
||
|
:widths: 10 25 65
|
||
|
:header-rows: 1
|
||
|
|
||
|
* - Name
|
||
|
- Type
|
||
|
- Description
|
||
|
* - ``ctrl_clk``
|
||
|
- Clock
|
||
|
- The ``spi_engine_offload_ctrl`` signals are synchronous to this clock.
|
||
|
* - ``spi_clk``
|
||
|
- Clock
|
||
|
- 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``
|
||
|
- Input
|
||
|
- 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` slave
|
||
|
- Control interface which allows to re-program the stored command and SDO
|
||
|
data stream.
|
||
|
* - ``spi_engine_ctrl``
|
||
|
- :ref:`spi_engine control-interface` master
|
||
|
- SPI Engine Control stream that contains commands and data.
|
||
|
* - ``offload_sdi``
|
||
|
- Streaming AXI master
|
||
|
- Output stream of the received SPI data.
|