part iii part iii gain based synthesis based synthesis
play

Part III Part III Gain- -based synthesis based synthesis Gain - PowerPoint PPT Presentation

Part III Part III Gain- -based synthesis based synthesis Gain enabler for correct- -by by- -construction design construction design enabler for correct ASP- -DAC01 Tutorial DAC01 Tutorial ASP Patrick Groeneveld


  1. Part III Part III Gain- -based synthesis based synthesis Gain enabler for ‘correct- -by by- -construction’ design construction’ design enabler for ‘correct ASP- -DAC’01 Tutorial DAC’01 Tutorial ASP Patrick Groeneveld Patrick Groeneveld (patrick patrick@magma @magma- -da da.com) .com) ( Magma Design Automation Magma Design Automation Cupertino, CA Cupertino, CA ASP-DAC'01 - Patrick Groeneveld 1

  2. Summary Summary I Iterative flow Iterative flow vs vs. stepwise refinement . stepwise refinement I I Derivation of a simple delay model Derivation of a simple delay model I I Gain based delay optimization Gain based delay optimization I I Building a tool flow around this model Building a tool flow around this model I I Standard cell library issues Standard cell library issues I I Getting timing during routing Getting timing during routing I I Recommendations Recommendations I III-2 ASP-DAC'01 - Patrick Groeneveld

  3. Preliminaries Preliminaries I Timing closure: Obtaining a feasible layout of a circuit Timing closure: Obtaining a feasible layout of a circuit I that meets the given timing specification. that meets the given timing specification. I Objective: Obtain closure as fast and effortless as Objective: Obtain closure as fast and effortless as I possible. possible. I Assumptions: Assumptions: I N ASIC design style. ASIC design style. N Standard cell abstraction. Standard cell abstraction. N Static CMOS. Static CMOS. I Neglect other design issues Neglect other design issues I III-3 ASP-DAC'01 - Patrick Groeneveld

  4. Interconnect parasitics parasitics (C and R) (C and R) Interconnect I Speed is entirely determined by Speed is entirely determined by parasitics parasitics I I Parasitics Parasitics are tiny are tiny I I Parasitics Parasitics depend on the depend on the exact exact layout layout I I Therefore they are hard or impossible to estimate, Therefore they are hard or impossible to estimate, I especially before placement. especially before placement. III-4 ASP-DAC'01 - Patrick Groeneveld

  5. Timing Uncertainty Timing Uncertainty Gate- Gate -to to- -gate delay depends on: gate delay depends on: • Wire length (unknown during synthesis) Wire length (unknown during synthesis) • • The layer of the wire (determined during routing) The layer of the wire (determined during routing) • • The configuration of the neighboring wires: The configuration of the neighboring wires: • distance, near/far (unknown before detailed routing) distance, near/far (unknown before detailed routing) • Timing window and slope of the neighboring wires. • Timing window and slope of the neighboring wires. III-5 ASP-DAC'01 - Patrick Groeneveld

  6. Meeting timing gets harder Meeting timing gets harder q Flip Flip Flip Flip d flop flop q flop flop q Flip Flip d Flip Flip flop flop flop flop q q Flip Flip flop flop q 5 ns 5 ns max max III-6 ASP-DAC'01 - Patrick Groeneveld

  7. Timing is a result of the placement Timing is a result of the placement I The bad news: the worst timing sets the clock speed! The bad news: the worst timing sets the clock speed! I s slack C dream C real slack III-7 ASP-DAC'01 - Patrick Groeneveld

  8. Prediction vs reality Prediction vs reality circuit does circuit does not work not work number of number of nets nets -100% 100% +100% +100% fastest/best fastest/best slowest/worst slowest/worst Average, Average, wireload model, wireload model, what you what you designed for designed for Real delay - predicted delay Real delay predicted delay III-8 ASP-DAC'01 - Patrick Groeneveld

  9. The end of the wire load model The end of the wire load model I Model is used in Model is used in coventional coventional synthesis tools synthesis tools I I It guesses load based on the number of pins of the It guesses load based on the number of pins of the I net net I The average is correct but... The average is correct but... I III-9 ASP-DAC'01 - Patrick Groeneveld

  10. Today’s Conventional Flow Today’s Conventional Flow RTL I Synthesis does not Synthesis does not I Logic Synthesis Logic Synthesis accurately model accurately model interconnect interconnect Placement I Cell sizes fixed before Cell sizes fixed before I placement. placement. Multiple Routing I Place & route unable Place & route unable I iterations to meet timing goal to meet timing goal Extraction Timing Analysis Met timing? You must iterate! You must iterate! NO GDSII III-10 ASP-DAC'01 - Patrick Groeneveld

  11. The trial and error iteration The trial and error iteration logic synthesis place & route III-11 ASP-DAC'01 - Patrick Groeneveld

  12. Methodology Problems Methodology Problems I To avoid endless iterations, the design must be ‘on To avoid endless iterations, the design must be ‘on I the safe side’ the safe side’ I Iterations are very slow and may not converge Iterations are very slow and may not converge I I You’re never sure if you’ll make it You’re never sure if you’ll make it I I Only a painful trial and error process reports design Only a painful trial and error process reports design I feasibility. feasibility. III-12 ASP-DAC'01 - Patrick Groeneveld

  13. Ways to attack timing closure Ways to attack timing closure I Iterate through SPEF or internally Iterate through SPEF or internally I I Post Post- -placement optimization (ECO) placement optimization (ECO) I I Partition the design into smaller pieces Partition the design into smaller pieces I N Variation in wire length will decrease Variation in wire length will decrease N Better timing closure on each block if #gates < 50,000 Better timing closure on each block if #gates < 50,000 I Gain Gain- -based synthesis based synthesis I III-13 ASP-DAC'01 - Patrick Groeneveld

  14. Hierarchy: a solution? Hierarchy: a solution? I Make problems smaller Make problems smaller I I Structure makes the problem Structure makes the problem I better manageable better manageable I Solve sub Solve sub- -problems problems I independently independently I Enables efficient re Enables efficient re- -use use I I Enables consistent verification Enables consistent verification I III-14 ASP-DAC'01 - Patrick Groeneveld

  15. Physical hierarchy and timing closure Physical hierarchy and timing closure I Wires need to slalom around blocks or traverse Wires need to slalom around blocks or traverse I through or over blocks through or over blocks I How to set pin locations? How to set pin locations? I I Where to put the buffers? Where to put the buffers? I I Automatic floor planning problem is unsolved Automatic floor planning problem is unsolved I I Large hidden inefficiency Large hidden inefficiency I III-15 ASP-DAC'01 - Patrick Groeneveld

  16. Physical hierarchy is a necessary evil Physical hierarchy is a necessary evil macro macro 2,000,000 2,000,000 20 x 20 x approx approx. 100,000 . 100,000 standard cells flat? standard cells flat? standard cells standard cells I If you can do it, do it as flat If you can do it, do it as flat macro I as possible! as possible! 4 blocks of 500,000 4 blocks of 500,000 I Also do Also do datapath datapath flat flat I standard cells? standard cells? III-16 ASP-DAC'01 - Patrick Groeneveld

  17. Conventional layout synthesis Conventional layout synthesis s slack C dream C real slack III-17 ASP-DAC'01 - Patrick Groeneveld

  18. Gain- -based synthesis: based synthesis: Gain s slack C dream C real III-18 ASP-DAC'01 - Patrick Groeneveld

  19. Focus for timing closure Focus for timing closure I Combine logical and physical worlds. Combine logical and physical worlds. I I Crisp: focus on the main effect, skip irrelevant details Crisp: focus on the main effect, skip irrelevant details I I Enable blazingly fast optimization Enable blazingly fast optimization I I Compact: Memory efficient for tomorrow’s 50M gate chip Compact: Memory efficient for tomorrow’s 50M gate chip I III-19 ASP-DAC'01 - Patrick Groeneveld

  20. Good practices, bad practices Good practices, bad practices Use a simple model, and adapt reality to it. Use a simple model, and adapt reality to it. I At each step, freeze a single constraint, postpone decisions on others. At each step, freeze a single constraint, postpone decisions on others. I Allow sufficient freedom in future steps to fulfill all remaining g Allow sufficient freedom in future steps to fulfill all remainin I constraints. constraints. Bail out early if there’s no use continuing Bail out early if there’s no use continuing I Fix multiple objectives at once. Fix multiple objectives at once. I Iterate. Iterate. I Indulge in ‘accurate’ models Indulge in ‘accurate’ models I Attempt to be optimal Attempt to be optimal I III-20 ASP-DAC'01 - Patrick Groeneveld

  21. Is ‘Optimal’ optimal??, an example Is ‘Optimal’ optimal??, an example Contacts in layout have Contacts in layout have parasitic resistance and parasitic resistance and affect reliability affect reliability 8 contacts 8 contacts Optimal Optimal with contact minimization: with contact minimization: 0 contacts 0 contacts But….. But….. There are still 8 contacts! There are still 8 contacts! (they were just pushed (they were just pushed into the neighboring regions) into the neighboring regions) III-21 ASP-DAC'01 - Patrick Groeneveld

Recommend


More recommend