spring 2006ee 5324 - vlsi design ii - © kia bazargan 199 ee 5324 – vlsi design ii kia bazargan...

65
Spring 2006 EE 5324 - VLSI Design II - © Kia Baz argan 1 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Upload: abigail-anthony

Post on 19-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 1

EE 5324 – VLSI Design IIEE 5324 – VLSI Design II

Kia Bazargan

University of Minnesota

Part V: Memory DesignPart V: Memory Design

Page 2: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 2

References and Copyright

• Textbooks referenced [Rab96] J. M. Rabaey

“Digital Integrated Circuits: A Design Perspective”Prentice Hall, 1996.

• Slides used(Modified by Kia when necessary) [©Hauck] © Scott A. Hauck, 1996-2000;

G. Borriello, C. Ebeling, S. Burns, 1995, University of Washington

[©Prentice Hall] © Prentice Hall 1995, © UCB 1996 Slides for [Rab96] http://bwrc.eecs.berkeley.edu/Classes/IcBook/instructors.html

Page 3: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 3

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 4: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 4

Registers• Used for storing data• Structure

N-bit wide Parallel/serial read/write Clocked Static/dynamic

implementation

• Register files Multiple read/write ports

possible Example: 32-bit wide by 16-

bit deep, dual-port parallel read, single port parallel write register file

. . .

16

word

s32 bits

32

[©Hauck]

Page 5: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 5

Implementing Registers Using Logic Gates

• Flip-flops Simple SR latch:

Flip-flopso JK, D, To Clockedo Master-slave (edge-triggered)

S

R

Q

Q

Q

Q

S

R

S R Q Q’1 1 Q Q’1 0 0 10 1 1 00 0 x x

Page 6: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 6

S

R

Implementing Registers in CMOS

• Direct gate implementation too costly A master-slave JK flip-flop uses 38 CMOS transistors

• Directly implement in transistors Example: clocked SR FF

[Rab96] p.342

QQ

Note: carefully size the S, R and transistors so that we can write

Note: carefully size the S, R and transistors so that we can write

Q

Page 7: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 7

Implementing Registers in CMOS (cont.)

• Another example: D latch (register) Uses transmission gate When “WR” asserted, “write” operation will take

place Stack D latch structures to get n-bit register

D

WRQ Q

WR

WR

WR

Page 8: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 8

Shift Registers: Idea

• Shift registers are used for iteratively shifting data Used in pipelining, bit-by-bit processing, etc.

DD1

D1 D2

D2 D3

D3

D1 D2 D3• Problem?When clock goes high, the data will traverse allthe shift registers chain in one clock cycle!Solution: use non overlapping clocks 1 and 2.1 used by odd gates, 2 by even gates (use xmission gates after D1’, D2’, D3’).

Page 9: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 9

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 10: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 10

Memory (Array) Design

• Array of bits• Area very important

Memory takes considerable area in processor chips

Compaction results in fewer memory chip modules, more on-chip cache

• Timing and power consumption of memory blocks have significant impact on the system

• Different types RAM (SRAM, DRAM, CAM) ROM (PROM, EEPROM, FLASH)

Page 11: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 11

Memory Design (cont.)• Static vs. dynamic RAM

Dynamic needs refreshing o Refreshing: read, then write back to restore chargeo Either periodically or after each read

• Static (SRAM) Data stored as long as supply voltage is applied Large (6 transistors/cell) Fast

• Dynamic (DRAM) Periodic refresh required Small (1-3 transistors/cell) Slower Special fabrication process [©Prentice Hall]

Page 12: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 12

wordselectlines

Storagecells

Memory Architecture: the Big Picture• Address: which one of the M words to access• Data: the N bits of the word are read/written

Word 0Word 1

Word M-2Word M-1

. . .

N bits

S0S1

S2

SM-2

SM-1

...Word 0Word 1

Word M-2Word M-1

. . .

N bits

S0

S1

S2

SM-2

SM-1

...

Deco

der

...

A0A1

Ak-1

Addressdecoder

k = log2 (M)

Page 13: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 13

Memory Access Timing: the Big Picture

• Timing: Send address on the address lines,

wait for the word line to become stable Read/write data on the data lines

[©Prentice Hall]

