Chapter 5 Static Timing Analysis

November 15, 2017 | Author: jeevan_rao | Category: Electronic Design, Electronic Engineering, Digital Electronics, Electronics, Computer Engineering
Share Embed Donate


Short Description

Download Chapter 5 Static Timing Analysis...

Description

Static Timing Analysis Instructor: Tel: Email:

陳麒旭 03-5773693 ext.149 [email protected]

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

1

Timing Analysis Dynamic Timing Analysis (DTA)  Static Timing Analysis (STA) 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2

Dynamic Timing Analysis 

So-called Simulation ¾ ¾



Input vectors are applied during the simulation time Simulator calculates the logic value and delays

Disadvantages of DTA ¾

Virtually impossible to do exhaustive analysis • •

¾

¾

Vector creation takes too long Incomplete timing coverage

Hard to discern the cause of failure because the function and timing are analyzed at the same time Requires more memory and CPU resources over STA • •

Long simulation time Capacity limited

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

3

Static Timing Analysis (1/2) A method for determining if a circuit meets timing constraints without having to simulate clock cycles  Three main steps 

¾ ¾ ¾

Break the design into sets of timing paths Calculate the delay of each path (create timing graph) Check all path delays to see if the given timing constraints are met

IN

D

Q QN

D

Q

OUT

QN

CLK

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

4

Static Timing Analysis (2/2)

IN

D

Q QN

D

Q

OUT

QN

CLK

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

5

Static Timing Analysis Reduction

 IBM’s Hitchcock (70’s)

observed that you could exhaustively test all behaviors within a single clock cycle

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

6

Advantages of STA Exhaustive timing coverage  Does not require input vectors  More efficient than DTA in memory and CPU resources 

¾ ¾

Faster operation Capacity for millions of gates

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

7

Disadvantages of STA For synchronous logic only  Difficult to learn  Tricky constraints beyond the boundaries of single clock flip-flop design chips: 

¾ ¾ ¾ ¾



Multiple clocks False paths Latches Multi-cycle paths

Lack of consistent conventions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

8

Review Main Steps of STA Break the design into sets of timing paths  Calculate the delay of each path (create timing graph)  Check all path delays to see if the given timing constraints are met 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

9

Four Types of Timing Paths

Start Point: clock pin of sequential device End Point: data input pin of sequential devices

Start Point: primary input port End Point: data input pin of sequential devices

Start Point: clock pin of sequential device End Point: primary output port

Start Point: primary input port End Point: primary output port

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

10

Timing Path Example How many start points are in this design?  How many end points are in this design?  How many timing paths are in this design? 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

11

Create Timing Graph     

Netlist is represented as directed acyclic graph (DAG) Delay values associated with links (Cells & Nets) are calculated Create the timing graph of arrival time (AT) Create the timing graph of required time (RT) Create the slack graph ¾

Timing is met when slack is greater than or equal to zero (RT should always be after AT)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

12

Timing Graph – Arrival Time 1.45

0.3 0.1 0.4

Tarr = 0.1

0.2

1.55 0.1 0.15

0.55

0.15

1.3 0.1

Timing Arc

0.1

1.2 0.65 0.20.85 0.1 0.2 0.7

0.3 0.4

0.2 0.9 1.0 0.1

0.2 0.1 0.2 0.6

0.1 1.3

Tarr = 0.1

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

13

Timing Graph – Required Time

0.3 0.1 0.4 0.1

0.2

1.4

0.15

1.25 0.1

0.05

0.15 0.1

0.55

Treq = 1.5

0.1

1.15 0.65 0.20.85 0.1 0.2 1.4 0.65 0.2 0.95 0.25 0.35 0.1 0.2 0.1 0.2 0.55

0.1

Tarr = 1.5

setup time case Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

14

Slack Graph 0

0

-0.05 -0.05

0 -0.05

0 0 -0.05

-0.05

-0.05

-0.05

-0.05 -0.05

0.2

-0.05 -0.55

Slack = Required Time – Arrival Time setup time case Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

15

Block -based vs. Path -based STA (1/2) Block-based Path-based 

Block-based: timing information is associated with discrete design elements (ports, pins, gates) ¾



Slack is calculated on every design element

Path-based: timing information is associated with topological paths (collections of design elements) ¾

Used in Primetime

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

16

