Background of the Invention
1 Field of the Invention
Modern manufacturing process of integrated circuits is based on alternating phase-shifting masks. The alternating phase-shifting masks require phase assignment to apertures. The present invention addresses the modifications that arc necessary to apply to physical VLSI layout in order to obtain valid phase assignment. The present invention affords new optimal methods for finding and removing phase conflicts for the dark-field and for the bright-field alternating phase-shifting masks, simultaneously minimizing the area of the physical VLSI layout.
2 Review of Prior Art
For the dark-field alternating phase-shifting mask technology there were suggested two methods reviewed below, while for the bright-field masks no prior methods are known.
The heuristic of Moniwa et al. (see "Heuristic Method for Phase-Conflict Minimization in Automatic Phase-Shift Mask Design" , A. Moniwa, T. Tcrasawa, K. Nakajo. .1. Sakemi and S. Okazaki, Japan Journal of Applied Physics 34 (1995), pp. 6584-G589.) first constructs the conflict graph C, then creates a list of all odd cycles in G using an ennmerative approach. The heuristic then iterafcively finds and deletes the edge that, is in the greatest number of minimum- length odd cycles. Deletion is accomplished by increasing the lower bound on separation between the corresponding features, and then applying a compactor to perturb the shape or position of these features (see Figure 7). This approach may be feasible for the cell layout editing context, but likely does not scale to large instances since the number of odd cycles can be exponential in the size of the layout. Moreover, the heuristic does not necessarily delete the minimum number of edges, nor will it necessarily select edges whose deletion will have minimum impact on the layout.
Ooi et al. (see "Method of Designing Phase-Shifting Masks Utilizing a Compactor" , K. Qoi. K. Koyama and M. Kiryu, Japan Jourv-al of Applied Physics 33 (1994), pp. 6774-6778) also suggested a cornpaction-bascd method which (i) produces a symbolic layout from the mask layout; (ii) performs phase assignment in the symbolic layout; and (iii) compacts the symbolic layout
using mimmum spacing design rules consistent with the phase assignment. The advantage of the compaction-based method is that it is fully automated and guarantees to remove all odd cycles from the conflict graph. On the other hand, the phase assignment step is relatively oblivious to details of the mask layout; the ensuing compaction step may not minimize distortion of the original layout.
Summary of the Invention
The present invention gives a new method for resolving phase conflicts for dark-field and bright- field alternating phasc-shiftmg mask technologies. For the dark-field masks, this method consists of
• A new 2-coloring and compaction approach that simultaneously optimizes layout and phase assignment which is based on planar embedding of an associated phase conflict graph.
• Optimal and fast algorithms minimizing the number of phase conflicts that must be removed to ensure 2-colorability of the phase conflict graph. These algorithms are based on reduction to the -join problem which asks for a minimum weight edge set A such that a node u is incident to an odd number of edges of A if and only if u belongs to a given node subset T of a weighted graph.
• Fast gadget-based algorithms solving optimally the corresponding T-join problem.
For the bright-field masks, this method consists of
• a new 2-coloring and compaction approach that simultaneously optimizes layout and phase assignment which is based on planar embedding of an associated feature graph. Feature graph incorporates two types of layout modifications: increasing spacing and changing the width of critical thin features.
• Optimal fast algorithms minimizing the number of phase conflicts that must be removed by increasing spacing
• Approximate fast algorithms minimising the number of phase conflicts that must be removed by the both types of layout modifications.
3 Technical Basis of the Invention
Alternating phase-shifting mask (AltPSM) technology is enabling to subwavelength process technology. AltPSM uses destructive interference between opposite-phase fight (e.g., 0 phase and 180 phase) to improve contrast on the wafer between exposed and uncxposed regions (see Figure 1). AltPSM affects circuit layout because there is no longer any concept of a "complete" design rules set: layout is correct if and only if a given layout-derived graph can be 2-colored. Since 2-colorability of this derived graph is difficult to maintain during layout creation, all proposed solutions use post-processing of layout to identify required perturbations, followed by layout compaction to achieve a phase-assignable final layout. There are Lwo essentially different AltPSM technologies: (I) dark-field AltPSM where the clearpage region corresponds to a feature (the negative photoresist is used) and (2) bright-field AltPSM where the clearpage region corresponds to gaps between features (the positive photoresist is used). For the both technologies it is necessary to assign phases to clearpage regions corresponding to 0 or 180 phase of the assigned light.
3.1 Dark-Field Alternating Phase-shifting Mask Technology
The positive constants b < B define a simplified relationship between printability and the distance between two clearpage regions in the dark-field AltPSM technology. The distance between any two features cannot be smaller than b without violating the minimum spacing design rule. If the distance between two features is at least b but smaller than B, the featm-es are in phase conflict. Phase conflict can be resolved by assigning opposite phases to the conflicting features. in other words, B defines the minimum spacing rule when two features have the same phase. If the distance between two features is greater than or equal to B, there is no phase conflict and the features can be assigned arbitrary phases- Note that the values of b and B arc layer-dependent. We also let w > 6 denote the minimu allowed width of any feature on the layer of interest. Finally, we assume that all features arc rcctilinearly oriented (all edges axis-parallel) polygons,
The Phase Assignment Problem: Given a layout, assign phases to all features such that no two conflicting features are assigned the same phase.
If the phase assignmen problem has a feasible solution, i.e., the layout is PSM-feasible, then the dark-field AltPSM technology can be applied for manufacturing of this layout. The overall objective of PSM layout design is to achieve minimum-area layout while maintaining
PSM- feasibility, ut assuming that feature widths and spacings can be scaled down to values achievable using PSM, will lead to well-compacted but PSM-infeasible layouts. This induces the following problem.
Minimum Distortion Problem. Given a layout, find a solution to the Phase Assignment Problem which requires minimum layout modification.
3.2 Bright-Field Alternating Phase-shifting Mask Technology
We will describe the bright AltPSM technology due to Wang and Pati and involves double exposure (two masks) on positive photoresist. With positive photoresist, development removes photoresist material from all regions that have been exposed with sufficient energy. Hence, areas defining features should be protected from fight and phases should be assigned to clearpage areas of the mask outside the features (i.e., "bright field" or "clearpage field"). The ΛltPSM technology of is illustrated in Figure 2. In the figure 2, a poly feature includes a critical(-width) gate which requires phase-shifting to be successfully printed. The feature is formed by exposing two masks: (i) a "locally bright-field" AltPSM mask, followed by (ii) a binary (non-phasc-shifting, standard chrome on glass) mask that protects the critical portion of the feature fro fight while also defining the non-critical width portions of the feature,
When the majority of features are at critical width then the incidence of phase shifters becomes "dense": the layout must leave room for phase shifters around nearly every feature, and finding compatible assignments of phases to shifters must be ensured. The latter task is quite difficult, and rπaiutaiuing design productivity for logic applications requires automated phase-mask layout tools.
Figure 3 shows that when two vertical critical features arc closely spaced, their phase shifters overlap, and must be assigned the same phase. On the other hand, when the features are widely spaced, their phase shifters cau be assigned phases independently. We sec that the overlap between shifters introduces dependencies between the phase assignments to shifters of corresponding featmes. Figme 4 gives simple layout examples for which there is no assignment of 0 and 180 phases to the shifters, such that (i) there are opposite-phase shifters on cither side of each feature, and (ii) any shifters that overlap are assigned the same pha e. In general, to mirιiτniκe layout area, the phase assignment to shifters should eliminate or reduce the number of eases when adjacent.
shifters get opposite phases.
Phase Assignment Problem. Given a layout, find a phase assignment such that the following Conditions (1) and (2) are satisfied:
• Condition (1): Phase shifters on opposite sides of each critical feature arc assigned opposite phases; and
• Condition (2): Any pair of overlapping shifters is assigned the same phase.
We know IVorπ Figure 4 that conditions (l)-(2) cannot always be satisfied. Such situations are caused by odd cycles of phase dependencies, in graph- theoretic terms, only graphs free of odd cycles can be properly colored into two colors1 - meaning that shifters of the corresponding layout can be properly assigned 0 and 180 phases. In such cases, for the chip to be manufacturable the layout must be modified so that it becomes phase-assignable. A violation of condition (1) can be corrected via layout modification that increases the width of the corresponding critical feature, i.e., the feature must become sufficiently wide that it can be manufactured without phase shifting. A violation of condition (2) is corrected by layout modification that increases the spacing between critical features. Note that the "odd cycle" problem illustrated in Figure 4 can in general be interpreted as a violation of cither condition 1 or condition 2 (!) - and hence can be corrected by increasing eΛLhf.r feature width or feature spacing. It is necessary to minimize the total cost of the layout modifications applied:
Minimum Distortion Problem. Given a layout, find a solution to the Phase Assignment Problem which requires nήnimum layout modification.
4 Detailed Description of the Preferred Embodiment for Dark- Field Alternating Phase-shifting Mask Technology
The embodiment presentation is organized as follows. In the next subsection, we construct a phase conflic graph in which the Phase Assignment Problem is reduced to node bicoiormg. Section 4.2 describe new methods of design modification which ensure bieolorability of the associated
1 One: cmiicit. t.nlnr the nodes of an odd cycle into two c olorh, such that all pairs of adjacent nodes receive diflcrcnt. colors.
phase conflict graph. In Section 4.3 we reduce the Phase Assignment Problem to the Minimum Perturbation Problem in the phase conflict graph and to the T-join problem on the dual graph of the phase conflict graph. In Section 4,4, we present new fast and practical algorith s lor solving the T-join problem. These algorithms are based on reduction of the T-join problem to the Minimum-Weight Perfect Matching problem via gadgets. Section is devoted to several previously known and new approximation methods for solving the T-join proble .
4.1 Construction and Planar Embedding of the Conflict Graph
We now show how to construct a phase conflict graph corresponding to a given layout, such that the assignment of phases to features corresponds to the coloring of nodes of the phase conflict graph. We also describe a planar embedding of tbe phase conflict graph. For a given layout of polygonal features, the phase, conflict graph G — (V, E) is constructed by defining a node for each feature, and introducing an edge between two nodes exactly when the corresponding features are in phase conflict. The phase conflict graph can be constructed in O(π lo π) time, where n is the total number of segments in all polygon boundaries. We implement the following construction.
• Slice each feature (polygon) into rectangles by vertical cuts through all polygon nodes,''2 maintaining a pointer from each rectangle to its containing polygon.
• Bloat each rectangle by distance Bf'2.
• Using sweepline and interval tree, detect conflicts between polygons by finding overlapping pairs of rectangles that belong to different polygons.
Alternatively, one may detect intersections of bounding boxes of polygons, then check whether the corresponding polygons actually intersect.
In alternating PSM, we can remove all phase conflicts by assigning opposite phases to each pair of adjacent nodes in the phase conflict graph G. This is equivalent to 2-coloring the nodes of G with phase 0 and phase 180. For this to be possible, G must be bipartite, i.e., have no odd cycles. Hence, if the phase conflict graph G is not bipartite, our goal is to delete enough Although the slicing is not strictly necessary, it greatly simplifies the construction as well as the pUn r embedding of the phase conflict graph. In fact, if slicing were not be performed advance, tin; hase conflict K^ *1 construction and sorting (if nei hbor^ would implicitly include some procedure equivalen (at legis in runtime) to .slicing
edges such that no odd cycles exist in the remaining modified phase conflict graph. Edge deletion in the phase conflict graph is achieved by changing the. place.uie.nl of layout features so that they no longer conflict. Thus, with alternating PSM technology we see that manufacturabihty creates highly non-obvious, non-local constraints on the layout. Efficient algorithms that we give below for removing odd cycles depend on planarity of G. In general, the phase conflict graph computed as described above may contain non-planar local configurations like the one in Fig. 2(a). Diagonal conflicts effectively do not exist because of interference effects. Therefore, the deletion of intersecting diagonals from the phase conflict graph will not compromise the effectiveness of the resulting PSM.
Assume that (i) 26 > B and (ii) four rectangles which are pairwise (with the possible exception of one pair) in conflict do not have diagonal conflicts (see Figure 5(a)). Then, the phase conflict graph G is planar.
To fully exploit the planarity of the phase conflict graph once diagonals have been removed, the phase conflict graph should be embedded into the plane. Embedding is fully determined by the cyclic order of edges incident to each node, i.e., by the cyclic order of nodes adjacent to a given node. Note that the order induced by segments connecting the centers of adjacent rectangles may be incompatible with a planar embedding, e.g., if rectangles have large aspect ratio (see Figure fj (a)). We use the following cyclic Order of adjacent rectangles (see Figure 0(b)). All rectangles adjacent to a given rectangle R are partitioned into four groups consisting of: (1) rectangles positioned to the right of R (i.e., having left side to the right of the right side of R); (ii) rectangles positioned below R which do not belong to group (i); (iii) rectangles positioned to the left of R which do not belong to group (ii); and (iv) rectangles positioned above R which do not belong to groups (i) and (iii). In the ordering, rectangles from group (i) precede those from group (ii), which in turn precede those from group (iii), which in turn precede those from group (iv). Inside their respective groups, the rectangles are sorted (i) in decreasing order of their y-coordinates, (ii) in decreasing order of their ^-coordinates, (iii) in increasing order of their ^-coordinates, and (iv) in increasing order of their x-coordinates. After the correct planar embedding is established, all instances of K→, and K which cause edge intersections can be detected, and their edge intersections removed, in a straightforward way.
4.2 Approaches to Removing Odd Cycles From the Phase Conflict Graph
We focus on the following "one-shot" approach (Figure 8) . Initially, we constrain the layout only by the minimum-spacing design rule, i.e., no two features can be less than distance b apart. We then- (i) find the phase conflict graph G; (ii) find the mininiurn set of edges whose deletion makes the phase conflict graph 6T 2-colorable, (iii) assign phases such that only the conflict edges in the mimmum set connect features of the same phase; and (iv) compact the layout with "PSM design rules", i.e., minimum separation B between features that are assigned the same phase, and minimum separation b between features that are assigned different phases.
Iterative coloring and compaction approach iL rai.iveΛy applies the following three steps imtil the phase conflict graph G becomes bipartite:
(i) compact the layout and find the phase conflict graph G;
(ii) find the minimum set of edges whose deletion makes the phase conflict graph G 2-colorable; and
(iii) add a new constraint for each edge in this minimum set, such that the pair of features connected by this edge must be separated by distance at least B;
4.3 The Minimum Perturbation and T-Join Problems
The overall objective of PSM layout design is to achieve minimum-area layout while maintaining PSM-feasibility. Our "One-shot" flow assumes that an automated-custom or migration flow will essentially start out by being "optimistic" , i.e., by assuming that feature widths and spacings can be scaled down to values achievable using PSM. The optimistic assumption will typically result in a design that cannot be phase-assigned, due to the presence of odd cycles. This induces a "minimum perturbation" problem: we seek a "minimum perturbation" of the layout, in terms of odd cycle breaking and resultant B spacing constraints between pairs of features that previously had b spacings.
Recall that when a phase assignment is found, each conflict edge that separates two same- phase features induces a minimum spacing requirement of D between the features. Such a lequiie- ent is passed to compaction in the form of a spacing constraint. To fully exploit compaction
technology and achieve optimal algorithms for pha.se assignment with minimum layout perturbation, we must take into account that different changes may have different impact on the resulting layout area.
The methods for optimal odd cycle removal that we develop below will find the minimum- weight set of conflict edges whose deletion makes the phase conflict graph bipartite, even if the conflict edges have different weights. Thus, as we mini Ϊ7,c the number of layout changes (i.e., new spacing requirements in compaction), we believe that it will be helpful to assign larger weights to those conflict edges whose resolution will cause larger increase in the layout area. A specific recipe would detect spacing constraints (between feature pairs) that are on crilical paths in the compaction, i.e., constraints that when increased will directly increase the size of the layout. It would be reasonable to assign larger weight to conflict edges corresponding to such constraints: lesser weight sho ild be assigned to conflict edges that do not he on critical paths (see Figure _)). Finally, if several methods to delete edges and eliminate odd cycles are combined, the cost of a given conflict edge should reflect the minimum possible cost of breaking that edge using any of the available methods. Formally, we .assign costs to the phase conflict graph edges based on one or more of the following layout analysis results: values of slacks in the layout compaction graph, values of slacks and sensitivities in static timing and noise analysis, and values of critical area and yield sensitivities in manufacturability analyses.
Optimal phase assignment can be found by .solving the following problem.
The Minimum Perturbation Problem: Given a planar graph G — {V, E) with weighted (multiple) edges, find the mini um-weight edge set M such that the graph (V, E — M) contains no odd cycles.
After the Minimum Perturbation Problem is solved, i.e., the set of edges M is determined and deleted, the valid assignment of phases can be found using breadth-first search. For each connected component of the phase conflict graph (the weight of each edge is set to 1). starting from arbitrary node υ breadth-first search determines the distance from v to each other node u. If the distance from v to u is even, then u is assigned the same phase as υ otherwise, v. is assigned the opposite phase. Such breadth-first search can be performed in linear time
The Mimmum Perturbation Problem is closely related to the well-known ϊ'-joi problem.
The T-join Problem : Given a graph (7 with weighted edges, and a subset of nodes T, \ \ is even, find a minimum weight edge set A such that a node u is incident to an odd number of edges of A ϊft u € T.
The Mininiurn Perturbation Problem can be reduced to the T-join problem in the following way. We use the following definitions. A geometric thud of an embedded planar graph G -=< V, E > is a multigraph D =< F, E > in which nodes are the faces of G. If f, g are two faces of G, i.e., two nodes of D, than an edge of G connects with j < if it belongs to both of them. A reduced dual of G is a graph D =-=< ,F, E > obtained from D by deleting all but one of the edges that connect a given pair of nodes. The undeleted edge must be the one of minimal weight.
The Minimum Perturbation Problem for a planar graph G is equivalent to the T-join problem in the reduced dual graph of G.
The T-join problem for a gτaplι with n nodes was reduced by Hadlock and ϋrlova fa. Dorfhian to the Minimum- Weight Perfect Matching Problem in a complete graph with \T\ nodes.
The reduction denned above has two drawbacks. First, the reduction itself can be slow, because finding all pah-wise distances between nodes of T is too time- and memory-consuming. Additionally, the resulting instance of Minimum- Weight Perfect Matching Problem may have many more edges than necessary, and thus itself is too difficult to be used in practice.
4.4 Fast Optimal Algorithms for the T-join Problem
In this section we present new reductions of the T-join problem to the minimum weight perfect matching problem, which yield a fast optimal algorithm for the T-join Problem in phase conflict graphs (i.e., sparse graphs).
- We start from simple reductions that allow to reduce the problem size m many practical instances, moreover, they eliminate special cases that would complicate the description f gadgets that are used by the subsequent reduction. Next, we will show a gadget-based reduction that uses very simple gadgets and lias si ple correctness proof. This reduction yields an algorithm that solves an instance of T-join problem with rn edges by applying a perfect matching algorithm to a graph with 0{m) edges. In this manner, we obtain an algorithm for the T-joint problem
that runs in time roughly 0(τi lz). Finally, we refine this idea to improve the size of the resulting instance of perfect matching (and consequently, the overall running time) by a constant factor.
First wc describe simplifying, opportunistic reductions that eliminate the nodes of degree (J, 1 and nodes of degree 2 that do not belong to T.
The first opportunistic reduction reduces the T-join problem to instances with biconnected graphs Consider an instance of the T-join problem described by the graph < V, E >, edge weight function w arid T C V. Assume that < V. E > has biconnected components < V\ , E >, . . . , < Vki k >- Then in linear time we can find sets T, C V- such that A C E is an optimal T-join if and only iF For i -= 1, . . . , k, A Pi E, is an optimal T join for < Vt, t > and w>Eι .
The second opportunistic reduction eliminates nodes of degree 2 that do not belong to T. Assume that node v T has exactly two neighbors, vi and υ2. Consider the graph transformation where edges {v, v } and {«, v 2} are replaced with edge {vι ,v-j} with weight ιυ(v, v\) + w v, V2 - Then this edge replacement defines a 1 -J correspondence between T-joins of the old graph and the new graph.
Reduction via simple gadgets.
We give the following algorithm for the T-join problem in sparse graphs.
1. Read T-join instance (V, E, w, T),
2. For each vertex v £ create gadget graph f „ that depends only on the degree of υ and the membership of v in T. For every neighbor u of υ, Cv contains a contact node (v, u), all edges of Tv have weight 0.
3. For each edge {u, v} € E connect r„ and £v with a replacement, of {u, υ}, ρ({u, υ}) = { (u, υ), (v, u)}, that has the same weight.
4. in the resulting graph (V' E', w') find a minimum cost perfect matching M.
5. Return A = ρ~1 (M) .
Fig. 11 shows an example of a transformation that uses our gadgets; the left part shows an instance of the T-join problem, and the middle part the instance of Perfect Matching that is obtained with the gadgets from Fig. 12.
Reducing T-join to Perfect Matching with Optimized Gadgets
Wow we give optimized gadgets which i prove the running time by a factor of 4 on average The construction of these gadgets is less uniform and the connection between the gadget is less regular. We define two versions of gadgets: full gadgets, shown in Fig. 13, and trimmed. The idea is that the full gadget of node u, denoted r„, contains replacements of ail edges that are incident to .-\ when we connect gadgets of adjacent nodes u and w, we need to decide which replacements of the edge {u, v} we remove: those fro Tu or those from ι ? This removal creates the trimmed gadgets which arc connected by identifying the r espective contact nodes.
More formally, for every node v that is adjacent to u. the gadget Tu contains contact node (u, υ). This contact node is incident to all replacements of the edge {u, υ) that belong to I The remaining nodes of Tu are the core nodes. We distinguish two kmds of contact nodes: obligatory and optional- All these kinds of nodes are illustrated in Fig. 13, The property of an optional contact is that it is incident to one edge only, and this edge connects this contact with a core node.
We can trim £_ by removing some of its optional contacts. For each contact (u, .ι) thus removed we transfer the name (u, v) to its sole neighbor. Now we see that we cannot connect gadgets arbitrarily (ΆS we did in the previous algorithm) . In particular, we can connect ru and Fυ only if one of the respective contacts, (u, υ) or (v, u), is optional. Suppose that (u, v) is optional. Then we can connect r„ and r„ by trimming (u, v), and identifying the new (u, υ) with (v.u). As a result, all replacements of edge {u, v) arc adjacent to a single core node of _; we say that edge {u, v} fans out from u toward v.
Now we can describe the new algorithm.
1. Read instance (V, E, w, T) of T-join problem.
2. For each edge {u, v} £ E, decide whether it fans out toward u or toward v. Make sure that if a node w has degree d, then at least [d/2\ edges are fanned toward w.
3. For each node u € V create gadget £u that depends on the degree of u and the membership of u T. For each v adjacent to u, r„ contains contact node (u, v) . Make sure that if {u, υ) fans toward v than (u. v) is optional.
4. For each edge {u, v) € £ connect Tu and r„. Tn particular, if {u, υ) € E fans out toward v. then remove the optional contact (u, υ) (and the replacement of {u, υ) in Tu) and identify the new (u, w) with (υ, u).
5. Tn the resulting graph ( V', E', w') find a rπiniiπuin cost jjerfeet matching M.
6. Return A, the set of edges of E that have a replacement in .
We should note that its step (2) can be implemented in linear time. We apply a graph traversal, where each edge is traversed exactly once, and when we traverse an edge, say from u to v, then we decide to fan it out toward υ. If there exists a node adjacent to an odd number of un-traversed edges, we start the next stage of the traversal there, and we continue until we encounter another node with this property. When every node is adjacent to an even number of untravcrscd edges, we can star l. at any node adjacent to an untraverscd edge and continue until we return to this node. It is easy to see that each time we traverse through a node, or when we start and end a traversal in the same node, we fan out one edge toward this node, and one edge away. At most once an edge can be used as a terminal of a non-cyclic traversal, thus we Fan at least \ d/2\ edges toward a node of degree d.
To construct other gadgets, we will introduce some terminology. We use Ti to denote a gadget for a T-uode of degree i, and Si to denote a gadget for a (V — T)-node of degree i. The reduced forms of our basic gadgets, namely, of S3, T3, SA and Q (a version of 54) , are cliques, so these gadgets are proven correct. Larger gadgets are defined inductively.
Given two gadgets II and II' , we can mold them ns follows. Let x be an optional contact of H and x' be an optional contact of H' . Let y and ;</ be the core nodes adjacent to 2: and x' . Then meld(H, H') is created by discarding x and x' ', and by identifying y with y' Fig. 1,3 shows many examples of melding. For ι > 7 wc define Si as rnald(S(i — 2), Q) and Ti as τneld(T(i — 2), Q). The following lemma validates building larger gadgets by melding the smaller ones.
We will say that a graph is a gadget if it has a distinguished set of core nodes, and every superset of the core nodes of even she. has a perfect matching. An S gadget ha.s an even number of core nodes, and a T gadget has an odd number. An 1 gadget has i non-core nodes.
We build new gadgets in the following three ways:
(i) If H is an Si gadget, and H' is an Sj, then meld(H, H') is a T(i 4- j - 2).
(ii) If H is an Ti gadget, and H' is an Tj, then eld(H, H') is a T(i + j - 2).
(iii) If H is an Si gadget, and H' is an Tj, then meld(J-JJT') is a S(ι + j - 2).
Consider an instance of Minimum Cost T-join problem with n nodes, τrι edges, TI.Q T nodes of odd degree and nodes of T that have degree 3- Our algorithm solves this instance by generating an equivalent instance of the Minimum Cost Perfect Matching that has at ost 2m. — n + n0 nodes and at most dm — 5.5n 4- O.fm) edges.
Finally we can apply the best known so far algorithm by Gabow and Tarjan to solve the perfect matching problem.
4.5 Approximation Algorithms for the T-join Problem
The exact algoritlnn frorn the previous section may still be too slow for processing very large layouts.
We give a fast heuristic based on the Voronoi graph paradigm.
Iterated Voronoi Algorithm:
1. Partition all nodes in G into the Voronoi egions of the nodes in T such that:
(i) each Voronoi region contains exactly one node from T, which is the center of the Voronoi region, and
(ii) each even-degree node belongs to the Voronoi region that contains the closest node in T (break ties arbitrarily).
2. Construct the Voronoi graph Vσr(G) in which each node represents a Voronoi region, and two nodes Rι and R_ are adjacent if and only if a shortest weighted path in G between the corresponding region centers is completely contained in the two regions (see Fig. 14) .
3. Find a minimum-weight maximu matching M in Vor(C) .
4. Find the edge set V M in G that is the union of paths in G corresponding to edges of M, which in turn correspond to the edges of the minimum weighted matching in Vσr(G)
5. Delete edges VM from the phase conflict graph 6',
G. Repeat previous steps while T 0.
5 Detailed Description of the Preferred Embodiment for Bright- Field Alternating Phase-shifting Mask Technology
The embodiment presentation is organized as follows. We first give construction and planar embedding of the feature graph which is the bright-field analogue of the phase conflict graph. Next the exact and approximation algorithms for bipartizkig the feature graph are given.
5.1 The Feature Graph
In this section, we propose a new feature graph to represent relationships between adjacent layout features and their corresponding shifters. The feature graph allows us to reduce the Phase Assignment Problem to graph bicoloring. Furthermore, the structure of the feature graph allows both types of layout modifications (feature width increase, and feature spacing increase) to be applied, along with recent advanced discrete algorithmic methods.
The Minimum Distortion Problem asks to minimize the cost of correcting all violations of conditions (l)-{2), since each violation results in increasing area or slowing down the chip. We will model the layout odification used to correct violations of condition (1) as deletion of a node corresponding to the critical feature. Layout modification used to correct violations of condition (2) will correspond to either edge or node deletion. Tloth edge and node deletion help to cUminatc odd cycles. Following is the formal description for how to coustruct the feature graph.
Given a layout, the feature graph G = (F U C U S, E) consists of the three types of nodes F, G and S and edges E:
(F) For each critical feature /* we put into correspondence a feature node f £ F
(C) For each overlap of two shifters we put into correspondence a conflict node c £ C;
(E) Any feature node / is connected to all conflict nodes representing overlaps of the shifters which are on the sides of the corresponding feature /*;
(S) Edges between feature node / and conflict nodes of one of its shifters (arbitrarily chosen) are subdivided into paths of length 2 by ..hifie.r nodes s ζ S.
Note that all conflict and shifter nodes have degree 2, and only feature nodes may have arbitrary degree. Figure IT) shows the feature graph for a layout with four critical features.
The useful properties of the feature graph are justified as follows.
Let G be the feature graph of the layout L. Then
(i) the Phase Assignment Problem has a feasible solution for L if and only if G is 2-colorable (i.e., G is bipartite);
(ii) increasing the width of a feature /* in L is equivalent to deleting the corresponding feature node / from G;
(iii) increasing the spacing between two features in L that have overlapping shifters is equivalent to deleting the corresponding conflict node c. from G or deleting any of the edges (/, c), (/, ε) or (c, a), where / corresponds to either of the two features and a is the shifter node that possibly subdivides the f-to-c connection.
We also may supply nodes and edges of the feature graph G with costs reflecting the relative costs of the spacing enforcement and the critical feature widening layout perturbations. Formally, we assign costs to the feature graph edges based on one or more of the following layout analysis results: values of slacks in the layout compaction graph, values of slacks and sensitivities in static timing and noise analysis, and values of critical area and yield sensitivities in mamifactiirability analyses. Therefore, the Minimum Distortion Problem is equivalent to the following
Graph Bipartization Problem Given an edge and node weighted graph G, find the minimum weight edge or node set D, such that the graph G — D is bipartite.
Planar embedding of feature graph.
The feature graph is planar if the maximum width of a shifter is less than half the minimum length of a feature (sec Fig. 16).
The embedding of the feature graph G = (FU CU S, E) into the plane consists of the following steps:
1. For any feature /*, the corresponding feature node f £ F is placed at the geometric center of the corresponding feature rectangle.
2. For every pair of overlapping shifters, the corresponding conflict node t: € G is placed at the geometric center of the overlapping area of tbe shifters.
3. We connect with straight lines each feature node / ζ F to the conflict nodes representing overlaps of the shifters which are on the sides of the corresponding feature /* according to step (E) of the definition of the feature graph; if necessary, we subdivide this fine with the shifter node s £ S according to step (S).
5.2 Algorithms for Bipartization of Planar Graphs
We give two alternatives for bipartizing planar' graphs. The first algorithm has been described in the dark-field embodiment and is the fast optimal algorithm for edge-deletion bipartization.
If the both modifications (edge- and node- deletion) are allowed then che problem is computationally very difficult. Below we describe the best known approximation algorithm due to Goe- mans and Williamson (see "Primal-Dual Approximation Algorithms for Feedback Problems in Planar Graphs" , M. X. Gocmans and D. P. Williamson, Combinatorica 18 (1998) , pp, 37-59: pages 37-f>9 are hereby incorporated by reference for all purposes). It is provably good, i.e., it guarantees 9/4 approximation.
Primal-Dual Algorithm (Goemans- Williamson)
Given: Planai- graph G
Output: The bipartite subgraph H
For each odd face / of G, initialize age(f) = 0
While there are odd faces in the graph G do
For each odd face / of G, increment age(f) = age,(f) + 1.
For each node v in the graph G set wcight(υ) to the sum of ages of all odd faces with the node v on the boundary.
Delete the node v with the largest weight.
If a new face / is odd, then initialize age(f) = 0.