reg-design [compatibility mode]

72
Register Design Register Design Register Design Register Design EE141 Timing Issues 1

Upload: innovatorinnovator

Post on 12-Jan-2016

245 views

Category:

Documents


0 download

DESCRIPTION

re

TRANSCRIPT

Page 1: REG-DeSIGN [Compatibility Mode]

Register DesignRegister DesignRegister DesignRegister Design

EE141 Timing Issues1

Page 2: REG-DeSIGN [Compatibility Mode]

Synchronous TimingSynchronous TimingSynchronous TimingSynchronous Timing

CLK

CombinationalLogic

R1 R2Cin Cout Out

In

EE141 Timing Issues2

Page 3: REG-DeSIGN [Compatibility Mode]

Timing DefinitionsTiming DefinitionsTiming DefinitionsTiming Definitions

EE141 Timing Issues3

Page 4: REG-DeSIGN [Compatibility Mode]

TIMING CLASSIFICATIONTIMING CLASSIFICATIONTIMING CLASSIFICATIONTIMING CLASSIFICATION

SYNCHRONOUS signal in lockstep with the SYNCHRONOUS-signal in lockstep with the system clock

MESO SYNCHRONOUS—signal has an unknown constant offset with respect to system clock

PLESIO SYNCHRONOUS l PLESIO SYNCHRONOUS- nearly same frequency

EE141 Timing Issues4

Page 5: REG-DeSIGN [Compatibility Mode]

Latch ParametersLatch ParametersLatch ParametersLatch Parameters

D

Clk

Q

Clk PW

T

D thold

PWm tsu

Q tc-q td-q

EE141 Timing Issues5

Delays can be different for rising and falling data transitions

Page 6: REG-DeSIGN [Compatibility Mode]

Register ParametersRegister ParametersRegister ParametersRegister Parameters

D

Clk

Q

ClkT

D thold

»

Q tc-q

tsu

Delays can be different for rising and falling data transitions

NO CHANGE»

EE141 Timing Issues6

Delays can be different for rising and falling data transitionsChange in data has no impact on Q after clk edge Tdq=0

Page 7: REG-DeSIGN [Compatibility Mode]

Timing DefinitionsTiming DefinitionsTiming DefinitionsTiming Definitions

t

CLK

Register

t

D

tholdtsu

DATASTABLE

CLK

D Q

tc 2 q

t

Q DATASTABLE tSTABLE

EE141 Timing Issues7

Page 8: REG-DeSIGN [Compatibility Mode]

Synchronous designSynchronous designStatic gates —registers for storing the output and

provides well defined ordering of signal flow

Dynamic gates —reg. for storing the output

EE141 Timing Issues8

Page 9: REG-DeSIGN [Compatibility Mode]

Designing SequentialDesigning SequentialL i Ci itL i Ci itLogic CircuitsLogic Circuits

EE141 Timing Issues9

Page 10: REG-DeSIGN [Compatibility Mode]

Sequential LogicSequential Logicq gq g

OutputsInputsCOMBINATIONAL

LOGIC

Outputs

C rrent State

Inputs

RegistersNext state

Q D

Current State

CLK

2 storage mechanisms• positive feedback• charge based

EE141 Timing Issues10

• charge-based

Page 11: REG-DeSIGN [Compatibility Mode]

Naming ConventionsNaming ConventionsNaming ConventionsNaming Conventions

In our text: In our text: a latch is level sensitive a register is edge triggered a register is edge-triggered

There are many different naming conventionsconventions For instance, many books call edge-

triggered elements flip-flopstriggered elements flip flops This leads to confusion however

EE141 Timing Issues11

Page 12: REG-DeSIGN [Compatibility Mode]

Latch versus RegisterLatch versus Registergg Latch Register

stores data when clock is low

stores data when clock rises

D

Clk

Q D

Clk

Q

Clk

Clk Clk

D D

Q Q

EE141 Timing Issues12

Q Q

Page 13: REG-DeSIGN [Compatibility Mode]

LatchesLatchesLatchesLatchesPositive Latch Negative Latch

In Out

CLK

DG

Q In OutDG

Q

clk

CLK

clk

CLK

In

Out

In

Out

Outstable

Outfollows In

Outstable

Outfollows In

EE141 Timing Issues13

Page 14: REG-DeSIGN [Compatibility Mode]

LatchLatch--Based DesignBased DesignLatchLatch Based DesignBased Design

• N latch is transparent l h i• N latch is transparentwhen = 0

• P latch is transparent when = 1

N PNLatch Logic P

Latch

Logic

EE141 Timing Issues14

Page 15: REG-DeSIGN [Compatibility Mode]

Timing DefinitionsTiming DefinitionsTiming DefinitionsTiming Definitions

t

CLK

Register

t

D

tholdtsu

DATASTABLE

CLK

D Q

tc 2 q

t

Q DATASTABLE tSTABLE

EE141 Timing Issues15

Page 16: REG-DeSIGN [Compatibility Mode]

Characterizing TimingCharacterizing TimingCharacterizing TimingCharacterizing Timing

D Q D Q

tD 2 Q

D Q D Q

Clk Clk

tC 2 Q tC 2 Q

Register Latch

EE141 Timing Issues16

g

Page 17: REG-DeSIGN [Compatibility Mode]

Maximum Clock FrequencyMaximum Clock Frequencyq yq y

FF’s

LOGIC

tp,comb

Also:tcdreg + tcdlogic > thold

t d: contamination delay = tcd: contamination delay minimum delay

tclk-Q + tp,comb + tsetup = T

EE141 Timing Issues17

Page 18: REG-DeSIGN [Compatibility Mode]

LATCH DESIGN REQUIREMENTSLATCH DESIGN REQUIREMENTSLATCH DESIGN REQUIREMENTSLATCH DESIGN REQUIREMENTS

E f lk i l ti i l hEase of clk signal routing- single phase clk

Clk loadTransistor countProper data storage

Tsu=0 Thold=0 Tclk-q=0

EE141 Timing Issues18

Page 19: REG-DeSIGN [Compatibility Mode]

MuxMux--Based LatchesBased LatchesMuxMux Based LatchesBased LatchesNegative latch(transparent when CLK= 0)

Positive latch(transparent when CLK= 0) (transparent when CLK= 1)

1 Q 0 Q

0D 1D

CLK CLK

InClkQClkQ InClkQClkQ

EE141 Timing Issues19

InClkQClkQ InClkQClkQ

Page 20: REG-DeSIGN [Compatibility Mode]

Writing into a Static LatchWriting into a Static LatchWriting into a Static LatchWriting into a Static Latch

Use the clock as a decoupling signal

CLK CLK

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

CLK

Q D D

CLK

DCLK

CLK

Converting into a MUXForcing the state(can implement as NMOS-only)

EE141 Timing Issues20

Page 21: REG-DeSIGN [Compatibility Mode]

MuxMux--Based LatchBased Latch

CLKCLK

Q

CLK

Q

D

CLK

EE141 Timing Issues21

Page 22: REG-DeSIGN [Compatibility Mode]

MuxMux--Based LatchBased LatchMuxMux Based LatchBased Latch

CLKQ CLKQM

QM

CLK

CLK

EE141 Timing Issues22

NMOS only Non-overlapping clocks

Page 23: REG-DeSIGN [Compatibility Mode]

Register designRegister design--master slave config.master slave config.Register designRegister design master slave config.master slave config.

C biCombine

a positive latch and a negative latch a negative latch

EE141 Timing Issues23

Page 24: REG-DeSIGN [Compatibility Mode]

MasterMaster--Slave (Positive EdgeSlave (Positive Edge--T i d) R i tT i d) R i tTriggered) RegisterTriggered) Register

SlaveMaster

0 Q

Slave

D

CLK

1

0DQM

1QM

Q

CLK

CLK

Two opposite latches trigger on edgeAlso called master-slave latch pair

EE141 Timing Issues24

Page 25: REG-DeSIGN [Compatibility Mode]

MasterMaster--Slave RegisterSlave Register----schematicschematicMasterMaster Slave RegisterSlave Register schematicschematicMultiplexer-based latch pair

QT2I2 I3 T4I5 I6

QM

Q

D

T2I2

T1I1

I3 T4I5

T3I4

I6

CLK

11 34

Clk load = 6 transistors Transistor count = 24

EE141 Timing Issues25 Single phase clk [ clk’ locally generated]

