Element placement method
First Claim
1. A method of assigning a plurality of different size elements having predetermined interconnection requirements thereamong to element positions in an array of element positions, comprising the steps of:
- forming unit and actual size models of said plurality of different size elements, and unit and actual size models of said array of element positions, each unit size model element having an identical size, each actual size model element having the same size as its corresponding one of said plurality of different size elements, the unit size model array being sufficiently large to accommodate all the unit size model elements, and the actual size model array being the same size as said array of element positions;
assigning said unit size model elements to element positions on the unit size model array according to said predetermined interconnection requirements;
replacing the assigned unit size model elements with corresponding actual size model elements, assigned to corresponding positions on said actual size model array; and
rearranging the assigned positions of said actual size model elements on said actual size model array to accommodate the actual sizes thereof.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for placing a plurality of different size electronic elements having predetermined interconnection requirements thereamong, on a next level electronic package having an array of element placement positions thereon determines optimum placement in a three pass process. In the first pass, all of the elements are treated as if they are the same size, defined as a unit size, and are assigned to element positions on a unit size next level package, then their placement is optimized. These unit size elements are then replaced by macro size elements, which are approximately the actual size of the corresponding electronic elements. The macro size elements are then rearranged for optimal placement on a macro model image, taking their sizes and shapes into account. Finally, the macro size elements are replaced by actual size elements which are placed on an actual size next level package in element positions, and their placement is again optimized. By optimizing element placement in a three pass process, i.e., unit, macro and actual size, a more efficient placement process is obtained because the element placement program need not take all of the dimensional characteristics of the elements into account at once.
169 Citations
45 Claims
-
1. A method of assigning a plurality of different size elements having predetermined interconnection requirements thereamong to element positions in an array of element positions, comprising the steps of:
-
forming unit and actual size models of said plurality of different size elements, and unit and actual size models of said array of element positions, each unit size model element having an identical size, each actual size model element having the same size as its corresponding one of said plurality of different size elements, the unit size model array being sufficiently large to accommodate all the unit size model elements, and the actual size model array being the same size as said array of element positions; assigning said unit size model elements to element positions on the unit size model array according to said predetermined interconnection requirements; replacing the assigned unit size model elements with corresponding actual size model elements, assigned to corresponding positions on said actual size model array; and rearranging the assigned positions of said actual size model elements on said actual size model array to accommodate the actual sizes thereof. - View Dependent Claims (3, 4, 5)
-
-
2. A method of assigning a plurality of different size elements having predetermined interconnection requirements thereamong to element positions in an array of element positions, comprising the steps of:
-
forming macro and actual size models of said plurality of different size elements, and macro and actual size models of said array of element positions, each macro size model element having a size which is approximately proportional to that of the corresponding one of said plurality of different size elements, each actual size model element having the same size as the corresponding one of said plurality of different size elements, the macro size model array being sufficiently large to accommodate all the macro size model elements, and the actual size model array being the same size as said array of element positions; assigning said macro size model elements to element positions on the macro size model array according to said predetermined interconnection requirements; replacing the assigned macro size model elements with corresponding actual size model elements, assigned to corresponding positions on said actual size model array; and rearranging the assigned positions of said actual size model elements on said actual size model array to accommodate the actual sizes thereof.
-
-
6. A method of assigning a plurality of different size elements having predetermined interconnection requirements thereamong, to element positions in an array of element positions, comprising the steps of:
-
forming unit, macro and actual size models of said plurality of different size elements, and unit, macro and actual size models of said array of element positions, each unit size model element having an identical size, each macro size model element having size which is roughly proportional to that of the corresponding one of said plurality of different size elements, each actual size model element having the same size as the corresponding one of said plurality of different size elements, the unit size model array being sufficiently large to accommodate all the unit size model elements, the macro size model array being sufficiently large to accommodate all the macro size model elements, and the actual size model array being the same size as said array of element positions; assigning said unit size model elements to element positions on the unit size model array according to said predetermined interconnection requirements; replacing the assigned unit size model elements with corresponding macro size model elements, assigned to corresponding positions on said macro size model array; rearranging the assigned positions of said macro size model elements on said macro size model array to accommodate the macro sizes thereof; replacing the assigned macro size model elements with actual size model elements, assigned to corresponding positions on said actual size model array; and rearranging the assigned positions of said actual size model elements on said actual size model array to accommodate the acutal sizes thereof. - View Dependent Claims (7, 8, 9)
-
-
10. A method of assigning a plurality of different size elements having a predetermined relationship thereamong to element positions in an array of element positions, comprising the steps of:
-
forming a plurality of indentical unit size elements each corresponding to one of said plurality of different size elements; assigning said unit size elements to element positions in said array of element positions in accordance with said predetermined relationship; replacing said assigned unit size elements with said corresponding different size elements; and rearranging the assigned different size element positions in said array of element positions to accommodate the exact sizes of said different size elements. - View Dependent Claims (13, 14)
-
-
11. A method of assigning a plurality of different size elements having a predetermined relationship thereamong to element positions in an array of element positions, comprising the steps of:
-
forming a plurality of macro size elements each having a size approximately proportional to that of a corresponding one of said different size elements; assigning said macro size elements to element positions in said array of element positions in accordance with said predetermined relationship; replacing said assigned macro size elements with said corresponding different size elements; and rearranging the assigned different size element positions in said array of element positions to accommodate the exact sizes of said different size elements.
-
-
12. A method of assigning a plurality of different size elements having a predetermined relationship thereamong to element positions in an array of element positions, comprising the steps of:
-
forming a plurality of identical unit size elements each corresponding to one of said plurality of different size elements; assigning said unit size elements to element positions in said array of element positions in accordance with said predetermined relationship; replacing said assigned unit size elements with a plurality of macro size elements each having a size approximately proportional to that of a corresponding one of said different size elements; rearranging the assigned unit size element positions in said array of element positions to accommodate said macro size elements; and rearranging the assigned macro size element positions in said array of element positions to accommodate the exact sizes of said different size elements.
-
-
15. A method of placing a plurality of different size electronic elements having predetermined interconnection requirements thereamong, on a next level electronic package having a plurality of element positions thereon, comprising the steps of:
-
forming unit and actual size models of said electronic elements, and unit and actual size models of said next level electronic package, each unit size element having an identical size, each actual size element having the same size as its corresponding electronic element, the unit size model of said next level package being sufficiently large to accommodate all the unit size elements, and the actual size model of said next level package being the same size as said next level electronic package; optimizing the placement of said unit size elements on the unit size model of said next level package; placing the actual size elements on the actual size model of said next level package in element positions corresponding to the optimized placement positions of the unit size elements of the unit size model of said next level package; and optimizing the placement of said actual size elements on said actual size model of said next level package. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
16. A method of placing a plurality of different size electronic elements having predetermined interconnection requirements thereamong, on a next level electronic package having a plurality of element positions thereon, comprising the steps of:
-
forming macro and actual size models of said electronic elements, and macro and actual size models of said next level electronic package, each macro size element having a size which is approximately proportional to that of the corresponding electronic element, each actual size element having the same size as its corresponding electronic element, the macro size model of said next level package being sufficiently large to accommodate all the macro size elements, and the actual size model of said next level package being the same size as said next level package; optimizing the placement of said macro size elements on the macro size model of said next level package; placing the actual size elements on the actual size model of said next level package in element positions corresponding to the optimized placement positions of the macro size elements on the macro size model of said next level package; and optimizing the placement of said actual size elements on said actual size model of said next level package.
-
-
23. A method of placing a plurality of different size electronic elements having predetermined interconnection requirements thereamong, on a next level electronic package having a plurality of element positions thereon, comprising the steps of:
-
forming unit, macro and actual size models of said electronic elements, and unit, macro and actual size models of said next level electronic package, each unit size element having an identical size, each macro size element having a size which is approximately proportional to that of the corresponding electronic element, each actual size element having the same size as its corresponding electronic element, the unit size model of said next level package being sufficiently large to accommodate all the unit size elements, the macro size model of said next level package being sufficiently large to accommodate all the macro size elements, and the actual size model of said next level package being the same size as said next level package; optimizing the placement of said unit size elements on the unit size model of said next level package; placing the macro size elements on the macro size model of said next level package in element positions corresponding to the optimized placement positions of the unit size elements on the unit size model of said next level package; optimizing the placement of said macro size elements on said macro size model of said next level package; placing the actual size elements on the actual size model of said next level package in element positions corresponding to the optimized placement positions of the macro size elements on the macro size model of said next level package; and optimizing the placement of said actual size elements on said actual size model of said next level package. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification