SPI faster than the fabric
A patented synchronization scheme allows the SPI clock to exceed the FPGA system clock — up to 1.66× — which eases timing closure and keeps resource usage low.
The SPI Subnode (SPI Slave) IP core connects low-cost FPGAs to microcontrollers, SoCs or other FPGAs. A patented synchronization scheme lets the SPI clock exceed the FPGA system clock, easing timing closure and saving resources.
Vendor-independent. Supports all FPGAs of all vendors.
SPI Subnode establishes SPI communication between an FPGA and a microcontroller, SoC or another FPGA. It supports configurable clock phase and polarity, optional CRC, automated frame enumeration, and streaming output over AXI or Avalon-ST — designed so that even small, low-cost FPGAs reach high SPI data rates.
A patented synchronization scheme allows the SPI clock to exceed the FPGA system clock — up to 1.66× — which eases timing closure and keeps resource usage low.
Optional CRC16 or CRC32 protects the payload, while automated SPI frame and packet enumeration keeps multi-frame transfers in order.
The streaming interfaces support both Intel/Altera Avalon-ST and AXI, so the core drops into a wide range of designs with minimal glue logic.
Reachable frequencies and resource results for the maximum and minimum feature set of the SPI Subnode.
| Family | FPGA | Feature set | LUT | FF | fSPI |
|---|---|---|---|---|---|
| Trion | T8F81C2 | max | 126 | 165 | 50 MHz |
| Trion | T8F81C2 | min | 68 | 100 | 54 MHz |
| Trion | T8Q144 | max | 126 | 165 | 128 MHz |
| Trion | T8Q144 | min | 68 | 100 | 145 MHz |
| Trion | T120F576 | max | 126 | 165 | 124 MHz |
| Trion | T120F576 | min | 68 | 100 | 129 MHz |
| Titanium | Ti60F225 | max | 126 | 165 | 308 MHz |
| Titanium | Ti60F225 | min | 68 | 100 | 354 MHz |
| FPGA | Feature set | LUT | FF | fSPI | fFPGA |
|---|---|---|---|---|---|
| iCE40 | max | 220 | 205 | 54 MHz | 75 MHz |
| iCE40 | min | 111 | 100 | 56 MHz | 76 MHz |
| ECP5 | max | 169 | 168 | 180 MHz | 197 MHz |
| ECP5 | min | 85 | 98 | 200 MHz | 200 MHz |
| MachXO3 | max | 197 | 168 | 149 MHz | 124 MHz |
| MachXO3 | min | 105 | 101 | 150 MHz | 150 MHz |
| Certus-NX / CertusPro-NX | max | 178 | 165 | 200 MHz | 200 MHz |
| Certus-NX / CertusPro-NX | min | 155 | 125 | 200 MHz | 200 MHz |
| MachXO5-NX | max | 178 | 165 | 200 MHz | 200 MHz |
| MachXO5-NX | min | 155 | 125 | 200 MHz | 200 MHz |
| Avant | max | 193 | 167 | 251 MHz | 251 MHz |
| Avant | min | 133 | 125 | 251 MHz | 251 MHz |
Reach high throughput over SPI without an oversized system clock.
Resource-efficient link between an FPGA and a host processor.
Couple two FPGAs over a simple SPI connection.
Enables even small, low-cost FPGAs to run at high SPI data rates.
Optional CRC16/CRC32 guards the payload on noisy channels.
Ultra-low clock-rate requirements keep the fabric budget small.
Resource usage, timing and integration details for Efinix Trion and Titanium.
Datasheet (Efinix)Resource usage, timing and integration details for Lattice FPGA families.
Datasheet (Lattice)Tell us your target FPGA and SPI requirements. We will scope an SPI Subnode configuration and share the integration details.