This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Scalable Multiple Patterning Layout Decomposition Implemented by a Distribution Evolutionary Algorithm 111This work was supported in part by the National Key R& D Program of China (2021ZD0114600).

Abstract

As the feature size of semiconductor technology shrinks to 10 nm and beyond, the multiple patterning lithography (MPL) attracts more attention from the industry. In this paper, we model the layout decomposition of MPL as a generalized graph coloring problem, which is addressed by a distribution evolutionary algorithm based on a population of probabilistic model (DEA-PPM). DEA-PPM can strike a balance between decomposition results and running time, being scalable for varied settings of mask number and lithography resolution. Due to its robustness of decomposition results, this could be an alternative technique for multiple patterning layout decomposition in next-generation technology nodes.

keywords:
multiple patterning lithography , layout decomposition , distribution evolutionary algorithm
journal:

1 Introduction

Multiple patterning lithography (MPL) improves the resolution limit of existing lithography technologies, which could then meet the challenge of further decrease of feature size for the next-generation technology nodes [1]. Given a layout specified by features in polygonal shapes, a layout graph (LG) is an undirected graph whose nodes are the given layout’s features and where an edge exists if and only if two polygonal shapes are beyond the lithography resolution limit [2]. Multiple patterning layout decomposition (MPLD) partitions a layout into several sections (masks), which is then modelled as a graph coloring problem (GCP).

The GCP can be generally formulated as an integer optimization problem, and a variety of integer linear programming (ILP) methods have been developed to address the MPLD problem [3, 4, 5, 6]. Since the GCP is NP-complete, the ILP methods cannot decompose large-scale layouts efficiently, and it was relaxed to a semidefinite programming (SDP) [7] problem or a linear programming (LP) problem [8]. Although the SDP and LP methods leads to scalability of MPLD to large-scale cases, additional repair processes are needed to get the feasible solutions of GCP, and the relaxation would mathematically lead to solutions different from those of the original MPLD problem. Accordinly, the MPLD problem was also addressed by heuristics [9, 10, 11, 12, 13], and some layout decomposition works based on hybrid lithography have been investigated [14, 15].

According to the number of colors (masks), MPLD problems can be categorized as the double pattering layout decomposition (DPLD) problem [16, 17, 18, 19, 20], the triple pattering layout decomposition (TPLD) problem [21, 22, 23, 24, 25, 26, 27] and the quadruple pattering layout decomposition (QPLD) problem [28], etc. Because the uncolorable modules for varied settings of color number contain different connection topologies, most of the algorithms for MPLD problems are not scalable for varied settings of color number. Yu and Pan [28] proposed an SDP model for QPLD, where extra color assignment strategies are introduced, and the proposed algorithm could be applicable to a kk patterning layout decomposition problem with k4k\geq 4. Lin et al, [29] proposed a new and effective algorithm for TPLD and QPLD. By utilizing the features in the polyhedron space of the feasible set, the ILP formulation is approximated by the LP relaxation. Jiang and Chang [30] modelled the MPLD problem as an exact cover problem to construct a fast and exact MPLD framework based on augmented dancing links, which can consider the basic and complex coloring rules simultaneously, can maintain density balancing, and can handle quadruple patterning and beyond.

Recently, Li et al. [31, 32] proposed an open source layout decomposer named as the OpenMPL, where a general framework of MPLD is developed for varied settings of mask number and several alternative optimization schemes including the ILP and the SDP. Although OpenMPL incorporates several simplification strategies of the layout graph, the ILP algorithm still suffers from high computational complexity and the solution of SDP is of low quality as usual. In order to develop a scalable MPLD framework that strikes a good balance between the running time and the solution quality, we propose to address it via a distribution evolutionary algorithm based on a population of probability distribution (DEA-PPM) [33], which is based on a novel probability model updated by an orthogonal transformation and a gradual renewal strategy of the distribution model. Meanwhile, the solution space is exploited by deploying a related solution population refined by a tabu search (TS). As a result, the DEA-PPM relying on small populations is expected to achieve robust results on varied settings of the MPLD problem.

The remainder of this paper is organized as follows. Section 2 briefly introduces the framework of OpenMPL. In Section 3, the details of DEA-PPM are presented, and Section 4 verifies the competitiveness of DEA-PPM by experimental results. Finally, we conclude the work in Section 5.

2 Multiple Patterning Layout Decomposition based on the OpenMPL

2.1 The Multiple Patterning Layout Decomposition Problem

To address the MPLD problem,the layout is represented by a decomposition graph (DG) consisting of a set of nodes VV and two sets of edges, CECE and SESE, which contain the conflicting edges and stitch edges, respectively [34]. Accordingly, the goal of MPLD is to assign nodes of VV with kk colors, trying to achieve a nice trade-off between the numbers of conflict and stitch, respectively defined by