READ

WRITE

DATA

Read Access Read Access

Read Cycle

Data Valid Data Written

Write Access

Write Cycle

Page 14: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 14

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 15: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 15

Very bigdriver

Memory Cell: Static RAM (8 transistors)

• 8-transistor cell Bit_i is the data bus Sj is the word line

[©Hauck]

– Bit’ used to reduce delay

Sj

Sj

biti biti

• Bus drivers– Sense Amplifier

(inverter with high gain) used for fast switching

– Make sure inverters in cell are weaker than the combination of “write buffer” and pass transistor

Rd/WR

Page 16: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 16

Memory Cell: Static RAM (6 transistors)• 6-transistor cell

Must adjust inverters for input coming throughn-type pass gate

• Bus drivers Must adjust senseAmp

for input coming throughn-type pass gate

Harder to drive 1 than 0 through write buffer (high resistance via n-transistor)

One side is sending 0 anyway (bit or bit’) written correctly [©Hauck]

Rd/WR

Sj (WL)biti (BL) biti

Page 17: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 17

6-Transistor SRAM Cell: Layout WL is word line (select line Sj) BL is bit line (biti)

BL

M5

M1 M3

BL

M6Q

M4Vdd

WL

M2

Q

[Rab96] p.578[©Prentice Hall]

VDD

GND

QQ

WL

BLBL

M1M1 M3M3

M4M4M2M2

M5M5 M6M6

Page 18: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 18

6-Transistor Memory Array• 8 words deep RAM,

2 bits wide words

• To write to word j: Set Sj=1, all other S

lines to 0 Send data on the

global bit0, bit0’, bit1,

bit1’

• To read word k: Set Sk=1, all other S

lines to 0 Sense data on bit0

and bit1.

Rd/WR

bit1 bit1

Rd/WR

bit0 bit0

S0

S1

S7

bit1 bit1bit0 bit0

Page 19: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 19

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 20: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 20

Keeps itsvalue forabout 1ms

Dynamic RAM 4-Transistor Cell

• 4-transistor cell• Dynamic charge

storage must be refreshed

• Dedicated busses for reading and writing

[©Hauck]

WR

data in data out

Rd

Page 21: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 21

Dynamic RAM 3-Transistor Cell

• 3-transistor cell No p-type transistors

yield a very compact layout for cell

No Vdd connection Sense Amplifier must

be able to quickly detect dropping voltage

[©Hauck]

WR

data in data out

Rd

– Precharge data_out’ to generate ‘1’ outputs

precharge

Page 22: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 22

Dynamic RAM 3-Transistor Cell: Timing

Value stored at node X when writing a “1”=VWR-VTn

WR

data in data out

Rd

precharge

X

WR

Rd

X

data in

data out

Vdd-VT

V

Vdd

Vdd

[©Prentice Hall][Rab96] p.586

Page 23: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 23

Dynamic RAM 3-Transistor Cell: Layout

Din Dout GND

Rd

WR

M3M3

M2M2

M1M1

WR

Din Dout

Rd

M1 M2

M3

[©Prentice Hall][Rab96] p.586

Page 24: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 24

Dynamic RAM 1-Transistor Cell• 1-transistor cell

Storage capacitor is source of cell transistor

Special processing steps to make the storage capacitor large

Charge sharing with bus capacitance(Ccell << Cbus)

Extra demand on sense amplifier to detect small changes

Destructive read (must write immediately)

Si (WL)

Storagecapacitor

[©Hauck]

Precharge tomiddle voltagelevelBi

Page 25: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 25

Dynamic RAM 1-Transistor Cell: Timing

• Write: Cs is charged/discharged• Read

Voltage swing is small (~250 mV) V = VBL - VPRE = (VX - VPRE) . Cs / (Cs+CBL)

WL

X

BLVdd/2

Vdd

GND

Write "1" Read "1"

sensing

Vdd-VT

Vdd/2

WLBL

X

Cs

CBL

[©Prentice Hall][Rab96] p.587

Page 26: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 26

Dynamic RAM 1-Transistor Cell: Observations

• DRAM memory cell is single-ended• Read operation is destructive• Unlike 3T cell, 1T cell requires presence of

