Claims
- 1. A method for evaluating a floorplan and for defining a global buffered routing for an integrated circuit, the method comprising the steps of:
constructing a graphical representation of the integrated circuit floorplan, including wire capacity and buffer capacity; formulating an integer linear program from said graphical representation; and finding a solution to said integer linear program.
- 2. The method recited in claim 1, wherein
said constructing said graphical representation includes
constructing a tile graph G from the integrated circuit floorplan, said tile graph G including
V, a set of tiles v that represents the IC floorplan; E, a set of two-dimensional edges between any two of said tiles v ∈ V that are contiguous; b(v), a set of buffer capacities, each of said buffer capacities being a number of buffer sites located in each of said tiles v ∈ V; w(e), a set of wire capacities, each of said wire capacities being a number of wire routing channels across each of said edges e ∈ E; and a netlist set N of nets Ni such that N={N1, N2, . . . , Nk} to be included in the floorplan, each of said nets Ni specified by sets of source tiles Si ∈ V, said source tiles Si being tiles v to which at least one net source si may be assigned and by sets of sink tiles Ti ∈ V, said sink tiles Ti being tiles v to which at least one net sink ti may be assigned.
- 3. The method recited in claim 2, wherein
said constructing said graphical representation further includes formulating a floorplan evaluation problem from said tile graph G,
said floorplan evaluation problem including a statement of what is given, said given statement including
said tile graph G; said netlist N; a wireload upper-bound of U>0; a buffer congestion upper-bound of μ0≦1; and a wire congestion upper-bound of v0≦1; and a statement of what is to be found, said find statement including
feasible buffered routings (Pi, Bi), among a set Ri of all feasible buffered routings (Pi, Bi), for each of said nets Ni, each of said feasible buffered routings (Pi, Bi) including
a path Pi=(v0, v1, . . . , vli) in said tile graph G and a set of buffers Bi ⊂ {v0, . . . , vli} such that tile v0 ∈ Si; tile vli ∈ Ti; buffer capacity b(vi)≧1 for every tile vi ∈ Bi; a length along said path Pi between tile v0 and a first buffer in Bi has at most said wireload upper-bound U; a length between consecutive buffers in Bi has at most said wireload upper-bound U; and a length between a last buffer in Bi and tile vli has at most said wireload upper-bound U; and wherein each of said feasible buffered routings (Pi, Bi) has a relative buffer congestion of μ≦μ0, wherein said relative buffer congestion 15μ=maxv∈V&LeftBracketingBar;{i:v∈Bi}&RightBracketingBar;b(v); has a relative wire congestion of v≦v0, wherein said relative wire congestion 16v=maxe∈E&LeftBracketingBar;{i:e∈Pi}&RightBracketingBar;w(e); and minimizes a total wire and buffer area.
- 4. The method recited in claim 3, wherein
said constructing a gadget graph H from said tile graph G includes
a vertex set V(H)={si, ti|1≦i≦k} ∪ {vj|v ∈ V(G), 1≦j≦U}; and a directed arc set E(H) including
directed arc set Esrc={(si, vU)|v ∈ Si, 1≦i≦k}, directed arc set Esink={(vj, ti) | v ∈ Ti, 0≦j≦U, 1≦i≦k}, directed arc set Eu,v={(uj−1, vj), (vj−1, uj) | 1≦j≦U}, and directed arc set Ev={(vj, vU)| 1≦j≦U}, such that 17E(H)=Esrc⋃Esink⋃(⋃(u,v)∈E(G)Eu,v)⋃(⋃v∈V(G)Ev).
- 5. The method recited in claim 4, wherein
said formulating an integer linear program from said graphical representation includes
denoting a set of all simple paths p from said at least one net source si to said at least one net sink ti as set Pi; and formulating said floorplan evaluation problem from said graphical representation as said integer linear program 18min∑p=P (α∑v∈V(G) &LeftBracketingBar;p⋂Ev&RightBracketingBar;+β∑(u,v)∈E(G) &LeftBracketingBar;p⋂Eu,v&RightBracketingBar;)xp,said integer linear program being subject to 19∑p∈P &LeftBracketingBar;p⋂Ev&RightBracketingBar;xp≤μ0b(v),v∈V(G);∑p∈P &LeftBracketingBar;p⋂Eu,v&RightBracketingBar;xp≤v0w(u,v),(u,v)∈E(G);∑xp=1,p∈Pi i=1,… ,k;andxp∈{0,1},p∈P.
- 6. The method recited in claim 5, wherein
finding an integer solution to said integer linear program includes
introducing an upper-bound D on said total wire and buffer area; formulating a linear program (min λ), said linear program (min λ) being subject to 20∑p=P (α∑v∈V(G) &LeftBracketingBar;p⋂Ev&RightBracketingBar;+β∑(u,v)∈E(G) &LeftBracketingBar;p⋂Eu,v&RightBracketingBar;)xp≤λ D; ∑p∈P &LeftBracketingBar;p⋂Ev&RightBracketingBar;xp≤λ μ0b(v),v∈V(G);∑p∈P &LeftBracketingBar;p⋂Eu,v&RightBracketingBar;xp≤λ v0w(u,v),(u,v)∈E(G);∑xp=1,p∈Pi i=1,… ,k;andxp≥0,p∈P;andfinding a minimum upper-bound D for which an optimum objective value for said linear program (min λ) λ*≦1.
- 7. The method recited in claim 6, wherein
said finding a minimum upper-bound D for which an optimum objective value for said linear program (min λ) λ*≦1 is performed by use of an algorithm, said algorithm simultaneously approximating said linear program (min λ) and a dual linear program 21max∑i=1k l i,said dual linear program being subject to 22∑v∈V(G)μ0b(v)yv+∑(u,v)∈E(G)v0w(u,v)zu,v+D u=1;∑v∈V(G)&LeftBracketingBar;p⋂Ev&RightBracketingBar;(yv+α u)+∑(u,v)∈E(G)&LeftBracketingBar;p⋂Eu,v&RightBracketingBar;(zu,v+β u)≥li,p∈Pi;yv≥0,v∈V(G);andze≥0,e∈E(G).
- 8. The method recited in claim 7, wherein
said algorithm finds a (1+ε0)-approximation with 23O(1ε02λ*k log n)shortest path calculations, using 24ε=min{1γ,1γ(1+ε0-1),14(1-(11+e0)16)} and ∂=(1-ε′n+m)1ε,wherein n is the number of vertices of tile graph G, m is the number of said edges of tile graph G, and ε′:=ε(1+ε)(1+εγ).
- 9. The method recited in claim 1, further comprising:
evaluating routing and buffer resources using said solution.
- 10. The method recited in claim 9, wherein
said evaluating includes computing a tradeoff curve for a total routing area, a wire congestion, and a buffer congestion.
- 11. The method recited in claim 1, further comprising:
defining a least one feasible buffered routing using said solution.
- 12. The method recited in claim 11, wherein
said defining said at least one feasible buffered routing includes randomly choosing a path from among a plurality of paths yielded by said solution.
- 13. The method recited in claim 1, wherein
said graphical representation includes a representation a flexibility for assignment of pins in the floorplan.
- 14. The method of claim 1, wherein
said graphical representation includes a representation of polarity constraints associated with inverting buffers.
- 15. The method recited in claim 1, wherein
said graphical representation includes a representation of a plurality of buffer sizes.
- 16. The method recited in claim 1, wherein
said graphical representation includes a representation of a plurality of wire sizes.
- 17. The method recited in claim 1, wherein
said graphical representation includes a representation of delay constraints.
- 18. The method recited in claim 1, wherein
said finding a solution to said integer linear program includes finding a solution for at least one net with a single source and a single sink.
- 19. The method recited in claim 1, wherein
said finding a solution to said integer linear program includes finding a solution for at least one net with a single source and a plurality of sinks.
- 20. The method recited in claim 1, wherein
constructing said graphical representation includes constructing a tile graph having tiles of a plurality of sizes.
- 21. The method recited in claim 1, wherein said graphical representation includes a representation on constraints on a numbers of buffers in specified sets of tiles.
- 22. A computer-readable medium having computer-readable instructions for performing the method recited in claim 1.
- 23. A method for evaluating a floorplan and for defining a global buffered routing for an integrated circuit, the method comprising the steps of:
constructing a graphical representation of the integrated circuit floorplan, said constructing including
constructing a tile graph from the integrated circuit floorplan, formulating a floorplan evaluation problem from said tile graph, and constructing a gadget graph from said tile graph; formulating said floorplan evaluation problem as an integer linear program from said graphical representation; and finding a solution to said integer linear program, said finding including
finding a solution to a fractional relaxation of said integer linear program, and rounding said solution to said fractional relaxation to an integer solution using randomized rounding.
- 24. A computer-readable medium having computer-readable instructions for performing the method recited in claim 23.
REFERENCE TO RELATED APPLICATION AND PRIORITY CLAIM
[0001] This application is related to pending provisional application Serial No. 60/413,096, filed on Sep. 24, 2002, and claims priority from that provisional application under 35 U.S.C. § 119. Provisional application Serial No. 60/413,096 is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60413096 |
Sep 2002 |
US |