Download Memory and Array Circuits - Circuits and Systems

Document related concepts

Electronic engineering wikipedia , lookup

Flexible electronics wikipedia , lookup

Random-access memory wikipedia , lookup

Transcript
Lecture 7
Memory and Array Circuits
Konstantinos Masselos
Department of Electrical & Electronic Engineering
Imperial College London
URL: http://cas.ee.ic.ac.uk/~kostas
E-mail: [email protected]
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 1
Based on slides/material by…
‹
J. Rabaey http://bwrc.eecs.berkeley.edu/Classes/IcBook/instructors.html
“Digital Integrated Circuits: A Design Perspective”, Prentice Hall
‹
D. Harris http://www.cmosvlsi.com/coursematerials.html
Weste and Harris, “CMOS VLSI Design: A Circuits and Systems
Perspective”, Addison Wesley
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 2
Recommended Reading
‹
J. Rabaey et. al. “Digital Integrated Circuits: A Design Perspective”:
Chapter 12
‹
Weste and Harris, “CMOS VLSI Design: A Circuits and Systems
Perspective”: Chapter 11
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 3
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 4
Semiconductor Memory Classification
RWM
Random
Access
Non-Random
Access
SRAM
FIFO
DRAM
LIFO
NVRWM
ROM
EPROM
Mask-Programmed
E 2 PROM
Programmable (PROM)
FLASH
Shift Register
CAM
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 5
Memory Arrays
Memory Arrays
Random Access Memory
Read/Write Memory
(RAM)
(Volatile)
Static RAM
(SRAM)
Dynamic RAM
(DRAM)
Mask ROM
Programmable
ROM
(PROM)
Memory and Array Circuits
Content Addressable Memory
(CAM)
Serial Access Memory
Read Only Memory
(ROM)
(Nonvolatile)
Shift Registers
Serial In
Parallel Out
(SIPO)
Erasable
Programmable
ROM
(EPROM)
Queues
Parallel In
Serial Out
(PISO)
Electrically
Erasable
Programmable
ROM
(EEPROM)
First In
First Out
(FIFO)
Last In
First Out
(LIFO)
Flash ROM
Introduction to Digital Integrated Circuit Design
Lecture 7 - 6
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 7
Memory Architecture: Decoders
M bits
N Words
S1
S2
S N-2
S N_ 1
S0
Word 0
Word 0
Word 1
Word 2
Storage
Cell
Word 1
A1
Word 2
A K -1
Word N-2
Word N-2
Word N-1
Word N-1
Input-Output
(M bits)
Input-Output
(M bits)
N words => N select signals
Too many select signals
Memory and Array Circuits
A0
Storage
Cell
Decoder
S0
M bits
Decoder reduces # of select signals
K = log 2 N
Introduction to Digital Integrated Circuit Design
Lecture 7 - 8
Array-Structured Memory Architecture
Problem: ASPECT RATIO or HEIGHT >> WIDTH
AK
AK+1
AL -1
Bit Line
Storage Cell
Row Decoder
2 L- K
Word Line
M.2 K
Sense Amplifiers / Drivers
A0
Column Decode r
A K -1
Amplify swing to
rail-to-rail am plitude
Selects appropriate
word
Input-Output
(M bits)
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 9
Hierarchical Memory Architecture
Row
Address
Column
Address
Block
Address
Global Data Bus
Control
Circuitry
Block Selector
Global
Am plifier/Driver
I/O
Advantages:
1. Shorter wires within blocks
2. Block address activates only 1 block => power savings
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 10
Memory Timing: Definitions
Read Cycle
READ
Read Access
Write Cycle
Read Access
WRITE
Write Access
Data Valid
DATA
Data Written
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 11
Memory Timing: Approaches
MSB
Address
Bus
LSB
Row Address Colum n Address
Address
Bus
RAS
Address
Address transition
initiate s memor y operation
CAS
RAS-CAS timing
DRAM Timing
Multiplexed Adressing
Memory and Array Circuits
SRAM Timing
Self-timed
Introduction to Digital Integrated Circuit Design
Lecture 7 - 12
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 13
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
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 14
ROM Example
‹
4-word x 6-bit ROM
Word 0: 010101
• Represented with dot diagram
• Dots indicate 1’s in ROM
weak
pseudo-nMOS
pullups
A1 A0
Word 1: 011001
Word 2: 100101
Word 3: 101010
2:4
DEC
ROM Array
Y5
Y4
Y3
Y2
Y1
Y0
Looks like 6 4-input pseudo-nMOS NORs
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 15
MOS NOR ROM
V DD
Pull-up devices
WL[0]
GND
WL[1]
WL[2]
GND
WL[3]
BL[0]
Memory and Array Circuits
BL[1]
BL[2]
BL[3]
Introduction to Digital Integrated Circuit Design
Lecture 7 - 16
MOS NOR ROM Layout
Metal1 on top of diffusion
WL[0]
G ND (diffusion)
WL[1]
Polysilicon
B asic cell
10 λ x 7 λ
WL[2]
M etal1
2λ
WL[3]
Only 1 layer (contact mask) is used to program memory array
Programming of the memory can be delayed to one of
last process steps
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 17
MOS NOR ROM Layout
BL[0]
BL[1]
BL[2]
BL[3]
Threshold raising
implant
WL[0]
Basic Cell
8.5 λ x 7 λ
GND (diffusion)
Metal1 over diffusion
WL[1]
Polysilicon
WL[2]
WL[3]
Threshold raising implants disable transistors
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 18
MOS NAND ROM
V DD
Pull-up devices
BL[0]
BL [1]
BL[2]
BL[3]
WL[0]
WL[1]
WL[2]
WL[3]
All word lines high by default with exception of selected row
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 19
MOS NAND ROM Layout
Diffusion
Polysilicon
Basic cell
5λx6λ
Threshold
lowering
implant
No contact to VDD or GND necessary;
drastically reduced cell size
Loss in performance compared to NOR ROM
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 20
Precharged MOS NOR ROM
VD D
φ p re
Precharge devices
WL[0]
GND
WL[1]
WL[2]
GND
WL[3]
BL[0] BL[1]
BL[2] BL[3]
PMOS precharge device can be made as large as necessary,
but clock driver becomes harder to design.
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 21
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
state
k outputs
Memory and Array Circuits
outputs
k
s
Introduction to Digital Integrated Circuit Design
Lecture 7 - 22
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 23
Nonvolatile Read-Write Memories (NVRW)
‹
Architecture virtually identical to the ROM structure
• the memory core consists of an array of transistors placed on a word-line/bitline grid
‹
The memory is programmed by selectively disabling or enabling some of
those devices
• in a ROM this is accomplished by mask level alterations
• in a NVRW memory a modified transistor that permits its threshold to be
altered electrically is used instead – the modified threshold is retained
indefinitely (or long) even when the supply voltage is turned off
‹
To reprogram the memory the programmed values must be erased after
which a new programming round can be started
• The method of erasing is the main differentiating factor between the various
classes of reprogrammable non volatile memories
• The programming of the memory is typically an order of magnitude slower
than the reading operation
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 24
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
Memory and Array Circuits
bulk Si
Introduction to Digital Integrated Circuit Design
Lecture 7 - 25
Floating-gate transistor (FAMOS)
Floating gate
Gate
D
Drain
Source
tox
G
tox
p
+
n
S
+
n
Substrate
(a) Device cross-section
Memory and Array Circuits
(b) Schematic symbol
Introduction to Digital Integrated Circuit Design
Lecture 7 - 26
Floating-Gate Transistor Programming
20 V
0V
20 V
10 V→ 5 V
S
D
Avalanche injection.
Memory and Array Circuits
−5 V
S
5V
0V
− 2.5 V
S
D
R emoving programm ing voltage
leaves charge trapped.
5V
D
Programm ing results in
higher V T .
Introduction to Digital Integrated Circuit Design
Lecture 7 - 27
Characteristics of Non Volatile Memories
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 28
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 29
Read-Write Memories (RAM)
• STATIC (SRAM)
Data stored as long as supply is applied
Large (6 transistors/cell)
Fast
Differential
• DYNAMIC (DRAM)
Periodic refresh required
Small (1-3 transistors/cell)
Slower
Single Ended
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 30
6-transistor CMOS SRAM Cell
WL
V DD
M2
M4
Q
M6
Q
M5
M1
M3
BL
Memory and Array Circuits
BL
Introduction to Digital Integrated Circuit Design
Lecture 7 - 31
SRAM Read/Write
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 32
CMOS SRAM Analysis (Read)
‹
‹
‹
‹
Precharge both bitlines high
Then turn on wordline
One of the two bitlines will be pulled down by the cell
Ex: A = 0, A_b = 1
bit
• bit discharges, bit_b stays high
• But A bumps up slightly
‹
bit_b
word
P1 P2
N2
Read stability
A
• A must not flip
• N1 >> N2
N4
A_b
N1 N3
A_b
bit_b
1.5
1.0
bit
word
0.5
A
0.0
0
Memory and Array Circuits
100
Introduction to Digital Integrated Circuit Design
200
300
time (ps)
400
500
600
Lecture 7 - 33
CMOS SRAM Analysis (Write)
‹
‹
‹
‹
Drive one bitline high, the other low
Then turn on wordline
Bitlines overpower cell with new value
Ex: A = 0, A_b = 1, bit = 1, bit_b = 0
• Force A_b low, then A rises high
‹
bit_b
bit
word
P1 P2
N2
Writability
A
• Must overpower feedback inverter
• N2 >> P1
N4
A_b
N1 N3
A_b
A
1.5
bit_b
1.0
0.5
word
0.0
0
100
200
300
400
500
600
700
time (ps)
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 34
SRAM Sizing
‹
‹
High bitlines must not overpower inverters during reads
But low bitlines must write new value into cell
bit_b
bit
word
weak
med
med
A_b
A
strong
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 35
6T-SRAM — Layout
VDD
M2
M4
Q
Q
M1
M3
GND
M5
M6
BL
Memory and Array Circuits
WL
BL
Introduction to Digital Integrated Circuit Design
Lecture 7 - 36
Resistance-load SRAM Cell
WL
VD D
RL
RL
Q
Q
M3
BL
M4
M1
M2
BL
Static power dissipation -- Want R L large
Bit lines precharged to V DD to address t p problem
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 37
Multiple Ports
‹
We have considered single-ported SRAM
• One read or one write on each cycle
‹
‹
Multiported SRAM are needed for register files
Examples:
• Multicycle MIPS must read two sources or write a result on some cycles
• Pipelined MIPS must read two sources and write a third result each cycle
• Superscalar MIPS must read and write many sources and results each cycle
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 38
Dual-Ported SRAM
‹
Simple dual-ported SRAM
• Two independent single-ended reads
• Or one differential write
bit
bit_b
wordA
wordB
‹
Do two reads and one write by time multiplexing
• Read during ph1, write during ph2
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 39
True dual port SRAM
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 40
Multi-Ported SRAM
‹
‹
‹
Adding more access transistors hurts read stability
Multiported SRAM isolates reads from state node
Single-ended design minimizes number of bitlines
bA bB bC
bD bE bF bG
wordA
wordB
wordC
wordD
wordE
wordF
wordG
write
circuits
read
circuits
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 41
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 42
3-Transistor DRAM Cell
BL1
BL2
WWL
WWL
RWL
RWL
M3
X
M1
X
M2
V DD -V T
BL1
V DD
BL2
V DD -V T
CS
ΔV
No constraints on device ratios
Reads are non-destructive
Value stored at node X when writing a “1” = VW W L -V T n
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 43
3T-DRAM — Layout
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 44
1-Transistor DRAM Cell
BL
WL
Write "1"
R ead "1"
WL
M1
CS
X
V DD − V T
GN D
VD D
BL
C BL
V D D /2
sensing
V DD /2
Write: C S is charged or discharged by asserting WL and BL.
Read: Charge redistribution takes places between bit line and storage capacitance
CS
Δ V = V B L – V PR E = ( V B I T – V PR E ) -----------------------C +C
S
BL
Voltage swing is small; typically around 250 mV.
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 45
DRAM Cell Observations
1T DRAM requires a sense amplifier for each bit line, due to
charge redistribution read-out.
DRAM memory cells are single ended in contrast to SRAM cells.
The read-out of the 1T DRAM cell is destructive; read and
refresh operations are necessary for correct operation.
Unlike 3T cell, 1T cell requires presence of an extra capacitance
that must be explicitly included in the design.
When writing a “1” into a DRAM cell, a threshold voltage is lost.
This charge loss can be circumvented by bootstrapping the
word lines to a higher value than V D D .
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 46
1-T DRAM Cell
Capacitor
Metal word line
M1 word
line
SiO2
poly
n+
Field Oxide
n+
poly
Inversion layer
induced by
plate bias
Diffused
bit line
Polysilicon
Polysilicon
plate
gate
(a) Cross-section
(b) Layout
Used Polysilicon-Diffusion Capacitance
Expensive in Area
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 47
Advanced 1T DRAM Cells
Word line
Insulating Layer
Cell plate
Capacitor dielectric layer
Cell Plate Si
Capacitor Insulator
Transfer gate
Refilling Poly
Isolation
Storage electrode
Storage Node Poly
Si Substrate
2nd Field Oxide
Trench Cell
Memory and Array Circuits
Stacked-capacitor Cell
Introduction to Digital Integrated Circuit Design
Lecture 7 - 48
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 49
Periphery
‹
Decoders
‹
Sense amplifiers
‹
Input/output buffers
‹
Control/timing circuit
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 50
Row Decoders
Collection of 2M complex logic gates
Organized in regular and dense fashion
(N)AND Decoder
NOR Decoder
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 51
A NAND Decoder using 2-input Pre-Decoders
WL 1
WL 0
A 0A 1 A 0 A 1 A 0 A 1 A 0A 1
A1 A 0
A0
A1
A 2A 3 A 2 A 3 A 2 A 3 A 2 A 3
A3 A2
A2
A3
Splitting decoder into two or more logic layers
produces a faster and cheaper implementation
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 52
Dynamic Decoders
Precharge devices
GND
GND
VDD
WL 3
WL 3
VDD
WL 2
VDD
WL 1
WL 2
WL 1
VDD
WL 0
VDD φ
A0
A0
A1
A1
Dynamic 2-to-4 NOR decoder
WL 0
A0
A0
A1
A1
φ
2-to-4 MOS dynamic NAND Decoder
Propagation delay is primary concern
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 53
4 input Pass-Transistor based Column Decoder
A0
A1
2 input NOR decoder
BL 0
BL 1
BL 2
BL 3
S0
S1
S2
S3
D
Advantage: speed (t pd does not add to overall memory access time)
only 1 extra transistor in signal path
Disadvantage: large transistor count
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 54
4-to-1 Tree based Column Decoder
BL 0
BL 1
BL 2
BL 3
A0
A0
A1
A1
D
Number of devices drastically reduced
Delay increases quadratically with # of sections; prohibitive for large decoders
Solutions: buffers
progressive sizing
combination of tree and pass transistor approaches
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 55
Decoder for Circular Shift-Register
V DD
V DD
V DD
WL 0
V DD
V DD
WL 1
φ
φ
V DD
WL 2
φ
φ
φ
φ
...
R
φ
φ
R
φ
φ
R
φ
φ
V DD
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 56
Sense Amplifiers
make ΔV as small
as possible
C ⋅ ΔV
tp = ---------------Iav
large
small
Idea: Use Sense Amplifer
small
transition
s.a.
input
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
output
Lecture 7 - 57
Differential Sensing - SRAM
VDD
V DD
BL
PC
VDD
EQ
VDD
y M3
BL
M1
x
SE
WLi
M4
M2
y
x x
x
M5
SE
(b) Doubled-ended Current Mirror Amplifier
VDD
SRAM cell i
y
Diff.
x Sense x
Amp
y
y
D
D
x
x
SE
(a) SRAM sensing scheme.
Memory and Array Circuits
y
(c) Cross-Coupled Amplifier
Introduction to Digital Integrated Circuit Design
Lecture 7 - 58
Latch-Based Sense Amplifier
EQ
BL
BL
VD D
SE
SE
Initialized in its meta-stable point with EQ
Once adequate voltage gap created, sense amp enabled with SE
Positive feedback quickly forces output to a stable operating point.
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 59
Single-to-Differential Conversion
WL
BL
x Diff.
x
+
_
S.A.
cell
y
V re f
y
How to make good V ref?
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 60
Open Bitline Architecture
EQ
L1
R
R0
L0
R1
L
VDD
SE
BLL
CS
...
CS
BLR
CS
SE
CS
dum my
cell
Memory and Array Circuits
...
CS
CS
dummy
cell
Introduction to Digital Integrated Circuit Design
Lecture 7 - 61
DRAM Read Process with Dummy Cell
V (Volt)
6.0
4.0
BL
2.0
BL
5.0
1
2
3
t (nsec)
(a) reading a zero
4
5
6.0
4.0
V (Volt)
0.0 0
SE
3.0
2.0
EQ
1.0
0.00
V (Volt)
WL
4.0
1
2
3
4
5
(c) control signals
BL
2.0
0.0 0
BL
1
2
3
t (nsec)
4
5
(b) reading a one
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 62
Single-Ended Cascode Amplifier
VDD
V cas c
WLC
WL
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 63
DRAM Timing
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 64
Address Transition Detection
V DD
A0
DELAY
td
A1
DELAY
td
ATD
A TD
...
A N-1
Memory and Array Circuits
DELAY
td
Introduction to Digital Integrated Circuit Design
Lecture 7 - 65
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 66
Content Addressable Memories (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
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 67
CAM Cell Operation
‹
‹
Read and write like ordinary SRAM
For matching:
‹
Leave wordline low
Precharge matchlines
Place key on bitlines
Matchlines evaluate
CAM cell
clk
address
Miss line
• Pseudo-nMOS NOR of match lines
• Goes high if no words match
weak
miss
match0
row decoder
•
•
•
•
match1
match2
match3
read/write
column circuitry
data
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 68
10T CAM Cell
‹
Add four match transistors to 6T SRAM
bit
bit_b
word
cell_b
cell
match
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 69
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 70
Serial Access Memories
‹
Serial access memories do not use an address
•
•
•
•
•
Shift Registers
Tapped Delay Lines
Serial In Parallel Out (SIPO)
Parallel In Serial Out (PISO)
Queues (FIFO, LIFO)
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 71
Shift Register
‹
‹
Shift registers store and delay data
Simple design: cascade of registers
• Watch your hold times!
clk
Din
Dout
8
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 72
Denser Shift Registers
‹
‹
‹
Flip-flops aren’t very area-efficient
For large shift registers, keep data in SRAM instead
Move read/write pointers to RAM rather than data
• Initialize read address to first entry, write to last
• Increment address on each cycle
Din
clk
counter
counter
00...00
readaddr
11...11
reset
Memory and Array Circuits
writeaddr
dual-ported
SRAM
Dout
Introduction to Digital Integrated Circuit Design
Lecture 7 - 73
Tapped Delay Line
‹
‹
A tapped delay line is a shift register with a programmable number of
stages
Set number of stages with delay controls to mux
• Ex: 0 – 63 stages of delay
clk
delay2
SR1
delay3
SR2
Memory and Array Circuits
delay4
SR4
delay5
SR8
SR16
SR32
Din
delay1
Introduction to Digital Integrated Circuit Design
Dout
delay0
Lecture 7 - 74
Serial In Parallel Out
‹
1-bit shift register reads in serial data
• After N steps, presents N-bit parallel output
clk
Sin
P0
Memory and Array Circuits
P1
P2
Introduction to Digital Integrated Circuit Design
P3
Lecture 7 - 75
Parallel In Serial Out
‹
Load all N bits in parallel when shift = 0
• Then shift one bit out per cycle
P0
P1
P2
P3
shift/load
clk
Sout
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 76
Queues
‹
‹
‹
‹
Queues allow data to be read and written at different rates.
Read and write each use their own clock, data
Queue indicates whether it is full or empty
Build with SRAM and read/write counters (pointers)
ReadClk
WriteClk
WriteData
Queue
EMPTY
FULL
Memory and Array Circuits
ReadData
Introduction to Digital Integrated Circuit Design
Lecture 7 - 77
FIFO, LIFO Queues
‹
First In First Out (FIFO)
•
•
•
•
•
‹
Initialize read and write pointers to first element
Queue is EMPTY
On write, increment write pointer
If write almost catches read, Queue is FULL
On read, increment read pointer
Last In First Out (LIFO)
• Also called a stack
• Use a single stack pointer for read and write
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 78
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Arrays
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 79
Programmable Logic Array
Pr oduct Terms
x0x1
x2
A ND
PLA NE
OR
PLA NE
f0
x0
Memory and Array Circuits
x1
f1
x2
Introduction to Digital Integrated Circuit Design
Lecture 7 - 80
PLAs
‹
‹
‹
‹
A Programmable Logic Array performs any function in sum-of-products
form.
Literals: inputs & complements
AND Plane
OR Plane
Products / Minterms: AND of literals
Outputs: OR of Minterms
bc
ac
ab
Example: Full Adder
abc
abc
s = abc + abc + abc + abc
abc
abc
cout = ab + bc + ac
a
b
c
Inputs
Memory and Array Circuits
Minterms
‹
Introduction to Digital Integrated Circuit Design
s
cout
Outputs
Lecture 7 - 81
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
OR Plane
bc
bc
ac
ab
abc
abc
abc
abc
ac
ab
abc
abc
abc
abc
c
a
s
Memory and Array Circuits
AND Plane
b
c
cout
Introduction to Digital Integrated Circuit Design
s
cout
Lecture 7 - 82
Pseudo-Static PLA
GND
GND
GND
VD D
GND
GND
GND
GND
VDD
x0
x0
x1
x1
x2
x2
f0
AND-PLANE
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
f1
OR-PLANE
Lecture 7 - 83
PLA Schematic & Layout
AND Plane
OR Plane
bc
ac
ab
abc
abc
abc
abc
a
b
c
s
Memory and Array Circuits
cout
Introduction to Digital Integrated Circuit Design
Lecture 7 - 84
Dynamic PLA
φ A ND
VDD
GND
φ OR
φO R
φAND
V DD
x0
x0
x1
x1
AND-PLANE
Memory and Array Circuits
x2
x2
f0
f1
GND
O R-PLANE
Introduction to Digital Integrated Circuit Design
Lecture 7 - 85
Clock Signal Generation for self-timed dynamic PLA
φ
φ AN D
φ
Dummy AND Row
φAN D
φAN D
Dummy AND Row
φOR
φOR
(a) Clock signals
Memory and Array Circuits
(b) Timing generation circuitry.
Introduction to Digital Integrated Circuit Design
Lecture 7 - 86
PLA Layout
V DD
And-Plane
x0 x0 x1 x1 x2 x2
Pull-up devices
Memory and Array Circuits
Or-Plane
φ
GND
f0 f1
Pull-up devices
Introduction to Digital Integrated Circuit Design
Lecture 7 - 87
PLA versus ROM
Programmable Logic Array
structured approach to random logic
“two level logic implementation”
NOR-NOR (product of sums)
NAND-NAND (sum of products)
IDENTICAL TO ROM!
Main difference
ROM: fully populated
PLA: one element per minterm
Note: Importance of PLA’s has drastically reduced
1. slow
2. better software techniques (mutli-level logic
synthesis)
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 88
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Serial access memories
Content Addressable Memory (CAM)
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 89
Reliability and Yield
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 90
Open Bit-line Architecture —Cross Coupling
EQ
WL1
WL0
WLD
CWBL
WLD
WL0
CWBL
WL1
BL
BL
Sense
CBL
C
Memory and Array Circuits
C
C
Amplifier
CBL
C
C
Introduction to Digital Integrated Circuit Design
C
Lecture 7 - 91
Folded-Bitline Architecture
WL1
BL
WLD
WL0 WL0
CWBL
WLD
CBL
...
BL
WL1
C
y
x
C
C
C
C
Sense
C
EQ Amplifier
x
CBL
y
CWBL
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 92
Transposed-Bitline Architecture
BL’
Ccross
BL
SA
BL
BL"
(a) Straightforward bitline routing.
BL’
BL
Ccross
SA
BL
BL"
(b) Transposed bitline architecture.
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 93
Yield
Yield curves at different stages of process maturity
(from [Veendrick92])
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 94
Redundancy
Row
Address
Redundant
rows
:
Fuse
Bank
Memory
Array
Column Decoder
Memory and Array Circuits
Row Decoder
Redundant
columns
Column
Address
Introduction to Digital Integrated Circuit Design
Lecture 7 - 95
Redundancy and Error Correction
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 96
Outline
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Serial access memories
Content Addressable Memory (CAM)
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 97
Semiconductor Memory Trends
Memory Size as a function of time: x 4 every three years
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 98
Semiconductor Memory Trends
Increasing die size
factor 1.5 per generation
Combined with reducing cell size
factor 2.6 per generation
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 99
Semiconductor Memory Trends
Technology feature size for different SRAM generations
Memory and Array Circuits
Introduction to Digital Integrated Circuit Design
Lecture 7 - 100