US5267176A - Method for placing modules on a carrier - Google Patents

Method for placing modules on a carrier Download PDF

Info

Publication number
US5267176A
US5267176A US07/684,902 US68490291A US5267176A US 5267176 A US5267176 A US 5267176A US 68490291 A US68490291 A US 68490291A US 5267176 A US5267176 A US 5267176A
Authority
US
United States
Prior art keywords
sub
modules
regions
region
placement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US07/684,902
Inventor
Kurt Antreich
Frank Johannes
Jurgen Kleinhans
Georg Sigl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Assigned to SIEMENS AKTIENGESELLSCHAFT reassignment SIEMENS AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: ANTREICH, KURT, JOHANNES, FRANK, KLEINHANS, JURGEN, SIGL, GEORG
Application granted granted Critical
Publication of US5267176A publication Critical patent/US5267176A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Definitions

  • the invention is directed to a method for placing modules on a carrier upon employment of a module list containing the dimensions of the modules and of a network list containing the connections of the modules.
  • the known methods first strive for a relative placement of the modules relative to one another.
  • the coordinates of the individual modules are calculated such that the center of gravity of the modules is at a prescribed point, for example the center coordinate of the area of the placement surface provided for the arrangement.
  • the coordinates of the modules are calculated by solving an optimization problem, whereby a function of the distances of the modules connected to one another is made into a minimum.
  • the solution of this optimization problem ensues taking secondary conditions into consideration; what is thereby achieved is that the modules lie optimally uniformly distributed on the placement surface.
  • the calculation of the ultimate and overlap-free position of the modules ensues after the end of the relative placement.
  • the information of the relative placement is thereby used.
  • the object underlying the invention is comprised in specifying another method for placing prefabricated modules on a carrier.
  • this object is achieved a method for placing modules consisting of moveable modules and fixed modules on a carrier upon employment of a module list containing dimensions of the modules and of a network list containing connections of the modules.
  • the method has the steps of:
  • the method is thus comprised of a repetition of a global placement of the modules on a placement region and of subsequent partitioning, whereby these steps are repeated until every sub-region determined by division contains at most a prescribed number of modules.
  • the global placement ensues by arranging the modules in the sub-regions such that the modules assigned to the sub-regions have their centers of gravity falling onto the center coordinates of these sub-regions. Differing from the known methods, the arrangement of all modules of all sub-regions is thereby simultaneously calculated.
  • the sub-regions are achieved by partitioning the placement region or, respectively, sub-regions, whereby a selectable number of modules are allocated to the sub-regions achieved by the partitioning and the size of the sub-regions achieved by the partitioning is defined dependent on the assigned modules.
  • the subdivision of the placement region or, respectively, of the sub-regions expediently ensues with horizontal or vertical lines of section.
  • a sorting of the modules from the prior global placement according to their x-coordinates or y-coordinates is then merely required for assigning the modules to the sub-regions. It is expedient when the partitioning is composed of a bipartition of the regions to be divided.
  • the repetition of global placement and partitioning can be continued until only one module is still arranged in every sub-region. It is more advantageous, however, when this repetition is aborted when a prescribed plurality of modules, for example 8 modules, are at most contained in every sub-region.
  • the ultimate arrangement of the modules can then be implemented with an optimization step given optimum area exploitation on the placement region.
  • This step can be comprised therein that all possible divisions of the sub-regions having up to k modules are identified upon utilization of the result of the global placement and the dimensions of the sub-areas for the placement of a module that are thereby found are combined in a form function.
  • This step can be implemented for all such sub-regions.
  • the dimensions of all permissible module arrangements can be calculated by addition of the form functions of these sub-regions.
  • the area centers of gravity of the placement region and of the sub-regions are their respective center coordinates.
  • x, y coordinates of the modules are simultaneously determined according to equations (1) and (2) given below.
  • the fixed modules are displaceable in x-direction or, respectively, y-direction at the edges of the placement region.
  • the allocation of the modules to the sub-regions ensues by sorting the modules according to the x, y-coordinates.
  • the global placement and partitioning is ended when one module is arranged in every sub-region.
  • the optimum area exploitation ensures by identifying all possible divisions of the sub-regions having up to k modules upon utilization of the results of the global placement.
  • the arrangement of the modules in the sub-regions is optimized in that all possible sectionings are identified for every sub-region and the modules are allocated to the sub-areas that have arisen.
  • the dimensions of the smallest rectangular region wherein the modules can be placed overlap-free are calculated for every sectioning and module allocation and the various possible dimensions of a sub-area are combined in a form function. This is implemented for all sub-regions and the dimensions of all allowable module arrangements are calculated by addition of the form functions of all sub-regions.
  • the rotational positions of the modules can be optimized.
  • the method of the invention has the advantage that modules having different dimensions can be arranged overlap-free in one plane, whereby prescriptions for the locations of a part of the modules are taken into consideration.
  • the method optimizes the arrangement with respect to a function of the distances between given groups of modules and with respect to the overall area of the module arrangement.
  • the method particularly serves the purpose of implementing the placement of modules (cells, components) in the layout design of electrical circuits, i.e. serves the purpose of converting a given function description of the circuit into a planar, topical arrangement.
  • the dimensions of the modules are thereby specified in a module list.
  • the function description is established as network list wherein all module groups that are to be taken into consideration in the minimization of the module spacings are recited.
  • the method is suitable both for the layout design of integrated cell circuits in standard cell, macro cell, gate array and sea of gates technology as well as for the placement of modules on printed circuit boards.
  • FIG. 1 is a schematic diagram of an example of a wiring diagram having only a few modules
  • FIG. 2 depicts the arrangement of modules in the placement region in a first pass
  • FIG. 3 depicts the placement region with the arrangement of the modules in a second pass
  • FIG. 4 depicts the placement region with the arrangement of the modules after a third pass
  • FIG. 5 depicts the ultimate placement of the modules on the placement region
  • FIG. 6 is a graph showing the X-, Y-coordinates of a module.
  • FIG. 7 is a flow chart of the method of the present invention.
  • FIG. 1 merely shows a schematic illustration of a wiring diagram having few modules.
  • the modules are identified with upper case letters. For example, they can represent cells of a cell library.
  • the individual modules are connected to one another, whereby the connections are shown simplified in FIG. 1.
  • the connections of the modules are also referred to as signals.
  • the dimensions of the modules are contained in a module list and the connections of the modules are contained in a network list.
  • the module list and the network list are prescribed and are employed for placing the modules on a carrier, for example a chip.
  • the placement of the modules ensues according to the flow chart of FIG. 7. It may be seen that the method is composed of a sequence of alternating steps S0-S3, namely global placements S1 and partitionings S2. The sequence ends when every sub-set of modules that has arisen due to the partitionings contains no more than a prescribable plurality of modules.
  • the method can be expediently ended with an optimization step S3 wherein the area utilization in the sub-regions that have arisen in the placement region is improved by evaluating all possible module arrangements, whereby the rotational position of the modules is also identified in addition to their coordinates.
  • all modules M b are assigned to an undivided set.
  • the network list is thereby given, i.e. the list of all possibly weighted module groups (networks) for which the spacing function is to be minimized.
  • the dimensions and terminal coordinates of all modules M, the geometrical locations of modules having an established positioned (fixed modules) as well as a placement region are also established in the module list. Given secondary conditions must also be observed.
  • the placement region is referenced PL and, for example, can be part of a carrier TR.
  • Modules M are to be arranged on the placement region PL.
  • the modules can be movable or they can have a fixed position.
  • Movable modules are referenced M b and fixed modules are referenced M f .
  • the movable modules M b are referenced with upper case letters.
  • the spacings of a module from the connected networks are also contained in equation 1, whereby u nm , v nm also takes into consideration that the networks do not lead to the center of module but to its terminal points.
  • u nm , v nm also takes into consideration that the networks do not lead to the center of module but to its terminal points.
  • FIG. 6 wherein a module M m is shown in the coordinate system.
  • the center of the module is defined by the x-, y-coordinates; the position of the terminal of a module is defined by the coordinates u, v referred to the center of the module. Since the connections lead to the terminals of the modules, the spacing between the center coordinates of the modules must be correspondingly corrected.
  • the significance of a network can be defined by the weighting factor w. Whether a network is connected to a module or not is recited with the assistance of t.
  • the layout design can not rigidly prescribe the locations of what are referred to as the terminals (pads) at the edge of the placement region PL but to instead allocate them to one of the four edges and to calculate their y-coordinates for left-hand or right-hand terminals and to calculate their x-coordinates for upper and for lower terminals.
  • the coordinates of the modules are calculated with the assistance of the equation system 1.
  • This system can also be vividly interpreted as a system of mass points that are connected by elastic springs having spring constance.
  • the spring constant thereby corresponds to the significance of the network that is connected to the module under consideration.
  • the position of the movable modules M b within the placement region PL derives from FIG. 2.
  • the modules are arranged around the center coordinates X r , Y r .
  • the step S1 wherein the modules have been placed on the placement region PL dependent on the equations 1, 2 is followed by the step S2.
  • the placement region PL is now divided (indicated by the line of section SL in FIG. 2).
  • the partitioning step thus, the region in which a module can be arranged becomes more and more limited.
  • the sequence of repeated partitioning steps leads to a complete dissection of the placement area into a number of rectangles that corresponds to the number of modules to be placed and, thus, leads to a reliable placement. This differs from the temporary global placements in that the modules are arranged overlap-free and according to the rules of the appertaining design style.
  • a placement region PL, PLT is described by width, height, area, center coordinates and the set of modules that are to be placed in this region.
  • the step S2 When the step S2 is implemented for the first time, one begins with the placement region PL, i.e. the entire placement area, and with the set of all movable modules M b arranged in this placement region.
  • the partitioning is then composed of two sub-steps: 1.
  • the modules set M b is divided into sub-sets. The division ensues on the basis of the module coordinates x, y calculated during the global placement step, these coordinates representing a minimum with respect to the network lengths. In a horizontal or, respectively, vertical line of section SL, this is achieved by sorting the modules according to y or, respectively, x coordinates of the modules and by an appropriate division into two or more sub-sets.
  • the sectioning is to be identified with respect to the number of networks cut by the line of section SL, then an additional application of the min-cut principle onto modules in the proximity of the line of section is also possible.
  • the min-cut principle is disclosed, for example, in Lauther, U., A min-cut placement algorithm for general cell assemblies based on a graph representation, in Design Automation Conference, 1979, pages 1 through 10 (hereby incorporated by reference).
  • the allocation of the modules to the sub-regions PL2 can ensue according to the x-coordinates of the modules, for example the modules having a low x-coordinate can be assigned to the left-hand sub-region and modules having a higher x-coordinate can be assigned to the right-hand sub-region.
  • the placement region PL is divided into non-overlapping sub-regions PLT that completely cover the placement region and in the ratio of the areas of the appertaining module sub-sets. This usually leads thereto that the broken line SL in FIG. 2 is to be shifted.
  • the heights h r' and h r" of the sub-regions are selected in the following way: ##EQU3## F m' is thereby the area of a module m' in a sub-region r'; F m' is the area of a module m" in the other sub-region r".
  • the sectioning of the placement region PL into sub-regions PLT produced by this partitioning step yields what is referred to as a slicing structure that is a prerequisite for the area optimization to be set forth later and that is especially well-suited for the later design of the connecting networks in the layout design.
  • the global placement step S1 is executed again after the implementation of the step S2.
  • the equation system 1 is re-calculated but now taking new secondary conditions into consideration, namely secondary conditions for every sub-region PLT.
  • the calculation of the equation system 1 ensues simultaneously for all modules and is not separately implemented for every sub-region PLT.
  • FIG. 3 shows the result of step S1, global placement.
  • the modules are now assigned to the left-hand sub-region PLT 1 and one part are assigned to the right-hand sub-region PLT 2.
  • the allocated modules are grouped around the center coordinates within each of the sub-regions PLT. How the individual modules have shifted in terms of their center of gravity from the starting point of FIG. 2 into the sub-regions PLT may be seen with reference to the letters of the modules.
  • Every sub-region PLT 1, PLT 2 is respectively subdivided by a line of section SL2, SL3 and the individual modules are assigned to the newly acquired sub-regions dependent on the coordinates acquired during the global placement.
  • the size of the areas of the sub-regions is again determined in the ratio of the areas of the modules assigned to these sub-regions.
  • Step S2 is again followed by the global placement step S1, i.e. the equation system 1 is now solved taking the new secondary conditions into consideration. Given a respective bipartition of the previous sub-regions, four secondary conditions are now to be observed.
  • FIG. 4 shows the result of this calculation.
  • steps of global placement S1 and partitioning S2 are repeated until either at most one module remains for every sub-region or, on the other hand, until at most k modules are provided per sub-region.
  • k can be 8. In the latter case, it is necessary to implement the ultimate arrangement of the modules in a step S3 that strives for an optimum area exploitation.
  • the sequence of global placements and partitions can be aborted, for example, with the step that led to FIG. 4 and the ultimate position of the modules that derives from FIG. 5 can be calculated in the step S3.
  • a dissection of the given placement region is present at the beginning of the optimization step S3 such that at most the prescribed plurality k of modules is allocated to each sub-region.
  • the area exploitation of the slicing structure that is achieved is improved both locally as well as globally.
  • the dimensions of all allowable module arrangements are globally calculated on the basis of a suitable addition of the form functions of all sub-regions. The user thus has the possibility of selecting that arrangement from the alternatives offered that is optimum for his purposes.

