+ All Categories
Home > Documents > EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22...

EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22...

Date post: 07-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
32
1 EE241 - Spring 2005 Advanced Digital Integrated Circuits Lecture 18: Timing 2 Announcements No lecture on Wednesday (Family Emergency) Make-up lecture on Friday at 3pm by Dejan Markovic (to be confirmed)
Transcript
Page 1: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

1

EE241 - Spring 2005Advanced Digital Integrated Circuits

Lecture 18:Timing

2

Announcements

No lecture on Wednesday (Family Emergency)

Make-up lecture on Friday at 3pm by Dejan Markovic(to be confirmed)

Page 2: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

2

3

Timing Overview

Synchronization Approaches

Synchronous SystemsTiming methodologies

Latching elements

Clock distribution

Clock generation

Asynchronous Systems

4

References

Chapter 11 – Clocked storage elements, by H. Partovi

High-speed CMOS design styles, Bernstein, et al, Kluwer 1998.

Unger/Tan IEEE Trans. Comp. 10/86

Harris/Horowitz JSSC 11/97

Messerschmitt JSAC 10/90Stojanović/Oklobdžija JSSC 4/99

Page 3: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

3

5

Issues in Timing

D. Messerschmitt, Oct 1990

Boolean signal - stream of 0’s and 1’s, generated by saturating circuits and bistable memory elements

but …finite rise and fall times inter-symbol interference

metastability leads to non-deterministic behavior

signal transitions are crucialtypically defined with respect to slicer/sampler

associated clock with uniformly spaced transitions

0 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1

6

Boolean signalBoolean signal

Isochronousf + Δf = constant

Anisochronousf + Δf ≠ constant

SingleSingle

Clock signal :

f + Δf average frequency

dφ/dt instantaneous frequency deviation

Issues in Timing

“equal” “not equal”

Page 4: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

4

7

Issues in Timing

Synchronousf + Δf identicalΔφ(t) = 0 (or known)

Asynchronous

MesochronousΔφ(t) variable (but bounded)

PlesiochronousAverage Frequencyalmost the same

HeterochronousNominallyDifferent freq

“together” “not together”

“near”

“middle” “different”

Two Boolean SignalsTwo Boolean Signals

8

Some Definitions

Signals that can only transition at predetermined times with respect to a signal clock are called “{syn,meso,plesio}chronous”

An asynchronous signal can transition at any arbitrary time.

Page 5: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

5

9

Some Definitions (contd)

Synchronous Signal: exactly the same frequency as local clock, and fixed phase offset to that clock.

Mesochronous Signal: exactly the same frequency as local clock, but unknown phase offset.

Plesiochronous Signal: frequency nominally the same as local clock, but slightly different

Mesochronous and plesiochronous concepts are very useful for thedesign of systems with long interconnections, and/or multipleclock domains

10

Some other definitions

Page 6: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

6

11

Synchronous Computation

ts

tp ts

to + T + tp ≥ to+ts

orT ≥ ts-tp

Length of uncertainty is a fundamental property of the computational blockLength of certainty period is function of clock period

12

Clocking Requirements

T > ts - tp

or T can be smallerthan ts (or tpmax)

Page 7: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

7

13

Synchronous Computation

Adding extra uncertainty:- Clock skew (random but bounded) δmax- interconnect delay (random but bounded) dmax

14

The Timing Uncertainty

Tgate,nom

t

Tclock, worst

Due to data dependenciesand device variations

To clock skew and jitterand fab. variations

Tclock, nom

Uncertainty

Page 8: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

8

15

The Timing Uncertainty – Spooling Forward

Tgate,nom

t

Tclock

Uncertainty!!!!

Larger fraction of clock period devoted to uncertainty,negating speed gate of scaled technologies

16

Mesochronous Interconnect

clock

synchronous

islandData synchronous

island

Phase Generator

Select

PhaseDetect

DataR1 R2

Clock

Local Synchronization

samples in certainty period of signal

(local)

Page 9: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

9

17

Mesochronous Communication

R1Interconnect R2

ClkA

D2

Block ADelay

Block B

ClkB

D4

Control

D1

D3

VariableDelay Line

Timing Recovery

18

Plesiochronous Communication

Originating ReceivingFIFO

TimingClock C1

Clock C 2

Module Module

Recovery

C3

Does only marginally deal with fast variations in data delay

Page 10: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

10

19

Anisochronous Interconnect

20

Synchronous Pipelined Datapath