an extra capacitance that must be explicitly included in the design Polysilicon-diffusion plate capacitor Trench or stacked capacitor

• When writing a “1” into a DRAM cell, a threshold voltage is lost Set WL to a higher value than Vdd

[©Prentice Hall]

Page 27: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 27

Dynamic RAM 1-Transistor Cell: Layout

(a) Cross-section (b) Layout

Diffusedbit line

Polysiliconplate

M1 wordline

Capacitor

Polysilicongate

Metal word lineSiO2

n+ Field Oxide

Inversion layerinduced by plate bias

n+

polypoly

Used Polysilicon-Diffusion Capacitance

Expensive in Area[©Prentice Hall]

Page 28: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 28

Dynamic RAM 1-Transistor Cell: Layout

[©Prentice Hall]

Page 29: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 29

Dynamic RAM 1-Transistor Cell: Layout

Cell Plate Si

Capacitor Insulator

Storage Node Poly

2nd Field Oxide

Refilling Poly

Si Substrate

Trench Cell

CapacitorDielectric layerCell plate

Word lineInsulating Layer

IsolationTransfer gateStorage electrode

Stacked-capacitor Cell

[©Prentice Hall]

Page 30: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 30

RAM Cells: Summary

• Static Fastest (no refresh) Simple design Right solution for small memory arrays such as

register files

• Dynamic Densest: 1T is best and is the way to go for

large memory arrays Built-in circuitry to step through cells and

refresh(can do more than one word at a time)

Sense amplifier needed for fast read operation

[©Hauck]

Page 31: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 31

Multi-Port RAM Cells

• Idea: add more input and output transistors• Can be applied to all variants

Usually not done for 1T cells

row-bus_A

row-bus_B

bus_A

bus_Bbus_A

bus_B

[©Hauck]

Page 32: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 32

Multi-Port RAM Cells Array• 7 words deep,

2 wide words,dual port mem

• To read fromword j and write “d1d0” to word k

simultaneously: Set SAj=1, and all

other SA’s=0 Set SBk=1, and all

other SB’s=0 Sense the values on

bus_A0 and bus_A1 Write d1d0 to

bus_B0 and bus_B1

SA0

SB0

bus_B

0

bus_A

0

bus_A

0

bus_B

0

bus_B

1

bus_A

1

bus_A

1

bus_B

1

. . . . . .

SA1

SB1

SA7

SB7

Page 33: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 33

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 34: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 34

Read Only Memory (ROM) Cells: MOS NOR

• To store constants data or invariant code• Popular for control implementation

Store program or state machine

• Programmable logic array structure• Can be precharged or pseudo-nMos

bit1 bit2 bit3read1

read2

[©Hauck]

0 1 0

0 0 1

MOSNOR ROM

Page 35: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 35

ROM Cell: MOS NOR Layout

Only 1 layer (metal-to-diffusion contact mask) is used to program memory array

Programming of the memory can be delayed to one of last process steps

Metal1 on top of diffusion

Basic cell10 x 7

GND (diffusion)

Metal1

Polysilicon

WL0

WL1

WL2

WL3

[©Prentice Hall]

Page 36: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 36

ROM Cell: MOS NOR Alternative Layout

Threshold raising implants disable transistors

Basic Cell8.5 x 7 Metal1 over diffusion

Threshold raisingimplant

Polysilicon

GND (diffusion)WL0

WL1

WL2

WL3

BL0 BL1 BL2 BL3

[©Prentice Hall]

Page 37: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 37

ROM Cell: MOS NAND

All word lines high by default with exception of selected row

WL0

WL1

WL2

WL3

Pullup devices

BL0 BL1 BL2 BL3

[©Prentice Hall]

Page 38: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 38

ROM Cell: MOS NAND: Layout

• No contact to Vdd or GND necessarydrastically reduced cell size

• Loss in performance compared to NOR ROM Why?

Basic cell5x 6

Threshold

implant

Polysilicon

Diffusion

lowering

[©Prentice Hall]

Page 39: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 39

ROM Cells: Summary

• Mask programmability• Precharged vs. pseudo-nMos• NAND cell, NOR cell

Area Speed

• Other types: EEPROM, etc.

Page 40: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 40

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 41: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 41

000

0

1

0

