lecture 14: cams, roms, and plas
TRANSCRIPT
Introduction toCMOS VLSI
Design
Lecture 14: CAMs, ROMs, and PLAs
David Harris
Harvey Mudd CollegeSpring 2004
14: CAMs, ROMs, and PLAs Slide 2CMOS VLSI Design
Outlineq Content-Addressable Memoriesq Read-Only Memoriesq Programmable Logic Arrays
14: CAMs, ROMs, and PLAs Slide 3CMOS VLSI Design
CAMsq Extension of ordinary memory (e.g. SRAM)
– Read and write memory as usual– Also match to see which words contain a key
CAM
adr data/key
matchread
write
14: CAMs, ROMs, and PLAs Slide 4CMOS VLSI Design
10T CAM Cellq Add four match transistors to 6T SRAM
– 56 x 43 λ unit cell
bit bit_b
word
match
cell
cell_b
14: CAMs, ROMs, and PLAs Slide 5CMOS VLSI Design
CAM Cell Operationq Read and write like ordinary SRAMq For matching:
– Leave wordline low– Precharge matchlines– Place key on bitlines– Matchlines evaluate
q Miss line– Pseudo-nMOS NOR of match lines– Goes high if no words match
row decoder
weak
missmatch0
match1
match2
match3
clk
column circuitry
CAM cell
address
data
read/write
14: CAMs, ROMs, and PLAs Slide 6CMOS VLSI Design
Read-Only Memoriesq Read-Only Memories are nonvolatile
– Retain their contents when power is removedq Mask-programmed ROMs use one transistor per bit
– Presence or absence determines 1 or 0
14: CAMs, ROMs, and PLAs Slide 7CMOS VLSI Design
ROM Exampleq 4-word x 6-bit ROM
– Represented with dot diagram– Dots indicate 1’s in ROM
Word 0: 010101
Word 1: 011001
Word 2: 100101
Word 3: 101010
ROM Array
2:4DEC
A0A1
Y0Y1Y2Y3Y4Y5
weakpseudo-nMOS
pullups
Looks like 6 4-input pseudo-nMOS NORs
14: CAMs, ROMs, and PLAs Slide 8CMOS VLSI Design
ROM Array Layoutq Unit cell is 12 x 8 λ (about 1/10 size of SRAM)
UnitCell
14: CAMs, ROMs, and PLAs Slide 9CMOS VLSI Design
Row Decodersq ROM row decoders must pitch-match with ROM
– Only a single track per word!
14: CAMs, ROMs, and PLAs Slide 10CMOS VLSI Design
Complete ROM Layout
14: CAMs, ROMs, and PLAs Slide 11CMOS VLSI Design
PROMs and EPROMsq Programmable ROMs
– Build array with transistors at every site– Burn out fuses to disable unwanted transistors
q Electrically Programmable ROMs– Use floating gate to turn off unwanted transistors– EPROM, EEPROM, Flash
n+
p
GateSource Drain
bulk Si
Thin Gate Oxide(SiO2)
n+
PolysiliconFloating Gate
14: CAMs, ROMs, and PLAs Slide 12CMOS VLSI Design
Building Logic with ROMsq Use ROM as lookup table containing truth table
– n inputs, k outputs requires __ words x __ bits– Changing function is easy – reprogram ROM
q Finite State Machine– n inputs, k outputs, s bits of state– Build with ________ bit ROM and ____ bit regn
inputs
2n w
ordlines
ROM Array
k outputs
DE
C ROM
inputs outputs
state
n ks
ks
14: CAMs, ROMs, and PLAs Slide 13CMOS VLSI Design
Building Logic with ROMsq Use ROM as lookup table containing truth table
– n inputs, k outputs requires 2n words x k bits– Changing function is easy – reprogram ROM
q Finite State Machine– n inputs, k outputs, s bits of state– Build with 2n+s x (k+s) bit ROM and (k+s) bit regn
inputs
2n w
ordlines
ROM Array
k outputs
DE
C ROM
inputs outputs
state
n ks
ks
14: CAMs, ROMs, and PLAs Slide 14CMOS VLSI Design
Example: RoboAntLet’s build an Ant
Sensors: Antennae(L,R) – 1 when in contact
Actuators: LegsForward step FTen degree turns TL, TR
Goal: make our ant smart enough to get out of a maze
Strategy: keep right antenna on wall
(RoboAnt adapted from MIT 6.004 2002 OpenCourseWare by Ward and Terman)
L R
14: CAMs, ROMs, and PLAs Slide 15CMOS VLSI Design
Lost in space
q Action: go forward until we hit something– Initial state
14: CAMs, ROMs, and PLAs Slide 16CMOS VLSI Design
Bonk!!!
q Action: turn left (rotate counterclockwise)– Until we don’t touch anymore
14: CAMs, ROMs, and PLAs Slide 17CMOS VLSI Design
A little to the right
q Action: step forward and turn right a little– Looking for wall
14: CAMs, ROMs, and PLAs Slide 18CMOS VLSI Design
Then a little to the right
q Action: step and turn left a little, until not touching
14: CAMs, ROMs, and PLAs Slide 19CMOS VLSI Design
Whoops – a corner!
q Action: step and turn right until hitting next wall
14: CAMs, ROMs, and PLAs Slide 20CMOS VLSI Design
Simplificationq Merge equivalent states where possible
14: CAMs, ROMs, and PLAs Slide 21CMOS VLSI Design
State Transition Table
11011101111010001111001X111101111X10101100X1001010000101001100101001X10110001100010001X100100000000FTLTRS1:0’RLS1:0
Lost
RCCW
Wall1
Wall2
14: CAMs, ROMs, and PLAs Slide 22CMOS VLSI Design
ROM Implementationq 16-word x 5 bit ROM
ROML, R
S1:0
TL, TR, F
S'1:0
S1' S0' TR'TL' F'
0000000100100011010001010110011110001001101010111100110111101111
4:16 DE
C
S1 S0 L R
14: CAMs, ROMs, and PLAs Slide 23CMOS VLSI Design
ROM Implementationq 16-word x 5 bit ROM
ROML, R
S1:0
TL, TR, F
S'1:0
S1' S0' TR'TL' F'
0000000100100011010001010110011110001001101010111100110111101111
4:16 DE
C
S1 S0 L R
14: CAMs, ROMs, and PLAs Slide 24CMOS VLSI Design
PLAsq A Programmable Logic Array performs any function
in sum-of-products form.q Literals: inputs & complementsq Products / Minterms: AND of literalsq Outputs: OR of Minterms
q Example: Full Adder
out
s abc abc abc abcc ab bc ac
= + + += + +
AND Plane OR Plane
abcabcabcabcab
bcac
sa b coutc
Minterm
s
Inputs Outputs
14: CAMs, ROMs, and PLAs Slide 25CMOS VLSI Design
NOR-NOR PLAsq ANDs and ORs are not very efficient in CMOSq Dynamic or Pseudo-nMOS NORs are very efficientq Use DeMorgan’s Law to convert to all NORs
AND Plane OR Plane
abcabcabcabcab
bcac
sa b c
outc
AND Plane OR Plane
abcabcabcabcab
bcac
sa b c
outc
14: CAMs, ROMs, and PLAs Slide 26CMOS VLSI Design
PLA Schematic & LayoutAND Plane OR Plane
abcabcabcabcab
bcac
sa b c
outc
14: CAMs, ROMs, and PLAs Slide 27CMOS VLSI Design
PLAs vs. ROMsq The OR plane of the PLA is like the ROM arrayq The AND plane of the PLA is like the ROM decoderq PLAs are more flexible than ROMs
– No need to have 2n rows for n inputs– Only generate the minterms that are needed– Take advantage of logic simplification
14: CAMs, ROMs, and PLAs Slide 28CMOS VLSI Design
Example: RoboAnt PLAq Convert state transition table to logic equations
11011101111010001111001X111101111X10101100X1001010000101001100101001X10110001100010001X100100000000FTLTRS1:0’RLS1:0
1 0
0
1 0
TR S S
TL S
F S S
=
=
= +
14: CAMs, ROMs, and PLAs Slide 29CMOS VLSI Design
RoboAnt Dot DiagramAND Plane OR Plane
1 0S S1
LS0LRS
R1
LS
0S
0LS
1 'S1S 0S L
0 'S TR TL FR
1S0S1 0 1 0
1 0
1 0
0
1 0
1'
0 '
S S S LS LRS
S R LS LS
TR S S
TL S
F S S
= + +
= + +
=
=
= +
14: CAMs, ROMs, and PLAs Slide 30CMOS VLSI Design
RoboAnt Dot DiagramAND Plane OR Plane
1 0S S1
LS0LRS
R1
LS
0S
0LS
1 'S1S 0S L
0 'S TR TL FR
1S0S1 0 1 0
1 0
1 0
0
1 0
1'
0 '
S S S LS LRS
S R LS LS
TR S S
TL S
F S S
= + +
= + +
=
=
= +