Block -based vs. Path -based STA (2/2) Block-based Path-based Path-based:

AT=2 3 1 AT=5

AT=2

2 1 3 2

RAT=10

3 1

AT=2 RAT=5

3 1 AT=5 AT=5 RAT=4

2 1

AT=7 RAT=7

Block-based: 3 2

AT=6 RAT=5

3 1

2+2+3 = 7 (OK) 2+3+1+3 = 9 (OK) 2+3+3+2 = 10 (OK) 5+1+1+3 = 10 (OK) 5+1+3+2 = 11 (Fail) 5+1+2 = 8 (OK)

AT=9 RAT=8

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

RAT=10 AT=11 RAT=10

Critical path is determined as collection of gates with the same, negative slack: In our case, we see one critical path with slack = -1

17

Timing Arcs Describes the timing relationship between two nodes  When traversing the design structure to update AT and RT, STA is actually traversing through timing arcs from node to node  Defined in cell library 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

18

Combinational Arcs 

Combinational arcs (Timing delay) ¾ ¾ ¾

Combinational arcs are the default arcs Each combinational arc has one of three timing senses Timing senses are specified in the library or automatically derived from the logic function

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

19

Setup Timing Arcs 

Setup arcs (Timing check) ¾

Constrains the time before the active clock edge when the data needs to be stable • •

setup_rising setup_falling

CK

D

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

20

Hold Timing Arcs 

Hold arcs (Timing check) ¾

Constraints for the time after the active clock edge when the data still needs to be stable • •

hold_rising hold_falling

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

21

Edge Arc Types 

Edge arcs (Timing delay) ¾

After a launching clock edge, the clock node is converted to a data node • •

falling_edge rising_edge

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

22

Preset and Clear Types 

Preset and Clear arcs (Timing delay) ¾

After an active asynchronous signal occurs, the time the data appears at the output of the register • •

¾

positive_preset / negative_preset positive_clear / negative_clear

These arcs are often disabled

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

23

Recovery Types 

Recovery arcs (Timing check) ¾

The amount of time before an active clock edge an asynchronous signal needs to be inactive • •

recovery_rising recovery_falling

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

24

Removal Arcs 

Removal arcs (Timing check) ¾

The amount of time after an active clock edge an asynchronous signal needs to be inactive • •

removal_rising removal_falling

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

25

Three State Arcs 

Three state enable & disable arcs (Timing delay) ¾

Special timing relationship for three state activation • •

three_state_enable three_state_disable

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

26

Minimum Pulse Width Types 

Width arcs (Timing check) ¾

The amount of time a signal needs to remain stable • •

nochange_high nochange_low

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

27

Timing Verification Items 

Timing Checks ¾ ¾ ¾ ¾ ¾ ¾



Setup time Hold time Recovery time Removal time Minimum pulse width Glitch detection (clock gating) Å User-defined

Design Rule Checks ¾ ¾ ¾

Max capacitance Max transition Max fan-out

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

28

Clock Gating Checks D

Q

D

QN

Q QN

Enable

U1

CLK Setup Margin

Hold Margin

CLK Enable Enable

Distorted Clock Waveform Gated_Clock Enable

Glitch due to late arrival time of Enable Gated_Clock Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

29

Data Preparation for STA Gate-level Netlist

Back-annotated Parasitic

Design Data

Interconnect Data

Block Models

Estimated Wire Load Models

STA Descriptions of Clocks Cell Library Library Data

Timing Constraints Boundary Conditions

Operating Conditions Timing Exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

30

Library Data 

Cell Delay model ¾ ¾



Linear model Non-linear model

Operating conditions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

31

delay time (ns)

Linear Cell Delay Model

T0

Cell Delay = T0 + Ac * Cload

output capacitance load (pf) T0 : cell pin to pin intrinsic delay (delay without any loading) Ac : drive impedance

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

32

Non -linear Cell Delay Model Non-linear Delay values are stored in the delay tables  Delay tables 

¾ ¾

Cell delay Transition delay

50%

Vin

50%

Vout 20%

I1 I2 Dtransition(I1)

Dc

Dtransition(I2) I3

Req

Dcell(I2) Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

80%

Ceq 33

Delay Tables Cell Delay

Dcell(I2) = f(Dtransition(I1), Ceq)

Transition Delay

