|Publication number||US7793238 B1|
|Application number||US 12/053,874|
|Publication date||Sep 7, 2010|
|Priority date||Mar 24, 2008|
|Publication number||053874, 12053874, US 7793238 B1, US 7793238B1, US-B1-7793238, US7793238 B1, US7793238B1|
|Inventors||Peter Rabkin, Zhiyuan Wu, Min-Hsing Peter Chen, Jane W. Sowards, Michael J. Hart, Min-Fang Ho|
|Original Assignee||Xilinx, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (17), Referenced by (5), Classifications (9), Legal Events (2)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention generally relates to improving the layout for an integrated circuit design using a hierarchical description of the circuit design.
After a circuit design has been synthesized, simulated, placed, and routed, designers often analyze a design for compliance with various Design For Manufacturability (DFM) requirements. In addition to DFM analysis of top-down designs, designers also analyze designs constructed from the bottom-up (where the layout is done manually polygon-by-polygon by a layout designer without use of synthesis or place-and-route tools) for compliance with DFM requirements. The DFM requirements are dependent on the particular target semiconductor process technology and are selected in an effort to increase chip yield. For example, the designer may modify the design to improve its manufacturing margin by substituting geometries with higher process margin, slightly changing the spacing and width of interconnect wires, providing fault-tolerant redundant vias, or changing the polygonal shape of some other feature of the circuit design without impacting the size or the performance of the chip (integrated circuit device).
Prior approaches have involved analyzing a design from the bottom up of a layout hierarchy. Each cell in the lowest level of the hierarchy may be analyzed to determine whether a change to the physical makeup of that cell would enhance DFM compliance. There may be many different cells in each level for which DFM requirements are to be analyzed. Furthermore, a change to a cell at one level in the layout hierarchy may create design rule violations at other levels. Finding and correcting these anomalies may be tedious, time consuming and costly.
The present invention may address one or more of the above issues.
The various embodiments of the invention provide various methods and apparatus for improving an integrated circuit layout. In one embodiment, a method comprises traversing a tree-type hierarchical layout representation of the circuit design. The hierarchical representation includes a plurality of blocks in block-sub-block relationships, and each block has a block type. At each block visited during the traversing, the method determines whether there exists an improvement opportunity for each cell associated with the block. In response to determining that an improvement opportunity exists for a cell of a first block of the plurality of blocks, the method determines whether a modification to the cell satisfies one or more rules for every other block of the block type of the first block in the hierarchical representation. In response to the modification satisfying the one or more rules for every block of the block type of the first block, the method stores the modification to the cell, wherein the modification to the cell is applied to every block of the block type of the first block. In response to the modification violating any of the one or more design rules for any block of the block type of the first block in the hierarchical representation, the method discards the modification to the cell.
In another embodiment, an apparatus is provided for improving an integrated circuit layout. The apparatus comprises means for traversing a tree-type hierarchical layout representation of the circuit design. The hierarchical representation includes a plurality of blocks in block-sub-block relationships, and each block has a block type. The apparatus also comprises means, responsive to each block visited during the traversing, for determining whether there exists an improvement opportunity for each cell associated with the block. The apparatus has a means that is responsive to determining that an improvement opportunity exists for a cell of a first block of the plurality of blocks, for determining whether a modification to the cell satisfies one or more rules for every other block of the block type of the first block in the hierarchical representation. Responsive to the modification satisfying the one or more rules for every block of the block type of the first block, the apparatus has means for storing the modification to the cell, wherein the modification to the cell is applied to every block of the block type of the first block. The apparatus includes means, responsive to the modification violating any of the one or more design rules for any block of the block type of the first block in the hierarchical representation, for discarding the modification to the cell.
An article of manufacture is provided in another embodiment. The article of manufacture comprises a processor-readable storage medium configured with processor-executable instructions for improving an integrated circuit layout. In executing the instructions, the processor traverses a tree-type hierarchical layout representation of the circuit design layout. At each block visited during the traversing, the processor determines whether there exists an improvement opportunity for each cell associated with the block. In response to determining that an improvement opportunity exists for a cell of a first block of the plurality of blocks, the processor determines whether a modification to the cell satisfies one or more rules for every other block of the block type of the first block in the hierarchical representation. In response to the modification satisfying the one or more rules for every block of the block type of the first block, the processor stores the modification to the cell, wherein the modification to the cell is applied to every block of the block type of the first block. And in response to the modification violating any of the one or more design rules for any block of the block type of the first block in the hierarchical representation, the processor discards the modification to the cell.
It will be appreciated that various other embodiments are set forth in the Detailed Description and Claims which follow.
Various aspects and advantages of the invention will become apparent upon review of the following detailed description and upon reference to the drawings, in which:
For a new process technology, the need for changing a completed layout of a circuit may arise due to newly discovered yield sensitivities for specific circuit patterns. Had these sensitivities been known prior to implementing the design, specific design rules could have been specified and used in creating the layout. However, in instances in which design development is performed concurrently with process development it may not be feasible to have all relevant design rules formulated precisely. Thus, as the manufacturing process evolves, new yield limiting factors may be identified, and minor design rule (DR) or DFM rule tweaks may be needed to improve the layout. However, by the time new enhanced rules are formulated the layout work may have been completed. Thus, the layout may need to be modified in order to enhance its manufacturability, if possible. It is highly desirable to have an automated process and method to do this task, in order to speed up the process.
The embodiments of the invention described below offer alternative automated approaches for improving a circuit layout for manufacturability. The improvements generally modify the shape of a layout feature (polygon) slightly to improve process margin and variations without changing the size of the cell or block to, for example, improve lithography margin, make the feature more amenable to optical proximity correction (OPC), reduce feature physical variability, reduce electrical variability, etc. Example types of improvements/fixes may include added metal overlaps to vias, added redundant vias, added redundant contacts, increased widths of line segments, increased spacing between line segments, and increased line end caps (to mitigate line end shortening).
The various embodiments of the invention preserve the layout hierarchy by traversing the hierarchy of the circuit layout while analyzing improvement opportunities and modifying a feature of the circuit if doing so would not create DR or DFM problems elsewhere in the hierarchy. For a block in the hierarchy of a certain block type and for which an improvement opportunity is identified, the process checks whether a proposed modification would satisfy design and manufacturability rules for every other block of that block type in the hierarchy. If the improvement is acceptable for every such block, the modification is made. If the modification would violate a rule for any instance, the change is rejected.
Various rules may be checked alone or in various combinations. Examples include conventional DRs, DFM rules, model-based DFM rules such as lithography compliance checks (LCCs), critical area checks, chemical-mechanical polishing (CMP) compliance checks and other checks known in the art.
The circuit elements in block 102 a include vias 104, 106, 108, 110, and 112, via 104 having a border 114, circuit line segments 116 and 118, circuit contacts 120, 122, and 124, metal line segment 126, and poly line 128. Poly line 128 surrounds contact 124 and extends from the contact 124 over diffusion layer 130. The circuit features of block 102 a may be modified to improve manufacturability.
Borderless vias may decrease the yield in fabricating an IC. Thus, it may be desirable to add metal overlaps to vias to improve the process margin and reduce via variation. In the example circuit layout 102 b, via borders 132, 134, 136, and 138 have been added.
These borders created many notches, i.e., jogs, on the originally straight metal lines. More jogs complicate OPC and lengthen OPC application and verification time, increase data volume of mask data, and increase mask writing time. Therefore, it is highly desirable to reduce the number of jogs. Notch fill 139 and edge extension 140 are added, when possible, to reduce the number of jogs.
The width of circuit line segment 116 is increased as shown by circuit line segment 116′ by way of adding polygon 141 to the circuit line to improve conductivity. It may be observed that the width 117 of the line 116 at the jog in the line is increased to the width 117′ by way of the added polygon 141.
Via 142 is added as a redundant via of via 112, whereby if either of vias 112 or 142 fails the other continues to provide the circuit connection.
Contact 144 is added as a redundant contact of contact 120, whereby if either one of contacts 120 or 144 fails the other continues to provide the circuit connection. Borders 146 and 148 are added to contact 122 for benefits comparable to the adding of borders to vias.
Endcap 128 is increased in length to endcap 128′ with the addition of block 150. A longer endcap may improve poly line end pull back due to sub-wavelength lithography. The transistor poly line end pull back can impact the transistor performance due to narrower gate length (causing a larger leakage current). The line end pull back phenomenon on other layers (such as metal layers) may cause a short or open circuit, which may cause the circuit to malfunction or not function at all.
After the various circuit features have been modified, the process checks whether the circuit with the added polygons satisfies the aforementioned DRs, DFM rules, model-based DFM rules such as lithography compliance checks (LCCs), critical area checks, chemical-mechanical polishing (CMP) compliance checks, etc. The polygons may be individually moved or cut to meet the various rules. In general, the polygons may be moved, added, or cut from one or multiple layers to comply with any DFM rule-based or model-based requirements to improve manufacturability yield.
Those skilled in the art will recognize other circuit features that may be modified to improve manufacturability of the integrated circuit.
The tree-type layout hierarchy 190 has blocks and sub-blocks that correspond to the blocks and sub-blocks in the physical layout hierarchy 180. The lines in the tree-type hierarchy represent block-to-sub-block relationships. For example, sub-block a1 is a sub-block of B, which is a sub-block of A. It can also be seen that there are multiple instances of the sub-block a1, respectively contained in sub-blocks B, C, and D.
In the example layout hierarchy sub-block a1 has different interfaces with sub-blocks b1, c1, and b2 in the sub-blocks B, C, and D. In B, a1 and b1 overlap, in C, a1 and b2 abut, and in D a1 and c1 abut. If, for example, a DFM enhancement opportunity is found near the top right corner of a1 in B, since the top right corner of a1 interfaces b2 in C and c1 in D, in order to keep the enhancement made in the instance of a1 in B, the enhancement must satisfy all the DRs and DFMs for the instances of a1 in C and D.
Prior approaches for modifying a laid-out circuit design for manufacturability processed the tree-type layout hierarchy by level from the bottom-most level. The example hierarchy is shown as having levels 0-5, with level 5 being the lowest level in the hierarchy. The prior modification process would begin with the blocks and associated cells in the lowest level and attempt modifications to those cells. For example, in level 5, the cells of blocks 202, 204, and 206 would be checked for possible improvements. If the modifications satisfy all requirements and rules then the modifications would be made to the design. Note, however, that the viability of these modifications is not checked for blocks of the same type in other levels (other “instances”). Blocks of the same type are separate instances of the same set of cells in different locations and with connections to different circuitry. For example, the blocks 202, 204, and 206 are of the same type, AA_a1_base.
When the modifications to the cells of blocks 202, 204, and 206 are made, the prior art process did not check the viability of the modifications to block 208, which is also of block type, AA_a1_base but is in level 4. Thus, when the prior art approach processed the blocks in level 4 and block 208 in particular, if the modifications to the cells of block 208 were found to violate any requirements or rules, not only would the modifications not be applied to block 208, but the previously made modifications to the cells of blocks 202, 204, and 206 would be undone. Thus, the prior art approach may entail a significant amount of undoing modifications made in the lower levels.
Alternatively, the prior art process may keep the modifications to the blocks 202, 204, and 206 in level 5, but change the definition of block 208 such that it is no longer a block type, AA_a1_base; the changes made to blocks 202, 204, and 206 would differentiate those blocks from block 208. Thus, in order to achieve the desired modifications to enhance manufacturability, the prior art process would have had to modify the layout hierarchy by way of changing the specifications for instances of blocks that were previously identical. Changing the hierarchy may make any further modification of layout much more complicated. For example, instead of changing only one cell, two or more different cells may need to be changed and connectivity checks may become more complicated.
According to an embodiment of the present invention, the layout hierarchy is processed using a depth-first traversal. Assuming the traversal proceeds from left to right, block 202 would be the first block considered for modification. The process determines whether there exist any opportunities for improving manufacturability by way of modifying the cells of the block. For each such modification, a proposed feature modification is made to one or more of the cells of the block, and the block is checked against the design and manufacturing rules and requirements. If the modified block is in compliance, then every block of that block type, with the proposed modification, in the layout hierarchy is tested for compliance. For example, the process traverses the layout hierarchy in search of other blocks of block type, AA_a1_base. The process determines whether each of blocks 204, 206, 208 with the proposed modifications complies with the design and manufacturing rules and requirements. If so, the modification is applied to each block of that block type (e.g., 204, 206, 208), and the modified blocks are saved. Otherwise, the proposed modification is discarded.
The pairs of numbers in parentheses are examples of numbers of possible modifications and numbers of accepted modifications for an example subset of the blocks. For block 202, 13 possible modifications were considered and all 13 modifications were compliant with the design and manufacturing rules and requirements; for block 210, 14 possible modifications were considered and all 14 modifications were compliant; for block 212 no modifications were considered or made; for block 214, 32 possible modifications were considered and 14 modifications were compliant. Note that at the top levels of the hierarchy a very large number of modifications may be possible. With the prior art, many of these modifications would have been made and then been undone once the process reached the top levels of the hierarchy.
At step 302, the process inputs the hierarchical layout description. For example, in
In one embodiment, the process uses a depth-first traversal of the hierarchy of blocks in selecting which block to process, as shown by step 304. In another embodiment, a breadth-first traversal is used, and in another embodiment a combination of depth-first and breadth-first traversals is used. The algorithms may be optimized for specific layout hierarchies. Until all the blocks have been analyzed for possible improvements, the process continues with step 306 for the block obtained at step 304 (“block in process”). At step 306, from the block in process a cell is selected having a circuit feature with one or more of the identified improvement opportunities. For example, if the cell has one or more vias without borders and the improvement opportunities include adding borders to vias, the cell may be selected. When all the cells in the block in process having improvement opportunities have been considered, the process proceeds to step 308.
A single cell may have different types of improvement opportunities, e.g., vias without borders and single contacts. Example improvement opportunities include: adding borders to vias, adding borders to contacts, adding redundant via, adding redundant contact, adding line end, etc. Other types include moving/adding/cutting polygons of one layer in certain locations to comply with lithography or other rule- and/or model-based DFM requirements. Polygons on several layers may be simultaneously moved/added/cut to comply with DFM requirements. For example, a polygon on a metal layer may be moved slightly to comply with litho requirements, which may necessitate moving a contact and/or via to accommodate the change in metal line/polygon position.
At step 308, a proposed feature change is made to the selected cell. For example, borders may be added to vias for which one or more borders are not present. The process then proceeds to step 310 to determine whether the proposed change complies with all DRs and DFM rules for all blocks of the same block type as the block in process. If the modification to the circuit feature is compliant for all instances of the cell in all other blocks of the block type in the hierarchy, the changed cell is stored with the hierarchical layout description at step 312, thereby replacing the prior version of the cell. If the proposed change as applied to any instance of the cell for any block of the block type is non-compliant with any of the DRs or DFM rules, then the current version of the cell is retained and the proposed change is discarded at step 314. The process then returns to step 306 to process any remaining cells associated with the block.
Those skilled in the art will appreciate that various alternative computing arrangements, including one or more processors and a memory arrangement configured with program code, would be suitable for hosting the processes and data structures of the different embodiments of the present invention. In addition, the processes may be provided via a variety of computer-readable media or delivery channels such as magnetic or optical disks or tapes, electronic storage devices, or as application services over a network.
The present invention is thought to be applicable to a variety of systems for improving the manufacturability of a circuit design. Other aspects and embodiments of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and illustrated embodiments be considered as examples only, with a true scope and spirit of the invention being indicated by the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US6795952 *||Nov 17, 2002||Sep 21, 2004||Pdf Solutions, Inc.||System and method for product yield prediction using device and process neighborhood characterization vehicle|
|US7082594 *||Nov 18, 2003||Jul 25, 2006||Xilinx, Inc.||Compilation in a high-level modeling system|
|US7100134 *||Aug 18, 2003||Aug 29, 2006||Aprio Technologies, Inc.||Method and platform for integrated physical verifications and manufacturing enhancements|
|US7343570 *||Nov 2, 2005||Mar 11, 2008||International Business Machines Corporation||Methods, systems, and media to improve manufacturability of semiconductor devices|
|US7512508 *||Sep 6, 2005||Mar 31, 2009||Janusz Rajski||Determining and analyzing integrated circuit yield and quality|
|US20050015740 *||Apr 19, 2004||Jan 20, 2005||Mentor Graphics Corp.||Design for manufacturability|
|US20050234684 *||Sep 29, 2004||Oct 20, 2005||Mentor Graphics Corp.||Design for manufacturability|
|US20070011637 *||Jun 6, 2006||Jan 11, 2007||Alexander Seidl||Method and system for performing local geometrical operation on a hierarchical layout of a semiconductor device|
|US20070230770 *||Jun 7, 2007||Oct 4, 2007||Ashok Kulkarni||Methods and systems for determining a position of inspection data in design data space|
|US20080115096 *||Oct 9, 2007||May 15, 2008||Mentor Graphics Corporation||Properties In Electronic Design Automation|
|US20080148216 *||Dec 18, 2006||Jun 19, 2008||Cadence Design Systems, Inc.||Method and system for mask optimization|
|US20080160646 *||Oct 2, 2007||Jul 3, 2008||Cadence Design Systems, Inc.||Method, system, and computer program product for predicting thin film integrity, manufacturability, reliability, and performance in electronic designs|
|US20080250384 *||Dec 19, 2007||Oct 9, 2008||Brian Duffy||Systems and methods for creating inspection recipes|
|US20090031259 *||Jul 25, 2007||Jan 29, 2009||Gray Michael S||Obtaining a feasible integer solution in a hierarchical circuit layout optimization|
|US20090125866 *||Nov 13, 2008||May 14, 2009||Albert Ren-Rui Wang||Method for performing pattern decomposition for a full chip design|
|US20090187876 *||Jul 23, 2009||Synopsis, Inc.||Steiner tree based approach for polygon fracturing|
|US20090254874 *||May 18, 2007||Oct 8, 2009||Subhasis Bose||Methods and systems for placement and routing|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8200878 *||Jan 8, 2008||Jun 12, 2012||Renesas Electronics Corporation||Multi-processor device with groups of processors consisting of respective separate external bus interfaces|
|US8621127||May 15, 2012||Dec 31, 2013||Renesas Electronics Corporation||Multi-processor device with groups of processors and respective separate external bus interfaces|
|US9136092 *||Apr 9, 2012||Sep 15, 2015||Taiwan Semiconductor Manufacturing Company, Ltd.||Structure and method for E-beam writing|
|US20080282012 *||Jan 8, 2008||Nov 13, 2008||Koichi Ishimi||Multi-processor device|
|US20130268901 *||Apr 9, 2012||Oct 10, 2013||Taiwan Semiconductor Manufacturing Company, Ltd.||Structure and Method for E-Beam Writing|
|U.S. Classification||716/55, 703/1, 716/122, 716/124|
|Cooperative Classification||G06F17/5081, G06F2217/12, Y02P90/265|
|Mar 24, 2008||AS||Assignment|
Owner name: XILINX, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RABKIN, PETER;WU, ZHIYUAN;CHEN, MIN-HSING PETER;AND OTHERS;SIGNING DATES FROM 20080116 TO 20080321;REEL/FRAME:020692/0637
|Mar 7, 2014||FPAY||Fee payment|
Year of fee payment: 4