Placement: Hot or Not Chuck Alpert Design Productivity Group Austin Research Laboratory © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory The State of Placement Placement is an old problem Rajeev: Today, the EDA academic community is not producing a lot of new ideas. Yes, at one time they did, but not today. “Lou Scheffer” : place-and-route is in reasonable shape 2 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Placement Trends (my guess, not scientific) Chip gate count: 21 M Largest Block: 1.5 M 3 Chip gate count: 76 M Largest Block: 3.7 M © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Placement is Hot Design sizes are exploding Designers are embracing automation like never before Secondary factors (power, area) become differentiating Wirelength is no longer primary – Congestion – Timing – Power – Clock-friendly 4 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Generic Design Flow From Cadence 5 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Vt Optimization? Swap to lower vt 6 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Gate Sizing or Repowering a d c e b f a b 7 c d e f © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Buffering and Layer Assignment 8 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Inverter Absorption / Decomposition a d c b f a b 9 e e g f © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Composition / Decomposition w w x y z x nd2 B Out AOI Out nd2 A nd2 C y z D nd2 C D Courtesy: Louise Trevillian, founder of Logic Synthesis 10 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Example Timing Closure “Optimization” Critical Path Optimization While 500 most critical nets still optimizable Gate sizing and vt Optimization Buffering on sub-tree Buffering on entire tree Congestion-aware layer assignment Suite of logic transforms Compression Optimization For remaining critical nets Gate sizing and vt Optimization Buffering, layer assignment on sub-tree 11 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory What Timing-Driven Placement Means Synthesis Traditional Placement Optimization Weight all nets? If not, what percent? What weight range? Set Net Weights Timing-driven Placement What netlist state for timing-driven placement? Optimization 12 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Over Weight Can Destroy Congestion 13 Initial After Timing-driven Placement Optimization Placement © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Don’t Put Timing into Placement! Placement Timing Timing-driven Placement Flow Easy Constraints Placement Incremental Placement Constraint Generation 14 Timing © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Example Incremental Timing-Driven Placement Initial Final 15 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Techniques Required for Timing-Driven Placement Identification of “easy” constraints Incremental Placement – Shorten critical paths without hurting other paths – Fast, incremental wirelength recovery – Congestion-preserving detailed placement (don’t pack!) – Getting pipeline latches right Meaningful timing model Interleave optimization (e.g., layer assignment) 16 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Pipeline Latch Placement 17 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Pipeline Latch Placement 18 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Interference From Other Logic Logic Logic 19 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Power-Aware Placement #nets Switching Factor 20 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Congestion Still Huge Problem Contests focus on congestion-driven placement Also need for incremental congestion repair Fast, accurate congestion modeling is key Placement A Placement B Router 1 21 Placement A Placement B Router 2 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Placement Density Reasonable First Order 22 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Local Congestion Effects (Pin Density) Before Spreading 23 After Spreading © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Handling Movebounds 24 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Move Bound Challenges Don’t increase runtime High density / low density Inclusive or exclusive OverlappingSoft or absolute Different shapes Support high quantity 26 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Datapath Placement net1 net1 LEGAL HPWL = 2385800 Base Run HPWL = 2513500 SoftLEGAL Alignment LEGAL HPWL = 2461745 Forced Alignment Courtesy: Sam Ward 27 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Latch Huddling: Good For Clock Skew and Power 28 July 26, 2012 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Why Huddling is Good for Clocks More Clock Wire 29 Less Clock Wire © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory All Object Movement (Before and After Huddling) movement (in tracks) 1-50 50-100 100-200 200-500 500+ Global Huddling Placement 30 Incremental Huddling Placement © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Global Clock Trees Challenge, can we separate three trees to prevent routing overlap? 31 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Proposed Placement Framework Keep placement as a stand alone optimization Enrich it to handle constraints Add constraint generation step to guide placement – Move bounds – Power Switching factors – Tightness of latch huddles – Clock domain separation – Use of hierarchical name space – Alignment of datapath 32 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Proposed Placement Flow Pre-Placement Constraints Placement (Global or Incremental) Clock Analysis Power Analysis Congestion Analysis Timing Analysis Constraint Generation 33 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Do We Need to Write a Placer from Scratch? Clustering Clustered Global Flat Global Pin-Density Spreading Density Spreading Congestion Mitigation Fast Congestion Analysis Congestion-aware Detailed Placement Power Reduction 34 © 2011 IBM Corporation Design Productivity Group, Austin Research Laboratory Chasing the Hot Topics Instead of trying to predict the next important problem Just ask (a designer) 35 © 2011 IBM Corporation