elen 468 lecture 271 elen 468 advanced logic design lecture 27 interconnect timing optimization ii
Post on 21-Dec-2015
227 views
TRANSCRIPT
![Page 1: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/1.jpg)
ELEN 468 Lecture 27 1
ELEN 468Advanced Logic Design
Lecture 27Interconnect Timing Optimization II
![Page 2: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/2.jpg)
ELEN 468 Lecture 27 2
Wire Segmenting
Faster runtime
Better solution quality
![Page 3: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/3.jpg)
ELEN 468 Lecture 27 3
Multiple Buffer Types
(v1, 1, 20)22 • r = 1, c = 1
• Rb = 1, Cb = 1, tb = 1
• Rb2 = 0.5, Cb2 = 2, tb2 = 0.5
• Rd = 1v1
(v2, 3, 16)
v1
(v2, 1, 12)
v1
(v2, 2, 14)
![Page 4: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/4.jpg)
ELEN 468 Lecture 27 4
Using Inverters
Less cost
![Page 5: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/5.jpg)
ELEN 468 Lecture 27 5
Handle Polarity
-NegativePositiv
e
-
-
-
-
-
-
![Page 6: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/6.jpg)
ELEN 468 Lecture 27 6
Slew Constraints
When a buffer is inserted, assume ideal slew rate at its inputCheck slew rate at downstream buffers/sinksIf slew is too large, candidate is discarded
![Page 7: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/7.jpg)
ELEN 468 Lecture 27 7
Capacitance Constraints
Each gate g drives at most C(g) capacitanceWhen inserting buffer g, check downstream capacitance. If > C(g), throw out candidate
Total cap = 500 ff
![Page 8: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/8.jpg)
ELEN 468 Lecture 27 8
Consider Cost/Power
A solution is also characterized by cost w A solution is inferior if it is poor on all of c, q and wAt source, a set of solutions with tradeoff of q and ww can be total capacitance or the number of buffers
![Page 9: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/9.jpg)
ELEN 468 Lecture 27 9
Cost-Slack Trade-off
-4000
-3000
-2000
-1000
0
1000
0 1 2 3 4 5 6 7
# of Buffers
Slac
k (p
s)
![Page 10: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/10.jpg)
ELEN 468 Lecture 27 10
Data Organization
0
1
2
3
4
(c1, q1) (c2, q2) (c3, q3)
(c4, q4) (c5, q5) (c6, q6)
(c7, q7) (c8, q8)
(c9, q9) (c10, q10)
(c0, q0)
#buffers inserted
Sorted in ascending order of (c, q)
![Page 11: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/11.jpg)
ELEN 468 Lecture 27 11
Pruning Considering Cost
(ci , qi , wi) is inferior to (ck , qk , wk) if ci > ck , qi < qk , wi > wk
0
1
2
(c1, q1) (c2, q2) (c3, q3)
(c4, q4) (c5, q5) (c6, q6)
(c0, q0)
w
Prune order
Pruning within a list is same as before
![Page 12: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/12.jpg)
ELEN 468 Lecture 27 12
Continuous Wire Sizing
Min delay wire shape: w(x) = a(e-bx)
x
![Page 13: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/13.jpg)
ELEN 468 Lecture 27 13
Two Types of Wire Sizing
Uniform Wire Sizing (UWS)
Wire Tapering (TWS)
![Page 14: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/14.jpg)
ELEN 468 Lecture 27 14
TWS versus UWS
TWS
UWS
0354.12
22
)(_
)(_
eUWSVelocitySignal
TWSVelocitySignal
![Page 15: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/15.jpg)
ELEN 468 Lecture 27 15
Why Uniform Wire Sizing?
Empirically, UWS almost as good as TWSTapering info hard to give to routerBetter congestion and space managementExtraction, detailed routing, verification?Can do it simultaneously with buffering
![Page 16: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/16.jpg)
ELEN 468 Lecture 27 16
Wire Sizing to Minimize Weighted Delay Sum
Minimize iti
i weight, ti Elmore delay to sink i Properties Separability Monotone property Dominance property
![Page 17: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/17.jpg)
ELEN 468 Lecture 27 17
Wire Sizing: Separability
For given wire sizing along a path, optimal wire sizing for each subtree off the path can be carried out independently
![Page 18: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/18.jpg)
ELEN 468 Lecture 27 18
Wire Sizing: Monotone Property
Ancestor edges cannot be narrower than downstream edges
![Page 19: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/19.jpg)
ELEN 468 Lecture 27 19
Wire Sizing: Dominance Property
For each edge, if its width in solution W its width in solution W’, then W dominates W’ Local refinement: size each edge independently to minimize delay sum while other edges are fixedAssume W* is the optimal solution If W dominates W* , then W still dominates W*
after local refinement If W is dominated by W* , then W is still
dominated by W* after local refinement
![Page 20: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/20.jpg)
ELEN 468 Lecture 27 20
Optimal Wire Sizing
Maximum width solution Each edge starts with max width Perform local refinement
Minimum width solution Each edge starts with min width Perform local refinement
Enumerate possibilities between min and max width solutions
![Page 21: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/21.jpg)
ELEN 468 Lecture 27 21
Wire Sizing to Maximize the Min Slack
Separability is not true hereCan be solved with dynamic programmingCan be integrated with buffer insertion
![Page 22: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/22.jpg)
ELEN 468 Lecture 27 22
Simultaneous Buffer Insertion and Wire Sizing
![Page 23: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/23.jpg)
ELEN 468 Lecture 27 23
Driver Sizing
![Page 24: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/24.jpg)
ELEN 468 Lecture 27 24
Combine Buffering and Driver Sizing Directly?
Min delay
![Page 25: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/25.jpg)
ELEN 468 Lecture 27 25
Impact To Previous Stage
Current stage
Previous stage
Small load
Large load
Large delay
Small delay
Cd
![Page 26: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/26.jpg)
ELEN 468 Lecture 27 26
Input Load Penalty
Penalty = delay of min delay buffer chain driving Cd
Min buffer Cd
![Page 27: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/27.jpg)
ELEN 468 Lecture 27 27
Driver Sizing Considering Impact to Previous Stage
Current stage
Previous stage
Small load
Large load
Large delay
Small delay
Cd
Large penalty
![Page 28: ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d6b5503460f94a49f97/html5/thumbnails/28.jpg)
ELEN 468 Lecture 27 28
Driver Sizing in Van Ginneken’s Algorithm
Treat the buffer chain as a part of the net
Length = 0
Run van Ginneken’s algorithm with fixed driver and min sized buffer