0% found this document useful (0 votes)
68 views40 pages

Programmable Logic Devices: PDF Created With Pdffactory Pro Trial Version

Programmable Logic Devices (PLDs) are general purpose chips that can be customized to implement logic circuits using programmable switches. The main types of PLDs are PLA, PAL, ROM, CPLD, and FPGA. PLAs and PALs implement logic functions in Sum of Products (SOP) form, with programmable connections in the AND plane for PLAs and both AND and OR planes for PALs. PALs have a simpler design than PLAs and are faster and cheaper to manufacture due to their fixed OR plane.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views40 pages

Programmable Logic Devices: PDF Created With Pdffactory Pro Trial Version

Programmable Logic Devices (PLDs) are general purpose chips that can be customized to implement logic circuits using programmable switches. The main types of PLDs are PLA, PAL, ROM, CPLD, and FPGA. PLAs and PALs implement logic functions in Sum of Products (SOP) form, with programmable connections in the AND plane for PLAs and both AND and OR planes for PALs. PALs have a simpler design than PLAs and are faster and cheaper to manufacture due to their fixed OR plane.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Programmable Logic Devices

PDF created with pdfFactory Pro trial version www.pdffactory.com


n PLDs

¡ Programmable Logic Devices (PLD)


n General purpose chip for implementing circuits
n Can be customized using programmable switches

¡ Main types of PLDs


n PLA
n PAL
n ROM
n CPLD
n FPGA

¡ Custom chips: standard cells, sea of gates

PDF created with pdfFactory Pro trial version www.pdffactory.com


n PLD as a Black Box

Logic gates
Inputs and Outputs
(logic variables) programmable (logic functions)
switches

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Programmable Logic Array (PLA)
x1 x2 xn
¡ Use to implement
circuits in SOP form

Input buffers
¡ The connections in and
inverters
the AND plane are
programmable x1 x1 xn xn

P1
¡ The connections in
the OR plane are AND plane OR plane
programmable Pk

f1 fm

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Gate Level Version of PLA
x1 x2 x3

Programmable
connections

f1 = x1x2+x1x3'+x1'x2'x3 OR plane
P1

f2 = x1x2+x1'x2'x3+x1x3
P2

P3

P4

AND plane

f1 f2

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Customary Schematic of a PLA
x1 x2 x3

OR plane
f1 = x1x2+x1x3'+x1'x2'x3
P1
f2 = x1x2+x1'x2'x3+x1x3
P2

P3

P4

x marks the connections left in AND plane


place after programming
f1 f2

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Limitations of PLAs

¡ PLAs come in various sizes


n Typical size is 16 inputs, 32 product terms, 8 outputs
¡ Each AND gate has large fan-in à this limits the number of
inputs that can be provided in a PLA

¡ 16 inputs à 216 = possible input combinations; only 32


permitted (since 32 AND gates) in a typical PLA

¡ 32 AND terms permitted à large fan-in for OR gates as well


n This makes PLAs slower and slightly more expensive than
some alternatives to be discussed shortly

¡ 8 outputs à could have shared minterms, but not required

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Programmable Array Logic (PAL)
x1 x2 xn
¡ Also used to implement
circuits in SOP form

Input buffers
¡ The connections in and fixed connections
inverters
the AND plane are
programmable x1 x1 xn xn

P1
¡ The connections in
the OR plane are AND plane OR plane
NOT programmable Pk

f1 fm

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example Schematic of a PAL
x1 x2 x3

f1 = x1x2x3'+x1'x2x3

f2 = x1'x2'+x1x2x3 P1

f1
P2

P3

f2
P4

AND plane

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Comparing PALs and PLAs

¡ PALs have the same limitations as PLAs (small


number of allowed AND terms) plus they have a
fixed OR plane à less flexibility than PLAs

¡ PALs are simpler to manufacture, cheaper, and


faster (better performance)

¡ PALs also often have extra circuitry connected to the


output of each OR gate
n The OR gate plus this circuitry is called a macrocell

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Macrocell

Select
Enable
OR gate from PAL 0
f1
1

D Q
Flip-flop
Clock

back to AND plane

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Macrocell Functions

¡ Enable = 0 can be used to allow the output pin for f1


to be used as an additional input pin to the PAL

¡ Enable = 1, Select = 0 is normal


for typical PAL operation Select
Enable
0
f1
1

¡ Enable = Select = 1 allows D Q


the PAL to synchronize the Clock
output changes with a clock
pulse back to AND plane

¡ The feedback to the AND plane provides for multi-


level design

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Multi-Level Design with PALs