Abstract

Method for placing modules on a carrier. Modules, for example cells, are placed on a carrier, for example a chip, with the method. For placement, the modules are arranged such on the placement region of the carrier that the center of gravity of the modules falls onto the center coordinates of the placement region (global placement S1). Subsequently, the placement region is partitioned into sub-regions, modules are allocated to the sub-regions and the area of the sub-regions is defined in the ratio of the area of the modules allocated to these sub-regions (partitioning, S2). In the next step, a global placement is again carried out, i.e. the modules are arranged such in the sub-regions that the modules allocated to the sub-regions have their center of gravity falling onto the center coordinates of these sub-regions. The steps of global placement and of partitioning follow one another until only at most k modules are still present per sub-region. The ultimate position of the modules is then implemented with the assistance of an optimization step (S3), wherein the position for the modules whereat the area exploitation is optimum is calculated taking the position of the modules achieved in the global placement into consideration.

Description

BACKGROUND OF THE INVENTION
The invention is directed to a method for placing modules on a carrier upon employment of a module list containing the dimensions of the modules and of a network list containing the connections of the modules.
Methods for placing modules on a carrier, for example for placing gate arrays, standard cells, macro cells on a chip or for placing modules on printed circuit boards, are known. Let the following be referenced as examples of the prior art: Cheng, C. K., Kuh, E. S., Module Placement based on Resistive Network Optimization, IEEE Transactions on Computer-Aided Design, Vol. CAD-3, 1984, pages 218 through 225; Just, K. M., Kleinhans, J. M., Johannes, F. M., on the Relative Placement and the Transportation Problem for Standard-Cell Layout, Design Automation Conference, 1986, pages 308 through 313. These references recite methods with whose assistance modules are first placed on the carrier in their relative position with respect to one another and are then assigned their ultimate position on the carrier. The point of departure is the topology of the circuit, i.e., for example, a wiring diagram, from which how a plurality of modules are connected to one another derives. The job of the placement is to then optimally arrange these modules on a carrier, for example a chip, taking their connections into consideration. The placement method is described in detail in the said references, these being referenced herein.
The known methods first strive for a relative placement of the modules relative to one another. To that end, the coordinates of the individual modules are calculated such that the center of gravity of the modules is at a prescribed point, for example the center coordinate of the area of the placement surface provided for the arrangement. The coordinates of the modules are calculated by solving an optimization problem, whereby a function of the distances of the modules connected to one another is made into a minimum. The solution of this optimization problem ensues taking secondary conditions into consideration; what is thereby achieved is that the modules lie optimally uniformly distributed on the placement surface. The calculation of the ultimate and overlap-free position of the modules ensues after the end of the relative placement. The information of the relative placement is thereby used.
SUMMARY OF THE INVENTION
The object underlying the invention is comprised in specifying another method for placing prefabricated modules on a carrier.
In a method of the species initially cited, this object is achieved a method for placing modules consisting of moveable modules and fixed modules on a carrier upon employment of a module list containing dimensions of the modules and of a network list containing connections of the modules.
The method has the steps of:
a) arranging all movable modules on the placement region of the carrier by global placement such that the overall center of gravity of the modules lies on an area center of gravity of the placement region and all fixed modules are arranged at edges of the placement region;
b) in a partitioning step,
b1) subdividing the placement region into sub-regions,
b2) assigning the modules to the sub-regions on the basis of the position of the modules determined in step a),
b3) ultimately defining the size of the sub-regions in the ratio of the modules to be arranged in the sub-regions;
c) simultaneously arranging the modules in a global placement for all sub-regions such that their overall center of gravity respectively lies on area centers of gravity of the allocated sub-regions;
d) in a further partitioning step,
d1) dividing the sub-regions into further sub-regions,
d2) allocating the modules to the further sub-regions on the basis of the position of the modules defined in step c),
d3) ultimately defining the size of the further sub-regions in the ratio of the modules to be arranged in the further sub-regions;
continuing the steps c) and d) until at most a prescribable plurality of k modules is allocated to every sub-region.
The method is thus comprised of a repetition of a global placement of the modules on a placement region and of subsequent partitioning, whereby these steps are repeated until every sub-region determined by division contains at most a prescribed number of modules. The global placement ensues by arranging the modules in the sub-regions such that the modules assigned to the sub-regions have their centers of gravity falling onto the center coordinates of these sub-regions. Differing from the known methods, the arrangement of all modules of all sub-regions is thereby simultaneously calculated. The sub-regions are achieved by partitioning the placement region or, respectively, sub-regions, whereby a selectable number of modules are allocated to the sub-regions achieved by the partitioning and the size of the sub-regions achieved by the partitioning is defined dependent on the assigned modules.
The subdivision of the placement region or, respectively, of the sub-regions expediently ensues with horizontal or vertical lines of section. A sorting of the modules from the prior global placement according to their x-coordinates or y-coordinates is then merely required for assigning the modules to the sub-regions. It is expedient when the partitioning is composed of a bipartition of the regions to be divided.
The repetition of global placement and partitioning can be continued until only one module is still arranged in every sub-region. It is more advantageous, however, when this repetition is aborted when a prescribed plurality of modules, for example 8 modules, are at most contained in every sub-region. The ultimate arrangement of the modules can then be implemented with an optimization step given optimum area exploitation on the placement region. This step can be comprised therein that all possible divisions of the sub-regions having up to k modules are identified upon utilization of the result of the global placement and the dimensions of the sub-areas for the placement of a module that are thereby found are combined in a form function. This step can be implemented for all such sub-regions. The dimensions of all permissible module arrangements can be calculated by addition of the form functions of these sub-regions.
More specifically, in the method of the present invention the area centers of gravity of the placement region and of the sub-regions are their respective center coordinates. For the global placement, x, y coordinates of the modules are simultaneously determined according to equations (1) and (2) given below.
Furthermore, in the method of the present invention the fixed modules are displaceable in x-direction or, respectively, y-direction at the edges of the placement region. The allocation of the modules to the sub-regions ensues by sorting the modules according to the x, y-coordinates.
The subdivision of the placement region and of the sub-regions ensues by horizontal and vertical lines of section and modules sub-sets are allocated to the sub-regions achieved by the sectionings. A respective bipartition of every region ensues in the partitioning. Modules whose allocated connections transgress the line of section are allocated to the sub-regions given the additional application of the min-cut principle.
In one embodiment of the method of the present invention the global placement and partitioning is ended when one module is arranged in every sub-region. Also, the optimum area exploitation ensures by identifying all possible divisions of the sub-regions having up to k modules upon utilization of the results of the global placement. The arrangement of the modules in the sub-regions is optimized in that all possible sectionings are identified for every sub-region and the modules are allocated to the sub-areas that have arisen. The dimensions of the smallest rectangular region wherein the modules can be placed overlap-free are calculated for every sectioning and module allocation and the various possible dimensions of a sub-area are combined in a form function. This is implemented for all sub-regions and the dimensions of all allowable module arrangements are calculated by addition of the form functions of all sub-regions. The rotational positions of the modules can be optimized.
The method of the invention has the advantage that modules having different dimensions can be arranged overlap-free in one plane, whereby prescriptions for the locations of a part of the modules are taken into consideration. The method optimizes the arrangement with respect to a function of the distances between given groups of modules and with respect to the overall area of the module arrangement.
The method particularly serves the purpose of implementing the placement of modules (cells, components) in the layout design of electrical circuits, i.e. serves the purpose of converting a given function description of the circuit into a planar, topical arrangement. The dimensions of the modules are thereby specified in a module list. The function description is established as network list wherein all module groups that are to be taken into consideration in the minimization of the module spacings are recited.
The method is suitable both for the layout design of integrated cell circuits in standard cell, macro cell, gate array and sea of gates technology as well as for the placement of modules on printed circuit boards.
BRIEF DESCRIPTION OF THE DRAWINGS
The features of the present invention which are believed to be novel, are set forth with particularity in the appended claims. The invention, together with further objects and advantages, may best be understood by reference to the following description taken in conjunction with the accompanying drawings, in the several FIGURES in which like reference numerals identify like elements, and in which:
FIG. 1 is a schematic diagram of an example of a wiring diagram having only a few modules;
FIG. 2 depicts the arrangement of modules in the placement region in a first pass;
FIG. 3 depicts the placement region with the arrangement of the modules in a second pass;
FIG. 4 depicts the placement region with the arrangement of the modules after a third pass;
FIG. 5 depicts the ultimate placement of the modules on the placement region;
FIG. 6 is a graph showing the X-, Y-coordinates of a module; and
FIG. 7 is a flow chart of the method of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The problem that is to be resolved with the method can be comprised in converting a wiring diagram as shown, for example, in FIG. 1 into a layout of the circuit, for example on a chip. FIG. 1 merely shows a schematic illustration of a wiring diagram having few modules. The modules are identified with upper case letters. For example, they can represent cells of a cell library. The individual modules are connected to one another, whereby the connections are shown simplified in FIG. 1. The connections of the modules are also referred to as signals.
The dimensions of the modules are contained in a module list and the connections of the modules are contained in a network list. The module list and the network list are prescribed and are employed for placing the modules on a carrier, for example a chip.
The placement of the modules ensues according to the flow chart of FIG. 7. It may be seen that the method is composed of a sequence of alternating steps S0-S3, namely global placements S1 and partitionings S2. The sequence ends when every sub-set of modules that has arisen due to the partitionings contains no more than a prescribable plurality of modules. The method can be expediently ended with an optimization step S3 wherein the area utilization in the sub-regions that have arisen in the placement region is improved by evaluating all possible module arrangements, whereby the rotational position of the modules is also identified in addition to their coordinates.
What is achieved with the global placement is that a globally optimum module arrangement, i.e. optimum topical proximities for all modules, is calculated from the functional circuit description by formulating and solving a continuous optimization problem with secondary conditions. All modules are thereby simultaneously treated until an overlap-free arrangement is achieved.
In the introductory method step SO, all modules Mb are assigned to an undivided set. The network list is thereby given, i.e. the list of all possibly weighted module groups (networks) for which the spacing function is to be minimized. The dimensions and terminal coordinates of all modules M, the geometrical locations of modules having an established positioned (fixed modules) as well as a placement region are also established in the module list. Given secondary conditions must also be observed.
In FIG. 2, the placement region is referenced PL and, for example, can be part of a carrier TR. Modules M are to be arranged on the placement region PL. The modules can be movable or they can have a fixed position. Movable modules are referenced Mb and fixed modules are referenced Mf. FIG. 2, for example, represents a chip that comprises terminals (pads) at the edge as fixed modules Mf and comprises movable modules Mb for example cells in the placement region PL. The movable modules Mb are referenced with upper case letters.
The geometrical locations for all modules Mb that are not pre-placed are calculated from the module list and from the network list. This problem is known and, for example, is presented in the references initially recited. The problem is described by the following mathematical model: Calculate the unknown coordinates of the vectors x and y such that ##EQU1## becomes a minimum and such that secondary conditions ##EQU2## are observed for each of the r placement regions or sub-regions PLT for 1≦r≦R.
The characters employed in the equations thereby have the following significances:
______________________________________                                    
m              module number                                              
n              network number                                             
M = ( . . . , m, . . . )                                                  
               set of the module numbers                                  
