Method and system for approximate placement in electronic designs
AssigneeCadence Design Systems, Inc.
InventorsPhilip Chong, Christian Szegedy
Life of this patent
Estimating the term…
Abstract
Disclosed are method, system, and computer program product for a method and system for a fast and stable placement/floorplanning method that gives consistent and good quality results. Various embodiments of the present invention provide a method and system for approximate placement of various standard cells, macro-blocks, and I/O pads for the design of integrated circuits by approximating the final shapes of the objects of interest by one or more probability distribution functions over the areas for the objects of interest with improved runtime and very good stability. These probability distributions are gradually localized to final shapes satisfying the placement constraints and optimizing an objective function.
Claims22
A computer-implemented method for a multi-level technique for approximately placing an object of interest, comprising:
- in a computing node comprising at least one processor, using the at least one processor to perform a process, the process comprising:
- clustering a design into a first number of clustered design features at a first level;
- determining a statistical distribution for a plurality of locations including a first location in the design;
- performing first approximate placement of the first number of clustered objects of interest, wherein the first approximate placement of the first number of clustered objects of interest corresponds to a first likelihood of the first location that the first location is covered by at least some of the first number of clustered objects of interest in a first final placement of the first number of clustered objects of interest in the design creating or identifying a first pool of approximate placement candidates for the first number of clustered objects of interest;
- updating the first pool of approximate placement based at least in part upon a result of refining the first approximate placement;
- determining whether a finer level exists within each of the first number of objects of interest at the first level;
- and
- clustering a clustered object of interest at the first level into a second number of clustered objects of interest at a second level, in which the object of interest at the first level comprises at least two objects of interest.
A computer program product comprising a non-transitory computer-usable storage medium having executable code, which when executed by at least one processor, causes the at least one processor to execute a process for a multi-level approximately placing an object of interest, the process comprising:
- in a computing node that comprises the at least one processor:
- clustering a design into a first number of clustered design features at a first level;
- determining a statistical distribution for a plurality of locations including a first location in the design;
- perform a first approximate placement of the first number of clustered objects of interest, wherein the first approximate placement of the first number of clustered objects of interest corresponds to a first likelihood of the first location that the first location is covered by at least some of the first number of clustered objects of interest in a first final placement of the first number of clustered objects of interest in the design creating or identifying a first pool of approximate placement candidates for the first number of clustered objects of interest;
- updating the first pool of approximate placement based at least in part upon a result of refining the first approximate placement;
- determining whether a finer level exists within each of the first number of objects of interest at the first level;
- and
- clustering a clustered object of interest at the first level into a second number of clustered objects of interest at a second level, in which the object of interest at the first level comprises at least two objects of interest.
A computer system, comprising:
- at least one processor that is to:
- cluster a design into a first number of clustered design features at a first level;
- determining a statistical distribution for a plurality of locations including a first location in the design;
- perform first approximate placement of the first number of clustered objects of interest, wherein the first approximate placement of the first number of clustered objects of interest corresponds to a first likelihood of the first location that the first location is covered by at least some of the first number of clustered objects of interest in a first final placement of the first number of clustered objects of interest in the design creating or identifying a first pool of approximate placement candidates for the first number of clustered objects of interest;
- updating the first pool of approximate placement based at least in part upon a result of refining the first approximate placement;
- determine whether a finer level exists within each of the first number of objects of interest at the first level;
- and
- cluster a clustered object of interest at the first level into a second number of clustered objects of interest at a second level, in which the object of interest at the first level comprises at least two objects of interest.
Dependencies are inferred from the claim text.