IP Library Granted Patent US 8,291,352
Granted Patent B2
US 8,291,352 · App. 12/721,331 · Granted Oct 16, 2012

Multivariable solver for optical proximity correction

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,291,352
App. No.
12/721,331
Granted
Oct 16, 2012
Kind
B2
Abstract

The method of the invention tracks how the collective movement of edge segments in a mask layout alters the resist image values at control points in the layout and simultaneously determines a correction amount for each edge segment in the layout. A multisolver matrix that represents the collective effect of movements of each edge segment in the mask layout is used to simultaneously determine the correction amount for each edge segment in the mask layout.

Claims (114)

1. A computer-implemented method comprising:

determining, by the computer, a difference resist image value for a plurality of edge segments in a mask layout due to one or more perturbations applied to the plurality of edge segments;

creating, by the computer, a multisolver matrix that includes the difference resist image values for all of the plurality of edge segments;

simultaneously determining, by the computer, a correction delta value for each of the plurality of edge segments in the mask layout using the multisolver matrix.

2. The method of claim 1 , wherein a pseudoinverse of the multisolver matrix, A + , is defined as

A + =(α I+A T A ) −1 A T

where A T is the transpose of the multisolver matrix, I is the identity matrix, and α is an adjustable positive multiplicative factor applied to the identity matrix.

3. The method of claim 2 , wherein an initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

4. The method of claim 1 , wherein the multisolver matrix, A, is expressed as

A≡A 0 +PQ T ε nxn ,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n x p matrices,

where n is the number of edge segments and p is the number of columns of P and Q.

5. The method of claim 4 , wherein the initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

6. The method of claim 1 , wherein determining the difference resist image value includes:

simulating a photolithography process using a mask layout to produce a first simulated resist image;

perturbing each of the plurality of edge segments in the mask layout by a predetermined amount to produce an initial perturbed layout;

simulating the photolithography process using the initial perturbed layout to produce a second simulated resist image;

determining a difference resist image value between the first simulated resist image and the second simulated resist image for each of the plurality of edge segments.

7. The method of claim 1 , wherein simultaneously determining the correction delta values includes determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes the correction delta values.

8. The method of claim 7 , further comprising:

perturbing each of the plurality of edge segments in the perturbed layout by the corresponding correction delta value in the correction delta vector to create a further perturbed layout;

simulating the photolithography process using the further perturbed layout to produce a third simulated resist image;

updating the multisolver matrix based on the third simulated resist image values for each of the plurality of edge segments; and

updating the correction delta vector using a pseudoinverse of the updated multisolver matrix.

9. A computer program product comprising a non-transitory computer readable medium for storing instructions for performing:

determining a difference resist image value for a plurality of edge segments in a mask layout due to one or more perturbations applied to the plurality of edge segments;

creating a multisolver matrix that includes the difference resist image values for all of the plurality of edge segments;

simultaneously determining a correction delta value for each of the plurality of edge segments in the mask layout using the multisolver matrix.

10. The computer program product of claim 9 , wherein a pseudoinverse of the multisolver matrix, A + , is defined as

A + =(α I+A T A ) −1 A T

where A T is the transpose of the multisolver matrix, I is the identity matrix, and α is an adjustable positive multiplicative factor applied to the identity matrix.

11. The computer program product of claim 10 , wherein an initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

12. The computer program product of claim 9 , wherein the multisolver matrix, A, is expressed as

A≡A 0 +PQ T ε nxn ,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n x p matrices,

where n is the number of edge segments and p is the number of columns of P and Q.

13. The computer program product of claim 12 , wherein the initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

14. The computer program product of claim 9 , wherein determining the difference resist image value includes:

simulating a photolithography process using a mask layout to produce a first simulated resist image;

perturbing each of the plurality of edge segments in the mask layout by a predetermined amount to produce an initial perturbed layout;

simulating the photolithography process using the initial perturbed layout to produce a second simulated resist image;

determining a difference resist image value between the first simulated resist image and the second simulated resist image for each of the plurality of edge segments.

15. The computer program product of claim 9 , wherein simultaneously determining the correction delta values includes determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes the correction delta values.

16. The computer program product of claim 15 , further comprising:

perturbing each of the plurality of edge segments in the perturbed layout by the corresponding correction delta value in the correction delta vector to create a further perturbed layout;

simulating the photolithography process using the further perturbed layout to produce a third simulated resist image;

updating the multisolver matrix based on the third simulated resist image values for each of the plurality of edge segments; and

