IP Library Granted Patent US 7,707,538
Granted Patent B2
US 7,707,538 · App. 11/764,128 · Granted Apr 27, 2010

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 7,707,538
App. No.
11/764,128
Granted
Apr 27, 2010
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 (1524)

1. A computer-implemented method comprising:

simulating, by the computer, a photolithography process using a mask layout to produce a first simulated resist image;

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

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

determining, by the computer, a difference resist image value between the first simulated resist image and the second simulated resist image for each edge segment;

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

determining, by the computer, a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes a correction delta value for each edge segment;

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

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

updating, by the computer, the multisolver matrix based on the third simulated resist image values for each edge segment; and

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

2. The method of claim 1 , wherein the 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

ɛ

n

×

n

,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n×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 66 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 2 , wherein determining a correction delta vector comprises

Δ

c

=

A

k

+

·

(

0

-

F

(

c

k

)

)

where A k + is the pseudoinverse of the multisolver n×n matrix,

{right arrow over (0)} is an n×1 vector representing desired resist image values,

{right arrow over (F)} ({right arrow over (c k )})) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

7. The method of claim 4 , wherein determining a correction delta vector comprises

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

A

0

+

QP

T

)

·

(

0

-

F

(

c

k

)

)

where Λ −1 ≡(αI+A 0 A 0 ) −1 , a diagonal matrix; C≡[Q A 0 P], an n×2p matrix;

D

[

P

T

P

I

I

0

]

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

8. The method of claim 1 , further comprising applying a damping factor to each value in the correction delta vector.

9. The method of claim 4 , wherein updating the multisolver matrix includes:

if

s

>

0

,

adding

(

y

-

A

k

s

)

s

as a new column to P and adding

s

s

as a new column to Q, where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

10. The method of claim 2 , wherein updating the multisolver matrix includes:

s

>

0

:

A

k

+

1

=

(

y

-

A

k

s

)

s

T

/

s

2

where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

11. The method of claim 1 wherein the mask layout is a layout of a contact layer.

12. The method of claim 1 wherein the mask layout is a layout of a poly layer.

13. The method of claim 1 , wherein non-negative weighting factors are assigned to the edge segments.

14. The method of claim 2 , wherein non-negative weighting factors are assigned to the edge segments such that determining the correction delta vector comprises:

Δ

c

=

[

α

I

+

A

k

W

T

WA

k

]

-

1

A

k

W

T

·

(

0

-

F

(

c

k

)

)

where A k + is the pseudoinverse of the multisolver n×n matrix,

{right arrow over (0)} is an n×1 vector representing desired resist image values,

{right arrow over (F)}({right arrow over (c k )})) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

15. The method of claim 4 , wherein non-negative weighting factors are assigned to the edges segments such that determining the correction delta vector comprises:

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

WA

0

+

Q

(

WP

)

T

)

·

(

0

-

W

F

(

c

k

)

)

where Λ −1 ≡(αI+WA 0 WA 0 ) −1 , a diagonal matrix; C≡[Q WA 0 WP], an n×2p matrix;

D

(

P

T

W

T

P

I

I

0

)

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}, k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

16. A computer program product comprising a computer storage medium for storing instructions for performing:

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

perturbing each edge segment 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 edge segment;

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

determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes a correction delta value for each edge segment;

perturbing each edge segment 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 edge segment; and

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

17. The computer program product of claim 16 , wherein the 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.

18. The computer program product of claim 17 , 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.

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

A

A

0

+

PQ

T

ɛ

n

×

n

,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n×p matrices, where n is the number of edge segments and p is the number of columns of P and Q.

20. The computer program product of claim 19 , 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.

21. The computer program product of claim 17 , wherein determining a correction delta vector comprises

Δ

c

=

A

k

+

·

(

0

-

F

(

c

k

)

)

where A k + is the pseudoinverse of the multisolver n×n matrix,

{right arrow over (0)} is an n×1 vector representing desired resist image values,

F(c k )) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

22. The computer program product of claim 19 , wherein determining a correction delta vector comprises

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

A

0

+

QP

T

)

·

(

0

-

F

(

c

k

)

)

where Λ −1 ≡(αI+A 0 A 0 ) −1 , a diagonal matrix; C≡[Q A 0 P], an n×2p matrix;

D

[

P

T

P

I

I

0

]

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}and k is the iteration number.

23. The computer program product of claim 16 , further including instructions for applying a damping factor to each value in the correction delta vector.

