cplds

26
1 EET 3350 Digital Systems Design Textbook: John Wakerly Chapter 9: 9-5 CPLDs

Upload: abhilash-nair

Post on 06-May-2015

851 views

Category:

Education


0 download

DESCRIPTION

Lec 22a

TRANSCRIPT

Page 1: CPLDs

1

EET 3350 Digital Systems Design

Textbook: John Wakerly Chapter 9: 9-5

CPLDs

Page 2: CPLDs

CPLDs• Overview of FPLDs

– History

– Tradeoffs

• CPLDs– General Description

– Basic Architecture

• Specific Vendor Devices– Xilinx

– Altera

• Xilinx XC9500 Series• CPLD Problems

2

Page 3: CPLDs

Hierarchy of Logic Implementations

AcronymsSPLD = Simple Programmable Logic Device PAL = Programmable Array LogicCPLD = Complex PLDFPGA = Field Programmable Gate ArrayASIC = Application Specific IC

Common ResourcesConfigurable Logic Blocks (CLB)

– Memory Look-Up Table (LUT)– AND-OR planes– Simple gates

Input / Output Blocks (IOB)– Bidirectional, latches, inverters, pullup/pulldowns

Interconnect or Routing– Local, internal feedback, and global

Logic

StandardLogic

ASIC

ProgrammableLogic Devices

(FPLDs)

GateArrays

Cell-BasedICs

Full CustomICs

CPLDsSPLDs(e.g., PALs) FPGAs

today’s focustoday’s focus

3

Page 4: CPLDs

Field-Programmable Logic Devices• Component function is defined by user under program

control• Logic Cells are interconnected by programming• Advantages:

– Flexible design that changes by reprogramming, ease of design changes

– Reduce prototype-product time– Large scale integration (over

100,000 gates)– Reliability increased, low financial

risk– Smaller device, low start-up cost

4

Page 5: CPLDs

FPLD Capacities

• “Equivalent gates” refers loosely to the number of two-input NAND gates.

• The chart serves as a guide for selecting a device for an application according to the logic capacity needed.

• Each type of FPLD is inherently better suited for some applications than for others.

5

Page 6: CPLDs

Digital Technology Tradeoffs

S

6

Page 7: CPLDs

Which Implementation Technology?• Economic versus technical factors

– The next few slides off a comparison of economic and technical factors associated with these technologies

7

SPLDSSI/MSI

semicustom semicustom technologiestechnologies

standardstandardcomponentscomponents

CPLDFPGA

GateArray

Std.Cell

FullCustom

Page 8: CPLDs

Comparison of Implementations• The table below offers a comparison of the major

implementation technologies over four key factors

8

 

SSI/MSI SPLD FPGA Gate ArrayStandard

CellFull

Custom

Gates/Component 5 - 100 50 - 5K 100 - 10K 500 - 100K 10K - 500K 100K - 10M

Cost/Gate High

       Low

NRE Cost ($) - 1-2K 2-10K 5-50K 10-100K 50K-5M

Development time (weeks)

- 1-2 1-2 2-20 5-50 20-200

Page 9: CPLDs

Comparison of Implementations

Circuit Cost As A Function Of Volume

Discrete

Full custom

Volume

Cost

9

Page 10: CPLDs

Evolution of Implementations• CPLDs and FPGAs continue to evolve in parallel

10

1960

1970

1980

1990

2000

Today

SSI

MSI

LSI

VLSI

‘standard components’

‘semicustom components’

Gate Array

Standard CellsSimple PLD

CPLD FPGA

parallel development

Page 11: CPLDs

Three FPLD Types• Simple Programmable Logic Device (SPLD)

– LSI device

– Less than 1000 logic gates

• Complex Programmable Logic Device (CPLD)– VLSI device

– Higher logic capacity than SPLDs

• Field Programmable Gate Array (FPGA)– VLSI device

– Higher logic capacity than CPLDs

11

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 12: CPLDs

Three FPLD Types• Simple Programmable Logic Device (SPLD)

– PLA or PAL

– Fixed internal routing, deterministic propagation delays

• Complex Programmable Logic Device (CPLD)– Multiple SPLDs onto a single chip

– Programmable interconnect

• Field Programmable Gate Array (FPGA)– An array of logic blocks

– Large number of gates, user selectable interconnection, delays depending on design and routing

– A high ratio of flip-flops to logic resources

12

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 13: CPLDs

SPLDs

• SPLDs = Simple PLDs• Popular SPLD Architecture Types

– Programmable Logic Array, PLA– Programmable Array Logic, PAL (Vantis)– General Array Logic, GAL (Lattice)– others

