cset 4650 field programmable logic devices dan solarek introduction to plds

42
CSET 4650 CSET 4650 Field Programmable Logic Devices Field Programmable Logic Devices Dan Solarek Dan Solarek Introduction to Introduction to PLDs PLDs

Upload: ferdinand-terry

Post on 27-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

CSET 4650 CSET 4650 Field Programmable Logic DevicesField Programmable Logic Devices

Dan SolarekDan SolarekDan SolarekDan Solarek

Introduction to PLDsIntroduction to PLDs

Page 2: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

2

ObjectivesObjectives

Review of Digital SystemsReview of Digital Systems

History of PLDsHistory of PLDs

Types of PLDsTypes of PLDs

TerminologyTerminology

Page 3: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

3

Some BasicsSome Basics

a combinational logic circuit is one where the a combinational logic circuit is one where the next output depends only on the current input next output depends only on the current input

any number of inputs

any number of outputs

logic gatesAND, OR, NOT

(typically 7400 series SSI)

Page 4: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

4

Some BasicsSome Basics

a sequential logic circuit is one where the next a sequential logic circuit is one where the next output depends not only on the current input but output depends not only on the current input but also on the sequence of past inputs also on the sequence of past inputs

usually flip-flopsSR, JK, D, T

Page 5: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

5

Some BasicsSome Basics

the design of a sequential logic circuit includes the the design of a sequential logic circuit includes the design of a combinational logic circuit design of a combinational logic circuit

any number of inputs

any number of outputs

logic gatesAND, OR, NOT

(typically 7400 series SSI)

Page 6: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

6

Purpose of this CoursePurpose of this Course

This course is about logic circuit This course is about logic circuit implementationimplementation

X1 X2 Q1 Q2 Y0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 00 1 0 0 10 1 0 1 10 1 1 0 x0 1 1 1 11 0 0 0 01 0 0 1 11 0 1 0 x1 0 1 1 11 1 0 0 01 1 0 1 11 1 1 0 11 1 1 1 1

?

function

specification

truth table

Karnaugh Map

circuit

Page 7: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

7

Logic Circuit ImplementationLogic Circuit Implementation

there are several optionsthere are several options

SSI Gates MSI ICs

Memory

Page 8: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

8

Logic Circuit ImplementationLogic Circuit Implementation

there are several optionsthere are several options

U19-251641-02PLA

Programmable Devices

Page 9: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

9

Electronic ComponentsElectronic ComponentsLogic

StandardLogic

ASIC

ProgrammableLogic Devices(PLDs)

GateArrays

Cell-BasedICs

Full CustomICs

CPLDsSPLDs(PALs) FPGAs

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

Common ResourcesCommon ResourcesConfigurable Logic Blocks (CLB)Configurable Logic Blocks (CLB)

Memory Look-Up Table (LUT)Memory Look-Up Table (LUT)AND-OR planesAND-OR planesSimple gatesSimple gates

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

Interconnect or RoutingInterconnect or RoutingLocal, internal feedback, and globalLocal, internal feedback, and global

Page 10: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

10

How Do You Make a How Do You Make a “Programmable” Circuit?“Programmable” Circuit?

One time programmableOne time programmableFuses (destroy internal links with current)Fuses (destroy internal links with current)

Anti-fuses (grow internal links)Anti-fuses (grow internal links)

PROMPROM

ReprogrammableReprogrammableEPROMEPROM

EEPROMEEPROM

FlashFlash

SRAM - volatileSRAM - volatile

} non-volatile

Page 11: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

11

Programmable ROM (PROM)Programmable ROM (PROM)

First ones had fusible linksFirst ones had fusible links

High voltage would blow out linksHigh voltage would blow out links

Fast to programFast to program

Single useSingle use

Page 12: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

12

UV EPROMUV EPROM

ErasableErasable PROM PROM

Common technologies used UV light to Common technologies used UV light to erase complete deviceerase complete device

