11.07.2015 Views

Fast and efficient phase conflict detection and correction in standard ...

Fast and efficient phase conflict detection and correction in standard ...

Fast and efficient phase conflict detection and correction in standard ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

esults <strong>in</strong> significant speed-ups of the <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> algorithm.Experimental results on representative examples show averagespeedups of 5.9x us<strong>in</strong>g the proposed approach, while ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>gthe same quality of results as the method <strong>in</strong> [2].To summarize, the key features that dist<strong>in</strong>guish the proposed<strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> scheme from previous methods are:¯ Representation of the layout as a CCG (to be def<strong>in</strong>ed later) <strong>and</strong> theestablishment of its relationship to <strong>phase</strong>-assignability of its correspond<strong>in</strong>glayout.¯ Reduction of the <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> problem to a m<strong>in</strong>imumweight<strong>conflict</strong> cycle problem (to be def<strong>in</strong>ed later) on the CCG <strong>and</strong> anoptimal polynomial-time algorithm for the problem, when the CCGis an embedded planar graph.Together, these two factors provide significant runtime advantageswithout sacrific<strong>in</strong>g solution quality. The follow<strong>in</strong>g sections<strong>in</strong>clude a detailed discussion of these items.3.1 CCG ConstructionThe first step of the <strong>conflict</strong> <strong>detection</strong> algorithm is to build aCCG. Given a layout Ä, theCCG ´Æ µ consists ofshifter nodes Æ, <strong>conflict</strong> edges <strong>and</strong> feature edges .1. For each shifter <strong>in</strong> Ä, create an edge shifter node Ò ¾ Æ.2. For two overlapp<strong>in</strong>g shifters 3 × ½ <strong>and</strong> × ¾, create a <strong>conflict</strong> edge ¾ connect<strong>in</strong>g Ò ½ <strong>and</strong> Ò ¾.HereÒ ½ <strong>and</strong> Ò ¾ are the edge shifter nodes for× ½ <strong>and</strong> × ¾, respectively.3. Create a feature edge ¾ between the two shifters that are onopposite sides of a critical feature.0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 000000000000011111111111110000000000000111111111111111111111111000000000000011111111111110000000000000111111111111111111111111000000000000011111111111110000000000000111111111111100000000000111111111110000000000011111111111000000000001111111111100000000000111111111110000000000011111111111000000000000011111111111111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111Edge Shifter NodeConflict Edge(a) Conflict Cycle GraphFeature EdgeOverlap Node0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 00000000000001111111111111000000000001111111111111111111111110000000000000 00000000000001111111111111000000000001111111111111111111111110000000000000 00000000000001111111111111000000000000011111111111110000000000011111111111000000000001111111111100000000000111111111110000000000011111111111000000000001111111111100000000000001111111111111111111111110000000000000000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111100000000000001111111111111 0000000000000111111111111111111111111110000000000000 0000000000000111111111111111111111111110000000000000Edge Shifter Node(b) Phase Conflict GraphFigure 3. (a) CCG. (b) Phase Conflict Graph.Figure 3(a) shows an example of a CCG for the layout shownearlier <strong>in</strong> Figure 1. The CCG has 6 nodes <strong>and</strong> 6 edges. By comparison,the <strong>phase</strong> <strong>conflict</strong> graph (shown <strong>in</strong> Figure 3(b)) of thesame layout has 11 nodes <strong>and</strong> 11 edges. Experimental results <strong>in</strong>a later section show a substantial reduction <strong>in</strong> the edge count us<strong>in</strong>gthe new graphs, which contributes to the runtime improvements.However, unlike the <strong>phase</strong> <strong>conflict</strong> graph, the CCG does not equate<strong>phase</strong>-assignability of its correspond<strong>in</strong>g layout to bipartition. So,a CCG may be bipartite even though its correspond<strong>in</strong>g layout isnot <strong>phase</strong>-assignable. For <strong>in</strong>stance, even though the layout <strong>in</strong> Figure3(a) is not <strong>phase</strong>-assignable, its correspond<strong>in</strong>g CCG is bipartite.Thus, a new criterion is needed for detect<strong>in</strong>g <strong>phase</strong> <strong>conflict</strong>sus<strong>in</strong>g the CCG.It should be further clarified that <strong>in</strong> the CCG, the feature edges<strong>and</strong> <strong>conflict</strong> edges play different roles: nodes connected by featureedges should be assigned different <strong>phase</strong>s <strong>and</strong> nodes connected by<strong>conflict</strong> edges should be assigned the same <strong>phase</strong>. Later <strong>in</strong> thissection, we discuss how the feature edges are used only to appropriatelyclassify the cycles they belong to <strong>and</strong> can be dropped3 Two shifters that are separated by less than the m<strong>in</strong>imum shifter spac<strong>in</strong>g arecalled overlapp<strong>in</strong>g shifters.151dur<strong>in</strong>g some <strong>in</strong>termediate graph constructions, thereby produc<strong>in</strong>gmore speed-ups.In the rest of this section, we present the theory for <strong>phase</strong> <strong>conflict</strong><strong>detection</strong> us<strong>in</strong>g the CCG.Def<strong>in</strong>ition 1 A <strong>conflict</strong> cycle is a cycle which conta<strong>in</strong>s an oddnumber of feature edges.Theorem 1 A layout is <strong>phase</strong>-assignable if <strong>and</strong> only if the correspond<strong>in</strong>gCCG has no <strong>conflict</strong> cycles.Proof: See Appendix for proof.In order to make the layout <strong>phase</strong>-assignable, it is necessary toremove all <strong>conflict</strong> cycles from the CCG by delet<strong>in</strong>g edges. Thedeleted edges directly correspond to <strong>phase</strong> <strong>conflict</strong>s that have tobe corrected. Each edge <strong>in</strong> the CCG can be assigned a weight toreflect the cost of correct<strong>in</strong>g the <strong>phase</strong> <strong>conflict</strong> correspond<strong>in</strong>g to it.A large cost of the <strong>phase</strong> <strong>conflict</strong>s selected for <strong>correction</strong> wouldimply large changes to the layout <strong>and</strong>/or mask, which is highlyundesirable. Hence, it is essential to m<strong>in</strong>imize the sum of weightsof the edges to be deleted dur<strong>in</strong>g <strong>conflict</strong> cycle removal.The m<strong>in</strong>imum-weight <strong>conflict</strong> cycle removal problem is def<strong>in</strong>edas follows: Given a CCG ´Îµ, remove a m<strong>in</strong>imum-weightset of edges ¼ such that the modified graph ¼´Î Ò ¼ µ doesnot have any <strong>conflict</strong> cycles.It can be easily proved that this problem is NP-hard for generalgraphs by do<strong>in</strong>g a simple reduction to the m<strong>in</strong>imum-weight bipartizationproblem. However, an optimal polynomial-time algorithmexists when the graph is an embedded planar graph. This optimalalgorithm is referred to as Pl CC Remove <strong>in</strong> Figure 2 <strong>and</strong> will bediscussed <strong>in</strong> detail <strong>in</strong> the next section.3.2 Optimal M<strong>in</strong>imum-Weight Conflict Cycle RemovalAlgorithmLet denote a CCG that is also an embedded planar graph. Them<strong>in</strong>imum-weight <strong>conflict</strong> cycle removal problem on is reducedto a m<strong>in</strong>imum-weight perfect match<strong>in</strong>g problem on a suitably constructedgraph through an <strong>in</strong>termediate reduction to an T-jo<strong>in</strong>problem [11].Def<strong>in</strong>ition 2 A <strong>conflict</strong> face of is a face correspond<strong>in</strong>g to a <strong>conflict</strong>cycle <strong>in</strong> . Afaceof that is not a <strong>conflict</strong> face is a legal face.Def<strong>in</strong>ition 3 The dual graph of a CCG is constructed byrepresent<strong>in</strong>g every face of with a node <strong>in</strong> .Anedge whichbelongs to faces ½ <strong>and</strong> ¾ <strong>in</strong> (whose correspond<strong>in</strong>g nodes <strong>in</strong> are Ú ½ <strong>and</strong> Ú ¾ , respectively) is represented with an edge ¼Ú ½ Ú ¾ <strong>in</strong> . A node Ú ¾ correspond<strong>in</strong>g to a <strong>conflict</strong> face ¾ is called a <strong>conflict</strong> node. A node that is not a <strong>conflict</strong> nodeis a legal node.Theorem 2 Remov<strong>in</strong>g an odd number of edges from every <strong>conflict</strong>face <strong>and</strong> an even number of edges from every legal face will generatea graph with no <strong>conflict</strong> cycles.Proof: See Appendix for proof.The problem of delet<strong>in</strong>g a m<strong>in</strong>imum-weight set of edges suchthat an odd number of edges are deleted from every <strong>conflict</strong> face<strong>and</strong> an even number of edges are deleted from every legal face of translates to the follow<strong>in</strong>g problem on its dual graph :