Dtransistion(I2) = g(Dtransition(I1), Ceq)

Output Capacitance

Input Transition 0

0.5

1

0.1

0.123

0.234

0.456

0.2

0.222

0.432

0.801

Vin I1 I2 Dtransition(I1)

index1: input transition Index2: output capacitance

Dc Vout Dtransition(I2) I3

Req

Dcell(I2) Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

Ceq 34

Select the Correct Delay Table 

According to output transition direction ¾ ¾



rise table fall table

F

Output transition direction depends on unateness ¾ ¾ ¾

invert (positive_unate) noninvert (negative_unate) nonunate •



R

The worst case delay is selected

R or F R

Consider the clock edge for sequential cells ¾ ¾

edge_rising edge_falling

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

35

Operating Conditions The process, voltage, and temperature (PVT) ranges a design encounters  Specified in the technology library  Cell and interconnect delays are scaled 

Dscale = D (1 + ∆ P K P )(1 + ∆V KV )(1 + ∆ T K T ) ∆ P = Pr ocess − nom _ process / ∆V = Voltage − nom _ voltage ∆ T = Temperature − nom _ temperature delay

delay Worst

delay

Worst Typical

Worst

Best Typical

Typical Best

Best Process

Voltage

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

Temperature 36

Data Preparation for STA Gate-level Netlist

Back-annotated Parasitic

Design Data

Interconnect Data

Block Models

Estimated Wire Load Models

STA Descriptions of Clocks Cell Library Library Data

Timing Constraints Boundary Conditions

Operating Conditions Timing Exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

37

Define Timing Constraints 

Design rule constraints ¾ ¾ ¾



Set fan-out constraints Set capacitance constraints Set transition time constraints

Design optimization constraints ¾ ¾ ¾ ¾

Define clock specification Specify boundary conditions (I/O timing requirements) Specify combinational path delay requirements Specify timing exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

38

Define Clock Specification We need to accurately specify the clock including the clock routing details in the early design stage in order to achieve timing convergence  What should be defined? 

¾ ¾ ¾

Period Waveform Latency • •

¾

Uncertainty • •



Source latency Network latency Jitter Skew

All register-to-register path are constrained now

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

39

Clock Period & Waveform Period: Clock cycle time  Waveform: Clock rise and fall time  Example: 

¾ ¾ ¾

Period: 10ns Rise time: 0ns Fall time: 5ns

clock 0

5

10

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

40

Clock Latency 

A very important part of the clock is the routing effects: ¾

Off Chip cause: •

¾

Source latency (delay): the timing a clock signal takes to propagate from its ideal waveform original point to the clock definition point

On Chip cause: •



Budgeted network latency (delay) : the time the clock signal takes to propagate from the clock definition point to the clock pin of the sequential cells Actual insertion delay D Q QN

network latency source latency (min_rise : max_rise : min_fall : max_fall) Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

41

Clock Uncertainty Definition 

The maximum difference between the arrival of clock signals at sequential cells in one clock domain or between domains P1 FF

P4 FF

P2 P3

FF

Arrival(P1) Arrival(P2) Arrival(P3) Arrival(P4)

= = = =

0.5ns 1ns 1.2ns 1.3ns

uncertainty = 1.3 – 0.5 = 0.8ns FF

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

42

Clock Uncertainty 

A very important part of the clock is the routing ¾

Off Chip impact: •

¾

Jitter: typically a small value

On Chip impact: • •

Budgeted skew Actual skew

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

43

Ideal and Computed Clocks 

Off chip clock effects are fixed throughout flow: ¾ ¾



On chip routing is estimated till clock tree routing ¾ ¾



Source Latency Jitter Budgeted network latency Budgeted skew

On chip routing is calculated after clock tree routing ¾ ¾

Actual insertion delay (network latency) Actual skew

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

44

Define Timing Constraints 

Design rule constraints ¾ ¾ ¾



Set fan-out constraints Set capacitance constraints Set transition time constraints

Design optimization constraints ¾ ¾ ¾ ¾

Define clock specification Specify boundary conditions (I/O timing requirements) Specify combinational path delay requirements Specify timing exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

45

I/O Constraints 

After constraining clock, we still need to constrain the I/O ¾ ¾

Only comboin needs a "budgeted" arrival time Only combout needs a "budgeted" required time

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

46

Boundary Conditions     