N = ( . . . , n, . . . )                                                  
               set of the network numbers                                 
M.sub.b C M    set of the movable modules                                 
M.sub.f C M    set of the fixed modules                                   
b              number of movable modules                                  
f              number of fixed modules                                    
x = ( . . . x.sub.n . . . x.sub.m . . . )                                 
               vector of the x-coordinates of all                         
               networks and modules                                       
y = ( . . . y.sub.n . . . y.sub.m . . . )                                 
               vector of the y-coordinates of all                         
               networks and modules                                       
u.sub.nm       x-coordinate of the terminal of                            
               the network n at the module m                              
v.sub.nm       y-coordinate of the terminal of                            
               the network n at the module m                              
t.sub.nm = 1   in case the network n is connected                         
               to the module m                                            
   0           in case it is not connected                                
w.sub.n        weighting factor of the network n                          
F.sub.m        surface requirement of the module                          
               m                                                          
r              number of the placement region PL                          
               or of a sub-region PLT                                     
M.sub.r  .sub.-- C M.sub.b                                                
               set of modules onto which the                              
               secondary condition r is applied                           
X.sub.r, Y.sub.r                                                          
               center coordinates of the r.sup.th                         
               placement region PL, PLT                                   
R              number of sub-regions PLT.                                 
______________________________________                                    
The spacings of a module from the connected networks, i.e. xm -xn, ym -yn, are also contained in equation 1, whereby unm, vnm also takes into consideration that the networks do not lead to the center of module but to its terminal points. This, for example, can be derived from FIG. 6 wherein a module Mm is shown in the coordinate system. The center of the module is defined by the x-, y-coordinates; the position of the terminal of a module is defined by the coordinates u, v referred to the center of the module. Since the connections lead to the terminals of the modules, the spacing between the center coordinates of the modules must be correspondingly corrected.
The significance of a network can be defined by the weighting factor w. Whether a network is connected to a module or not is recited with the assistance of t.
It can be advantageous for the layout design to not rigidly prescribe the locations of what are referred to as the terminals (pads) at the edge of the placement region PL but to instead allocate them to one of the four edges and to calculate their y-coordinates for left-hand or right-hand terminals and to calculate their x-coordinates for upper and for lower terminals.
The coordinates of the modules are calculated with the assistance of the equation system 1. This system can also be vividly interpreted as a system of mass points that are connected by elastic springs having spring constance. The spring constant thereby corresponds to the significance of the network that is connected to the module under consideration.
The solution of the equation system 1 thus leads to the calculation of the coordinates of all modules Mb. Its center of gravity must now be assigned to a defined point of the placement region PL. For this reason, a secondary condition--equation 2--is erected, this specifying the center coordinates Xr, Yr of the placement region PL. When the solution of the equation system 1 ensues taking the secondary condition 2 into consideration, then the center of gravity of the modules is placed onto these center coordinates.
The position of the movable modules Mb within the placement region PL derives from FIG. 2. The modules are arranged around the center coordinates Xr, Yr.
More detailed explanations for solving the equation system 1 while taking the secondary condition 2 for a placement region PL into consideration can be derived from the reference of Just (hereby incorporated by reference) cited at the outset. Due to the convexity of the objective function, the problem formulation employed also assures that an unambiguous global optimum exists even given the presence of a plurality of linear secondary conditions 2. The solution can be efficiently acquired with the assistance of known algorithms for processing problems of quadratic optimization such as described, for example, in Gill, P. E., Murray, W., Wright, M. H., Practical Optimization, Academic Press, London, 1981 (hereby incorporated by reference).
According to FIG. 7, the step S1 wherein the modules have been placed on the placement region PL dependent on the equations 1, 2 is followed by the step S2. The placement region PL is now divided (indicated by the line of section SL in FIG. 2). In the partitioning step, thus, the region in which a module can be arranged becomes more and more limited. At the end of the procedure, the sequence of repeated partitioning steps leads to a complete dissection of the placement area into a number of rectangles that corresponds to the number of modules to be placed and, thus, leads to a reliable placement. This differs from the temporary global placements in that the modules are arranged overlap-free and according to the rules of the appertaining design style.
A placement region PL, PLT is described by width, height, area, center coordinates and the set of modules that are to be placed in this region.
When the step S2 is implemented for the first time, one begins with the placement region PL, i.e. the entire placement area, and with the set of all movable modules Mb arranged in this placement region. The partitioning is then composed of two sub-steps: 1. The modules set Mb is divided into sub-sets. The division ensues on the basis of the module coordinates x, y calculated during the global placement step, these coordinates representing a minimum with respect to the network lengths. In a horizontal or, respectively, vertical line of section SL, this is achieved by sorting the modules according to y or, respectively, x coordinates of the modules and by an appropriate division into two or more sub-sets. When the sectioning is to be identified with respect to the number of networks cut by the line of section SL, then an additional application of the min-cut principle onto modules in the proximity of the line of section is also possible. The min-cut principle is disclosed, for example, in Lauther, U., A min-cut placement algorithm for general cell assemblies based on a graph representation, in Design Automation Conference, 1979, pages 1 through 10 (hereby incorporated by reference).
A bipartition by a line of section SL1, namely in vertical direction, ensues in the exemplary embodiment of FIG. 2. In this case, it is expedient to allocate an optimally identical number of modules to each of the sub-regions PLD achieved by the bipartition. In the exemplary embodiment of FIG. 2, the allocation of the modules to the sub-regions PL2 can ensue according to the x-coordinates of the modules, for example the modules having a low x-coordinate can be assigned to the left-hand sub-region and modules having a higher x-coordinate can be assigned to the right-hand sub-region.
2. The placement region PL is divided into non-overlapping sub-regions PLT that completely cover the placement region and in the ratio of the areas of the appertaining module sub-sets. This usually leads thereto that the broken line SL in FIG. 2 is to be shifted. In the case of a horizontal section, the heights hr' and hr" of the sub-regions are selected in the following way: ##EQU3## Fm' is thereby the area of a module m' in a sub-region r'; Fm' is the area of a module m" in the other sub-region r". The sectioning of the placement region PL into sub-regions PLT produced by this partitioning step yields what is referred to as a slicing structure that is a prerequisite for the area optimization to be set forth later and that is especially well-suited for the later design of the connecting networks in the layout design.
The global placement step S1 is executed again after the implementation of the step S2. I.E., the equation system 1 is re-calculated but now taking new secondary conditions into consideration, namely secondary conditions for every sub-region PLT. This means that the center coordinates Xr and Yr are now referred to the sub-regions PLT achieved by the sectioning of the placement region. This would be two sub-regions in the exemplary embodiment, so that two secondary conditions are now to be observed when calculating the equation system 1. The calculation of the equation system 1 ensues simultaneously for all modules and is not separately implemented for every sub-region PLT. FIG. 3 shows the result of step S1, global placement. It may be seen that one part of the modules are now assigned to the left-hand sub-region PLT 1 and one part are assigned to the right-hand sub-region PLT 2. The allocated modules are grouped around the center coordinates within each of the sub-regions PLT. How the individual modules have shifted in terms of their center of gravity from the starting point of FIG. 2 into the sub-regions PLT may be seen with reference to the letters of the modules.
The global placements that S1 is again followed by a partitioning step S2 according to the rules that were set forth above. To that end, every sub-region PLT 1, PLT 2 is respectively subdivided by a line of section SL2, SL3 and the individual modules are assigned to the newly acquired sub-regions dependent on the coordinates acquired during the global placement. The size of the areas of the sub-regions is again determined in the ratio of the areas of the modules assigned to these sub-regions.
Step S2 is again followed by the global placement step S1, i.e. the equation system 1 is now solved taking the new secondary conditions into consideration. Given a respective bipartition of the previous sub-regions, four secondary conditions are now to be observed. FIG. 4 shows the result of this calculation. A partitioning, step S2, again ensues following the global placement.
The steps of global placement S1 and partitioning S2 are repeated until either at most one module remains for every sub-region or, on the other hand, until at most k modules are provided per sub-region. For example, k can be 8. In the latter case, it is necessary to implement the ultimate arrangement of the modules in a step S3 that strives for an optimum area exploitation.
In the exemplary embodiment of FIGS. 2 through 5, the sequence of global placements and partitions can be aborted, for example, with the step that led to FIG. 4 and the ultimate position of the modules that derives from FIG. 5 can be calculated in the step S3.
A dissection of the given placement region is present at the beginning of the optimization step S3 such that at most the prescribed plurality k of modules is allocated to each sub-region. In the optimization step, the area exploitation of the slicing structure that is achieved is improved both locally as well as globally.
For the local optimization of each and every sub-region PLT having at most k modules, all possible sectionings of this sub-region are identified and the modules are assigned to the sub-areas that have arisen. The results of the global placement are taken into consideration in this optimization, so that the outlay for the optimization is reduced. The dimensions of the smallest rectangular region in which the modules can be placed overlap-free are calculated for every sectioning and module allocation by traversing the slicing structure. The various possible dimensions of the sub-region just processed are combined in a form function. A method in accord wherewith the traversing of the slicing structure and the calculation of the form functions are implemented is known from La Potin, D. P., Director, S. W., Mason: A Global Floor Planning Approach for VLSI Design, IEEE Transactions on Computer-Aided Design, Vol. CAD-5, 1986, pages 477 through 489 (hereby incorporated by reference).
Following the local area optimization, the dimensions of all allowable module arrangements are globally calculated on the basis of a suitable addition of the form functions of all sub-regions. The user thus has the possibility of selecting that arrangement from the alternatives offered that is optimum for his purposes.
The principle of partitioning is inherently known; however, it is usually employed for the purpose of reducing the size of the problem. In the method of the invention, however, it serves the purpose of increasingly limiting the regions wherein a module can be arranged. By making the partitioning progressively finer, an overlap-free arrangement of all modules is achieved at the end of the procedure. The method is thereby of such a nature that all modules are simultaneously handled until the overlap-free arrangement is achieved.
Better results are achieved by the multiple repetition of the method steps of global placement and of partitioning and by the simultaneous working than are achieved by the isolated application of both principles.
An optimum area exploitation is achieved with the assistance of the optimization step, whereby the discrete modules can also be turned in terms of their position relative to one anther.
The invention is not limited to the particular details of the method depicted and other modifications and applications are contemplated. Certain other changes may be made in the above described method without departing from the true spirit and scope of the invention herein involved. It is intended, therefore, that the subject matter in the above depiction shall be interpreted as illustrative and not in a limiting sense.