Page 26: REG-DeSIGN [Compatibility Mode]

Timing propertiesTiming propertiesTiming propertiesTiming properties

Wh lk 0When clk = 0– T1 is on, T3, T4 off

D is sampled on Qm– D is sampled on Qm

– Tset up= I1 + T1 + I3 + I2Tset up I1 + T1 + I3 + I2– To ensure T2 has same voltage at its two

terminals else a wrong previous value may change Qm

EE141 Timing Issues26

Page 27: REG-DeSIGN [Compatibility Mode]

Timing propertiesTiming propertiesTiming propertiesTiming propertiesWhen clk = 1

T lk Q T3 I6– Tclk-Q = T3 + I6– Thold = till T1 turns off / [0 (nearly]

– ----if D changes at the clk edge=1, – ---- D goes to T1 through I1 (gets delayed)D goes to T1 through I1 (gets delayed)– ---hence D reaches T1 after some delay – If clk’ reaches T1 earlier, T1 will turn off and

change in D will not affect Qm– If clk’ reaches T1 at the same time, T1 will turn

off and change in D will not affect Qm

EE141 Timing Issues27

off and change in D will not affect Qm

Page 28: REG-DeSIGN [Compatibility Mode]

ClkClk--Q DelayQ DelayClkClk Q DelayQ Delay

CLK2.5

D1.5

tc 2 q(lh)Vol

ts

tc 2 q(hl)Q

0.5

c 2 q(hl)

2 0.50.5 1 1.5 2 2.50

time, nsec

EE141 Timing Issues28

Page 29: REG-DeSIGN [Compatibility Mode]

Setup TimeSetup TimeSetup TimeSetup Time3.0 3.0

Q

QM2.0

2.5

I2 2 T22.0

2.5

D CLK

I 2 T

Vol

ts

1.0

1.5D

Q

QM

CLK

2 2

Vol

ts

1.0

1.5

I2 2 T2

0.0

0.5QM

0.0

0.5

2 0.50.2 0.4

time (nsec)

(a) Tsetup 5 0.21 nsec

0.6 0.8 102 0.5

0.2 0.4time (nsec)

(b) Tsetup 5 0.20 nsec

0.6 0.8 10

EE141 Timing Issues29

Page 30: REG-DeSIGN [Compatibility Mode]

Reduced Clock Load Reduced Clock Load M tM t Sl R i tSl R i tMasterMaster--Slave RegisterSlave Register-------- reverse reverse transmission problemtransmission problem

CLK CLK

D QT1 I 1 T2 I 3

CLK CLKI2 I4

EE141 Timing Issues30

Page 31: REG-DeSIGN [Compatibility Mode]

33rdrd implementationimplementation—— neg edge triggeredneg edge triggered33 implementationimplementation neg edge triggeredneg edge triggered

CLK

A

X

QCLK

AB

D

CLK

(a) Schematic diagramCLK

EE141 Timing Issues31

Page 32: REG-DeSIGN [Compatibility Mode]

Non idealities of clkNon idealities of clkNon idealities of clkNon idealities of clk

Cl k l f ilClock overlap: can cause failures

CLK

CLK

(b) Overlapping clock pairs

CLK

EE141 Timing Issues32

Page 33: REG-DeSIGN [Compatibility Mode]

RemedyRemedy------22--phase clock phase clock (AVOID CLK OVERLAP)(AVOID CLK OVERLAP)RemedyRemedy 22 phase clock phase clock (AVOID CLK OVERLAP)(AVOID CLK OVERLAP)

EE141 Timing Issues33

Page 34: REG-DeSIGN [Compatibility Mode]

2 phase clk generation ckt.2 phase clk generation ckt.2 phase clk generation ckt.2 phase clk generation ckt.

EE141 Timing Issues34

Page 35: REG-DeSIGN [Compatibility Mode]

Avoiding Clock Overlap (1Avoiding Clock Overlap (1--1 overlap)1 overlap)Avoiding Clock Overlap (1Avoiding Clock Overlap (1 1 overlap)1 overlap)CLK X

QCLK

AT1 I1 I2A

BD

QAT1 I1

T2

I2

CLK

(a) Schematic diagramCLK

CLK

(a) Schematic diagram

T1+ I1+I2+T2 > t 1-1 overlap

(b) Overlapping clock pairsCLK thold > t 1-1 overlap

EE141 Timing Issues35

Page 36: REG-DeSIGN [Compatibility Mode]

Avoiding Clock Overlap (0Avoiding Clock Overlap (0--0 overlap)0 overlap)Avoiding Clock Overlap (0Avoiding Clock Overlap (0 0 overlap)0 overlap)CLK X

QCLK

AT1 I1AB

DAT1 I1

T2

I1

CLK

(a) Schematic diagramCLK

(a) Sc e at c d ag a

T1+ I1 +T2 > t 0-0 overlap

thold > t 0-0 overlap

EE141 Timing Issues36

Page 37: REG-DeSIGN [Compatibility Mode]

Dynamic Storage MechanismsDynamic Storage Mechanisms--less transistorsless transistors

CLK

Dynamic (charge-based)Static

D

CLK

Q

CLK

CLKCLK

D

Q

CLK

D

EE141 Timing Issues37

Page 38: REG-DeSIGN [Compatibility Mode]

Positive edge trigg. Dynamic registerPositive edge trigg. Dynamic registerPositive edge trigg. Dynamic registerPositive edge trigg. Dynamic register

Tsu ≥T1Thold = T1 to go off

EE141 Timing Issues38

holdTc-q = I1+ T2+ I2

Page 39: REG-DeSIGN [Compatibility Mode]

Making a Dynamic Latch StaticMaking a Dynamic Latch StaticMaking a Dynamic Latch StaticMaking a Dynamic Latch Static

CLK

D D

CLKCLK

EE141 Timing Issues39

Page 40: REG-DeSIGN [Compatibility Mode]

Other Latches/Registers: COther Latches/Registers: C22MOSMOS—A Clock-Skew Insensitive ApproachA Clock Skew Insensitive Approach

VDD VDD

M4

M2

CLK CLK M8

M6

D Q

M3CLK

M4CLK

CL1

X

CL2M7CLK

CLK M8

M1 M5

Master Stage Slave Stage

“K ” b dd d t k i it d t ti

EE141 Timing Issues40

“Keepers” can be added to make circuit pseudo-static

Page 41: REG-DeSIGN [Compatibility Mode]

If D and If D and clkclk swappedswapped----??——charge sharing charge sharing problemproblemproblemproblem

D DD

D h 0 1` ft lk 0

EE141 Timing Issues41

D changes 0→1` after clk→0

Page 42: REG-DeSIGN [Compatibility Mode]

Insensitive to ClockInsensitive to Clock--OverlapOverlap-- Q does not Q does not changechangechangechange

M2

VDD

M6

VDD

M2

VDD

M6

VDD

D Q

M40 0X

M8

D QX

M

Q

M

M3

M

Q

1 M71

MM1 M5

(a) (0-0) overlap

M1 M5

(b) (1-1) overlap

EE141 Timing Issues42

Page 43: REG-DeSIGN [Compatibility Mode]

Dual-edge RegistersDual edge Registers

EE141 Timing Issues43

Page 44: REG-DeSIGN [Compatibility Mode]

Other Latches/Registers: TSPCOther Latches/Registers: TSPC----SINGLE SINGLE PHASE CLKPHASE CLKPHASE CLKPHASE CLK

VDD VDD VDD VDD

Out

CLKIn CLK In CLK CLK

Out

Negative latch(transparent when CLK= 0)

Positive latch(transparent when CLK= 1)

EE141 Timing Issues44

(t a spa e t e C 0)(t a spa e t e C )

Page 45: REG-DeSIGN [Compatibility Mode]

EE141 Timing Issues

Page 46: REG-DeSIGN [Compatibility Mode]

Registers: TSPCRegisters: TSPCRegisters: TSPCRegisters: TSPCVDD VDD

VDD VDD

CLKIn CLK

OutIn CLK CLK

Out

I1 I2

Tsu =I1+I2T = I1 to go off

I1 I2I3 I4

EE141 Timing Issues46

Thold = I1 to go offTc-q =I3+I4

Page 47: REG-DeSIGN [Compatibility Mode]

Including Logic in TSPCIncluding Logic in TSPCIncluding Logic in TSPCIncluding Logic in TSPCVDDVDD VDDVDD

QPUN

Q

In1 In2

CLKIn CLK CLKCLK

PDN In1

InIn2

AND latchExample: logic inside the latch

EE141 Timing Issues47

AND latch

Page 48: REG-DeSIGN [Compatibility Mode]

Split output TSPC Register (less Split output TSPC Register (less complexity)complexity)complexity)complexity)