24. The computer program product of claim 19 , wherein updating the multisolver matrix includes:

if

s

>

0

,

adding

(

y

-

A

k

s

)

s

as a new column to P and adding

s

s

as a new column to Q, where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

25. The computer program product of claim 17 , wherein updating the multisolver matrix includes:

s

>

0

:

A

k

+

1

=

(

y

-

A

k

s

)

s

T

/

s

2

where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

26. The computer program product of claim 16 wherein the mask layout is a layout of a contact layer.

27. The computer program product of claim 16 wherein the mask layout is a layout of a poly layer.

28. The computer program product of claim 16 , wherein non-negative weighting factors are assigned to the edge segments.

29. The computer program product of claim 17 , wherein non-negative weighting factors are assigned to the edge segments such that determining the correction delta vector comprises:

Δ

c

=

[

α

I

+

A

k

W

T

WA

k

]

-

1

A

k

W

T

·

(

0

-

F

(

c

k

)

)

where A k is the multisolver matrix at the k-th iteration; {right arrow over (I)} is the identity matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values; {right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}; k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

30. The computer program product of claim 19 , wherein non-negative weighting factors are assigned to the edges segments such that determining the correction delta vector comprises:

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

WA

0

+

Q

(

WP

)

T

)

·

(

0

-

W

F

(

c

k

)

)

where Λ −1 ≡(αI+WA 0 WA 0 ) −1 , a diagonal matrix; C≡[Q WA 0 WP], an n×2p matrix;

D

(

P

T

W

T

P

I

I

0

)

,

a 2p×2p matrix; 0 is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}, k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

31. 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:

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

perturbing each edge segment 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 edge segment;

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

determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes a correction delta value for each edge segment;

perturbing each edge segment 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 edge segment; and

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

32. The system of claim 31 , wherein the pseudoinverse of the multisolver matrix, A + , is defined as

A

+

=

(

α

I

+

A

T

A

)

-

1

A

T

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

33. The system of claim 32 , 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.

34. The system of claim 31 , wherein the multisolver matrix, A, is expressed as

A

A

0

+

PQ

T

ɛ

n

×

n

,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n×p matrices, where n is the number of edge segments and p is the number of columns of P and Q.

35. The system of claim 34 , 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.

36. The system of claim 32 , wherein determining a correction delta vector comprises

Δ

c

=

A

k

+

·

(

0

-

F

(

c

k

)

)

where A k + is the pseudoinverse of the multisolver n×n matrix,

{right arrow over (0)} is an n×1 vector representing desired resist image values,

{right arrow over (F)}({right arrow over (c k )})) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

37. The system of claim 34 , wherein determining a correction delta vector comprises

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

A

0

+

QP

T

)

·

(

0

-

F

(

c

k

)

)

where Λ −1 ≡(αI+A 0 A 0 ) −1 , a diagonal matrix; C≡[Q A 0 P], an n×2p matrix;

D

[

P

T

P

I

I

0

]

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

38. The system of claim 31 , further comprising applying a damping factor to each value in the correction delta vector.

39. The system of claim 34 , wherein updating the multisolver matrix includes:

if

s

>

0

,

adding

(

y

-

A

k

s

)

s

as a new column to P and adding

s

s

as a new column to Q, where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

40. The system of claim 32 , wherein updating the multisolver matrix includes:

s

>

0

:

A

k

+

1

=

(

y

-

A

k

s

)

s

T

/

s

2

where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

41. The system of claim 31 , wherein the mask layout is a layout of a contact layer.

42. The system of claim 31 wherein the mask layout is a layout of a poly layer.

43. The system of claim 31 , wherein non-negative weighting factors are assigned to the edge segments.

44. The system of claim 32 , wherein non-negative weighting factors are assigned to the edge segments such that determining the correction delta vector comprises:

Δ

c

=

[

α

I

+

A

k

W

T

WA

k

]

-

1

A

k

W

T

·

(

0

-

F

(

c

k

)

)

where A k is the multisolver matrix at the k-th iteration; {right arrow over (I)} is the identity matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values; {right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}; k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

45. The system of claim 34 , wherein non-negative weighting factors are assigned to the edges segments such that determining the correction delta vector comprises:

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

WA

0

+

Q

(

WP

)

T

)

·

(

0

-

W

F

(

c

k

)

)

