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