Less power-all nodes do not experience full swing so less current drive

VDD

M3

VDD

M6

Vdd

VDD

M

VDD

MVtp

CLKD

M3

M

YX

M6

Logic 0CLK

D

M3

M

YX

M6

Logic 1

M2

M M

M2

M1 M4

Vdd-Vt

M1 M40

EE141 Timing Issues48

Page 49: REG-DeSIGN [Compatibility Mode]

Positive edge triggeredPositive edge triggered------4 stages4 stagesPositive edge triggeredPositive edge triggered 4 stages4 stages

VDD

M3

VDD

M6

Vtp

VDD

M

VDD

MVtp

CLKD

3

M

YX

6

Logic 1CLK

D

M3

M

YX

M6

Logic 1

M2

M M

M2

M1 M40

M1 M40

EE141 Timing Issues49

Page 50: REG-DeSIGN [Compatibility Mode]

Modified TSPC edge triggered Modified TSPC edge triggered R iR i 3 3 RegisterRegister------3 stages3 stages

VDD

M3

VDD

QM9CLK

VDD

M6

CLKD

3

M2CLK

Y Q

9

M8X

6

M5

CLK

2

M1

8

M7

5

M41 74

EE141 Timing Issues50

Page 51: REG-DeSIGN [Compatibility Mode]

