Dic Lec 28 Arrays1 v014
Dic Lec 28 Arrays1 v014
م
8 March 2020 1441 رجب13
َ ُْ ََ
Digital IC Design
Lecture 28
Memory Arrays (1)
write_b
read
read_b
❑ Write
▪ Drive data onto bit, bit_b
▪ Raise wordline
❑ Main design challenge
▪ Be weak enough to be overpowered during a write
▪ Yet strong enough not to be disturbed during a read
A
0.0
0 100 200 300 400 500 600
28: Memory Arrays (1) time (ps) 12
SRAM Write
❑ Drive one bitline high, the other low bit bit_b
❑ Then turn on wordline word
❑ Bitlines overpower cell with new value P1 P2
N2 N4
❑ Ex: A = 0, A_b = 1, bit = 1, bit_b = 0
A A_b
▪ Force A_b low, then A rises high N1 N3
❑ Writability
▪ Must overpower feedback inverter A_b
0.5
word
0.0
0 100 200 300 400 500 600 700
time (ps)
28: Memory Arrays (1) 13
SRAM Sizing
❑ Readability
▪ PD >> Access
❑ Writability
▪ Access >> PU
❑ High bitlines must not overpower inverters during reads
❑ But low bitlines must write new value into cell
bit bit_b
word
Weak
P1 P2
N2 N4
Med A A_b
Strong N1 N3
bit_b_v1f
bit_b_v1f
bit_v1f
bit_v1f
SRAM Cell
SRAM Cell
H H write_q1
out_b_v1r out_v1r
data_s1
1
2
word_q1
bit_v1f
out_v1r
28: Memory Arrays (1) 15
SRAM Layout
❑ Cell size is critical: 26 x 45 l (even smaller in industry)
❑ Tile cells sharing VDD, GND, bitline contacts
VDD
WORD
Cell boundary
word0 word0
word1 word1
word2 word2
word3 word3
A3 A3 A2 A2 A1 A1 A0 A0
VDD
word
GND
word0
word1
word2
word3
word15
▪ Saves area A1
predecoders
1 of 4 hot
predecoded lines
word0
word1
word2
word3
word15
bit bit_b
bit bit_b
bit bit_b
word
P1 P2
N2 N4
A A_b
N1 N3
❑ The bitline has 256 cells attached, but pairs of cells are mirrored to share a bitline, so the
diffusion capacitance is 128C.
❑ Wire capacitance is comparable, so the total capacitance is 256C.
❑ The bitline is pulled down through the driver and access transistors in series, with a total
resistance of 2R.
❑ Therefore, the delay is 512RC, or 34.1 FO4 inverter delays.
❑ This is unacceptably large for many applications.
P1 P2
sense_b sense
bit N1 N2 bit_b
N3
bit bit_b
sense_clk isolation
transistors
regenerative
feedback
sense sense_b
B0 B1 B2 B3 B4 B5 B6 B7 B0 B1 B2 B3 B4 B5 B6 B7
A0
A0
A1
A1
A2
A2
Y Y
to sense amps and write circuits
A1 A0
B0 B1 B2 B3
2
More More
Cells Cells
word_q1
A0
A0
write0_q1 2 write1_q1
data_v1
28: Memory Arrays (1) 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
[Shin05]
adr data/key
read
CAM match
write
cell_b
cell
cell_b
match
row decoder
address match0
▪ Matchlines evaluate
match2
❑ Miss line
match3
▪ Pseudo-nMOS NOR of match lines read/write column circuitry
clk
Din Dout
8
readaddr
00...00 counter
dual-ported
counter SRAM
writeaddr
11...11
reset
Dout
clk
SR32
SR16
SR8
SR4
SR2
SR1
Din Dout
clk
Sin
P0 P1 P2 P3
P0 P1 P2 P3
shift/load
clk
Sout
WriteClk ReadClk
FULL EMPTY