F<strong>in</strong>d the m<strong>in</strong>imum-weight set of edges Ë to be deleted <strong>in</strong> ´Îµ such that: (a) an odd number of edges <strong>in</strong> Ë are <strong>in</strong>cident onevery <strong>conflict</strong> node Ù ¾ Î ; (b) an even number of edges <strong>in</strong> Ë are<strong>in</strong>cident on every legal node Ú ¾ Î .This is exactly the same as the T-jo<strong>in</strong> problem on a graph whichcan be optimally solved. The T-jo<strong>in</strong> problem of a graph seeks am<strong>in</strong>imum-weight edge set Ë such that a node Ù is <strong>in</strong>cident to anodd number of edges of Ë if <strong>and</strong> only if Ù belongs to the nodesubset Ì of the given graph. Our problem reduces to the T-jo<strong>in</strong>problem if the set of all <strong>conflict</strong> nodes <strong>in</strong> is denoted as the setÌ . Unlike the reductions <strong>in</strong> [2] <strong>in</strong> which Ì is the set of all nodeswith odd degrees, our set Ì may <strong>in</strong>clude nodes with odd or evendegrees.Next, we describe how our particular T-jo<strong>in</strong> problem can bereduced to a perfect match<strong>in</strong>g problem on a suitably constructedgadget graph . Previous work [5] shows that the specific constructionof the gadget graph can greatly impact the runtime of theperfect match<strong>in</strong>g algorithm. The authors <strong>in</strong> [2] <strong>in</strong>troduce a newgadget graph construction that provides speed-ups over previouswork <strong>in</strong> this area. However, their gadget construction works onlyfor the case when Ì denotes the set of odd-degree nodes.Our gadget graph construction, henceforth referred to as ConstructGadget, consists of the follow<strong>in</strong>g steps:1. Each node Ú <strong>in</strong> the dual graph corresponds to a set ofnodes <strong>in</strong> , which is denoted as 4 Ú . Each edge connect<strong>in</strong>gÚ <strong>and</strong> Ú ¼<strong>in</strong> the dual graph is arbitrarily assigned to either Úor Ú ¼ . If is assigned to Ú, it will appear as a true node Ø Ú <strong>in</strong> Ú .If is not assigned to Ú, it will appear as ghost node Ú <strong>in</strong> Ú . The ghost nodes are not explicitly represented <strong>in</strong> but are merely po<strong>in</strong>ters to their respective true nodes. Theassignment is done accord<strong>in</strong>g to the follow<strong>in</strong>g rules:(a) For each <strong>conflict</strong> node Ù, the parity of the number of ghostnodes <strong>in</strong> Ù is different from the parity of its node degree.(b) For each legal node Ú, the parity of the number of ghost nodes<strong>in</strong> Ú is equal to the parity of its node degree.It is easy to ensure that the conditions are always satisfieds<strong>in</strong>ce it is always possible to turn a ghost node Ú <strong>in</strong>to a truenode Ø Ú <strong>and</strong> add an additional edge of weight Û´µ between Ø Ú <strong>and</strong> Ø Ú¼ to meet the parity requirement at the cost of <strong>in</strong>creas<strong>in</strong>gthe node number <strong>in</strong> by one.2. The nodes <strong>in</strong> Ú are connected to each other by weightededges as follows:(a) An edge of 0 weight is added between Ø Ú <strong>and</strong> Ø Ú ¼.(b) An edge of weight Û´ ¼ µ is added between Ø Ú <strong>and</strong> Ú ¼.(c) An edge of weight Û´µ is added between Ú <strong>and</strong> Ø Ú ¼.(d) An edge of weight ´Û´µ ·Û´ ¼ µµ is added between Ú<strong>and</strong> Ú ¼.Figure 4 illustrates the construction of the gadget graph from thedual graph. Note that the assignment of the edges (<strong>in</strong>dicated byedges po<strong>in</strong>t<strong>in</strong>g toward the node) follows the rules specified <strong>in</strong> Step1 of the construction.Theorem 3 The T-jo<strong>in</strong> problem for a graph ´ÎÛ̵,where Ì denotes the set of all <strong>conflict</strong> nodes <strong>in</strong> Î , can be reducedto a m<strong>in</strong>imum-weighted perfect match<strong>in</strong>g on the gadget graph ´Î ¼ ¼ Û ¼ µ constructed us<strong>in</strong>g Construct Gadget.4 Ú is referred to as a gadget of Ú <strong>and</strong> hence which is a collection of Úsiscalled a gadget graph.1522Legal NodeConflict Node431(a) Dual GraphTrue NodeGhost Node2423314(b) Gadget graphFigure 4. Gadget Graph Construction from DualGraph.Proof: See Appendix for proof.The perfect match<strong>in</strong>g problem can be optimally solved <strong>in</strong> polynomialtime. In our implementation, the code of Cook <strong>and</strong>Rohe [12] is <strong>in</strong>tegrated.It should be noted that us<strong>in</strong>g the proposed CCG <strong>and</strong> our particularT-jo<strong>in</strong> formulation implies that the classification of a face doesnot rely on its edge number. Therefore, further simplifications canbe done on the dual graph, when it is converted to the gadget graphthat is <strong>in</strong>put to the perfect match<strong>in</strong>g problem. For <strong>in</strong>stance, featureedges are only needed to classify the faces as <strong>conflict</strong> faces or legalfaces <strong>and</strong> can be dropped dur<strong>in</strong>g the dual graph constructionif they cannot be picked by the <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> algorithm(<strong>in</strong> the next section we discuss why this might be the case). Thissimplification results <strong>in</strong> a further reduction <strong>in</strong> the number of nodes<strong>and</strong> edges <strong>in</strong> the gadget graph without affect<strong>in</strong>g the correctnessof the above reductions. However, this simplification could not bedone with the previous bipartite formulation <strong>in</strong> [5, 6, 2], whichcontributes to the <strong>in</strong>creased complexity of their gadget graphs.4 Proposed Phase Conflict Correction AlgorithmThe primary task of AAPSM-specific layout modification is tocorrect the <strong>phase</strong> <strong>conflict</strong>s selected by the <strong>conflict</strong> <strong>detection</strong> algorithm.Phase <strong>conflict</strong>s can be corrected either by add<strong>in</strong>g space betweenshifters correspond<strong>in</strong>g to a <strong>conflict</strong> (equivalent to correct<strong>in</strong>ga <strong>conflict</strong> edge) or by widen<strong>in</strong>g critical features (equivalent to correct<strong>in</strong>ga feature edge). However, widen<strong>in</strong>g critical features may<strong>in</strong>troduce significant tim<strong>in</strong>g problems <strong>and</strong> hence feature edges arenot picked by the current <strong>conflict</strong> <strong>detection</strong> scheme. In this work,we assume that <strong>phase</strong> <strong>conflict</strong>s correspond<strong>in</strong>g to <strong>conflict</strong> edges,that can be corrected by <strong>in</strong>creas<strong>in</strong>g the spac<strong>in</strong>g between featuressuch that their correspond<strong>in</strong>g shifters are separated by the requiredshifter spac<strong>in</strong>g, are the only ones be<strong>in</strong>g corrected.It should be noted that merely <strong>in</strong>creas<strong>in</strong>g the spac<strong>in</strong>g betweenthe shifters correspond<strong>in</strong>g to the <strong>phase</strong> <strong>conflict</strong> may cause DRCviolations as well as <strong>in</strong>troduce new <strong>phase</strong> <strong>conflict</strong>s as the relativelocations of the neighbor<strong>in</strong>g features may change. The work presented<strong>in</strong> [2] solved this problem by add<strong>in</strong>g end-to-end spacesthroughout the layout. The spaces are <strong>in</strong>serted such that only thelength of the polysilicon <strong>in</strong>terconnect is <strong>in</strong>creased. This techniquecould only be applied to st<strong>and</strong>ard cells <strong>and</strong> macro blocks with a lowdensity of <strong>phase</strong> <strong>conflict</strong>s. Experiments <strong>in</strong>dicate that this methodwhen applied directly to st<strong>and</strong>ard-cell blocks can cause large <strong>in</strong>creases<strong>in</strong> area.Our layout modification algorithm exploits the fact that1