An Alternative ApproachAn Alternative Approach---------- PulsePulse--Triggered Latches Triggered Latches Triggered Latches Triggered Latches (REDUCED HARDWARE)(REDUCED HARDWARE)

W d d d l ll

M t Sl P l T i d

Ways to design an edge-triggered sequential cell:

Master-Slave Latches

Pulse-Triggered Latch

L1 L2 LD

Clk

Q D

Clk

QData

D

Clk

Q

Clk

DataL1 L2 L

Clk Clk

Clk

ClkClk

EE141 Timing Issues51

Page 52: REG-DeSIGN [Compatibility Mode]

Pulsed LatchesPulsed Latches-- less transistor, less less transistor, less clkclk load (load (TTsetupsetup can be zero)can be zero)clkclk load (load (TTsetupsetup can be zero)can be zero)

VDD VDDDD

M3

DD

M6

QCLK

VDD

CLKGD M2

M

CLKG M5

M

CLKGX

MP

MNM1 M4N

(a) register (b) glitch generation

CLK

CLKG

EE141 Timing Issues52

(c) glitch clock

Page 53: REG-DeSIGN [Compatibility Mode]

Pulsed LatchesPulsed LatchesPulsed LatchesPulsed LatchesHybrid Latch – Flip-flop (HLFF), AMD K-6 and K-7 :

P1CLK P3 Qx

M3M6

M2D

M

M5

M4

P2

CM1 CLKD

EE141 Timing Issues53

Page 54: REG-DeSIGN [Compatibility Mode]

SENSE AMPLIFIER BASED REG.SENSE AMPLIFIER BASED REG.——very fastvery fast

S R Q Q’

1 0 0 1

S0

R0

Q1

Q’1

0 1 1 00 1 1 0

1 0 0 1S=1 R=0

1 1 Q Q’

EE141 Timing Issues54

Page 55: REG-DeSIGN [Compatibility Mode]

Positive Feedback: BiPositive Feedback: Bi--StabilityStabilityyy

Vo1 Vi2o1

Vi1 Vo2Vo1 = Vi 2Vi1

A

Vo2

A

C

Vi2 = Vo1

Vo2 = Vi 1 B

Vi1 = Vo2

EE141 Timing Issues55

Page 56: REG-DeSIGN [Compatibility Mode]

MetaMeta--StabilityStabilityyy

A

o1

A

o1

Vi2

5V

o

Vi2

5V

o

C C

B

V 5 V

B

V 5 V

Gain should be larger than 1 in the transition regiond Vi1 5 Vo2 d Vi1 5 Vo2

EE141 Timing Issues56