Input driving cell Input transition time Output capacitance load Input delay Output delay D

Q

Driving Cell INV01

b 5pf

QN

Output Capacitance Load Input Transition Time

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

47

Input & Output Delay An input delay is the specification of an arrival time at an input port relative to a clock edge  An output delay represents an external timing path from am output or inout port to a register 

Input delay = Delayclk-Q + a Q

a

Input Block

Q

My Design

b

c

Output Block Output delay = c

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

48

Define Timing Constraints 

Design rule constraints ¾ ¾ ¾



Set fan-out constraints Set capacitance constraints Set transition time constraints

Design optimization constraints ¾ ¾ ¾ ¾

Define clock specification Specify boundary conditions (I/O timing requirements) Specify combinational path delay requirements Specify timing exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

49

Constraint Combinational Path Delay Set a target maximum delay for output ports  Override the default single-cycle timing for paths  Set a target minimum delay for output ports  Override the default hold relation in a sequential path 

IN

Logic

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

Out

50

Define Timing Constraints 

Design rule constraints ¾ ¾ ¾



Set fan-out constraints Set capacitance constraints Set transition time constraints

Design optimization constraints ¾ ¾ ¾ ¾

Define clock specification Specify boundary conditions (I/O timing requirements) Specify combinational path delay requirements Specify timing exceptions • •

False Path Multi-cycle path

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

51

False Path 

Why are there false path constraints in a design? ¾

¾

¾

¾

¾

A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

52

Unexercised Path 

A path may exist in the circuit but never be used in its normal functional operation ¾

A test register PROBE is inserted in the circuit to enable chip debugging in the field. Data can be read through the probe register. Data can be written from the probe register. Probing would not occur at speed. (An alternative to scan)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

53

False Path 

Why are there false path constraints in a design? ¾

¾

¾

¾

¾

A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

54

Irrelevant Path 

A functional path may exist but the timing is so slow or irrelevant ¾

The chip uses a synchronized synchronous reset. The reset cycle has a huge number of cycles before it needs to settle.

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

55

Asynchronous Path 

A functional path may exist but the timing is so slow or irrelevant ¾

I have metastabilization registers between those two asynchronous clock zones

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

56

False Path 

Why are there false path constraints in a design? ¾

¾

¾

¾

¾

A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

57

IP Reuse 

A block may be reused and certain signal functions are no longer required ¾

This piece of logic is a custom adder. With design re-use, often the blocks contain all of the potentially useful functions. When the design is implemented in a chip, often particular signals are not implemented

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

58

False Path 

Why are there false path constraints in a design? ¾

¾

¾

¾

¾

A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

59

Logically Impossible Path 

A path may exist in the circuit but no combination of input vectors may ever exercise it ¾

¾

¾

A signal cannot travel from the Q output of a_reg through the two muxes to b_reg PrimeTime attempts to automatically detect "logically impossible false paths“ (requires many CPU cycles) These situations are quite rare

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

60

False Path 

Why are there false path constraints in a design? ¾

¾

¾

¾

¾

A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

61

Combinational Loops 

A combinational loop exists in the design that needs to be broken ¾

¾

Most STA’s can’t leave combinational loops in the design, as a race condition will occur PrimeTime dynamically breaks combinational loops.

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

62

Break Combinational Loops Break any reset arc (unusually specified)  Break a three-state enable arc  Break at the first loop re-entry point  Break arcs in the library 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

63

Define Timing Constraints 

Design rule constraints ¾ ¾ ¾



Set fan-out constraints Set capacitance constraints Set transition time constraints

Design optimization constraints ¾ ¾ ¾ ¾

Define clock specification Specify boundary conditions (I/O timing requirements) Specify combinational path delay requirements Specify timing exceptions • •

False Path Multi-cycle path

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

64

Multicycle Paths 

Multicycle paths occur because the designer knows that the particular logic function will not be used till a later cycle

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

65

Data Preparation for STA Gate-level Netlist

Back-annotated Parasitic

Design Data

Interconnect Data

Block Models

Estimated Wire Load Models

STA Descriptions of Clocks Cell Library Library Data

Timing Constraints Boundary Conditions

Operating Conditions Timing Exceptions

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

66

Interconnect Data Estimated delay information for nets based on a wire load model is used before P&R  Back-annotated (Actual) delay information based on the P&R result is often described in the form of 

