Claims
- 1. A two dimensional compaction method implemented in a computer, comprising:
receiving a plurality of layout elements; determining and allocating one or more position variables to each of the plurality of layout elements, wherein the position variables determine the location of the edges or points of the plurality of layout elements and are used to update the layout; constructing a linear system of constraints using the position variables, wherein the constraints describe the relationships between edges or points of the plurality of layout elements; establishing a linear objective function that will be optimized as part of the two dimensional compaction that is a weighted sum of the allocated position variables; and solving the linear system of constraints to compact and optimize in two dimensions simultaneously.
- 2. The method of claim 1, further comprising the step of determining whether to apply heuristics, wherein if heuristics are not to be applied, the method updates the layout, and wherein if heuristics are to be applied, the method revisits the linear constraints with a two dimensional heuristic, incrementally resolves the linear system, and updates the layout.
- 3. The method of claim 1, wherein the layout is organized in a single level.
- 4. The method of claim 1, wherein the layout is organized in a hierarchical structure comprising a plurality of cell masters and cells and/or array instances.
- 5. The method of claim 1, wherein the step of constructing linear constraints is subject to a target IC technology.
- 6. The method of claim 1, wherein the step of constructing linear constraints is subject to design rules and circuit requirements.
- 7. The method of claim 1, wherein the step of establishing a linear objective function includes receiving weight factors to minimize the total layout area and/or minimize or maximize the layer area.
- 8. The method of claim 7, wherein the weight factors define geometrical, electrical, or other measurable metrics of the layout.
- 9. The method of claim 1, wherein the step of solving the linear system of constraints includes use of linear programming, graph based programming, or a combination of linear and graph based programming.
- 10. A two dimensional method implemented in a computer, comprising:
receiving a plurality of layout elements; allocating one or more variables to each of the plurality of layout elements; constructing a linear system of constraints using the variables, wherein the constraints describe the relationships for the plurality of layout elements; establishing a linear objective function using the variables; and solving the linear objective function subject to the linear system of constraints to optimize in two dimensions.
- 11. The method of claim 10, further comprising the step of determining whether to apply heuristics, wherein if heuristics are not to be applied, the method updates the layout, and wherein if heuristics are to be applied, the method revisits the linear constraints with a two dimensional heuristic, incrementally resolves the linear system, and updates the layout.
- 12. The method of claim 10, wherein the layout is organized in a single level.
- 13. The method of claim 10, wherein the layout is organized in a hierarchical structure comprising a plurality of cell masters and cells and/or array instances.
- 14. The method of claim 10, wherein the step of constructing linear constraints is subject to a target IC technology.
- 15. The method of claim 10, wherein the step of constructing linear constraints is subject to design rules and circuit requirements.
- 16. The method of claim 10, wherein the step of establishing a linear objective function includes receiving weight factors to minimize the total layout area and/or minimize or maximize the layer area.
- 17. The method of claim 16, wherein the weight factors define geometrical, electrical, or other measurable metrics of the layout.
- 18. The method of claim 10, wherein the step of solving the linear system of constraints includes use of linear programming, graph based programming, or a combination of linear and graph based programming.
- 19. The method of claim 1, wherein at least one edge is non-orthogonal with respect to another edge.
Parent Case Info
[0001] This application claims the benefit of priority to U.S. provisional application No. 60/301,994, filed on Jun. 29, 2001, and incorporates by reference the entire subject matter of the provisional application.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60301994 |
Jun 2001 |
US |