CPLDs

27
CPLDs • The block diagram at right for the Cypress Semiconductor CPLD (Ultra37128) illustrates the general architecture of CPLDs Programmabl e Logic Devices (FPLDs) CPLDs SPLDs (e.g., PALs) FPGAs 1

description

Lec 22c

Transcript of CPLDs

Page 1: CPLDs

CPLDs• The block diagram at

right for the Cypress Semiconductor CPLD (Ultra37128) illustrates the general architecture of CPLDs

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

1

Page 2: CPLDs

Cypress Ultra 37000 Family• In-system reprogrammable

CMOS CPLDs– JTAG interface for

reconfigurability– Design changes do not cause

pinout changes– Design changes do not cause

timing changes

• High density– 32 to 512 macrocells– 32 to 264 I/O pins– Five dedicated inputs including

four clock pins

2

Page 3: CPLDs

Cypress Ultra 37000 Family• Characteristics of devices in the Ultra 37000 Family

3

Page 4: CPLDs

CPLDs• Complex Programmable Logic Devices

– Contain from 10-1000 macrocells– Each macrocell is equivalent to around 20 gates– Support up to 200 I/O pins

• The key resource in a CPLD is the programmable interconnect– Tradeoff between space for macrocells and space for

interconnect– Careful design will limit the connections between

macrocells

4

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 5: CPLDs

CPLD Architecture• Complexity of CPLD is between FPGA and SPLD

5

LAB – Logic Array Block / uses PALsLAB – Logic Array Block / uses PALsPIA – Programmable Interconnect ArrayPIA – Programmable Interconnect Array

Page 6: CPLDs

CPLD Architecture• Example Logic Array Block

6

PLA-like AND arrayPLA-like AND arrayLiteral inputs (e.g., a, b, c)Literal inputs (e.g., a, b, c)

Extra function (e.g., g,Extra function (e.g., g,h) i/ps for OR termh) i/ps for OR term

D-FFD-FF

2:1 Mux2:1 Mux

Page 7: CPLDs

Programmable Interconnect Array• Consists of connectors that run throughout the CPLD

to connect the macrocells in each LAB• The PIA also connects the AND gate and other

elements of the macrocells

7

Page 8: CPLDs

CPLD/FPGA Vendors• The main vendors

8

Page 9: CPLDs

9

CPLD Families• Identical individual PLD blocks (Xilinx “FBs”) replicated

in different family members– Different number of PLD blocks

– Different number of I/O pins

Xilinx Xilinx XC9500 XC9500 CPLD CPLD SeriesSeries

Page 10: CPLDs

Typical CPLD Packages• CPLDs are made using 2 to 64 SPLDs • Packages use 44-pins to over 200-pins (or more)

10

Page 11: CPLDs

Typical CPLD Packages• QFP = Quad Flat Package – A QFP is an IC package with leads extending from each of

the four sides.

– It is used primarily for surface mounting, no socketing

• TQFP = Thin Quad Flat Package • PQFP = Plastic Quad Flat Package • VQFP = Very small Quad Flat Package

• PLCC = Plastic Leaded Chip Carrier – A package related to QFP

– Similar but has pins with larger distance, curved up underneath a thicker body to simplify socketing

11

Page 12: CPLDs

CPLD Package Types• CSP = Chip Scale Package

– IC package with an area no greater than 1.2 times that of the die

• BGA = Ball Grid Array – A type of surface-mount packaging used for ICs

– Pins are replaced by balls of solder stuck to the bottom of the package

– The device is placed on a PCB that carries copper pads in a pattern that matches the solder balls

– The assembly is then heated causing the solder balls to melt

12

Page 13: CPLDs

13

CPLD Families• Many CPLDs have fewer

I/O pins than macrocells– “Buried” Macrocells – provide

needed logic terms internally but these outputs are not connected externally

– IC package size dictates number of I/O pins but not the total number of macrocells

– Typical CPLD families have devices with differing resources in the same IC package

Page 14: CPLDs

Xilinx CPLDs• Notice overlap in resource availability in a particular

package.

14

Page 15: CPLDs

XC9572 CPLD Datasheet• XC9572 CPLD from Xilinx• 7.5 ns pin-to-pin logic

delays on all pins• 72 macrocells with 1,600

usable gates• Up to 72 user I/O pins• Four 36V18 Function

Blocks• Available in 44-pin PLCC,

84-pin PLCC, 100-pin PQFP and 100-pin TQFP packages

15

Page 16: CPLDs

XC9572 CPLD Packages• XC9572 pinout for the 84-pin PLCC package and photo of

the 100-pin TQFP package

16

84-pin PLCC84-pin PLCC(pin 1)(pin 1)

100-pin TQFP100-pin TQFP

Page 17: CPLDs

XC9572 CPLD Part Numbers• The part number for Xilinx CPLD devices includes

information as follows:

17

Page 18: CPLDs

XC9500 CPLD Block Diagram• The XC9500 CPLD

family provides advanced in-system programming and test capabilities for high performance, general purpose logic integration.

• All devices are in-system programmable for a minimum of 10,000 program/erase cycles.

18

Page 19: CPLDs

9500-Family Function Blocks (FBs)• 18 macrocells per FB• 36 inputs per FB (partitioning challenge, but also

reason for relatively compact size of FBs)• Macrocell outputs can go to I/O cells or back into

switch matrix to be routed to this or other FBs

19

Page 20: CPLDs

9500-Series Macrocell• 18 macrocells per Function Block

20

Up to 5 product termsUp to 5 product terms

Programmable inversion Programmable inversion or XOR product termor XOR product term

Global clock or product-term clockGlobal clock or product-term clock

Set controlSet control

Reset controlReset control

OE controlOE control

Page 21: CPLDs

9500-Series Product-Term Allocator• Share terms from above and below

21

programmableprogrammablesteeringsteeringelementselements

Page 22: CPLDs

XC9500 Family

22

• An I/O block is composed of input buffer, output buffer, multiplexer for the output control and grounding control

• Slew rate control is used to smooth the rising and the falling edges of the output pulse.

• Grounding control is used to make the input/output pin (I/O) an earth ground (noise suppression).

• Each input/output pin can handle a 24-mA current.

Page 23: CPLDs

9500-Series I/O Block• OE Multiplexer (OE

MUX) controls an output enable or stop.

• It is controlled by the signal from the macrocell or the signal from the GTS (Global Three-State control) pin.

• There are four GTS in XC95216 and XC95288 two in the others.

23

Page 24: CPLDs

XC95108 CPLD Datasheet• XC95108 shares the

characteristics of all other XC9500 series devices

• 108 macrocells with 2400 usable gates

• Up to 108 user I/O pins• Six 36V18 Function Blocks• 10,000 program/erase

cycles• Available in 84-pin PLCC,

100-pin PQFP, 100-pin TQFP and 160-pin PQFP packages

24

Page 25: CPLDs

XC95108 CPLD Datasheet• XC95108 block diagram

is similar to all of the others in the XC9500 family

25

Page 26: CPLDs

Switch Matrix for XC95108• Could be anything from a limited set of multiplexers to

a full crossbar– Multiplexer -- small, fast, but difficult fitting

– Crossbar -- easy fitting but large and slow

26

Page 27: CPLDs

27

Problems with CPLDs• Pin locking

– Small changes, and certainly large ones, can cause the fitter to pick a different allocation of I/O blocks and pinout

– Locking too early may make the resulting circuit slower or not fit at all

• Running out of resources– Design may “blow up” if it doesn’t all fit on a single

device

– On-chip interconnect resources are much richer than off-chip

– Larger devices are exponentially more expensive