0

0

0101

0

0…

Memory Cell Array Interface: Example

• Memory parameters: 16-bit wide 1024-word deep

• Accessing word 9Address = 00000010012

16 bits

S0

S1

S2

S1022

S1023

...

Deco

der...

A0

A1

A9

Word 0

Word 1022Word 1023

. . .

.

.

.

Word 9

Word 1Word 2

SenseAmp /Drivers

16 bits

S9A2

A3

Page 42: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 42

Memory Cell Array Layout

• Memory performance (speed) Storage cell speed (read, write) Data bus capacitance Periphery: address decoders,

sense amplifiers, buffers

• Memory area Cell array layout

• How to layout the cells array? Linear is bad:

o Long data busses large capacityo A lot of cells connected to data buso Decoder will have a lot of logic levels N bits

S0

S1

S2

SM-2

SM-1

...

Deco

der...

A0

A1

Ak-1

Word 0

Word M-2Word M-1

. . .

Word 1Word 2

SenseAmp /Drivers

N bits

Page 43: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 43

Memory Cell Array Layout (cont.)• Group the M words into M/L rows, each containing L words• Benefits?

N bits

S0..L-1

SL..2L-1

Row

Deco

der

...

Alog L

Alog L+1

Ak-1

Word 0

SAmp/Drv

S2L..3L-1

Word 1 . . . Word L-1Word L Word L+1 . . . Word 2L-1Word 2L Word 2L+1 . . . Word 3L-1

Word M-L . . . . . . Word M-1

. . . . . . . . . . . .

SM-L..M-1

N bits N bits. . .SAmp/Drv SAmp/Drv. . .

N bits N bits N bits. . .

Column Decoder + MUX

N bits

A0

Alog L-1

. . .

address:L bits

k-L bits

Page 44: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 44

Memory Cell Array Access Example• word=16-bit wide(N), row=8 words(L), address=10 bits (k)

• Accessing word 9= 00000010012

16 bits

S0..7

S8..15

Row

Deco

der

...

A3

A4

A9

Word 0

SAmp/Drv

S16..23

Word 1 . . . Word 7Word 8 Word 9 . . . Word 15Word 16 Word 17 . . . Word 23

Word 1016 . . . . . . Word 1023

. . . . . . . . . . . .

S1016-1023

16 bits 16 bits. . .SAmp/Drv SAmp/Drv. . .

16 bits 16 bits 16 bits. . .

Column Decoder + MUX

16 bits

A0

A2

L=8 words

M/L =1024/8=128 rows

A1

100

0…

1

00

Page 45: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 45

Hierarchical Memory Structure

• Taking the idea one step further Shorter wires within each block Enable only one block addr decoder power savings

Blk ENBlk EN

Blk ENBlk EN

RowAddress

ColumnAddress

BlockAddress

Global Bus

SAmp/Drv

Global drivers/sense amplifiers

[Rab96] p. 558

Page 46: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 46

Decreasing Word Line Delay

• Word line delay comes into play! We used to have long busses, made 2D array

shorter busses But, longer word lines!

• How to decrease the delay on the word lines? Break the word line by inserting buffers Place the decoder in the middle

[©Prentice Hall]

(a) Drive the word linefrom both sides

Metal word line

Polysilicon word line

(b) Use metal bypass

Metal bypass

Polysilicon word line

Page 47: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 47

Decreasing Word Line Delay (cont.)

• Place the decoder in the middle• Add buffers to outputs of decoder

[©Hauck]

decoder

memorycell array

memorycell array

Address lines

k

Page 48: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 48

• Collection of 2k high fan-in (k inputs) logic gates

• Regular and dense structure• N(AND) decoder

• NOR decoder

Row Decoder Implementation

[©Prentice Hall]

WL511 = A0.A1.A2.A3.A4.A5.A6.A7.A8.A9

WL0 = A0+A1+A2+A3+A4+A5+A6+A7+A8+A9

WL511 = A0+A1+A2+A3+A4+A5+A6+A7+A8+A9

WL0 = A0.A1.A2.A3.A4.A5.A6.A7.A8.A9

Page 49: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 49

Row Decoder Implementation (cont.)

[©Prentice Hall]

WL3

WL2

WL1

