Claims
- 1. A method for physically designing an integrated circuit comprising:
importing a netlist description of an integrated circuit design, said netlist description comprising a plurality of hierarchical arranged branches; selecting atomic blocks for each of said plurality of hierarchically arranged branches, each of said atomic blocks selected to be one or more hierarchy levels above the bottom of a corresponding one of said hierarchically arranged branches, each of said atomic blocks being either an atomic hard block, an atomic soft block or an atomic hierarchical block; flattening each of said plurality of hierarchically arranged branches by eliminating superfluous levels of hierarchy above said atomic blocks; partitioning each of said atomic blocks into one of a plurality place and route units (“PRUs”); and positioning said atomic blocks within each of said plurality of PRUs.
- 2. The method of claim 1 wherein said partitioning step comprises:
determining a physically realizable shape for each of said plurality of PRUs; determining a physically realizable size for each of said plurality of PRUs; and determining PRU location for each of said plurality of PRUs.
- 3. The method of claim 2 wherein said determining PRU shape step comprises:
finding all of said atomic hard blocks and other hard blocks within each of said plurality of PRUs; calculating an initial PRU shape for each of said plurality of PRUs; determining whether said atomic hard blocks, said other hard blocks, and all standard cells assigned to said initial PRU shape will fit within said initial PRU shape; and if said atomic hard blocks, said other hard blocks, and all of said standard cells assigned to said initial PRU shape do not fit within said initial PRU shape, calculating an alternate initial PRU shape and determining whether said atomic hard blocks, said other hard blocks, and all of said standard cells assigned to said initial PRU shape will fit within said initial PRU shape.
- 4. The method of claim 1 wherein said positioning step further comprises:
moving all of said atomic hard blocks within a particular one of said plurality of PRUs such that each of said atomic hard blocks are one level of hierarchy below said particular one of said PRU; determining optimal placement of each of said atomic blocks; and selecting a rectilinear shape for each of said soft atomic blocks and said atomic hierarchical blocks within said particular one of said plurality of PRUs so that said soft atomic blocks and said atomic hierarchical blocks fit within areas of said particular one of said plurality of PRUs left unoccupied by said atomic hard blocks.
- 5. The method of claim 1 further comprising:
routing interconnections between said plurality of PRUs; where one of said interconnections crosses an edge of one of said PRUs, assigning a port at said edge of one said plurality of PRUs, said port comprising an electrical contact at said edge of one of said said PRUs; pushing said interconnections inside said plurality of PRUs; and creating a physical circuit layout for each of said plurality of PRUs;
- 6. A method of routing an integrated circuit design comprised of a plurality of place and route units (“PRUs”), comprising:
creating dummy ports on each of said PRUs, said dummy ports allowing a net to traverse from a first of said plurality of PRUs to a second of said plurality of PRUs; connecting said dummy ports on said PRUs by routing nets between them; determining where said routing nets cross edges of said plurality of PRUs; deleting said dummy ports; and generating real ports where said routing nets cross edges of said plurality of PRUs.
- 7. A method of fitting an integrated circuit design within a predefined area, the integrated circuit design comprising one or more of hard blocks, hierarchical blocks and soft blocks, the hard blocks having a fixed shape, comprising:
determining optimal placement of each of the hard blocks, if any, within the predefined area; and selecting a rectilinear shape for each of the soft blocks, if any, and hierarchical blocks, if any, so that the soft blocks, if any, and hierarchical blocks, if any, fit within spaces of the predefined area left unoccupied by the hard blocks.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial No. 60/230,387 filed on Sep. 6, 2000, the contents of which are incorporated herein by reference in their entirety.
[0002] In addition, the contents of co-pending application Ser. Nos. 09/227,491 filed on Jan. 7, 1999 and 09/227,023 filed on Jan. 7, 1999 are incorporated herin by reference in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60230387 |
Sep 2000 |
US |