Claims (16)

What is claimed is:
1. Method for placing modules consisting of moveable modules and fixed modules on a carrier using a computer, a module list containing dimensions of the modules and a network list containing connections of the modules, comprising the steps of:
a) arranging all movable modules on the placement region of the carrier by global placement such that the overall center of gravity of the modules lies on an area center of gravity of the placement region and all fixed modules are arranged at edges of the placement region;
b) in a partitioning step,
b1) subdividing the placement region into sub-regions,
b2) dividing the modules into subsets and assigning the subsets to the sub-regions on the basis of the position of the modules determined in step a),
b3) ultimately defining the size of the sub-regions by the ratio of subsets of the modules assigned to the sub-regions;
c) simultaneously arranging the modules in a global placement for all sub-regions given mutual influencing that extends beyond the sub-regions and taking into consideration connections contained in the network list, such that overall centers of gravity of the subsets of the modules respectively lie on area centers of gravity of the sub-regions;
d) in a further partitioning step,
d1) dividing the sub-regions into further sub-regions,
d2) assigning the modules to the further sub-regions on the basis of the position of the modules defined in step c),
d3) ultimately defining the size of the further sub-regions by the ratio of the modules assigned to in the further sub-regions;
e) continuing the steps c) and d) until at most a predetermined plurality of k modules is assigned to every sub-region.
2. Method according to claim 1, wherein the area centers of gravity of the placement region and of the sub-regions are their respective center coordinates.
3. Method according to claim 1, wherein the global placement and partitioning is ended when one module is arranged in every sub-region.
4. Method according to claim 1, wherein the optimum area exploitation ensues by identifying all possible divisions of the sub-regions having up to k modules upon utilization of the results of the global placement.
5. Method according to claim 4, wherein the arrangement of the modules in the sub-regions is optimized in that all possible sectionings are identified for every sub-region and the modules are allocated to the sub-areas that have arisen; wherein the dimensions of the smallest rectangular region wherein the modules can be placed overlap-free are calculated for every sectioning and module allocation and the various possible dimensions of a sub-area are combined in a form function; and wherein this is implemented for all sub-regions and the dimensions of all allowable module arrangements are calculated by addition of the form functions of all sub-regions.
6. Method according to claim 5, wherein the rotational positions of the modules are optimized.
7. Method for placing modules consisting of moveable modules and fixed modules on a carrier upon employment of a module list containing dimensions of the modules and of a network list containing connections of the modules, comprising the steps of:
a) arranging all movable modules on the placement region of the carrier by global placement such that the overall center of gravity of the modules lies on an area center of gravity of the placement region and all fixed modules are arranged at edges of the placement region;
b) in a partitioning step,
b1) subdividing the placement region is subdivided into sub-regions,
b2) assigning the modules to the sub-regions on the basis of the position of the modules determined in step a),
b3) ultimately defining the size of the sub-regions in the ratio of the modules to be arranged in the sub-regions;
c) simultaneously arranging the modules in a global placement for all sub-regions such that their overall center of gravity respectively lies on area centers of gravity of the allocated sub-regions, the area centers of gravity of the placement region and of the sub-regions being their respective center coordinates and, for the global placement, x, y coordinates of the modules being simultaneously determined such that ##EQU4## becomes a minimum and such that secondary conditions ##EQU5## for 1≦r≦R are observed for the placement region or, respectively, for every sub-region, whereby the characters employed in the equations have the following significances:
______________________________________                                    
m              module number                                              
n              network number                                             
M = ( . . . , m, . . . )                                                  
               set of the module numbers                                  
