eecs 151/251a spring 2019 digital design and integrated circuitseecs151/sp19/files/lec16-ram.pdf ·...

42
EE141 EECS 151/251A Spring 2019 Digital Design and Integrated Circuits Instructor: John Wawrzynek Lecture 16

Upload: others

Post on 17-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

EECS 151/251ASpring2019 DigitalDesignandIntegratedCircuits

Instructor:JohnWawrzynek

Lecture 16

Page 2: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141 2

Memory Circuits

Page 3: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

General Latch Design

Page 4: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Storage principles• Hardwired (Read-only-memory- ROM) • Programmable

• Volatile • Feedback to hold state while power is on

• Non-volatile • Persistent state without power supplied

4

Page 5: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Volatile Storage Mechanisms

D

CLK

CLK

Q

Dynamic - chargeStatic - feedback

D D

5

Page 6: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Basic Static Storage Element

D D

▪ If D is high, D_b will be driven low - Which makes D stay high

▪ Positive feedback ▪ Tolerant to noise and other small disturbances

6

Page 7: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

A Static Latch

D

Enable

Access transistor must be able to overpower the feedback.

7

Page 8: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Addressing the write problem

8

Implemented with a MUX.

Use the clock as a decoupling signal, that distinguishes between the transparent and opaque states

clk’

clk

clk

clk’

Page 9: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141 9

Memories

Page 10: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Semiconductor Memory Classification

Read-Write MemoryNon-Volatile Read-Write

MemoryRead-Only Memory

EPROM

E2PROM

FLASH

RandomAccess

Non-RandomAccess

SRAM

DRAM

Mask-Programmed

Programmable (PROM)

FIFO

Shift Register

CAM

LIFO

Page 11: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Storage Mechanisms

D

CLK

CLK

Q

Dynamic (DRAM)Static (SRAM)

D D

11

C

Page 12: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Memory Architecture Overview

12

❑ Word lines used to select a row for reading or writing

❑ Bit lines carry data to/from periphery

❑ Core aspect ratio keep close to 1 to help balance delay on word line versus bit line

❑ Address bits are divided between the two decoders

❑ Row decoder used to select word line

❑ Column decoder used to select one or more columns for input/output of data

Page 13: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Memory - SRAM

Page 14: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Memory CellsComplementary data values are written (read) from two sides

D

Enable

D

Enable

D

14

WL2

WL0

WL3

BLBL_B

WL2

WL0

WL3

BLBL_B

Cells stacked in 2D to form memory core.

WL2

WL0

WL3

BLBL_B

Page 15: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

SRAM read/write operations

15

Page 16: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

WL

BL

VDD

M5 M6

M4

M1

M2

M3

BL

QQ

6-Transistor CMOS SRAM Cell

16

Page 17: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

SRAM Operation - Read

BL

WL

BL10

During read Q will get pulled up when WL first goes high, but …

• Reading the cell should not destroy the stored value

17

1. Bit lines are “pre-charged” to VDD 2. Word line is driven high (pre-charger is turned off) 3. Cell pulls-down one bit line 4. Differential sensing circuit on periphery is activated to capture value on bit lines.

Q

Page 18: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

WL

BLVDD

M 5M 6

M 4

M1 VDDVDD VDD

BL

Q = 1Q = 0

Cbit Cbit

CMOS SRAM Analysis (Read)

18

Page 19: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

SRAM Operation - Write

BL

WL

BL1-0 0-1

For successful write the access transistor needs to overpower the cell pullup

19

1. Column driver circuit on periphery differentially drives the bit lines

2. Word line is driven high (column driver stays on) 3. One side of cell is driven low, flips the other side

Q_b

Page 20: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

CMOS SRAM Analysis (Write)

BL = 1 BL = 0

Q = 0Q = 1

M1

M4

M5M6

VDD

VDD

WL

20

Size width ratio between PMOS pull-up and NMOS access

W4 /L4

W6 /L6

Page 21: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

6T-SRAM — Layout

VDD

GND

WL

BL BLB

VDD and GND: in M1 Bitlines: M2 Wordline: poly-silicon

Page 22: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

65nm SRAM

❑ ST/Philips/Motorola

Access Transistor

Pull down Pull up

Page 23: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Memory Periphery

Page 24: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Periphery

❑ Decoders ❑ Sense Amplifiers ❑ Input/Output Buffers ❑ Control / Timing Circuitry

24

Page 25: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Row Decoder • Expands L-K address lines into 2L-K word lines

25

❑ Example: decoder for 8Kx8 memory block ❑ core arranged as

256x256 cells ❑ Need 256 AND gates,

each driving one word line

