241 likes | 336 Views
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
E N D
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) • But WLMs no longer accurate! (?)
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
Accuracy: Skew Measures • What if long nets not critical? • timing-driven placement • buffer insertion • So ... Must Test WLMs in Actual Flows
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
1. Area opt 2. Technology mapping 3. Timing opt 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt Struct WLM 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt Lib WLM 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt Cust WLM 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt WLM = 0 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt Lib WLM 4. Placement 5. Post-pl timing opt No logic opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
1. Area opt 2. Technology mapping 3. Timing opt Lib WLM 4. Placement 5. Post-pl timing opt 6. Global routing Structural WLM Library WLM Custom WLM No WLM No Pre Pl Opt No Post Pl Logic Opt No Post Pl Opt 7 Flow Variations
No WLM No WLM No preOpt No preOpt No postOpt No postOpt Struct WLM Struct WLM Library WLM Library WLM Custom WLM Custom WLM No postLogicOpt No postLogicOpt Flow Comparisons
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
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