Took about 10 minutesTook about 10 minutes

Holds state as charge in very well insulated Holds state as charge in very well insulated areas of the chipareas of the chip

Nonvolatile for several (10?) yearsNonvolatile for several (10?) years

Page 13: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

13

EEPROMEEPROM

Electrically ErasableElectrically Erasable PROM PROMSimilar technology to UV EPROMSimilar technology to UV EPROMErased in blocks by higher voltageErased in blocks by higher voltageProgramming slower than readingProgramming slower than readingSome called Some called flash memoryflash memory

Digital cameras, MP3 players, BIOSDigital cameras, MP3 players, BIOSLimited lifeLimited lifeSome support individual word write, some blockSome support individual word write, some blockOne on Xess board has 5 blocksOne on Xess board has 5 blocksHas a Has a boot blockboot block that is carefully protected that is carefully protected

Page 14: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

14

Details of ROMDetails of ROM

Memory that is permanentMemory that is permanent

k address linesk address lines

22kk items items

n bitsn bitsa combinational

logic circuit

Page 15: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

15

Simple PLDsSimple PLDs

Page 16: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

16

Programmable Logic DeviceProgrammable Logic Device

A programmable logic device or PLD is an A programmable logic device or PLD is an electronic component used to build digital electronic component used to build digital circuits. circuits. Unlike a logic gate, which has a fixed Unlike a logic gate, which has a fixed function, a PLD has an undefined function function, a PLD has an undefined function at the time of manufacture. at the time of manufacture. Before the PLD can perform in a circuit it Before the PLD can perform in a circuit it must be programmed.must be programmed.

Page 17: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

17

Programmable Array Logic (PAL)Programmable Array Logic (PAL)

The first programmable logic devices were The first programmable logic devices were produced by the Advanced Micro Devices produced by the Advanced Micro Devices (AMD) corporation. (AMD) corporation. The devices were called PALs, for The devices were called PALs, for programmable array logic. programmable array logic. The PLD business split from AMD under The PLD business split from AMD under the name Vantis, and was acquired by the name Vantis, and was acquired by Lattice Semiconductor in 1999. Lattice Semiconductor in 1999.

Page 18: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

18

Early PALsEarly PALs

The programmable array contains logic gates, The programmable array contains logic gates, themselves fixed in function, with programmable themselves fixed in function, with programmable interconnections between them. interconnections between them.

The array has a number of inputs and outputs, and The array has a number of inputs and outputs, and can create any Boolean function of a selection of can create any Boolean function of a selection of the inputs at any of its outputs. the inputs at any of its outputs.

A single PAL can replace a circuit containing a A single PAL can replace a circuit containing a large number, perhaps a few hundred, of fixed large number, perhaps a few hundred, of fixed logic gates. logic gates.

Page 19: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

19

Early PALsEarly PALs

In a PAL the logic gates are arranged as a In a PAL the logic gates are arranged as a sum-of-products array. sum-of-products array. In Boolean terms, this means a number of In Boolean terms, this means a number of AND gates whose outputs feed into a large AND gates whose outputs feed into a large OR gate that drives one output. OR gate that drives one output. By selecting which inputs drive each AND By selecting which inputs drive each AND gate, and which AND gates drive the OR gate, and which AND gates drive the OR gate, any Boolean function can be created. gate, any Boolean function can be created.

Page 20: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

20

Early PALsEarly PALs

A PAL is programmed by fitting it into a A PAL is programmed by fitting it into a machine called a PAL programmer. machine called a PAL programmer.

PAL programmers are usually general-PAL programmers are usually general-purpose machines that can program all purpose machines that can program all types of PLDs from all manufacturers. types of PLDs from all manufacturers.

A PAL may be programmed only once. A PAL may be programmed only once.

Page 21: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

21

Early PALsEarly PALs

