Patent Number: 
Section: claims

1. A method for optical proximity correction, comprising:generating a simulated geometry representing one or more printed features from a reticle using an optical proximity correction (OPC) model that takes into account a reticle design and one or more parameters from a process window of a lithographic process;forming an error function E that measures a deviation between the simulated geometry and a desired design of the one or more printed features, wherein the error function takes into account parameters (p0 . . . pJ) from across the process window in addition to, or in lieu of, a best focus and a best exposure for a stepper used in the lithographic process; andadjusting the reticle design in a way that reduces the deviation as measured by the error function, thereby producing an adjusted reticle design. 2. The method of claim 1 wherein the error function E has the form:            E      =                        ∑                                    p                              1                ⁢                ⋯                                      ⁢                          p              J                                      ⁢                                  ⁢                              w            ⁡                          (                                                p                                      1                    ⁢                    ⋯                                                  ⁢                                  p                  J                                            )                                ⁢                                    ∑              i                        ⁢                                                  ⁢                                          w                ⁡                                  (                                      x                    i                                    )                                            ·                                                [                                                            D                      ⁡                                              (                                                  x                          i                                                )                                                              -                                          S                      ⁡                                              (                                                                              x                            i                                                    ,                                                                                    p                                                              1                                ⁢                                ⋯                                                                                      ⁢                                                          p                              J                                                                                                      )                                                                              ]                                2                                                          ,    ⁢        where w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ,D(xi) is a desired edge location for a point xi in the simulated geometry,S(xi, p1 . . . pJ) is a simulated edge location for the point xi under conditions determined by the values of the parameters p1 . . . pJ, andw(xi) are weights as functions of position for the point xi. 3. The method of claim 2, wherein each weight w(p1 . . . pJ) has the same value W. 4. The method of claim 3 wherein W=1/N, where N is a total number of values of the parameters p1 . . . pJ. 5. The method of claim 2 wherein each weight w(p1 . . . pJ) is determined by            [                        ∑                      j            =            1                    J                ⁢                                  ⁢                              (                                                            p                  j                                -                                  p                                      j                    ⁢                                                                                  ⁢                    0                                                                              Δ                ⁢                                                                  ⁢                                  p                  j                                                      )                    2                    ]              -      1        ,where each pj is a value of a parameter, pj0 is an optimal value of the parameter pj and Δpj is a value range for the parameter pj. 6. The method of claim 2 wherein the parameters p1 . . . pJ include a focus value and an exposure value. 7. The method of claim 2 wherein the parameters p1 . . . pJ include Film Stack Parameters and/or Resist Parameters, and/or Coat and Prebake Parameters, and/or Imaging Tool Parameters and/or Exposure and Focus Parameters, and/or Post Exposure Bake Parameters, and/or Development Parameters and/or Etch Parameters. 8. The method of claim 7 wherein the Film Stack Parameters include a thickness, one or more Absorption Parameters, a Rate Constant, an Unexposed Refractive Index, and Exposed Refractive Index, a Refractive Index Change on Expose, a Refractive Index Substrate, a Refractive Index Substrate. 9. The method of claim 7 wherein the Resist Parameters include one or more parameters from the group of a Resist Type, a Resist Material, Developer, Resist Thickness, one or more Absorption Parameters, a Rate Constant, Unexposed Refractive Index, Exposed Refractive Index, a Refractive Index Change on Expose, a Thermal Decomposition Activation Energy, a Thermal Decomposition Ln(Ar) (1/sec), a PEB Acid Diffusivity Activation Energy, a PEB Acid Diffusivity Ln(Ar), a PEB Base Diffusivity Activation Energy (kcal/mol), a PEB Base Diffusivity Ln(Ar), an Amplification Reaction Order, an Amplification Reaction Activation Energy, an Amplification Reaction Ln(Ar), a Diffusion-Controlled Reaction Activation Energy, a Diffusion-Controlled Reaction Ln(Ar), an Acid Evaporation Activation Energy, an Acid Evaporation Ln(Ar), a Bulk Acid Loss Activation Energy, a Bulk Acid Loss Ln(Ar), a Relative Quencher Concentration, a Room Temperature Diffusion Length, an Acid Diffusivity Variation, a Reacted/Unreacted Acid Diffusivity Ratio an Exponential Acid Diffusivity Factor, a Base Diffusivity Variation, a Development Rmax, a Development Rmin, a Development Rresin, a Development n, a Development I, a Relative Surface Rate, and an Inhibition Depth. 10. The method of claim 7 wherein the Coat and Prebake Parameters include a Prebake time and/or a prebake Temperature (° C.). 11. The method of claim 7 wherein the Imaging Tool Parameters include one or more of the parameters from the group of a Source Shape, an Illumination Spectrum, a Pupil Filter, Aberrations, Illumination Polarization, Immersion Enabled, Wavelength, Wavelength Range, Numerical Aperture, Reduction Ratio, Flare, Annular Inner Sigma and Annular Outer Sigma. 12. The method of claim 7 wherein the Post Exposure Bake (PEB) Parameters include one or more parameters from the group of PEB Time, PEB Temperature, Contaminant Surface Concentration and Contaminant Diffusion Length. 13. The method of claim 7 wherein the Development Parameters include a Develop Time. 14. The method of claim 7 wherein the Etch Parameters include one or more parameters selected from the group of Number of Etch Stages, Etch Time, Ion Spread, Horizontal Rate, Vertical Rate, Horizontal Rate and Faceting. 15. The method of claim 1 wherein the simulated geometry simulates every edge pixel in the one or more printed features. 16. The method of claim 15 wherein the error function E has the form:            E      =                        ∑                                    p                              1                ⁢                ⋯                                      ⁢                          p              J                                      ⁢                                  ⁢                              w            ⁡                          (                                                p                                      1                    ⁢                    ⋯                                                  ⁢                                  p                  J                                            )                                ⁢                      ∫                          ⅆ                                                s                  ⁢                                                                          [                                                            D                      ⁡                                              (                        s                        )                                                              -                                          S                      ⁡                                              (                                                  s                          ,                                                                                    p                                                              1                                ⁢                                ⋯                                                                                      ⁢                                                          p                              J                                                                                                      )                                                                              ]                                2                                                          ,    ⁢        where p1 . . . pJ are parameters from across the process window, w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ, D(s) is a desired edge location for a point s in the simulated geometry and S(s, p1 . . . pJ) is a simulated edge location for the point s under conditions determined by the values of the parameters p1 . . . pJ and the integral is taken over all edge pixels in the one or more printed features. 17. The method of claim 15 wherein the error function E has the form:      E    =                  ∑                              p                          1              ⁢              ⋯                                ⁢                      p            J                              ⁢                          ⁢                        w          ⁡                      (                                          p                                  1                  ⁢                  ⋯                                            ⁢                              p                J                                      )                          ⁢                  ∫                                    ⅆ              s                        ·                                                            w                  ⁡                                      (                    s                    )                                                  ⁢                                                                  [                                                      D                    ⁡                                          (                      s                      )                                                        -                                      S                    ⁡                                          (                                              s                        ,                                                                              p                                                          1                              ⁢                              ⋯                                                                                ⁢                                                      p                            J                                                                                              )                                                                      ]                            2                                            ,where p1 . . . pJ are parameters from across the process window, w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ, w(s) are position-dependent weights, D(s) is a desired edge location for a point s in the simulated geometry andS(s, p1 . . . pJ) is a simulated edge location for the point s under conditions determined by the values of the parameters p1 . . . pJ and the integral is taken over all edge pixels in the one or more printed features. 18. The method of claim 1 wherein forming an error function E includes applying one or more different control layers to the error function wherein each control layer corresponds to a different portion of the reticle design and wherein the error function associated with a particular control layer is adapted to one or more requirements of a corresponding portion of a design to be printed with the reticle. 19. The method of claim 18 wherein the one or more requirements of the corresponding portion of the design include a robustness of printing of the design with respect to variations in process conditions. 20. The method of claim 1 wherein the reticle design includes one or more sub-resolution assist features. 21. The method of claim 1 wherein generating a simulated geometry includes applying one or more mask rules to the OPC model. 22. The method of claim 1 wherein adjusting the reticle design includes fragmenting and moving one or more line segments within a geometry of the reticle design. 23. The method of claim 1 wherein adjusting the reticle design includes performing individual optimizations at a variety of distinct process points and forming a combined correction based on a weighted average of different optimized corrections found to be needed for each of the process points. 24. The method of claim 23, further comprising verifying that the combined correction results in a desired printing of the one or more printed features. 25. An optical proximity correction apparatus, comprising:a processor having logic adapted to implement a method for optical proximity correction, the logic including:an optical proximity correction (OPC) model configured to generate a simulated geometry representing one or more printed features from a reticle using an optical proximity correction (OPC) model that takes into account a reticle design and one or more parameters from a process window of a lithographic process;an error function generator configured to form an error function E that measures a deviation between the simulated geometry and a desired design of the one or more printed features, wherein the error function takes into account parameters (p0 . . . pJ) from across the process window in addition to, or in lieu of, a best focus and a best exposure for a stepper used in the lithographic process; anda design adjustment module configured to adjust the reticle design in a way that reduces the deviation as measured by the error function, thereby producing an adjusted reticle design. 26. The apparatus of claim 25 wherein the error function E has the form:            E      =                        ∑                                    p                              1                ⁢                ⋯                                      ⁢                          p              J                                      ⁢                                  ⁢                              w            ⁡                          (                                                p                                      1                    ⁢                    ⋯                                                  ⁢                                  p                  J                                            )                                ⁢                                    ∑              i                        ⁢                                                  ⁢                                                            w                  ⁡                                      (                                          x                      i                                        )                                                  ⁡                                  [                                                            D                      ⁡                                              (                                                  x                          i                                                )                                                              -                                          S                      ⁡                                              (                                                                              x                            i                                                    ,                                                                                    p                                                              1                                ⁢                                ⋯                                                                                      ⁢                                                          p                              J                                                                                                      )                                                                              ]                                            2                                            ,    ⁢        where p1 . . . pJ are parameters from across the process window, w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ, D(xi) is a desired edge location for a point xi in the simulated geometry w(xi) are weights as functions of position for the point xi,S(xi, p1 . . . pJ) is a simulated edge location for the point xi under conditions determined by the values of the parameters p1 . . . pJ, andw(xi) are weights as functions of position for the point xi. 27. The apparatus of claim 26 wherein the parameters p1 . . . pJ include a focus value and an exposure value. 28. The apparatus of claim 26, wherein each weight w(p1 . . . pJ) has the same value W. 29. The apparatus of claim 28 wherein W=1/N, where N is a total number of values of the parameters p1 . . . pJ. 30. The apparatus of claim 26 wherein each weight w(p1 . . . pJ) is determined by            [                        ∑                      j            =            1                    J                ⁢                                  ⁢                              (                                                            p                  j                                -                                  p                                      j                    ⁢                                                                                  ⁢                    0                                                                              Δ                ⁢                                                                  ⁢                                  p                  j                                                      )                    2                    ]              -      1        ,where each pj is a value of a parameter, pj0 is an optimal value of the parameter pj and Δpj is a value range for the parameter pj. 31. The apparatus of claim 25 wherein the simulated geometry simulates every edge pixel in the one or more printed features. 32. The apparatus of claim 31 wherein the error function E has the form:      E    =                  ∑                              p                          1              ⁢              ⋯                                ⁢                      p            J                              ⁢                          ⁢                        w          ⁡                      (                                          p                                  1                  ⁢                  ⋯                                            ⁢                              p                J                                      )                          ⁢                  ∫                      ⅆ                                          s                ⁢                                                                  [                                                      D                    ⁡                                          (                      s                      )                                                        -                                      S                    ⁡                                          (                                              s                        ,                                                                              p                                                          1                              ⁢                              ⋯                                                                                ⁢                                                      p                            J                                                                                              )                                                                      ]                            2                                            ,where p1 . . . pJ are parameters from across the process window, w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ, D(s) is a desired edge location for a point s in the simulated geometry andS(s, p1 . . . pJ) is a simulated edge location for the point s under conditions determined by the values of the parameters p1 . . . pJ and the integral is taken over all edge pixels in the one or more printed features. 33. The apparatus of claim 31 wherein the error function E has the form:      E    =                  ∑                              p                          1              ⁢              ⋯                                ⁢                      p            J                              ⁢                          ⁢                        w          ⁡                      (                                          p                                  1                  ⁢                  ⋯                                            ⁢                              p                J                                      )                          ⁢                  ∫                                    ⅆ              s                        ·                                                            w                  ⁡                                      (                    s                    )                                                  ⁢                                                                  [                                                      D                    ⁡                                          (                      s                      )                                                        -                                      S                    ⁡                                          (                                              s                        ,                                                                              p                                                          1                              ⁢                              ⋯                                                                                ⁢                                                      p                            J                                                                                              )                                                                      ]                            2                                            ,where p1 . . . pJ are parameters from across the process window, w(p1 . . . pJ) are weights dependent on values of the parameters p1 . . . pJ, w(s) are position-dependent weights, D(s) is a desired edge location for a point s in the simulated geometry andS(s, p1 . . . pJ) is a simulated edge location for the point s under conditions determined by the values of the parameters p1 . . . pJ and the integral is taken over all edge pixels in the one or more printed features. 34. The apparatus of claim 25 wherein error function generator is configured to apply one or more different control layers to the error function wherein each control layer corresponds to a different portion of the reticle design and wherein the error function associated with a particular control layer is adapted to one or more requirements of a corresponding portion of a design to be printed with the reticle. 35. The apparatus of claim 34 wherein the one or more requirements of the corresponding portion of the design include a robustness requirement for the corresponding portion. 36. The apparatus of claim 25 wherein the reticle design includes one or more sub-resolution assist features. 37. A processor readable medium having embodied therein processor readable instructions including instructions implementing a method for optical proximity correction, the method comprising:generating a simulated geometry representing one or more printed features from a reticle using an optical proximity correction (OPC) model that takes into account a reticle design and one or more parameters from a process window of a lithographic process;forming an error function E that measures a deviation between the simulated geometry and a desired design of the one or more printed features, wherein the error function takes into account parameters (p0 . . . pJ) from across the process window in addition to, or in lieu of, a best focus and a best exposure for a stepper used in the lithographic process;adjusting the reticle design in a way that reduces the deviation as measured by the error function, thereby producing an adjusted reticle design.