• Architecture Differences– AND versus OR implementation– Programmability (e.g., EE)– Fundamental logic block

13

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 14: CPLDs

SPLDs• We have already taken a close

look at SPLDs• A PLA-like SPLD is illustrated

at left– PAL and GAL devices offered

a somewhat better solution

• SPLDs are good alternative to using SSI and MSI devices– Especially if re-programmable

14

Logic Functions

Product Terms

Sums

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 15: CPLDs

SPLDs• Conventional programmable logic

– PALs, PLAs, GALs– standard parts like GAL22V10 and PAL16R4 are available from

multiple vendors

• Includes programmable logic cells to a limited degree (programming options in I/O cells, may have fixed AND/OR gates for logic), limited routing network

• Lowest density of all programmable devices, however, can offer very high performance

15

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

• SPLDs have nearly replaced TTL logic which was the dominate approach to logic implementation

Page 16: CPLDs

16

How to Expand SPLD Architecture?• Increase number of inputs and outputs in a

conventional PLD?– e.g., 16V8 → 20V8 → 22V10

– Why not → 32V16 → 128V64 ?

• Problems: – n times the number of inputs and outputs requires n2 as

much chip area – too costly

– logic gets slower as number of inputs to AND array increases

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 17: CPLDs

17

How to Expand SPLD Architecture?• Solution:

– Multiple SPLDs with a relatively small programmable interconnect

– Less general than a single large PLD

– Can use software “fitter” to partition into smaller PLD blocks

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

CPLD Architecture

Page 18: CPLDs

CPLDs• PALs and GALs are available only in small sizes

– equivalent to a few hundred logic gates

• For bigger logic circuits, complex PLDs or CPLDs can be used.

• CPLDs contain the equivalent of several PALs/GALs – linked by programmable interconnections– all in one integrated circuit (IC)

• CPLDs can replace thousands, or even hundreds of thousands, of individual logic gates – increased integration density

18

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 19: CPLDs

Complex PLDs• Some CPLDs are programmed using a PAL

programmer, but this method becomes inconvenient for devices with hundreds of pins.

• A second method of programming is to solder the device to its printed circuit board, then feed it with a serial data stream from a personal computer.

• The CPLD contains a circuit that decodes the data stream and configures the CPLD to perform its specified logic function.

19

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 20: CPLDs

Complex PLDs• Each manufacturer has a proprietary name for its

CPLD programming system • For example, Lattice calls it "in-system programming" • However, these proprietary systems are beginning to

give way to a standard from the Joint Test Action Group (JTAG)

20

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 21: CPLDs

• Xilinx, for example:• Xilinx CPLD devices that are cheaper and have fewer

gates than Xilinx FPGAs• Meant for interfacing rather than heavy computation• Built-in flash memory

– Compare to FPGA which needs external configuration memory

• Xess board has XC9572XL part– Approximately $2-$7 in quantities of one – vs. ~$15-20 for the Spartan2 FPGA on the board– Larger quantities much lower– 1600 gates, 72 registers

Complex PLDs versus FPGAs

21

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 22: CPLDs

22

CPLD Architecture• Simplified CPLD

architecture• Small number of largish

PLDs (e.g., “36V18”) on a single chip

• Programmable interconnect between PLDs

• Large number of I/O blocks

• Large number of pins

Page 23: CPLDs

CPLD Architecture• Generalized

architecture for a complex PLD

• Programmable Interconnect Array – Capable of

connecting any LAB input or output to any other LAB

• Logic Array Blocks – Complex SPLD-like

structure

• Input/Output Blocks

23

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 24: CPLDs

CPLD Architecture• Each of the SPLD-like blocks in

a CPLD can be programmed as with a PAL or GAL

• Many SPLD-like blocks (e.g., LABs) are included in one CPLD

• LABs can be interconnected to build larger logic systems

24

CPLD Architecture

Feedback Outputs

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 25: CPLDs

CPLDs• Composition of Complex PLDs

– typically composed of 2-64 SPLDs

– interconnected using sophisticated logic

– includes macrocells (more about these later)

– includes input/output blocks

• Economical for designing large systems• Fast – switching speed

25

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

Page 26: CPLDs

CPLDs

• Complex PLD's have arrays of PLD's on one chip, with an interconnection matrix connecting them.

• Timing performance can be more predictable than FPGAs because of simpler interconnect structure.

• Density is normally less than most FPGAs (although high end CPLDs will have about the same density as low-end FPGAs).

ProgrammableLogic Devices

(FPLDs)

CPLDsSPLDs(e.g., PALs) FPGAs

• Performance of CPLDs is usually better than FPGAs, but depends on vendor, number of cells in CPLD, and compared FPGA.

26