N = ( . . . , n, . . . )                                                  
               set of the network numbers                                 
M.sub.b C M    set of the movable modules                                 
M.sub.f C M    set of the fixed modules                                   
b              number of movable modules                                  
f              number of fixed modules                                    
x = ( . . . x.sub.n . . . x.sub.m . . . )                                 
               vector of the x-coordinates of all                         
               networks and modules                                       
y = ( . . . y.sub.n . . . y.sub.m . . . )                                 
               vector of the y-coordinates of all                         
               networks and modules                                       
u.sub.nm       x-coordinate of the terminal of                            
               the network n at the module m                              
v.sub.nm       y-coordinate of the terminal of the                        
               network n at the module m                                  
t.sub.nm = 1   in case the network n is connected to                      
               the module m                                               
   0           in case it is not connected                                
w.sub.n        weighting factor of the network n                          
F.sub.m        surface requirement of the module m                        
r              number of the placement region PL                          
               or of a sub-region PLT                                     
M.sub.r C M.sub.b                                                         
               set of modules onto which the                              
               secondary condition r is applied                           
X.sub.r, Y.sub.r                                                          
               center coordinates of the r.sup.th                         
               placement region PL, PLT                                   
R              number of sub-regions PLT[.]                               
______________________________________                                    
d) in a further partitioning step,
d1) dividing the sub-regions into further sub-regions,
d2) allocating the modules to the further sub-regions on the basis of the position of the modules defined in step c),
d3) ultimately defining the size of the further sub-regions in the ratio of the modules to be arranged in the further sub-regions;
e) continuing the steps c) and d) until at most a prescribable plurality of k modules is allocated to every sub-region.
8. Method according to claim 7, wherein the fixed modules are displaceable in x-direction or, respectively, y-direction at the edges of the placement region.
9. Method according to claim 8, wherein the allocation of the modules to the sub-regions ensues by sorting the modules according to the x, y-coordinates.
10. Method according to claim 9, wherein the subdivision of the placement region and of the sub-regions ensues by horizontal and vertical lines of section and modules sub-sets are allocated to the sub-regions achieved by the sectionings.
11. Method according to claim 10, wherein a respective bipartition of every region ensues in the partitioning.
12. Method according to claim 11, wherein modules whose allocated connections transgress the line of section are allocated to the sub-regions given the additional application of the min-cut principle.
13. Method according to claim 7, wherein the global placement and partitioning is ended when one module is arranged in every sub-region.
14. Method according to claim 7, wherein the optimum area exploitation ensues by identifying all possible divisions of the sub-regions having up to k modules upon utilization of the results of the global placement.
15. Method according to claim 14, wherein the arrangement of the modules in the sub-regions is optimized in that all possible sectionings are identified for every sub-region and the modules are allocated to the sub-areas that have arisen; wherein the dimensions of the smallest rectangular region wherein the modules can be placed overlap-free are calculated for every sectioning and module allocation and the various possible dimensions of a sub-area are combined in a form function; and wherein this is implemented for all sub-regions and the dimensions of all allowable module arrangements are calculated by addition of the form functions of all sub-regions.
16. Method according to claim 15, wherein the rotational positions of the modules are optimized.
US07/684,902 1988-11-02 1989-10-26 Method for placing modules on a carrier Expired - Fee Related US5267176A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP88118251.3 1988-11-02
EP88118251 1988-11-02

Publications (1)

Publication Number Publication Date
US5267176A true US5267176A (en) 1993-11-30

Family

ID=8199514

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/684,902 Expired - Fee Related US5267176A (en) 1988-11-02 1989-10-26 Method for placing modules on a carrier

Country Status (5)