1 24356VHVVH H H H H1 2 3 4 5 6Figure 7. Hierarchical Layout <strong>and</strong> its Partition Tree.can exist between features of neighbor<strong>in</strong>g cells. The only differenceis that Step 2 of the layout modification algorithm may beomitted.Our proposed algorithm can also be easily extended to correct<strong>phase</strong> <strong>conflict</strong>s <strong>in</strong> hierarchical layouts. As shown <strong>in</strong> Figure 7, a hierarchicallayout can be represented us<strong>in</strong>g the partition tree,whereeach leaf node represent a layout region. The À (or Î ) node representsa region which is partitioned <strong>in</strong>to several child regions us<strong>in</strong>ghorizontal (or vertical) cut l<strong>in</strong>es; there is a dashed l<strong>in</strong>e between anytwo neighbor<strong>in</strong>g child nodes which represents the cut l<strong>in</strong>e. Thelayout modification problem can be solved us<strong>in</strong>g a bottom-up algorithm.First, the <strong>phase</strong> <strong>conflict</strong>s are corrected with<strong>in</strong> each leafnode by <strong>in</strong>sert<strong>in</strong>g end-to-end spaces. Then for each upper level,new <strong>phase</strong> <strong>conflict</strong>s are avoided by <strong>in</strong>sert<strong>in</strong>g gaps along the cutl<strong>in</strong>es. The algorithm shown <strong>in</strong> Figure 5 is the special case whenthe <strong>in</strong>put layout can be represented as a two-level tree.5 Experimental ResultsThis section presents the experiments we conducted to test thebenefits of the proposed ideas. The experiments were run on a4X400 Mhz Ultra-Sparc II with 4.0 GB of RAM. The examplesare 90 nm designs <strong>and</strong> were generated us<strong>in</strong>g a commercial place<strong>and</strong> route tool. Typical values of threshold width for critical features,shifter dimensions <strong>and</strong> shifter spac<strong>in</strong>g were used <strong>in</strong> the experiments.This work focuses ma<strong>in</strong>ly on <strong>phase</strong> <strong>conflict</strong>s that can becorrected by <strong>in</strong>creas<strong>in</strong>g the spac<strong>in</strong>g between features <strong>in</strong> the layout.Thus, <strong>phase</strong> <strong>conflict</strong>s caused by T-shapes are not h<strong>and</strong>led. Thesecan be corrected by feature widen<strong>in</strong>g or mask splitt<strong>in</strong>g [7]. Phase<strong>conflict</strong>s caused by local l<strong>in</strong>e-end <strong>conflict</strong>s between neighbor<strong>in</strong>gfeatures are also not considered as they can be <strong>efficient</strong>ly detected<strong>and</strong> corrected dur<strong>in</strong>g layout generation [13].5.1 Phase Conflict Detection ResultsTable 1 compares the runtime <strong>and</strong> the quality of results (numberof edges deleted, or <strong>in</strong> other words, number of <strong>phase</strong> <strong>conflict</strong>sselected for <strong>correction</strong>) of the proposed method with other state-ofthe-artapproaches. The <strong>conflict</strong> <strong>detection</strong> method presented <strong>in</strong> [2]is our ma<strong>in</strong> comparison po<strong>in</strong>t s<strong>in</strong>ce their results are best <strong>in</strong> termsof the number of <strong>phase</strong> <strong>conflict</strong>s chosen for <strong>correction</strong> <strong>and</strong> runtimes,when compared to other state-of-the-art approaches [5, 6].Columns 1 <strong>and</strong> 2 give the design names <strong>and</strong> design statistics (likenumber of polygons <strong>and</strong> number of shifter overlaps), respectively.The results obta<strong>in</strong>ed after apply<strong>in</strong>g the method <strong>in</strong> [2] are groupedunder the sub-head<strong>in</strong>g Bipartization Method <strong>in</strong> [2]. The results obta<strong>in</strong>edus<strong>in</strong>g our <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> method are grouped underProposed Method. Columns Runtime(5) <strong>and</strong> Runtime(9) comparethe runtimes (<strong>in</strong> seconds) of the method <strong>in</strong> [2] <strong>and</strong> our proposedmethod, respectively 5 . The results <strong>in</strong>dicate that our runtimes are5 It should be noted that only the time spent <strong>in</strong> solv<strong>in</strong>g the perfect match<strong>in</strong>gproblem is reported <strong>in</strong> both cases as this is the most compute-<strong>in</strong>tensive portion of154significantly better than those obta<strong>in</strong>ed us<strong>in</strong>g the method <strong>in</strong> [2].An average improvement of 5.9x is obta<strong>in</strong>ed. This can be primarilyattributed to a significant reduction <strong>in</strong> the number of edges <strong>in</strong>the CCG compared to the <strong>phase</strong> <strong>conflict</strong> graph [2] (the numbers areshown <strong>in</strong> Columns #edges(3) <strong>and</strong> #edges(7)) <strong>and</strong> the removal ofundeletable edges (<strong>in</strong> our case, feature edges) dur<strong>in</strong>g <strong>in</strong>termediategraph constructions. These two factors together produced a significantreduction <strong>in</strong> the number of nodes <strong>and</strong> edges of the gadgetgraph constructed dur<strong>in</strong>g perfect match<strong>in</strong>g, when compared to theones constructed <strong>in</strong> [2] (the numbers are shown <strong>in</strong> #nodes/edgesGG(4) <strong>and</strong> #nodes/edges GG(8)). This accounts for the speedupsobta<strong>in</strong>ed by the proposed method. We believe these runtime advantageswill be more pronounced <strong>in</strong> larger designs.The table also shows that the quality of our results (<strong>in</strong> terms onnumber of <strong>phase</strong> <strong>conflict</strong>s chosen for <strong>correction</strong>) is better than theresults obta<strong>in</strong>ed us<strong>in</strong>g the method <strong>in</strong> [2] (Column #Conflicts(6)shows the results obta<strong>in</strong>ed us<strong>in</strong>g the method <strong>in</strong> [2] <strong>and</strong> Column#Conflicts(10) shows the results obta<strong>in</strong>ed with our method). Thisimprovement is primarily due to the fact that the number of edgesdeleted dur<strong>in</strong>g planarization of the CCG (second step <strong>in</strong> Figure 2) issmaller s<strong>in</strong>ce there are fewer edges <strong>in</strong> the CCG. Hence, the optimalalgorithm can be applied to a larger sub-graph of the orig<strong>in</strong>al graph.5.2 Phase Conflict Correction ResultsTable 2 reports the results of us<strong>in</strong>g the proposed layout modificationscheme for correct<strong>in</strong>g the <strong>phase</strong> <strong>conflict</strong>s chosen by the<strong>detection</strong> step on the same layouts. Column Area reports the areaof the designs <strong>in</strong> square microns. Column Conflict specifies thenumber of <strong>phase</strong> <strong>conflict</strong>s selected for <strong>correction</strong> by the <strong>detection</strong>algorithm for each design (the numbers are slightly different fromthe number of <strong>conflict</strong>s <strong>in</strong> Table 1 for each design due to the use ofdifferent weight<strong>in</strong>g schemes). Column Outside provides the numberof <strong>phase</strong> <strong>conflict</strong>s that are selected for <strong>correction</strong> <strong>and</strong> occur betweenfeatures of neighbor<strong>in</strong>g cells. The results <strong>in</strong>dicate that these<strong>conflict</strong>s account for a small fraction of the total number of <strong>phase</strong><strong>conflict</strong>s <strong>in</strong> any design. This strengthens our view that it might betoo conservative to leave blank space around all the cells or forcethe boundary features of each cell to have the same <strong>phase</strong> <strong>and</strong> couldcause unnecessary area <strong>in</strong>creases. The fifth column (% AreaInc.)reports the percentage area <strong>in</strong>crease for these layouts as a result ofthe added spaces. The area <strong>in</strong>crease for these layouts ranges from3.4-9.1%, with an average <strong>in</strong>crease of 6.3%. The area <strong>in</strong>creasegoes up slightly with the size of the layout. For comparison, thelayout <strong>in</strong>crease caused by the method <strong>in</strong> [2] is also reported <strong>in</strong>the last column (% Area Inc. [2]). The numbers <strong>in</strong>dicate the area<strong>in</strong>creases caused by the method proposed <strong>in</strong> [2] are <strong>in</strong>deed verylarge, thereby mak<strong>in</strong>g it unsuitable for large <strong>in</strong>dustrial designs.6 ConclusionsA new theory for Bright-Field <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> was presented<strong>in</strong> this paper. The proposed method enabled the representationof the layout us<strong>in</strong>g a significantly leaner graph called the<strong>conflict</strong> cycle graph (CCG). The <strong>phase</strong> <strong>conflict</strong> <strong>detection</strong> methodwas reduced to a new problem called the m<strong>in</strong>imum-weight <strong>conflict</strong>cycle removal problem. An optimal algorithm for solv<strong>in</strong>g thethe algorithm. The gadget graph construction was also sped-up by 2x us<strong>in</strong>g thenew graph, but the perfect match<strong>in</strong>g times has a greater contribution to the totalrun-time.


Bipartization Method <strong>in</strong> [2]Proposed MethodDesign(1) # Plgns/#Shft Ovlps(2) #edges(3) #nodes/#edges GG(4) Runtime (5) # Conflicts (6) #edges(7) #nodes/#edges GG(8) Runtime(9) # Conflicts(10)Design1 10274/24580 84508 46756/153291 2.53 631 59939 15562/26943 0.38 624Design2 13630/32257 112599 62480/203971 1.90 963 79672 20910/36403 0.22 946Design3 21868/53749 182809 103912/338810 3.33 1558 128836 34806/61227 0.55 1534Design4 20425/50059 173319 98834/320499 3.18 1678 121546 33266/57705 0.48 1664Design5 25784/63760 216691 122324/397999 3.87 1854 152655 40614/70853 0.60 1839Design6 48787/157668 484999 355760/1147057 12.17 6330 325769 126112/231717 2.78 5989Design7 44121/142707 436297 339538/1084677 12.30 5010 295001 112152/207784 2.47 4865Design8 72101/237557 729980 567532/1817272 20.05 10275 489922 189986/351007 4.23 9631Design9 105882/376707 1133279 949064/2997548 41.35 18148 757581 303408/565217 7.95 17463Design10 159070/552767 1667581 1415620/4437522 66.40 27308 1115928 444082/829898 11.58 26354Table 1. Phase Conflict Detection Results.Design Area Conflict Outside %AreaInc. % Area Inc. [2]Design1 25173.96 641 148 3.4 18.1Design2 16397.82 995 197 5.4 23.1Design3 31416.21 1589 284 5.8 26.8Design4 25715.23 1724 238 6.1 28.8Design5 40409.68 1720 322 4.7 32.12Design6 61705.52 6257 770 5.8 57.47Design7 58414.06 5100 586 6.1 59.1Design8 94178.09 10141 512 7.3 80.2Design9 148231.77 18657 2672 9.1 100.0Design10 249210.41 28121 4224 9.0 100.0Table 2. Layout Modification Results for St<strong>and</strong>ard-Cell Blocks.m<strong>in</strong>imum-weight <strong>conflict</strong> cycle removal problem <strong>in</strong> CCGs that areembedded planar graphs was also presented. The optimal algorithmwas used as a sub-rout<strong>in</strong>e with<strong>in</strong> the <strong>conflict</strong> <strong>detection</strong> algorithmso that a m<strong>in</strong>imal solution could be obta<strong>in</strong>ed for non-planarCCGs. Support<strong>in</strong>g experimental results illustrated significant improvements<strong>in</strong> the runtime (average runtime improvement of 5.9x),while ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g the same quality of results (<strong>in</strong> terms of numberof <strong>phase</strong> <strong>conflict</strong>s chosen for <strong>correction</strong>) as the best availableprevious work <strong>in</strong> this area.A novel layout modification algorithm for mak<strong>in</strong>g st<strong>and</strong>ard-cellblocks <strong>phase</strong>-assignable was also presented. Experimental resultsconfirm that the new method produced much smaller <strong>in</strong>creases <strong>in</strong>area than previous work <strong>in</strong> this area. The small area <strong>in</strong>creases producedby the proposed method (average area <strong>in</strong>crease of 6.3%)make it practical for use as a post-placement optimization step.It can also be applied to atta<strong>in</strong> <strong>phase</strong>-assignability of st<strong>and</strong>ardcellblocks done with <strong>phase</strong>-assignable st<strong>and</strong>ard cells. The proposedlayout modification method can be extended to allow featurewiden<strong>in</strong>g for certa<strong>in</strong> <strong>phase</strong> <strong>conflict</strong>s that cannot be corrected by <strong>in</strong>creas<strong>in</strong>gthe spac<strong>in</strong>g between features. Another possible extensionof this work would be to <strong>in</strong>tegrate with a tim<strong>in</strong>g eng<strong>in</strong>e to make thelayout modifications more tim<strong>in</strong>g-aware.References[1] L. W. Liebmann, T. H. Newman, R. A. Ferguson, R. M. Mart<strong>in</strong>o,A. F. Molless, M. O. Neisser, <strong>and</strong> J. T. Weed. A ComprehensiveEvaluation of Major Phase Shift Mask Technologies for Isolated GateStructures <strong>in</strong> Logic Designs. In SPIE (2197), pages 612–623, 1994.[2] C. Chiang, A. Kahng, S. S<strong>in</strong>ha, X. Xu <strong>and</strong> A. Zelikovsky. Bright-FieldAAPSM Conflict Detection <strong>and</strong> Correction. In DATE, pages 908-913,2005.[3] A. Moniwa, T. Terasawa, N. Hasegawa <strong>and</strong> S. Okazaki. Algorithmsfor Phase-Shift Mask Design with Priority on Shifter Placement. InJpn J. of App. Phys. 34, pages 6584–6589, 1993.[4] K. Ooi, S. Hara <strong>and</strong> K. Koyama. Computer-Aided Design Softwarefor Design<strong>in</strong>g Phase-Shift Masks. In Jpn J. of App. Phys. 32, pages5887–5891, 1993.155[5] P. Berman, A.B. Kahng, S. Mantik, I.L. Markov <strong>and</strong> A. Zelikovsky.Optimal Phase Conflict Removal for Layout of Dark Field Alternat<strong>in</strong>gPhase Shift<strong>in</strong>g Masks.. In IEEE TCAD (9), pages 1265–1278, 1999.[6] A.B. Kahng, S. Vaya <strong>and</strong> A. Zelikovsky. New Graph Bipartizationsfor Double-Exposure, Bright Field Alternat<strong>in</strong>g Phase-Shift Mask Layout.In ASP-DAC, pages 133–138, 2001.[7] C. Pierrat, F.A. Driessen <strong>and</strong> G. V<strong>and</strong>enberghe. Full <strong>phase</strong>-shift<strong>in</strong>gmethodology for 65 nm node lithography. In SPIE (5040), pages 282–293, 2003.[8] K. Ooi, K. Koyama <strong>and</strong> M. Kiryu. Method of Design<strong>in</strong>g Phase-Shift<strong>in</strong>g Masks Utiliz<strong>in</strong>g a Compactor. In Jpn J. of App. Phys. 32,pages 6774–6778, 1994.[9] A. Moniwa, T. Terasawa, K. Nakajo, J. Sakemi <strong>and</strong> S. Okazaki.Heuristic Method for Phase-Conflict M<strong>in</strong>imization <strong>in</strong> AutomaticPhase- Shift Mask Design. In Jpn J. of App. Phys. 34, pages 6584–6589, 1995.[10] K. Cao, J. Hu <strong>and</strong> M. Cheng. Layout modification for library cellAlt-PSM composability. In SPIE, 2004.[11] W.J. Cook, W.H. Cunn<strong>in</strong>gham, W.R. Pulleyblank <strong>and</strong> A. Shrijver.Comb<strong>in</strong>atorial Optimization. Willey Inter-Science, New York, 1998.[12] W. Cook <strong>and</strong> A. Rohe. Comput<strong>in</strong>g M<strong>in</strong>imum-Weight Perfect Match<strong>in</strong>gs. August , 1998.http://www.or.unibonn.de/home/rohe/match<strong>in</strong>g.html.[13] P. Ghosh, C. Kang, M. Sanie <strong>and</strong> J. Huckabay. PsmL<strong>in</strong>t: Br<strong>in</strong>g<strong>in</strong>gAltpsm benefits to the IC design stage. In SPIE (5042), pages 314–325, 2003.APPENDIXTheorem 1 A layout is <strong>phase</strong>-assignable if <strong>and</strong> only if the correspond<strong>in</strong>gCCG has no <strong>conflict</strong> cycles.Proof: () Assume Ä is <strong>phase</strong>-assignable. Let all the edge shifter nodesbe colored with the same <strong>phase</strong>s as the shifters <strong>in</strong> Ä. It is true that the nodecolor<strong>in</strong>gs of satisfy the follow<strong>in</strong>g two conditions: nodes connected by afeature edge have different colors <strong>and</strong> nodes connected by a <strong>conflict</strong> edgehave the same color. Let us assume further that there exists a <strong>conflict</strong>cycle <strong>and</strong> let Ò ½Ò ¾Ò Ò ½ beaclosedwalkalong. By thedef<strong>in</strong>ition of a <strong>conflict</strong> cycle, there are an odd number of feature edges <strong>in</strong>


. Hence, start<strong>in</strong>g from Ò ½, the node <strong>phase</strong>s will flip an odd number oftimes <strong>in</strong> . Therefore, the node Ò ½ will be assigned two different <strong>phase</strong>s,which is impossible. Hence our assumption that , whose correspond<strong>in</strong>glayout Ä is <strong>phase</strong>-assignable, has a <strong>conflict</strong> cycle is wrong.()Assume does not conta<strong>in</strong> any <strong>conflict</strong> cycles. WLOG, assume is connected (if is not connected, the proof can be done for each of connectedcomponents of ). Assume further that Ä is not <strong>phase</strong>-assignable.Then, there exists at least two shifters × ½ <strong>and</strong> × ¾ that do not satisfy theconditions for <strong>phase</strong> assignment. Let Ò ½ <strong>and</strong> Ò ¾ be the edge shifter nodescorrespond<strong>in</strong>g to × ½ <strong>and</strong> × ¾, respectively. Let the edge connect<strong>in</strong>g them bedenoted as . Let be a cycle that conta<strong>in</strong>s <strong>and</strong> let Ò ¼ be an <strong>in</strong>termediatenode <strong>in</strong> (any node other than Ò ½ <strong>and</strong> Ò ¾).There are two possible cases:1. Shifters × ½ <strong>and</strong> × ¾ are on opposite sides of a critical feature <strong>and</strong> havesame color: S<strong>in</strong>ce the <strong>phase</strong>s are only changed across feature edges,if Ò ½ has the same <strong>phase</strong> as Ò ¼, then there must be an even numberof feature edges from Ò ¼ to Ò ½. By assumption, Ò ¾ has the same<strong>phase</strong> as Ò ½, <strong>and</strong> hence as Ò ¼, Thus, there must be an even numberof feature edges from Ò ¼ to Ò ¾. Then, must conta<strong>in</strong> an odd numberof feature edges <strong>and</strong> hence is a <strong>conflict</strong> cycle.2. Overlapp<strong>in</strong>g shifters × ½ <strong>and</strong> × ¾ have different colors: If Ò ½ <strong>and</strong> Ò ¼have the same <strong>phase</strong>, then there must be an even number of featureedges on the path from Ò ½ to Ò ¼. By assumption, Ò ¾ has an opposite<strong>phase</strong> from Ò ½ <strong>and</strong> hence an opposite <strong>phase</strong> from Ò ¼. Thus, the pathfrom Ò ¼ to Ò ¾ must have an odd number of feature edges. Hence must conta<strong>in</strong> an odd number of feature edges <strong>and</strong> hence is a<strong>conflict</strong> cycle.This contradicts our <strong>in</strong>itial assumption that has no <strong>conflict</strong> cycles.Hence, our assumption that Ä is not <strong>phase</strong>-assignable is wrong. ÙØDef<strong>in</strong>ition 4 Two faces are neighbor<strong>in</strong>g faces if they share at least onecommon edge.Def<strong>in</strong>ition 5 Two neighbor<strong>in</strong>g faces can form a merged face by delet<strong>in</strong>gat least one common edge.Lemma 1 The parity of the number of feature edges of the merged face oftwo neighbor<strong>in</strong>g faces is equal to the parity of the sum of the numbers offeature edges of two faces.Proof: Let the two faces have Ñ ½ <strong>and</strong> Ñ ¾ feature edges <strong>and</strong> they share Ñ ¿feature edges. Then the merged face has Ñ ½ · Ñ ¾ ¾Ñ ¿ feature edges,which has the same parity as Ñ ½ · Ñ ¾.ÙØLemma 2 A planar embedded graph has no <strong>conflict</strong> cycles if <strong>and</strong> onlyif all faces are legal.Proof: For a planar embedded graph, any cycle is the result of merg<strong>in</strong>gÒ faces. If all faces are legal, we know that the number of feature edges<strong>in</strong> the merged face is even from Lemma 1. Therefore, by def<strong>in</strong>ition, thegraph has no <strong>conflict</strong> cycles. It is obvious that if the orig<strong>in</strong>al graph has no<strong>conflict</strong> cycles, then every face is legal (by def<strong>in</strong>ition).ÙØFigure 8. Delet<strong>in</strong>g all common edges (<strong>in</strong> this case,only one) results <strong>in</strong> a merged face.Theorem 2 Remov<strong>in</strong>g an odd number of edges from every <strong>conflict</strong> face<strong>and</strong> an even number of edges from every legal face will generate a graphwith no <strong>conflict</strong> cycles.Proof: Assume that an odd number of edges are removed from all <strong>conflict</strong>faces <strong>and</strong> an even number of edges are removed from every legal face of156. As shown <strong>in</strong> Figure 8, the deletion of one or more common edgesresults <strong>in</strong> the creation of a merged face. Let ¼ be the graph obta<strong>in</strong>ed afterthe edge deletion. Any faceË<strong>in</strong> ¼must be the result of merg<strong>in</strong>g a set Ë offaces <strong>in</strong> . LetË Ë ½ ˾,whereË ½ is the set of all <strong>conflict</strong> faces <strong>in</strong> Ë<strong>and</strong> Ë ¾ is the set of all legal faces <strong>in</strong> Ë. The sum of the numbers of deletededges of all the faces <strong>in</strong> Ë must be even, s<strong>in</strong>ce any deleted edge belongs totwo faces of Ë <strong>and</strong> is counted twice. The sum of the numbers of deletededges of all the faces <strong>in</strong> Ë ¾ is even s<strong>in</strong>ce an even number of edges areremoved from any legal face. Hence, the sum of the numbers of deletededges of all the faces <strong>in</strong> Ë ½ should also be even. S<strong>in</strong>ce an odd number ofedges are removed from any <strong>conflict</strong> face, the number of faces <strong>in</strong> Ë ½ mustbe even. Thus, the sum of the numbers of feature edges of all the faces<strong>in</strong> Ë ½ is even. It is obvious that the sum of the numbers of feature edgesof all the faces <strong>in</strong> Ë ¾ is even s<strong>in</strong>ce every legal face has an even number offeature edges. Therefore, the sum of the numbers of feature edges of allthe faces <strong>in</strong> Ë is even. By Lemma 1, the number of feature edges of themerged face is also even. So the merged face is legal. This is true of anyface <strong>in</strong> ¼ . Thus, ¼ has no <strong>conflict</strong> cycles (Lemma 2). ÙØTheorem 3 The T-jo<strong>in</strong> problem for a graph ´Î Û Ìµ,where Ì denotes the set of all <strong>conflict</strong> nodes <strong>in</strong> Î , can be reducedto a m<strong>in</strong>imum-weighted perfect match<strong>in</strong>g on the gadget graph ´Î ¼ ¼ Û ¼ µ, constructed us<strong>in</strong>g Algorithm Construct Gadget.Proof: () Mapp<strong>in</strong>g perfect match<strong>in</strong>g solution of the gadget graph to avalid solution of the T-jo<strong>in</strong> problem on : For any node Ú ¾ whosegadget is Ú,1. If Ø Ú is matched with<strong>in</strong> Ú, ¾ Ë;2. If Ø Ú is not matched with<strong>in</strong> Ú,then ¾ Ë;3. If Ú is matched with<strong>in</strong> Ú,then ¾ Ë;4. If Ú is not matched with<strong>in</strong> Ú,then ¾ Ë;The set Ë thus constructed is a valid solution to the T-jo<strong>in</strong> problem. Assume ghost nodes are matched with<strong>in</strong> Ú, ghost nodes are not matchedwith Ú, true nodes are matched with<strong>in</strong> Ú <strong>and</strong> true nodes are notmatched with<strong>in</strong> Ú. In any perfect match<strong>in</strong>g solution, the number of nodesmatched with<strong>in</strong> Ú, ´ · µ, is even. The parity of ´ · µ is the sameas the parity of ´ · · · µ, whose parity is the same as the parity of´·µ. Here, ´·µ is the number of edges ¾ Ë <strong>and</strong> ´·µ is the numberof ghost nodes <strong>in</strong> Ú. For <strong>conflict</strong> nodes, we require that the parity of thenumber of ghost nodes <strong>in</strong> Ú, ´·µ, to be different from the parity of thenode degree. Therefore, the parity of the number of edges ¾ Ë, ´ · µ,is also different from the parity of the node degree. Hence, the number ofedges ¾ Ë is odd for a <strong>conflict</strong> node. Similarly, it can be shown that forlegal node, the number of edges ¾ Ë is even. Therefore, the solution Ë isa valid solution of the T-jo<strong>in</strong> problem.() Mapp<strong>in</strong>g a solution Ë of the T-jo<strong>in</strong> problem to a solution of theperfect match<strong>in</strong>g problem of can be done as follows: For any node Ú <strong>in</strong>the dual graph , divide the edges connect<strong>in</strong>g node Ú <strong>in</strong>to four sets:¯ Ë ½ Ú ¾ Ú <strong>and</strong> ¾ ˯ Ë ¾ Ú ¾ Ú <strong>and</strong> ¾ ˯ Ë ¿ Ø Ú ¾ Ú <strong>and</strong> ¾ ˯ Ë Ø Ú ¾ Ú <strong>and</strong> ¾ ËLet the card<strong>in</strong>ality of Ë ½, Ë ¾, Ë ¿ <strong>and</strong> Ë be , , <strong>and</strong> , respectively.The ghost nodes <strong>and</strong> the true nodes are matched with<strong>in</strong> Ú <strong>and</strong> therema<strong>in</strong><strong>in</strong>g nodes are matched outside Ú. S<strong>in</strong>ce Ë is a valid solution ofthe T-jo<strong>in</strong> problem, the parity of ´ · µ is the same as the parity of thenumber of ghost nodes ´·µ (by construction). Thus, ´´·µ·´·µµ ´ · µ·¾ is even. Hence, ´ · µ is even, which is the number of nodesto be matched with<strong>in</strong> Ú. This is always possible s<strong>in</strong>ce Ú is a completegraph.ÙØ

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!