Data processing methods, charged particle beam irradiation device and computer-readable recording medium
Patent Information
- Application Number
- TW114110519
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-06-20
- Filing Date
- 2025-03-20
- Publication Date
- 2026-08-11
- Estimated Expiration
- 2045-03-19
AI Technical Summary
Existing data processing methods for calculating pixel intersections of curves in semiconductor device fabrication are inefficient due to high computational load and precision requirements, particularly when approximating curves into polygons with a large number of vertices.
The method involves aligning control points of parameter curves to a grid with specified intervals, using tables to retrieve positional relationships, and calculating intersection points by referring to these tables for high-speed and accurate image processing.
This approach allows for rapid and precise calculation of pixel intersections, reducing computational workload while maintaining high accuracy in image processing for semiconductor fabrication.
Smart Images

Figure TWG2TB001905661_001 
Figure TWG2TB001905661_002 
Figure TWG2TB001905661_003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a data processing method, a charged particle beam irradiation device, and a computer-readable recording medium. [Previous Technology]
[0002] With the increasing integration of LSIs, the required linewidths for semiconductor devices are becoming smaller year by year. In order to form the desired circuit pattern on semiconductor devices, the following method is used: a high-precision original pattern formed on quartz is reduced and transferred onto the wafer using a reduction projection exposure device. The fabrication of the high-precision original pattern uses electron beam lithography, a technique that forms the pattern by exposing the resist using an electron beam lithography device.
[0003] As an electron beam mapping apparatus, for example, a multi-beam mapping apparatus is known to improve output by irradiating many beams at once with multiple beams. In this multi-beam mapping apparatus, for example, an electron beam emitted from an electron gun is formed into multiple beams by passing through an aperture member having a plurality of openings, and each beam is blocked by a shielding plate. The unblocked beams are reduced by an optical system and irradiate the desired position on the photomask of the object being mapped.
[0004] When using a multi-beam drawing device for electron beam drawing, the coverage ratio of the input graphic is calculated for each pixel of a block divided into blocks of a specified size, and the irradiation dose of each beam is controlled. When the input graphic contains curves, the intersection points of the curves and the blocks are calculated, and the coverage ratio is determined using these intersection points. However, the higher the degree of the curve, the greater the processing load for intersection point calculation.
[0005] By approximating a curve into a polygon, intersection point calculation can be performed relatively easily. However, if high-precision approximation is used, the number of vertices of the approximate polygon increases, leading to the problem of significant time required for data processing. (Previous art documents, patent documents)
[0006] Patent Document 1: Japanese Patent Application Publication No. 2016-520920; Patent Document 2: Japanese Patent Application Publication No. 2022-053208; Patent Document 3: Japanese Patent Application Publication No. H08-016643 [Summary of the Invention]
[0007] Problem to be Solved by the Invention The problem to be solved by the present invention is to provide a data processing method, a charged particle beam irradiation device, and a computer-readable recording medium for calculating information necessary for image processing, including pixel intersections of curves, at high speed and with high accuracy. Technical Means for Solving the Problem
[0008] According to one aspect of the data processing method of the present invention, the positions of a plurality of control points of a first parameter curve representing the shape of a circuit pattern are rounded to a grid with a specified interval. For each of the plurality of second parameter curves, a table defining the positions of the control points and the parameters obtained from the curves is retrieved. The information used in the image processing of the circuit pattern is calculated by referring to the parameters of the second parameter curves with the same positional relationship and the plurality of control points rounded to the aforementioned grid.
[0009] A computer-readable recording medium according to one aspect of the present invention is a recording program that instructs a computer to perform the following steps: adjusting the positions of a plurality of control points of a first parametric curve representing the shape of a circuit pattern to a grid with predetermined intervals; and for each of a plurality of second parametric curves, retrieving a table defining the positions of control points and parameters derived from the curves, and calculating the information used in the image processing of the aforementioned circuit pattern by referring to the positions and corresponding parameters of the plurality of points of the second parametric curve having the same positional relationship and adjusted to the aforementioned grid.
[0010] A charged particle beam irradiation apparatus according to one aspect of the present invention comprises: an irradiation unit for irradiating a target object with a charged particle beam; a memory unit for storing tables defining the positions of control points and parameters derived from the curves for each of a plurality of second parameter curves; and a control unit for aligning the positions of a plurality of control points of a first parameter curve representing the shape of a circuit pattern to a grid at predetermined intervals, searching the aforementioned table, referring to the positions and corresponding parameters of the aforementioned plurality of points of a second parameter curve having positional relationships and being aligned with the aforementioned plurality of control points on the aforementioned grid, calculating information used in the image processing of the aforementioned circuit pattern, and controlling the aforementioned irradiation unit using the calculated information. Effects of the Invention
[0011] According to the present invention, it is possible to calculate the necessary information in image processing, such as pixel intersections of curves, at high speed and with high accuracy.
Implementation Method
[0013] Hereinafter, embodiments of the present invention will be described based on the drawings. In the embodiments, an example configuration using an electron beam as a charged particle beam will be described. However, the charged particle beam is not limited to an electron beam, and may also be an ion beam, etc.
[0014] FIG1 is a schematic configuration diagram of the drawing apparatus 100 according to the embodiment. As shown in FIG1, the drawing apparatus 100 includes a drawing unit 150 and a control unit 160. The drawing apparatus 100 is an example of a multi-charged particle beam drawing apparatus. The drawing unit 150 includes an electron optical lens barrel 102 and a drawing chamber 103. Inside the electron optical lens barrel 102, an electron gun 201, an illumination lens 202, a forming aperture array substrate 203, a blocking aperture array substrate 204, a reducing lens 205, an aperture limiting member 206, an object lens 207, and a deflector 208 are arranged.
[0015] An XY platform 105 is disposed within the drawing chamber 103. A substrate 101 of the object to be drawn is disposed on the XY platform 105. The substrate 101 may be, for example, a mask blank or a semiconductor substrate (silicon wafer). Furthermore, a position measuring mirror 210 is disposed on the XY platform 105.
[0016] The control unit 160 includes a control computer 110, a bias control circuit 130, a platform position detector 139, and memory units 140, 142, and 144. Drawing data is input from an external source and stored in the memory unit 140. The drawing data defines information about a plurality of graphic patterns describing semiconductor circuit patterns formed on the substrate 101. The graphic patterns include curves, the shape of which is defined, for example, as a cubic B-spline curve.
[0017] In the memory unit 142, a table is stored for each of the plurality of Bezier curves of various shapes. The table defines the position of the control point and the position on the Bezier curve corresponding to the plurality of parameters. The method for creating the table will be described later.
[0018] The control computer 110 includes an area density calculation unit 111, an irradiation time calculation unit 112, a data processing unit 113, and a drawing control unit 114. Each part of the control computer 110 can be constructed by hardware such as electronic circuits, or by software such as programs that execute these functions. Alternatively, it can be constructed by a combination of hardware and software. When it is constructed by software, the program that implements at least a portion of the functions of the control computer 110 is stored in a memory unit 144 (recording medium) such as a floppy disk or CD-ROM. The control computer 110 is a computer with a CPU, which reads and executes the program. The memory unit 144 is not limited to removable media such as magnetic disks or optical disks, but can also be a fixed recording medium such as a hard disk drive or memory.
[0019] The platform position detector 139 is a laser that is irradiated onto the mirror 210 and receives its reflected light, thereby detecting the position of the XY platform 105 using the principle of laser interferometry.
[0020] Figure 2 is a conceptual diagram illustrating the structure of the formed aperture array substrate 203. As shown in Figure 2, a plurality of openings 203a are formed in the formed aperture array substrate 203 along the longitudinal direction (y-direction) and the transverse direction (x-direction) at a predetermined spacing. Each opening 203a is preferably formed as a rectangle or circle of the same size and shape. A portion of the electron beam 200 passes through each of these plurality of openings 203a, thereby forming a multi-beam 20.
[0021] Through holes are formed in the aperture array plate 204 to match the arrangement positions of each opening 203a of the shaped aperture array substrate 203. A shielding device consisting of a pair of two electrodes is disposed in each through hole. For example, one electrode of the shielding device is grounded and maintained at a ground potential, while the other electrode is switched to a ground potential or a potential other than a ground potential, thereby switching the direction of the beam passing through the through hole to be on / off, thus performing shielding control. When the shielding device does not deflect the beam, the beam is on. When the shielding device deflects the beam, the beam is off. In this way, a plurality of shielding devices shield and deflect corresponding beams from among the multiple beams passing through the plurality of openings 203a of the shaped aperture array substrate 203.
[0022] The electron beam 200 emitted from the electron gun 201 (emission section) illuminates the entire formed aperture array plate 203 via the illumination lens 202. The electron beam 200 illuminates the area including all the openings 203a. The electron beam 200 passes through the plurality of openings 203a of the formed aperture array substrate 203, thereby forming a multi-beam 20 containing a plurality of individual beams. The overall shape of the beam array of the multi-beam 20 is, for example, rectangular.
[0023] The individual beams constituting the multi-beam 20 pass through the corresponding shields of the aperture array substrate 204. The shields deflect individual beams that are set to be closed. The shields do not deflect individual beams that are set to be open. The multi-beam 20 that has passed through the aperture array substrate 204 is reduced in size by the reducing lens 205 and travels toward the central opening formed in the aperture limiting member 206.
[0024] Here, individual beams controlled to be in a beam-off state are deflected by the shielding device and pass through a track that would otherwise pass through the opening of the aperture limiting member 206, thus being shielded by the aperture limiting member 206. On the other hand, individual beams controlled to be in a beam-on state are not deflected by the shielding device and thus pass through the opening of the aperture limiting member 206. In this way, shielding control is performed by opening / closing the deflection of the shielding device, controlling the opening / closing of individual beams. The shielding aperture array substrate 204 has the function of an irradiation time control unit to control the irradiation time of each beam of the multi-beam array.
[0025] The aperture limiting member 206 allows individual beams that are biased into a beam-on state by the shielding device of the aperture array substrate 204 to pass through, and shields individual beams that are biased into a beam-off state by the shielding device of the aperture array substrate 204. Then, the beams that have passed through the aperture limiting member 206 from the time they become beam-on to the time they become beam-off are used to form a single firing of multiple beams.
[0026] The multiple beams passing through the aperture limiting member 206 are focused by the objective lens 207 and form a pattern image with the desired reduction ratio on the substrate 101. Each beam (all of the multiple beams) passing through the aperture limiting member 206 is deflected in the same direction by the deflector 208 and illuminates the desired position on the substrate 101.
[0027] When the XY platform 105 moves continuously, the irradiation position of the beam is controlled by the deflector 208 at least during the period when the beam is irradiated onto the substrate 101, so that the irradiation position of the beam follows the movement of the XY platform 105. Ideally, the multiple beams irradiated at one time will be arranged side by side with the spacing between them obtained by multiplying the arrangement spacing of the plurality of openings 203a of the formed aperture array substrate 203 by the aforementioned desired reduction rate.
[0028] Next, the method for creating the table stored in the memory unit 142 will be explained. The depicted graphic pattern includes a plurality of frequently used curves. These curves are represented as cubic Bézier curves (second parameter curves) and a table is created. This table defines the positions of the control points of the cubic Bézier curves and their positions on the Bézier curves corresponding to the plurality of parameters. The cubic Bézier curves defined in the table are either monotonically increasing curves as shown in Figures 3A and 3B, or monotonically decreasing curves as shown in Figures 3C and 3D. Although this embodiment describes an example using Bézier curves, other parameter curves such as NURBS (nonuniform rational B-spline) curves can also be used.
[0029] In a 3rd-order Bezier curve, as shown in Figure 4, the curve is represented by four control points. Of the four control points P0 to P3, the start point P0 and the end point P3 (the endpoints) are located on the curve. The start point P0 is used as the reference point (origin), and the positions of the other three control points P1 to P3 are defined in the table. Here, control points P0 to P3 are positioned on a grid with specified intervals. The grid interval is determined based on the required precision. For example, the grid interval is approximately 1 / 100 to 1 / 200 of the dimension of the Bezier curve in the X or Y direction.
[0030] Furthermore, the cubic Betz curve is a parametric curve, and the curve (x(t), y(t)) is represented by the parameter t (0≦t≦1). As shown in Figure 5, t=0 corresponds to the starting point P0, and t=1 corresponds to the ending point P3. The positions (x-coordinates, y-coordinates) on the curve are defined in a table for a complex number of t values. For example, the parameter t in the range of 0~1 is divided into 100 equal parts, and the positions of each t value on the curve are defined in a table.
[0031] Figure 6 illustrates an example of the values defined in the table. The coordinates of the other three control points P1~P3 are defined in the table, with the starting point P0 as the reference point. Furthermore, the positions of points on the curve at t=0.01 (X1, Y1), at t=0.02 (X2, Y2), ..., at t=0.99 (X99, Y99) are defined in the table.
[0032] For multiple Bézier curves of various shapes, a table with information as shown in Figure 6 is created in advance and stored in the memory unit 142. The Bézier curves with defined information in the table are mostly used in graphic patterns. In addition, the graphic patterns recorded in the drawing data in the memory unit 140 can also be analyzed, and information as shown in Figure 6 can be defined in the table for Bézier curves of frequently used shapes.
[0033] Next, the pattern drawing method of this embodiment will be described according to the flowchart shown in FIG. 7. In the pattern area density calculation process (step S1), the area density calculation unit 111 imagines dividing the drawing area of the substrate 101 into a plurality of rectangular mesh areas (divided block areas). The size of the mesh area is, for example, the same as the size of one beam, and each mesh area is called a pixel (unit irradiation area). The area density calculation unit 111 reads the drawing data from the memory unit 140, calculates the pattern area density (coverage ratio) ρ of each pixel using the pattern defined in the drawing data, and generates a pixel map defining the coverage ratio of each pixel. The method for generating the pixel map will be described later.
[0034] In the irradiation time calculation process (step S2), the irradiation time calculation unit 112 multiplies the pattern area density ρ by the reference irradiation amount D0 to calculate the irradiation amount ρD0 of the beam irradiating each pixel. The irradiation time calculation unit 112 may also multiply by a correction factor used to correct for proximity effects, etc. The irradiation time calculation unit 112 divides the irradiation amount by the current amount of each of the plurality of beams constituting the multiple beams to calculate the irradiation time of each of the plurality of beams.
[0035] In the process of generating irradiation time control data (step S3), the data processing unit 113 rearranges the irradiation time data into a firing sequence following the drawing sequence to generate irradiation time control data.
[0036] In the data transfer process (step S4), the drawing control unit 114 outputs irradiation time control data to the deflection control circuit 130. The deflection control circuit 130 outputs irradiation time control data to each deflector in the deflection aperture array plate 204.
[0037] In the drawing process (step S5), the drawing control unit 114 controls the drawing unit 150 to perform drawing processing on the substrate 101. Each masker of the masking aperture array plate 204 switches the beam on / off based on the irradiation time control data to give each pixel the desired exposure.
[0038] Figure 8 is a conceptual diagram used to illustrate the drawing operation. As shown in Figure 8, the drawing area 80 of the substrate 101 is, for example, imaginarily divided into a plurality of striped regions 82 in the y-direction (first direction) with a predetermined width. First, the XY platform 105 is moved and adjusted so that the irradiation area (beam array) 84 that can be irradiated by a single multi-beam irradiation is located at the left end of the first striped region 82, and drawing begins.
[0039] When drawing the first fringe region 82, the XY platform 105 is moved in the -x direction, thereby gradually progressing the drawing in the +x direction. The XY platform 105 is moved continuously at a predetermined speed. After the drawing of the first fringe region 82 is completed, the platform position is moved in the -y direction and adjusted so that the beam array 84 is located at the right end of the second fringe region 82. Next, the XY platform 105 is moved in the +x direction, thereby drawing in the -x direction.
[0040] The third fringe region 82 is drawn in the +x direction, and the fourth fringe region 82 is drawn in the -x direction. By alternating the direction while drawing, the drawing time can be shortened. Alternatively, each fringe region 82 can always be drawn in the same direction, that is, either the +x direction or the -x direction.
[0041] Next, the pixel image generation method performed by the area density calculation unit 111 will be described according to the flowchart shown in FIG9.
[0042] The area density calculation unit 111 reads the drawing data from the memory unit 140 and transforms the curve of the graphic pattern defined by the cubic B-curve curve into a cubic Bézier curve (step S101). For example, the cubic B-curve curve shown in FIG10A is transformed into the cubic Bézier curve shown in FIG10B. FIG10C shows an example of the transformation.
[0043] In a 3rd-order Betz curve, as shown in Figure 11A, the curve is represented by 4 control points. That is, in the example shown in Figure 10B, the pattern formed by connecting the 4 control points surrounds the graphic. Among the 4 control points, the start point and the end point (endpoints) are located on the curve.
[0044] The area density calculation unit 111 divides the curve represented by four control points into finer Betz curves at the positions of extreme values and inflection points (step S102). The inflection point is the point where the curvature = (dPx / dt)(dPy² / dt²) - (dPy / dt)(dPx² / dt²) = 0. The extreme values are the points where dPx / dt = 0 and dPy / dt = 0.
[0045] For example, the Betz curve shown in Figure 11A contains one maximum, one minimum and one inflection point, and is therefore divided into four Betz curves B1 to B4 as shown in Figure 11B.
[0046] As shown in Figure 11C, the segmented Betz curve (the first parameter curve) becomes a curve element that monotonically increases or monotonically decreases in the X and Y directions.
[0047] The area density calculation unit 111 calculates the intersection point with the boundary of the mesh area (pixel) for each segmented Bezier curve (step S103).
[0048] In the intersection calculation, firstly, the area density calculation unit 111 selects the unselected one from the multiple divided Bezier curves, and rounds the four control points of the selected Bezier curve onto a grid with a specified interval. The grid interval is the same as the grid interval when the table is created.
[0049] Figure 12 illustrates an example of aligning control point P1 onto the grid, that is, moving it to the nearest grid.
[0050] The area density calculation unit 111 searches the table in the memory unit 142 to see if a curve is defined that has the same positional relationship as the four control points after being rounded onto the grid. When determining whether a curve has control points with this same positional relationship, for example, if the value defined in the table is based on the starting point P0 as the reference point, as explained in Figure 6, and the coordinates of the other three control points P1 to P3 are defined in the table, the starting point P0 of the Bezier curve on the grid that has been rounded to the specified interval is used as the reference point, and the determination is made by checking whether the coordinates of the other three control points P1 to P3 are defined in the table. When a curve with the same positional relationship of the four control points is defined in the table, the area density calculation unit 111 calculates the intersection point with the boundary of the mesh area by referring to the relationship between the parameter t in the table and the position on the curve.
[0051] For example, when the position of intersection point K1 shown in Figure 13 is calculated, the X coordinate XLeft of the boundary of the mesh area is known. Referring to the X positions X1 to X99 corresponding to the parameters t = 0.01 to 0.99 defined in the table shown in Figure 6, the i that becomes Xi ≦ XLeft ≦ Xi+1 is calculated. Then, using the parameters corresponding to Xi and Xi+1 that are close to the boundary, the parameter t corresponding to XLeft is calculated by interpolation. The Y coordinate on the curve is calculated from the parameter t corresponding to XLeft, and the position of intersection point K1 is obtained.
[0052] For example, X25≦XLeft≦X26, the parameter t corresponding to XLeft is calculated to be 0.254 by interpolation. The Y coordinates corresponding to the parameter t=0.254 are calculated from Y25 and Y26, and the position of the intersection point K1 is obtained.
[0053] The position of intersection point K2 shown in Figure 13 is also obtained using the same method. The Y-coordinate YTop of the boundary of the mesh area is known. Referring to the Y-positions Y1 to Y99 corresponding to the parameters t = 0.01 to 0.99 defined in the table shown in Figure 6, we calculate j, which becomes Yj ≦ YTop ≦ Yj+1. Then, using the parameters corresponding to Yj and Yj+1, we interpolate to calculate the parameter t corresponding to YTop. From the parameter t corresponding to YTop, we calculate the X-coordinate on the curve to obtain the position of intersection point K2.
[0054] This method rounds the control points of the Betz curve onto the grid and calculates the parameter t of the intersection point K1 by interpolation. Therefore, the calculated position of the intersection point K1 will deviate from the true value, but the difference is small. The narrower the grid spacing, the smaller this difference. By referring to the values in the table, the computational cost of calculating the position of the intersection point K1 can be reduced, while the position of the intersection point K1 can be calculated quickly and with good accuracy.
[0055] When the table does not define a curve with the same positional relationship for the four control points, known curve processing is performed to calculate the intersection point with the mesh area. In this case, the computational workload of intersection point calculation will be greater than that of the method referring to the table.
[0056] The area density calculation unit 111 sequentially selects all (segmented) Bezier curves around the graphic and performs the above-mentioned processing to calculate the intersection point with the boundary of the mesh area.
[0057] The area density calculation unit 111 uses the calculated intersection points to calculate the coverage rate (area density) of each pixel using a known method, and generates a pixel map (step S104). For example, as shown in FIG14, the pixel is divided into a triangular part (A1, A3) and a curved fan part (A2), and the area of each part is calculated. The area of the curved fan part is obtained by line integral, which defines the intersection points of the pixels as the range. The coverage rate of the pixel is obtained by adding the areas of the triangular part and the curved fan part. The irradiation time calculation unit 112 uses the pixel map when calculating the beam irradiation amount for each pixel.
[0058] In this embodiment, the control points of the Bezier curve are rounded onto the grid, and the parameter t of the intersection point of the pixel boundary (the boundary of the pixel; the boundary of the mesh area) and the Bezier curve is obtained by interpolation with reference to the table. In this way, the intersection point can be calculated at high speed and with high accuracy corresponding to the grid spacing.
[0059] In the above embodiment, an example was described in which the parameter t in the range of 0 to 1 was divided equally, and the positions (x-coordinates, y-coordinates) of the points on the Bezier curve corresponding to each parameter value were defined in a table. However, the size of the Bezier curve in the X direction can also be divided equally, and the values of the parameter t and y-coordinates corresponding to the points in each x-coordinate can be defined in a table. In addition, regions of large change in the Y direction of the Bezier curve can be finely divided in the X direction, and regions of small change in the Y direction can be coarsely divided in the X direction, and the values of the parameter t and y-coordinates corresponding to the points in the divided x-coordinate can be defined in a table.
[0060] Alternatively, multiple tables with different numbers of divisions for the parameter t in the range of 0 to 1 can be created and stored in the memory unit 142. Tables with a large number of divisions are suitable for high-precision drawing, while tables with a small number of divisions are suitable for high-speed drawing with lower precision. The area density calculation unit 111 switches the table used according to the required drawing precision.
[0061] Alternatively, the Bezier curve can be standardized and tabulated. For example, it can be standardized by setting the X position of the start point of the Bezier curve to 0 and the X position of the end point to 1. The control points of the standardized Bezier curve are set on a grid. The standardized Bezier curve is divided in the X direction with a specified index size, and a table is created defining the value of the parameter t corresponding to each division point. When calculating the intersection point, the Bezier curve of the calculation object is standardized, the standardized control points are rounded onto the grid, the table is searched, and the curves with the same positional relationship of the four control points rounded onto the grid are extracted. Referring to the parameters corresponding to the division points of the extracted curves, the parameter t of the intersection point is calculated by linear interpolation.
[0062] In the above embodiment, an example is described in which a table is prepared to establish a correspondence between the parameter t of the Bezier curve and the position on the curve, and the intersection point is calculated by referring to the table to determine the pixel coverage rate. However, a table can also be made that defines the centroid of the area surrounded by the Bezier curve by the line segment connecting the start point and the end point of the Bezier curve.
[0063] For example, as shown in Figure 15, a table is created using the starting point P0 of the Bezier curve as the reference point (origin), corresponding to the positions of the other three control points P1 to P3, and the centroid G of the region enclosed by the Bezier curve, established by the line segment connecting the starting point P0 and the ending point P3. Here, the control points P0 to P3 are defined as being located on a grid with specified intervals. The centroid G can be calculated from the positions of the four control points P0 to P3 using well-known centroid calculations.
[0064] The centroid is calculated during the illumination correction in the pattern depiction process. The control points of the Bezier curve of the object to be calculated are rounded onto the grid. A table is searched, and the centroid corresponding to the curve with the same positional relationship and the same four control points rounded onto the grid is extracted. Since the control points of the Bezier curve of the object to be calculated are rounded onto the grid, the position of the centroid will deviate from the true value, but the difference from the true value is small. By using the values in the table, the computational load can be suppressed, and the position of the centroid can be calculated at high speed and with good accuracy.
[0065] Alternatively, the Bezier curve can be standardized to create a table of centroids. For example, the Bezier curve can be standardized by performing parallel translation, rotation, and scaling, with the starting point being (0, 0) and the ending point being (1, 0). The control points of the standardized Bezier curve are located on a grid. A table is created to correspond the centroids to the positions of the standardized control points. When calculating the centroid, the Bezier curve of the calculation object is standardized, the standardized control points are rounded onto the grid, the table is searched, and the centroids corresponding to the curves with the same positional relationship and the four control points rounded onto the grid are extracted. Then, the position of the extracted centroid is subjected to the inverse transformation (parallel translation, rotation, and scaling) performed during the standardization of the Bezier curve to obtain the centroid.
[0066] Alternatively, the starting point P0 of the Bezier curve can be used as the reference point (origin), and a table can be created to correspond the positions of the other three control points P1~P3, and the area of the region enclosed by the Bezier curve by the line segment connecting the starting point P0 and the ending point P3. Area calculations are performed during proximity effect correction in pattern rendering processing. The control points of the Bezier curve of the calculation object are rounded onto the grid, the table is searched, and the corresponding area is established by extracting the curve with the same positional relationship and the same four control points rounded onto the grid. Since the control points of the Bezier curve of the calculation object are rounded onto the grid, the calculated area will deviate from the true value, but the difference is small. By using the values in the table, the computational load can be suppressed, and the area can be calculated quickly and with good accuracy.
[0067] Alternatively, the starting point P0 of the Bezier curve can be used as the reference point (origin), and a table can be created to correspond the positions of the other three control points P1~P3 with the curvature of the Bezier curve. Curvature calculation is performed when correcting biases in pattern drawing processing. The control points of the Bezier curve of the calculation object are rounded onto the grid, the table is searched, and the curvature corresponding to the curve with the same positional relationship and the same four control points rounded onto the grid is extracted. Since the control points of the Bezier curve of the calculation object are rounded onto the grid, the calculated curvature will deviate from the true value, but the difference from the true value is small. By using the values in the table, the amount of calculation can be suppressed, and the curvature can be calculated at high speed and with good accuracy.
[0068] A table is created based on the image processing of the implemented circuit pattern (such as calculating the intersection of pixel boundaries and the Bezier curve, calculating the position of the centroid of the area surrounded by the Bezier curve by the line segment connecting the start and end points of the Bezier curve, calculating the area of the area surrounded by the Bezier curve by the line segment connecting the start and end points of the Bezier curve, calculating the curvature of the Bezier curve, etc.) and stored in the memory unit 142.
[0069] In the above embodiments, an example of transforming the curve of a graphic pattern defined by a 3rd-order B-curve into a 3rd-order Bézier curve has been described, but the order of the parametric curve is not limited to 3. Similarly, the order of the Bézier curves defined in the table is not limited to 3.
[0070] In the above embodiments, an example of input graphics represented by B-curves is described. However, as long as it can be transformed into a Bézier curve, graphics represented by other parametric curves can also be used as input data.
[0071] The table stored in memory unit 142 can also be reused by reversing or rotating the defined data, thereby reducing the number of data patterns defined in the table. The table can also be saved on another computer connected via the network.
[0072] The above embodiments describe a pattern drawing apparatus for drawing patterns on a substrate, but it can also be applied to other irradiation apparatuses, such as inspection apparatuses, that irradiate objects with beams. For example, as an inspection method for pattern inspection apparatus for inspecting defects in photomasks, there is "die-to-database inspection," which involves inputting drawing data (semiconductor circuit data) into the inspection apparatus, generating a reference image based on this data, and comparing the reference image with an optical image obtained by photographing the pattern as measurement data. When performing image processing to generate a reference image from the drawing data, the method described in the above embodiments can be used.
[0073] Furthermore, the above embodiments describe a multi-beam irradiation device that uses multiple beams to irradiate a number of beams at once, but the same method also applies to a single-beam irradiation device that irradiates a substrate of the irradiated object with one beam.
[0074] The program that enables at least a portion of the functions of the computer 110 may also be distributed via communication lines such as the Internet (including wireless communication). Alternatively, the program may be distributed via wired or wireless lines such as the Internet, or stored on recording media, in a encrypted, modulated, or compressed state.
[0075] Although the present invention has been described in detail using specific embodiments, those skilled in the art will understand that various modifications can be made within the scope of achieving the effects of the invention. This application is based on Japanese Patent Application No. 2024-099822, filed on June 20, 2024, the entirety of which is incorporated herein by reference. [Simplified Explanation of the Diagram]
[0012] [Fig. 1] A schematic diagram of a multi-charged particle beam drawing apparatus according to an embodiment of the present invention. [Fig. 2] A plan view of a shaped aperture array substrate. [Fig. 3] Figs. 3A to 3D are diagrams illustrating monotonically increasing or monotonically decreasing curves. [Fig. 4] A diagram illustrating an example of a third-order Betz curve. [Fig. 5] A diagram illustrating an example of a third-order Betz curve. [Fig. 6] A diagram illustrating an example of a table defining the relationship between parameters and positions on the curve. [Fig. 7] A flowchart illustrating the drawing method. [Fig. 8] A diagram illustrating the drawing operation. [Fig. 9] A flowchart illustrating the pixel image generation method. [Fig. 10] Fig. 10A is a diagram illustrating an example of a B-curve curve, Fig. 10B is a diagram illustrating an example of a Betz curve, and Fig. 10C is a diagram illustrating a transformation. [Fig. 11] Fig. 11A is a diagram illustrating an example of a Betz curve, Fig. 11B is a diagram illustrating an example of a segmented Betz curve, and Fig. 11C is a diagram illustrating an example of a segmented Betz curve. [Fig. 12] A diagram illustrating an example of control point rounding. [Figure 13] A diagram illustrating an example of pixel intersection points. [Figure 14] A diagram illustrating an example of pixel coverage calculation. [Figure 15] A diagram illustrating an example of the centroid of a Bezier curve.
Claims
1. A data processing method comprising rounding the positions of a plurality of control points of a first parametric curve representing the shape of a circuit pattern to the vertices of the grids closest to each of the aforementioned control points on a grid with a specified interval; for each of the plurality of second parametric curves, retrieving a table defining the positions of the control points and the parameters derived from the curves; referring to the aforementioned parameters of the second parametric curves of control points having the same positional relationship and rounded to the aforementioned grids, and calculating the information used in the image processing of the aforementioned circuit pattern.
2. The data processing method as described in request item 1, wherein, The parameters obtained from the aforementioned curve are the positions of a plurality of points on the aforementioned second parameter curve and the parameters corresponding to the aforementioned plurality of points. The information used in the image processing of the aforementioned circuit pattern is the intersection of the boundary line of the rectangular division area into which the irradiated object of the charged particle beam is divided into a specified size and the aforementioned first parameter curve.
3. The data processing method as described in request item 2, wherein, Using the parameters corresponding to two points on the multiple points of the aforementioned reference second parameter curve and the two points close to the boundary line of the aforementioned divided area, the parameters of the aforementioned intersection point are calculated by interpolation.
4. The data processing method as described in request item 3, wherein, Using the aforementioned intersection points, the coverage rate of the aforementioned circuit pattern in the aforementioned divided block area is calculated.
5. The data processing method as described in request item 1, wherein, The parameters derived from the aforementioned curves are the position of the centroid of the region enclosed by the line segment connecting the start and end points of the first parameter curve and the second parameter curve. The information used in the image processing of the aforementioned circuit pattern is the position of the centroid of the region enclosed by the line segment connecting the start and end points of the first parameter curve and the first parameter curve.
6. The data processing method as described in request item 1, wherein, The parameters derived from the aforementioned curve are the area of the region enclosed by the line segment connecting the start and end points and the second parameter curve. The information used in the image processing of the aforementioned circuit pattern is the area of the region enclosed by the line segment connecting the start and end points of the aforementioned first parameter curve and the aforementioned first parameter curve.
7. The data processing method as described in request item 1, wherein, The parameter obtained from the aforementioned curve is the curvature of the second parameter curve, and the information used in the image processing of the aforementioned circuit pattern is the curvature of the aforementioned first parameter curve.
8. The data processing method as described in request item 1, wherein, The parametric curve representing the shape of the aforementioned circuit pattern is segmented at the positions of extreme values and inflection points to generate the aforementioned first parametric curve.
9. The data processing method as described in request item 1, wherein, The aforementioned first parameter curve and the aforementioned second parameter curve are Betz curves.
10. The data processing method as described in request item 1, wherein, The aforementioned circuit pattern is a semiconductor circuit pattern.
11. A computer-readable recording medium, which records a program that instructs a computer to perform: the steps of aligning the positions of a plurality of control points of a first parametric curve representing the shape of a circuit pattern to the vertices of the grids closest to each of the aforementioned control points on a grid with predetermined intervals; and the steps of, for each of a plurality of second parametric curves, retrieving a table defining the positions of the control points and the parameters derived from the curves, referring to the positions and corresponding parameters of the plurality of points of the second parametric curves having positional relationships and being aligned to the same plurality of control points on the aforementioned grids, and calculating information used in the image processing of the aforementioned circuit pattern.
12. A charged particle beam irradiation apparatus comprising: an irradiation unit for irradiating an object with a charged particle beam; a memory unit for storing, for each of a plurality of second parameter curves, a table defining the positions of control points and parameters derived from the curves; and a control unit for aligning the positions of a plurality of control points of a first parameter curve representing the shape of a circuit pattern to the vertices of the grids closest to each control point at predetermined intervals, searching the aforementioned table, referring to the positions and corresponding parameters of the plurality of points of the second parameter curves having positional relationships and being aligned with the plurality of control points on the aforementioned grids, calculating information used in image processing of the circuit pattern, and controlling the aforementioned irradiation unit using the calculated information.
13. The charged particle beam irradiation apparatus as described in claim 12, wherein, The aforementioned memory unit stores multiple tables with different numbers of points on the aforementioned second parameter curve, and the aforementioned control unit switches the table of the search target based on the required accuracy of the aforementioned circuit pattern.
Citation Information
Patent Citations
Hierarchical representation of two-dimensional or three-dimensional shapes
JP2018533053A
Lithography data generation method, program, multi-charged particle beam lithography apparatus, and pattern inspection apparatus
JP2019057562A