Page 26: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Row Decoders

Collection of 2K logic gates, but need to be dense and fast.

(N)AND Decoder

NOR Decoder

26

Page 27: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Predecoders❑ Use a single gate for

each of the shared terms ▪ E.g., from

generate four signals: ▪

❑ In other words, we are decoding smaller groups of address bits first ▪ And using the

“predecoded” outputs to do the rest of the decoding

27

a5 a4 a3 a2 a1 a0

a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0

a5 a4 a3 a2 a1 a0

a5 a4 a3 a2 a1 a0

a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0a5 a4 a3 a2 a1 a0

a5 a4 a3 a2 a1 a0

a1, a1, a0, a0

a1 a0 , a1 a0 , a1 a0 , a1 a0

Page 28: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Predecoder and DecoderA0 A1 A4 A5A2 A3

28

Page 29: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Column “Decoder”

❑ Is basically a multiplexer ❑ Each row contains 2K

words each M bit wide. ❑ Bit of each of the 2K are

interleaved ❑ ex: K=2, M=8

29

d7c7b7a7d6c6b6a6d5c5b5a5d4c4b4a4d3c3b3a3d2c2b2a2d1c1b1a1d0c0b0a0

Page 30: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

4-input pass-transistor based Column Decoder

Advantages: speed (tpd does not add to overall memory access time) Only one extra transistor in signal path

2-input NOR decoder

A 0 S0

BL0 BL1 BL2 BL3

A 1

S1

S2

S3

D

30

decoder shared across all 2K x M row bits

Page 31: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

SenseAmplifiers

Page 32: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Sense Amplifiers

make as small as possible

small

large

Idea: Use Sense Amplifer

32

τp =C ⋅ ΔV

Iav

Page 33: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Differential Sense Amplifier

Directly applicable toSRAMs

M4

M1

M5

M3

M2

VDD

bitbit

SE

Outy

33

Page 34: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Differential Sensing ― SRAM

34

Page 35: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Memory - DRAM

Page 36: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

No constraints on device ratiosReads are non-destructiveValue stored at node X when writing a “1” = V WWL -VTn

WWLBL 1

M1 X

M3

M2

CS

BL 2

RWL

VDDVDD - VT

DVVDD - VTBL 2

BL 1

X

RWL

WWL

3-Transistor DRAM Cell

36

Can work with a normal logic IC process

Page 37: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Write: C S is charged or discharged by asserting WL and BL.Read: Charge redistribution takes places between bit line and storage capacitance

Voltage swing is small; typically around 250 mV.

1-Transistor DRAM Cell

37

VBL

CS << CBL

VBIT= 0 or (VDD – VT)

❑ To get sufficient Cs, special IC process is used ❑ Cell reading is destructive, therefore read operation always is followed by a

write-back ❑ Cell looses charge (leaks away in ms - highly temperature dependent),

therefore cells occasionally need to be “refreshed” - read/write cycle

Page 38: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Latch-Based Sense Amplifier (DRAM)

• 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.

EQ

VDD

BL BL

SE

SE

38

Page 39: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Cell Plate Si

Capacitor Insulator

Storage Node Poly

2nd Field Oxide

Refilling Poly

Si Substrate

Trench Cell Stacked-capacitor Cell

Capacitor dielectric layerCell plateWord lineInsulating Layer

IsolationTransfer gateStorage electrode

Advanced 1T DRAM Cells

39

Page 40: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Multi-ported memory

Page 41: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141

Multi-ported Memory❑ Motivation:

▪ Consider CPU core register file: – 1 read or write per cycle limits

processor performance. – Complicates pipelining. Difficult for

different instructions to simultaneously read or write regfile.

– Common arrangement in pipelined CPUs is 2 read ports and 1 write port.

data buffer

disk or network interface

CPU– I/O data buffering:

Aa Dina WEa

Ab Dinb

WEb

Dual-port Memory

Douta

Doutb

• dual-porting allows both sides to simultaneously access memory at full bandwidth.

41

Page 42: EECS 151/251A Spring 2019 Digital Design and Integrated Circuitseecs151/sp19/files/lec16-ram.pdf · SRAM read/write operations 15 EE141 WL BL VDD M5 M6 M4 M1 M2 M3 BL Q Q 6-Transistor

EE141 42

Dual-ported Memory Internals❑ Add decoder, another set of

read/write logic, bits lines, word lines:

deca decbcell

array

r/w logic

r/w logic

data portsaddress

ports

• Example cell: SRAM

• Repeat everything but cross-coupled inverters.

• This scheme extends up to a couple more ports, then need to add additional transistors.

b2 b2b1 b1

WL2

WL1