220 likes | 370 Views
A Polynomial Time Exact Algorithm for Self-Aligned Double Patterning Layout Decomposition. Z. Xiao, Y. Du, H. Zhang and M. D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign. ISPD 2012. Outline. Introduction Preliminaries
E N D
A Polynomial Time Exact Algorithm for Self-Aligned Double Patterning Layout Decomposition Z. Xiao, Y. Du, H. Zhang and M. D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign ISPD 2012
Outline • Introduction • Preliminaries • A polynomial-time exact algorithm for SADP decomposition • Experimental results • Conclusion
Introduction • Double patterning lithography (DPL) has become more and more important for the current sub-32nm nodes. • LELE (litho-etch-litho-etch) splits the intended patterns into two exposures. It suffers from the inevitable overlay problem during the process. • The features printed between two masks may be misaligned.
Introduction • SADP (Self-aligned double patterning) is a promising alternative double patterning lithography that can significantly avoid overlay. • As a DPL, it also contains two mask steps, namely core mask and trim mask. • The problem of generating the core and trim mask from a 2D designed layout is called SADP decomposition.
Preliminaries • Overlay in SADP Process • Overlay control in SADP is achieved by providing sidewall protection to feature boundaries. • The sidewall must have thickness ws >= 2w0 to fully tolerate the overlay.
Preliminaries • Process Rules • The width of a core pattern is at least wc. • The width of a trim pattern is at least wt. • The distance between core patterns is at least dc. • The distance between trim patterns is at least dt. • The width of sidewall is ws. • The trim overlay is w0. • wc and wt are usually the same, we refer them as wmin. • dc and dt are usually the same, we refer them as dmin. • ws >= 2w0
Auxiliary Cores • Auxiliary Cores • An auxiliary core is a core pattern that is placed outside of a feature to generate parts of sidewall required for the feature. • We call a core pattern as a main core when it is placed at the same location as a feature and generate the sidewall directly. • Sometimes we cannot use main cores due to the process rules. An alternative way is to use auxiliary cores.
Auxiliary Cores • Alternative layout decompositions
A graph formulation for SADP decomposition • A graph formulation for SADP decomposition • dmin = wmin = 40nm and ws = 30nm. • The distance between the two features is 35nm. • The sidewall generated by the left feature cannot touch the right feature since ws = 30nm. • The right feature will be widened 5nm.
A graph formulation for SADP decomposition • Given two features, to decompose the layout, we have the following cases depending on the value of d: • If d >= 2ws + wmin, the features are far away from each other. Either method can produce the features. • If wmin <= d < 2ws + wmin, we cannot use aux-method for both features. But we can still use core-method for each feature. • If ws < d < wmin, this layout cannot be decomposed. • If d = ws, we can use core-method for one feature while use aux-method for another. • If d < ws, this layout cannot be decomposed.
A graph formulation for SADP decomposition • Given a layout that consists of a set of target features, we construct Gs = (V, E) as follows: • For each feature in the layout, include a vertex in V. • If the distance d between two features u and v is exactly ws, insert an edge e = (u, v) in E. If d < ws or ws < d < wmin, the layout is not decomposable.
A polynomial-time exact algorithm for SADP decomposition • The ring of core may interact with other cores and features.
A polynomial-time exact algorithm for SADP decomposition • Two two-coloring solutions for each component.
A polynomial-time exact algorithm for SADP decomposition • Combine the decompositions and form a complete final decomposition. • Two decompositions from two different components are compatible if they can be merged as a consistent overlay-free decomposition. Otherwise, they are incompatible. • Include exactly one decomposition from each component to form a final decomposition and all decompositions selected are mutually compatible.
A polynomial-time exact algorithm for SADP decomposition • Given decompositions of all components of Gs, the final decomposition can be found in polynomial-time. • Assume that there are k components in Gs, each with at most two decompositions. • Construct a boolean formula f. • For component i, denote its two decompositions as and • If xi does not exist, include it in f as a disjunction. • Disjunct a clause (xiΛ xj) in f if xi is incompatible with xj where i≠j.
A polynomial-time exact algorithm for SADP decomposition • Let g = . • g is in 2-conjunctive normal form. • g is satisfiable if and only if there exists a final decomposition we want. • 2SAT problem can be solved in polynomial time.
Conclusion • This paper proposed a graph formulation that correctly models the SADP problem. • They proposed the first polynomial-time exact algorithm that solves the SADP problem.