The PAL programmer must be supplied with a The PAL programmer must be supplied with a description of the PAL's desired configuration. description of the PAL's desired configuration.

This is usually in the form of a computer text file This is usually in the form of a computer text file with a standard format defined by the Joint with a standard format defined by the Joint Electron Device Engineering Council (JEDEC). Electron Device Engineering Council (JEDEC).

JEDEC files can be hand-typed by the design JEDEC files can be hand-typed by the design engineer or, more commonly, produced by a engineer or, more commonly, produced by a computer program similar to the language computer program similar to the language compilers used by software engineers.compilers used by software engineers.

Page 22: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

22

Generic Array Logic (GAL)Generic Array Logic (GAL)

An innovation of the PAL was the generic array An innovation of the PAL was the generic array logic device, or GAL, invented by Lattice logic device, or GAL, invented by Lattice Semiconductor Inc. Semiconductor Inc. This device has the same logical properties as the This device has the same logical properties as the PAL but can be erased and reprogrammed. PAL but can be erased and reprogrammed. The GAL is very useful in the prototyping stage of The GAL is very useful in the prototyping stage of a design, when any bugs in the logic can be a design, when any bugs in the logic can be corrected by reprogramming. corrected by reprogramming. GALs are programmed and reprogrammed using a GALs are programmed and reprogrammed using a PAL programmer. PAL programmer.

Page 23: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

23

Programmable Electrically Programmable Electrically Erasable Logic (PEEL)Erasable Logic (PEEL)

A PEEL is a device similar to a GAL and A PEEL is a device similar to a GAL and was introduced by the Integrated Circuit was introduced by the Integrated Circuit Technology (ICT) corporation. Technology (ICT) corporation.

As the name implies, it differs from a GAL As the name implies, it differs from a GAL or PAL in that it is electrically erasable or PAL in that it is electrically erasable (reprogrammable)(reprogrammable)

Page 24: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

24

Complex Programmable Complex Programmable Logic Devices (CPLDs)Logic Devices (CPLDs)

Xilinx devices that are cheaper and have fewer Xilinx devices that are cheaper and have fewer gates than FPGAsgates than FPGAsMeant for interfacing rather than heavy Meant for interfacing rather than heavy computationcomputationBuilt-in flash memoryBuilt-in flash memory

Instead of FPGA, which needs externalInstead of FPGA, which needs external

Xess bd. has XC9572XL partXess bd. has XC9572XL partApprox $2-$7 in one’s qty. (vs. ~$15-20 for the Approx $2-$7 in one’s qty. (vs. ~$15-20 for the Spartan2 on the board). Larger qty much lower.Spartan2 on the board). Larger qty much lower.1600 gates, 72 registers1600 gates, 72 registers

Page 25: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

25

Complex PLDsComplex PLDs

PALs and GALs are available only in small sizes, PALs and GALs are available only in small sizes, equivalent to a few hundred logic gates. equivalent to a few hundred logic gates. For bigger logic circuits, complex PLDs or CPLDs For bigger logic circuits, complex PLDs or CPLDs can be used. can be used. These contain the equivalent of several PALs These contain the equivalent of several PALs linked by programmable interconnections, all in linked by programmable interconnections, all in one integrated circuit. one integrated circuit. CPLDs can replace thousands, or even hundreds CPLDs can replace thousands, or even hundreds of thousands, of logic gates. of thousands, of logic gates.

Page 26: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

26

Complex PLDsComplex PLDs

Some CPLDs are programmed using a PAL Some CPLDs are programmed using a PAL programmer, but this method becomes programmer, but this method becomes inconvenient for devices with hundreds of pins. inconvenient for devices with hundreds of pins.

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

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

Page 27: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

27

Complex PLDsComplex PLDs

Each manufacturer has a proprietary name Each manufacturer has a proprietary name for its CPLD programming system. for its CPLD programming system.

For example, Lattice calls it "in-system For example, Lattice calls it "in-system programming". programming".

