On Relevance of Wire Load Models

advertisement
On the Relevance of
Wire Load Models
Kenneth D. Boese, Cadence Design Systems, San Jose
Andrew B. Kahng, UCSD CSE and ECE Depts., La Jolla
Stefanus Mantik, UCLA CS Dept., Los Angeles
Why WLMs?
Synthesis needs placement parasitics
Placement needs synthesized netlist
Chicken vs. egg
WLMs estimate parastics pre-placement
Wire cap = f(net fanout)
Cap
•
•
•
•
•
2
5
10
#Pins
• But WLMs no longer accurate! (?)
15
Motivating Questions
• How inaccurate are WLMs?
• Are WLMs good for optimization?
• Are WLMs good for estimation?
• How use WLMs in optimization flow?
Previous Works
• “Bad” WLMs motivate post-placement
synthesis
– e.g., Lu et al. [7]
• Need for constructive estimators
– Scheffer and Nequist [8]
– “law of small numbers”
• Accuracy vs. fidelity
– Boese et al. [1,2]
Kinds of WLMs
• Custom
– multiple iterations
• Statistical
– from library
• Structural
– look at adjacent nets
Historical Design Flows
• No WLM
– interconnect insignificant
• Custom WLMs
– requires iterations
• Statistical WLMs
– fewer iterations
• Add post-placement optimization
– IPO, PB-Opt
• Post-placement only (integrated tool)
– PKS, Physical Compiler, Blast Fusion
How Accurate Are WLMs?
• High Deviations  WLMs Inaccurate
• Normalized to Ave. Net Cap
Wire Cap Variation (Fanout 1)
10
Std Dev/Net Cap
Ave Dev/Net Cap
8
6
4
2
0
0
5
Design
10
15
Accuracy: Skew Measures
Wire Cap Skew (Fanout 1)
1
0.9
0.8
0.7
Percentile of Ave
Wire Cap
Median Wire Cap /
Ave Wire Cap
0.6
0.5
0.4
0.3
0.2
0.1
0
0
5
Design
10
• What if long nets not critical?
– timing-driven placement
– buffer insertion
• So ... Must Test WLMs in Actual Flows
15
Are WLMs Good for Optimization?
• Sufficient?
• Necessary?
• Compare different flows
– real tool (PKS)
– real designs
Default PKS Flow
RTL
Generic Netlist
Area opt
Technology mapping
Mapped Netlist
Timing opt
Placement
Placed Netlist
Post-placement timing opt
Global routing
Routed Netlist
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
Struct WLM
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
Lib WLM
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
Cust WLM
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
WLM = 0
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
4. Placement
5. Post-pl timing opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
Lib WLM
4. Placement
5. Post-pl timing opt
No logic opt
6. Global routing
7 Flow Variations
• Structural WLM
• Library WLM
• Custom WLM
• No WLM
• No Pre Pl Opt
• No Post Pl Logic Opt
• No Post Pl Opt
1. Area opt
2. Technology mapping
3. Timing opt
Lib WLM
4. Placement
5. Post-pl timing opt
6. Global routing
0
No postOpt
No postLogicOpt
No WLM
No preOpt
Custom WLM
Library WLM
-7
No postOpt
No postLogicOpt
0.5
No WLM
1
No preOpt
0
Custom WLM
1.5
Library WLM
Normalized Run Time
Struct WLM
2
Struct WLM
Flow Comparisons
Average Slack
-1
-2
-3
-4
-5
-6
Implications
• WLMs not sufficient
– post-place opt needed
• WLMs not necessary for good slacks (?)
• WLMs reduce running time
• Some improvement from Post Place Logic
Opts
Do WLMs Give Good Estimates?
• WLM slack vs. groute slack
• Custom WLM
15
% Est Error
10
5
0
0
5
10
-5
-10
Design
15
How Should We Use WLMs?
• How much optimism?
• Which WLM best?
– Structural (?)
– no extra input
• Multi-start?
– different WLMs / optimism levels
– is it randomness?
Caveats
•
•
•
•
This tool, this version, these designs
Global not detailed or extracted routing
No clock tree
Routability ignored
– detours, strict
• Die size fixed
• Some designs pre-optimized
Conclusions / Future Work
• Strict accuracy not right question
• WLMs improve run time
– NOT design quality (?)
• WLMs may be ballpark estimators
• Post-place opt indispensible
– small gains from post-place logic opt
• Sensitivity analysis of placement and
post-place opt
Download