SPI IP cores · synthesizable VHDL

SPI IP cores for FPGAs, in vendor-neutral VHDL.

Four standard cores: an SPI main, a main with a frame sequencer, an SPI subordinate and an SPI tunnel controller for SerDes links. Single clock domain, std_logic-only ports, self-checking testbenches. Custom cores are built to your interface and toolchain.

SPI mode 0 timing, one 8-bit word Chip select goes low; SCLK runs eight cycles idling low; MOSI and MISO each carry bits 7 down to 0, changing on falling SCLK edges and sampled on rising edges; chip select returns high after the word. sample 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 CS SCLK MOSI MISO
Fig. 1 SPI mode 0 (CPOL = 0, CPHA = 0), one 8-bit word, MSB first. CS active low; data changes on the falling SCLK edge and is sampled on the rising edge.

Standard cores

Full comparison
CoreFunctionSPI modesWord / frameSCLK limit
SPI MainRuntime-configurable SPI main0–3, set at runtime8, 16 or 32 bits; multi-word under one CSwrite fclk/2
read-back fclk/6
SPI Main FrameSPI Main plus frame sequencer: one trigger sends N words0–3, set at runtimeN words under one CS; valid/request handshakeas SPI Main
SPI SubSPI subordinate; SCLK, CS, MOSI synchronised to fclk0–3Continuous multi-byte frames under one CSfclk/10
SPI TunnelSPI tunnelled across a link, e.g. a SerDes; bridge protocol handled in logic0 (fixed by the link)1–15-byte commands—
SCLK limits are ratios to the system clock fclk, verified in simulation. Resource figures are published per device after synthesis.

Custom cores

When a standard core does not fit, we build one to your specification: interface, bus wrapper, HDL and packaging. You approve a written specification before RTL work starts.

How a custom engagement runs

Supported FPGA vendors

Vendor-neutral VHDL — no vendor primitives or constraints, so the cores move between toolchains unchanged.

VendorFamiliesToolchain
AMD (Xilinx)7 Series, UltraScale, UltraScale+, VersalVivado
Altera (Intel)Cyclone, Arria, Stratix, AgilexQuartus Prime
LatticeECP5, CertusPro-NX, Certus-NX, MachXO3/5Radiant / Diamond
MicrochipPolarFire, SmartFusion2, IGLOO2Libero SoC
EfinixTrion, TitaniumEfinity
GowinGW1N, GW2A, AroraGowin EDA
NILabVIEW FPGA targets (FlexRIO, incl. PXIe-1487)IP Integration Node

Request a quote, a source licence or an evaluation netlist.

Name the core, the target device and the toolchain. Or write to sales@spilib.com.

Request a quote