Page 57: REG-DeSIGN [Compatibility Mode]

Overpowering the Feedback Loop ─Overpowering the Feedback Loop ─CC C l d P iC l d P iCrossCross--Coupled PairsCoupled Pairs

NOR b d NOR-based set-reset

S QQRS Q

S

R

QQ

Q

Q00 Q

101 0

010 1R Q

Forbidden State

010 1011 0

EE141 Timing Issues57

Page 58: REG-DeSIGN [Compatibility Mode]

SchematicSchematic-- clocked NOR basedclocked NOR basedSchematicSchematic clocked NOR basedclocked NOR basedAdded clock Simple pull up but

ratioing of devices

VDD

grequired

QRS Q

M2 M4

QQ

Q00 Q

101 0

010 1

M1 M3M6CLK M8 CLK

Forbidden State

011 0

M5S M7 R

EE141 Timing Issues58

Page 59: REG-DeSIGN [Compatibility Mode]

CrossCross--Coupled NANDCoupled NAND

Cross-coupled NANDs

SQ

Cross coupled NANDs

QRS Q

Q

Q Q

Q11 Q

110 0QR

Forbidden State

001 1100 1

EE141 Timing Issues59

Page 60: REG-DeSIGN [Compatibility Mode]

Sizing IssuesSizing Issuesgg2.0 3

Q S

1.0

1.5

Volts

) 2

Volts

W 0 7W = 0.6 m

W = 0.5 m

0.5

1.0

Q (V

1

Vo

W = 0.9 mW = 0.8 m

W = 0.7 m

4.03.53.0W/L5 and 6

2.52.00.0

time (ns)0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

0W = 1 m

W 0.9 m

Output voltage dependence t i t idth

Transient response

(a) (b)

EE141 Timing Issues60

on transistor width

Page 61: REG-DeSIGN [Compatibility Mode]

OTHER LATCH DESIGNS OTHER LATCH DESIGNS SELF ANALYSISSELF ANALYSISOTHER LATCH DESIGNS OTHER LATCH DESIGNS SELF ANALYSISSELF ANALYSIS

EE141 Timing Issues61

Page 62: REG-DeSIGN [Compatibility Mode]

EE141 Timing Issues62

Page 63: REG-DeSIGN [Compatibility Mode]

EE141 Timing Issues63

Page 64: REG-DeSIGN [Compatibility Mode]

EE141 Timing Issues64

Page 65: REG-DeSIGN [Compatibility Mode]

EE141 Timing Issues65

Page 66: REG-DeSIGN [Compatibility Mode]

PipeliningPipeliningp gp gEGa EGa

REEG

REGlog

a

CLK

CLK

Out

b

REEG

REGlog

a

CLK

CLK

REG

CLK

REG

CLK

Out

b

RE

CLK

CLKb RE

CLK

CLKCLKCLKb

R f PipelinedReference Pipelined

EE141 Timing Issues66

Page 67: REG-DeSIGN [Compatibility Mode]

Minimum clock periodMinimum clock periodMinimum clock periodMinimum clock period

EE141 Timing Issues67

Page 68: REG-DeSIGN [Compatibility Mode]

LatchLatch--Based PipelineBased PipelineLatchLatch Based PipelineBased PipelineCLK CLKCLK

F GIn Out

C C CC1 C2 C3

CLK

CLK

C t F t G

EE141 Timing Issues68

Compute F compute G

Page 69: REG-DeSIGN [Compatibility Mode]

CC22mos pipelinemos pipelineCC mos pipelinemos pipeline

EE141 Timing Issues69

Page 70: REG-DeSIGN [Compatibility Mode]

Race in 0Race in 0--0 overlap0 overlapRace in 0Race in 0 0 overlap0 overlap

EE141 Timing Issues70

Page 71: REG-DeSIGN [Compatibility Mode]

NONO--Race NP CMOS pipelineRace NP CMOS pipelineNONO Race NP CMOS pipelineRace NP CMOS pipeline

EE141 Timing Issues71

Page 72: REG-DeSIGN [Compatibility Mode]

NoNo--RACE NP CMOS pipelineRACE NP CMOS pipelineNoNo RACE NP CMOS pipelineRACE NP CMOS pipeline

EE141 Timing Issues72