In

tpd,reg tpd1

DR1

Q

CLK

LogicBlock #1

tpd2

DR2

QLogic

Block #2

tpd3

DR3

Q DR4

QLogic

Block #3

Page 11: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

11

21

Latch versus Flip-Flop

Latchstores data when clock is low (high)

D

Clk

Q D

Clk

Q

Flip-Flop (or Register)

stores data when clock rises (falls)

Clk Clk

D D

Q Q

22

Latch Parameters

D

Clk

Q

D

Q

Clk

TClk-Q

TH

PWmTSU

TD-Q

Delays can be different for rising and falling data transitions

Unger and TanTrans. on Comp.10/86

Page 12: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

12

23

Flip-Flop (Register) Parameters

D

Clk

Q

D

Q

Clk

TClk-Q

TH

PWm

TSU

Delays can be different for rising and falling data transitions

24

Example Clock System

Courtesy of IEEE Press, New York. © 2000

Page 13: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

13

25

Clock Nonidealities

Clock skewSpatial variation in temporally equivalent clock edges; deterministic + random, tSK

Clock jitterTemporal variations in consecutive edges of the clock signal; modulation + random noise

Cycle-to-cycle (short-term) tJSLong term tJL

Variation of the pulse width for level sensitive clocking

26

Clock Skew and Jitter

Both skew and jitter affect the effective cycle time

Only skew affects the race margin

Clk

Clk

tSK

tJS

Page 14: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

14

27

Clock Uncertainties

2

4

3

Power Supply

Interconnect

5 Temperature

6 Capacitive Load

7 Coupling to Adjacent Lines

1 Clock Generation

Devices

Sources of clock uncertainty

28

Clock Skew

# of registers

Clk delayInsertion delay

Max Clk skew

Earliest occurrenceof Clk edgeNominal – δ/2

Latest occurrenceof Clk edge

Nominal + δ /2

δ

Page 15: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

15

29

Positive and Negative Skew

R1In

(a) Positive skew

CombinationalLogicD Q

tCLK1CLK

delay

tCLK2

R2

D Q CombinationalLogic

tCLK3

R3• • •D Q

delay

R1In

(b) Negative skew

CombinationalLogicD Q

tCLK1

delay

tCLK2

R2

D Q CombinationalLogic

tCLK3

R3• • •D Q

delay CLK

30

Positive Skew

CLK1

CLK2

TCLK

δ

TCLK + δ

+ thδ

2

1

4

3

Launching edge arrives before the receiving edge

Page 16: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

16

31

Negative Skew

CLK1

CLK2

TCLK

δ

TCLK + δ

2

1

4

3

Receiving edge arrives before the launching edge

32

Longest Logic Path in Edge-Triggered Systems

Clk

P

TSU + Tsk + TJS

TClk-QTLM

Latest point of launching

Earliest arrivalof next cycle

Unger and TanTrans. on Comp.10/86

Page 17: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

17

33

Clock Constraints in Edge-Triggered Systems

JSskSULMQMclk TTTTTP ++++≥ −

LMQMclkSUJSsk TTTTTP +≥−+− −

If launching edge is late and receiving edge is early, the data will not be too late if:

Minimum cycle time is determined by the maximum delays through the logic

‘Double-sided’ definitions of setup and jitter

34

Shortest Path

ClkTClk-Q TLm

Earliest point of launching

Data must not arrivebefore this time

ClkTH

Nominalclock edge

Page 18: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

18

35

Clock Constraints in Edge-Triggered Systems

Minimum logic delay

If launching edge is early and receiving edge is late:

HskLmQmclk TTTT +≥+−

QmclkHskLm TTTT −−+≥

Jitter does not really play as this concerns the same clock edge

36

Clock Constraints in Edge-Triggered Systems

Courtesy of IEEE Press, New York. © 2000

Page 19: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

19

37

Flip-Flop – Based Timing

Flip-flop

Logic

φ

φ = 1φ = 0

Flip-flopdelay

Skew

Logic delay

TSU

TClk-Q

38

Flip-Flops and Dynamic Logic

φ = 1φ = 0

Logic delay

TSU

TClk-Q

φ = 1φ = 0

Logic delay

TSU

TClk-Q

PrechargeEvaluateEvaluatePrecharge

Flip-flops are used only with static logicNo way to hide the precharge overhead

Page 20: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

20

39

Latch timing

D

Clk

Q

tD-Q

tClk-Q

