Sherief Reda Division of Engineering, Brown University...
Transcript of Sherief Reda Division of Engineering, Brown University...
![Page 1: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/1.jpg)
1
Physical Design of Digital Integrated Circuits(EN0291 S40)
Sherief RedaDivision of Engineering, Brown University
Fall 2006
![Page 2: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/2.jpg)
2
• Static timing analysis• STA for sequential circuits • Delay modeling: devices and interconnects• Statistical static timing analysis
Lecture 04: Timing Analysis
![Page 3: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/3.jpg)
3
Propagation delay definition
Logic block
time
voltagea y
propagation delay50%
Vmax(10)%
10% 90%
transitiontime
Definitions:
• rise/fall propagation delay
• rise/fall transition delay (slew (slope): ΔV/transition delay)
![Page 4: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/4.jpg)
4
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
![Page 5: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/5.jpg)
5
Static timing analysis
1/2
2/4 3/5
1/22/4
2/3
1/2
I1I2I3I4
I5I6
O1
O2
C17 from ISCAS’85 benchmarks
All inputs are arrive at time 0
Assuming all interconnects have 0 delay
Each gate has rise/fall delay
1/2
2/4
1/2
7/7
6/4
9/10
9/11 In reality, each input pin has its own rise/fall delay and wires have delays
simplifiedanalysis
slack = arrival time – required arrival time⇒ paths with negative slacks need to be eliminated!
criticalpath
![Page 6: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/6.jpg)
6
Finding the critical path through breadth first search
• 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
2/1
4/21/1
3/24/3
3/2
2/2
I1I2
I3I4
I5
I6
O1
O2
![Page 7: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/7.jpg)
7
STA can lead to false critical paths
2×1MUX
delay = 5
delay = 3
delay = 5
delay = 3
2×1MUX
outa
b
0
1 1
0
• What is critical path delay according to STA?• Is this path realizable?
No, actual delay is less than estimated by STA
STA assumes a signal would propagate from a gate input to its output regardless of the values of other inputs
![Page 8: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/8.jpg)
8
• Static timing analysis• STA for sequential circuits • Delay modeling: devices and interconnects• Statistical static timing analysis
Lecture 04: Timing Analysis
![Page 9: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/9.jpg)
9
Timing analysis of sequential circuits
combinational circuit
input outputcycle time P
setuptime Ts
holdtime Th
[dmin .. dmax]
FF
clock
Δ
FF
clock
Δ
![Page 10: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/10.jpg)
10
Timing analysis of sequential circuits under presence of clock skew
combinational circuit
input output
[dmin .. dmax]
FFj
clock
Δ
FFi
clock
Δ
T=0
si
sj
cycle time P
![Page 11: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/11.jpg)
11
Sometimes introducing skew can be helpful
FFi FFjFFkdmax=8ns
dmax=10ns
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
![Page 12: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/12.jpg)
12
• Static timing analysis• STA for sequential circuits • Delay modeling: devices and interconnects• Statistical static timing analysis
Lecture 04: Timing Analysis
![Page 13: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/13.jpg)
13
Elmore delay model: An upper bound to actual delay in RC trees
R1 R2 R3 RN
C1 C2 C3 CN
Sum the result of multiplying each resistance by the capacitance down stream from it
any tree structure
step input
[see Gupta/Pileggi’97 for more info]
What is the runtime complexity?
![Page 14: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/14.jpg)
14
Switch-level device RC delay models
PMOS modelNMOS model
[source: Weste/Harris]
![Page 15: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/15.jpg)
15
Modeling the delay of an inverter
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
loading affects gate delay
![Page 16: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/16.jpg)
16
Gate delay: rise delay
6C
2C2
2
224hC
B
Ax
Y
h copies
R
(6+4h)CY ( )6 4pdrt h RC= +
AB
Y
Assumption: interconnect delay is ignored (for the moment)
step input
rise propagation delay
![Page 17: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/17.jpg)
17
Gate delay: fall delay
h copies
fall delay is worse than rise delay in this case
AB
Y6C
2C2
2
224hC
B
Ax
Ystep input
(1)
( ) ( ) ( ) ( )( )
2 2 22 6 4
7 4
R R Rpdft C h C
h RC
= + + +⎡ ⎤⎣ ⎦= +
(6+4h)C2CR/2
R/2x Yfall propagation delay
![Page 18: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/18.jpg)
18
Gate delay is input pattern dependant
h copies
AB
Y6C
2C2
2
224hC
B
Ax
Ystep input
(1)
fall propagation delay
⇒ Connect the latest arriving signal closest to the output node whenever feasible
![Page 19: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/19.jpg)
19
Impact of transition time on gate delay
gateInput Output
Δ
Δ’
time
time
τi
In addition to capacitive load, input transition time affects • delay: τi > 0 → Δ’ > Δ• output transition time:
![Page 20: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/20.jpg)
20
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!)
GateΔr/f(C, τi)
total capacitance(intrinsic + loading + interconnects)
tiτi
Ti+Δr/fτostored in a lookup
table for fast calculation
![Page 21: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/21.jpg)
21
Interconnect delay: the lumped case
0V
Vm Vout
Upper bound on delays in RC trees [Pileggi’97]
![Page 22: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/22.jpg)
22
Interconnect delay: lumped vs. distributed
R1 R2 R3 RN
C1 C2 C3 CN
lumped overestimates
delay
r = resistance per unit length
c = capacitance per unit length
![Page 23: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/23.jpg)
23
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!
![Page 24: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/24.jpg)
24
• Static timing analysis• STA for sequential circuits • Delay modeling: devices and interconnects• Statistical static timing analysis
Lecture 04: Timing Analysis
![Page 25: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/25.jpg)
25
In Statistical STA (SSTA), delay is no longer deterministic
I1I2
I3I4
I5I6
O1
O2pd
f
delay
delay
delay?
Replace deterministic gate delay by a random delay variable thathas 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]
x
y
z
![Page 26: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/26.jpg)
26
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
![Page 27: Sherief Reda Division of Engineering, Brown University ...scale.engin.brown.edu/classes/EN0291S40F06/lecture04.pdf · Division of Engineering, Brown University Fall 2006. 2 • Static](https://reader035.fdocuments.in/reader035/viewer/2022062306/5b8717617f8b9a2e3a8e53f8/html5/thumbnails/27.jpg)
27
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