Abstract:
Phase shifting allows generating very narrow features in a printed features layer. Thus, forming a fabrication layout for a physical design layout having critical features typically includes providing a layout for shifters. Specifically, pairs of shifters can be placed to define critical features, wherein the pairs of shifters conform to predetermined design rules. After placement, phase information for the shifters associated with the set of critical features can be assigned. Complex designs can lead to phase-shift conflicts among shifters in the fabrication layout. An irresolvable conflict can be passed to the design process earlier than in a conventional processes, thereby saving valuable time in the fabrication process for printed circuits.

Description:
CLAIM OF PRIORITY 
   This application claims priority to U.S. patent application Ser. No. 09/823,380-7393, filed Mar. 29, 2001 by Shao-Po Wu and Yao-Ting Wang, now U.S. Pat No. 6,584,610 and entitled “Incrementally Resolved Phase-Shift Conflicts In Layouts For Phase-Shifted Features”, which in turn claims priority to U.S. Provisional Application Ser. No. 60/243,524, filed Oct. 25, 2000 by Shao-Po Wu, Yao-Ting Wang, Kent Richardson, Christophe Pierrat, and Michael Sanie, and entitled “Incrementally Resolved Phase-Shift Conflicts In Layouts For Phase-Shifted Features”. 

   RELATED APPLICATIONS 
   This application is related to U.S. patent application Ser. No. 09/823,146-8659, filed Mar. 29, 2001 by Yao-Ting Wang, Kent Richardson, Shao-Po Wu, Christophe Pierrat, and Michael Sanie, and entitled “Conflict Sensitive Compaction for Resolving Phase-Shift Conflicts in Layouts for Phase-Shifted Features”. 
   BACKGROUND OF THE INVENTION 
   1. The Field of the Invention 
   This invention relates to the field of printed circuit manufacturing. In particular, this invention relates to inserting and assigning phases to phase shifters on masks used to fabricate integrated circuits. 
   2. Description of Related Art 
   Conventional integrated circuit (IC) fabrication involves many steps in common with other processes that impose physical structures in a layer on a substrate, such as laying ink in patterns on a page, or laying chrome in patterns on a quartz substrate. Some of the important steps viewed at a high level are depicted in  FIG. 1 . 
   In step  110 , engineers use a functional computer aided design (CAD) process, to create a schematic design, such as a schematic circuit design consisting of individual devices coupled together to perform a certain function or set of functions. The schematic design  115  is translated into a representation of the actual physical arrangement of materials upon completion, called a design layout  125 , with a physical CAD process  120 . If multiple layers are involved, as is typical for an IC, a design layout is produced for each layer, e.g., design layouts  125   a ,  125   b , etc.  FIG. 2  shows a sample design layout. A fabrication CAD process  130  produces one or more fabrication layouts  135 , such as masks for each design layout  125   a . The one or more fabrication layouts  135  are then used by a substantiation process  140  to actually produce physical features in a layer, called here the printed features layer  149 . 
   One recent advance in optical lithography called phase shifting generates features in the printed features layer  149  that are smaller than the features on the mask  135   a  projected onto the printed features layer  149 . Such fine features are generated by the destructive interference of light in adjacent separated windows in the mask called shifters.  FIG. 3  shows two adjacent shifters,  310  and  312 , in a mask  300 . The shifters  310  and  312  are light transmissive areas on the mask separated by an opaque area  311  with a width of Wm  313  when projected onto the printed features layer  149 . The projection of Wm onto the printed features layer  149  is limited by the resolution of the optical process. However, if the light of a single wavelength passing through one of the shifters, e.g.  310 , is out of phase (by 180 degrees or □ radians) with the light of the same wavelength passing through the other shifter, e.g.  312 , then an interference pattern is set up on the printed features layer  149  during the substantiation process  140 . This interference generates a printed feature  350  having a width Wp  353  that is less than the width Wm  313  of the opaque area projected onto the printed features layer  149 . In other embodiments, the width  313  and width  353  are much closer and can be equal. In each case, the width  353  of the printed feature is less than that produced by the same optical system without phase shifting. 
   The use of phase shifting puts extra constraints on the fabrication layouts  135 , and hence on the design layout, e.g.  125   a . These constraints are due to several factors. One factor already illustrated is the need for finding space on the mask, e.g.,  135   a , for the two shifters,  310  and  312 , as well as for the opaque area  311  between them. This precludes the one mask from placing additional features on the printed features layer  149  in the region covered by the projection of the two shifters  310  and  312  and the opaque area  311 . Another factor is that overlapping or adjacent shifters on a single mask, used, for example, to generate neighboring phase-shifted features, generally do not have different phases. Adjacent shifters with different phases will produce a spurious feature. 
   Currently, design layouts  125  may provide the space needed for placement of phase shifters through design rules, but shifters are actually placed and simultaneously assigned a phase in the conventional fabrication design steps, not shown, in attempts to produce the fabrication layouts. As complex circuits are designed, such as by combining many standard cells of previously designed sub-circuits, shifters of different phases may overlap or become adjacent in the layouts, leading to phase-shift conflicts. It is generally recognized that resolving phase-shift conflicts should be done globally, after the whole circuit is laid out, because swapping the phases of a pair of shifters to resolve one conflict can generate a new conflict with another neighboring feature already located in the design or one added later. The conventional IC design systems try to reassign phases of individual pairs to resolve the conflicts at the end of the design process when all the phase conflicts are apparent. For example, iN-Phase™ software from NUMERICAL TECHNOLOGIES, INC.™ of San Jose, Calif., uses this conventional technique. 
   For example,  FIG. 4  shows a T-junction element  440  that is desirably formed with narrow phase-shifted features  443 ,  442  and  444  as well as with wide non-critical features  441  and  445 .  FIG. 4A  shows a pair of shifters  410  and  420  needed to form the vertical phase-shifted feature  443  of element  440 .  FIG. 4A  also shows another shifter  415  disposed opposite shifter  410  to form the left half  442  of the horizontal phase-shifted feature of element  440 . Similarly,  FIG. 4A  also shows a fourth shifter  425  disposed opposite shifter  420  to form the right half  444  of the horizontal phase-shifted feature of element  440 . Shifters  415  and  425  are so close that they violate a design rule requiring at least a minimum spacing X between adjacent shifters. That is, separation  427  is less than X. 
   In the conventional fabrication CAD process, not shown, the shifters  410 ,  420 ,  415  and  425  are placed as shown and assigned phases, but the phase-shift conflict is not addressed until all the elements of the design layout have been accounted for. Then the design rule is applied in which shifters  415  and  425  are replaced by a single shifter  430 . 
   However, there is no assignment of phase for shifter  430  that can simultaneously be opposite to the phases assigned to shifters  410  and  420 , because shifters  410  and  420  are already opposite to each other. Thus such a design has a conflict that cannot be solved by changing the phases assigned to the shifters. Some re-arrangement of shifters or features or both is needed. In this example, however, the feature  440  from the physical design layout does not allow shifter  430  to be moved and does not allow another shifter to be inserted. Thus the fabrication CAD process  130  cannot move or change the shifters enough to resolve the conflict. 
   When a phase-shift conflict is irresolvable by the fabrication CAD process  130 , then the physical CAD process  120  is run again to move or reshape the features, such as those of element  440 . Process flow with an irreconcilable phase-shift conflict is represented in  FIG. 1 , which shows that fabrication layouts  135  are produced along the arrow marked “Succeed” if the fabrication CAD process  130  succeeds, but that control returns to the physical CAD process  120  along the arrow marked “Fail” if the fabrication CAD process  130  fails, such as if it fails to resolve all phase conflicts. 
   While suitable for many purposes, the conventional techniques have some deficiencies. As designs, such as designs for IC circuits, become more complex, the time and effort involved in performing the physical CAD process  120  and the fabrication CAD process  130  increase dramatically, consuming hours and days. By resolving phase-shift conflicts at the end of this process, circumstances that lead to irresolvable phase-shift conflicts are not discovered until the end of these time consuming processes. The discovery of such irresolvable phase-shift conflicts induces the design engineers to start over at the physical CAD process  120 . The processes  120  and  130  are repeated until final design layouts and fabrication layouts without phase-shift conflicts are produced. This procedure multiplies the number of days it takes a foundry to begin producing IC chips. In a commercial marketplace where IC advancements occur daily, such delays can cause significant loss of market share and revenue. 
   Techniques are needed to discover and resolve phase-shift conflicts earlier in the sequence of physical layout designing and fabrication layout designing. Repeatedly assigning phases to the same shifters is undesirable in such techniques, however, because such repetition indicates inefficient processing and wasted processing resources. 
   SUMMARY OF THE INVENTION 
   According to techniques of the present invention, phase-shift conflicts are detected incrementally at each node of a hierarchical design tree for a design layout. This incremental detection is made efficient by separating the placement of shifters from assignment of phases and by using relative phases instead of absolute phases at each node of the hierarchy. 
   The incremental detection of phase shift conflicts provides the advantage of avoiding wasted time and effort in the fabrication design process. If the phase-shift conflict cannot be resolved for a particular node, then continued design of a fabrication layout is stopped before any further resources are expended. Redesign of the physical layout is employed before further fabrication layout design is fruitful. By detecting such an irresolvable conflict as soon as two or more units are placed to be adjacent or overlapping at a node, many hours of subsequent fabrication layout time are saved. 
   Another advantage of detecting irresolvable phase-shift conflicts in the first hierarchical unit is that it has the potential to reduce the effort required in the physical CAD process as well. For example, design layout modifications can be concentrated at the node in the hierarchy experiencing the irresolvable conflict, substantially simplifying and reducing the redesign process in many circumstances. 
   Another aspect of the invention is separating a phase assignment step from the shifter placement step. The separation allows design rules to be checked and placement to be corrected before any phases are assigned. This avoids wasting time and computational resources assigning phases to shifters that get merged, moved or eliminated due to the design rules. In addition, the separation allows the phase assignments to be applied iteratively, as sub-units are combined into units higher in the design hierarchy. 
   In another aspect of the invention, the shifters are associated with relative phases rather than absolute phases. Using relative phases, for each shifter pair, the two separate shifters adjacent to a single phase-shifted feature are assigned a phase difference of 180 degrees. This provides the advantage of avoiding repeated changes to the absolute phase associated with a shifter. Relative phases provide sufficient information to detect conflicts without knowing which shifter actually gets assigned which absolute phase. This also makes efficient the combination of units into a unit higher in the hierarchy. The two units can be assigned relative phases (i.e., differences of 0 or 180 degrees) without changing the assignment of relative phases of the subunits or shifters within the units. Only after the whole circuit at the root node of the hierarchy has no phase-shift conflicts are the relative phases converted to absolute phases, starting at the two highest subunits branching from the root and working gradually back down the hierarchy to the atomic “leaf” nodes of the hierarchy. 
   According to one aspect of the invention, techniques for providing a layout for shifters include establishing placement of multiple pairs of shifters for a set of critical features. A critical feature employs phase shifting. The set of critical features constitutes a subset of all critical features in a layout. After establishing placement of the pairs of shifters, phase information for the shifters associated with the set of critical features is assigned. 
   According to another aspect of the invention, techniques for providing a layout for shifters include identifying a first critical sub-unit of a hierarchical unit of a design layout. A critical sub-unit includes a critical feature that employs phase shifting, and includes placed shifters for the critical feature. Phase information for the first critical sub-unit is assigned prior to identifying a different critical sub-unit of a different hierarchical unit. 
   According to another aspect of the invention, techniques for providing a layout for shifters include establishing placement of a pair of shifters associated with a critical feature. A critical feature employs phase shifting. Relative phase information is assigned for the pair of shifters. 
   According to another aspect of the invention, techniques for identifying phase shift conflicts include establishing placement of shifters for a set of critical features. A critical feature employs phase shifting. The set of critical features constitutes less than all critical features in a layout. After establishing placement of the shifters, and prior to establishing placement for all shifters for all critical features in the layout, it is determined whether there is a phase shift conflict among a set of shifters associated with the set of critical features. 
   According to another aspect of the invention, techniques for identifying phase shift conflicts include identifying a first critical sub-unit of a hierarchical unit of a design layout. A critical sub-unit includes a critical feature that employs phase shifting. It is determined whether there is a phase shift conflict within the first critical sub-unit before determining whether there is a phase shift conflict among all sub-units within the unit. 
   In various aspects, the techniques are for a method, a computer-readable medium, a system, a computer system, a fabrication layout, such as a mask, and a device, such as a printed circuit. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which: 
       FIG. 1  is a block diagram showing the sequence of processes and layouts utilized in the formation of printed features layers according to one embodiment. 
       FIG. 2  is a plan view of an example design layout. 
       FIG. 3  is a plan view of two shifters on a mask and the resulting printed feature on the printed features layer. 
       FIGS. 4A &amp; 4B  are plan views of example elements having features that employ shifters that lead to phase-shift conflicts. 
       FIG. 5  is a diagram of the hierarchical tree representation of the design layout in  FIG. 2 . 
       FIG. 6  is a flowchart illustrating the phase-shift conflict process at the cell level according to one embodiment. 
       FIG. 7  is a flowchart illustrating the phase-shift conflict process at a hierarchical unit above the cell level according to an embodiment. 
       FIGS. 8A ,  8 B and  8 C are flowcharts illustrating the steps for the modified design layout process according to embodiments. 
       FIGS. 9A ,  9 B and  9 C show plan views of elements of a printed features layer adjusted according to the design layout process of embodiments. 
       FIG. 9D  shows a phase assignment graph associated with a hierarchical unit having a phase shift conflict. 
       FIG. 9E  shows a phase assignment graph associated with the hierarchical unit that resolves the phase conflict according to one embodiment. 
       FIG. 9F  shows a phase assignment graph associated with the hierarchical unit that resolves the phase conflict according to another embodiment. 
       FIG. 10  is a block diagram of a computer system according to one embodiment. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   A method and apparatus for fabricating printed features layers, such as in integrated circuits, are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. 
   Functional Overview 
   Techniques are provided for designing and fabricating printed features layers using a conflict sensitive compaction process  160  in the physical CAD process  120 , and a modified phase conflict process  150  in the fabrication CAD process  130 , as shown in  FIG. 1 . In the remainder of this section the relationship between the two techniques is described at a high level. In the following sections the modified phase conflict process, using incremental resolution of phase conflicts, is described in more detail. In subsequent sections, the conflict sensitive compaction techniques are described in more detail. 
   The conflict sensitive compaction process  160  uses information supplied by the fabrication CAD process  130  about the existence of one or more particular phase-shift conflicts in order to adjust the arrangement of elements and features in one or more design layouts  125 . 
   The modified phase conflict process  150  separates the task of placing shifters, for example with a placement engine, from the task of assigning phases to those shifters. In particular, relative phases are assigned to shifters on a hierarchical unit basis, using a coloring engine. Coloring means assigning phase information to units, such as relative phases for pairs of shifters. With the relative phases so assigned, the modified phase conflict process  150  determines whether there is a phase-shift conflict within the unit. Absolute phases are not assigned until relative phases without phase-shift conflicts can be assigned to each unit in the hierarchy of the design layout. 
   If any unit has a phase-shift conflict that cannot be resolved by changing shifters or the relative phase assignments, then the modified phase conflict process  150  notifies the physical CAD process  120  of the phase-shift conflict and provides information about the particular phase-shift conflict. The fabrication design process does not proceed with subsequent units in the hierarchy. In this way, phase-shift conflicts are found and resolved incrementally, before time and computational resources are expended attempting to place shifters and assign phases to them for all the phase-shifted features in the entire design layout. 
   Hierarchical Layouts 
   A hierarchy can represent a layout. For example, as shown in  FIG. 2 , the circuit design layout  290  comprises a final cell, or hierarchical unit, A  200 , which comprises sub-units B  220 , C  240 , and D  260  which are themselves parent cells for the units disposed in them. For example, parent cell C  240  comprises identical cells G 1   241 , G 2   242 , G 3   243 , G 4   244 , G 5   245  and G 6   246 , and parent cell F 1   224  comprises leaf cells L 1   233  and M 1   234  which comprise the primitive geometric structures illustrated in  FIG. 2A . Parent cell E 1   222  includes leaf cells J 1   231  and K 1   232 ; and parent cell E 2   228  includes leaf cells J 2   237  and K 2   238 . Parent cell F 2   226  includes leaf cells L 2   235  and M 2   236 . 
   The hierarchical tree layout  599 , shown in  FIG. 5 , illustrates the described cells in a tree format with the leaf cells at the bottom of tree and with the final cell A  200  at the top of the tree. Each of the leaf cells is also sometimes referred to as the leaf node or a child cell, while each of the cells above the leaf nodes is sometimes referred to as a parent cell or simply a node. Any node can also be called a hierarchical unit of the design. The integrated circuit design layout  200  of  FIG. 2  is provided simply to demonstrate the hierarchical nature of design layouts in general, and for integrated circuits in particular. 
   The items on a mask can also be represented as hierarchical units, according to a related pending U.S. patent application, Ser. No. 09/154,397 entitled “Method and Apparatus for Data Hierarchy maintenance in a System for Mask Description,” filed on Sep. 16, 1998, invented by Fang-Cheng Chang, Yao-Ting Wang and Yagyensh C. Pati. 
   Modified Phase Conflict Process 
   The modified phase conflict process  150  operates incrementally on hierarchical units of the design layout. The described embodiment begins with a leaf cell and proceeds up the hierarchy to the root cell, but the process  150  can begin with any unit below the root cell. For example, if the design layout&#39;s hierarchy is represented by the tree in  FIG. 5 , the modified phase conflict process  150  of the described embodiment would first operate on one of the leaf cells, i.e.,  231 ,  232 ,  233 ,  234 ,  235 ,  236 ,  237 ,  238 , or  241 ,  242 ,  243 ,  244 ,  245 ,  246 , or  262 ,  264 ,  266 . The selection of the first leaf cell, and the progression through other leaf cells, can be performed in any way known in the art. If the first leaf cell is J 1   231 , the described embodiment would select as the next unit another leaf cell, e.g., K 1   232 , which is combined with J 1   231  by the next higher node in the hierarchy, i.e., E 1   222 . After these units are processed, the described embodiment would process unit E 1   222 . However, before processing unit B  220 , the described embodiment first processes the other units, or nodes, combined by unit B  220 , i.e., F 1   224 , F 2   226 , and E 2   228 . Since each of these units have subunits, their subunits should be processed before the respective units. Thus, in the described embodiment, leaf cells L 1   233  and M 1   234  are processed in turn before processing unit F 1   224 . 
   In another embodiment, the first node processed on a branch may be any node in the hierarchy  599  below the root node A  200 . However, if the first node selected is not a leaf cell, all the subunits in the first node are processed together. One or more other nodes are first processed on respective other branches in the tree. In the following discussion, the first node selected on any branch for processing is called a cell. For example, if B  220  is the first node processed on its branch, then all the nodes below B  220 , i.e.,  220 - 238 , are included in a cell. Other cells are needed, in this example, for the remaining branches to nodes C and D and below. For example, node C may be processed first in its branch, making the nodes  240 - 246  one cell. In a contrasting example, the branch involving node D  260 , first processes the leaf nodes,  262 ,  264  and  266 , making those the cells on their branches. 
   In one embodiment of the invention, shifters are initially placed in a cell, and in subsequent hierarchical units the shifters are corrected or assigned relative phases or both, but are not initially placed. 
     FIG. 6  is a flowchart illustrating the phase-shift conflict process  150  at the cell level, according to one embodiment. This process can be executed in a computer system, such as the computer system shown in  FIG. 10 . In step  605  the process makes the next cell of the cells in the hierarchy the current cell for processing. In step  610  the process identifies shifted features in the current cell of the design layout. In step  620 , the process places shifters in pairs, the shifter having shapes and positions related to the positions and shapes of the phase-shifted features in the current cell in ways known in the art. In step  630 , the process performs design rules checking and correction (DRC&amp;C) for the shifters of the current cell. For example, if step  620  placed shifters as shown in  FIG. 4A , then the design rule that forbids spacing between two adjacent shifters from being smaller than a certain distance X would force the DRC&amp;C step  630  to combine shifters  415  and  425  and derive a single shifter  430 . The shifter  430  is derived from the initial shifters  415  and  425 . In a trivial element of this process, shifters  410  and  420  are derived to be the same as their initial placement. In step  640 , the process assigns relative phases to the shifters in the current cell—this is called intra-cell coloring. Using relative phases, for each shifter pair, the two separate shifters adjacent to a single phase-shifted feature are assigned a phase difference of 180 degrees. This step can be accomplished using ways known in the art, such as the standard graph traversal algorithm. In the graph-traversal algorithm, a phase-assignment graph is constructed in which each given shifter is a node and adjacent shifters that constrain the phase of the given shifter are represented by links. Two kinds of links are represented, an opposite phase link and a same phase link. An opposite phase link is indicated to form a critical, phase-shifted feature. A same phase link is employed when two shifters (nodes) are close together without an intervening critical phase-shifted feature. The links represent the relative phases without fixing an absolute phase. An example of a phase-assignment graph is given in more detail in a later section. 
   Unlike conventional fabrication layout design, this embodiment separates the placement of shifters in step  620 , as performed by a placement engine, for example, from the assignment of phases to the shifters in step  640 , as performed by a coloring engine providing relative phases for the shifters, for example. By assigning relative phases in step  640 , rather than absolute phases, this embodiment does not fix the absolute phase of the shifters; but, instead, allows the relative phases to be switched as needed to resolved future phase conflicts before fixing the absolute phases of the shifters in this cell. This process makes it easy to swap the phases of the necessary shifter pairs in the cell with a single command or notation, if that turns out to be needed to resolve some future phase-shift conflict. 
   In step  650 , the relative phases are used to determine whether there is a phase-shift conflict in the current cell. For example,  FIG. 4A  illustrates a feature  440  that leads to a phase-shift conflict as represented by  FIG. 4B . This phase-shift conflict can be detected with the relative phases assigned to the shifters. Another common phase shift conflict arises with odd cycle shifters—a set of shifters in which an odd number of shifters are associated with closely spaced phase-shifted features. 
   Unlike conventional fabrication layout design processes, this embodiment detects a phase-shift conflict at the cell level, rather than after all shifters have been placed and assigned absolute phases for the whole design layout. Consequently, a phase-shift conflict resolution can be attempted at the level of the current cell, which is a simpler problem than resolving phase-shift conflicts for the entire design layout. 
   If no phase-shift conflict remains in the current cell, then control passes to step  670  in which the current cell is added to a pool of successfully colored hierarchical units. Units are successfully colored if relative phases can be assigned that do not cause phase-shift conflicts. The colored unit pool may be maintained in memory or on permanent storage device accessible to the fabrication layout design process  130 . In step  680  of this embodiment, it is determined whether all the cells for the next higher node of the hierarchy are available in the colored unit pool. If they are, then processing can begin for the next higher node in the hierarchy. If all the cells needed by the next higher node in the hierarchy are not already in the colored unit pool, then another cell needed by the next higher node is made the current cell in step  605 . 
   If it is determined in step  650  that there is a phase-shift conflict in the current cell, then control passes to step  660 , which attempts to resolve the conflict for the current cell within the fabrication layout design process  130 . It is assumed in this embodiment that the fabrication layout design process  130  can change the position or shape of shifters, consistent with the shifter design rules, and can change the relative or absolute phases of the shifters, but cannot change the position or shape of features that appear in the design layout  125  for a printed features layer  149 . Step  660  includes any methods known in the art to resolve phase-shift conflicts within the fabrication layout design process. Known methods include replacing an offending shifter with a stored shifter that is differently positioned or shaped, breaking up odd cycle shifters by replacing one of the shifters in the combination with two separated shifters, and obtaining manual input from an operator to re-shape or re-position or break-up a shifter or to provide relative phase information for a shifter. Another method is to allow two opposite-phase shifters to produce a spurious feature, and then to expose the spurious feature in a different stage of the fabrication process to cause the removal of the spurious feature. The two opposite-phase shifters result either from splitting one shifter in two, or allowing two shifters to be positioned closer than a design rule limit without joining the two shifters. 
   Another method to resolve phase-shift conflicts within a hierarchical unit involves introducing one or more new variants of a standard cell in the hierarchical unit. Each variant has one or more pairs of shifters reversed from their phases in the standard cell. This method involves replacing a standard cell with one of its variants in the hierarchical unit. 
   If step  660  is able to modify the shifter layout for the cell, control passes to step  620  to place the shifters in the case in which a shifter shape has been changed. If step  660  also specified positions for the shifters, control returns to step  630  to perform DRC&amp;C for the cell. If step  660  also overrules DRC&amp;C, control will pass back to step  640  to assign relative phases. The new arrangement of shifters and phases is checked for phase-shift conflicts in step  650 . 
   If step  660  is unable to provide different shifter shapes or positions, or if repeated changes to shifter shapes and positions do not remove all phase-shift conflicts in the current cell, then step  660  is unable to resolve the phase-shift conflict for the current cell, and step  660  fails. Upon failure of step  660  to resolve one or more phase-shift conflicts in the current cell, control passes to a point in the physical design process  120  represented by transfer point  800  in  FIG. 6 . The physical design process  120  then rearranges features in the design layout  125 . 
     FIG. 7  is a flowchart illustrating the phase-shift conflict process  150  at a general hierarchical unit level, according to one embodiment of the present invention. At step  705  the process makes the next higher node the current unit, such as when all the cells within a parent node have been processed. If the general hierarchical unit is a cell first being processed, then step  705  can be skipped. In step  720  the process identifies subunits with phase-shifted features in the design layout of the current unit. If the current unit is the first cell being processed on its branch, then shifters have to be placed for the phase-shifted features, as shown in  FIG. 6 . However, if the current unit is made up of subunits that have already been processed, then the shifters for the phase-shifted features have already been initially placed. 
   In step  730 , DRC&amp;C is performed on the shifters for the current unit. During this step a shifter smaller than the allowed minimum width, or a spacing between two shifters that is smaller than the allowed minimum spacing X, will be discovered and corrected, for example. 
   In step  740 , the shifters in all the subunits in the current unit will be assigned relative phases, not by reassigning the relative phase of all shifters in the unit, but by adjusting the relative phase between subunits, e.g., by recording that a first subunit is 180 degrees out of phase from a second sub-unit—this is called inter-cell coloring. In one embodiment, inter-cell coloring is accomplished by simply reversing the polarity of the needed relative phases of a subunit. This preserves the relative phases of all the shifters within the subunit. In another embodiment this is accomplished by adding a link between nearby shifters in the phase-assignment graph for this current hierarchical unit. 
   Unlike conventional fabrication layout design processes, this embodiment provides relative phase information separately from positioning the shifters. Moreover, this embodiment provides a way of incrementally building up the relative phase information from lower hierarchical unit levels all the way to the top level. Again, as above, by assigning relative phases in step  740 , rather than absolute phases, this embodiment does not set the absolute phase of the shifters; but, instead, allows the relative phases to be switched as needed to resolve future phase conflicts in higher units in the hierarchy before fixing the absolute phases of the shifters in this unit. This embodiment makes it easy to swap the phases of all the shifters in the unit with a single command or notation, if it turns out to be needed to resolve some future phase-shift conflict at a unit higher in the hierarchy of the design layout. 
   In step  750 , the relative phases are used to determine whether there is a phase-shift conflict in the current unit. Unlike conventional fabrication layout design processes, this embodiment detects a phase-shift conflict at the unit level, rather than after all shifters have been placed and assigned absolute phases for the whole design layout. Consequently, a shift conflict can be detected early. In addition the phase-shift conflict resolution can be attempted at the level of the current unit, which is a simpler problem than resolving phase-shift conflicts for the entire design layout. 
   If it is determined in step  750  that there is a phase-shift conflict in the current unit, then control passes to step  760 , which attempts to resolve the conflict for the current unit within the fabrication layout design process  130 . As in step  660  above, step  760  is not limited to any particular technique for resolving phase-shift conflicts within a fabrication layout design process. If step  760  is able to modify the shifter layout for the unit, control passes to step  730  to perform DRC&amp;C for the unit. If step  760  involves a method that overrules a design rule usually applied during DRC&amp;C, control will pass back to step  740  to assign relative phases. The new arrangement of shifters and phases is then checked for phase-shift conflicts in step  750 . 
   If the methods applied in step  750  are unable to provide different shifter shapes or positions, or if repeated changes to shifter shapes and positions do not remove phase-shift conflicts in the current unit, then step  760  fails. Upon failure of the methods applied in step  760  to resolve phase-shift conflicts in the current unit, control passes to a point in the physical design process  120  represented by transfer point  800  in  FIG. 7 . The physical design process  120  then rearranges features in the design layout  125 , if possible and permitted. 
   If no phase-shift conflict remains in the current unit, then control passes to step  755 . If the current unit is the root unit of the hierarchy, then the fabrication layout design is complete and without phase-shift conflicts; thus the fabrication design process  130  has successfully produced fabrication layout  135 . Step  755  determines whether the current unit is a root unit of the hierarchy. If it is determined in step  755  that the current unit is the root unit, then control passes to step  790 . In step  790 , absolute phases are associated with the relative phases assigned to each shifter in the fabrication layout  135 , the fabrication layout  135  is stored, and the fabrication design process ends successfully at point  795 . 
   If the current unit is not the root unit of the hierarchy, then control passes to step  770  in which the current unit is added to the pool of successfully colored units. Control then passes to step  780 , in which it is determined whether all units for the next higher node in the hierarchy are already in the colored unit pool. If all units for the next higher node are already in the colored unit pool, then the next higher node is made the current unit, by passing control to step  705 . If all units for the next higher node are not in the colored unit pool, then another node needed by the next higher node is made the current unit, in step  785 . 
   In this way, hierarchical units with relative phases assigned, and with no phase conflicts, are accumulated in the colored units pool. The units in this pool represent resources that can be readily re-used in other designs, because they are known to be free of internal phase-shift conflicts. 
   Conflict Sensitive Compaction 
   The physical design process  120  is modified to include conflict sensitive compaction  160  in an embodiment of the invention.  FIG. 8A  is a flowchart illustrating steps for a modified design layout process according to one embodiment of the invention. In this embodiment, control passes to transfer point  800  when the fabrication design process is unable to resolve a phase-shift conflict. In step  810 , the process identifies particular features with unresolved phase-shift conflicts based on information received from the fabrication design process  130 . If a conventional fabrication design process were employed, this information first becomes available only for the entire design layout. However, in this embodiment, the information about a phase-shift conflict becomes available for the first hierarchical unit that encounters an irresolvable phase-shift conflict. Herein, an irresolvable phase-shift conflict indicates a phase-shift conflict that could not be resolved by the fabrication design process. In the described embodiment, the information includes identification of the hierarchical unit in which the irresolvable phase-shift conflict was found. In another embodiment, the information includes the amount of space needed to resolve the conflict with additional shifters. In another embodiment, the information includes a list of features linked by a loop in a phase-assignment graph with the feature having the phase-shift conflict. 
   In step  820 , the process adjusts the design layout based on the information provided about the particular phase-shift conflicts, and produces an adjusted design layout,  125   b.  In one embodiment, the adjustment is confined to the features within the same hierarchical unit that encountered the irresolvable phase-shift conflict. In an alternative embodiment, the adjustment is confined to selected features within a given distance of the particular features identified as having unresolved phase-shift conflicts. The particular feature is included among the selected features. Unlike the conventional design process, which addresses phase-shift conflicts throughout the entire design layout, these embodiments employ the design process  120  to solve a much smaller problem, one confined to a single unit in the hierarchy of the design layout, or one confined to a given distance from the particular features identified with the phase conflict, or one confided to a subset of features logically related by a loop in a graphical representation of relationships among shifters. 
   Different procedures can be used to adjust features in the hierarchical or spatial vicinity of the phase-shift conflict. In one embodiment, the design layout in the vicinity is computed using the original design rules that produced the original design layout, such as the original process-specific design rules, if several viable layouts are produced by those design rules. In this case, it is suggested that a different viable layout be used than was used to produce the original layout. However, if this method is used, there is no significantly improved likelihood that the new design will avoid a phase conflict. In some embodiments, such as where several viable solutions occur, multiple potential solutions to a phase conflict are generated based on the logically associated features. For example, a different one of the associated features can be fixed in position for each different potential solution or set of potential solutions. The potential solutions are evaluated to produce a set of one or more values per solution. For example, the set of values includes the total area of the design associated with the potential solution design in one embodiment. In other embodiments, the set of values includes the number of features to move and the number of phase shift conflicts remaining. The potential solution providing a most favorable set of values is picked. For example the potential solution associated with the smallest area or fewest features moved or fewest remaining conflicts is picked. 
   If another viable solution is tried, one embodiment adds step  830  to place and color shifters according to the adjusted layout, and then check for phase-shift conflicts in the adjusted layout. If phase-shift conflicts are still found in the adjusted layout, then another layout is selected from the viable layouts provided by the original design rules. The process continues until a viable layout is found which does not produce a phase-shift conflict, or until the supply of viable options is exhausted. 
     FIG. 8B  shows the steps that are used in an alternative embodiment of step  820 , designated step  820   a , to adjust selected features within the vicinity of phase-shift conflicts. 
   In step  840 , a critical feature among the selected features is made non-critical. Herein a critical feature is one that employs phase shifting; thus a non-critical feature is one that does not employ phase shifting. The ability of an adjustment making a critical feature non-critical to remove phase-shift conflicts is illustrated in  FIGS. 9A and 9B . 
     FIG. 9A  shows an element  940  with five critical features  941 ,  942 ,  943 ,  944  and  945 . Shifters  910  and  920  have opposite phases to form critical feature  943 . This element leads to a phase-shift conflict because shifter  930  cannot simultaneously have opposite phase from both shifters  910  and  920 . This phase-shift conflict was not resolvable by the fabrication layout design process because there was no room to insert another shifter or split shifter  930 . According to this embodiment, feature  943  can be made non-critical. In this case, illustrated in  FIG. 9B , non-critical feature  953  replaces critical feature  943  in element  950 . As a consequence, shifters  910  and  920  can be replaced by shifters  914  and  924  spaced farther apart. In addition, there is no longer an inducement for shifters  914  and  924  to have opposite phase. When placed and colored in the fabrication design process, shifters  914  and  924  may be given the same phase, and shifter  930  may assume an opposite phase to both, thus resolving the phase-shift conflict. 
   It is appropriate to have new design rules that demand more space for placing features if such design rules are applied only in the context of phase-shift conflicts, because the benefit of removing the phase-shift conflict is considered worth the expenditure of extra layout area. Sample new design rules include placing edges farther apart on features in the vicinity of an irresolvable phase-shift conflict, and placing critical features father apart in the vicinity of an irresolvable phase-shift conflict. In step  850 , new design rules applicable in phase-shift conflict situations are applied to critical features among the selected features. In step  860 , other new design rules applicable in phase-shift conflict situations are applied to non-critical features among the selected features. Steps  850  and  860  are separate to allow the new phase-shift conflict design rules to be different for critical features and for non-critical features. 
     FIG. 9C  illustrates how new design rules for critical features in the vicinity of a phase-shift conflict can resolve a phase-shift conflict. In this case, the phase-shift conflict caused by the element  940  in  FIG. 9A , is communicated by the fabrication design process  130  to an embodiment of process  160   a  that includes step  850 . Based on the information about the phase-shift conflict, in step  850 , the process applies a new design rule calling for greater separation between critical features than called for in the original design rules. This causes features  945  and  944  to be moved further away from features  941 ,  942  and  943  in the adjusted design layout, as shown in  FIG. 9C . With this arrangement, shifter  930  can be replaced by two separate shifters  932  and  934 , which are far enough apart to have opposite phases from each other. With the extra space in this arrangement of shifters, the coloring engine can assign shifters  910  and  934  a first phase, and assign shifters  932  and  922  the opposite phase. Then phase shifted feature  943  can be produced by the opposite phases of shifters  910  and  922 . Simultaneously, phase-shifted features  942  and  941  can be produced by the opposite phases of shifters  910  and  932 ; while phase-shifted features  944  and  945  can be produced by the opposite phases of shifters  922  and  934 . The resulting element  940   a  includes a non-critical feature  948  between the critical features  942  and  944  in the gap caused by separating shifters  932  and  934 . 
   A characteristic of the new design rules is the expected increase in layout area associated with the adjusted layout compared to the original layout. For example, the layout area associated with  FIG. 9C  is greater than layout area associated with  FIG. 9A . It is possible that the physical layout design process can compensate for this increased area by the rearrangement of other features so that the total area for a cell or hierarchical unit of the design layout is not increased. In a sense, the cell or unit is re-compacted to accumulate space in the vicinity of the features associated with an irresolvable phase conflict. This accumulation of space or increase in layout area or both is herein termed reverse compaction. 
     FIG. 8C  is a flowchart illustrating steps for a modified design layout process according to another embodiment of the invention. As in  FIG. 8A , control passes to transfer point  800  when the fabrication design process is unable to resolve a phase-shift conflict. In step  810 , the process identifies particular features with unresolved phase-shift conflicts based on information received from the fabrication design process  130 . In this embodiment, the information includes a list of features in the same graphical loop of a phase-assignment graph. 
   In step  820   b , the process adjusts the design layout based on the information provided about the particular phase-shift conflicts, and produces an adjusted design layout,  125   b . In this embodiment, the adjustment is confined to features in the same graphical loop of related shifters, regardless of whether these features are neighbors or whether the features are within a specified distance of the irresolvable phase-shift conflict, or even whether they are in the same hierarchical subunit. In the described embodiment, the loop includes shifters in the same hierarchical subunit. The particular feature is included among the selected features. If this method is used, there is a significantly improved likelihood that the new design will avoid a phase conflict. If a critical feature is moved, however, there is a chance that a shifter is placed close to another shifter that can lead to a phase-shift conflict. Therefore, another embodiment using this method also adds step  830  to place and color shifters according to the adjusted layout, and then check for phase-shift conflicts in the adjusted layout. If phase-shift conflicts are still found in the adjusted layout, then another of the selected features is made modified. The process continues until a modification is found which does not produce a phase-shift conflict, or until the list of features on the same graphical loop is exhausted. The steps to adjust selected features shown in  FIG. 8B  for step  820   a  may also be used in step  820   b . An example of this embodiment is illustrated with respect to  FIGS. 9D , E and  9 F. 
     FIG. 9D  shows nine critical features  985  and a corresponding phase-assignment graph. The phase assignment graph is made up of nodes  980  representing shifters and links. In this example, each link  982  is an opposite phase link, connecting shifters that have opposite phases to produce the nine critical features. For example, link  982   a  indicates that the shifter at node  980   a  and the shifter at node  980   b  have opposite phases to form the critical feature  985   a . This phase assignment graph is an example of an odd-cycle graphical loop that constitutes a detectable phase-conflict. To illustrate the conflict, assume that the shifter at node  980   a  is given a first phase value (either 0 or □). Then the shifters at nodes  980   b  and  980   i  have the second phase value, and the shifters at nodes  980   c  and  980   h  have the first phase value, and the shifters at nodes  980   d  and  980   g  have the second phase value, and the shifters at nodes  980   e  and  980   f  have the first phase value. This leads to a phase-shift conflict at  985   e , because opposite phases are needed in the shifters at nodes  980   e  and  980   f  to form the critical feature  985   e , yet the shifters at nodes  980   e  and  980   f  have the same phase. It is assumed that this phase-shift conflict was not resolvable by the fabrication layout design process because there was no room to insert another shifter or split shifters at either node  980   e  or  980   f.    
   According to this embodiment, any feature formed by the shifters on the graphical loop of  FIG. 9D  may be moved or made non-critical to resolve this conflict. It is not necessary that that the adjusted feature be within a certain distance of the feature having the conflict. For example, it is not necessary that the adjusted feature be within circle  987  centered on critical feature  985   e . It is also not necessary that the adjusted feature be within the same hierarchical subunit of the feature having the conflict. For example, the graphical loop of  FIG. 9D  may span several hierarchical subunits, such as parent cells E 1 , F 1 , E 2  and F 2  of  FIG. 2 . 
   For example, as illustrated in  FIG. 9E , non-critical feature  985   x  replaces critical feature  985   h . As a consequence, shifters at nodes  980   i  and  980   h  can have the same phase value, resolving the phase shift conflict on the loop. Shifter having the same phase are indicated by a different link  984 , indicated in  FIG. 9E  by the thin line segment. Effectively, shifters at nodes  980   i  and  980   h  can be combined, reducing the number of shifters to 8 and eliminating the odd-cycle graphical loop. If the shifters do not form a critical feature and are far enough apart, no link at all needs to connect them and each is free to assume any value. If this were the case, no link would connect nodes  980   h  and  980   i . Note that the feature adjusted is neither in the same hierarchical subunit nor within the circle  987  centered on the particular feature  985   e  originally identified as having the unresolved phase-shift conflict. 
     FIG. 9F  illustrates movement of an adjusted feature can resolve a phase-shift conflict. In this case, critical feature  985   h  in  FIG. 9D  is replaced by critical feature  985   y  in  FIG. 9F . Effectively, critical feature  985   h  is moved to the position of critical feature  985   y . It is assumed that critical feature  985   h  is moved because there is more room in its neighborhood than in the neighborhood of the other features connected by the graphical loop. Alternatively, it is moved because it is easier to accumulate space around it during reverse compaction. To form critical feature  985   y , a new shifter is placed at node  980   y , adding a tenth shifter to the graph, and is linked with an opposite phase link  982   y . Since no critical feature is positioned between the shifters at nodes  980   h  and  980   i , these shifters can have the same phase value. If the shifters are far enough apart, no link at all needs to connect them and each is free to assume any value. If this were the case, no link would connect nodes  980   h  and  980   i . In either case, the phase-shift conflict on the loop is resolved. Note that the feature adjusted is neither in the same hierarchical subunit nor within the circle  987  centered on the particular feature  985   e  originally identified as having the unresolved phase-shift conflict. 
   The conflict sensitive compaction process depicted in  FIG. 1  includes any adjustment in layout based on phase-shift conflict information, such as reverse compaction and the selection of alternative viable layouts, whether the adjustment be on the level of the entire design layout or on the level of any hierarchical subunit of it. 
   In one embodiment, electrical constraints are also checked during the design adjustment process through the use of a layout modification tool. An example of a layout modification tool that checks electrical constraints is the abraCAD™ tool, available from CADABRA DESIGN SYSTEMS™, a NUMERICAL TECHNOLOGIES™ company. 
   In the described embodiment, the modified phase conflict process  150 , and the conflict sensitive compaction process  160 , are implemented on a computer system with one or more processors. User input is employed in some embodiments. 
   Hardware Overview 
     FIG. 10  is a block diagram that illustrates a computer system  1000  upon which an embodiment of the invention is implemented. Computer system  1000  includes a bus  1002  or other communication mechanism for communicating information, and a processor  1004  of one or more processors coupled with bus  1002  for processing information. Computer system  1000  also includes a main memory  1006 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus  1002  for storing information and instructions to be executed by processor  1004 . Main memory  1006  also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor  1004 . Computer system  1000  further includes a read only memory (ROM)  1008  or other static storage device coupled to bus  1002  for storing static information and instructions for processor  1004 . A storage device  1010 , such as a magnetic disk or optical disk, is provided and coupled to bus  1002  for storing information and instructions. 
   Computer system  1000  may be coupled via bus  1002  to a display  1012 , such as a cathode ray tube (CRT), for displaying information to a computer user. An input device  1014 , including alphanumeric and other keys, is coupled to bus  1002  for communicating information and command selections to processor  1004 . Another type of user input device is cursor control  1016 , such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor  1004  and for controlling cursor movement on display  1012 . This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. 
   The invention is related to the use of computer system  1000  for producing design layouts and fabrication layouts According to one embodiment of the invention, layouts are provided by computer system  1000  based on processor  1004  executing one or more sequences of one or more instructions contained in main memory  1006 . For example, the modified phase conflict process runs as a thread  1052  on processor  1004  based on modified phase conflict process instructions  1051  stored in main memory  1006 . Such instructions may be read into main memory  1006  from another computer-readable medium, such as storage device  1010 . Execution of the sequences of instructions contained in main memory  1006  causes processor  1004  to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. 
   The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor  1004  for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device  1010 . Volatile media includes dynamic memory, such as main memory  1006 . Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus  1002 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. 
   Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
   Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor  1004  for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system  1000  can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus  1002 . Bus  1002  carries the data to main memory  1006 , from which processor  1004  retrieves and executes the instructions. The instructions received by main memory  1006  may optionally be stored on storage device  1010  either before or after execution by processor  1004 . 
   Computer system  1000  also includes a communication interface  1018  coupled to bus  1002 . Communication interface  1018  provides a two-way data communication coupling to a network link  1020  that is connected to a local network  1022 . For example, communication interface  1018  may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface  1018  may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface  1018  sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. 
   Network link  1020  typically provides data communication through one or more networks to other data devices. For example, network link  1020  may provide a connection through local network  1022  to a host computer  1024 . Local network  1022  uses electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link  1020  and through communication interface  1018 , which carry the digital data to and from computer system  1000 , are exemplary forms of carrier waves transporting the information. 
   Computer system  1000  can send messages and receive data, including program code, through the network(s), network link  1020  and communication interface  1018 . 
   The received code may be executed by processor  1004  as it is received, and/or stored in storage device  1010 , or other non-volatile storage for later execution. In this manner, computer system  1000  may obtain application code in the form of a carrier wave. 
   In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.