F.F. Dragan F.F. Dragan (Kent State) (Kent State) A.B. Kahng A.B. Kahng (UCSD) (UCSD) I. Mandoiu I. Mandoiu (Georgia Tech/UCLA) (Georgia Tech/UCLA) S. Muddu S. Muddu (Silicon Graphics) (Silicon Graphics) A. Zelikovsky A. Zelikovsky (Georgia State) (Georgia State) Provably Good Global Buffering Using an Available Buffer Block Plan
21
Embed
F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
F.F. Dragan F.F. Dragan (Kent State)(Kent State)
A.B. Kahng A.B. Kahng (UCSD)(UCSD)
I. Mandoiu I. Mandoiu (Georgia Tech/UCLA)(Georgia Tech/UCLA)
S. Muddu S. Muddu (Silicon Graphics)(Silicon Graphics)
A. Zelikovsky A. Zelikovsky (Georgia State)(Georgia State)
Provably Good Global Buffering Using an Available Buffer Block Plan
Provably Good Global Buffering Using an Available Buffer Block Plan
Global Buffering via Buffer Blocks
• VDSM buffer / inverter insertion for all global nets – 50nm technology 10^6 buffers
• Buffer Block (BB) methodology– isolate buffer insertion from block implementations– improve routing area resources (RAR) utilization
RAR(2k-buffer block) = RAR(k-buffer block)
For high-end designs 1.6
• Buffer block planning [Cong+99] [TangW00]
– given block placement + nets– find shape and location of BBs
• Global buffering via BBs– given nets + BB locations and capacities– find buffered routing for each net
Global Buffering via Buffer Blocks
Global Buffering Problem
Given:• Pin & BB locations, BB capacities
• list of 2-pin nets, each net has
• upper-bound on #buffers
• parity requirement on #buffers
• [non-negative weight (criticality coefficient)]
• L/U bounds on wirelength b/w consecutive buffers/pins
Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints
Global Buffering Problem
Given:• Pin & BB locations, BB capacities
• list of 2-pin nets, each net has
• upper-bound on #buffers new
• parity requirement on #buffers new
• [non-negative weight (criticality coefficient)] new
• L/U bounds on wirelength b/w consecutive buffers/pins
Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints
Previous work: 1 buffer per connection, no weights
Outline of Results
• Provably good algorithm for the Global Buffering Problem
• can be solved exactly using Linear Programming (LP) techniques
• exact LP algorithms are not practical for large instances
• Key idea: approximate solution to the relaxation
– we generalize edge-capacitated MCF approximation of [GargK98, F99]
– [GargK98] successfully applied to global routing by [Albrecht00]
Approximating the Fractional MCF
-MCF algorithmw(v) = , f = 0For i = 1 to N do For k = 1, …, #nets do Find a shortest path p P for net k While w(p) < min{ 1, (1+2)^I } do f(p)= f(p) + 1 For every v p do w(v) ( 1 + /c(v) ) * w(v) End For End While End ForEnd ForOutput f/N
Run time for -approximation = ))BBs#nets(#( 22 O
• Random walk algorithm [RaghavanT87] – probability of routing a net proportional to net’s flow– probability of choosing an arc proportional to fractional
flow along arc– run time = O( #inserted buffers )– To avoid BB overuse, scale-down fractional flow by 1-
few violations + unused BB capacity for large • resolve capacity violations by greedily deleting paths• greedily route remaining nets using unused BB capacity