Performing OPC on hardware or software platforms with GPU
First Claim
Patent Images
1. A method comprising:
- providing a system comprising at least one central processing unit and at least one graphics processing unit;
using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required;
allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; and
delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process,wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises;
partitioning of layout data, wherein each partition has overlapping regions or subregions from adjacent partitions, wherein the regions or subregions are partitioned into at least one of a square, trapezoid, or a polygonal shape, wherein the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises;
assembling the output results of each partition together to complete the layout data.
2 Assignments
0 Petitions
Accused Products
Abstract
Optical proximity correction techniques performed on one or more graphics processors improve the masks used for the printing of microelectronic circuit designs. Execution of OPC techniques on hardware or software platforms utilizing graphics processing units. GPUs may share the computation load with the system CPUs to efficiently and effectively execute the OPC method steps.
30 Citations
21 Claims
-
1. A method comprising:
-
providing a system comprising at least one central processing unit and at least one graphics processing unit; using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required; allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; and delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process, wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises; partitioning of layout data, wherein each partition has overlapping regions or subregions from adjacent partitions, wherein the regions or subregions are partitioned into at least one of a square, trapezoid, or a polygonal shape, wherein the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises; assembling the output results of each partition together to complete the layout data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
providing a system comprising at least one central processing unit and at least one graphics processing unit; using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required; allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process; and representing X and Y coordinates for two opposite corners of a two-dimensional trapezoidal shape of the data in a RGBA (RED-GREEN-BLUE-ALPHA) color space format in the graphics processing unit, wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises; analyzing a mask pattern to be written to a target material; augmenting the pattern using serifs where distortions cause feature shortening or thinning, wherein a serif comprises a positive serif or a negative serif; and splitting the mask pattern into two-dimensional subregions, wherein each of the subregions overlap with each other, and the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises; sending the subregions to individual processing nodes; and stitching together the layout information by removing overlapping regions.
-
-
19. A method comprising:
-
providing a system comprising at least one central processing unit and at least one graphics processing unit; using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required; allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process; and representing X and Y coordinates for a corner, a width, and a height of a two-dimensional trapezoidal shape of the data in a RGBA (RED-GREEN-BLUE-ALPHA) color space format in the graphics processing unit, wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises; analyzing a mask pattern to be written to a target material; augmenting the pattern using serifs where distortions cause feature shortening or thinning, wherein a serif comprises a positive serif or a negative serif; and splitting the mask pattern into two-dimensional subregions, wherein each of the subregions overlap with each other, and the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises; sending the subregions to individual processing nodes; and stitching together the layout information by removing overlapping regions.
-
-
20. A method comprising:
-
providing a system comprising at least one central processing unit and at least one graphics processing unit; using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required; allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process; and representing X and Y coordinates for a corner, a change in X, and a change in Y of a two-dimensional trapezoidal shape of the data in a RGBA (RED-GREEN-BLUE-ALPHA) color space format in the graphics processing unit, wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises; analyzing a mask pattern to be written to a target material; augmenting the pattern using serifs where distortions cause feature shortening or thinning, wherein a serif comprises a positive serif or a negative serif; and splitting the mask pattern into two-dimensional subregions, wherein each of the subregions overlap with each other, and the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises; sending the subregions to individual processing nodes; and stitching together the layout information by removing overlapping regions.
-
-
21. A method comprising:
-
providing a system comprising at least one central processing unit and at least one graphics processing unit; using at least one processor, separating an optical proximity correction process into tasks depending on a type of computation required; allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit; delivering output of the central processing unit and the graphics processing unit as a result of the optical proximity corrections process; and representing X and Y coordinates for a corner, an angle, and a scalar of a two-dimensional trapezoidal shape of the data in a RGBA (RED-GREEN-BLUE-ALPHA) color space format in the graphics processing unit, wherein the separating an optical proximity correction process into tasks depending on a type of computation required comprises; analyzing a mask pattern to be written to a target material; augmenting the pattern using serifs where distortions cause feature shortening or thinning, wherein a serif comprises a positive serif or a negative serif; and splitting the mask pattern into two-dimensional subregions, wherein each of the subregions overlap with each other, and the allocating the tasks of the optical proximity correction process to the central processing unit or the graphics processing unit comprises; sending the subregions to individual processing nodes; and stitching together the layout information by removing overlapping regions.
-
Specification