2015 DSPIS IP Core Serial Peripheral Interface – Slave v. 1.05 COMPANY OVERVIEW Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was founded in 1999 and since the very beginning has been focused on IP Core architecture improvements. Our innovative, silicon proven solutions have been employed by over 300 customers and with more than 500 hundred licenses sold to companies like Intel, Siemens, Philips, General Electric, Sony and Toyota. Based on more than 70 different architectures, starting from serial interfaces to advanced microcontrollers and SoCs, we’re designing solutions tailored to your needs. IP CORE OVERVIEW The DSPIS is a fully configurable SPI slave device, designed to run with passive devices like memories, LCD drivers etc. It allows you to configure polarity and phase of a serial clock signal SCK. A serial clock line (SCK) synchronizes information shifting and sampling on two independent serial data lines. Moreover, data is simultaneously transmitted and received. The DSPIS system is flexible enough to interface directly with numerous standard product peripherals from several manufacturers. A clock control logic (CLK/4) 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 copies DATAI bus contents to the transmitter shift register and prepares data to be exchanged with SPI Master. During next data portion transmission, the DSPIS simultaneously transfers data out and in. When first data portion is received, the DSPIS asserts DATAO bus, generates the write signal (WE), then increments ADDRESS bus performs a read operation and prepares another data portion to be exchanged with the SPI master. Transmission is ended when the SS line goes high. The DSPIS is a technology independent and can be implemented in various process technologies. It includes fully automated test bench with complete set of tests, allowing easy package validation at each stage of SoC design flow. FEATURES ● SPI Slave ○ 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 ● Fully synthesizable, static synchronous design with no internal tri-states LICENSING Comprehensible and clearly defined licensing methods without royalty-per-chip fees make use of our IP Cores easy and simple. Single-Site license option – dedicated to small and middle sized companies, which run their business in one place. Multi-Site license option – dedicated to corporate customers, who operate at several locations. The licensed product can be used in selected company branches. In all cases the number of IP Core instantiations within a project and the number of manufactured chips are unlimited. The license is royalty-per-chip free. There are no restrictions regarding the time of use. There are two formats of the delivered IP Core: VHDL or Verilog RTL synthesizable source code called HDL Source code FPGA EDIF/NGO/NGD/QXP/VQM called Netlist 1 Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. PINS DESCRIPTION PIN clk rst datai(D:0) cpha cpol sck si ss datao(D:0) addres(A:0) rd we so TYPE input input input input input input input input output output output output output BLOCK DIAGRAM DESCRIPTION Global clock Global reset Data bus input SCK clock phase SCK clock polarity SPI serial clock SPI serial data input Slave select Data bus output Address bus output Read output Write enable Slave serial data output clk rst cpha cpol sck SPI Clock Logic MSB so Shift Reg. Data reg. datai LSB SPI Controller Adr. reg. si ss datao address we rd TRANSFER FORMATS The software can select any of four combinations of serial clock (SCK) phase and polarity, using two bits in the SPI control register (SPCR). The clock polarity is specified by the CPOL control bit, which selects an active high or active low clock and has no significant effect on the transfer format. The clock phase (CPHA) control bit 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 DSPI, allows direct interface to almost any existing synchronous serial peripheral. SCK CYCLE# 1 2 MSB 6 6 3 4 5 6 7 8 5 4 3 2 1 LSB 5 4 3 2 1 SCK (CPOL=0) SCK (CPOL=1) MOSI MISO MSB LSB SS SCK CYCLE# 1 2 3 4 5 6 7 8 LSB SCK (CPOL=0) SCK (CPOL=1) MOSI MISO MSB MSB 6 5 4 3 2 1 6 5 4 3 2 1 LSB SS 2 Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. TYPICAL SPI BUS CONNECTION The figure below shows typical connection of the DSPIS Core to SPI Bus, controlled by SPI master and passive SPI devices. VDD RP RP RP MISO MOSI SCK 3*RS NOR data Slave device tri-state buffer Pasive device 8 2 uC 3*RS addr cs rd wr irq datao mi datai addr so cs rd we irq system clk system rst so open drain si DSPI mo address datai si datao sck addr datao datai rd rd we wr open drain ss DSPIS scki clk rst scko tris cpha cpol sckz DSPI ASIC/FPGA chip ss7o-ss0o ss DELIVERABLES ♦ Source code: ● VHDL Source Code or/and ● VERILOG Source Code or/and ● Encrypted, or plain text EDIF ♦ VHDL & VERILOG test bench environment ● Active-HDL automatic simulation macros ● ModelSim automatic simulation macros ● Tests with reference responses ♦ Technical documentation ● Installation notes ● HDL core specification ● Datasheet ♦ ♦ ♦ Synthesis scripts Example application Technical support ● IP Core implementation support ● 3 months maintenance ● Delivery of the IP Core and documentation updates, minor and major versions changes ● Phone & email support UNITS SUMMARY SPI Clock logic Controls phase and polarity of the SCK clock line. In the same time it detects correct sample and shift edge for the Shift register. SPI Clock Logic allows 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. 3 Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. Shift register – It is the central element in the SPI system. When SPI transfer occurs, an 8-bit character is shifted out on data pin while a different 8-bit character is simultaneously moved in a second data pin. Another way to view this transfer is when an 8-bit shift register in the master and another 8-bit shift register in the slave are connected as a circular 16bit shift register. When a transfer occurs, this distributed shift register is moved 8-bit positions. Moreover, the characters in the master and slave are effectively exchanged. Data Register - Holds data read from passive device, to be sent serially to the SPI Master. Address Register Holds address presented on Address bus. Its contents is incremented every single data portion sent/received serially through the SPI bus. SPI Controller - Detects the beginning 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. CONTACT For any modifications or special requests, please contact Digital Core Design or local distributors. DCD’s headquarters: Wroclawska 94 41-902 Bytom, POLAND e-mail: : [email protected] tel. : +48 32 282 82 66 fax : +48 32 282 74 37 Distributors: Please check: http://dcd.pl/sales PERFORMANCE The following table gives a survey about the Core performance in XILINX® devices after Place & Route (all key features have been included): Speed grade Slices Fmax VIRTEX-IV Device -12 34 360 MHz VIRTEX-II P -7 35 343 MHz VIRTEX-II -6 35 337 MHz VIRTEX-E -8 34 192 MHz VIRTEX -6 34 150 MHz SPARTAN-IIIE -4 35 158 MHz SPARTAN-III -5 35 203 MHz SPARTAN-IIE -7 35 174 MHz -6 34 159 MHz SPARTAN II Core performance in XILINX® devices 4 Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners.