Professional Documents
Culture Documents
1/30/2009
PROGRAMMABLE LOGIC
1/30/2009
MZ-SED
L4/1
1/30/2009
MZ-SED
L4/2
Programmable logic devices can be used to prototype design that will be implemented for sale in regular ICs.
Complete Intel Pentium designs were actually prototyped with specialized systems based on large numbers of VLSI programmable devices!
1/30/2009
MZ-SED
L4/3
MZ
L4
1/30/2009
Programming Technologies
Programming technologies are used to:
Control connections Build lookup tables Control transistor switching
The technologies
Control connections
Mask programming Fuse Antifuse Single-bit storage element
1/30/2009
MZ-SED
L4/4
1/30/2009
MZ-SED
L4/5
Technology Characteristics
Reprogrammable
Volatile - Programming lost if chip power lost
Single-bit storage element
Non-Volatile
Erasable Electrically erasable Flash (as in Flash Memory)
1/30/2009
L4/6
MZ
L4
1/30/2009
Antifuse-Based FPGA
antifuse polysilicon ONO dielectric
n+ antifuse diffusion 2l
MZ-SED
Pk
f1
fm
L4/8
Programmable Configurations
Read Only Memory (ROM) - a fixed array of AND gates and a programmable array of OR gates Programmable Array Logic (PAL) - a programmable array of AND gates feeding a fixed array of OR gates. Programmable Logic Array (PLA) - a programmable array of AND gates feeding a programmable array of OR gates. Complex Programmable Logic Device (CPLD) /FieldProgrammable Gate Array (FPGA) - complex enough to be called architectures
1/30/2009
MZ-SED
L4/9
MZ
L4
ROM, PAL and PLA Configurations
Inputs Fixed AND array (decoder) Programmable Connections Programmable OR array Outputs
1/30/2009
Inputs
Programmable Connections
Fixed OR array
Outputs
Inputs
Programmable Connections
Programmable OR array
Outputs
L4/10
Fixed OR array
PLA
PROM
Indicates programmable connection Indicates fixed connection
PAL
1/30/2009
MZ-SED
L4/11
Fixed AND array with 2N outputs implementing all N-literal minterms. Programmable OR Array with M outputs lines to form up to M sum of minterm expressions.
1/30/2009
MZ-SED
L4/12
MZ
L4
Read Only Memory
A program for a ROM or PROM is simply a multiple-output truth table
If a 1 entry, a connection is made to the corresponding minterm for the corresponding output If a 0, no connection is made
1/30/2009
Can be viewed as a memory with the inputs as addresses of data (output values), hence ROM or PROM names!
1/30/2009
MZ-SED
L4/13
D7 D6 D5 D4 A2 D3 D2 A1 D1 A0 D0
X X
X X
X X
X X X X
F3
F2
F1
F0
L4/14
Programming a PROM
1 X2 X 1 X 0
: programmed node NA NA f1 f0
1/30/2009
MZ-SED
L4/15
MZ
L4
Programmable Array Logic (PAL)
The PAL is the opposite of the ROM, having a programmable set of ANDs combined with fixed ORs. Disadvantage
ROM guaranteed to implement any M functions of N inputs. PAL may have too few inputs to the OR gates.
1/30/2009
Advantages
For given internal complexity, a PAL can have larger N and M Some PALs have outputs that can be complemented, adding POS functions No multilevel circuit implementations in ROM (without external connections from output to input). PAL has outputs from OR terms as internal inputs to all AND terms, making implementation of multi-level circuits easier.
1/30/2009
MZ-SED
L4/16
4 5 6
7 8 9
C
10 11 12
D
1/30/2009
MZ-SED
0 1 2 3 4 5 6 7 8 9
j -wide OR array D Q
j j
CLK A B C i i inputs
MZ
F1 = A B + C F2 = A B C + AC + AB F3 = F4 =
B
F3
XX
4-input, 3-output PAL with fixed, 3-input OR terms What are the equations for F1 through F4?
2 3
A
F2
Product 1 term
X X X X
F1 F4 L4/17
OUT
macrocell
L4/18
L4
Programmable Logic Array (PLA)
Compared to a ROM and a PAL, a PLA is the most flexible having a programmable set of ANDs combined with a programmable set of ORs. Advantages
A PLA can have large N and M permitting implementation of equations that are impractical for a ROM (because of the number of inputs, N, required A PLA has all of its product terms connectable to all outputs, overcoming the problem of the limited inputs to the PAL Ors Some PLAs have outputs that can be complemented, adding POS functions
1/30/2009
1/30/2009
MZ-SED
L4/19
1/30/2009
MZ-SED
L4/20
What are the equations for F1 & F2? Could the PLA implement the functions without the XOR gates?
AB BC AC AB
X X X
C C B B AA
0 1 F1 F2
L4/21
MZ
L4
PLA Implementation
x2 x3 Programmable connections P1 OR plane
1/30/2009
x1
P2
P3
P4
AND plane
1/30/2009
f1
f2 L4/22
x1
x2
x3
x4
1/30/2009
f1
f2
L4/23
x1
x2
x3
x4
VDD
S1 S2 S3 S4 S5 S6 NOR plane
f1
f2
L4/24
MZ
L4
x1 VDD P 1 P 2 P 3 P 4 P 5 P 6 NOR plane PAL programmed to implement the two functions of previous slide
1/30/2009
MZ-SED
1/30/2009
x2 x3 x4
f1
f2
L4/25
S 1 VDD
S 2 VDD
S 3
f1
f2
L4/26
VDD
S1 VDD
S2
VDD
Sk
1/30/2009
MZ-SED
L4/27
MZ
L4
Using EEPROM transistors to create a programmable plane.
1/30/2009
++++
1/30/2009
MZ-SED
L4/28
Interconnection wires
I/O block
I/O block
PAL-like block
PAL-like block
1/30/2009
L4/29
A section of a CPLD
PAL-like block (details not shown)
PAL-like block
D Q
D Q
D Q
1/30/2009
MZ-SED
L4/30
MZ
10
L4
EPLD Block Diagram
Macrocell
1/30/2009
Primary inputs
1/30/2009
MZ-SED
L4/31
A B
0 F 1
1/30/2009
MZ-SED
L4/32
A B SA 1 C D SB S0 S1
1/30/2009 L4/33
1 Y
MZ-SED
MZ
11
L4
Field-Programmable Gate Arrays (FPGAs) Look-Up Tables (LUTs)
x1 0/1 0/1 0/1 0/1 x2
(a) Circuit for a two-input LUT
1/30/2009
x1 x2 0 0 1 1 0 1 0 1
f1 1 0 0 1
(b) f 1 = x 1 x 2 + x 1 x 2
x1 1 0 0 1 x2
(c) Storage cell contents in the LUT
f1
L4/34
A three-input LUT
x1 x2 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 x3
1/30/2009
MZ-SED
L4/35
1/30/2009
MZ-SED
L4/36
MZ
12
L4
LUT-Based Logic Cell
C1....C 4 4 xx D4 D3 D2 D1 Logic function of xxx Logic function of xxx Logic function of xxx xx xx xx xx x x xxxx xxxx xxxx Bits control xxxx x xx x xx
1/30/2009
F4 F3 F2 F1
xx xx xx xx
x xxxxx
L4/37
FPGAs
x3 f
x1 x1 x2 x2 0 0 0 1 x2 f1 x3 0 1 0 0
f2
f1 f2
0 1 1 1
L4/38
FPGAs
x3 f
x1 x1 x2 x2 0 0 0 1 x2 f1 x3 0 1 0 0
f2
f1 f2
0 1 1 1
L4/39
MZ
13
L4
A field-programmable gate array (FPGA)
1/30/2009
1/30/2009
MZ-SED
L4/40
Programmed interconnection
Input/output pin
Cell
Horizontal
tracks
Vertical tracks
1/30/2009
MZ-SED
L4/41
Vf VA
1
SRAM
0
SRAM
0
SRAM
1/30/2009
MZ-SED
L4/42
MZ
14
L4
1/30/2009
SRAM
1
VA VB To logic block
1/30/2009
MZ-SED
L4/43
Connect Box
Interconnect Point
1/30/2009
MZ-SED
L4/44
1/30/2009
MZ-SED
L4/45
MZ
15
L4
Hierarchical Mesh Network
1/30/2009
Use overlayed mesh to support longer connections Reduced fanout and reduced resistance
1/30/2009
MZ-SED
L4/46
To computer
1/30/2009
L4/47
Standard-Cell
x1 x2 x3
f2
f1
A section of two rows in a standard-cell chip Select specific devices and interconnection. Logic gates are standardized. CAD tools layout and route wires. Trade offs versus Programable Logic Devices: less area/less power/higher clock frequency.
MZ-SED
1/30/2009
L4/48
MZ
16
L4
Cell-based Design (or standard cells)
Feedthrough cell Logic cell
1/30/2009
Rows of cells
Routing channel
1/30/2009
MZ-SED
[Brodersen92]
1/30/2009
MZ-SED
L4/50
1/30/2009
MZ-SED
L4/51
MZ
17
L4
Sea-of-gates gate array
1/30/2009
1/30/2009
MZ-SED
L4/52
x1
x2
x3
1/30/2009
MZ-SED
L4/53
MZ
18