Country Link
US (1) US5267176A (en)
EP (1) EP0441810B1 (en)
JP (1) JPH04501475A (en)
DE (1) DE58907307D1 (en)
WO (1) WO1990005344A1 (en)

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5557533A (en) * 1994-04-19 1996-09-17 Lsi Logic Corporation Cell placement alteration apparatus for integrated circuit chip physical design automation system
US5566078A (en) * 1993-05-26 1996-10-15 Lsi Logic Corporation Integrated circuit cell placement using optimization-driven clustering
US5579237A (en) * 1993-11-15 1996-11-26 Fujitsu Limited Method of designing a cell placement of an integrated circuit
US5598343A (en) * 1993-10-01 1997-01-28 Texas Instruments Incorporated Method of segmenting an FPGA channel architecture for maximum routability and performance
US5638293A (en) * 1994-09-13 1997-06-10 Lsi Logic Corporation Optimal pad location method for microelectronic circuit cell placement
US5638292A (en) * 1992-01-09 1997-06-10 Kabushiki Kaisha Toshiba Method for automatically optimizing cell placement
US5696693A (en) * 1995-03-31 1997-12-09 Unisys Corporation Method for placing logic functions and cells in a logic design using floor planning by analogy
US5798936A (en) * 1996-06-21 1998-08-25 Avant| Corporation Congestion-driven placement method and computer-implemented integrated-circuit design tool
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5815403A (en) * 1994-04-19 1998-09-29 Lsi Logic Corporation Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip
US5818722A (en) * 1995-11-03 1998-10-06 Yoji Kajitani Method of placing and extracting modules
US5818726A (en) * 1994-04-18 1998-10-06 Cadence Design Systems, Inc. System and method for determining acceptable logic cell locations and generating a legal location structure
US5818729A (en) * 1996-05-23 1998-10-06 Synopsys, Inc. Method and system for placing cells using quadratic placement and a spanning tree model
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US5875117A (en) * 1994-04-19 1999-02-23 Lsi Logic Corporation Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US5914887A (en) * 1994-04-19 1999-06-22 Lsi Logic Corporation Congestion based cost factor computing apparatus for integrated circuit physical design automation system
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US5963975A (en) * 1994-04-19 1999-10-05 Lsi Logic Corporation Single chip integrated circuit distributed shared memory (DSM) and communications nodes
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5980093A (en) * 1996-12-04 1999-11-09 Lsi Logic Corporation Integrated circuit layout routing using multiprocessing
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US6155725A (en) * 1994-04-19 2000-12-05 Lsi Logic Corporation Cell placement representation and transposition for integrated circuit physical design automation system
US6161214A (en) * 1995-09-08 2000-12-12 Matsushita Electric Industrial Co., Ltd. Method of generating data on component arrangement
US6216252B1 (en) * 1990-04-06 2001-04-10 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US6308143B1 (en) * 1996-02-21 2001-10-23 Matsushita Electric Industrial Co., Ltd. Layout input apparatus, layout input method, layout verification apparatus, and layout verification method
US6378114B1 (en) * 1997-07-01 2002-04-23 Synopsys, Inc. Method for the physical placement of an integrated circuit adaptive to netlist changes
US6378119B1 (en) * 1999-05-24 2002-04-23 Dell Usa, L.P. Method and system for adaptive component placement
US6385760B2 (en) * 1998-06-12 2002-05-07 Monterey Design Systems, Inc. System and method for concurrent placement of gates and associated wiring
US6415426B1 (en) 2000-06-02 2002-07-02 Incentia Design Systems, Inc. Dynamic weighting and/or target zone analysis in timing driven placement of cells of an integrated circuit design
US20020124231A1 (en) * 2000-12-06 2002-09-05 Steven Teig Method and apparatus for pre-computing and using placement costs within a partitioned region for multiple wiring models
US20020133798A1 (en) * 2000-12-06 2002-09-19 Steven Teig Method and apparatus for considering diagonal wiring in placement
US20020170027A1 (en) * 2000-12-06 2002-11-14 Steven Teig Method and apparatus for pre-computing placement costs
US6493658B1 (en) 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US6507937B1 (en) * 2001-06-19 2003-01-14 Lsi Logic Corporation Method of global placement of control cells and hardmac pins in a datapath macro for an integrated circuit design
US20030023943A1 (en) * 2001-01-19 2003-01-30 Steven Teig Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
US20030066042A1 (en) * 2001-08-23 2003-04-03 Steven Teig Routing method and apparatus
US20030079193A1 (en) * 2000-12-07 2003-04-24 Steven Teig Routing method and apparatus that use diagonal routes
US20030088841A1 (en) * 2000-12-06 2003-05-08 Steven Teig Partitioning placement method and apparatus
US20040040007A1 (en) * 2002-08-20 2004-02-26 Ywh-Pyng Harn Method for eliminating routing congestion in an IC layout
US6718520B1 (en) 1997-01-27 2004-04-06 Unisys Corporation Method and apparatus for selectively providing hierarchy to a circuit design
US20040098695A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US20040098696A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US20040098698A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for searching for a global path
US20040098697A1 (en) * 2002-11-18 2004-05-20 Jonathan Frankle Method and apparatus for routing with independent goals on different layers
US20040098691A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for performing an exponential path search
US20040098680A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for searching for a three-dimensional global path
US20040098694A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US20040103387A1 (en) * 2002-11-18 2004-05-27 Steven Teig Method and apparatus for computing capacity of a region for non-manhattan routing
US6745379B2 (en) 2001-08-23 2004-06-01 Cadence Design Systems, Inc. Method and apparatus for identifying propagation for routes with diagonal edges
US6754879B1 (en) 1997-01-27 2004-06-22 Unisys Corporation Method and apparatus for providing modularity to a behavioral description of a circuit design
US6795958B2 (en) 2001-08-23 2004-09-21 Cadence Design Systems, Inc. Method and apparatus for generating routes for groups of related node configurations
US6907593B2 (en) 2000-12-06 2005-06-14 Cadence Design Systems, Inc. Method and apparatus for pre-computing attributes of routes
US6957410B2 (en) 2000-12-07 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for adaptively selecting the wiring model for a design region
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7055120B2 (en) 2000-12-06 2006-05-30 Cadence Design Systems, Inc. Method and apparatus for placing circuit modules
US7058913B1 (en) 2001-09-06 2006-06-06 Cadence Design Systems, Inc. Analytical placement method and apparatus
US7073150B2 (en) 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US7080336B2 (en) 2000-12-06 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for computing placement costs
US7089519B1 (en) 2002-12-31 2006-08-08 Cadence Design System, Inc. Method and system for performing placement on non Manhattan semiconductor integrated circuits
US7143382B2 (en) 2001-08-23 2006-11-28 Cadence Design Systems, Inc. Method and apparatus for storing routes
US7506295B1 (en) 2002-12-31 2009-03-17 Cadence Design Systems, Inc. Non manhattan floor plan architecture for integrated circuits
US8032855B1 (en) * 2005-12-06 2011-10-04 Altera Corporation Method and apparatus for performing incremental placement on a structured application specific integrated circuit
US8341586B2 (en) 2002-11-18 2012-12-25 Cadence Design Systems, Inc. Method and system for routing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629843A (en) * 1970-05-11 1971-12-21 Bell Telephone Labor Inc Machine process for assigning interconnected components to locations in a planar matrix
US4342090A (en) * 1980-06-27 1982-07-27 International Business Machines Corp. Batch chip placement system
EP0133466A2 (en) * 1983-08-12 1985-02-27 International Business Machines Corporation Simultaneous placement and wiring for VLSI chips
US4577276A (en) * 1983-09-12 1986-03-18 At&T Bell Laboratories Placement of components on circuit substrates
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US4852015A (en) * 1987-06-24 1989-07-25 Eta Systems, Inc. Automatic circuit layout router
US4908772A (en) * 1987-03-30 1990-03-13 Bell Telephone Laboratories Integrated circuits with component placement by rectilinear partitioning

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629843A (en) * 1970-05-11 1971-12-21 Bell Telephone Labor Inc Machine process for assigning interconnected components to locations in a planar matrix
US4342090A (en) * 1980-06-27 1982-07-27 International Business Machines Corp. Batch chip placement system
EP0133466A2 (en) * 1983-08-12 1985-02-27 International Business Machines Corporation Simultaneous placement and wiring for VLSI chips
US4593363A (en) * 1983-08-12 1986-06-03 International Business Machines Corporation Simultaneous placement and wiring for VLSI chips
US4577276A (en) * 1983-09-12 1986-03-18 At&T Bell Laboratories Placement of components on circuit substrates
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US4908772A (en) * 1987-03-30 1990-03-13 Bell Telephone Laboratories Integrated circuits with component placement by rectilinear partitioning
US4852015A (en) * 1987-06-24 1989-07-25 Eta Systems, Inc. Automatic circuit layout router

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"An Automatic Placer for Arbitrary Sized Rectangular Blocks Based on a Cellular Model"; by D. L. Jarmon, Systems & Applications May 11-15, 1987, IEEE; pp. 466-470.
"An automatic/interactive placement and routing system for custom VLSI layout design"; by H. Cai et al., May 1987 IEEE, Hamburg, pp. 625-628.
"Gordian: A New Global Optimization/Rectangle Dissection Method for Cell Placement", by J. M. Kleinhans et al.; IEEE, 1988; pp. 506-509.
"Proud: A Fast Sea-of-Gates Placement Algorithm"; by R. S. Tsay et al.; (25th ACM/IEEE Design Automation Conference) 1988; Paper 22.3; pp. 318-323.
An Automatic Placer for Arbitrary Sized Rectangular Blocks Based on a Cellular Model ; by D. L. Jarmon, Systems & Applications May 11 15, 1987, IEEE; pp. 466 470. *
An automatic/interactive placement and routing system for custom VLSI layout design ; by H. Cai et al., May 1987 IEEE, Hamburg, pp. 625 628. *
Gordian: A New Global Optimization/Rectangle Dissection Method for Cell Placement , by J. M. Kleinhans et al.; IEEE, 1988; pp. 506 509. *
Proud: A Fast Sea of Gates Placement Algorithm ; by R. S. Tsay et al.; (25th ACM/IEEE Design Automation Conference) 1988; Paper 22.3; pp. 318 323. *