where Λ −1 ≡(αI+WA 0 WA 0 ) −1 , a diagonal matrix; C≡[Q WA 0 WP], an n×2p matrix;

D

(

P

T

W

T

P

I

I

0

)

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}, k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

46. A method of manufacturing a mask comprising:

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

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

perturbing each edge segment 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 edge segment;

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

determining a correction delta vector using a pseudoinverse of the multisolver matrix, wherein the correction delta vector includes a correction delta value for each edge segment;

perturbing each edge segment 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 edge segment; and

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

producing a mask using the generated mask layout data.

47. The method of claim 46 , wherein the 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.

48. The method of claim 47 , 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.

49. The method of claim 46 , wherein the multisolver matrix, A, is expressed as

A

A

0

+

PQ

T

ɛ

n

×

n

,

where A 0 is an initial multisolver matrix, which is a diagonal matrix, P and Q are n×p matrices, where n is the number of edge segments and p is the number of columns of P and Q.

50. The method of claim 49 , 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.

51. The method of claim 47 , wherein determining a correction delta vector comprises

Δ

c

=

A

k

+

·

(

0

-

F

(

c

k

)

)

s

>

0

,

adding

(

y

-

A

k

s

)

s

as a new column to P and adding

s

s

as a new column to Q, where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

52. The method of claim 49 , wherein determining a correction delta vector comprises

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

A

0

+

QP

T

)

·

(

0

-

F

(

c

k

)

)

where Λ −1 ≡(αI+A 0 A 0 ) −1 , a diagonal matrix; C≡[Q A 0 P], an n×2p matrix;

D

[

P

T

P

I

I

0

]

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )})is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )} and k is the iteration number.

53. The method of claim 46 , further comprising applying a damping factor to each value in the correction delta vector.

54. The method of claim 49 , wherein updating the multisolver matrix includes:

if

where A k is the multisolver matrix at the k-th iteration; {right arrow over (I)} is the identity matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values; {right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}; k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

55. The method of claim 47 , wherein updating the multisolver matrix includes:

s

>

0

:

A

k

+

1

=

(

y

-

A

k

s

)

s

T

/

s

2

where {right arrow over (y)} is defined as {right arrow over (F)}({right arrow over (c k+1 )})−{right arrow over (F)}({right arrow over (c k )}),

{right arrow over (s)} is defined as {right arrow over (c k+1 )}−{right arrow over (c k )}, and {right arrow over (c k )} is a vector specifying the positions of the edge segments at the k-th iteration.

56. The method of claim 46 wherein the mask layout is a layout of a contact layer.

57. The method of claim 46 wherein the mask layout is a layout of a poly layer.

58. The method of claim 40 , wherein non-negative weighting factors are assigned to the edge segments.

59. The method of claim 47 , wherein non-negative weighting factors are assigned to the edge segments such that determining the correction delta vector comprises:

Δ

c

=

[

α

I

+

A

k

W

T

WA

k

]

-

1

A

k

W

T

·

(

0

-

F

(

c

k

)

)

where A k is the multisolver matrix at the k-th iteration; {right arrow over (I)} is the identity matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values; {right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c)} k ; k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

60. The method of claim 43 , wherein non-negative weighting factors are assigned to the edges segments such that determining the correction delta vector comprises:

Δ

c

=

[

Λ

-

1

-

G

(

D

-

1

+

C

T

G

)

-

1

G

T

]

(

WA

0

+

Q

(

WP

)

T

)

·

(

0

-

W

F

(

c

k

)

)

where Λ −1 ≡(αI+WA 0 WA 0 ) −1 , a diagonal matrix; C≡[Q WA 0 WP], an n×2p matrix;

D

(

P

T

W

T

P

I

I

0

)

,

a 2p×2p matrix; {right arrow over (0)} is an n×1 vector representing desired resist image values;

{right arrow over (F)}({right arrow over (c k )}) is an n×1 vector representing the latest simulated resist image values when the edge segments have been moved to the position values as specified by the vector {right arrow over (c k )}, k is the iteration number, and W is a diagonal matrix with non-negative weighting factors on the diagonal.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2010
From: BRION TECHNOLOGIES, INC.
To: ASML NETHERLANDS B.V.
Reel/Frame 024278/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2007
From: WONG, WILLIAM S.; CHEN, BEEN-DER; LU, YENWEN; LI, JIANGWEI; NISHIBE, TATSUO
To: BRION TECHNOLOGIES, INC.
Reel/Frame 019438/0802 →