Lecture slides - Brown University

advertisement
Physical Design of Digital Integrated Circuits
(EN0291 S40)
Sherief Reda
Division of Engineering, Brown University
Fall 2006
1
Lecture 04: Timing Analysis
•
•
•
•
Static timing analysis
STA for sequential circuits
Delay modeling: devices and interconnects
Statistical static timing analysis
2
Propagation delay definition
voltage
a
y
Logic block
Vmax
(10)%
50%
propagation delay
time
10% 90%
Definitions:
• rise/fall propagation delay
transition
time
• rise/fall transition delay (slew (slope): ΔV/transition delay)
3
Problem: Given a circuit, find the path(s)
with the largest delay (critical paths)
• Solution: run SPICE and report the results of the
simulation
• Problem: SPICE is computationally expensive to
run except for small-size circuits
• WANTED: We need a fast method that produces
relatively accurate timing results compared to
SPICE
4
Static timing analysis
simplified
analysis
C17 from ISCAS’85 benchmarks
I1
I2
I3
I4
I5
I6
1/2
2/4
1/2
1/2
2/3
2/4
3/5
1/2
1/2
O1 9/10
7/7
2/4
6/4
¾ All inputs are arrive at time 0
O2 9/11
critical
path
In reality, each input pin
has its own rise/fall delay
and wires have delays
¾ Assuming all interconnects have 0 delay
¾ Each gate has rise/fall delay
¾ slack = arrival time – required arrival time
⇒ paths with negative slacks need to be eliminated!
5
Finding the critical path through breadth first
search
I1
I2
2/1
I3
4/2
I4
I5
I6
•
•
•
•
3/2
3/2
O1
4/3
O2
1/1
2/2
Initialize queue Q to empty
for all vertices i in V: nvisit[i]=0;
Add all primary input vertices to queue Q
While (Q ≠ 0)
– i = top of Q; remove i from Q; computer delay of i
– for every edge (i, j):
• nvisit[j]++;
• if(nvisit[j] == fanin[j]) add j to Q
6
STA can lead to false critical paths
¾ STA assumes a signal would propagate from a gate input to its
output regardless of the values of other inputs
a
delay
=5
0
delay
=5
2×1
MUX
b
delay
=3
1
0
2×1
MUX
delay
=3
out
1
• What is critical path delay according to STA?
• Is this path realizable?
No, actual delay is less than estimated by STA
7
Lecture 04: Timing Analysis
•
•
•
•
Static timing analysis
STA for sequential circuits
Delay modeling: devices and interconnects
Statistical static timing analysis
8
Timing analysis of sequential circuits
[dmin .. dmax]
Δ
input
FF
clock
combinational
circuit
Δ
cycle time P
hold
time Th
output
FF
clock
setup
time Ts
9
Timing analysis of sequential circuits under
presence of clock skew
T=0
[dmin .. dmax]
Δ
input
FFi
combinational
circuit
Δ
output
cycle time P
si
FFj
sj
clock
clock
10
Sometimes introducing skew can be helpful
FFk
dmax
=8ns
FFi
dmax
=10ns
FFj
si
sj
¾ Zero clock skew (si =0 & sj = 0) ⇒ clock period = 10ns, fmax = 100MHz
¾ Si = -1 sj = 0 ⇒ clock period = 9ns, fmax = 111MHz (no timing violations)
¾ Si = -2 sj = 0 ⇒ clock period = 8ns, fmax = 125MHz (no timing violations)
¾ Introducing skew also helps minimize the simultaneous
switching of FFs → less load on the P/G network
¾ STA is relatively easy once we figure out how to
calculate gate and interconnect delay
11
Lecture 04: Timing Analysis
•
•
•
•
Static timing analysis
STA for sequential circuits
Delay modeling: devices and interconnects
Statistical static timing analysis
12
Elmore delay model: An upper bound to actual
delay in RC trees
any tree structure
R1
step
input
R2
R3
C1
C2
RN
C3
CN
¾ Sum the result of multiplying each resistance by the
capacitance down stream from it
¾ What is the runtime complexity?
[see Gupta/Pileggi’97 for more info]
13
Switch-level device RC delay models
NMOS model
PMOS model
[source: Weste/Harris]
14
Modeling the delay of an inverter
loading affects
gate delay
Holes have half the mobility of electrons
→ PMOS width = 2× of the NMOS device to get the same current
(or resistance) during output rise
→ equal rise and fall delays for CMOS inverter
15
Gate delay: rise delay
step
input
2
2
A
2
B
2x
R
6C
2C
Y
4hC
A
B
Y
h copies
rise propagation delay
Y
(6+4h)C
t pdr = ( 6 + 4h ) RC
Assumption: interconnect delay is ignored (for the moment)
16
Gate delay: fall delay
step
input
2
2
2
(1) A
2x
B
x
R/2
R/2
2C
6C
Y
4hC
A
B
Y
2C
Y
(6+4h)C
h copies
fall propagation delay
t pdf = ( 2C ) ( R2 ) + ⎡⎣( 6 + 4h ) C ⎤⎦ ( R2 + R2 )
= ( 7 + 4h ) RC
fall delay is worse than rise delay in this case
17
Gate delay is input pattern dependant
step
input
A
(1) B
2
2
2
2x
6C
2C
Y
4hC
A
B
Y
h copies
fall propagation delay
⇒ Connect the latest arriving signal closest to the output node
whenever feasible
18
Impact of transition time on gate delay
Input
gate
Output
Δ
time
τi
Δ’
time
In addition to capacitive load, input transition time affects
• delay: τi > 0 → Δ’ > Δ
• output transition time:
19
Why does transition time affect delay?
During transition, gate current < saturation current
→ higher effective output resistance → larger delay
∴ Input transition time affects gate delay (and output transition time too!)
stored in a lookup
table for fast
calculation
ti
τi
Gate
Δr/f(C, τi)
Ti+Δr/f
τo
total capacitance
(intrinsic + loading + interconnects)
20
Interconnect delay: the lumped case
Vm
Vout
0V
Upper bound on
delays in RC
trees [Pileggi’97]
21
Interconnect delay: lumped vs. distributed
R1
R2
R3
C1
C2
RN
C3
r = resistance per unit length
CN
c = capacitance per unit length
lumped
overestimates
delay
22
Carryout STA after annotating your circuit
with gate/interconnect delays
• Annotate your circuit with gate/interconnect delay, and
carry out STA
• Don’t ignore interconnect delay because it is currently
responsible for ~80% of total path delays!
23
Lecture 04: Timing Analysis
•
•
•
•
Static timing analysis
STA for sequential circuits
Delay modeling: devices and interconnects
Statistical static timing analysis
24
In Statistical STA (SSTA), delay is no longer
deterministic
I3
I4
I5
?
z
delay
delay
O1
pdf
I2
pdf
I1
pdf
x
y
delay
O2
I6
¾ Replace deterministic gate delay by a random delay variable that
has a normal pdf
¾ What is the pdf of z = max(x, y), where x and y are two random
normal variables?
¾ z is not normal, but can be approximated reasonable using
random variables [Jacobs/Berkelaar’00]
25
Gate variations impact critical path(s) delay
leading to an increase in the average delay
• Intra-chip (within-die) variations: arises within devices in the same die
• Inter-chip (die-to-die) variations: arises between different chips
26
Assignments for next lecture
Reading assignments:
•
•
•
Statistical Timing Analysis for Intra-Die Process Variations with
Spatial Correlations, ICCAD'03 (Kundan + (Yiwen) (judge))
Incremental timing analysis, US Patent 5508937 (Cesare)
Industrial products:
– Cadence SignalStorm (Elif)
– Synopsys PrimeTime (Brendan)
Projects overview:
• 10-15 mins presentation on previous work + proposal
• 1½ → 2 page report
27
Download