Cited By (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216252B1 (en) * 1990-04-06 2001-04-10 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5638292A (en) * 1992-01-09 1997-06-10 Kabushiki Kaisha Toshiba Method for automatically optimizing cell placement
US5566078A (en) * 1993-05-26 1996-10-15 Lsi Logic Corporation Integrated circuit cell placement using optimization-driven clustering
US5598343A (en) * 1993-10-01 1997-01-28 Texas Instruments Incorporated Method of segmenting an FPGA channel architecture for maximum routability and performance
US5579237A (en) * 1993-11-15 1996-11-26 Fujitsu Limited Method of designing a cell placement of an integrated circuit
US5818726A (en) * 1994-04-18 1998-10-06 Cadence Design Systems, Inc. System and method for determining acceptable logic cell locations and generating a legal location structure
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5903461A (en) * 1994-04-19 1999-05-11 Lsi Logic Corporation Method of cell placement for an integrated circuit chip comprising chaotic placement and moving windows
US6155725A (en) * 1994-04-19 2000-12-05 Lsi Logic Corporation Cell placement representation and transposition for integrated circuit physical design automation system
US5781439A (en) * 1994-04-19 1998-07-14 Lsi Logic Corporation Method for producing integrated circuit chip having optimized cell placement
US5793644A (en) * 1994-04-19 1998-08-11 Lsi Logic Corporation Cell placement alteration apparatus for integrated circuit chip physical design automation system
US6493658B1 (en) 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US5875117A (en) * 1994-04-19 1999-02-23 Lsi Logic Corporation Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system
US5963975A (en) * 1994-04-19 1999-10-05 Lsi Logic Corporation Single chip integrated circuit distributed shared memory (DSM) and communications nodes
US5815403A (en) * 1994-04-19 1998-09-29 Lsi Logic Corporation Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip
US5914887A (en) * 1994-04-19 1999-06-22 Lsi Logic Corporation Congestion based cost factor computing apparatus for integrated circuit physical design automation system
US5557533A (en) * 1994-04-19 1996-09-17 Lsi Logic Corporation Cell placement alteration apparatus for integrated circuit chip physical design automation system
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5638293A (en) * 1994-09-13 1997-06-10 Lsi Logic Corporation Optimal pad location method for microelectronic circuit cell placement
US5696693A (en) * 1995-03-31 1997-12-09 Unisys Corporation Method for placing logic functions and cells in a logic design using floor planning by analogy
US6161214A (en) * 1995-09-08 2000-12-12 Matsushita Electric Industrial Co., Ltd. Method of generating data on component arrangement
US5818722A (en) * 1995-11-03 1998-10-06 Yoji Kajitani Method of placing and extracting modules
US6308143B1 (en) * 1996-02-21 2001-10-23 Matsushita Electric Industrial Co., Ltd. Layout input apparatus, layout input method, layout verification apparatus, and layout verification method
US5818729A (en) * 1996-05-23 1998-10-06 Synopsys, Inc. Method and system for placing cells using quadratic placement and a spanning tree model
US5798936A (en) * 1996-06-21 1998-08-25 Avant| Corporation Congestion-driven placement method and computer-implemented integrated-circuit design tool
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5980093A (en) * 1996-12-04 1999-11-09 Lsi Logic Corporation Integrated circuit layout routing using multiprocessing
US6754879B1 (en) 1997-01-27 2004-06-22 Unisys Corporation Method and apparatus for providing modularity to a behavioral description of a circuit design
US6718520B1 (en) 1997-01-27 2004-04-06 Unisys Corporation Method and apparatus for selectively providing hierarchy to a circuit design
US6378114B1 (en) * 1997-07-01 2002-04-23 Synopsys, Inc. Method for the physical placement of an integrated circuit adaptive to netlist changes
US6385760B2 (en) * 1998-06-12 2002-05-07 Monterey Design Systems, Inc. System and method for concurrent placement of gates and associated wiring
US6378119B1 (en) * 1999-05-24 2002-04-23 Dell Usa, L.P. Method and system for adaptive component placement
US6415426B1 (en) 2000-06-02 2002-07-02 Incentia Design Systems, Inc. Dynamic weighting and/or target zone analysis in timing driven placement of cells of an integrated circuit design
US20030217346A1 (en) * 2000-12-06 2003-11-20 Steven Teig Method and Apparatus for Quantifying the Quality of Placement Configurations in a Partitioned Region of an Integrated Circuit Layout
US6910198B2 (en) 2000-12-06 2005-06-21 Cadence Design Systems, Inc. Method and apparatus for pre-computing and using placement costs within a partitioned region for multiple wiring models
US7024650B2 (en) 2000-12-06 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for considering diagonal wiring in placement
US7055120B2 (en) 2000-12-06 2006-05-30 Cadence Design Systems, Inc. Method and apparatus for placing circuit modules
US6988256B2 (en) 2000-12-06 2006-01-17 Cadence Design Systems, Inc. Method and apparatus for pre-computing and using multiple placement cost attributes to quantify the quality of a placement configuration within a partitioned region
US20060010412A1 (en) * 2000-12-06 2006-01-12 Steven Teig Method and Apparatus for Using Connection Graphs with Potential Diagonal Edges to Model Interconnect Topologies During Placement
US20030088845A1 (en) * 2000-12-06 2003-05-08 Steven Teig Probabilistic routing method and apparatus
US20030088841A1 (en) * 2000-12-06 2003-05-08 Steven Teig Partitioning placement method and apparatus
US6952815B2 (en) 2000-12-06 2005-10-04 Cadence Design Systems, Inc. Probabilistic routing method and apparatus
US20030192021A1 (en) * 2000-12-06 2003-10-09 Steven Teig Recursive Partitioning Placement Method and Apparatus , with Method and Apparatus for Computing Placement Cost by Calculating Bend Values of Connection Graphs that Model Interconnect Line Topologies.
US20020170027A1 (en) * 2000-12-06 2002-11-14 Steven Teig Method and apparatus for pre-computing placement costs
US20020124231A1 (en) * 2000-12-06 2002-09-05 Steven Teig Method and apparatus for pre-computing and using placement costs within a partitioned region for multiple wiring models
US20020133798A1 (en) * 2000-12-06 2002-09-19 Steven Teig Method and apparatus for considering diagonal wiring in placement
US6907593B2 (en) 2000-12-06 2005-06-14 Cadence Design Systems, Inc. Method and apparatus for pre-computing attributes of routes
US6904580B2 (en) 2000-12-06 2005-06-07 Cadence Design Systems, Inc. Method and apparatus for pre-computing placement costs
US6848091B2 (en) 2000-12-06 2005-01-25 Cadence Design Systems, Inc. Partitioning placement method and apparatus
US20060206848A1 (en) * 2000-12-06 2006-09-14 Steven Teig Method and apparatus for considering diagonal wiring in placement
US7100137B2 (en) 2000-12-06 2006-08-29 Cadence Design Systems, Inc. Method and apparatus for quantifying the quality of placement configurations in a partitioned region of an integrated circuit layout
US6802049B2 (en) 2000-12-06 2004-10-05 Cadence Design Systems, Inc. Method and apparatus for computing placement costs by calculating bend values of connection graphs that model interconnect line topologies
US7089523B2 (en) 2000-12-06 2006-08-08 Cadence Design Systems, Inc. Method and apparatus for using connection graphs with potential diagonal edges to model interconnect topologies during placement
US7080336B2 (en) 2000-12-06 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for computing placement costs
US7013450B2 (en) 2000-12-06 2006-03-14 Cadence Design Systems, Inc. Method and apparatus for routing
US20040123260A1 (en) * 2000-12-06 2004-06-24 Steven Teig Method and Apparatus for Pre-computing and Using Multiple Placement Cost Attributes to Quantify the Quality of a Placement a Configuration within a Partitioned Region
US7073150B2 (en) 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US6957410B2 (en) 2000-12-07 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for adaptively selecting the wiring model for a design region
US7003754B2 (en) 2000-12-07 2006-02-21 Cadence Design Systems, Inc. Routing method and apparatus that use of diagonal routes
US20030079193A1 (en) * 2000-12-07 2003-04-24 Steven Teig Routing method and apparatus that use diagonal routes
US7096448B2 (en) 2001-01-19 2006-08-22 Cadence Design Systems, Inc. Method and apparatus for diagonal routing by using several sets of lines
US7139994B2 (en) 2001-01-19 2006-11-21 Cadence Design Systems, Inc. Method and apparatus for pre-computing routes
US20030023943A1 (en) * 2001-01-19 2003-01-30 Steven Teig Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
US6883154B2 (en) 2001-01-19 2005-04-19 Cadence Design Systems, Inc. LP method and apparatus for identifying route propagations
US20030043827A1 (en) * 2001-01-19 2003-03-06 Steven Teig LP method and apparatus for identifying route propagations
US6738960B2 (en) 2001-01-19 2004-05-18 Cadence Design Systems, Inc. Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
US6915501B2 (en) 2001-01-19 2005-07-05 Cadence Design Systems, Inc. LP method and apparatus for identifying routes
US20030101428A1 (en) * 2001-01-19 2003-05-29 Steven Teig Routing method and apparatus
US6507937B1 (en) * 2001-06-19 2003-01-14 Lsi Logic Corporation Method of global placement of control cells and hardmac pins in a datapath macro for an integrated circuit design
US6877149B2 (en) 2001-08-23 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for pre-computing routes
US6931616B2 (en) 2001-08-23 2005-08-16 Cadence Design Systems, Inc. Routing method and apparatus
US7155697B2 (en) 2001-08-23 2006-12-26 Cadence Design Systems, Inc. Routing method and apparatus
US20030066042A1 (en) * 2001-08-23 2003-04-03 Steven Teig Routing method and apparatus
US7143382B2 (en) 2001-08-23 2006-11-28 Cadence Design Systems, Inc. Method and apparatus for storing routes
US6745379B2 (en) 2001-08-23 2004-06-01 Cadence Design Systems, Inc. Method and apparatus for identifying propagation for routes with diagonal edges
US6795958B2 (en) 2001-08-23 2004-09-21 Cadence Design Systems, Inc. Method and apparatus for generating routes for groups of related node configurations
US7058913B1 (en) 2001-09-06 2006-06-06 Cadence Design Systems, Inc. Analytical placement method and apparatus
US7493581B2 (en) 2001-09-06 2009-02-17 Cadence Design Systems, Inc. Analytical placement method and apparatus
US20040040007A1 (en) * 2002-08-20 2004-02-26 Ywh-Pyng Harn Method for eliminating routing congestion in an IC layout
US7225116B2 (en) * 2002-08-20 2007-05-29 Cadence Design Systems, Inc. Method for eliminating routing congestion in an IC layout
US20040098698A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for searching for a global path
US7003752B2 (en) 2002-11-18 2006-02-21 Cadence Design Systems, Inc. Method and apparatus for routing
US20040103387A1 (en) * 2002-11-18 2004-05-27 Steven Teig Method and apparatus for computing capacity of a region for non-manhattan routing
US7080342B2 (en) 2002-11-18 2006-07-18 Cadence Design Systems, Inc Method and apparatus for computing capacity of a region for non-Manhattan routing
US20040098694A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US20040098680A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for searching for a three-dimensional global path
US8341586B2 (en) 2002-11-18 2012-12-25 Cadence Design Systems, Inc. Method and system for routing
US20040098691A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for performing an exponential path search
US20040098697A1 (en) * 2002-11-18 2004-05-20 Jonathan Frankle Method and apparatus for routing with independent goals on different layers
US8112733B2 (en) 2002-11-18 2012-02-07 Cadence Design Systems, Inc. Method and apparatus for routing with independent goals on different layers
US20040098696A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US20040098695A1 (en) * 2002-11-18 2004-05-20 Steven Teig Method and apparatus for routing
US6996789B2 (en) 2002-11-18 2006-02-07 Cadence Design Systems, Inc. Method and apparatus for performing an exponential path search
US7171635B2 (en) 2002-11-18 2007-01-30 Cadence Design Systems, Inc. Method and apparatus for routing
US7047513B2 (en) 2002-11-18 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for searching for a three-dimensional global path
US7480885B2 (en) 2002-11-18 2009-01-20 Cadence Design Systems, Inc. Method and apparatus for routing with independent goals on different layers
US6988257B2 (en) 2002-11-18 2006-01-17 Cadence Design Systems, Inc. Method and apparatus for routing
US7506295B1 (en) 2002-12-31 2009-03-17 Cadence Design Systems, Inc. Non manhattan floor plan architecture for integrated circuits
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7089519B1 (en) 2002-12-31 2006-08-08 Cadence Design System, Inc. Method and system for performing placement on non Manhattan semiconductor integrated circuits
US8032855B1 (en) * 2005-12-06 2011-10-04 Altera Corporation Method and apparatus for performing incremental placement on a structured application specific integrated circuit

Also Published As

Publication number Publication date
WO1990005344A1 (en) 1990-05-17
JPH04501475A (en) 1992-03-12
EP0441810B1 (en) 1994-03-23
EP0441810A1 (en) 1991-08-21
DE58907307D1 (en) 1994-04-28

Similar Documents

Publication Publication Date Title
US5267176A (en) Method for placing modules on a carrier
US4630219A (en) Element placement method
US6134702A (en) Physical design automation system and process for designing integrated circuit chips using multiway partitioning with constraints
Kleinhans et al. GORDIAN: VLSI placement by quadratic programming and slicing optimization
US4500963A (en) Automatic layout program for hybrid microcircuits (HYPAR)
US4908772A (en) Integrated circuits with component placement by rectilinear partitioning
US5898597A (en) Integrated circuit floor plan optimization system
JP2719509B2 (en) Graph partitioning system
US5980093A (en) Integrated circuit layout routing using multiprocessing
US5212653A (en) Method for producing a layout of element portions for a semiconductor integrated circuit using a computer
US5627999A (en) Similarity-extraction force-oriented floor planner
Sutanthavibul et al. An analytical approach to floorplan design and optimization
US5636129A (en) Electrical routing through fixed sized module and variable sized channel grids
US5640327A (en) Apparatus and method for partitioning resources for interconnections
WO2001024111A1 (en) Automatic routing system for pc board design
US5319743A (en) Intelligent and compact bucketing method for region queries in two-dimensional space
US5677847A (en) Method and apparatus for designing a module
WO1998037501A2 (en) Parallel processor implementation of net routing
Abboud et al. Mathematical methods for physical layout of printed circuit boards: an overview
Parng et al. A new approach to sea-of-gates global routing
Toyonaga et al. A new approach of fractal-dimension based module clustering for vlsi layout
Iwasaki et al. An effective data structure for VLSI layout systems
JPH11143921A (en) Arrangement device and method for decision of cell arrangement of semiconductor circuit
Tanchoco Cellular machine layout based on the Segmented Flow Topology
Kyung et al. Adaptive cluster growth: a new algorithm for circuit placement in rectilinear regions

Legal Events

Date Code Title Description
AS Assignment

Owner name: SIEMENS AKTIENGESELLSCHAFT

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:ANTREICH, KURT;JOHANNES, FRANK;KLEINHANS, JURGEN;AND OTHERS;REEL/FRAME:005848/0901

Effective date: 19910409

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20051130