However, these proprietary systems are However, these proprietary systems are beginning to give way to a standard from beginning to give way to a standard from the Joint Test Action Group (JTAG).the Joint Test Action Group (JTAG).

Page 28: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

28

Field Programmable Logic Field Programmable Logic Devices (FPGAs)Devices (FPGAs)

While PALs were busy developing into While PALs were busy developing into GALs and CPLDs, a separate stream of GALs and CPLDs, a separate stream of development was happening. development was happening.

This type of device is based on gate-array This type of device is based on gate-array technology and is called the field-technology and is called the field-programmable gate array (FPGA). programmable gate array (FPGA).

Page 29: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

29

Field Programmable Logic Field Programmable Logic Devices (FPGAs)Devices (FPGAs)

Gate arrays are non-programmable devices that Gate arrays are non-programmable devices that can be manufactured more cheaply than other can be manufactured more cheaply than other types of IC, because they contain a standard grid types of IC, because they contain a standard grid of logic gates whose interconnections are specified of logic gates whose interconnections are specified by the customer. by the customer.

When a customer orders a new type of chip, the When a customer orders a new type of chip, the manufacturer does not have to design it from manufacturer does not have to design it from scratch, but can just take a standard gate array and scratch, but can just take a standard gate array and modify it to the customer's requirement. modify it to the customer's requirement.

Page 30: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

30

Field Programmable Logic Field Programmable Logic Devices (FPGAs)Devices (FPGAs)

FPGAs use a similar grid of logic gates, but FPGAs use a similar grid of logic gates, but the programming is done by the customer, the programming is done by the customer, not by the manufacturer. not by the manufacturer.

The term "field-programmable" may be The term "field-programmable" may be obscure to some, but the "field" is just an obscure to some, but the "field" is just an engineering term for the world outside the engineering term for the world outside the factory where customers live. factory where customers live.

Page 31: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

31

Field Programmable Logic Field Programmable Logic Devices (FPGAs)Devices (FPGAs)

FPGAs are usually programmed after being FPGAs are usually programmed after being soldered down to the circuit board, in the soldered down to the circuit board, in the same way as larger CPLDs. same way as larger CPLDs.

In most larger FPGAs the configuration is In most larger FPGAs the configuration is volatile, and must be re-loaded into the volatile, and must be re-loaded into the device whenever power is applied or device whenever power is applied or different functionality is required. different functionality is required.

Page 32: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

32

Field Programmable Logic Field Programmable Logic Devices (FPGAs)Devices (FPGAs)

FPGAs and CPLDs are often equally good FPGAs and CPLDs are often equally good choices for a particular task. choices for a particular task.

Sometimes the decision is more an Sometimes the decision is more an economic one than a technical one, or may economic one than a technical one, or may depend on the engineer's personal depend on the engineer's personal preference and history.preference and history.

Page 33: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

33

YearYear 19951995 19961996 19971997 20002000 20032003 2004 ?2004 ?

TechnologyTechnology 0.6µ0.6µ 0.35 µ0.35 µ 0.25 µ0.25 µ 0.18 µ0.18 µ 0.13 µ0.13 µ 0.07µ0.07µ

Gate CountGate Count 25K25K 100K100K 250K250K 1 M1 M

100K LC*100K LC*

8Mb RAM8Mb RAM

400 18X18 400 18X18 multipliersmultipliers

Transistor Transistor CountCount

3.5M3.5M 12M12M 23M23M 75M75M 430M430M 1B1B

*note: Xilinx Virtex-II Pro XC2VP100 (9/16/2003)

PLD Device Density and VLSI Technology

Page 34: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

34

How PLDs Remember Their How PLDs Remember Their ConfigurationConfiguration

A PLD is a combination of a logic device A PLD is a combination of a logic device and a memory device. and a memory device.

The memory is used to store the pattern that The memory is used to store the pattern that was given to the chip during programming. was given to the chip during programming.

