Sept. 2005EE37E Adv. Digital Electronics Lesson 1 CPLDs and FPGAs: Technology and Design Features.

23
Sept. 2005 EE37E Adv. Digital Electronics Lesson 1 CPLDs and FPGAs: Technology and Design Features

Transcript of Sept. 2005EE37E Adv. Digital Electronics Lesson 1 CPLDs and FPGAs: Technology and Design Features.

Sept. 2005 EE37E Adv. Digital Electronics

Lesson 1

CPLDs and FPGAs: Technology and Design Features

Sept. 2005 EE37E Adv. Digital Electronics

Topics

• Fundamental Concepts• CPLDs vs FPGAs• CPLD Architectures• FPGA Architectures• Design Methods for FPGA-based Systems• Intellectual Property• System-on-chip• Reconfigurable Computing• Future FPGA Developments

Sept. 2005 EE37E Adv. Digital Electronics

1. Fundamental Concepts

• What are CPLDs and FPGAs?

– Complex Programmable Logic Devices (CPLDs) and Field Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain configurable (programmable) blocks of logic along with configurable interconnects between these blocks.

– Design engineers can configure (program) such devices to perform a tremendous variety of tasks

Sept. 2005 EE37E Adv. Digital Electronics

Classification of Digital ICs

Sept. 2005 EE37E Adv. Digital Electronics

They thing about CPLDs and FPGAs:

The thing that really distinguish an FPGA or a CPLD from an ASIC is the programmable feature.

a

Logic 1

y = 1 (N/A)&

b

Pull-up resistors

Potential links

NOT

NOT

AND

Let us consider a simple programmable function:

In order to make our function more interesting, we need some mechanism that allows us to establish one or more of the potential links.

Sept. 2005 EE37E Adv. Digital Electronics

a

Fat

Logic 1

y = 0 (N/A)&

Faf

b

Fbt

Fbf

Pull-up resistors

NOT

NOT

AND

Fuses

Fusible link technology

These fuses are similar in to household fuses.

Sept. 2005 EE37E Adv. Digital Electronics

a

Fat

Logic 1

y = a & !b&

b

Fbf

Pull-up resistors

NOT

NOT

AND

Programmed fusible links

Devices based on fusible-link technologies are said to be one-time programmable, or OTP. FPGAs don’t use them.

Sept. 2005 EE37E Adv. Digital Electronics

Antifuse Technologies

• Antifuse links are an alternative to fuse links.• An antifuse link is programmable by applying a

voltage across it.• An antifuse is given as follows:

(a) Before programming

Substrate

Metal

Oxide

Metal

Amorphous silicon column

(b) After programming

Polysilicon via

Sept. 2005 EE37E Adv. Digital Electronics

Other Technologies

• EPROM• EEPROM• FLASH• SRAM

Sept. 2005 EE37E Adv. Digital Electronics

2. CPLDs vs. FPGAs• CPLD

architecture

• Small number of PLDs on a single chip• Programmable interconnect between PLDs

PLDs = PALs, PLAs,or GALs

Sept. 2005 EE37E Adv. Digital Electronics

• FPGA architecture

• Much larger number of smaller programmable logic blocks.

• Embedded in a sea of lots and lots of programmable interconnect.

Sept. 2005 EE37E Adv. Digital Electronics

3. CPLD Architectures

• Identical individual PLD blocks (Xilinx “FBs”) replicated in different family members.– Different number of PLD blocks– Different number of I/O pins

• 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 # of I/O pins but not the total # of

macrocells.– Typical CPLD families have devices with differing resources

in the same IC package.

Sept. 2005 EE37E Adv. Digital Electronics

Xilinx CPLDs

• Notice overlap in resource availability in a particular package.

Sept. 2005 EE37E Adv. Digital Electronics

Xilinx 9500-family CPLD architecture

72 ==>XC9572

Sept. 2005 EE37E Adv. Digital Electronics

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.

Sept. 2005 EE37E Adv. Digital Electronics

9500-series macrocell (18 per FB)

Up to 5 product terms

Programmableinversion or XORproduct term

Global clock or product-term clock

Set control

Reset control

OE control

Sept. 2005 EE37E Adv. Digital Electronics

9500-series product-term allocator

Share terms from above and below

programmablesteeringelements

Sept. 2005 EE37E Adv. Digital Electronics

9500-series I/O block

Sept. 2005 EE37E Adv. Digital Electronics

• 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

Switch matrix for XC95108

Sept. 2005 EE37E Adv. Digital Electronics

XC9500 Product Family

9536

Macrocells

Usable Gates

tPD (ns)

Registers

Max I/O

36 72 108 144 216

800 1600 2400 3200 4800

5 7.5 7.5 7.5 10

36 72 108 144 216

34 72 108 133 166

Packages VQ44PC44 PC44

PC84TQ100PQ100

PC84TQ100PQ100PQ160

PQ100PQ160

288

6400

10

288

192

HQ208BG352

PQ160HQ208BG352

9572 95108 95144 95216 95288

Sept. 2005 EE37E Adv. Digital Electronics

CoolRunner-II

• CoolRunner-II Family– Lowest system cost using advanced

features– Lowest power– High speed – Additional security– Smallest packages

• Including world’s smallest low cost package - QF32

– 1.5V, 1.8V, 2.5V & 3.3V interface– 2 to 4 I/O banks

Sept. 2005 EE37E Adv. Digital Electronics

CoolRunner-II CPLD Architecture

AIM: Advanced Interconnect Matrix

Sept. 2005 EE37E Adv. Digital Electronics