cuv={1if (u,v)CE,0otherwise,c_{uv}=\begin{cases}&\text{1}\quad\mbox{if }(u,v)\in CE,\\ &\text{0}\quad\mbox{otherwise,}\end{cases} (1)

and

suv={1if (u,v)SE,0otherwise.s_{uv}=\begin{cases}&\text{1}\quad\mbox{if }(u,v)\in SE,\\ &\text{0}\quad\mbox{otherwise.}\end{cases} (2)

Then, minimization of conflicts and stitches can be formulated as

minf(𝐱)=(u,v)CEcuv+α×(u,v)SEsuv,min\quad f(\mathbf{x})=\sum_{\left(u,v\right)\in CE}c_{uv}+\alpha\times\sum_{\left(u,v\right)\in SE}s_{uv}, (3)

where α\alpha is the weight parameter, set as 0.10.1 in this paper [32]. For cases k=2,3,4k=2,3,4, problem (3) corresponds to the DPLD problem, the TPLD problem and the QPLD problem, respectively.

2.2 Framework of the OpenMPL

As presented in OpenMPL [31, 32], the work flow of MPLD starts with generation of the decompositon graph GG. Then, size of graph GG is reduced by the graph simplification operations, and candidate stitches are inserted to get a modified conflicting graph GG^{\prime}. Before addressing the layout decomposition, GG^{\prime} is further simplified to a reduced graph G′′G^{\prime\prime}. Establishing an optimization model for G′′G^{\prime\prime}, one can employ a selected optimization algorithm to get the colored graph G′′G^{\prime\prime}. At last, the decomposition result of layout can be obtained by recovering the coloring result of G′′G^{\prime\prime} to that of the original conflicting graph GG. Details of the framework of OpenMPL are referred to [31, 32].

OpenMPL incorporates an ILP approach, an SDP approach and a flexible exact cover-based approach as three alternative routines of MPLD. To improve the efficiency of layout decomposition, we proposed to address it by a distribution evolutionary algorithm based on a population of probability models (DEA-PPM) [33], and get the work flow of layout decomposition illustrated in Fig. 1.

Refer to caption
Figure 1: The workflow of layout decomposition based on the OpenMPL.

3 A Distribution Evolutionary Algorithm Based on a Population of Probability Model

3.1 The framework of DEA-PPM

Input: G=(V,E)G=(V,E), color number kk
Output: 𝐱G\mathbf{x}^{*}_{G}
1
2initialize 𝐐(0)\mathbf{Q}(0);
3 sample 𝐐(0)\mathbf{Q}(0) to generate 𝐏(0)\mathbf{P}(0); //* uinform initialization /*/
4
5denote the optimal solution in 𝐏(0)\mathbf{P}(0) as 𝐱G\mathbf{x}^{*}_{G};
6 𝐩1=𝐱G\mathbf{p}_{1}=\mathbf{x}^{*}_{G}, 𝐩2=𝐱G\mathbf{p}_{2}=\mathbf{x}^{*}_{G};
7 t1t\leftarrow 1;
8
9while termination-condition 1 is not satisfied do
10       𝐐(t)=OrthExpQ(𝐐(t1),𝐏(t1))\mathbf{Q}^{\prime}(t)=OrthExpQ(\mathbf{Q}(t-1),\mathbf{P}(t-1)); //* orthogonal exploration /*/
11       𝐏(t)=SampleP(𝐐(t),𝐏(t1)\mathbf{P}^{\prime}(t)=SampleP(\mathbf{Q}^{\prime}(t),\mathbf{P}(t-1); //* sampling with inheritance /*/
12       (𝐏(t),𝐩1,𝐩2,𝐱G)=RefineP(𝐏(t),𝐩1,𝐩2,𝐱G)(\mathbf{P}(t),\mathbf{p}_{1},\mathbf{p}_{2},\mathbf{x}^{*}_{G})=RefineP(\mathbf{P}^{\prime}(t),\mathbf{p}_{1},\mathbf{p}_{2},\mathbf{x}^{*}_{G});
13       //* refinement of the solution population /*/
14      
15      𝐐(t)=RefineQ(𝐏(t),𝐏(t),𝐐(t))\mathbf{Q}(t)=RefineQ(\mathbf{P}^{\prime}(t),\mathbf{P}(t),\mathbf{Q}^{\prime}(t)); //* refinement of the distribution population /*/
16       tt+1t\leftarrow t+1;
17      
18 end while
19
Algorithm 1 The framework of DEA-PPM

The framework of DEA-PPM for GCPs is presented in Algorithm 1 [33]. It is implemented based on a distribution population 𝐐(t)=(𝐪[1](t),,𝐪[np](t))\mathbf{Q}(t)=(\mathbf{q}^{[1]}(t),\dots,\mathbf{q}^{[np]}(t)) and a solution population 𝐏(t)=(𝐱[1](t),,𝐱[np](t))\mathbf{P}(t)=(\mathbf{x}^{[1]}(t),\dots,\mathbf{x}^{[np]}(t)), where 𝐱[i](t)\mathbf{x}^{[i]}(t) corresponds to 𝐪[i](t)\mathbf{q}^{[i]}(t) one by one for all i{1,,np}i\in\{1,\dots,np\}. For kk-colroing of a decompostion graph GG, DEA-PPM first initializes the distribution population 𝐐(0)\mathbf{Q}(0) and the solution population 𝐏(0)\mathbf{P}(0), and color GG by the iterative loop illustrated by Lines 6-12 of Algorithm 1.

The iterative loop attempts to obtain the optimal kk-coloring assignment of GG by simultaneously evolving the distribution population 𝐐(t)\mathbf{Q}(t) and the solution population 𝐏(t)\mathbf{P}(t). In order to obtain the enhanced global exploration, it first performs orthogonal exploration on 𝐐(t)\mathbf{Q}(t) to obtain 𝐐(t)\mathbf{Q}^{\prime}(t). Then, it generates an intermediate solution population 𝐏(t)\mathbf{P}^{\prime}(t) and performs a refinement process on 𝐏(t)\mathbf{P}^{\prime}(t) to obtain 𝐏(t+1)\mathbf{P}(t+1).

Additionally, 𝐐(t)\mathbf{Q}^{\prime}(t) is refined to obtain 𝐐(t+1)\mathbf{Q}(t+1), and the contents of the loop body are repeatedly executed, updating 𝐱G\mathbf{x}^{*}_{G} until termination condition 1 is met. While numbers of conflicts and stitches are optimized to zero or the maximum number of iterations is reached, the iteration process is ceased and it outputs the corresponding kk-coloring assignment of GG. Details of the DEA-PPM is referred to Ref. [33].

3.2 Refinement of the solution population

Because the MPLD problem minimizes the number of stitches as well as that of the conflicts, model (3) of MPLD is slightly different with that of the GCP. Accordingly, the refinement process of DEA-PPM, presented in Algorithm 2 is slightly modified to accommodate the MPLD problem well.

1
Input: 𝐏,𝐩1,𝐩2,𝐱G\mathbf{P},\mathbf{p}_{1},\mathbf{p}_{2},\mathbf{x}^{*}_{G}
Output: 𝐏,𝐩1,𝐩2,𝐱G\mathbf{P},\mathbf{p}_{1},\mathbf{p}_{2},\mathbf{x}^{*}_{G}
2 iter0iter\leftarrow 0, iter_stag0iter\_stag\leftarrow 0;
3 𝐜1=𝐱G\mathbf{c}_{1}=\mathbf{x}^{*}_{G^{\prime}};
4 w20w_{2}\leftarrow 0
5while iter_stag<6iter\_stag<6 do
6       𝐏=MGPX(𝐏,𝐩1,𝐩2)\mathbf{P}^{\prime}=MGPX(\mathbf{P},\mathbf{p}_{1},\mathbf{p}_{2});
7       𝐏=Tabu(𝐏)\mathbf{P}^{\prime}=Tabu(\mathbf{P}^{\prime});
8       record the best solution in 𝐏\mathbf{P}^{\prime} as 𝐛\mathbf{b};
9       if f(𝐛)<f(𝐩1)f(\mathbf{b})<f(\mathbf{p}_{1}) then
10             w2=1w_{2}=1;
11             iter_stag=0iter\_stag=0;
12             𝐜1=𝐩1,𝐩1=𝐛\mathbf{c}_{1}=\mathbf{p}_{1},\mathbf{p}_{1}=\mathbf{b};
13      else
14            iter_stag=iter_stag+1iter\_stag=iter\_stag+1;
15       end if
16      
17      if f(𝐛)<f(𝐱G)f(\mathbf{b})<f(\mathbf{x}^{*}_{G^{\prime}}) then
18            𝐱G=𝐛\mathbf{x}^{*}_{G^{\prime}}=\mathbf{b};
19            
20       end if
21      
22      if mod(iter,3)==0&&w2==1mod(iter,3)==0\&\&w_{2}==1 then
23            𝐩2=𝐜1\mathbf{p}_{2}=\mathbf{c}_{1};
24             w2=0w_{2}=0;
25            
26       end if
27      𝐏=𝐏\mathbf{P}=\mathbf{P}^{\prime};
28       iter=iter+1iter=iter+1;
29      
30 end while
31𝐏=Tabu(𝐏)\mathbf{P}^{\prime}=Tabu(\mathbf{P});
32 𝐩1=𝐛\mathbf{p}_{1}=\mathbf{b};
Algorithm 2 RefineP(𝐏,𝐩1,𝐩2,𝐱G)RefineP(\mathbf{P},\mathbf{p}_{1},\mathbf{p}_{2},\mathbf{x}^{*}_{G})

As presented in Algorithm 2, the iteration budget of while loop is set as 66 in this research. Each iteration of the while loop starts with a multi-parent greedy partition crossover (MGPX) and a tailored tabu search (TS), and ends with update of the solutions 𝐩1\mathbf{p}_{1}, 𝐩2\mathbf{p}_{2} and 𝐱G\mathbf{x}^{*}_{G}. The MGPX is referred to Ref. [33], and the TS process is presented in Algorithm 3. The TS process for all 𝐱𝐏\mathbf{x}\in\mathbf{P} starts with initialization of the tabu list 𝐓\mathbf{T}, which is a k×nk\times n matrix where element TjvT_{jv} represents the tabu level of coloring vertex vv with color jj. Then, an iterative process is performed to improve the quality of 𝐱\mathbf{x} and to update the tabu list 𝐓\mathbf{T}.

Input: 𝐏\mathbf{P}
Output: 𝐏\mathbf{P}
1 for 𝐱𝐏\mathbf{x}\in\mathbf{P} do
2       count0count\leftarrow 0;
3       𝐲=𝐱\mathbf{y}=\mathbf{x};
4       initialize the tabu list 𝐓\mathbf{T} to a k×nk\times n zero matrix;
5       while termination-condition 2 is not satisfied do
6             choose the best legal mutation <v,i,j><v,i,j>;
7             perform the <v,i,j><v,i,j> in 𝐲\mathbf{y};
8             Update TjvT_{jv} of the tabu list 𝐓\mathbf{T};
9             if f(𝐲)<f(𝐱)f(\mathbf{y})<f(\mathbf{x}) then
10                  𝐱=𝐲\mathbf{x}=\mathbf{y};
11             end if
12            count=count+1count=count+1;
13            
14       end while
15      
16 end for
Algorithm 3 Tabu(𝐏)Tabu(\mathbf{P})

Improvement of a solution 𝐱\mathbf{x} is achieved by the promising mutations that generate promising solutions. For a vertex vv assigned with color ii, a random mutation <v,i,j><v,i,j> (jij\neq i) is performed to assign vv with color jj. While <v,i,j><v,i,j> is not forbidden by the tabu list 𝐓\mathbf{T}, it generates a candidate solution that would replace the coloring scheme 𝐱\mathbf{x}. To get solutions improved as far as possible, the best promising mutation that contributes to the smallest numbers of conflicts and stitches is employed to generate the promising solution 𝐲\mathbf{y}, by which the present solution 𝐱\mathbf{x} is updated if f(𝐲)<f(𝐱)f(\mathbf{y})<f(\mathbf{x}).

A random mutation <v,i,j><v,i,j> is forbidden by the tabu list if the iteration number countcount is less than TjvT_{jv}. If a solution 𝐲\mathbf{y} is generated by implementing <v,i,j><v,i,j>, the corresponding element of TT is updated by

Tj,v=count+0.6(10yc+ys)+r,T_{j,v}=count+0.6*(10*y_{c}+y_{s})+r,

where countcount is the iteration number of TS, ycy_{c} is the number of conflicts in 𝐲\mathbf{y}, ysy_{s} is the number of stitches in 𝐲\mathbf{y}, and rr is an integer randomly sampled in {1,,10}\{1,\dots,10\}.

The iteration of TS is repeated until termination condition 2 is satisfied, that is, a solution without stitches and conflicts is obtained or the number of iterations reaches the iteration budget 5|V|5*|V|.

4 Experimental Results

Competitiveness of the proposed MPLD algorithm is validated by result comparison for the ISCAS benchmark problems. The OpenMPL decomposer is implemented by C++ on a laptop equipped with Intel Core 1.10 GHz CPU and a virtual Linux machine. By testing the performance of DEA-PPM on the ISCAS benchmarks, we compare the results by the stitch numbers(‘st#’), the conflict numbers(‘cn#’), the cost values(‘cost’) and the CPU running times(‘time’) of ILP, SDP and DEA-PPM. Because DEA-PPM is a stochastic optimization algorithm, the reported results are average values of 10 independent runs, and we also investigate the standard deviations of results to demonstrate its robustness. The scalability of DEA-PPM is validated by varied settings of both the number of masks and the minimum coloring space mincsmin_{cs}. To perform a fair comparison, the OpenMPL decomposer is run in the single-thread mode. An illustration of the decomposition results is presented for DEA-PPM in Fig. 2.

Refer to caption
(a) The result of TPLD.
Refer to caption
(b) The result of QPLD.
Figure 2: Decomposition results of the layout benchmark C432 obtained by the DEA-PPM.

4.1 Comparison for the TPLD problem with mincs=120/100min_{cs}=120/100nm

As presented in [32], OpenMPL works well for TPLD of the ISCAS benchmarks, where the minimum coloring spacing mincsmin_{cs} is set as 120nm for the benchmarks C432-C7552 and 100nm for the benchmarks S1488-S15850. Then, we compare the decomposition results of DEA-PPM with those of the ILP and the SDP.

The decomposition results of three algorithms are presented in Tab. 1. For the small value of mincsmin_{cs}, vertexes of the decomposition graph would be incident to less edges. The results demonstrate that the proposed DEA-PPM, as a stochastic optimization algorithm, can always achieve the same results as ILP with less running time. Because the SDP method addresses a continuously relaxed problem of model (3), it runs faster than ILP and DEA-PPM, but cannot always converge to the global optimal solutions at all time. Consequently, the decomposition results obtained by the SDP method are generally the same as or worse than those of ILP and DEA-PPM.

It is surprising that the standard deviation of cost is zero, which shows that all independent runs of DEA-PPM converge to the global optimal solution of model (3). Furthermore, the standard deviations of running time are collected in Fig. 3. It is demonstrated that the standard deviation of running time is ignorable for most of the benchmark layouts, except that the standard deviations of running time are about a few seconds for the cases S35392, S38584 and S15850.

Table 1: Result comparison for the TPLD with mincs=120/100nmmin_{cs}=120/100nm
Circuit ILP SDP DEA-PPM
st# cn# cost time(s) st# cn# cost time(s) st# cn# cost time(s)
C432 4 0 0.4 0.38 4 0 0.4 0.09 4 0 0.4 0.30
C499 0 0 0 0.31 0 0 0 0.13 0 0 0 0.25
C880 7 0 0.7 0.52 7 0 0.7 0.14 7 0 0.7 0.46
C1355 3 0 0.3 1.16 3 0 0.3 0.17 3 0 0.3 0.59
C1908 1 0 0.1 0.6 1 0 0.1 0.28 1 0 0.1 0.52
C2670 6 0 0.6 1.29 6 0 0.6 0.51 6 0 0.6 0.60
C3540 8 1 1.8 2.31 8 1 1.8 0.82 8 1 1.8 1.59
C5315 9 0 0.9 2.02 9 0 0.9 1.49 9 0 0.9 1.84
C6288 205 1 21.5 12.57 203 7 27.3 4.32 205 1 21.5 10.48
C7552 23 0 2.3 6.97 23 0 2.3 1.38 23 0 2.3 3.27
S1488 2 0 0.2 0.58 2 0 0.2 0.31 2 0 0.2 0.42
S38417 54 19 24.4 17.62 46 27 31.6 9.31 54 19 24.4 16.13
S35932 40 44 48 43.49 20 64 66 27.5 40 44 48 32.18
S38584 116 36 47.6 41.37 105 48 58.5 28.37 116 36 47.6 35.83
S15850 97 34 43.7 35.53 83 48 56.3 22.62 97 34 43.7 33.68
Refer to caption
Figure 3: Standard deviations of running time for the TPLD problem with mincs=120/100nmmin_{cs}=120/100nm.

4.2 Comparison for the TPLD problem with mincs=160min_{cs}=160nm

To demonstrate the scalability of our proposed method for various lithography technologies, we investigate the TPLD of ISCAS benchmarks by setting the minimum coloring spacing mincs=160nmmin_{cs}=160nm. Because the lithography resolution is lower, there could be more conflicting edges in the layout graph, and more stitches would be inserted to get the decomposition graph colorable. Accordingly, the community structure of the decomposition graph could be fuzzier, and decomposition of the layouts is more challenging.

The experimental results collected in Table 2 show that DEA-PPM can deal well with the low-resolution TPLD problem. Compared with the ILP, DEA-PPM contributes to a decrease of more than one order of magnitude of the running time at the expense of a bit increase of the cost values. Meanwhile, the cost values optimized by DEA-PPM are much smaller than the results of SDP, while the running time of DEA-PPM is a bit greater that of SDP. The histograms illustrated in Fig. 4 show that the standard deviations of cost values are smaller than 33, and those of running time are not more than 1010 seconds. Accordingly, DEA-PPM is also robust when applied to address the TPLD problem with mincs=160nmmin_{cs}=160nm.

Table 2: Result comparison for the TPLD with mincs=160nmmin_{cs}=160nm
Circuit ILP SDP DEA-PPM
st# cn# cost time(s) st# cn# cost time(s) st# cn# cost time(s)
C432 17 76 77.7 113.02 19 80 81.9 5.29 17.1 76.9 78.61 6.92
C499 48 278 282.8 339.77 48 279 283.8 10.48 48 278.2 283 16.40
C880 123 103 115.3 244.9 113 115 126.3 9.26 122.4 103.7 115.94 12.06
C1355 116 114 125.6 356.94 109 122 132.9 21.59 118.3 113.9 125.73 17.26
C1908 109 150 160.9 136.82 100 162 172 12.18 106.2 150.7 161.32 16.95
C2670 369 354 390.9 3506.45 358 386 421.8 35.71 369.4 357.2 394.14 41.05
C3540 506 334 384.6 368.65 482 362 410.2 25.08 504 336.4 386.8 40.27
C5315 487 779 827.7 975.58 467 819 865.7 42.6 487 786.2 834.9 71.04
C6288 384 616 654.4 878.71 366 653 689.6 53.76 386.1 622.3 660.91 58.47
C7552 858 843 928.8 3376.73 808 933 1013.8 68.12 851.1 850.6 935.71 89.28
Refer to caption
(a) Standard deviations of cost values.
Refer to caption
(b) Standard deviations of running time.
Figure 4: Standard deviations of results obtained by the DEA-PPM for the TPLD problem with mincs=160nmmin_{cs}=160nm.

4.3 Comparison for the QPLD problem with mincs=200nmmin_{cs}=200nm

Besides varied settings of the lithography resolution, we further test the scalability of DEA-PPM by investigating the QPLD problem, where the minimum coloring spacing is set as 200nm200nm for 10 ISCAS benchmarks. The test results are listed in Table 3, and Fig. 5 illustrates the standard deviations of both cost values and running time for 10 independent runs. Since the ILP cannot address the C6288 benchmark in 1 hour, we denote the corresponding results by ‘-’.

The obtained cost values of DEA-PPM are generally better than that of SDP, and its running time is much shorter than that of ILP. It is surprising that compared with the ILP, DEA-PPM achieves better cost values on cases C432, C6288 and C7552 with much shorter running time. Although the running time of DEA-PPM is a bit longer than that of SDP, the obtained better cost values still demonstrate its competitiveness on the QPLD problem. Fig. 5 demonstrates that the standard deviations of cost value is about 0.50.5 for all 1010 benchmarks, and the running time varies with standard deviations less than 55 seconds for most benchmarks except for C3540.

Table 3: Result comparison for the QPLD with mincs=200nmmin_{cs}=200nm
Circuit ILP SDP DEA-PPM
st# cn# cost time(s) st# cn# cost time(s) st# cn# cost time(s)
C432 4 14 14.4 61.38 4 12 12.4 1.61 4 13.6 14 1.79
C499 29 7 9.9 123.71 29 8 10.9 8.14 28.9 7.1 9.99 4.72
C880 4 6 6.4 4.1 4 7 7.4 0.58 4 6.5 6.9 1.36
C1355 4 12 12.4 13.44 4 12 12.4 1.41 4 12 12.4 1.65
C1908 10 24 25 50.42 10 24 25 3.94 10 24 25 3.98
C2670 11 24 25.1 225.96 12 25 26.2 5.98 11 24 25.1 4.25
C3540 18 39 40.8 49.94 20 43 45 4.26 18 39 40.8 46.22
C5315 31 38 41.1 90.47 30 40 43 5.63 31 38 41.1 8.77
C6288 - - - - 10 299 300 18.32 8.3 297.9 298.73 31.09
C7552 38 60 63.8 706.97 36 61 64.6 7.66 38 59.1 62.9 11.48
Refer to caption
(a) Standard deviations of cost values.
Refer to caption
(b) Standard deviations of running time.
Figure 5: Standard deviations of results obtained by the DEA-PPM for the QPLD problem with mincs=200nmmin_{cs}=200nm.

5 Conclusion

To develop a scalable layout decomposition scheme adapted for a variety of lithography resolution with different number of masks, we proposed to model the huge-scale decomposition problem as an extended graph coloring problem, which is addressed by a distribution evolutionary algorithm based on a population of probability models (DEA-PPM).

Since the DEA-PPM employs a distribution evolution scheme assisted by the tabu search, it is scalable to varied settings of the MPL layout decomposition problem. Experimental results on ISCAS benchmarks demonstrate that DEA-PPM can strike a good balance between the optimization results and the running time. Despite that DEA-PPM is generally superior to ILP and inferior to SDP in terms of running time, it can obtain for some benchmarks both smaller cost values and less running time, which show that the proposed decomposition method is competitive to the existing decomposition schemes.

Despite the stochastic nature of DEA-PPM, its tailored search strategies leads to small standard deviations of decomposition results, which shows that the proposed method could be an alternative method for the MPLD of layout.

Acknowlegement

We thank Dr. Ning Li for his constructive suggestions to this work.

References

  • [1] Y. Ma, X. Zeng, B. Yu, Methodologies for layout decomposition and mask optimization: A systematic review, 2017 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC) (2017) 1–6.
  • [2] A. B. Kahng, C.-H. Park, X. Xu, H. Yao, Layout decomposition for double patterning lithography, in: 2008 IEEE/ACM International Conference on Computer-Aided Design, IEEE, 2008, pp. 465–472.
  • [3] B. Yu, K. Yuan, B. Zhang, D. Ding, D. Z. Pan, Layout decomposition for triple patterning lithography, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) (2011) 1–8.
  • [4] B. Yu, S. Roy, J.-R. Gao, D. Z. Pan, Triple patterning lithography layout decomposition using end-cutting, Journal of Micro/Nanolithography, MEMS, and MOEMS 14 (2014).
  • [5] M. Y. Lin, Y.-L. Li, K.-W. Lin, Color balancing aware double patterning, 2017 International Conference on Applied System Innovation (ICASI) (2017) 284–287.
  • [6] X. Li, Z. Zhu, W. xing Zhu, Discrete relaxation method for triple patterning lithography layout decomposition, IEEE Transactions on Computers 66 (2017) 285–298.
  • [7] B. Yu, Y.-H. Lin, G. Luk-Pat, D. Ding, K. Lucas, D. Z. Pan, A high-performance triple patterning layout decomposer with balanced density, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) (2013) 163–169.
  • [8] Y. Lin, X. Xu, B. Yu, R. Baldick, D. Z. Pan, Triple/quadruple patterning layout decomposition via linear programming and iterative rounding, Journal of Micro/Nanolithography, MEMS, and MOEMS 16 (2017).
  • [9] S.-Y. Fang, Y.-W. Chang, W.-Y. Chen, A novel layout decomposition algorithm for triple patterning lithography, DAC Design Automation Conference 2012 (2012) 1181–1186.
  • [10] J. Kuang, E. F. Y. Young, An efficient layout decomposition approach for triple patterning lithography, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC) (2013) 1–6.
  • [11] Y. Zhang, W.-S. Luk, Y. Yang, H. Zhou, C. Yan, D. Z. Pan, X. Zeng, Layout decomposition with pairwise coloring and adaptive multi-start for triple patterning lithography, ACM Transactions on Design Automation of Electronic Systems (TODAES) 21 (2015) 1 – 25.
  • [12] X. Ke, L. V. Wen, S. Liu, Ant colony algorithm for layout decomposition in double/multiple patterning lithography, 2015 China Semiconductor Technology International Conference (2015) 1–3.
  • [13] K.-J. Chen, S.-Y. Fang, Printability enhancement with color balancing for multiple patterning lithography, IEEE Transactions on Emerging Topics in Computing 7 (2019) 244–252.
  • [14] Y. Yang, W.-S. Luk, H. Zhou, C. Yan, X. Zeng, D. Zhou, Layout decomposition co-optimization for hybrid e-beam and multiple patterning lithography, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35 (2015) 1532–1545.
  • [15] X. Li, J. Li, H. Wu, Y.-C. Chen, Discrete relaxation method for hybrid e-beam and triple patterning lithography layout decomposition, Journal of Ambient Intelligence and Humanized Computing (2021) 1–11.
  • [16] K. Yuan, J.-S. Yang, D. Z. Pan, Double patterning layout decomposition for simultaneous conflict and stitch minimization, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 29 (2) (2010) 185–196. doi:10.1109/TCAD.2009.2035577.
  • [17] J.-S. Yang, K. Lu, M. Cho, K. Yuan, D. Z. Pan, A new graph-theoretic, multi-objective layout decomposition framework for double patterning lithography, in: 2010 15TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC 2010), Asia and South Pacific Design Automation Conference Proceedings, 2010, pp. 623+, 15th Asia and South Pacific Design Automation Conference, Taipei, TAIWAN, JAN 18-21, 2010.
  • [18] A. B. Kahng, C.-H. Park, X. Xu, H. Yao, Layout decomposition approaches for double patterning lithography, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 29 (6) (2010) 939–952. doi:10.1109/TCAD.2010.2048374.
  • [19] C.-H. Hsu, Y.-W. Chang, S. R. Nassif, Simultaneous layout migration and decomposition for double patterning technology, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 30 (2) (2011) 284–294. doi:10.1109/TCAD.2010.2079990.
  • [20] W. Zhao, H. Yao, Y. Cai, S. Sinha, C. Chiang, Fast and scalable parallel layout decomposition in double patterning lithography, INTEGRATION-THE VLSI JOURNAL 47 (2) (2014) 175–183. doi:10.1016/j.vlsi.2013.09.002.
  • [21] B. Yu, G. Garreton, D. Z. Pan, Layout compliance for triple patterning lithography: An iterative approach, in: P. Ackmann, N. Hayashi (Eds.), PHOTOMASK TECHNOLOGY 2014, Vol. 9235 of Proceedings of SPIE, SPIE; BACUS, 2014, conference on Photomask Technology, Monterey, CA, SEP 16-18, 2014. doi:10.1117/12.2066034.
  • [22] S.-Y. Fang, Y.-W. Chang, W.-Y. Chen, A novel layout decomposition algorithm for triple patterning lithography, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 33 (3) (2014) 397–408. doi:10.1109/TCAD.2013.2288678.
  • [23] B. Yu, S. Roy, J.-R. Gao, D. Z. Pan, Triple patterning lithography layout decomposition using end-cutting, JOURNAL OF MICRO-NANOLITHOGRAPHY MEMS AND MOEMS 14 (1) (JAN 2015). doi:10.1117/1.JMM.14.1.011002.
  • [24] B. Yu, K. Yuan, D. Ding, D. Z. Pan, Layout decomposition for triple patterning lithography, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 34 (3) (2015) 433–446. doi:10.1109/TCAD.2014.2387840.
  • [25] Y. Zhang, W.-S. Luk, Y. Yang, H. Zhou, C. Yan, D. Z. Pan, X. Zeng, Layout decomposition with pairwise coloring and adaptive multi-start for triple patterning lithography, ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS 21 (1) (NOV 2015). doi:10.1145/2764904.
  • [26] X. Ke, H. Jiang, W. Lv, S. Liu, Native conflict awared layout decomposition in triple patterning lithography using bin-based library matching method, in: A. Erdmann, J. Kye (Eds.), OPTICAL MICROLITHOGRAPHY XXIX, Vol. 9780 of Proceedings of SPIE, SPIE; Cymer, 2016, conference on Optical Microlithography XXIX, San Jose, CA, FEB 23-25, 2016. doi:10.1117/12.2219144.
  • [27] Y. Kohira, C. Kodama, T. Matsui, A. Takahashi, S. Nojima, S. Tanaka, Yield-aware mask assignment by positive semidefinite relaxation in triple patterning using cut process, JOURNAL OF MICRO-NANOLITHOGRAPHY MEMS AND MOEMS 15 (2) (APR 2016). doi:10.1117/1.JMM.15.2.021207.
  • [28] B. Yu, D. Z. Pan, Layout decomposition for quadruple patterning lithography and beyond, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC) (2014) 1–6.
  • [29] Y. Lin, X. Xu, B. Yu, R. Baldick, D. Z. Pan, Triple/quadruple patterning layout decomposition via linear programming and iterative rounding, JOURNAL OF MICRO-NANOLITHOGRAPHY MEMS AND MOEMS 16 (2) (APR 2017). doi:10.1117/1.JMM.16.2.023507.
  • [30] I. Hui-Ru, H.-Y. Chang, Multiple patterning layout decomposition considering complex coloring rules and density balancing, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 36 (12) (2017) 2080–2092. doi:10.1109/TCAD.2017.2681068.
  • [31] W. Li, Y. Ma, Q. Sun, Y. Lin, I. H.-R. Jiang, B. Yu, D. Z. Pan, Openmpl: An open source layout decomposer: Invited paper, 2019 IEEE 13th International Conference on ASIC (ASICON) (2019) 1–4.
  • [32] W. Li, Y. Ma, Q. Sun, L. Zhang, Y. Lin, I. H.-R. Jiang, B. Yu, D. Z. Pan, Openmpl: An open-source layout decomposer, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 40 (11) (2021) 2331–2344. doi:10.1109/TCAD.2020.3042175.
  • [33] Y. Xu, H. Cheng, Y. Chen, C. Xie, A distribution evolutionary algorithm for graph coloring, arXiv preprint arXiv:2203.15162 (2022).
  • [34] K. Yuan, D. Z. Pan, Wisdom: Wire spreading enhanced decomposition of masks in double patterning lithography, in: 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), IEEE, 2010, pp. 32–38.