Most of the methods for storing data in an Most of the methods for storing data in an integrated circuit have been adapted for use integrated circuit have been adapted for use in PLDs. in PLDs.

Page 35: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

35

How PLDs Remember Their How PLDs Remember Their ConfigurationConfiguration

The methods for storing data in an The methods for storing data in an integrated circuit include: integrated circuit include:

silicon antifuses silicon antifuses

static RAM (SRAM) static RAM (SRAM)

flash memory flash memory

EPROM cellsEPROM cells

Page 36: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

36

How PLDs Remember Their How PLDs Remember Their Configuration - Configuration - AntifusesAntifuses

Silicon antifuses are the storage elements used in Silicon antifuses are the storage elements used in the PAL, the first type of PLD. the PAL, the first type of PLD.

These are connections that are made by applying a These are connections that are made by applying a voltage across a modified area of silicon inside the voltage across a modified area of silicon inside the chip. chip.

They are called antifuses because they work in the They are called antifuses because they work in the opposite way to normal fuses, which begin life as opposite way to normal fuses, which begin life as connections until they are broken by an electric connections until they are broken by an electric current. current.

Page 37: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

37

How PLDs Remember Their How PLDs Remember Their Configuration - Configuration - SRAMSRAM

SRAM, or static RAM, is a volatile type of SRAM, or static RAM, is a volatile type of memory, meaning that its contents are lost memory, meaning that its contents are lost each time the power is switched off. each time the power is switched off. SRAM-based PLDs therefore have to be SRAM-based PLDs therefore have to be programmed every time the circuit is programmed every time the circuit is switched on. switched on. This is usually done automatically by This is usually done automatically by another part of the circuit. another part of the circuit.

Page 38: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

38

How PLDs Remember Their How PLDs Remember Their Configuration - Configuration - FlashFlash

Flash memory is non-volatile, retaining its Flash memory is non-volatile, retaining its contents even when the power is switched contents even when the power is switched off. off.

It can be erased and reprogrammed as It can be erased and reprogrammed as required. required.

This fact makes flash memory useful for This fact makes flash memory useful for PLD memory. PLD memory.

Page 39: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

39

How PLDs Remember Their How PLDs Remember Their Configuration - Configuration - EPROMEPROM

An EPROM cell is a MOS (metal-oxide-An EPROM cell is a MOS (metal-oxide-semiconductor) transistor that can be switched on semiconductor) transistor that can be switched on by trapping an electric charge permanently on its by trapping an electric charge permanently on its gate electrode. gate electrode.

This is done by a PAL programmer. This is done by a PAL programmer.

The charge remains for many years and can only The charge remains for many years and can only be removed by exposing the chip to strong be removed by exposing the chip to strong ultraviolet light in a device called an EPROM ultraviolet light in a device called an EPROM eraser.eraser.

Page 40: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

40

PLD Programming Languages PLD Programming Languages

PLD programming languagesPLD programming languagesPALASMPALASM

ABELABEL

CUPLCUPL

Page 41: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

41

Hardware Description Languages Hardware Description Languages

The languages used as source code for logic The languages used as source code for logic compilers are called hardware description compilers are called hardware description languages, or HDLs. languages, or HDLs.

Examples of HDLS include:Examples of HDLS include:VHDLVHDL

Verilog HDLVerilog HDL

AHDLAHDL

Page 42: CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs

42

No high development cost barriersNo high development cost barriers

Recovered time for authoring and innovatingRecovered time for authoring and innovating

SW improvements reduce design iterationsSW improvements reduce design iterations

No lengthy prototyping cycleNo lengthy prototyping cycle

Ability to remotely upgrade any networked Ability to remotely upgrade any networked systemsystem

Ultimate flexibility to manage rapid changeUltimate flexibility to manage rapid change

Programmable Logic SolutionsProgrammable Logic Solutions