updating the correction delta vector using a pseudoinverse of the updated multisolver matrix.

17. A system that generates mask image data for a mask layout that includes edge segments, the system comprising a computer adapted to determine locations of the edge segments by:

determining a difference resist image value for a plurality of edge segments in a mask layout due to one or more perturbations applied to the plurality of edge segments;

creating a multisolver matrix that includes the difference resist image values for all of the plurality of edge segments;

simultaneously determining a correction delta value for each of the plurality of edge segments in the mask layout using the multisolver matrix.

18. The system of claim 17 , wherein a pseudoinverse of the multisolver matrix, A + , is defined as

A + =(α I+A T A ) −1 A T

where A T is the transpose of the multisolver matrix, I is the identity matrix, and α is an adjustable positive multiplicative factor applied to the identity matrix.

19. The system of claim 18 , wherein an initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

20. The system of claim 17 , wherein the multisolver matrix, A, is expressed as

A≡A 0 +PQ T ε nxn ,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n x p matrices,

where n is the number of edge segments and p is the number of columns of P and Q.

21. The system of claim 20 , wherein the initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

22. The system of claim 17 , wherein determining the difference resist image value includes:

simulating a photolithography process using a mask layout to produce a first simulated resist image;

perturbing each of the plurality of edge segments in the mask layout by a predetermined amount to produce an initial perturbed layout;

simulating the photolithography process using the initial perturbed layout to produce a second simulated resist image;

determining a difference resist image value between the first simulated resist image and the second simulated resist image for each of the plurality of edge segments.

23. The system of claim 17 , wherein simultaneously determining the correction delta values includes determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes the correction delta values.

24. The system of claim 23 , further comprising:

perturbing each of the plurality of edge segments in the perturbed layout by the corresponding correction delta value in the correction delta vector to create a further perturbed layout;

simulating the photolithography process using the further perturbed layout to produce a third simulated resist image;

updating the multisolver matrix based on the third simulated resist image values for each of the plurality of edge segments; and

updating the correction delta vector using a pseudoinverse of the updated multisolver matrix.

25. A method of manufacturing a mask comprising:

generating mask layout that includes edge segments whose locations have been determined by:

determining a difference resist image value for a plurality of the edge segments in a mask layout due to one or more perturbations applied to the plurality of the edge segments;

creating a multisolver matrix that includes the difference resist image values for all of the plurality of the edge segments; and

simultaneously determining a correction delta value for each of the plurality of the edge segments in the mask layout using the multisolver matrix; and

producing a mask using the generated mask layout data.

26. The method of claim 25 , wherein a pseudoinverse of the multisolver matrix, A + , is defined as

A + =(α I+A T A ) −1 A T

where A T is the transpose of the multisolver matrix, I is the identity matrix, and Δ is an adjustable positive multiplicative factor applied to the identity matrix.

27. The method of claim 26 , wherein an initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

28. The method of claim 25 , wherein the multisolver matrix, A, is expressed as

A≡A 0 +PQ T ε nxn ,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n x p matrices,

where n is the number of edge segments and p is the number of columns of P and Q.

29. The method of claim 28 , wherein the initial multisolver matrix A 0 is a diagonal matrix in which the i-th diagonal entry is determined by

[ A 0 ] ii =ΔRI i /Δc 0 ,i,

where Δ c 0 , i is the amount of the perturbation of the i-th edge segment and Δ RI i is the change in the resist image value for the i-th edge segment as a result of the perturbation.

30. The method of claim 25 , wherein determining the difference resist image value includes:

simulating a photolithography process using a mask layout to produce a first simulated resist image;

perturbing each of the plurality of edge segments in the mask layout by a predetermined amount to produce an initial perturbed layout;

simulating the photolithography process using the initial perturbed layout to produce a second simulated resist image;

determining a difference resist image value between the first simulated resist image and the second simulated resist image for each of the plurality of edge segments.

31. The method of claim 25 , wherein simultaneously determining the correction delta values includes determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes the correction delta values.

32. The method of claim 31 , further comprising:

perturbing each of the plurality of edge segments in the perturbed layout by the corresponding correction delta value in the correction delta vector to create a further perturbed layout;

simulating the photolithography process using the further perturbed layout to produce a third simulated resist image;

updating the multisolver matrix based on the third simulated resist image values for each of the plurality of edge segments; and

updating the correction delta vector using a pseudoinverse of the updated multisolver matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2010
From: BRION TECHNOLOGIES, INC.
To: ASML NETHERLANDS B.V.
Reel/Frame 024278/0346 →