33
inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced Digital Circuits Lecture 10 – Latch Timing February 24, 2020, imore: Report: iPhone 12 to have new short-range WiFi standard, AirTags to charge like Apple Watch A new report claims that Apple's unannounced iPhone 12 will feature a new short-range WiFi technology, called 802.11ay. This is a rumor – but it would be cool! 1 EECS241B L10 LATCH TIMING

Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

inst.eecs.berkeley.edu/~ee241b

Borivoje Nikolić

EE241B : Advanced Digital Circuits

Lecture 10 – Latch Timing

February 24, 2020, imore: Report: iPhone 12 to have new short-range

WiFi standard, AirTags to charge like Apple Watch

A new report claims that Apple's unannounced iPhone 12 will feature a new short-range WiFi technology, called 802.11ay.

This is a rumor – but it would be cool!

1EECS241B L10 LATCH TIMING

Page 2: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Announcements

• Response to project abstracts today, by e-mail• Team web pages

• Be careful not to leak proprietary info (interface tools via Hammer)

• Quiz 1 today

• Reading

• Chapter 11 (Partovi) in Chandrakasan, Fox, Bowhill

2EECS241B L10 LATCH TIMING

Page 3: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Outline

• Module 3• Flip-flop timing

• Latch-based timing

3EECS241B L10 LATCH TIMING

Page 4: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

3. Design for Performance

3.A Flip-Flop Timing

4EECS241B L10 LATCH TIMING

Page 5: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Clock Uncertainties

2

43

Power Supply

Interconnect

5 Temperature

6 Capacitive Load

7 Coupling to Adjacent Lines

1 Clock Generation

Devices

Sources of clock uncertainty

EECS241B L10 LATCH TIMING 5

Page 6: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Clock Constraints in Edge-Triggered Systems

Courtesy of IEEE Press, New York. 2000EECS241B L10 LATCH TIMING 6

Page 7: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

3.B Timing with Uncertainty/Variations

7EECS241B L10 LATCH TIMING

Page 8: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Pictorial View of Setup and Hold Tests

0 or moreswitching(s)allowed

Latest clock arrival time Earliest clock arrival time(next cycle)

Data must be stable

Hold time

Early RAT

Data must be stable

Setup time

Late RAT

Actual early AT Actual late AT

Earlyslack

Lateslack

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 8

Page 9: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

LF CF

Hold test

Handling of Across-Chip Variation

• Each gate has a range of delay: [lb, ub]• The lower bound is used for early timing• The upper bound is used for late timing

• This is called an early/late split

• Static timing obtains bounds on timing slacks• Timing is performed as one forward pass and one backward pass

LF CF

Setup test

Capturing early path

Launching late path

Capturing late path

Launching early path

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 9

Page 10: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

How is the Early/Late Split Computed?

• The best way is to take known effects into account during characterization of library cells• History effect, simultaneous switching, pre-charging of internal nodes, etc.• This drives separate characterization for early and late; this is the most accurate method

• Failing that, the most common method is derating factors• Example: Late delay = library delay * 1.05

Early delay = library delay * 0.95• The IBM way of achieving derating is LCD factors (Linear Combination of Delay) (FC=fast

chip, SC=slow chip, see next page)• Late delay = L * FC_delay + L * NOM_delay + L * SC_delay

Early delay = E * FC_delay + E * NOM_delay + E * SC_delay• Across-chip variation is therefore assumed to be a fixed proportion of chip-to-chip

variation for each cell type

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 10

Page 11: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

IBM Delay Modeling*

Intrinsic:Chip means

SystematicACV

RandomACV

Early Late Early Late

*P. S. Zuchowski, ICCAD’04

At a given cornerlate delay = intrinsic + systematic + randomearly delay = intrinsic – systematic – random

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 11

Page 12: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Traditional Timing Corners

Fast

chi

p ea

rly

Fast

chi

p la

te

Intra-chip variation

Slow

chi

p ea

rly

Slow

chi

p la

te

Intra-chip variation

Chip-to-chip variation

Fast chip Slow chip

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 12

Page 13: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

The Problem with an Early/Late Split

• The early/late split is very useful• Allows bounds during delay modeling• Any unknown or hard-to-model effect can be swept under the rug of an

early/late split• But, it has problems

• Additional pessimism (which may be desirable)• Unnecessary pessimism (which is never desirable)

LF CF

Setup test

Capturing early path

Launching late path

This physically commonportion can’t be both fastand slow at the same time

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 13

Page 14: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

How to Have Less Pessimism?

• Common path pessimism removal

• Account for correlations

• Credit for statistical averaging of random

EECS241B L10 LATCH TIMING 14

Page 15: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Statistical Timing

• Deterministic

• Statistical

a

b

c++ MAX

b

a

c++ MAX

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 15

Page 16: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Statistical Max Operation