When data arrives to transparent latch

When data arrives to closed latch

Data has to be ‘re-launched’

Latch is a ‘soft’ barrier

Latch insensitive to skew/jitter in transparent zone

40

Single-Phase Clock with Latches

Latch

Logic

φ

Clk

P

PW

Tskl Tskl TsktTskt

Unger and TanTrans. on Comp.10/86

sktsklsk TTT +=In Chapter 11:

Page 21: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

21

41

Preventing Late Arrivals

Clk

P PW

TSU Datamustarrive

Clk

TClk-Q TLM

TSU

Clk

TD-Q TLM

TSUPW

TSU

42

Preventing Late Arrivals

LMQMD

QMclkSUsktsklT

T

PWTTTTP +

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧ −+++

≥−

− ,max

PWTTTTTP sktsklSULMQMclk −++++≥ −

LMQMD TTP +≥ −

Or:

Page 22: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

22

43

Preventing Premature Arrivals

ClkTHPW

QmClkHsktsklLm TPWTTTT −−+++≥

TClk-Q TLm

Two cases, reduce to one:

QmClkHsktsklLm TPWTTTT −−+++≥

44

Single-Latch Timing

Latch

Logic

φ LMQMD

QMclkSUsktsklT

T

PWTTTTP +

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧ −+++

≥−

− ,max

QmClkHsktsklLm TPWTTTT −−+++≥

Bounds on logic delay:

Either balance logic delaysor make PW short

Page 23: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

23

45

Latch-Based Design

L1Latch

Logic

Logic

L2Latch

f

L1 latch is transparentwhen f = 0

L2 latch is transparent when f = 1

46

Latch-Based Timing

As long as transitions are within the assertion period of the latch,no impact of position of clock edges

Page 24: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

24

47

Latch Design and Hold Times

48

Latch-Based Timing

Longest path

LLMLHMQMD TTTP ++≥ −2

Short paths

QmClkHSKCLLm TTTT −−+≥

QmClkHSKCLHm TTTT −−+≥

Same as register-based design but holdsfor both clock edges

Independent of skew

Page 25: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

25

49

Latch-Based Timing

L1Latch

Logic

Logic

L2Latch

φ

φ = 1

φ = 0

L1 latch

L2 latch

Skew

Can tolerate skew!

Longpath

Shortpath

Static logic

50

Soft-Edge Properties of Latches

Slack passing – logical partition uses left over time (slack) from the previous partitionTime borrowing – logical partition utilizes a portion of time allotted to the next partitionMakes most impact in unbalanced pipelines

Bernstein et al, Chapter 8, Partovi, Chap 11

Page 26: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

26

51

Slack-Passing and Cycle Borrowing

For N stage pipeline, overall logic delay should be < N Tcl

52

Slack Passing Example

Edge Triggered:T = 125 nsec

Latch-based:T = 100 nsec

Page 27: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

27

53

Domino Logic with Latches

Time available to logic is P – 2TD-Q

54

Latches with Dynamic Logic

φ = 0

φ = 1

L2 latchL1 latch

Shortpath

Clock evaluates logicand opens subsequent latch:

Static signals driving dynamiclogic must be eithernon-inverting orstable before evaluation

Phase1-dominoprecharges

Phase2-dominoevaluates

Phase1-dominoevaluates

Phase2-dominoprecharges

Page 28: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

28

55

Clock Skew in Dynamic

Time penalty: TL = P – (2TD-Q + 2Tsk)

56

Non-Balanced Phase Delays

Time penalty: TL = P – (2TD-Q + 2Tsk) - Timbal

Page 29: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

29

57

Skew-Tolerant Domino

General Reference:Harris, Horowitz, “Skew-tolerant domino circuits”

ISSCC’97, JSSC 11/97

Also slides from D. Harris’s Web site:

http://www3.hmc.edu/~harris/index.html

58

Skew-Tolerant Domino

Overlap clocks:• x evaluates before y precharges• implicit latch between φ1 and φ2• no need for latch between domino phases

From [Harris]

Page 30: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

30

59

Multiple Phases

60

Precharge Phase

Page 31: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

31

61

Evaluation Phase

62

Skew Tolerance

From [Harris]

Page 32: EE241 - Spring 2005bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s06/... · 2006-05-16 · QQ 22 Latch Parameters D Clk Q D Q Clk T Clk-Q T H PW m T SU T D-Q Delays can be different

32

63

Time Borrowing


Recommended