Hierarchical floorplanner
First Claim
1. A method of making, including floorplanning functions for, an integrated circuit, said integrated circuit comprising a hierarchy of N level of functions,where N is an integer (N≧
- 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, andwhere n is an integer (1≦
n≦
N) representing the level of any particular function in the hierarchy,said hierarchy defining at least one of said (n)th level functions (a parent function) as a plurality of (n+1)st level functions (children functions, each being a child function),each child function (which is not also a parent function) being a terminal function, each terminal function being connected to at least one other terminal function, by at least one net,each net defining a plurality of interconnected terminal functions, comprising the steps of;
designing the integrated circuit,estimating the number of connections between functions throughout all N levels of the hierarchy,determining the location on the integrated circuit of each (n)th level function in the hierarchy, based in part upon said estimated number of connections, andfabricating the integrated circuit having the location of each (n)th level function as determined in the previous step.
1 Assignment
0 Petitions
Accused Products
Abstract
A system in which logic and/or memory elements are automatically placed on an integrated circuit ("floorplanning") taking into account the constraints imposed by the logic designer, not only increase the density of the integrated circuit, and the likelihood of routing interconnections among the elements on that circuit, but it also enables the user to quickly modify the floorplan manually, and then graphically display the results of such modifications. By conforming itself to the logic designer'"'"'s modular, hierarchical design, the system is capable of placing elements at each level of the specified hierarchy, based upon the number of interconnections between elements throughout that hierarchy. The system includes means for estimating the size of elements which have not yet been laid out, and for partitioning groups of elements into successively smaller "slices" of the integrated circuit (using heuristic techniques when exhaustive methods are no longer feasible) until all elements are placed relative to one another. The system also includes means for determining the precise shapes of elements on the integrated circuit, based upon the relative placement of such elements, and upon the additional area required for routing interconnections among such elements. The functionality of this hierarchical floorplanning system can be embodied in the form of software, hardware or any combination thereof, because the system'"'"'s hierarchical methodology and structure is independent of its particular embodiment.
-
Citations
17 Claims
-
1. A method of making, including floorplanning functions for, an integrated circuit, said integrated circuit comprising a hierarchy of N level of functions,
where N is an integer (N≧ - 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
where n is an integer (1≦
n≦
N) representing the level of any particular function in the hierarchy,said hierarchy defining at least one of said (n)th level functions (a parent function) as a plurality of (n+1)st level functions (children functions, each being a child function), each child function (which is not also a parent function) being a terminal function, each terminal function being connected to at least one other terminal function, by at least one net, each net defining a plurality of interconnected terminal functions, comprising the steps of; designing the integrated circuit, estimating the number of connections between functions throughout all N levels of the hierarchy, determining the location on the integrated circuit of each (n)th level function in the hierarchy, based in part upon said estimated number of connections, and fabricating the integrated circuit having the location of each (n)th level function as determined in the previous step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
-
13. A method of making, including estimating the area occupied by (n)th level functions of, an integrated circuit, said integrated circuit comprising a hierarchy of N levels of functions,
where N is an integer (N≧ - 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
where n is an integer (1≦
n≦
N) representing the level of any particular function in the hierarchy,said hierarchy defining at least one of said (n)th level functions (a parent function) as a plurality of (n+1)st level functions (children functions, each being a child function), each child function (which is not also a parent function) being a terminal function, each terminal function being connected to at least one other terminal function, by at least one net, each net defining a plurality of interconnected terminal functions; comprising the steps of; designing the integrated circuit, estimating the area of each terminal function which comprises many small cells the collective layout of which is not specified (macrocells), including estimating the number of tracks necessary to interconnect said macrocells, determining the area of said terminal function of macrocells by adding, to the sum of the areas occupied by said macrocells, the product of said number of tracks and the known width of the average track, estimating the area of each function which is not a terminal function, including estimating the precentage of the total area of the integrated circuit available for routing connections among functions, and distributing the available area uniformly to each parent function by summing the areas of each of its children functions, and multiplying that sum by said percentage, and fabricating the integrated circuit having the area occupied by each function as determined in the prior steps. - View Dependent Claims (14)
- 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
-
15. A system for making, including floorplanning functions for, an integrated circuit, said integrated circuit comprising a hierarchy of N levels of functions,
where N is an integer (N≧ - 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
where n is an integer (1≦
n≦
N) representing the level of any particular function in the hierarchy;said hierarchy defining at least one of said (n)th level functions (a parent function) as a plurality of (n+1)st level functions (children functions, each being a child function), each child function (which is not also a parent function) being a terminal function, each terminal function being connected to at least one other terminal function, by at least one net, each net defining a plurality of interconnected terminals functions, comprising; means for designing the integrated circuit, means for determining the location of said integrated circuit of (n)th level children functions (n≧
2), relative to one another within their parent,means for determining the shape of said (n)th level children functions, and means for fabricating the integrated circuit with each function having the location and shape as determined in the previous steps. - View Dependent Claims (16, 17)
- 1) representing the number of hierarchical levels of functionality in the integrated circuit, the first of said levels representing the integrated circuit as a whole, and
Specification