Documentation
 Datasheet 
DSPIS

Serial Peripheral Interface – Slave


The DSPIS is a fully configurable SPI a slave device, designated to operate with passive devices like memories, LCD drivers etc. The DSPIS allows user to configure polarity and phase of serial clock signal SCK. A serial clock line (SCK) synchronizes shifting and sampling of the information on the two independent serial data lines. DSPIS data are simultaneously transmitted and received. The DSPIS system is flexible enough to interface directly with numerous standard product peripherals from several manufacturers. 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. The DSPIS allows the SPI Master to communicate with passive devices. When transmission starts (SS Line goes low) the first portion of data is copied to the address register and then to the ADDRESS bus output, after transmission of the address the DSPIS generates the read signal (RD) and copy DATAI bus contents to the transmitter shift register, and prepare data to be exchanged with SPI Master. During the next data portion transmission DSPIS simultaneously transmits data out and in. When the first data portion is received the DSPIS asserts DATAO bus generates the write signal (WE), then increments ADDRESS bus performs a read operation and prepare another data portion to be exchanged with SPI master. Transmission is ended when the SS line goes high. The DSPIS is a technology independent design that can be implemented in a variety of process technologies. The DSPIS 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.
The DSPIS 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.
The DSPIS is a technology independent design that can be implemented in a variety of process technologies.


Key Features

Applications

  • Full duplex synchronous serial data transfer
  • Slave operation
  • Automatic read and write operations
  • Automatic address incrementation after any data portion transfer
  • Configurable address and data length
  • Configurable SCK phase and polarity
  • Supports speeds up ¼ of system clock
  • Simple interface allows easy connection to passive devices, and SPI Master
  • Four transfer formats supported
  • Simple interface allows easy connection to microcontrollers
  • Fully synthesizable
  • Static synchronous design
  • Positive edge clocking and no internal tri-states
  • Scan test ready
  • Embedded microprocessor boards
  • Consumer and professional audio/video
  • Home and automotive radio
  • Low-power applications
  • Communication systems
  • Digital multimeters


Symbol

 ss
 datai (7:0)
datao (7:0) 
address (7:0) 
rd 
we 
 si
so 
 cpha
 cpol
 SCK

Pins description

PinTypeDescription
ssinputSPI Slave Select input.
datai (7:0)inputPassive device data bus
siinputSlave serial data input
cphainputCPHA - SCK clock phase, defines phase of the SCK clock input.
cpolinputCPOL- SCK Clock polarity.
SCKinputSPI Serial Clock input
datao (7:0)outputPassive device data bus
address (7:0)outputPassive device address bus
rdoutputPassive device read strobe
weoutputPassive device write strobe
sooutputSlave serial data output

Block diagram

SPI Controller
ss
datai (7:0)
datao (7:0)
address (7:0)
rd
we
Address register
Data register
Shift register
so
si
SPI Clock Logic
cpha
cpol
SCK

Units

SPI Controller

Detects begin and end of SPI transfer. Manages data exchange between DSPIS and passive device controlled by DSPIS, and increment Address Register (SPAD) after any successful transfer

Address register

Holds address presented on Address bus. it’s contents is incremented every single data portion sent/received serially through the SPI bus.

Data register

Holds data read from passive device and to be sent serially to the SPI Master.

Shift register

Is a central element in the SPI system. When an SPI transfer occurs, an 8-bit character is shifted out on data pin while a different 8-bit character is simultaneously shifted in a second data pin. Another way to view this transfer is that an 8-bit shift register in the master and another 8-bit shift register in the slave are connected as a circular 16-bit shift register. When a transfer occurs, this distributed shift register is shifted eight bit positions; thus, the characters in the master and slave are effectively exchanged.

SPI Clock Logic

Controls phase and polarity of the SCK clock line, and detects correct sample and shift edge for the Shift register. SPI clock Logic allow user to select any of four combinations of serial clock (SCK) phase and polarity using two pins CPHA and CPOL. The clock polarity is specified by the CPOL, which selects an active high or active low clock and has no significant effect on the transfer format. The clock phase CPHA selects one of two fundamentally different transfer formats. The clock phase and polarity should be identical for the master SPI device and the communicating slave device. In some cases, the phase and polarity are changed between transfers to allow a master device to communicate with peripheral slaves having different requirements. The flexibility of the SPI system on the DSPIS allows direct interface to almost any existing synchronous serial peripheral.

Performance


Each core has been tested in variety of FPGA and ASIC technologies. Its implementation's results are summarized below.

ImplementationSpeed
grade
Utilized Area
[LC]
Frequency
[MHz]
MAX3K-457114
MAX7K-457114
MAX2-379257
APEX20KC-782241
CYCLONE-679354
CYCLONE-II-687329
CYCLONE-III-685310
STRATIX-579386
STRATIX-II-384422
STRATIX-III-283400
STRATIX-GX-579382

DSPIS implementation results for ALTERA devices. All features have been included.

ImplementationSpeed
grade
Utilized Area
[Slices]
Frequency
[MHz]
SPARTAN-IIE-735174
SPARTAN-III-535203
SPARTAN-IIIE-435158
VIRTEX-E-834192
VIRTEX-II-635337
VIRTEX-II pro-735343
VIRTEX-IV-1234360
VIRTEX-V-1235380

DSPIS implementation results for XILINX devices. All features have been included.

ImplementationSpeed
grade
Utilized Area
[LUT/PFU]
Frequency
[MHz]
EC-594 / 55222
ECP-594 / 55226
XP-594 / 55219
ECP2-790 / 55324
ECP2M-769 / 49345
SC-784 / 55489
XP2-769 / 49306

DSPIS implementation results for LATTICE devices. All features have been included.

ImplementationSpeed
grade
Area
[TILES]
Frequency
[MHz]
FUSION-2182138
ProASIC3-2182138
ProASIC3e-2182138
IGLOOSTD18272
IGLOOeSTD18272
AXCELERATOR-2148200
A54SX-314587

DSPIS implementation results for ACTEL devices.