Presentation on theme: "A Theoretical Study on Wire Length Estimation Algorithms for Placement with Opaque Blocks Tan Yan*, Shuting Li Yasuhiro Takashima, Hiroshi Murata The University."— Presentation transcript:
A Theoretical Study on Wire Length Estimation Algorithms for Placement with Opaque Blocks Tan Yan*, Shuting Li Yasuhiro Takashima, Hiroshi Murata The University of Kitakyushu * Now with University of Illinois at Urbana-Champaign
Motivation Opaque blocks makes HPWL inexact Because of IP blocks, analog blocks, memory module… Lead to timing violation, unroutable nets…
Motivationcontd Exact wire length estimation for Block Placement the obstacle-avoiding shortest path length Time complexity: O(n)? O(n 2) ? O(nlogn)?... Time complexity is almost the same as HPWL! Already proposed in Computational Geometry However Not well-known in CAD community Need interpretation to be applicable to CAD!
Our Contribution We restate the results in [P.J.de Rezende 85] & [M.J.Atallah 91] Simplify the discussion (with Block Placement notions) CAD-oriented language Tailor the theory to fit into Physical Design background
Problem Formulation Input: Block location Pin location (on block boundaries) ABLR relations * (obtainable from Sequence Pair, etc) Output: Rectilinear block-avoiding shortest path length for every 2-pin net = Minimal Wire Length (MWL)
Assumption 2-pin net s on S, t on T S T S is left-to T y s y t S T s t
Time complexity M = # of blocks, N = # of nets Building visibility graph: O(M logM) Estimating one net: O(M) Total: O(M logM + NM) Shortest path on channel graph takes O(NM 2 )
Use LUT to enhance the speed No path between two vertices? (a 2 b 2 ) Need to judge whether RU locus above t ? How to find out A & B promptly?
Two lemmas: Lemma 5: Two vertices s and t on visibility graph. If there is no path between them, then MWL = HPWL Lemma 6: If t is above ss RU locus and there exists a shortest path between them, then its length = HPWL. MWL(a,b) = HPWL ShortestPath(c,d) = MWL (c,d) = HPWL
Theorem 3 The MWL of any two vertices on the visibility graph can be obtained by shortest path algorithm: Shortest path exists, MWL = path length Otherwise, MWL = HPWL
How it works MWL = shortest path length No path! MWL = HPWL And so on… Lookup table
Time complexity Building LUT: O(M 2 ) Estimating one net: O(1) Total: O(M 2 +N) Almost the same as HPWL!
Future works Integration of routing congestion Extension to handle multi-pin nets Application to global router Experimental study