Transcript Document
Introduction to
CMOS VLSI
Design
CAMs, ROMs, and PLAs
Outline
Content-Addressable Memories
– used in Cache memory, TLB table for Virtual
memory
Read-Only Memories
Programmable Logic Arrays
CMOS VLSI Design
2
CAMs
Extension of ordinary memory (e.g. SRAM)
– Read and write memory as usual
– Also match to see which words contain a key
adr
data/key
read
CAM
match
write
CMOS VLSI Design
3
TLB
CMOS VLSI Design
4
10T CAM Cell
Add four match transistors to 6T SRAM
– 56 x 43 l unit cell
bit
bit_b
word
cell_b
cell
match
assume cell = 1, bit = 1
bit =1, cell_b = 0; match does not discharge
cell = 1, bit_b = 0; match does not discharge
The match remains high only if the key bit matches the bit stored at the cell
CMOS VLSI Design
5
CMOS VLSI Design
6
CAM Cell Operation
address
read/write
CMOS VLSI Design
CAM cell
clk
weak
miss
match0
row decoder
Read and write like ordinary SRAM
For matching:
– Leave wordline low
– Precharge matchlines
– Place key on bitlines
– Matchlines evaluate
Miss line
– Pseudo-nMOS NOR of match lines
– Goes high if no words match
match1
match2
match3
column circuitry
data
7
4 x 4 CAM Array
CAM cell
clk
miss
match0
row decoder
address
weak
match1
match2
match3
read/write
column circuitry
data
CMOS VLSI Design
8
Read-Only Memories
Read-Only Memories are nonvolatile
– Retain their contents when power is removed
Mask-programmed ROMs use one transistor per bit
– Presence or absence determines 1 or 0
CMOS VLSI Design
9
ROM Example
4-word x 6-bit ROM
– Represented with dot diagram
– Dots indicate 1’s in ROM
weak
pseudo-nMOS
pullups
A1 A0
Word 0: 010101
Word 1: 011001
Word 2: 100101
Word 3: 101010
word0
2:4
DEC
ROM Array
word3
Y5
Y4
Y3
Y2
Y1
Y0
Looks like 6 4-input pseudo-nMOS NORs
CMOS VLSI Design
10
PROMs and EPROMs
Programmable ROMs
– Build array with transistors at every site
– Burn out fuses to disable unwanted transistors
Electrically Programmable ROMs
– Use floating gate to turn off unwanted transistors
– EPROM, EEPROM, Flash
Source
Gate
Drain
Polysilicon
Floating Gate
Thin Gate Oxide
(SiO2)
n+
n+
p
CMOS VLSI Design
bulk Si
11
Building Logic with ROMs
Use ROM as lookup table containing truth table
– n inputs, k outputs requires __ words x __ bits
– Changing function is easy – reprogram ROM
Finite State Machine
– n inputs, k outputs, s bits of state
– Build with ________ bit ROM and ____ bit reg
inputs
n
ROM Array
2n wordlines
DEC
inputs
n ROM k
s
outputs
k
s
state
k outputs
CMOS VLSI Design
12
Building Logic with ROMs
Use ROM as lookup table containing truth table
– n inputs, k outputs requires 2n words x k bits
– Changing function is easy – reprogram ROM
Finite State Machine
– n inputs, k outputs, s bits of state
– Build with 2n+s x (k+s) bit ROM and (k+s) bit reg
inputs
n
ROM Array
2n wordlines
DEC
inputs
n ROM k
s
outputs
k
s
state
k outputs
CMOS VLSI Design
13
PLAs
A Programmable Logic Array performs any function
in sum-of-products form.
Literals: inputs & complements
Products / Minterms: AND of literals
Outputs: OR of Minterms
bc
AND Plane
OR Plane
Example: Full Adder
s abc abc abc abc
cout ab bc ac
a
b
Inputs
CMOS VLSI Design
c
s
Minterms
ac
ab
abc
abc
abc
abc
cout
Outputs
14
AND Plane
OR Plane
bc
ac
abc
Minterms
ab
abc
abc
abc
a
b
Inputs
CMOS VLSI Design
c
s
cout
Outputs
15
NOR-NOR PLAs
ANDs and ORs are not very efficient in CMOS
Dynamic or Pseudo-nMOS NORs are very efficient
Use DeMorgan’s Law to convert to all NORs
AND Plane
a
b
OR Plane
AND Plane
bc
bc
ac
ac
ab
ab
abc
abc
abc
abc
abc
abc
abc
abc
c
a
s
CMOS VLSI Design
OR Plane
cout
b
c
s
cout
16
PLA Schematic
AND Plane
OR Plane
bc
ac
ab
abc
abc
abc
abc
a
b
c
s
CMOS VLSI Design
cout
17
PLAs vs. ROMs
The OR plane of the PLA is like the ROM array
The AND plane of the PLA is like the ROM decoder
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
CMOS VLSI Design
18