The Serial Peripheral Interface Bus Controller is synchronous serial data link controller.  SPI is typically used for serial communications, control, monitoring and configuring a slave device from a master device or system.

The IPC-SPI-APB bus controller can be configured under software control to be a master or slave device.  Reading and writing the core is done on the AMBA APB bus interface.  The core operates in 8 bit, 16 bit, and 32 bit data modes.  The data is then serialized and then transmitted from master to slave device using the standard 4-wire SPI bus interface.


  • 8 bit, 16 bit, 24 bit, and 32 bit synchronous serial transmission
  • Full duplex operation
  • Software programmable Master or Slave mode
  • Software programmable SCLK rate
  • 16 word/byte Transmit FIFO (configuration option)
  • 16 word/byte Receive FIFO (configuration option)
  • AMBA APB interface
  • Interrupt control
  • LSB or MSB mode
  • Up to 4 slaves under Master control
  • Tristate Slave MISO signaling for multiple slaves


  • Verilog Source
  • Complete Test Environment
  • APB Bus Functional Model