METHOD, APPARATUS AND ELECTRONIC DEVICE FOR HESSIAN-FREE PHOTOLITHOGRAPHY MASK OPTIMIZATION
20220027547 · 2022-01-27
Assignee
Inventors
Cpc classification
G03F1/36
PHYSICS
G06F30/398
PHYSICS
G03F7/70433
PHYSICS
International classification
Abstract
The present invention relates generally to the technical field of integrated circuit mask design, and more particularly to a method, an apparatus and an electronic device for Hessian-Free photolithography mask optimization. The method includes steps: S1, inputting a design layout of a mask to be optimized; S2, positioning error monitoring points on the design layout of the mask to be optimized; S3, obtaining an optimization variable x of the mask to be optimized; S4, forming an objective function cost on the optimization variable x; and S5, optimizing the objective junction cost by a Hessian-Free-based conjugate gradient method, to obtain an optimization result of the mask to be optimized. Optimizing the objective function cost based on a Hessian-Free conjugate gradient method to obtain an optimization result of the mask to be optimized, which can greatly reduce the computation resources in the optimization process, make the optimization process simpler, feasible, and improve the optimization efficiency. Meanwhile, there is no need to use the quasi-Newton method to obtain the approximate replacement matrix of the H matrix, which can improve the accuracy of the optimization result.
Claims
1. A method for Hessian-Free photolithography mask optimization, for optimizing a mask to be optimized, comprising the following steps: S1, inputting a design layout of a mask to be optimized; S2, positioning error monitoring points on the design layout of the mask to be optimized; S3, obtaining an optimization variable x of the mask to be optimized; S4, forming an objective function cost on the optimization variable x; and S5, optimizing the objective function cost by a Hessian-Free-based conjugate gradient method, to obtain an optimization result of the mask to be optimized.
2. The method for Hessian-Free photolithography mask optimization according to claim 1, wherein the objective function cost is defined as:
3. The method for Hessian-Free photolithography mask optimization according to claim 1, wherein the mask to be optimized comprises at least one main pattern; in step S3, the optimization variable x of the mask to be optimized comprises edges of the main pattern and/or assistant feature sample points generated around the main pattern, or edges of an assistant feature which is generated according to signal values of the assistant feature sample points.
4. The method for Hessian-Free photolithography mask optimization according to claim 1, wherein step S5 specifically comprises the following steps: S51, setting an initial optimization variable value x.sub.0 of the objective function cost; S52, calculating a gradient value g.sub.0 of the initial optimization variable value x.sub.0; S53, determining whether the gradient value g.sub.0 is less than a preset threshold; if so, performing the following step: S54, terminating the optimization process, and obtaining an optimization result of the mask to be optimized; if not, performing the following step: S55, iteratively updating an optimization variable x.sub.k based on a relation between H.Math.p.sub.k and an intrinsic vector v.sub.k of the optimization variable x.sub.k, to obtain an updated optimization variable x.sub.k+1, wherein H is a Hessian matrix of the objective function cost, p.sub.k=−g.sub.k, and g.sub.k is a gradient of the optimization variable x.sub.k relative to the objective function cost.
5. The method for Hessian-Free photolithography mask optimization according to claim 4, wherein step S55 comprises the following steps: S551, calculating a coefficient α.sub.k; the α.sub.k is defined as:
6. The method for Hessian-Free photolithography mask optimization according to claim 5, wherein step S5 further comprises the following steps: S56, calculating a gradient value r.sub.k+1 of the optimization variation X.sub.k+1 which is iteratively optimized, by a calculation result of the H.Math.p.sub.k; S57, determining whether |r.sub.k+1| is less than the preset threshold; if so, performing the following step: S58, terminating the optimization process; if not, performing the following step: S59, calculating coefficients β.sub.k and p.sub.k+1, and returning to step S55 until the optimization process is finished, wherein
7. The method for Hessian-Free photolithography mask optimization according to claim 6, wherein obtaining the H.Math.p.sub.k comprises the following steps: T01, defining an operator:
8. The method for Hessian-Free photolithography mask optimization according to claim 7, wherein when the Signal(ci,pj) is EPE, the EPE can be obtained by the following steps: T027, calculating
9. An apparatus for Hessian-Free photolithography mask optimization, comprising: an input module, configured to input a design layout of a mask to be optimized; an error monitoring point positioning module, configured to position error monitoring points on the design layout of the mask to be optimized; an optimization variable generation module, configured to obtain an optimization variable x of the mask to be optimized; an objective function generation module, configured to form an objective function cost on the optimization variable x; and an optimization computation module, configured to optimize the objective function cost based on a Hessian-Free-based conjugate gradient method to obtain an optimization result of the mask to be optimized.
10. An electronic device, comprising one or more processors, and a storage device for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement any step of the method of claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
DETAILED DESCRIPTION
[0036] In order to make the objectives, technical solutions, and advantages of the present invention clearer, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are provided for illustration only, and not for the purpose of limiting the invention.
[0037] Referring to
[0038] S1, inputting a design layout of a mask to be optimized.
[0039] In this embodiment, a design pattern of a target chip is provided first, a mask layout corresponding to the design pattern of the target chip is designed accordingly. The mask layout is laid out according to photolithographic requirements of the design pattern of the target chip, that is, the design layout of the mask to be optimized is obtained, including at least one main pattern thereon. In this step,
[0040] Referring to
[0041] S2, positioning error monitoring points on the design layout of the mask to be optimized.
[0042] Referring to
[0043] Referring to
[0044] S3, obtaining an optimization variable x of the mask to be optimized.
[0045] In this step, the optimization variable x of the mask to be optimized includes the edges of the main pattern and/or assistant feature sample points which are generated around the main pattern; or edges of an assistant feature which is generated according to signal values of the assistant feature sample points.
[0046] Referring to
[0047] In a first alternative embodiment of the first embodiment of the present invention, the assistant feature sample points generated around the main pattern are regarded as the optimization variable x. An assistant feature placement area is formed around the main pattern according to a predetermined rule. The assistant feature sample points are generated in the assistant feature placement area, to optimize the mask to be optimized. The signal values of the assistant feature sample points are monitored, and the assistant feature sample points where the assistant feature should be generated are obtained according to the signal values. Referring to
[0048] S31, setting a minimum variable x1 and a maximum variable x2 formed by the assistant feature placement area.
[0049] In this step, the minimum variable x1 and the maximum variable x2 are enlargement coefficients of the main pattern, wherein the minimum variable x1 is less than or equal to the maximum variable x2, the minimum variable x1 is greater than or equal to zero, and the maximum variable x2 is not equal to zero.
[0050] Referring to
[0051] S32, enlarging the main pattern by x1 to obtain a pattern A, and enlarging the main pattern by x2 to obtain a pattern B. The minimum variable x1 and maximum variable x2 can be set as follows: the closest distance between edges of the pattern A and that of the main pattern is d1, and the closest distance between edges of the pattern B and that of the main pattern is d2. Specifically, the value range of d1 is 20-100 nm, and the value range of d2 is 100-400 nm.
[0052] In this step, the pattern A and the pattern B are shown in
[0053] Referring to
[0054] S33, performing an exclusive OR operation on the pattern A and the pattern B to obtain the assistant feature placement area.
[0055] In this step, the assistant feature placement area is an area C enclosed and formed by edges of the pattern A and the pattern B, which corresponds to the filled area in
[0056] Referring to
[0057] S34, generating the assistant feature sample points in the assistant feature placement area.
[0058] In this step, after the assistant feature sample points are generated, an initial signal value assigned to each assistant feature sample point is 0. In the optimization process, when the signal value of the assistant feature sample point exceeds a predetermined threshold, then the assistant feature is generated at a location corresponding to this assistant feature sample point, otherwise, it is not generated.
[0059] In this step, the assistant feature sample points are generated according to a predetermined rule. Specifically, the predetermined rule can be: setting multiple rows of assistant feature sample points, a preset spacing between any two adjacent assistant feature sample points in the same row is x, and the row spacing of any two adjacent rows is also x. In the specific optimization process, the value of x can be adjusted according to actual optimization effects.
[0060] In some other embodiments, in order to generate the assistant feature sample points more quickly and accurately, the assistant feature placement area can be divided into multiple rectangular blocks, and the assistant feature sample points are generated at the preset spacing x in each rectangular block.
[0061] Referring to
[0062] In a second alternative embodiment of the first embodiment of the present invention, the edges of the main pattern and the assistant feature sample points are regarded as the optimization variable x.
[0063] In a third alternative embodiment of the first embodiment of the present invention, the edges of the assistant feature generated according to the signal values of the assistant feature sample points are regarded as the optimization variable x. This optimization method for optimizing the assistant feature is similar to that for optimizing the main pattern with the edges of the main pattern regarded as the optimization variable. Similarly, the edges of the assistant feature are divided into short edges, and the short edges are moved correspondingly to optimize the assistant feature. As shown in
[0064] It should be noted that in addition to the optimization variables provided above, other optimization variables are also feasible.
[0065] Referring to
[0066] S4, forming an objective function cost on the optimization variable x; and
[0067] S5, optimizing the objective function cost by a Hessian-Free-based conjugate gradient method, to obtain an optimization result of the mask to be optimized.
[0068] In step S4, as an embodiment, the objective function cost is defined as:
In the formula, ci is an i-th exposure condition, pj is a j-th error monitoring point, power is a preset positive and even value (power=2, 4, 6 . . . ), Signal(ci, pj) is a signal error value at the j-th error monitoring point under the i-th exposure condition. The signal error value includes one of an intensity of RI or a value of EPE. The RI is an image on a photoresist, and the EPE is an edge placement error.
[0069] Referring to
[0070] S51, setting an initial optimization variable value x.sub.0 of the objective function cost.
[0071] In this step, for example, when the edges of the main pattern are regarded as the optimization variable, the corresponding initial optimization variable value x.sub.0 is a moving distance which is randomly set, specifically 2 nm.
[0072] S52, calculating a gradient value g.sub.0 of the initial optimization variable value x.sub.0.
[0073] In this step, the following example is given to illustrate the gradient value g.sub.0 when the edges of the main pattern are regarded as the initial optimization variable value x.sub.0. The gradient of the initial optimization variable value x.sub.0 of the objective function cost can be obtained based on the following cascade relational expression:
The calculation of all formulas in the relational expression 1) is consistent with the process of the existing ILT (Inverse Lithography Technology), which will not be repeated here.
[0074] S53, determining whether the gradient value g.sub.0 is less than a preset threshold; if so, performing the following step:
[0075] S54, terminating the optimization process, and obtaining an optimization result of the mask to be optimized. If not, performing the following step:
[0076] S55, iteratively updating an optimization variable x.sub.k based on a relation between H.Math.p.sub.k and an intrinsic vector v.sub.k of the optimization variable x.sub.k, to obtain an updated optimization variable x.sub.k+1.
[0077] In step S55, firstly set the number of iterations k=0 (K=0, 1, 2, 4, 5 . . . ). Referring to
[0078] S551, calculating a coefficient α.sub.k.
The α.sub.k is defined as:
wherein r.sub.k=−g.sub.k, p.sub.k=r.sub.k, r.sub.k.sup.T is obtained by performing a transpose operation on r.sub.k.
[0079] S552, calculating a coefficient v.sub.k+1=v.sub.k+α.sub.kp.sub.k.
In the formula, v.sub.k is a multidimensional vector. For example, when the edges of the main pattern are the optimization variable, each component is a location variation value of the edges of the main pattern during the process of iterating the optimization variable for k times. It can be seen that the v.sub.k is a known value. It can be understood that, when the assistant feature sample points are the optimization variable, each component corresponds to a signal variation value of the assistant feature sample points during the process of iterating the optimization variable for k times.
[0080] S553, updating the optimization variable: x.sub.k+1=x.sub.k+v.sub.k+1.
[0081] Referring to
[0082] S56, calculating a gradient value r.sub.k+1 of the optimization variation x.sub.k+1 which is iteratively optimized, by a calculation result of the H.Math.p.sub.k.
In this step, r.sub.k+1 is obtained by the following formula: r.sub.k+1=r.sub.k−α.sub.k(H.Math.p.sub.k).
[0083] S57, determining whether |r.sub.k+1| is less than the preset threshold; if so, performing step S58, terminating the optimization process, and obtaining the optimization result of the mask to be optimized; if not, performing the following step:
[0084] S59, calculating coefficients β.sub.k and p.sub.k+1, and returning to step S55. β.sub.k and p.sub.k+1 are defined as:
In the above steps, obtaining the H.Math.p.sub.k includes the following steps:
[0085] It should be noted that, the p.sub.k in the H.Math.p.sub.k is an intrinsic value related to all optimization variables of the k-th iteration. Therefore, in the following steps, v in (H.Math.v).sub.k represents the p.sub.k of any iteration, and the (H.Math.v).sub.k is a k-th component of (H.Math.v).
[0086] T01, defining an operator:
[0087] T02, calculating (H.Math.v).sub.k;
(H.Math.v).sub.k can be calculated by the following formula:
[0088] In step T02, p is a preset positive and even value (p=4, 6, 8 . . . ). When Signal(ci, pj) is the intensity of the RI, the intensity of the RI can be obtained by the following steps:
[0089] T021, calculating
In the formula, q.sub.im is a photoresist coefficient which can be obtained by multiple measurements of lithography models under a preset series of known illumination conditions, AI.sub.m is an optical exposure dose value at a location m, which can be obtained by step T022.
[0090] T022, calculating
In the formula, λ.sub.n is a n-th intrinsic coefficient of a TCC matrix, EI.sub.n,m is a value of a n-th intrinsic electric field at the location m. In this step, λ.sub.n can be obtained based on a TCC optical imaging theory, which specifically includes the following steps.
[0091] T0221, calculating a cross transmission coefficient matrix; and
[0092] T0222, calculating a partial coherent kernel function.
[0093] In step T0221, the cross transmission coefficient matrix can be calculated by the existing analytical method, integral method, and Fourier transform method. The Fourier transform method can be applicable for different types of light sources and has a faster calculation rate. In this embodiment, the Fourier transform method is used for calculating.
[0094] In step T0222, firstly express the four-dimensional cross transmission coefficient matrix as a two-dimensional matrix, then perform an intrinsic value decomlocation on the two-dimensional matrix to obtain its intrinsic coefficient and intrinsic vector. The intrinsic vector corresponds to the partial coherent kernel function. In this step, the intrinsic value decomlocation of the cross transmission coefficient matrix is mainly based on an optical imaging model Hopkins (Hopkins statistic), and previous n items are retained. Each item is expressed by intrinsic coefficients and intrinsic vectors. Therefore, the n-th intrinsic coefficient λ.sub.n and the intrinsic vector are obtained. EI.sub.n,m is obtained by a convolution of MI and the intrinsic vector, specifically obtained by step T023.
[0095] T023, calculating
In the formula, h.sub.m,t is an intrinsic vector of the TCC matrix which can be obtained by the above step T0222; MI.sub.t is a mask image value at a location t, which can be obtained specifically by step T024.
[0096] T024, calculating
In the formula, s.sub.t,o and d.sub.t,l are linear coefficients of a calculation from a mask to a gridded mask, E.sub.o is an offset variable of the edges of the main pattern, P.sub.l is a signal value of the assistant feature sample points. MI.sub.t(0) is an initial value, that is, an initial MI when the E.sub.o and the P.sub.l are both 0. It can be understood that MI.sub.t mentioned above is only an example, and adjustments are made according to specific optimization variables in actual calculations. For example, when the edges of the main pattern are the optimization variable, the formula should be adjusted as
[0097] In some specific embodiments, the MI.sub.t(0) can be obtained by performing a convolution operation on the mask pattern determined by the E.sub.o, which specifically includes the following steps:
[0098] T0231, obtaining a low-pass filter matrix (convolution kernel) by performing a convolution operation; and
[0099] T0232, calculating a product of neighboring pixels of each pixel point in the mask pattern and corresponding factors of the low-pass filter matrix, and adding values of the corresponding factors to obtain a feature value representing the pixel location, thereby forming a feature image of the main pattern.
[0100] It can be seen that the feature value on the feature image corresponds to MI.sub.t(0). It should be noted that, in this step, performing a convolution operation on the mask pattern determined by the E.sub.o is a conventional image filter convolution operation algorithm, which will not be repeated here.
[0101] T025, calculating
In the formula, v.sub.o is an o-th component of v, v.sub.l is a l-th component of v.
[0102] T026, calculating Rv(RI).
Rv(RI) can be obtained by the following steps:
[0103] T0261, calculating
[0104] T0262, calculating
[0105] T0263, calculating
and
[0106] T0264, calculating
Wherein, Rv(EI*.sub.n,m) can be obtained by performing a conjugate operation on Rv(EI.sub.n,m). Similarly, h*.sub.m,t can be obtained by performing a conjugate operation on h.sub.m,t, EI*.sub.n,m can be obtained by performing a conjugate operation on EI.sub.n,m, and Rv(MI*.sub.t) can be obtained by performing a conjugate operation on Rv(MI.sub.t).
[0107] In some other embodiments, when the Signal(ci, pj) is EPE (edge placement error), the EPE can be obtained by the following steps:
[0108] T027, calculating
[0109] T028, calculating
wherein RI′.sub.t is a gradient of the RI at a monitoring point i;
[0110] T029, calculating
and
[0111] T030, calculating
In the formula, RI.sub.i can be obtained by the above steps T021-T023, which will not be repeated here. d.sub.t,j is a linear coefficient of a calculation from the mask to the gridded mask.
[0112] Rv(RI) can be obtained by the above steps T0261-T0264, which will not be repeated here.
[0113] In some other embodiments, if there are multiple exposure conditions,
H.sub.j.Math.v under each exposure condition can be obtained by the calculation provided above. In this embodiment, multiple exposure conditions are used for measurement, specifically including standard exposure conditions (NC), exposure dose +3% (PD3), exposure dose −3% (ND3), defocus +40 nm (PF40), defocus −40 nm (NF40). The standard exposure condition means that the mask aligner is in an ideal working state, that is, the exposure value is at the preset standard value, and the lens focus is also at the preset standard value, without deviation.
[0114] Referring to
[0115] Referring to
[0116] Referring to
[0117] Meanwhile, a statistical analysis on EPE (Edge Placement Error) and PV band (distribution width of EPE of a certain detection point under different exposure conditions) is performed to obtain the following values:
TABLE-US-00001 Exposure Condition Maximum EPE (nm) NC 0.378 PD3 1.476 ND3 1.542
Wherein, EPE refers to an error between edges of the pattern on the silicon wafer and that of the actual required pattern (target pattern), which is calculated by the objective function.
[0118] PV band refers to a distribution width of EPE under different exposure conditions. Maximum PV band=2.97 nm.
[0119] It can be seen that the method for Hessian-Free photolithography mask optimization provided by the present invention has a better optimization effect.
[0120] Referring to
[0121] The input module 201 is configured to input a design layout of a mask to be optimized.
[0122] The error monitoring point positioning module 202 is configured to position error monitoring points on the design layout of the mask to be optimized.
[0123] The optimization variable generation module 203 is configured to obtain an optimization variable x of the mask to be optimized.
[0124] The objective function generation module 204 is configured to form an objective function cost on the optimization variable x.
[0125] The optimization computation module 205 is configured to optimize the objective function cost based on a Hessian-Free-based conjugate gradient method to obtain an optimization result of the mask to be optimized.
[0126] Referring to
[0127] Referring to
[0128] As shown in
[0129] The following components are connected to the I/O interface 805: an input part 806 including a keyboard, a mouse, etc.; an output part 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), a speaker, etc.; a storage part 808 including a hard disk, etc.; and a communication part 809 including a network interface card such as a LAN card, a modem, etc. The communication part 809 performs communication processing via a network such as the Internet. A driver 810 is also connected to the I/O interface 805 based on needs. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the driver 810 based on needs, so that a computer program read from it is installed into the storage part 808 based on needs.
[0130] According to the embodiments of the present invention, the process described above may be implemented as a computer software program. For example, embodiments of the present invention include a computer program product that includes a computer program carried on a computer-readable medium. The computer program includes program codes for executing a method shown in a flow chart. In such an embodiment, the computer program may be downloaded and installed from the network through the communication part 809, and/or installed from the removable medium 811. When the computer program is executed by the central processing unit (CPU) 801, the above functions defined in the method of the present invention are executed. It should be noted that the computer-readable medium described in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium can include, but is not limited to, systems, devices or components including, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor, or any combination of the above. More detailed examples of the computer-readable storage medium may include, but are not limited to, an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device or any suitable combination of the above.
[0131] The computer program codes for performing the operations of the present invention can be written in one or more programming languages or a combination thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as “C” or similar programming languages. The program codes can be completely executed on a user's computer, partially executed on the user's computer, executed as an independent software package, partially executed on the user's computer and partially executed on a remote computer, or completely executed on the remote computer or a server. In the case involving a remote computer, the remote computer may be connected to the user's computer through any kind of networks, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0132] The flowcharts and block diagrams in the accompanying drawings illustrate possible system architectures, functions, and operations of the system, method, and computer program product according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may refer to a module, a program segment, or a part of code. The module, program segment, or part of code contains one or more executable instructions for realizing specified logic functions. It should be noted that, in some alternative embodiments, the functions marked in the block may also occur in an order different from that marked in the drawings. For example, two blocks shown in succession can actually be executed substantially in parallel, and they can sometimes be executed in a reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and/or flowcharts, and a combination of blocks in the block diagrams and/or flowcharts, can be realized by a dedicated hardware-based system that performs the specified functions or operations. Or it can be realized by a combination of dedicated hardware and computer instructions.
[0133] The units involved in the embodiments described in the present invention can be implemented in software or hardware. The units can also be set in a processor, for example, it can be described as: a processor includes an input module, an error monitoring point placement module, an optimization variable generation module, an objective function generation module, and an optimization computation module. Wherein, the names of these units do not constitute a limitation on the unit itself under certain circumstances. For example, the input module can also be described as “configured to input a design layout of a mask to be optimized”. On the other hand, the present invention also provides a computer-readable medium. The computer-readable medium may be included in the device described in the above embodiment; or it may exist alone without being assembled into the device. The above-mentioned computer-readable medium carries one or more programs. When the one or more programs are executed by the device, the device inputs a design layout of a mask to be optimized, places error monitoring points on the design layout of the mask to be optimized, obtains an optimization variable x of the mask to be optimized, forms an objective function cost on the optimization variable x, and optimizes the objective function cost based on a Hessian-Free-based conjugate gradient method to obtain an optimization result of the mask to be optimized.
[0134] The foregoing descriptions of the embodiments according to the present invention should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the preferred embodiments thereof. Thus the scope of the invention should be determined by the appended claims and their legal equivalents. Furthermore, it will be apparent to those skilled in the art that various modifications, equivalents and improvements can be made herein within the scope of the invention.