SPI Engine Offload Module
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
| Name | Description | 
|---|---|
| Verilog source for the peripheral. | |
| 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
| Name | Description | Default Value | Choices/Range | 
|---|---|---|---|
| ASYNC_SPI_CLK | If set to 1 the  | False | |
| ASYNC_TRIG | If set to 1, the trigger input is considered asynchronous to the module. | False | |
| CMD_MEM_ADDRESS_WIDTH | Configures the size of the command stream storage. The size is  | 4 | From 1 to 16. | 
| SDO_MEM_ADDRESS_WIDTH | Configures the size of the SDO data stream storage. The size is  | 4 | From 1 to 16. | 
| DATA_WIDTH | Data width of the parallel data stream. Will define the transaction’s granularity. Supported values: 8/16/24/32 | 8 | From 8 to 256. | 
| NUM_OF_SDI | Number of multiple SDI lines, (min: 1, max: 8) | 1 | From 1 to 8. | 
| SDO_STREAMING | Enables the s_axis_sdo interface. This allows for sourcing the SDO data stream from a DMA or other similar sources, useful for DACs. | False | 
Signal and Interface Pins
| Physical Port | Logical Port | Direction | Dependency | 
|---|---|---|---|
| cmd_ready | cmd_ready | in | |
| cmd_valid | cmd_valid | out | |
| cmd | cmd_data | out [15:0] | |
| sdo_data_ready | sdo_ready | in | |
| sdo_data_valid | sdo_valid | out | |
| sdo_data | sdo_data | out [7:0] | |
| sdi_data_ready | sdi_ready | out | |
| sdi_data_valid | sdi_valid | in | |
| sdi_data | sdi_data | in [7:0] | |
| sync_ready | sync_ready | out | |
| sync_valid | sync_valid | in | |
| sync_data | sync_data | in [7:0] | 
| Physical Port | Logical Port | Direction | Dependency | 
|---|---|---|---|
| ctrl_cmd_wr_en | cmd_wr_en | in | |
| ctrl_cmd_wr_data | cmd_wr_data | in [15:0] | |
| ctrl_sdo_wr_en | sdo_wr_en | in | |
| ctrl_sdo_wr_data | sdo_wr_data | in [7:0] | |
| ctrl_enable | enable | in | |
| ctrl_enabled | enabled | out | |
| ctrl_mem_reset | mem_reset | in | |
| status_sync_ready | sync_ready | in | |
| status_sync_valid | sync_valid | out | |
| status_sync_data | sync_data | out [7:0] | 
| Physical Port | Logical Port | Direction | Dependency | 
|---|---|---|---|
| offload_sdi_valid | TVALID | out | |
| offload_sdi_ready | TREADY | in | |
| offload_sdi_data | TDATA | out [7:0] | 
| Physical Port | Logical Port | Direction | Dependency | 
|---|---|---|---|
| s_axis_sdo_ready | TREADY | out | SDO_STREAMING = 1 | 
| s_axis_sdo_valid | TVALID | in | SDO_STREAMING = 1 | 
| s_axis_sdo_data | TDATA | in [7:0] | SDO_STREAMING = 1 | 
| Physical Port | Logical Port | Direction | Dependency | 
|---|---|---|---|
| interconnect_dir | interconnect_dir | out | 
| Physical Port | Direction | Dependency | Description | 
|---|---|---|---|
| ctrl_clk | in | The  | |
| spi_clk | in | The  | |
| spi_resetn | in | Synchronous active low reset - Resets the internal state machine of the core. Bus  | |
| trigger | in | When asserted the stored command and data stream is send out on the  |