¡ f = A'BC + A'B'C' + ABC' + AB'C = A'g + Ag'


n where g = BC + B'C' and C = h below
A B

Sel = 0
En = 0
0
1
h

D Q
Sel = 0
Clock En = 1
0
g
1

D Q
Select
Clock
0
f
1

D Q

Clock

PDF created with pdfFactory Pro trial version www.pdffactory.com


n ROM

¡ A ROM (Read Only Memory) has a fixed AND plane


and a programmable OR plane

¡ Size of AND plane is 2n where n = number of input


pins
n Has an AND gate for every possible minterm so that all
input combinations access a different AND gate

¡ OR plane dictates function mapped by the ROM

PDF created with pdfFactory Pro trial version www.pdffactory.com


n 4x4 ROM

¡ 22x4 bit ROM has 4 addresses that are decoded

2-to-4 decoder

a0

a1

d3 d2 d1 d0

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Programming SPLDs

¡ PLAs, PALs, and ROMs are also called SPLDs –


Simple Programmable Logic Devices

¡ SPLDs must be programmed so that the switches


are in the correct places
n CAD tools are usually used to do this
¡ A fuse map is created by the CAD tool and then that map is
downloaded to the device via a special programming unit

n There are two basic types of programming techniques


¡ Removable sockets on a PCB
¡ In system programming (ISP) on a PCB
n This approach is not very common for PLAs and PALs but
it is quite common for more complex PLDs

PDF created with pdfFactory Pro trial version www.pdffactory.com


n An SPLD Programming Unit

¡ The SPLD is removed from the PCB, placed into the


unit and programmed there

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Removable SPLD Socket Package

¡ PLCC (plastic-leaded chip carrier)

PLCC socket soldered to


the PCB

d
boar
it
circu
d
r i nte
P

PDF created with pdfFactory Pro trial version www.pdffactory.com


n In System Programming (ISP)

¡ Used when the SPLD cannot be removed from the


PCB

¡ A special cable and PCB connection are required to


program the SPLD from an attached computer

¡ Very common approach to programming more


complex PLDs like CPLDs, FPGAs, etc.

PDF created with pdfFactory Pro trial version www.pdffactory.com


n CPLD

¡ Complex Programmable Logic Devices (CPLD)

¡ SPLDs (PLA, PAL) are limited in size due to the


small number of input and output pins and the limited
number of product terms
n Combined number of inputs + outputs < 32 or so

¡ CPLDs contain multiple circuit blocks on a single


chip
n Each block is like a PAL: PAL-like block
n Connections are provided between PAL-like blocks via an
interconnection network that is programmable
n Each block is connected to an I/O block as well

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Structure of a CPLD

I/O block

I/O block
PAL-like PAL-like
block block

Interconnection wires
I/O block

I/O block
PAL-like PAL-like
block block

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Internal Structure of a PAL-like Block

¡ Includes macrocells
n Usually about 16 each

PAL-like block
¡ Fixed OR planes
n OR gates have fan-in
between 5-20 PAL-like block

DQ
¡ XOR gates provide
negation ability DQ

n XOR has a control


DQ
input

PDF created with pdfFactory Pro trial version www.pdffactory.com


n More on PAL-like Blocks

¡ CPLD pins are provided to control XOR, MUX, and


tri-state gates

¡ When tri-state gate is disabled, the corresponding


output pin can be used as an input pin
n The associated PAL-like block is then useless

¡ The AND plane and interconnection network are


programmable

¡ Commercial CPLDs have between 2-100 PAL-like


blocks

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Programming a CPLD

¡ CPLDs have many pins – large ones have > 200


n Removal of CPLD from a PCB is difficult without breaking
the pins
n Use ISP (in system programming) to program the CPLD
n JTAG (Joint Test Action Group) port used to connect the
CPLD to a computer

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example CPLD

¡ Use a CPLD to implement the function


n f = x1x3x6' + x1x4x5x6' + x2x3x7 + x2x4x5x7

(from interconnection wires)


x1 x2 x3 x4 x5 x6 x7 unused

PAL-like block
0 1
0
f
D Q

PDF created with pdfFactory Pro trial version www.pdffactory.com


n FPGA

¡ SPLDs and CPLDs are relatively small and useful for


simple logic devices
n Up to about 20000 gates

¡ Field Programmable Gate Arrays (FPGA) can handle


larger circuits
n No AND/OR planes
n Provide logic blocks, I/O blocks, and interconnection wires
and switches

n Logic blocks provide functionality


n Interconnection switches allow logic blocks to be connected
to each other and to the I/O pins

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Structure of an FPGA

