Patent US6567967B2 successfully refreshed from Google Patents.
US6567967B2
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for designing large standard-cell base integrated circuits
Assignee: Synopsys Inc
•
Filing: 2001-06-04
•
Granted: 2003-05-20
•
Expires: 2021-06-04
Abstract
Abstract An automated method of designing large digital integrated circuits using a software program to partition the design into physically realizable blocks and then create the connections between blocks so as to maximize operating speed and routability while minimizing the area of the resulting integrated circuit. Timing and physical constraints are generated for each physically realizable block so that standard-cell place and route software can create each block independently as if it were a separate integrated circuit.
Inventors
- 👤 Yaacov I. Greidinger
- 👤 David S. Reed
- 👤 Ara Markosian
- 👤 Stephen P. Sample
- 👤 Jonathan A. Frankle
- 👤 Hasmik Lazaryan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 14:21
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/33; G06F30/3315; G06F30/39; G06F30/394; G06F30/392; G06F30/3947
Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
133 words
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 of place and route units (“PRUs”); and positioning said atomic blocks within each of said plurality of PRUs.
Claim 2
Independent Claim
133 words
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 of place and route units (“PRUs”); and positioning said atomic blocks within each of said plurality of PRUs.
Claim 3
Dependent Claim
45 words
The method of claim 1 wherein said partitioning step includes: 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.
Claim 4
Dependent Claim
135 words
The method of claim 2 wherein said determining PRU shape step includes: 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.
Claim 5
Dependent Claim
112 words
The method of claim 1 wherein said positioning step further includes: moving all of said atomic hard blocks within a particular one of said plurality of PRUs such that each of said atomic hard blocks is 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.
Claim 6
Dependent Claim
75 words
The method of claim 1 further including: 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 of said plurality of PRUs, said port comprising an electrical contact at said edge of one of said PRUs; pushing said interconnections inside said plurality of PRUs; and creating a physical circuit layout for each of said plurality of PRUs.
Claim 7
Dependent Claim
47 words
The method of claim 5 , wherein said pushing step results in at least one wrapper block containing said one of said PRUs and said one of said interconnections, wherein said one of said interconnections does not crossover said one of said PRUs in said wrapper block.
Claim 8
Dependent Claim
18 words
The method of claim 1 , wherein said partitioning step does not divide any of said atomic blocks.
Claim 9
Dependent Claim
18 words
The method of claim 1 , further including: designating at least one of said atomic blocks as stopped.
Claim 10
Dependent Claim
19 words
The method of claim 8 , wherein said at least one of said atomic blocks contains no hard blocks.
Claim 11
Dependent Claim
17 words
The method of claim 1 , further including: creating at least one dummy block from said netlist.
Claim 12
Dependent Claim
19 words
The method of claim 10 , wherein said at least one dummy block is a grouping of standard cells.
Claim 13
Dependent Claim
26 words
The method of claim 1 , wherein said superfluous levels of hierarchy include all levels of hierarchy between said atomic blocks and a top level block.
Claim 14
Dependent Claim
53 words
The method of claim 1 , wherein said partitioning step includes: generating an initial shape for a PRU in said plurality of PRUs, wherein said initial shape is sufficient for containing all hard blocks in said PRU; and determining whether said initial shape is sufficient for containing all standard cells in said PRU.
Claim 15
Dependent Claim
49 words
The method of claim 13 , wherein said partitioning step further includes: augmenting said initial shape to obtain an augmented shape for said PRU, wherein said augmented shape is sufficient for containing all of said hard blocks in said PRU and all of said soft blocks in said PRU.
Claim 16
Dependent Claim
27 words
The method of claim 14 , wherein said generating step, said determining step, and said augmenting step are performed for each PRU in said plurality of PRUs.
Claim 17
Dependent Claim
30 words
The method of claim 1 , wherein said partitioning step results in each PRU in said plurality of PRUs abutting at least one other PRU in said plurality of PRUs.
Claim 18
Dependent Claim
25 words
The method of claim 1 , wherein said partitioning step results in PRUs in said plurality of PRUs being aligned in equal height vertical rows.
Claim 19
Dependent Claim
25 words
The method of claim 1 , wherein said partitioning step results in PRUs in said plurality of PRUs being aligned in equal height horizontal rows.
Claim 20
Dependent Claim
61 words
The method of claim 1 , wherein said positioning step includes: moving all of said atomic hard blocks within a PRU in said plurality of PRUs to be one level of hierarchy below said PRU; placing said all of said atomic hard blocks in said PRU; and selecting a rectilinear shape for at least one atomic soft block in said PRU.
Claim 21
Dependent Claim
60 words
The method of claim 19 , further including: selecting a rectilinear shape in said PRU for each atomic soft block in said PRU and each atomic hierarchical block in said PRU so that said each atomic soft block and said each atomic hierarchical block fits within areas of said PRU left unoccupied by said all of said atomic hard blocks.
Claim 22
Dependent Claim
29 words
The method of claim 1 , wherein said positioning step results in at least one atomic block in a PRU in said plurality of PRUs having a rectilinear shape.
Claim 23
Dependent Claim
18 words
The method of claim 21 , wherein said at least one atomic block is an atomic soft block.
Claim 24
Dependent Claim
44 words
The method of claim 1 , further including: creating dummy ports on multiple PRUs in said plurality of said PRUs, said dummy ports enabling a net to traverse from a first PRU of said multiple PRUs to a second PRU of said multiple PRUs.
Claim 25
Dependent Claim
38 words
The method of claim 23 , wherein a first dummy port is created on an atomic soft block in said first PRU and a second dummy port is created on an atomic hard block in s second PRU.
Claim 26
Dependent Claim
46 words
The method of claim 24 , wherein said first dummy port is located at a random location on said atomic soft block in said first PRU and said second dummy port is located at an exact location on said atomic hard block in said second PRU.
Claim 27
Dependent Claim
48 words
The method of claim 23 , further including: connecting said dummy ports by routing nets between said dummy ports; determining where said routing nets cross edges of said multiple PRUs; deleting said dummy ports; and generating real ports where said routing nets cross edges of said multiple PRUs.
Claim 28
Dependent Claim
18 words
The method of claim 1 , further including: allocating slack time to PRUs in said plurality of PRUs.
Claim 29
Dependent Claim
27 words
The method of claim 27 , wherein said slack time is allocated to at least one PRU in said set of PRUs primarily to block input pins.
Claim 30
Dependent Claim
27 words
The method of claim 27 , wherein said slack time is allocated to at least one PRU in said set of PRUs primarily to block output pins.
Claim 31
Dependent Claim
41 words
The method of claim 27 , wherein said slack time is allocated to at least one PRU in said set of PRUs proportionately between block input pins and block output pins, based on expected delay within said at least one PRU.
Claim 32
Independent Claim
94 words
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.
Claim 33
Independent Claim
94 words
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.
Claim 34
Independent Claim
94 words
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.
Claim 35
Independent Claim
94 words
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.
Claim 36
Independent Claim
75 words
A method of fitting an integrated circuit design within a predefined area, said method comprising: determining placement of at least one hard block within the predefined area, wherein said at least one hard block has a predefined shape; and selecting a rectilinear shape for at least one block within the predefined area, such that said at least one block fits within space in said predefined area left unoccupied by said at least one hard block.
Claim 37
Independent Claim
75 words
A method of fitting an integrated circuit design within a predefined area, said method comprising: determining placement of at least one hard block within the predefined area, wherein said at least one hard block has a predefined shape; and selecting a rectilinear shape for at least one block within the predefined area, such that said at least one block fits within space in said predefined area left unoccupied by said at least one hard block.
Claim 38
Dependent Claim
15 words
The method of claim 33 , wherein said at least one block includes multiple blocks.
Claim 39
Dependent Claim
16 words
The method of claim 34 , wherein said at least one block includes a soft block.
Claim 40
Dependent Claim
17 words
The method of claim 34 , wherein said at least one hard block includes multiple hard blocks.
References Cited (Backward Citations)
US4612618A
Cited
US4630219A
Cited
US4918614A
Cited
US5175693A
Cited
US5933356A
Cited
US5696013A
Cited
US5311443A
Cited
US5576969A
Cited
US5731985A
Cited
US6292929B2
Cited
US6009251A
Cited
US6145117A
Cited
US6378115B1
Cited
US6275973B1
Cited
US6298468B1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2006-05-19 | 2006-11-18 | 2007-05-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2010-05-19 | 2010-11-18 | 2011-05-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2014-05-19 | 2014-11-18 | 2015-05-20 | $7700.00 | Window Closed / Lapsed |