WL0

GNDGNDPrecharge

devices

Vdd A0 A0 A1 A1

Dynamic 2-to-4 NORDecoder

A0 A0 A1 A1

WL3

WL1

WL0

WL2

2-to-4 MOS DynamicNAND Decoder

Page 50: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 50

Row Decoder Implementation (cont.)

WL1

WL0

[©Prentice Hall]

A2A3A2A3A2A3A2A3A0A1A0A1A0A1A0A1

A2 A3 A3 A2A0 A1 A1 A0

Splitting decoder into two or more logic layersproduces a faster and cheaper implementation

Page 51: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 51

Bit position i ofL word columns

Column Multiplexers: Tree-Based Decoder

• Route many inputs to a single output Inputs come from

different words, same bit position

• Series transistors are slow On the critical path

too

• Area? One-bit very small,

but have to repeat the “decoding” for all bit positions.

Bit position i

A0

A0'

A1

A1'

A2

A2'

w0 w1 w2 w3 w4w5 w6 w7

[©Hauck]

Page 52: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 52

Column Multiplexers: Faster Implementation

• Decode address into one-hot signals• Each bit passes through single n-device or pass

gate• Column decoding done in parallel w/ row

decoding

[©Hauck]

bit 0 bit 1

Deco

der

A0

Alog L-1

. . .A1

Page 53: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 53

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 54: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 54

Content Addressable Memory (CAM)• Instead of address, provide data find a match

Applications: cache, physical particle collider

• Needs “Encoder”: Inverse function of decoder Take a one-hot collection of signals and encode them

[©Hauck]

encoder

n

2n rows

m bits

m

contentaddressable

memorycell array

Page 55: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 55

Content Addressable Memory Cell

• Read and write like normal 6T memory cell• Match signal is precharged to 1,

pulled to 0 if no match Send data on bit’ and data’ on bit for matching Match remains 1 iff all bits in word match

[©Hauck]

rowselect

match

bit bit'

Page 56: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 56

Encoders

encoder

contentaddressable

memorycell array

rowselect

match

bit bit'

Page 57: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 57

Content Addressable Memory (CAM)

• Writing is done as normal SRAM Address decoder needed Drive row select

• ½ n log n transistors on the address lines (in encoder)

Page 58: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 58

Outline

• Registers (flip-flops), shift registers

• Memory interface

• Memory cells Static memory cell Dynamic memory cell ROM cells

• Address decoders

• Content addressable memory (CAM)

• Non volatile memory cells

Page 59: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 59

Non-Volatile Memory Cells

• Programmable after fabrication• Keep their configuration even after the

supply voltage is disconnected• Basic idea:

Use a floating strip of polysilicon between the substrate and the gate

Put charges on the floating gate Increase threshold voltage disable the device

• Different types based on the erasure method

Page 60: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 60

Floating-Gate Transistor (FAMOS)

Source Drain

GateFloating gate

tox

tox

Substraten+n+ p

(a) Device cross-section

S

D

G

(b) Schematic symbol

[©Prentice Hall]

Page 61: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 61

Floating-Gate Transistor: Programming

DS

20 V

20 V

DS

0 V

0 V10V 5V -5 V

DS

5 V

5 V-2.5 V

Avalanche injection.

Removingprogramming voltage

leaves chargestrapped

Programmingresults inhigher VT

- - - - - - - -

- -

- -

[©Prentice Hall]

Page 62: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 62

FLOTOX EEPROM

[©Prentice Hall]

Source DrainGate

Floating gate

Substraten+n+

10 nm

20-30 nm

(a) Flotox transistor

VGD

I

(b) Fowler-Nordheim I-V characteristics

10 V

-10 V

p

BL

WL

VDD

(c) EEPROM cell during a read operation

Page 63: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 63

FLASH EEPROM

n+ drainn+ source

p-substrate

Control gate

Floating gate

programming

erasure Thin tunneling oxide

[©Prentice Hall]

Page 64: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 64

Cross-Section of NVM Cells

[©Prentice Hall]

Courtesy Intel

Page 65: Spring 2006EE 5324 - VLSI Design II - © Kia Bazargan 199 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part V: Memory Design

Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 65

Characteristics of Some NVM Cells