I/O block

interconnection
switch

I/O block
I/O block

logic block
I/O block

PDF created with pdfFactory Pro trial version www.pdffactory.com


n LUTs

¡ Logic blocks are implemented using a lookup table


(LUT)
n Small number of inputs, one output
n Contains storage cells that can be loaded with the desired
values

n A 2 input LUT uses 3 MUXes


to implement any desired function x1
of 2 variables 0/1
¡ Shannon's expansion at work!
0/1
f
0/1
0/1
x2

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example 2 Input LUT

x1 x2 f
0 0 1 f = x1'x2' + x1x2, or using Shannon's expansion:
0 1 0
1 0 0
1 1 1

x1

1
0
f
0
1

x2

PDF created with pdfFactory Pro trial version www.pdffactory.com


n 3 Input LUT

¡ 7 2x1 MUXes and x1


8 storage cells are x2
required 0/1
0/1
¡ Commercial LUTs have 0/1
4-5 inputs, and 16-32
0/1
storage cells f
0/1
0/1
0/1
0/1
x3

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Programming an FPGA

¡ ISP method is used

¡ LUTs contain volatile storage cells


n None of the other PLD technologies are volatile
n FPGA storage cells are loaded via a PROM when power is
first applied

¡ The UP2 Education Board by Altera contains a


JTAG port, a MAX 7000 CPLD, and a FLEX 10K
FPGA
n The MAX 7000 CPLD chip is EPM7128SLC84-7
n EPM7 à MAX 7000 family; 128 macrocells; LC84 à 84 pin
PLCC package; 7 à speed grade

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example FPGA

¡ Use an FPGA with 2 input LUTS to implement the


function f = x1x2 + x2'x3
x3 f

n f1 = x1x2
n f2 = x2'x3 x1

n f = f1 + f2 x1 0 x2 0
0 f1 1 f2
0 0
x2 x2 x3
1 0

f1 0
1 f
1
f2
1

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Another Example FPGA

¡ Use an FPGA with 2 input LUTS to implement the


function f = x1x3x6' + x1x4x5x6' + x2x3x7 + x2x4x5x7

n Fan-in of expression is too large for FPGA (this was simple


to do in a CPLD)

n Factor f to get sub-expressions with max fan-in = 2


¡ f = x1x6'(x3 + x4x5) + x2x7(x3 + x4x5)
= (x1x6' + x2x7)(x3 + x4x5)

n Could use Shannon's expansion instead


¡ Goal is to build expressions out of 2-input LUTs

PDF created with pdfFactory Pro trial version www.pdffactory.com


n FPGA Implementation

¡ f = (x1x6' + x2x7)(x3 + x4x5)


x4 x5 x3 f

x1

x1 0 x4 0 x3 0
0 A 0 C 1 E
x6 x6 1 x5 0 C 1
1
0 1

x2

x2 0 A 0 D 0
0 B 1 D 0 f
x7 x7 0 1
B 1
0
E 1
1

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Custom Chips

¡ PLDs are limited by number of programmable


switches
n Consume space
n Reduce speed

¡ Custom chips are created from scratch


n Expensive à used when high speed is required, volume
sales are expected, and chip size is small but with high
density of gates
n ASICs (Application Specific Integrated Circuits) are custom
chips that use a standard cell layout to reduce design costs

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Standard Cells

¡ Rows of logic gates can be connected by wires in


the routing channels
n Designers (via CAD tools) select prefab gates from a library
and place them in rows
n Interconnections are made by wires in routing channels
¡ Multiple layers may be used to avoid short circuiting
¡ A hard-wired connection between layers is called a via

x1 f2

x2
x3
f1

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example: Standard Cells

¡ f1 = x1x2 + x1'x2'x3 + x1x3'


¡ f2 = x1x2 + x1'x2'x3 + x1x3

x1 f2

x2
x3
f1

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Sea of Gates Gate Array

¡ A Sea of Gates gate array is just like a standard cell


except all gates are of the same type
n Interconnections are run in channels and use multiple
layers
n Cheaper to manufacture due to regularity

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Example: Sea of Gates

¡ f1 = x2x3' + x1x3
black à bottom
layer channels

red à top layer channels

PDF created with pdfFactory Pro trial version www.pdffactory.com


n Digital Logic Technology Tradeoffs

Full custom
VLSI design

ASICs
Speed / Density /
Complexity / Likely
Market Volume CPLDs
FPGAs

PLDs

Engineering cost / Time to develop

PDF created with pdfFactory Pro trial version www.pdffactory.com

You might also like