The Synopsys Serial Peripheral Interface (SPI) module is compliant with the Motorola Serial Peripheral Interface specification. It supports all four SPI modes, can be programmed as master or slave, and contains 8 slave select lines. The SPI module interfaces to the system over an AMBA® APB bus.

The SPI module runs off a single clock. The clock generator inside can scale the SPI clock from 1/8 to 1/254 of the input clock rate, so with a 100MHz APB clock, the maximum SPI clock will be 12.5MHz. Each byte transmitted/received by the SPI module needs to be controlled by the processor.

Highlights & Key Features

  • Key Benefits:
    • Efficient (low pin-count) communication link
    • Industry standard interfaces (AMBA® APB)
    • Area efficient solution
  • SPI Supported Features:
    • Compliant with Motorola Serial Peripheral Interface specification
    • 8-bits per word
    • Synchronous, serial, full-duplex communication
    • All 4 SPI modes
    • Programmable master and slave operation
    • Maximum data bit rate of one eighth of the input clock rate
    • Contains 8 slave select lines
    • 32-bit AMBA APB interface
    • Interrupt controlled operation
    • Mode fault detection (slave select received while operating as a master)
    • Programmable LSB first/MSB first operation
    • Write collision, read overrun and slave abort detection
  • Sample Applications:
    • Flash/EEPROM Memory: Can be used to connect external memory to the system.
    • A/D or D/A Converters: Can be used to do A/D or D/A conversions externally to the system.
    • LCD/touch screen controllers: Can be used to communicate to external displays.
    • Sensors, Audio Codecs: Can be used to communicate to external sensors and audio codecs.
  • Resources


    Find Your IP

    Search for IP

    Quickly identify and access the right IP solutions for your project needs.


    Foundation IP Selector

    Find embedded memory and logic IP for your SoC design.

    Non-Volatile Memory IP Selector

    Find silicon-proven NVM IP for your SoC design needs.