51-100
51-100
Minimum Minimum
pulse width pulse width
high low
VDD
Constrained signal
Related signal
A Y A Y
IN2 D Q D Q OUT
B
FF1 A1
B2
FF2
CLK
A Y A Y
IN2 D Q D Q OUT
B
FF1 A1
B2
FF2
CLK
tPLH at Y tPHL at Y
Slew Load at Y Slew Load at Y
at A at A
1pF 2pF 1pF 2pF
10ps 40ps 50ps 10ps 42ps 53ps
20ps 50ps 60ps 20ps 51ps 61ps
Ph: 080-40788574 www.rv-vlsi.com 57
E-mail: [email protected] RV-VLSI Confidential
Delay Arcs for a 2 Input NAND Gate
A two input NAND gate has six timing arcs associated with it
D Q
Setup or
Hold
D Flip-flop
timing
arc CK
A Y A Y
IN2 D Q D Q OUT
B
FF1 A1
B2
FF2
CLK
Constraint arc
Output
port
Combo
logic
Constraint:
Maximum delay from
Input-port-to-output-port
Critical path must be less than 400ps
CLK1
CLK1 CLK2
Design
FF1 FF2
Data path
DIN D Q A Y D Q
B1
CK CK
CLK B2
Clock path
Ph: 080-40788574 www.rv-vlsi.com 70
E-mail: [email protected] RV-VLSI Confidential
Terminologies Related to Timing Paths (cont.)
Virtual clock.
Design
75
Topic Objectives
After the completion of this topic you will be
able to
Perform the timing analysis of combinational and
sequential paths and estimate the path delays.
Describe path groups
List inputs and outputs for a typical STA flow and
describe their role in STA
15ps
Slew
→
10ps
25ps
20ps
Slew →
10ps
Valid start points are: Input ports of blocks, Clock pins of sequential cells
Valid end points are: Output ports of blocks, Data pin of sequential cells
Step 1: Determine the timing path type and identify the startpoint and
endpoint for the path
The timing path is of type reg-to-reg path
Startpoint: FF1/CK (Clock pin of sequential cell)
Endpoint: FF2/D (Data pin of sequential cell)
D Q A Y D
B1 Q
CK CK
CLK
D Q A Y D
B1 Q
CK CK
CLK
A Y
C1
Step 3: List the cells and corresponding timing arcs in the launch
path
(CK → Q) of FF1
(A → Y) of B1
Step 4: Add all the timing arcs in the launch path that contribute to Arrival
Time (AT) to form a expression
Arrival time (AT) = (CK → Q) of FF1 + (A → Y) of B1
CK → Q delay A → Y delay
of FF1 of B1
Clock Period
FF1 initiates
data transfer
from D to Q
D Q A Y D
B1 Q
CK CK
CLK
Capture path
Step 5: List the cells and corresponding timing arcs in the capture path
Setup of FF2
Step 6: Compute Required Time (RT) using timing arc delays from Step 5
Required time (RT) = CLK Period – Setup time of FF2
Note that FF2 captures the data from FF1 in next clock cycle
setup
slack
Clock Period
FF1 initiates
FF2 can capture data if data is
data transfer
available before this time point
from D to Q
Step 7: Compute AT and RT by substituting timing arc delays from Liberty
file in AT and RT expressions and determine slack as RT-AT
Setup slack = Required time (RT) - Arrival time (AT)
Setup slack = [ [Period of CLK – Setup time of FF2] - (CK → Q) of
FF1 + (A → Y) of B1]
If setup slack is positive setup is met or setup time is met
Ph: 080-40788574 www.rv-vlsi.com 92
E-mail: [email protected] RV-VLSI Confidential
Calculating Setup Slack in reg-to-reg path:
An Example
Combo
delay
CK → Q = 1ns
D FF1 Q 3ns D FF2 Q Setup time = 0.5ns
Din
CK → Q setup time CLK Period = 6ns
CK CK
CLK → Q Combo
0 delay Slack 6ns
Combinational Combinational
Delay Delay
D0
FF1 FF2 Hold analysis is
D1 always done for
D Q A Y D Q the capturing
B1
flip-flop, FF2 in
CK CK this case
CLK
Ph: 080-40788574 www.rv-vlsi.com 95
E-mail: [email protected] RV-VLSI Confidential
Case Study: Analysis of reg-to-reg Path for
Hold Time (cont.)
From the waveform, at the rising clock edge 0ns, FF1 is
processing data D1 present at its input and FF2 is processing
data D0. Flip-flop FF2, should not get data D1 before it has
processed D0, the time it needs to process D0 is its hold time
Hence to meet hold time requirement for FF2,
Arrival time (AT) - Required time (RT)= Hold slack > 0
AT = (CK → Q delay of FF1) + (A → Y delay of B1)
RT = Hold time of FF2
CK → Q delay A → Y delay
of FF1 of B1
Clock Period
0ns
CLK → Q = 1ns
FF1 3ns FF2
D Hold time = 0.5ns
CLK → Q hold time CLK Period = 6ns
CLK
Hold Slack
time
CLK → Q Combo
0 delay 6ns
Design
CLK
Input delay
Setup slack = RT – AT
= [Clock period - (setup time of FF2)]- [(CK → Q delay of FF_i) + (A →
Y delay of B1) + (A → Y delay of B2)]
(CK → Q delay of FF_i) + (A → Y delay of B1) constitute the Input
delay.
Ph: 080-40788574 www.rv-vlsi.com 100
E-mail: [email protected] RV-VLSI Confidential