¾

SDF (timing information) – Standard Delay Format •

¾ ¾ ¾

SDF triplet: (min:typ:max)

RSPF – Reduced Standard Parasitic Format DSPF – Detailed Standard Parasitic Format SPEF – Standard Parasitic Exchange Format •

SPEF also has syntax that allows the modeling of capacitance between different nets, so it is used by the crosstalk analysis tool

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

67

Wireload Model 

Very inaccurate!

500um x 500um 1000um x 1000um

wire_load (“500”) ( resistance : 3.0 capacitance: 1.3 area: 0.04 slop: 0.15 fanout_length ( 1 , 2.1 ) fanout_length ( 2 , 2.5) fanout_length ( 3 , 2.8) fanout_length ( 4 , 3.3)

/* R per unit length*/ /* C per unit length */ /* area per unit length */ /* extrapolation slope*/ /* fanout-length pairs */

Cwire = (fanout=3, length =2.8) x capacitance coefficient (1.3) = 3.64 load units Rwire = (fanout=3, length =2.8) x resistance coefficient (3.0) = 8.4 resistance units AreaNet = (fanout=3, length =2.8) x area coefficient (0.04) = 0.112 net area units Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

68

Wireload Modes

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

69

Parasitic Model During P&R 

Compute wire length ¾ ¾ ¾



Compute parasitic value ¾ ¾



Ideal Manhattan Model Computed Manhattan Model Global Routing Model Linear parasitic model Table lookup parasitic model

Calculate wire delay ¾ ¾

Elmore Model Final Layout Model

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

70

Ideal Manhattan Model

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

71

Computed Manhattan Model

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

72

Global Routing Model

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

73

Table Lookup Parasitic Model 

Table-Look-Up (TLU) Capacitance model ¾

CapTable •

¾

cap_value = f(configuration, width, spacing)

CapModel •



Assign CapTable to the reference layer according to the configuration Capacitances are categorized into bottom, top and lateral group

M2

top

air M1

lateral substrate

Poly configuration1

configuration2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

bottom

configuration3 74

Elmore Model

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

75

Final Layout Model 

AWE (Extraction Based) Model ¾ ¾

p1 , p2 – Poles r1 , r2 - Residues

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

76

Perform Static Timing Analysis Gate-level Netlist Block Models Cell Library Operating Conditions

Descriptions of Clocks Boundary Conditions

Back-annotated Parasitic

Specify design data & libraries

Estimated Wire Load Models

Specify interconnect Specify timing constraints

Constraint Violation Reports

Path Timing Reports

Timing Exceptions

Check Timing Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

77

STA Example 1 (Assumptions)       

Check setup time violations Assume all gates have 3ns max rise delay and 2ns min rise delay Assume all gates have 2ns max fall delay and 1ns min fall delay Assume all nets have 2ns max delay and 1ns min delay 3ns CLK-Q delay 1ns setup time (Ts) 1ns hold time (Th)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

78

STA Example 1 (Timing Constraints) 

Clock definition ¾ ¾ ¾ ¾



Clock period: 14ns (Dclkp) Clock source latency: 2ns (Dclks) Clock network latency: 3ns (Dclkn) Clock uncertainty: 1ns (Dclku)

IO constraints ¾ ¾

Input delay of A, B, C: 1ns (Da , Db , Dc) Output delay of Y: 3ns (DY)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

79

STA Example 1 (Timing Paths)

Timing Path 1 Timing Path 2 Timing Path 3 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

80

STA Example 1 (AT of Path1 - Rise) 

Timing path 1: PI to clock data input ¾

Arrival time at end point: Da+2+3+2+3+2 = 13ns source clock (ideal)

launch edge 13 14

0

capture edge

target clock (ideal)

AT

R

2

Why are the delay values chosen?

AT = 13 3

R 2

R

2

3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

81

STA Example 1 (AT of Path1 - Fall) 

Timing path 1: PI to clock data input ¾

Arrival time at end point: Da+2+2+2+3+2 = 12ns source clock (ideal)

launch edge 12

0

14 capture edge

target clock (ideal)

AT

F

2

Why are the delay values chosen?

AT = 12 2

F 2

R

2

3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

82

STA Example 1 (RT of Path1 - R/F) 

Timing path 1: PI to clock data input ¾

Required time at end point: Dclkp + Dclks + Dclkn - Dclku - Ts = 14+2+3-1-1 = 17ns source clock (ideal)

launch edge 0

14 target clock (ideal) 16

target clock (source)

capture edge 19 target clock (source+network) 18 RT 17 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

target clock (source+network +uncertainty) setup time

83

STA Example 1 (Slack of Path1 - Rise) 

Timing path 1: PI to clock data input ¾ ¾

Slack at end point: RT - AT = 17-13 = 4ns Timing is met since slack is greater than 0 R

2

AT = 13 RT = 17 3

R 2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

R

2

3

84

STA Example 1 (Slack of Path1 - Fall) 

Timing path 1: PI to clock data input ¾ ¾

Slack at end point: RT - AT = 17-12 = 5ns Timing is met since slack is greater than 0

F

AT = 12

2

RT = 17 2

F 2

R

2

3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

85

STA Example 1 (AT of Path2 - Rise) 

Timing path 2: clock to clock data input ¾

Arrival time at end point: Dclks + Dclkn +3+2+3+2+3+2 = 20ns source clock (ideal) 0

19 20

14

5 launch edge

AT

Why are the delay values chosen?

AT = 20 3

R2

3

R 2 3

source clock (source +network)

2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

R

86

STA Example 1 (AT of Path2 - Fall) 

Timing path 2: clock to clock data input ¾

Arrival time at end point: Dclks + Dclkn +3+2+2+2+3+2 = 19ns source clock (ideal) 0

19

14

5 launch edge

AT

Why are the delay values chosen?

AT = 19 3

F2

2

F 2 3

source clock (source +network)

2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

R

87

STA Example 1 (RT of Path2 - R/F) 

Timing path 2: clock to clock data input ¾

Required time at end point: Dclkp + Dclks + Dclkn - Dclku - Ts = 14+2+3-1-1 = 17ns source clock (source+ network)

launch edge 0

5

14

target clock (ideal) 16

target clock (source)

capture edge 19 target clock (source+network) 18 RT 17 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

target clock (source+network +uncertainty) setup time

88

STA Example 1 (Slack of Path2 - Rise) 

Timing path 2: clock to clock data input ¾ ¾

Slack at end point: RT - AT = 17-20 = -3ns Timing is not met since slack value is negative

AT = 20 3

R2

3

RT = 17 R 2 3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2

R

89

STA Example 1 (Slack of Path2 - Fall) 

Timing path 2: clock to clock data input ¾ ¾

Slack at end point: RT - AT = 17-19 = -2ns Timing is not met since slack value is negative

AT = 19 RT = 17 3

F2

2

F 2 3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2

R

90

STA Example 1 (AT of Path3 - Rise) 

Timing path 3: clock to PO ¾

Arrival time at end point: Dclks + Dclkn +3+2+3+2= 15ns source clock (ideal) 0

5 launch edge

14 15 source clock (source +network)

AT

3 R

AT = 15

2

R 3 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2 91

STA Example 1 (AT of Path3 - Fall) 

Timing path 3: clock to PO ¾

Arrival time at end point: Dclks + Dclkn +3+2+2+2= 14ns source clock (ideal) 0

14

5 launch edge

source clock (source +network)

AT

3 F

AT = 14

2

F 2 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2 92

STA Example 1 (RT of Path3 - R/F) 

Timing path 3: clock to PO ¾

Required time at end point: Dclkp - DY = 14-3 = 11ns source clock (source+ network)

launch edge 0

5

11

14

target clock (ideal) output delay

RT

3 F

RT = 11

2

F 2 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

D

Q

3

QN

2 93

STA Example 1 (Slack of Path3 - Rise) 

Timing path 3: clock to PO ¾ ¾ ¾

Slack at end point: RT - AT = 11-15 = -4ns Timing is not met since slack value is negative This is the critical path

AT = 15

3 R

D

RT = 11

2

Q

3 R 3

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

QN

2

94

STA Example 1 (Slack of Path3 - Fall) 

Timing path 3: clock to PO ¾ ¾

Slack at end point: RT - AT = 11-14 = -3ns Timing is not met since slack value is negative

AT = 14

3 F 2

F 2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

D

RT = 11

Q

3

QN

2

95

STA Example 2 (Assumptions)       

Check hold time violations Assume all gates have 3ns max rise delay and 2ns min rise delay Assume all gates have 2ns max fall delay and 1ns min fall delay Assume all nets have 2ns max delay and 1ns min delay 3ns CLK-Q delay 1ns setup time (Ts) 1ns hold time (Th)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

96

STA Example 2 (Timing Constraints) 

Clock definition ¾ ¾ ¾ ¾



Clock period: 14ns (Dclkp) Clock source latency: 2ns (Dclks) Clock network latency: 3ns (Dclkn) Clock uncertainty: 1ns (Dclku)

IO constraints ¾ ¾

Input delay of A, B, C: 1ns (Da , Db , Dc) Output delay of Y: 3ns (DY)

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

97

STA Example 2 (Timing Paths)

Timing Path 1 Timing Path 2 Timing Path 3 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

98

STA Example 2 (AT of Path1 – R/F) 

Timing path 1: PI to clock data input ¾

Arrival time at end point: Da+1 = 2ns source clock (ideal)

launch edge 14

0 2 capture edge AT Next Data

target clock (ideal) Why are the delay values chosen?

AT = 2 D

Q

R/F 1

1

QN

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

99

STA Example 2 (RT of Path1 - R/F) 

Timing path 1: PI to clock data input ¾

Required time at end point: Dclks + Dclkn + Dclku + Th = 2+3+1+1 = 7ns source clock (ideal)

launch edge 0

7 target clock (ideal) target clock (source) target clock (source+network) capture edge RT

target clock (source+network +uncertainty)

hold time Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

100

STA Example 2 (Slack of Path1 – R/F) 

Timing path 1: PI to clock data input ¾ ¾ ¾

D

Slack at end point: AT - RT = 2-7 = -5ns Timing is not met since slack value is negative This is the critical path

Q QN

R/F 1

1 AT = 2 RT = 7

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

101

STA Example 2 (AT of Path2 - Rise) 

Timing path 2: clock to clock data input ¾

Arrival time at end point: Dclks + Dclkn +3+1+2+1+2+1 = 15ns source clock (ideal) 0

19 20

14

5 launch edge

source clock (source +network)

AT

Next Data Why are the delay values chosen?

AT = 15 3

R1

2

R 1 2

1

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

R

102

STA Example 2 (AT of Path2 - Fall) 

Timing path 2: clock to clock data input ¾

Arrival time at end point: Dclks + Dclkn +3+1+1+1+2+1 = 14ns source clock (ideal) 0

14

5 launch edge

source clock (source +network)

AT Next Data

Why are the delay values chosen?

AT = 14 3

F1

1

F 1 2

1

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

R

103

STA Example 2 (RT of Path2 - R/F) 

Timing path 2: clock to clock data input ¾

Required time at end point: Dclks + Dclkn + Dclku + Th = 2+3+1+1 = 7ns source clock (ideal)

launch edge 0

7 target clock (ideal) target clock (source) target clock (source+network) capture edge RT

target clock (source+network +uncertainty)

hold time Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

104

STA Example 2 (Slack of Path2 - Rise) 

Timing path 2: clock to clock data input ¾ ¾

Slack at end point: AT - RT = 15-7 = 8ns Timing is met since slack is greater than 0 AT = 15 RT = 7 3

R1

2

R 1 2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

1

R

105

STA Example 2 (Slack of Path2 - Fall) 

Timing path 2: clock to clock data input ¾ ¾

Slack at end point: AT - RT = 14-7 = 7ns Timing is met since slack is greater than 0

AT = 14 RT = 7 3

F1

1

F 1 2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

1

R

106

STA Example 2 (AT of Path3 - Rise) 

Timing path 3: clock to PO ¾

Arrival time at end point: Dclks + Dclkn +3+1+2+1= 12ns source clock (ideal) 0

5 launch edge

12 source clock (source +network)

AT Next Data

3 R

AT = 12

1

R 2 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

1 107

STA Example 2 (AT of Path3 - Fall) 

Timing path 3: clock to PO ¾

Arrival time at end point: Dclks + Dclkn +1+1+1= 11ns source clock (ideal) 0

5 launch edge

11 source clock (source +network)

AT Next Data

3 F

AT = 11

1

F 1 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

1 108

STA Example 2 (RT of Path3 - R/F) 

Timing path 3: clock to PO ¾

Required time at end point: - DY = -3ns source clock (source+ network)

launch edge -3

0

target clock (ideal) RT output delay

F

RT = -3

1

D

Q

3

F 1 Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

QN

1 109

STA Example 2 (Slack of Path3 - Rise) 

Timing path 3: clock to PO ¾ ¾

Slack at end point: AT - RT = 12-(-3) = 15ns Timing is met since slack is greater than 0

AT = 12 R

RT = -3

1

R 2

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

D

3

1

Q QN

1

110

STA Example 2 (Slack of Path3 - Fall) 

Timing path 3: clock to PO ¾ ¾

Slack at end point: AT - RT = 11-(-3) = 14ns Timing is met since slack is greater than 0

AT = 11 F

RT = -3

1

F 1

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

D

3

Q

1

1

111

QN

Handling Multiple Clocks 

Determine the least common multiple (LCM) of the 2 clock periods first and then find the setup and hold relationship

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

112

Setup Relationships Find the Setup Relationship between A rising to B rising  The setup relationship is the closest distance between the launching clock edge (A) to the receiving clock edge (B) 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

113

Hold Relationships Find the Hold Relationship between A rising to B rising  The hold relationship is the closest distance between the launching edge (A) to the previous receiving edge (B) 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

114

STA with Latches Latches and Flip-Flops are both registers or "storage devices“  Latches are level sensitive instead of edge triggered 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

115

Time Borrowing Example 1 If these were flip flops, timing would not be met at b_reg  With time borrowing, the middle latch can borrow time from the next stage and meet timing! 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

116

Time Borrowing Example 2 

Can time borrowing eliminate negative slack? ¾

No, the final data missed the active edge of c_reg.

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

117

Time Borrowing Example 3 

Can time borrowing eliminate negative slack? ¾

No, c_reg is a flip-flop and the data misses c_reg’s edge

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

118

Time Borrowing Example 4 

Can time borrowing eliminate negative slack? ¾

Yes! In fact there is extra time before the activating edge of c_reg

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

119

Time Borrowing Example 5 

Can time borrowing eliminate negative slack? ¾

No. The earliest b_reg can launch the data is at time 5. c_reg will receive the data too late

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

120

Four Types of Analysis 

Single operating condition analysis ¾ ¾ ¾

Worst operating condition Typical operating condition Best operating condition

Simultaneous best-case/worst-case analysis  On-Chip variation  Case analysis 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

121

Single OC Analysis 

Typically, you need to perform timing analysis for at least two operating conditions to ensure that the design has no timing violations ¾ ¾



Best case (minimum path report) (Hold Time Check) Worst case (maximum path report) (Setup Time Check)

CIC 0.18um library example ¾ ¾ ¾

fast.lib typical.lib slow.lib

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

122

Best/Worst Case Analysis 

For most of STA tools, you can simultaneously perform timing analysis for the best-case and worstcase operating conditions. ¾ ¾



Max paths analyzed with worst case OC (Setup Time Check) Min paths analyzed with best case OC (Hold Time Check)

Min-max values can be also specified for ¾ ¾ ¾ ¾ ¾ ¾

SDF back-annotated delays Input and output delays Wire load models Net resistance-capacitance Clock latency/transition Driving cell

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

123

On -Chip Variation Analysis On-Chip Delays have uncertainty due to the variation of PVT across large dies  On-chip variation allows you to account for the delay variations due to PVT changes across the die, providing more accurate delay estimates. 

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

124

Case Analysis Timing analysis with specified logic value conditions on pins or ports  Logic constants are propagated to avoid unnecessary timing path analysis (3 paths in this example) 

conditional combinational timing arc

3

1

F2

2

F 2 2 0

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

2

F 0

125

STA in Cell -based Design Flow Cell-based 

After each run of synthesis ¾ ¾



After each run of physical optimization ¾ ¾



Synopsys Physical Compiler / Synopsys Saturn Synopsys Astro / Cadence SE / Cadence SOC Encounter

After each run of P&R ¾ ¾ ¾



Synopsys Design Compiler / Cadence Ambit Magma Blast RTL / Blast Fusion

Synopsys Apollo / Astro Cadence SE / Cadence SOC Encounter Magma Blast Fusion

STA sign-off ¾

Primetime

Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis

126

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF