Wiki

This version is outdated by a newer approved version.DiffThis version (22 Apr 2015 15:37) was approved by Lars-Peter Clausen.

This is an old revision of the document!


SPI Engine Interconnect FPGA Peripheral

The SPI Engine Interconnect module allows to connect multiple SPI Engine Control Interface masters to a single SPI Engine Control Interface slave. This enables multiple command stream generators to connect to a single SPI Engine Execution module and consequential give them access to the same SPI bus. The interconnect modules takes care of properly arbitrating between the different command streams.

Combining multiple command stream generators in a design and connecting them to a single execution modules allows for the creation of flexible and efficient designs using standard components.

Files

Name Description
.v Verilog source for the peripheral.
.tcl TCL script to generate the Vivado IP-integrator project for the peripheral.

Configuration Parameters

Name Description Default

Signal and Interface Pins

Name Type Description
clk Clock A signals of the module are synchronous to this clock.
resetn Synchronous active low reset Resets the internal state of the module.
s0_ctrl SPI Engine Control Interface slave Connects to the first control interface master
s1_ctrl SPI Engine Control Interface slave Connects to the second control interface master
m_ctrl SPI Engine Control Interface master Connects to the control interface slave

Theory of Operation

The SPI Engine Interconnect module has multiple SPI Engine Control Interface slave ports and a single SPI Engine Control Interface master port. It can be used to connect multiple command stream generators to a single command execution engine. Arbitration between the streams is done on a priority basis, streams with a lower index have higher priority. This means if commands are present on two streams arbitration will be granted to the one with the lower index. Once arbitration has been granted the port it was granted to stays in control until it sends a SYNC command. When the interconnect module sees a SYNC command arbitration will re-evaluated after the SYNC command has been completed. This makes sure that once a SPI transaction consisting of multiple commands has been started it is able to complete without being interrupted by a higher priority stream.

More Information

resources/fpga/peripherals/spi_engine/interconnect.1427726140.txt.gz · Last modified: 30 Mar 2015 16:35 by Lars-Peter Clausen