+ All Categories
Home > Documents > Outline Modeling, Design, and Optimization Serial Access...

Outline Modeling, Design, and Optimization Serial Access...

Date post: 24-Mar-2018
Category:
Upload: tranthien
View: 217 times
Download: 4 times
Share this document with a friend
7
1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Lec 28: November 16, 2016 RAM Core Pt 2 Penn ESE 370 Fall 2016 – Khanna (adapted from CMOS VLSI DESIGN, DM Harris) Outline ! Serial Access Memories ! Multiported SRAM ! 5T SRAM ! DRAM 2 Penn ESE 370 Fall 2016 - Khanna Serial Access Memories ! Serial access memories do not use an address " Shift Registers " Serial In Parallel Out (SIPO) " Parallel In Serial Out (PISO) " Queues (FIFO, LIFO) 3 Penn ESE 370 Fall 2016 - Khanna Shift Register ! Shift registers store and delay data ! Simple design: cascade of registers 4 clk Din Dout 8 Penn ESE 370 Fall 2016 - Khanna Denser Shift Registers ! Flip-flops arent 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 5 Din Dout clk counter counter reset 00...00 11...11 readaddr writeaddr dual-ported SRAM Penn ESE 370 Fall 2016 - Khanna Serial In Parallel Out ! 1-bit shift register reads in serial data " After N steps, presents N-bit parallel output 6 Penn ESE 370 Fall 2016 - Khanna clk in out 0 out 1 out 2 out 3
Transcript
Page 1: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

1

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

Lec 28: November 16, 2016 RAM Core Pt 2

Penn ESE 370 Fall 2016 – Khanna (adapted from CMOS VLSI DESIGN, DM Harris)

Outline

!  Serial Access Memories !  Multiported SRAM !  5T SRAM !  DRAM

2 Penn ESE 370 Fall 2016 - Khanna

Serial Access Memories

!  Serial access memories do not use an address "  Shift Registers "  Serial In Parallel Out (SIPO) "  Parallel In Serial Out (PISO) "  Queues (FIFO, LIFO)

3 Penn ESE 370 Fall 2016 - Khanna

Shift Register

!  Shift registers store and delay data !  Simple design: cascade of registers

4

clk

Din Dout8

Penn ESE 370 Fall 2016 - Khanna

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

5

Din

Dout

clk

counter counter

reset

00...00

11...11

readaddr

writeaddr

dual-portedSRAM

Penn ESE 370 Fall 2016 - Khanna

Serial In Parallel Out

!  1-bit shift register reads in serial data "  After N steps, presents N-bit parallel output

6 Penn ESE 370 Fall 2016 - Khanna

clk

P0 P1 P2 P3

Sinin

out0 out1 out2 out3

Page 2: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

2

Parallel In Serial Out

!  Load all N bits in parallel when shift = 0 "  Then shift one bit out per cycle

7 Penn ESE 370 Fall 2016 - Khanna

clkshift/load

P0 P1 P2 P3

Sout

in0 in1 in2 in3

out

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)

8

Queue

WriteClk

WriteData

FULL

ReadClk

ReadData

EMPTY

Penn ESE 370 Fall 2016 - Khanna

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

9 Penn ESE 370 Fall 2016 - Khanna

Reminder: 6T SRAM Cell

!  Cell size accounts for most of array size "  Reduce cell size at expense of complexity

!  6T SRAM Cell "  Used in most commercial chips "  Data stored in cross-coupled inverters

!  Read: "  Precharge BL, BL’ "  Raise WL

!  Write: "  Drive data onto BL, BL’ "  Raise WL

10

bit bit_b

word

Penn ESE 370 Fall 2016 - Khanna

BL BL’ WL

Multiple Ports

!  We have considered single-ported SRAM "  One read or one write on each cycle

!  Multiported SRAM are needed for register files !  Examples:

"  Pipelined ALU register file: "  add r1,r2,r3 "  R3#R1+R2 "  Requires two

reads and one write

11 Penn ESE 370 Fall 2016 - Khanna

Dual-Ported SRAM

!  Simple dual-ported SRAM "  Two independent single-ended reads "  Or one differential write

12

bit bit_b

wordBwordA

Penn ESE 370 Fall 2016 - Khanna

Page 3: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

3

Dual-Ported SRAM

!  Simple dual-ported SRAM "  Two independent single-ended reads "  Or one differential write

!  Do two reads and one write by time multiplexing "  Read during ph1, write during ph2

13

bit bit_b

wordBwordA

Penn ESE 370 Fall 2016 - Khanna

Multi-Ported SRAM

!  Adding more access transistors hurts read stability !  Multiported SRAM isolates reads from state node !  Single-ended bitlines save area

14 Penn ESE 370 Fall 2016 - Khanna

Charge Sharing

!  Initially "  A @ 1V "  B @ 0V

!  Close switch !  Voltage at A?

15 Penn ESE 370 Fall 2016 - Khanna

Charge Sharing

Initially "  A @ 1V "  B @ 0V

!  QA=1V*C1=C1 Close switch !  Qtot=Vfinal*(C1+C0) !  Charge conservation

"  QA=Qtot

!  C1=Vfinal*(C1+C0)

16

Vfinal =C1

C1+C0Penn ESE 370 Fall 2016 - Khanna

Consider (preclass 2)

!  Read: What happens to voltage at A when WL turns from 0$1? "  Assume Waccess large "  Waccess >> Wpu=1 "  BL initially 0 "  A initially 1

17

Voltage After enable Word Line

!  QBL = 0 !  QA = (1V)(γ(2+Waccess)C0)

!  100fF=CBL>>CA=(γ(2+Waccess)C0)

!  After enable Waccess (Waccess large)

"  Total charge QBL +QA unchanged "  Charge conservation

"  Distributed over larger capacitance~=CBL

"  VA=VBL~= CA/CBL

18

Page 4: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

4

Voltage After enable Word Line

!  QBL = 0 !  QA = (1V)(γ(2+Waccess)C0)

!  100fF=CBL>>CA=(γ(2+Waccess)C0)

!  After enable Waccess (Waccess large)

"  Total charge QBL +QA unchanged "  Charge conservation

"  Distributed over larger capacitance~=CBL

"  VA=VBL~= CA/CBL

19

Vfinal =C1

C1+C0

Larger Resistance?

!  What happens if Waccess small? "  Waccess < Wpu

20

Larger Resistance?

!  What happens if Waccess small? "  Waccess < Wpu

!  Takes time to move charge from A to BL

!  Moves more slowly than replenished by Wpu

21

Simulation: Waccess=100

22

Simulation

23

Charge Sharing

!  Conclude: charge sharing can pull down voltage

24

Page 5: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

5

Consider (5T SRAM)

!  What happens to voltage at A when WL turns from 0$1? "  Assume Waccess large "  A initially 1 "  BL initially 0

25

Simulation Waccess=20

26

Simulation Waccess=4

27

Charge Sharing

!  Conclude: charge sharing can lead to read upset "  Charge redistribution adequate to flip state of bit

28

How might we avoid?

29

Charge to middle Voltage

!  Pre-charge bitlines to Vdd/2 before begin read operation

!  Now charge sharing doesn’t swing to opposite side of midpoint

30

Page 6: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

6

Pre-Charge

!  Use one phase of clock to charge a node to some initial value before operation

31

Precharge transistor can be large

Simulation Waccess=20

32

Compare

!  Both Waccess=20; vary precharge

33

Simulation Waccess=20 (precharge Vdd/2, reading 0)

34

Simulation Waccess=20 (with precharge Vdd/2)

35

Pre-Charge Vdd/2 Reference

!  Use one phase of clock to charge a node to some initial value before operation

36

Page 7: Outline Modeling, Design, and Optimization Serial Access ...ese370/fall2016/handouts/lec28_6up.pdf · Queue indicates whether it is full or empty ! ... FULL ReadClk ReadData EMPTY

7

DRAM

!  Smaller than SRAM !  Require data refresh to compensate for leakage

Penn ESE 370 Fall 2016 - Khanna 37

3-Transistor DRAM Cell

M2M1

BL1

WWL

BL2

M3

RWL

CS

X

WWL

RWL

X

BL1

BL2

VDD-VT

ΔV

VDD

VDD-VT

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

Penn ESE 370 Fall 2016 - Khanna

1-Transistor DRAM Cell

CSM1

BL

WL

CBL

WL

X

BL

VDD−VT

VDD/2

VDD

GND

Write "1" Read "1"

sensingVDD/2

ΔV VBL VPRE– VBIT VPRE–( )CS

CS CBL+------------------------= =

Write: CS 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.

Penn ESE 370 Fall 2016 - Khanna

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 operation 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 loss can be circumvented by bootstrapping the word lines to a higher value than VDD.

Idea

!  Multiported SRAMS "  Enable register file operation "  Hurts read stability

!  5T SRAM more sensitive to sizing than 6T SRAM !  Serial access memories do not use an address

"  Shift Registers, Serial In Parallel Out (SIPO), Parallel In Serial Out (PISO), Queues (FIFO, LIFO)

!  DRAM memory "  Smaller memory cell "  Require data refresh "  Bootstrap wordlines

Penn ESE 370 Fall 2016 - Khanna 41

Admin

!  HW 7 due Friday !  Project 2 out after class

"  Email [email protected] with project partners by Monday 11/21

"  Don’t work alone! "  Extra credit for best performance (top 2 teams) "  Extra credit for best written report (top 1 team)

!  Friday lecture "  Detailed periphery circuits

!  Monday in Detkin Lab

42 Penn ESE 370 Fall 2016 - Khanna


Recommended