*C. E. Clark, “The greatest of a finite set of random variables,” OR Journal, March-April 1961, pp. 145—162**M. Cain, “The moment-generating function of the minimum of bivariate normal random variables,” American Statistician, May ’94, 48(2)

EECS241B L10 LATCH TIMING 16

Page 17: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Unified View of Correlations

Independentlyrandom part

Spatially correlated part:within-chip distance-related correlation

Globally correlated part: chip-to-chip, wafer-to-wafer, batch-to-batch variation

1

0 Distance

Correlation Coefficient

Rrii XaXaaD 0

ICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 17

Page 18: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Spatial Correlation vs. Early/Late Split

LF1 LF2 CFLF3

early clock

0

1

2

3

4 6

7

8

9

10

5 11

12

13

14

15

16

17 19

20

21

22

23

18 24

25

26

27

28

29

30 32

33

34

35

36

31 37

38

39

40

41

42

43 45

46

47

48

49

44 50

51

52

53

54

55

56 58

59

60

61

62

57 63

64

65

66

67

68

69 71

72

73

74

75

70 76

77

7879

8081

82 84

85

86

87

88

83 89

90

Dependence on common virtual variables cancels out at the timing testICCAD '07 Tutorial Chandu VisweswariahEECS241B L10 LATCH TIMING 18

Page 19: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

3.C Latch Timing

19EECS241B L10 LATCH TIMING

Page 20: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Key Point

• Latch-based sequencing can improve performance, but is more complicated

• Timing analysis not limited to a consecutive pair of latches

EECS241B L10 LATCH TIMING 20

Page 21: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Latch Timing

D

Clk

Q

tDQ

tCQ

When data arrives to transparent latch

When data arrives to non-transparent latch

Data has to be ‘re-launched’

Latch is a ‘soft’ barrier

EECS241B L10 LATCH TIMING 21

Page 22: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Latch Sequencing

D

Clk

Q D

Clk

Q

D

Clk

Q

Clk1 Clk2

D

Clk

Q D

Clk

Q

Logic

Logic Logic

Clk1

Clk Clk

EECS241B L10 LATCH TIMING 22

Page 23: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Preventing Late Arrivals

EECS241B L10 LATCH TIMING 23

D

Clk

Q D

Clk

QLogic

Clk Clk

Clk

tCY PW

TSU Late RAT

Clk

TCQ TLM

TSU

Clk

TDQ TLM

TSUPW

TSU

Early RAT

Data can launch during transparency

Page 24: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Preventing Premature Arrivals

• Data should not be able to race through during transparency

ClkTHPW

TCQ TLm

EECS241B L10 LATCH TIMING 24

Page 25: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Two-Phase Latch-Based Design

• Two-phase non-overlapping is safer, but adds margin

L1Latch Logic

Logic

L2Latch

Clk

L1 latch is transparentwhen Clk = 1

L2 latch is transparent when Clk = 0

EECS241B L10 LATCH TIMING 25

Page 26: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Latch-Based Timing

• Single-phase, two-latch

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

EECS241B L10 LATCH TIMING 26

Page 27: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Latch Design and Hold Times

EECS241B L10 LATCH TIMING 27

Page 28: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Soft-Edge Properties of Latches• Slack passing – logical partition uses left over time (slack) from the

previous partition• Time borrowing – logical partition utilizes a portion of time allotted to

the next partition• Makes most impact in unbalanced pipelines

Bernstein et al, Chapter 8, Chandrakasan, Chap 11 (by Partovi)

EECS241B L10 LATCH TIMING 28

Page 29: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Slack Passing and Time Borrowing

EECS241B L10 LATCH TIMING 29

D

Clk

Q D

Clk

QLogic

Clk Clk

ClktCY/2

tlogic

D

Clk

Q

Clk

Logic

tCY/2

tDQtlogictDQ

Page 30: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Slack Passing and Time Borrowing

• Slack passed

EECS241B L10 LATCH TIMING 30

D

Clk

Q D

Clk

QLogic

Clk Clk

ClktCY/2

tlogic

D

Clk

Q

Clk

Logic

tCY/2

tDQtlogictDQ

slack

Page 31: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Slack Passing and Time Borrowing

EECS241B L10 LATCH TIMING 31

D

Clk

Q D

Clk

QLogic

Clk Clk

ClktCY/2

tlogic

D

Clk

Q

Clk

Logic

tCY/2

tDQtlogictDQ

• Time borrowed

Page 32: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Slack-Passing and Cycle Borrowing

For N stage pipeline, overall logic delay should be < N TclEECS241B L10 LATCH TIMING 32

Page 33: Lecture 10 – Latch Timing Borivoje Nikolićinst.eecs.berkeley.edu/~ee241b/sp20/Lectures/Lecture10-Latches... · • Additional pessimism (which may be desirable) • Unnecessary

Next Lecture

• Flip-flops

EECS241B L10 LATCH TIMING 33