DSPI_FIFO: Serial Peripheral Interface - Master/Slave with FIFO

DCD LogoThe DSPI_FIFO is a fully configurable SPI master/slave device, which allows user to configure polarity and phase of serial clock signal SCK.

The DSPI_FIFO allows the microcontroller to communicate with serial peripheral devices. It is also capable of interprocessor communications in a multi-master system. A serial clock line (SCK) synchronizes shifting and sampling of the information on the two independent serial data lines. DSPI_FIFO data are simultaneously transmitted and received.

The DSPI_FIFO is a technology independent design that can be implemented in a variety of process technologies.

The DSPI_FIFO system is flexible enough to interface directly with numerous standard product peripherals from several manufacturers. The system can be configured as a master or a slave device. Data rates as high as CLK/4. Clock control logic allows a selection of clock polarity and a choice of two fundamentally different clocking protocols to accommodate most available synchronous serial peripheral devices. When the SPI is configured as a master, software selects one of eight different bit rates for the serial clock.

The DSPI_FIFO automatically drive selected by SSCR (Slave Select Control Register) slave select outputs (SS7O - SS0O), and address SPI slave device to exchange serially shifted data. Error-detection logic is included to support interprocessor communications. A write-collision detector indicates when an attempt is made to write data to the serial shift register while a transfer is in progress. A multiple-master mode-fault detector automatically disables DSPI_FIFO output drivers if more than one SPI devices simultaneously attempts to become bus master.

The DSPI_FIFO supports two DMA modes: single transfer and multi-transfer. These modes allow DSPI_FIFO to interface to higher performance DMA units, which can interleave their transfers between CPU cycles or execute multiple byte transfers.

DSPI_FIFO is fully customizable, which means it is delivered in the exact configuration to meet users' requirements. There is no need to pay extra for not used features and wasted silicon. It includes fully automated testbench with complete set of tests allowing easy package validation at each stage of SoC design flow.

Features

SPI Master

  • Master and Multi-master operations
  • Two modes of operation: SPI mode and FIFO mode
  • 8 SPI slave select lines
  • System error detection
    • Mode fault error
    • Write collision error
  • Interrupt generation
  • Supports speeds up ¼ of system clock
  • Bit rates generated ¼ - 1/512 of system clock.
  • Four transfer formats supported
  • Simple interface allows easy connection to microcontrollers

SPI Slave

  • Slave operation
  • Two modes of operation: SPI mode and FIFO mode
  • System error detection
  • Interrupt generation
  • Supports speeds up ¼ of system clock
  • Simple interface allows easy connection to
    microcontrollers
  • Four transfer formats supportedSlave operation

Two DMA Modes allows single and multitransfer

In the FIFO mode transmitter and receiver are each buffered with 16/64 byte FIFO's to reduce the number of interrupts presented to the CPU

Optional FIFO size extension to 128, 256 or 512 Bytes

Fully synthesizable, static synchronous design with no internal tri-states

Applications

  • Embedded microprocessor boards
  • Consumer and professional audio/video
  • Home and automotive radio
  • Digital multimeters

Jump to

Block Diagram

Performance and Size

Device Speed grade LUTs/PFUs Fmax
SC -7 507/164 268 MHz
ECP2 -7 502/169 161 MHz
ECP2M -7 502/169 161 MHz
XP -5 503/169 95 MHz
XP2 -7 315/163 132 MHz
ECP -5 503/169 104 MHz
EC -5 503/169 115 MHz

Ordering Information

This IP core is supported and sold by DCD, contact DCD at support@dcd.pl or visit their website at www.dcd.pl for more information.

Documentation

Quick Reference
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
DCD: DSPI_FIFO: Serial Peripheral Interface - Master/Slave with FIFO
1.08 6/22/2007 PDF 157.9 KB

*By clicking on the "Notify Me of Changes" button, you agree to receive notifications on changes to the document(s) you selected.