Determining method for line segment intersections within drawing data figure, determining device for line segment intersections within drawing data figure, program, and electron beam drawing device

By categorizing polygons into monotone and non-monotone types and optimizing scanning directions, the method efficiently determines line segment intersections, reducing processing time in multi-beam drawing apparatuses.

JP2025000376APending Publication Date: 2025-01-07NUFLARE TECH INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023100196
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Existing methods for determining line segment intersections in multi-beam drawing apparatuses are inefficient, particularly when dealing with complex polygonal figures, leading to increased processing time due to the large number of intersections that need to be checked.

Method used

A method and device for determining line segment intersections within drawing data by categorizing figures into monotone and non-monotone polygons, utilizing different intersection determination processes based on the shape of the polygons, and optimizing the scanning direction to reduce the number of intersection checks.

Benefits of technology

This approach significantly reduces the time required for intersection determination by minimizing the number of intersection checks, thereby enhancing the efficiency of the process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000376000001_ABST
    Figure 2025000376000001_ABST
Patent Text Reader

Abstract

PURPOSE: To provide a method capable of efficiently determining intersections between line segments in a figure of polygonal figure data defined in drawing data.CONSTITUTION: A method for determining line segment intersections within a figure of drawing data according to an embodiment of the present invention includes the steps of storing the drawing data in a storage device, reading the drawing data from the storage device, and determining the shape of each figure, one of two orthogonal directions being the x-direction and the other being the y-direction, and performing different intersection determination processing depending on the shape of the figure and outputting the results. When the shape of the figure is determined to be an xy monotonic polygon and a convex polygon as a result of the shape determination, and the intersection determination processing is omitted.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present invention relates to a method for determining line segment intersections within a figure in drawing data, a device for determining line segment intersections within a figure in drawing data, a program, and an electron beam drawing device, and relates to, for example, a technique for determining whether or not a line segment intersection exists within a figure defined in drawing data used for multi-beam drawing. [Background technology]

[0002] Lithography technology, which is responsible for the advancement of miniaturization of semiconductor devices, is the only extremely important process in semiconductor manufacturing that generates patterns. In recent years, with the increasing integration density of LSIs, the circuit line width required for semiconductor devices has been getting finer year by year. Here, electron beam (EB) lithography technology has inherently excellent resolution, and lithography is carried out using an electron beam to draw on wafers, etc.

[0003] For example, there is a lithography system that uses multiple beams. Compared to lithography using a single electron beam, using multiple beams allows for the irradiation of many beams at once, thereby significantly improving throughput. In such a lithography system, for example, an electron beam emitted from an electron gun is passed through a mask with multiple holes to form multiple beams, each of which is blanked, and the unblocked beams are reduced in size by an optical system, deflected by a deflector, and irradiated onto the desired position on the sample.

[0004] In single-beam lithography, typified by the variable beam shaping (VSB) method, a desired pattern is drawn by combining trapezoidal, rectangular, and triangular graphic patterns, for example. Therefore, when inspecting the shape of each graphic pattern defined in the drawing data input to the drawing device, it is sufficient to check the width and height of each graphic pattern. On the other hand, in multi-beam lithography, drawing is performed using a raster method, so in addition to the above-mentioned shapes, graphic data can also include polygons, which have more vertices than quadrilaterals. When creating such polygon data, there is a problem in that the line segments constituting the figure may intersect due to errors in vertex coordinates, etc. Therefore, it is necessary to check for the presence or absence of line segments intersecting within the figure before the drawing process.

[0005] In such intersection detection processing, there is a problem in that the time required for intersection detection increases when there are a large number of line segments to be detected for intersection. Therefore, it is desirable to reduce the time required for such intersection detection.

[0006] Although not a polygon, a method for detecting self-intersections in a three-dimensional curve model has been disclosed (see Patent Document 1). [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-065534 Summary of the Invention [Problem to be solved by the invention]

[0008] One aspect of the present invention provides a method capable of efficiently determining intersections between line segments within a polygonal graphic data figure defined in drawing data. [Means for solving the problem]

[0009] A method for determining line segment intersections within a figure of drawing data according to one aspect of the present invention includes: storing the drawing data in a storage device; a step of reading out drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as an x-direction and the other defined as a y-direction; a step of performing different intersection detection processes depending on the shape of the figure and outputting the results; Equipped with If the result of the shape determination is that the shape of the graphic is an xy monotonic polygon and a convex polygon, the intersection determination process is omitted.

[0010] Further, a method for determining line segment intersections within a figure of drawing data according to another aspect of the present invention comprises: storing the drawing data in a storage device; a step of reading out drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as an x-direction and the other defined as a y-direction; a step of performing different intersection detection processes depending on the shape of the figure and outputting the results; Equipped with If the result of the shape determination is that the shape of the figure is an x-monotonic polygon, the intersection determination process uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends monotonically in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that contains the x coordinate of the reference line as the object of intersection determination, and excludes the remaining line segments from the object of intersection determination with the reference line.

[0011] Further, a method for determining line segment intersections within a figure of drawing data according to another aspect of the present invention comprises: storing the drawing data in a storage device; a step of reading the drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as an x-direction and the other defined as a y-direction; a step of performing different intersection detection processes depending on the shape of the figure and outputting the results; Equipped with If the result of the shape determination is that the shape of the figure is a y-monotonic polygon, the intersection determination process uses a line segment whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that contains the y coordinate of the reference line as the object of intersection determination, and excludes the remaining line segments from the object of intersection determination with the reference line.

[0012] Further, a method for determining line segment intersections within a figure of drawing data according to another aspect of the present invention comprises: storing the drawing data in a storage device; a step of reading the drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as an x-direction and the other defined as a y-direction; a step of performing different intersection detection processes depending on the shape of the figure and outputting the results; Equipped with If the result of shape determination is that the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination process calculates the x-coordinate displacement direction and y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect by using the direction in the x or y direction that has the fewest vertices whose displacement direction changes from positive to negative or from negative to positive as the scanning direction.

[0013] In addition, the process of performing the intersection determination process is an internal process, a step of replacing each line segment of the target figure that is a monotonic outer polygon with a line segment that is parallel to a predetermined scanning direction, and creating a list of each line segment that is parallel to the scanning direction, when the shape of the target figure is a monotonic outer polygon as a result of the shape determination; a step of sorting the created line segment list; extracting line segments that may intersect with a predetermined reference line; It is preferable to have the following.

[0014] Preferably, the method further comprises the step of storing, in a storage device, information on the shape, the pair of line segments where the intersection occurred, and the coordinates of the intersection point for the line segments where the intersection occurred as a result of the intersection determination.

[0015] An apparatus for determining line segment intersections within a graphic of drawing data according to one aspect of the present invention comprises: a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If the result of the shape determination is that the shape of the graphic is an xy monotonic polygon and a convex polygon, the intersection determination process is omitted.

[0016] Another aspect of the present invention is a device for determining line segment intersections within a graphic of drawing data, a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If the result of the shape determination is that the shape of the figure is an x-monotonic polygon, the intersection determination processing unit uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends monotonically in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that includes the x coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

[0017] Another aspect of the present invention is a device for determining line segment intersections within a graphic of drawing data, a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If the shape determination result shows that the shape of the figure is a y-monotonic polygon, the intersection determination processing unit uses a line segment as a reference line whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction, and determines whether the line segments intersect with each other, using the opposite side that includes the y coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

[0018] Another aspect of the present invention is a device for determining line segment intersections within a graphic of drawing data, a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If, as a result of the shape determination, the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination processing unit calculates the x-coordinate displacement direction and y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect, using the x-direction or y-direction as the scanning direction that has the fewest vertices whose displacement direction changes from positive to negative or from negative to positive.

[0019] A program to be executed by a computer according to one aspect of the present invention comprises: a function of storing the drawing data in a storage device; a function of reading the drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as the x-direction and the other as the y-direction; A function of performing different intersection detection processes depending on the shape of the figure and outputting the results; Equipped with If the result of the shape determination is that the shape of the figure is an xy monotonic polygon and a convex polygon, the intersection determination process is omitted.

[0020] Another aspect of the present invention provides a program for causing a computer to execute the program, a function of storing the drawing data in a storage device; a function of reading the drawing data from the storage device, and determining the shape of each figure, with one of two orthogonal directions defined as an x-direction and the other as a y-direction; A function to perform different intersection detection processes depending on the shape of the figure and output the results; Equipped with If the result of the shape determination is that the shape of the figure is an x-monotonic polygon, the intersection determination process uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends monotonically in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether the line segments intersect with each other by using the opposite side that contains the x coordinate of the reference line as the object of intersection determination, and excludes the remaining line segments from the object of intersection determination with the reference line.

[0021] Another aspect of the present invention provides a program for causing a computer to execute the program, a function of storing the drawing data in a storage device; a function of reading the drawing data from a storage device, and determining the shape of each figure, with one of two orthogonal directions defined as the x-direction and the other as the y-direction; A function to perform different intersection detection processes depending on the shape of the figure and output the results; Equipped with If the result of the shape determination is that the shape of the figure is a y-monotonic polygon, the intersection determination process uses a line segment whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that contains the y coordinate of the reference line as the object of intersection determination, and excludes the remaining line segments from the object of intersection determination with the reference line.

[0022] Another aspect of the present invention provides a program for causing a computer to execute the program, a function of storing the drawing data in a storage device; A function of reading drawing data from a storage device, and determining the shape of each figure, one of two orthogonal directions being the x-direction and the other being the y-direction; A function to perform different intersection detection processes depending on the shape of the figure and output the results; A program for causing a computer to execute the above, If the result of shape determination is that the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination process calculates the x-coordinate displacement direction and y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect by using the direction in the x or y direction that has the fewest vertices whose displacement direction changes from positive to negative or from negative to positive as the scanning direction.

[0023] An electron beam lithography apparatus according to one aspect of the present invention comprises: a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism that draws, on a sample, a pattern of each figure in which the line segments that constitute the pattern do not intersect with each other, using an electron beam; Equipped with If the result of the shape determination is that the shape of the figure is an xy monotonic polygon and a convex polygon, the intersection determination process is omitted.

[0024] Another aspect of the electron beam lithography apparatus of the present invention is a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism that draws, on a sample, a pattern of each figure in which the line segments that constitute the pattern do not intersect with each other, using an electron beam; Equipped with If the result of the shape determination is that the shape of the figure is an x-monotonic polygon, the intersection determination processing unit uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends monotonically in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that includes the x coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

[0025] Another aspect of the electron beam lithography apparatus of the present invention is a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism that draws, on a sample, a pattern of each figure in which the line segments that constitute the pattern do not intersect with each other, using an electron beam; Equipped with If the result of the shape determination is that the shape of the figure is a y-monotonic polygon, the intersection determination processing unit uses a line segment as a reference line whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction, and determines whether the line segments intersect with each other, using the opposite side that includes the y coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

[0026] Another aspect of the electron beam lithography apparatus of the present invention is a storage device that stores drawing data; a shape determination unit that reads out drawing data from the storage device and determines the shape of each figure in two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; an intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism that draws, on a sample, a pattern of each figure in which the line segments that constitute the pattern do not intersect with each other, using an electron beam; Equipped with If, as a result of the shape determination, the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination processing unit calculates the x-coordinate displacement direction and y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect, using the x-direction or y-direction as the scanning direction that has the fewest vertices whose displacement direction changes from positive to negative or from negative to positive. [Effects of the Invention]

[0027] According to one aspect of the present invention, it is possible to efficiently perform intersection detection between line segments within a polygonal graphic data figure defined in drawing data, thereby reducing the time required for the intersection detection. [Brief explanation of the drawings]

[0028] [Figure 1] 1 is a conceptual diagram showing a configuration of a drawing device according to a first embodiment. [Figure 2] FIG. 2 is a conceptual diagram showing the configuration of a shaping aperture array substrate according to the first embodiment. [Figure 3] 2 is a cross-sectional view showing the configuration of a blanking aperture array mechanism in the first embodiment. FIG. [Figure 4] FIG. 2 is a diagram showing an example of a polygon with no line segment intersections according to the first embodiment. [Figure 5] FIG. 2 is a diagram showing an example of a polygon with line segment intersections according to the first embodiment. [Figure 6] FIG. 10 is a diagram for explaining an example of a method for determining whether a line segment intersects with another line segment in a first comparative example of the first embodiment. [Figure 7] FIG. 3 is a diagram showing an example of a line segment in a plane scanning method according to the first embodiment. [Figure 8] FIG. 10 is a diagram showing another example of a line segment in the plane scanning method according to the first embodiment. [Figure 9] 10 is a flowchart illustrating an example of main steps of a method for determining line segment intersections within a graphic of drawing data according to the first embodiment. FIG. [Figure 10]3 is a block diagram showing an example of the internal configuration of a shape determination processing unit according to the first embodiment. FIG. [Figure 11] FIG. 2 is a diagram showing an example of an x-monotonic polygon according to the first embodiment. [Figure 12] FIG. 2 is a diagram showing an example of a y-monotonic polygon according to the first embodiment. [Figure 13] FIG. 2 is a diagram showing an example of an xy monotone polygon according to the first embodiment. [Figure 14] FIG. 2 is a diagram showing an example of a convex polygon according to the first embodiment. [Figure 15] FIG. 4 is a diagram showing another example of a convex polygon according to the first embodiment. [Figure 16] FIG. 10 is a flowchart showing an example of internal steps of an x-monotonic polygon intersection determination processing step in the first embodiment. [Figure 17] FIG. 2 is a block diagram showing an example of the internal configuration of an intersection detection processing unit according to the first embodiment. [Figure 18] FIG. 2 is a diagram for explaining a plane scanning method using an x-monotonic polygon according to the first embodiment. [Figure 19] 4 is a diagram showing an example of a circumscribed rectangle of two line segments that are the subject of intersection detection in the first embodiment. FIG. [Figure 20] FIG. 10 is a diagram showing another example of a circumscribing rectangle of two line segments that are the subject of intersection detection in the first embodiment. [Figure 21] 4 is a diagram showing an example of the positional relationship between line segments that are the subject of intersection detection in the first embodiment. FIG. [Figure 22] FIG. 2 is a diagram for explaining a method for determining a cross product in the first embodiment. [Figure 23] FIG. 2 is a diagram for explaining a plane scanning method using an x-monotonic polygon according to the first embodiment. [Figure 24] FIG. 10 is a flowchart showing an example of internal steps of the intersection detection processing step for monotone outer polygons in the first embodiment. [Figure 25] FIG. 2 is a diagram showing an example of a monotonic outer polygon according to the first embodiment. [Figure 26]10 is a table showing an example of displacement directions of x coordinates and y coordinates in the first embodiment. [Figure 27] FIG. 10 is a diagram showing an example of the number of intersection determinations in the x direction and the y direction according to the first embodiment. [Figure 28] FIG. 10 is a diagram showing an example of a y-monotonic polygon in a modification of the first embodiment. [Figure 29] FIG. 10 is a diagram showing an example of an x-monotonic polygon in a modification of the first embodiment. [Figure 30] FIG. 10 is a diagram showing an example of an xy monotone polygon in a modification of the first embodiment. [Figure 31] FIG. 2 is a conceptual diagram for explaining an example of a drawing operation in the first embodiment. [Figure 32] 3 is a diagram showing an example of a multi-beam irradiation area and a pixel to be written in the first embodiment. FIG. [Figure 33] FIG. 2 is a diagram for explaining an example of a multi-beam writing operation according to the first embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0029] In the following embodiments, a configuration using an electron beam will be described as an example of a charged particle beam, but the charged particle beam is not limited to an electron beam and may be a beam using charged particles such as an ion beam.

[0030] Embodiment 1 FIG. 1 is a conceptual diagram showing the configuration of a lithography apparatus according to the first embodiment. In FIG. 1, the lithography apparatus 100 includes a lithography mechanism 150 and a control circuit 160. The lithography apparatus 100 is an example of a multi-charged particle beam lithography apparatus and also an example of a multi-charged particle beam exposure apparatus. The lithography mechanism 150 includes an electron lens barrel 102 (electron beam column) and a lithography chamber 103. Inside the electron lens barrel 102, an electron gun 201, an illumination lens 202, a shaping aperture array substrate 203, a blanking aperture array mechanism 204, a reduction lens 205, a limiting aperture substrate 206, an objective lens 207, a deflector 208, and a deflector 209 are arranged.

[0031] An XY stage 105 is placed in the patterning chamber 103. A sample 101, such as a mask, which will be the target substrate for patterning during patterning (exposure) is placed on the XY stage 105. The sample 101 includes an exposure mask used in manufacturing a semiconductor device, a semiconductor substrate (silicon wafer) on which a semiconductor device is manufactured, and the like. The sample 101 also includes a mask blank coated with resist and on which nothing is yet patterned.

[0032] Furthermore, a mirror 210 for measuring the position of the XY stage 105 is also arranged on the XY stage 105 .

[0033] The control system circuit 160 includes a control computer 110, a memory 112, a deflection control circuit 130, digital-to-analog conversion (DAC) amplifier units 132 and 134, a lens control circuit 136, a stage control mechanism 138, a stage position measurement device 139, and storage devices 140 and 142 such as magnetic disk drives. The control computer 110, the memory 112, the deflection control circuit 130, the lens control circuit 136, the stage control mechanism 138, the stage position measurement device 139, and storage devices 140 and 142 are connected to one another via a bus (not shown). The deflection control circuit 130 is connected to the DAC amplifier units 132 and 134 and a blanking aperture array mechanism 204. The deflector 209 is composed of four or more electrodes, and each electrode is controlled by the deflection control circuit 130 via the DAC amplifier 132. The deflector 208 is composed of four or more electrodes, and each electrode is controlled by the deflection control circuit 130 via the DAC amplifier 134. The electromagnetic lens group, such as the illumination lens 202 , the reduction lens 205 , and the objective lens 207 , is controlled by the lens control circuit 136 .

[0034] The position of the XY stage 105 is controlled by driving motors (not shown) for each axis controlled by a stage control mechanism 138. A stage position measuring device 139 receives light reflected from a mirror 210 and measures the position of the XY stage 105 based on the principle of laser interferometry.

[0035] The control computer 110 includes a shape determination processing unit 50, an intersection detection processing unit 60, a shot data generation unit 70, a data processing unit 72, a transfer processing unit 74, and a rendering control unit 76. Each of the "units" such as the shape determination processing unit 50, the intersection detection processing unit 60, the shot data generation unit 70, the data processing unit 72, the transfer processing unit 74, and the rendering control unit 76 has a processing circuit. Such a processing circuit may include, for example, an electric circuit, a computer, a processor, a circuit board, a quantum circuit, or a semiconductor device. Each of the "units" may use a common processing circuit (the same processing circuit) or different processing circuits (separate processing circuits). Information input to and output from the shape determination processing unit 50, the intersection detection processing unit 60, the shot data generation unit 70, the data processing unit 72, the transfer processing unit 74, and the rendering control unit 76, as well as information being calculated, is stored in the memory 112 each time.

[0036] The drawing operation of the drawing apparatus 100 is controlled by a drawing control unit 76. Furthermore, the transfer process of the irradiation time data for each shot to the deflection control circuit 130 is controlled by a transfer processing unit 74.

[0037] Furthermore, drawing data (chip data) is input from outside the drawing device 100 and stored in the storage device 140. The chip data defines information on a plurality of figure patterns that make up the chip pattern. Specifically, for example, a coordinate sequence of each vertex coordinate is defined for each figure pattern. It is also preferable that other information such as a figure code be defined.

[0038] 1 shows the configuration necessary for explaining the first embodiment. The drawing device 100 may also include other configurations that are normally required.

[0039] FIG. 2 is a conceptual diagram showing the configuration of a shaping aperture array substrate in the first embodiment. In FIG. 2, holes (openings) 22 are formed in a matrix of p columns (y direction) by q columns (x direction) (p, q≧2) at a predetermined arrangement pitch in the shaping aperture array substrate 203. The example in FIG. 2 shows a case where, for example, 512×512 columns of holes 22 are formed in the vertical and horizontal directions (x, y directions). The number of holes 22 is not limited to this. For example, 32×32 columns of holes 22 may be formed. Each hole 22 is formed as a rectangle of the same size and shape. Alternatively, it may be a circle of the same diameter. A portion of the electron beam 200 passes through each of the plurality of holes 22, thereby forming a multibeam 20. In other words, the shaping aperture array substrate 203 forms and emits the multibeam 20. The shaping aperture array substrate 203 is an example of an emission source of the multibeam 20.

[0040] FIG. 3 is a cross-sectional view showing the configuration of the blanking aperture array mechanism according to the first embodiment. As shown in FIG. 3, the blanking aperture array mechanism 204 includes a blanking aperture array substrate 31, which is made of a semiconductor substrate such as silicon, and is disposed on a support base 33. In a central membrane region 330 of the blanking aperture array substrate 31, passage holes 25 (openings) for passing through each beam of the multi-beams 20 are formed at positions corresponding to the holes 22 of the shaping aperture array substrate 203 shown in FIG. 2. Pairs of control electrodes 24 and counter electrodes 26 (blankers: blanking deflectors) are disposed at positions facing each other across the corresponding passage holes 25 among the plurality of passage holes 25. Furthermore, a control circuit 41 (logic circuit) is disposed inside the blanking aperture array substrate 31 near each passage hole 25, which applies a deflection voltage to the control electrode 24 for each passage hole 25. The counter electrodes 26 for each beam are connected to ground.

[0041] An amplifier (an example of a switching circuit), not shown, is disposed within the control circuit 41. As an example of the amplifier, a CMOS (Complementary MOS) inverter circuit serving as a switching circuit is disposed. To the input (IN) of the CMOS inverter circuit, either an L (low) potential (e.g., ground potential) that is lower than the threshold voltage or an H (high) potential (e.g., 1.5 V) that is equal to or higher than the threshold voltage is applied as a control signal. In the first embodiment, when an L potential is applied to the input (IN) of the CMOS inverter circuit, the output (OUT) of the CMOS inverter circuit applied to the control circuit 41 becomes a positive potential (Vdd), and the corresponding beam is deflected by an electric field due to the potential difference with the ground potential of the counter electrode 26, and is controlled so that the beam is turned OFF by being shielded by the limiting aperture substrate 206. On the other hand, when an H potential is applied to the input (IN) of the CMOS inverter circuit (active state), the output (OUT) of the CMOS inverter circuit becomes the ground potential, and there is no potential difference with the ground potential of the opposing electrode 26, so the corresponding beam is not deflected, and the beam is controlled to be ON by passing through the limiting aperture substrate 206. Blanking control is performed by this deflection.

[0042] Next, a specific example of the operation of the drawing mechanism 150 will be described. An electron beam 200 emitted from an electron gun 201 (emission source) is illuminated by an illumination lens 202 almost perpendicularly onto the entire shaping aperture array substrate 203. A plurality of rectangular holes 22 (openings) are formed in the shaping aperture array substrate 203, and the electron beam 200 illuminates an area including all of the holes 22. Portions of the electron beam 200 irradiated onto the positions of the holes 22 pass through the holes 22 of the shaping aperture array substrate 203, thereby forming, for example, a rectangular multibeam (multiple electron beams) 20. The multibeam 20 passes through corresponding blankers of a blanking aperture array mechanism 204. Each blanker performs blanking control on the beams passing through it so that the beams are turned on for a set drawing time (irradiation time).

[0043] The multi-beams 20 that pass through the blanking aperture array mechanism 204 are reduced by the reduction lens 205 and travel toward a central hole formed in the limiting aperture substrate 206. Here, the electron beams deflected by the blankers of the blanking aperture array mechanism 204 are shifted from the central hole of the limiting aperture substrate 206 and are blocked by the limiting aperture substrate 206. On the other hand, the electron beams that are not deflected by the blankers of the blanking aperture array mechanism 204 pass through the central hole of the limiting aperture substrate 206 as shown in FIG. 1. In this way, the limiting aperture substrate 206 blocks each beam that is deflected by the blankers of the blanking aperture array mechanism 204 to be in a beam-off state. Then, each beam of one shot is formed by the beams that pass through the limiting aperture substrate 206 from when the beams are turned on until when they are turned off. The multibeams 20 that have passed through the limiting aperture substrate 206 are focused by the objective lens 207 to form a pattern image with the desired reduction ratio, and the entire multibeams 20 that have passed through the limiting aperture substrate 206 are deflected in the same direction by the deflectors 208 and 209, and each beam is irradiated onto its respective irradiation position on the sample 101. Furthermore, for example, when the XY stage 105 is moving continuously, the deflector 208 performs tracking control so that the beam irradiation position follows the movement of the XY stage 105. Ideally, the multibeams 20 that are irradiated at one time are arranged at a pitch obtained by multiplying the arrangement pitch of the plurality of holes 22 in the shaping aperture array substrate 203 by the desired reduction ratio described above.

[0044] FIG. 4 is a diagram showing an example of a polygon with no line segment intersections according to the first embodiment. FIG. 5 is a diagram showing an example of a polygon with line segment intersections according to the first embodiment. As mentioned above, multi-beam lithography uses a raster method, allowing graphic data to include polygons, which have more vertices than quadrilaterals, such as rectangles and trapezoids. Polygonal graphics are generally represented by a continuous sequence of vertices. For example, the coordinates of each vertex in the graphic data are defined so that the coordinates of each vertex are aligned clockwise around the graphic, starting from the vertex at the bottom left of the graphic. The graphic is then defined as existing to the right of the line segment that connects the pair of vertices and extends from the start point to the end point. Creating such polygonal data can pose a problem, as shown in Figure 5, where the line segments that make up the graphic intersect with each other due to errors in vertex coordinates. For this reason, it is necessary to check for intersecting lines within the graphic before the drawing process.

[0045] FIG. 6 is a diagram illustrating an example of a method for determining whether a line segment intersects with a line segment in Comparative Example 1 of Embodiment 1. In the comparative example of FIG. 6, numbers from 0 to 10 are assigned to the vertices of a polygon. The comparative example of FIG. 6 illustrates a plane scanning method. In the example of FIG. 6, line segment information is transposed to be parallel to the x-axis. One line segment is then set as a reference line, and intersect determination is performed for line segments that may intersect with the reference line. In the example of FIG. 6, line segment 0-1 is set as the reference line, and line segment 0-1 may intersect with line segment 10-0. Therefore, intersect determination is performed for line segment 0-1 with line segment 10-0. Next, line segment 10-0 is set as the reference line, and line segment 10-0 may intersect with line segments 1-2, 2-3, and 3-4. Therefore, intersect determination is performed for line segment 10-0 with line segments 1-2, 2-3, and 3-4 in that order. This operation is repeated. However, in this intersection detection process, there is a problem in that the time required for the intersection detection increases if there are a large number of line segments to be detected for intersection. Therefore, it is desired to reduce the time required for the intersection detection.

[0046] FIG. 7 is a diagram showing an example of line segments in the plane scanning method according to the first embodiment. The example in FIG. 7 shows six line segments connecting vertices 1 to 7 in order. The example in FIG. 7 shows a case where the displacement direction of the vertices in the x direction is reversed for each line segment. These six line segments are relocated to be parallel to the x axis. In other words, they are transformed so as to be projected onto the x axis. In this case, as shown in FIG. 7, if line segment 1-2 is used as the reference line, line segment 1-2 may intersect with all of line segments 2-3, 3-4, 4-5, 5-6, and 6-7. Therefore, five intersection detections are required. This makes the intersection detection process take a long time.

[0047] FIG. 8 is a diagram showing another example of line segments in the plane scanning method according to the first embodiment. In the example of FIG. 8, as in FIG. 7, six line segments are shown connecting vertices 1 to 7 in order. The example of FIG. 8 is composed of multiple line segments that extend monotonically in the y direction. Therefore, in FIG. 8, these six line segments are transposed to be parallel to the y axis. In other words, they are transformed so as to be projected onto the y axis. In this case, as shown in FIG. 8, if line segment 1-2 is taken as the reference line, it can be seen that there are no line segments that may intersect with line segment 1-2. Therefore, the intersection detection process can be completed in a short time.

[0048] 7 and 8, when performing intersection detection processing using the plane scanning method, it is possible to speed up the processing (shorten the processing time) by reducing the number of line segments that may intersect with the reference line. Therefore, in the first embodiment, the number of times intersection detection is performed is reduced for each target graphic.

[0049] 9 is a flowchart showing an example of main steps of the method for determining line segment intersections within a graphic of drawing data according to Embodiment 1. In FIG. 9, the method for determining line segment intersections within a graphic of drawing data according to Embodiment 1 performs a graphic shape determination processing step (S100) and an intersection determination processing step (S118). The graphic shape determination processing step (S100) carries out a series of internal steps, namely, a graphic selection step (S102), a graphic vertex string information acquisition step (S104), a graphic shape determination processing step (S106), a determination step (S108), a determination step (S110), and a determination step (S112). The intersection determination processing step (S118) carries out a series of internal steps, namely, an x-monotonic polygon intersection determination processing step (S120), a y-monotonic polygon intersection determination processing step (S130), a monotonic outer polygon intersection determination processing step (S140), a determination step (S150), an intersection storage step (S152), and a determination step (S154).

[0050] FIG. 10 is a block diagram showing an example of the internal configuration of a shape determination processing unit in the first embodiment. In FIG. 10, a shape determination processing unit 50 includes a geometrical feature selection unit 52, a geometrical feature vertex sequence information acquisition unit 54, a geometrical feature determination processing unit 56, a determination unit 57, a determination unit 58, and a determination unit 59. Each of the "units" such as the geometrical feature selection unit 52, the geometrical feature vertex sequence information acquisition unit 54, the geometrical feature determination processing unit 56, the determination unit 57, the determination unit 58, and the determination unit 59 has a processing circuit. Such a processing circuit may include, for example, an electric circuit, a computer, a processor, a circuit board, a quantum circuit, or a semiconductor device. Each of the "units" may use a common processing circuit (the same processing circuit) or different processing circuits (separate processing circuits). Information input to and output from the geometrical feature selection unit 52, the geometrical feature vertex sequence information acquisition unit 54, the geometrical feature determination processing unit 56, the determination unit 57, the determination unit 58, and the determination unit 59, as well as information being calculated, is stored in memory 112 each time.

[0051] In the figure shape determination process step (S100), the shape determination processing unit 50 reads out drawing data from the storage device 140, and determines the shape of each figure, taking one of two orthogonal directions as the x-direction and the other as the y-direction. Specifically, the operation is as follows.

[0052] In the geometry selection step (S102), the geometry selection unit 52 reads out the drawing data from the storage device 140 and selects the defined geometry data one by one. For example, it is preferable to read out the drawing data for each stripe region, which will be described later.

[0053] In the figure vertex string information acquisition step (S104), the figure vertex string information acquisition unit 54 acquires figure vertex string information for each figure. Examples of figure vertex string information include coordinates of multiple vertices arranged clockwise around the figure from a reference vertex. For example, for an n-gon (n is a natural number), information on a string of n vertex coordinates is acquired. Specifically, for example, from the drawing data, information on a string of coordinates of multiple vertices arranged clockwise around the figure from a reference vertex, which is defined as each figure pattern data, is acquired.

[0054] In the graphic shape determination process step (S106), the graphic shape determination processor 56 determines the shape of each graphic. Here, for example, it determines whether the graphic is an x-monotonic polygon, a y-monotonic polygon, an xy-monotonic polygon, or a monotonic outer polygon. If the graphic is an xy-monotonic polygon, it further determines whether it is a convex polygon.

[0055] FIG. 11 is a diagram showing an example of an x-monotonic polygon according to the first embodiment. FIG. 12 is a diagram showing an example of a y-monotonic polygon according to the first embodiment. FIG. 13 is a diagram showing an example of an xy monotone polygon according to the first embodiment. A monotonic polygon is defined as a polygon in which the number of intersections between the polygon and one of the two orthogonal directions (x and y directions) is two or less. Monotonic polygons include x-monotonic polygons, y-monotonic polygons, and xy-monotonic polygons. A polygon that is not a monotonic polygon is called a monotonic exopolygon.

[0056] An x-monotonic polygon is a figure formed by multiple line segments, each of which extends in the x direction and then returns in the -x direction, as shown in Figure 11. An x-monotonic polygon has the characteristic that, at any position in the x direction, the polygon has two or fewer intersections with lines in the y direction. Note that intersections with line segments that entirely overlap with lines in the y direction are not counted.

[0057] A y-monotonic polygon is a figure formed by multiple line segments, each of which extends in the y direction and then returns in the -y direction, as shown in Figure 12. A y-monotonic polygon has the characteristic that, at any position in the y direction, the polygon has two or fewer intersections with lines in the x direction. Note that intersections with lines that entirely overlap with lines in the x direction are not counted.

[0058] An xy monotonic polygon has the characteristics of both an x ​​monotonic polygon and a y monotonic polygon. An xy monotonic polygon is a figure formed by, for example, multiple line segments that extend in the x direction and then return in the -x direction, as shown in FIG. 13 , and is also a figure formed by, for example, multiple line segments that extend in the y direction and then return in the -y direction. Therefore, as shown in FIG. 13 , an xy monotonic polygon has the characteristic that, at any position in the x direction, the number of intersections between a y-direction line and the polygon is two or less. Note that intersections between line segments that entirely overlap with y-direction lines are not counted. Similarly, an xy monotonic polygon has the characteristic that, at any position in the y direction, the number of intersections between an x-direction line and the polygon is two or less. Note that intersections between line segments that entirely overlap with x-direction lines are not counted.

[0059] 14 is a diagram showing an example of a convex polygon in Embodiment 1. A convex polygon is a polygon in which all interior angles are less than 180°. If the convex polygon is an xy monotonic polygon, as shown in FIG. 14, no line segments intersect.

[0060] Fig. 15 is a diagram showing another example of a convex polygon according to Embodiment 1. Fig. 15 shows an example of a convex polygon that is not an xy monotonic polygon. If the convex polygon is not an xy monotonic polygon, any of the line segments will intersect with each other, as shown in Fig. 15.

[0061] In the determination step (S108), the determination unit 57 determines whether the shape-determined target graphic is a monotonic polygon. If the shape-determined graphic is a monotonic polygon, the process proceeds to a determination step (S110). If the shape-determined graphic is not a monotonic polygon, the process proceeds to a monotonic outer polygon intersection determination processing step (S140).

[0062] In the determination step (S110), the determination unit 58 determines whether the target graphic is an x-monotone polygon, a y-monotone polygon, or an xy-monotone polygon. If the target graphic is an x-monotone polygon, the process proceeds to an x-monotone polygon intersection determination processing step (S120). If the target graphic is a y-monotone polygon, the process proceeds to a y-monotone polygon intersection determination processing step (S130). If the target graphic is an xy-monotone polygon, the process proceeds to a determination step (S112).

[0063] In the determination step (S112), the determination unit 59 determines whether the target graphic, which is an xy monotonic polygon, is a convex polygon. If the target graphic, which is an xy monotonic polygon, is not a convex polygon, the process proceeds to an x ​​monotonic polygon intersection determination processing step (S120). Alternatively, the process may proceed to a y monotonic polygon intersection determination processing step (S130). As described above, in a convex polygon that is an xy monotonic polygon, the line segments do not intersect with each other, as shown in Figure 14. Therefore, if the result of the shape determination is that the shape of the figure is an xy monotonic polygon and also a convex polygon, it is determined that the line segments that make up the figure do not intersect with each other, and the intersection determination process for the figure is omitted. Then, the process proceeds to the determination step (S154).

[0064] In the intersection detection processing step (S118), the intersection detection processor 60 performs different intersection detection processing for each graphic depending on the shape of the graphic, and outputs the results. Specifically, the operation is as follows.

[0065] In the x-monotonic polygon intersection detection processing step (S120), the intersection detection processor 60 performs intersection detection processing according to the x-monotonic polygon for each target graphic that is an x-monotonic polygon. The same intersection detection processing as for the x-monotonic polygon is also performed for xy-monotonic polygons that are not convex polygons.

[0066] Fig. 16 is a flowchart showing an example of internal steps of the x-monotonic polygon intersection determination processing step in Embodiment 1. In Fig. 16, the x-monotonic polygon intersection determination processing step (S120) performs a series of internal steps, including a scanning direction setting step (S204), a line segment list creation step (S206), a reference line setting step (S212), an overlapping line segment extraction step (S214), a two-line segment intersection determination step (S216), a determination step (S218), and a determination step (S220).

[0067] 17 is a block diagram showing an example of the internal configuration of an intersection detection processing unit in Embodiment 1. In FIG. 17, an intersection detection processing unit 60 includes a scanning direction calculation unit 62, a scanning direction setting unit 64, a line segment list creation unit 66, a start point sorting processing unit 68, an end point sorting processing unit 80, a reference line setting unit 82, an extraction unit 84, a two-line segment intersection detection unit 86, a determination unit 88, a determination unit 90, a determination unit 92, an intersection calculation unit 94, a storage unit 96, and a determination unit 98. Each of the "units" such as the scanning direction calculation unit 62, the scanning direction setting unit 64, the line segment list creation unit 66, the start point sorting processing unit 68, the end point sorting processing unit 80, the reference line setting unit 82, the extraction unit 84, the two-line segment intersection detection unit 86, the determination unit 88, the determination unit 90, the determination unit 92, the intersection calculation unit 94, the storage unit 96, and the determination unit 98 has a processing circuit. Such a processing circuit may include, for example, an electric circuit, a computer, a processor, a circuit board, a quantum circuit, or a semiconductor device. Each "unit" may use a common processing circuit (the same processing circuit) or different processing circuits (separate processing circuits). Information input to and output from the scanning direction calculation unit 62, scanning direction setting unit 64, line segment list creation unit 66, start point sorting unit 68, end point sorting unit 80, reference line setting unit 82, extraction unit 84, two-line segment intersection determination unit 86, determination unit 88, determination unit 90, determination unit 92, intersection calculation unit 94, storage unit 96, and determination unit 98, as well as information being calculated, are stored in memory 112 each time.

[0068] In the scanning direction setting step (S204) of FIG. 16, the scanning direction setting unit 64 sets the scanning direction in the planar scanning method for the x-monotonic polygon to the x direction.

[0069] In the line segment list creation step (S206), the line segment list creation unit 66 replaces each line segment of the target graphic that will be an x-monotonic polygon with one that is parallel to the set scanning direction. Here, each line segment of the target graphic is replaced with one that is parallel to the x direction. In other words, each line segment of the target graphic is transformed so that it is projected onto the x-axis. This creates a list of each line segment that is parallel to the x direction.

[0070] FIG. 18 is a diagram illustrating the plane scanning method for an x-monotonic polygon in the first embodiment. The example in FIG. 18 shows an example of an 11-sided x-monotonic polygon with vertices 0 to 10. In the example in FIG. 18, nine line segments parallel to the x direction, 1-2, 2-3, 3-4, 4-5, 5-6, 7-8, 8-9, 9-10, and 10-0, are defined in the list. Line segments 0-1 and 6-7 are points, and no line segments parallel to the x direction exist.

[0071] As described above, an x-monotonic polygon is formed by a plurality of line segments between vertices that extend sequentially in the +x direction and then return sequentially in the -x direction. Alternatively, the polygon is formed by a plurality of line segments that extend sequentially in the -x direction and then return sequentially in the +x direction. The example in Figure 18 shows a case where the polygon is formed by a plurality of line segments that extend sequentially in the +x direction and then return sequentially in the -x direction.

[0072] Therefore, line segments that extend monotonically in the +x direction in order do not intersect with each other. Similarly, line segments that extend monotonically in the -x direction in order do not intersect with each other. Therefore, the only line segments that may intersect with line segments that extend in the +x direction in order are those line segments that extend in the -x direction in order with overlapping x coordinates. Similarly, the only line segments that may intersect with line segments that extend in the -x direction in order are those line segments that extend in the +x direction in order with overlapping x coordinates. Therefore, it is sufficient to use only line segments that extend in one of the +x direction and -x direction in order as reference lines for intersection determination.

[0073] Therefore, when the result of the shape determination shows that the shape of the figure is an x-monotonic polygon, the intersection determination processor 60 uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends monotonically in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether or not the line segments intersect with each other by using the opposite side that includes the x coordinate of the reference line as a subject of intersection determination, and excludes the remaining line segments from the subjects of intersection determination with the reference line. This makes it possible to significantly reduce the number of intersection determinations.

[0074] In the reference line setting step (S212), the reference line setting unit 82 sets a reference line in the plane scanning method for the x-monotonic polygon. In the example of Fig. 18, for example, a case where line segments 9-10 extending in the -x direction are set as the reference line is shown.

[0075] In the overlapping line segment extraction step (S214), the extraction unit 84 extracts line segments that may intersect with the reference line. In an x-monotonic polygon, only line segments that extend in the opposite direction to the reference line and whose x coordinates overlap with the reference line are extracted. In the example of Figure 18, the x coordinates of line segment 9-10 overlap with two line segments: line segments 2-3 and 3-4.

[0076] In the two-line-segment intersection determination step (S216), the two-line-segment intersection determination unit 86 determines whether the reference line and the extracted line segment intersect.

[0077] FIG. 19 is a diagram showing an example of a circumscribing rectangle of two line segments that are the subject of intersection detection in the first embodiment. FIG. 20 is a diagram showing another example of a circumscribing rectangle of two line segments to be subjected to intersection detection in the first embodiment. First, the two-line segment intersection determination unit 86 sets a circumscribing rectangle for each of the two line segments (the reference line and the extracted line segment) that are the subject of intersection determination. In the example of Fig. 19, a circumscribing rectangle having diagonal corners formed by the start point e1s and the end point e1e of the line segment e1, and a circumscribing rectangle having diagonal corners formed by the start point e2s and the end point e2e of the line segment e2 are shown. The two-line-segment intersection determination unit 86 calculates whether the two set circumscribing rectangles intersect with each other. Specifically, if any of the following formulas (1) to (4) is satisfied, the two circumscribing rectangles do not intersect with each other. (1) The y-coordinate of the top end of line segment e1 < the y-coordinate of the bottom end of line segment e2 (2) The y-coordinate of the bottom end of line segment e1 > the y-coordinate of the top end of line segment e2 (3) The x-coordinate of the left end of line segment e1 > the x-coordinate of the right end of line segment e2 (4) The x-coordinate of the right end of line segment e1 < the x-coordinate of the left end of line segment e2 Therefore, the y coordinate of the top end of line segment e1 is compared with the y coordinate of the bottom end of line segment e2 to determine whether the y coordinate of the top end of line segment e1 is less than the y coordinate of the bottom end of line segment e2. Similarly, the y coordinate of the bottom end of line segment e1 is compared with the y coordinate of the top end of line segment e2 to determine whether the y coordinate of the bottom end of line segment e1 is greater than the y coordinate of the top end of line segment e2. Similarly, the x coordinate of the left end of line segment e1 is compared with the x coordinate of the right end of line segment e2 to determine whether the x coordinate of the left end of line segment e1 is greater than the x coordinate of the right end of line segment e2. Similarly, the x coordinate of the right end of line segment e1 is compared with the x coordinate of the left end of line segment e2 to determine whether the x coordinate of the right end of line segment e1 is less than the x coordinate of the left end of line segment e2.

[0078] As shown in FIG. 19, when the y coordinate of the upper end of the line segment e1 is smaller than the y coordinate of the lower end of the line segment e2, the above formula (1) is satisfied, and therefore the two circumscribing rectangles do not intersect with each other. In contrast, as shown in Figure 20, When none of the above four formulas is satisfied, such as when the y-coordinate of the top end of line segment e1 is greater than the y-coordinate of the bottom end of line segment e2 (not satisfying formula (1) above), the y-coordinate of the bottom end of line segment e1 is less than the y-coordinate of the top end of line segment e2 (not satisfying formula (2) above), the x-coordinate of the left end of line segment e1 is less than the x-coordinate of the right end of line segment e2 (not satisfying formula (3) above), or the x-coordinate of the right end of line segment e1 is greater than the x-coordinate of the left end of line segment e2 (not satisfying formula (4) above), the two circumscribed rectangles intersect. If the two circumscribed rectangles do not intersect, the two-line segment intersection determination unit 86 determines that the two line segments (the reference line and the extracted line segment) to be subjected to the intersection determination do not intersect. Then, if the two circumscribed rectangles intersect, the process proceeds to the next step.

[0079] 21 is a diagram showing an example of the positional relationship between line segments that are the subject of intersection detection in the first embodiment. As shown in FIG. 21, the positional relationship between line segments that are the subject of intersection detection is either an intersection, a non-intersection, or an online relationship in which the start point or end point of one line segment is located on the other line segment. When line segments intersect, the start point and end point of one line segment are located to the right and left of the other line segment. When line segments do not intersect, both the start point and end point of one line segment are located to the right or left of the other line segment. Therefore, the two-line segment intersection determination unit 86 uses a cross product determination method to calculate the positions of the start and end points of line segment e1, which is one of the two target line segments (the reference line and the extracted line segment), relative to the other line segment e2.

[0080] 22 is a diagram illustrating a method for determining a cross product in the first embodiment. For example, when the starting point of line segment e1 is p1, two-line segment intersection determination unit 86 calculates the position of p1 relative to line segment e2 extending from p2 to p3 using the starting point p2 of line segment e2 and the end point p3 of line segment e2. The position n of p1 relative to line segment e2 extending from p2 to p3 can be found by the following equation (5) using the coordinates of p1 (p1x, p1y), the coordinates of p2 (p2x, p2y), and the coordinates of p3 (p3x, p3y). (5) n=p1x(p2y-p3y)+p2x(p3y-p1y) +p3x(p1y-p2y)

[0081] If n<0, p1 is on the right side of the line segment e2 extending from p2 to p3; if n>0, p1 is on the left side; and if n=0, p1 is on the line segment. Similarly, when the end point of line segment e1 is p1, the two-line segment intersection determination unit 86 calculates the position of p1 relative to the line segment e2 extending from p2 to p3 using the start point p2 and end point p3 of line segment e2. If the calculation results in the start point and end point of line segment e1 being on the left and right sides of line segment e2, it is determined that line segments e1 and e2 intersect. Also, if one of the start point and end point of line segment e1 is on the right side of line segment e2 and the other is on line segment e2, it is determined that line segments e1 and e2 intersect. In all other cases, it is determined that line segments e1 and e2 do not intersect.

[0082] In the determination step (S218), the determination unit 88 determines whether or not there remains any line segment that has not been determined to intersect with the target reference line among at least one line segment extracted. If there remains no line segment, the process proceeds to the determination step (S220). If there remains any line segment, the process returns to the overlapping line segment extraction step (S214), extracts the remaining target line segments, and repeats each step from the overlapping line segment extraction step (S214) to the determination step (S218) until there are no remaining target line segments that have not been determined to intersect.

[0083] In the determination step (S220), the determination unit 90 determines whether intersection determination has been completed for all reference lines. If intersection determination has not been completed for all reference lines, the process returns to the reference line setting step (S212), where the next reference line is set. The steps from the reference line setting step (S212) to the determination step (S220) are repeated until intersection determination has been completed for all reference lines. As described above, in an x-monotonic polygon, it is sufficient to use either the line segments extending in the +x direction in sequence or the line segments extending in the -x direction in sequence as the reference line. In the example of FIG. 18, the line segments extending in the +x direction in sequence include line segments 1-2, 2-3, 3-4, 4-5, and 5-6. The line segments extending in the -x direction in sequence include line segments 7-8, 8-9, 9-10, and 10-0.

[0084] In the y-monotonic polygon intersection detection processing step (S130) of FIG. 9, the intersection detection processing unit 60 performs intersection detection processing according to the y-monotonic polygon for each target graphic that is a y-monotonic polygon.

[0085] A flowchart showing an example of the internal steps of the y monotone polygon intersection determination processing step (S130) in the first embodiment is similar to that shown in FIG.

[0086] In the scanning direction setting step (S204) of FIG. 16, the scanning direction setting unit 64 sets the scanning direction in the planar scanning method for the y-monotonic polygon to the y direction.

[0087] In the line segment list creation step (S206), the line segment list creation unit 66 replaces each line segment of the target graphic that will be a y-monotonic polygon with one that is parallel to the set scanning direction. Here, each line segment of the target graphic is replaced with one that is parallel to the y direction. In other words, each line segment of the target graphic is transformed so that it is projected onto the y-axis. This creates a list of each line segment that is parallel to the y direction.

[0088] FIG. 23 is a diagram illustrating the plane scanning method for y-monotonic polygons in the first embodiment. The example in FIG. 23 shows an example of an 11-sided y-monotonic polygon with vertices 0 to 10. In the example in FIG. 23, nine line segments parallel to the y direction, 1-2, 2-3, 3-4, 4-5, 5-6, 7-8, 8-9, 9-10, and 10-0, are defined in the list. Line segments 0-1 and 6-7 are points, and no line segments parallel to the y direction exist.

[0089] As described above, a y-monotonic polygon is formed by a plurality of line segments between vertices that extend sequentially in the +y direction and then return sequentially in the -y direction. Alternatively, the polygon is formed by a plurality of line segments that extend sequentially in the -y direction and then return sequentially in the +y direction. The example in Figure 23 shows a case where the polygon is formed by a plurality of line segments that extend sequentially in the -y direction and then return sequentially in the +y direction.

[0090] Therefore, line segments that extend monotonically in the +y direction in order do not intersect with each other. Similarly, line segments that extend monotonically in the -y direction in order do not intersect with each other. Therefore, the only line segments that may intersect with line segments that extend in the +y direction in order are those line segments that extend in the -y direction in order with overlapping y coordinates. Similarly, the only line segments that may intersect with line segments that extend in the -y direction in order are those line segments that extend in the +y direction in order with overlapping y coordinates. Therefore, it is sufficient to use only line segments that extend in one of the +y direction in order and the -y direction in order as reference lines for intersection determination.

[0091] Therefore, if the result of the shape determination shows that the shape of the figure is a y-monotonic polygon, the intersection determination processor 60 uses a line segment that extends monotonically in the y direction and whose end point position increases in the y direction or extends monotonically in the -y direction and whose end point position decreases in the y direction as a reference line, and determines whether or not the line segments intersect with each other by using the opposite side that includes the y coordinate of the reference line as a subject of intersection determination, and excludes the remaining line segments from the subjects of intersection determination with the reference line. This makes it possible to significantly reduce the number of intersection determinations.

[0092] In the reference line setting step (S212), the reference line setting unit 82 sets a reference line in the plane scanning method for the y-monotonic polygon. In the example of Fig. 23, for example, a case where line segments 9-10 extending in the +y direction are set as the reference line is shown.

[0093] In the overlapping line segment extraction step (S214), the extraction unit 84 extracts line segments that may intersect with the reference line. In a y-monotonic polygon, only line segments that extend in the opposite direction to the reference line and whose y coordinates overlap with the reference line are extracted. In the example of Figure 23, the y coordinates of line segment 9-10 overlap with two line segments: line segments 2-3 and 3-4.

[0094] In the two-line segment intersection determination step (S216), the two-line segment intersection determination unit 86 determines whether the reference line and the extracted line segment intersect with each other. The method of determining whether the line segment intersects with each other is the same as in the case of an x-monotonic polygon.

[0095] The contents of the determination step (S218) and determination step (S220) for y-monotonic polygons are the same as those for x-monotonic polygons. As mentioned above, for y-monotonic polygons, it is sufficient to use only one of the line segments extending in the +y direction or the line segments extending in the -y direction as the reference line. In the example of Figure 23, the line segments extending in the -y direction include line segments 1-2, 2-3, 3-4, 4-5, and 5-6. The line segments extending in the +y direction include line segments 7-8, 8-9, 9-10, and 10-0.

[0096] In the monotonic outer polygon intersection detection processing step (S140) of Fig. 9, the intersection detection processor 60 performs intersection detection processing according to the monotonic outer polygon for each target graphic that is a monotonic outer polygon. If, as a result of shape detection, the shape of the graphic is determined to be a polygon (monotonic outer polygon) that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection detection processor 60 calculates the x-coordinate displacement direction and the y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the monotonic outer polygon, and determines whether or not line segments intersect by using the x- or y-direction in which the number of vertices whose displacement direction changes from positive to negative or from negative to positive is the smallest scanning direction. Specific details will be described below.

[0097] Fig. 24 is a flowchart showing an example of internal steps of the monotonic outer polygon intersection determination processing step in Embodiment 1. In Fig. 24, the monotonic outer polygon intersection determination processing step (S140) performs a series of internal steps, including a scanning direction calculation step (S202), a scanning direction setting step (S204), a line segment list creation step (S206), a start point sorting processing step (S208), an end point sorting processing step (S210), a reference line setting step (S212), an overlapping line segment extraction step (S214), a two-line segment intersection determination step (S216), a determination step (S218), and a determination step (S220).

[0098] Fig. 25 is a diagram showing an example of a monotonic outer polygon in the first embodiment. The example in Fig. 25 shows an example of an 18-sided monotonic outer polygon with vertices 0 to 17. As described above, in a monotonic outer polygon, the number of times of intersection detection processing differs depending on whether the scanning direction is the x direction or the y direction. For this reason, in the first embodiment, a direction that reduces the number of times of intersection detection processing is calculated.

[0099] In the scanning direction calculation step (S202), the scanning direction calculation unit 62 calculates the x-coordinate displacement direction and the y-coordinate displacement direction of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the monotonic outer polygon.

[0100] FIG. 26 is a table showing an example of the displacement direction of the x coordinate and the displacement direction of the y coordinate in the first embodiment. In the example of FIG. 26, for the 18-sided monotonic outer polygon having vertices 0 to 17 shown in FIG. 25, the displacement direction of the x coordinate and the displacement direction of the y coordinate from vertex 0 to vertex 1 are shown for vertex 1. The displacement direction of the x coordinate and the displacement direction of the y coordinate from vertex 1 to vertex 2 are shown for vertex 2. ...Similarly, the displacement direction of the x coordinate and the y coordinate from vertex 17 to vertex 0 are shown for vertex 0. As shown in FIGS. 25 and 26, for example, the displacement amount of the x coordinate from vertex 0 to vertex 1 proceeds in the negative direction. Therefore, the displacement direction is negative (-). The displacement amount of the x coordinate from vertex 1 to vertex 2 proceeds in the positive direction. Therefore, the displacement direction is positive (+). Similarly, the displacement amount of the x coordinate from vertex 17 to vertex 0 is calculated. The displacement amount of the x coordinate from vertex 17 to vertex 0 proceeds in the negative direction. Therefore, the displacement direction is negative. For example, the displacement of the y coordinate from vertex 0 to vertex 1 proceeds in the positive direction. Therefore, the displacement direction is positive. The displacement of the y coordinate from vertex 1 to vertex 2 proceeds in the positive direction. Therefore, the displacement direction is positive. Similarly, the displacement of the y coordinate from vertex 17 to vertex 0 is calculated. The displacement of the y coordinate from vertex 17 to vertex 0 proceeds in the negative direction. Therefore, the displacement direction is negative.

[0101] Next, the scanning direction calculation unit 62 calculates the number of vertices in the x and y directions where the displacement direction changes from positive to negative or from negative to positive. In the example of Fig. 25, as shown in Fig. 26, the number of vertices in the x direction where the displacement direction changes from positive to negative or from negative to positive is 10. Similarly, the number of vertices in the y direction where the displacement direction changes from positive to negative or from negative to positive is 6.

[0102] FIG. 27 is a diagram showing an example of the number of intersection detections in the x direction and the y direction in the first embodiment. The example in FIG. 27 shows the number of intersection detections when the x direction is the scanning direction and the number of intersection detections when the y direction is the scanning direction for an 18-sided monotonic outer polygon having vertices 0 to 17 shown in FIG. 25 . The numbers shown for each line segment parallel to the x direction or the y direction between the vertices of the 18-sided polygon in FIG. 27 indicate the number of intersection detections when the target line segment is used as the reference line. As shown in FIG. 27 , the total number of intersection detections when the x direction is the scanning direction is 39, whereas the total number of intersection detections when the y direction is the scanning direction is only 22. As described above, when performing intersection detection processing using the plane scanning method, the number of times intersection detection processing is performed can be reduced by using a direction with a smaller number of displacement direction reversals as the number of scans, as in the cases described with reference to FIGS. 7 and 8 .

[0103] Therefore, the scanning direction calculation unit 62 calculates the direction of the x direction or the y direction in which the number of vertices in which the displacement direction changes from positive to negative or from negative to positive is the smallest as the scanning direction. In the example of Fig. 25, since the y direction has fewer vertices than the x direction, the y direction is calculated as the scanning direction. By selecting the scanning direction in which the number of inversions in the displacement direction is the smallest, the number of intersection detections can be reduced.

[0104] In the scanning direction setting step (S204), the scanning direction setting unit 64 sets the scanning direction in the planar scanning method for the monotonic outer polygon. For the monotonic outer polygon, the scanning direction setting unit 64 sets the calculated direction as the scanning direction. In the example of FIG. 25, the y direction is set as the scanning direction.

[0105] In the line segment list creation step (S206), the line segment list creation unit 66 replaces each line segment of the target graphic that becomes a monotonic outer polygon with one that is parallel to the set scanning direction. In other words, each line segment of the target graphic is transformed so as to be projected onto an axis of the set scanning direction. This creates a list of each line segment that is parallel to the set scanning direction. In the example of FIG. 25, each line segment of the target graphic is replaced with one that is parallel to the y direction. This creates a list of each line segment that is parallel to the y direction.

[0106] In the start point sorting process step (S208), the start point sorting unit 68 sorts the created line segment list in the order of the start points of the line segments.

[0107] In the end point sorting process step (S210), the end point sorting unit 80 sorts the created line segment list in the order of the end points of the line segments, for line segments having the same starting points.

[0108] This allows the lines to be rearranged like a plurality of line segments with the y direction in FIG. 27 as the scanning direction.

[0109] In the reference line setting step (S212), the reference line setting unit 82 sets a reference line in the plane scanning method for a monotonic outer polygon. Since the line segment list has been sorted, the line segments with the smallest starting point in the scanning direction are set as reference lines. Also, if the starting points are the same, the line segments with the smallest ending point in the scanning direction are set as reference lines. In the example of FIG. 27, line segment 16-17 is set as the reference line first. Next, line segment 15-16 is set. Next, line segment 17-0 is set. Next, line segment 0-1 is set. The rest are set in the same order.

[0110] In the overlapping line segment extraction step (S214), the extraction unit 84 extracts line segments that may intersect with the reference line. In the example of Fig. 27, when the line segment 16-17 is the reference line, the line segments 15-16, 17-0, and 0-1 are to be extracted.

[0111] In the two-line segment intersection determination step (S216), the two-line segment intersection determination unit 86 determines whether the reference line and the extracted line segment intersect with each other. The method of determining whether the line segment intersects with each other is the same as in the case of an x-monotonic polygon.

[0112] The contents of the determination step (S218) and the determination step (S220) for the monotonic outer polygon are the same as those for the x-monotonic polygon. In the case of a monotonic outer polygon, line segments that may intersect with the target reference line are extracted from the line segments downstream (to the right in the example of Figure 27) according to the sorted line segment list. For example, if line segment 15-16 is used as the reference line, line segment 16-17 on the upstream side of the list is not extracted, and line segments 17-0 and 0-1 are extracted. Similarly, if line segment 17-0 is used as the reference line, line segments 16-17 and 15-16 on the upstream side of the list are not extracted, and line segment 0-1 is extracted. Similarly, if line segment 0-1 is used as the reference line, line segment 14-15 is extracted. Similarly, line segments to be extracted for the target reference line are extracted.

[0113] As described above, in the case of a monotonic outer polygon, the number of times intersection detection processing is performed can be reduced by using a direction with fewer reversals in the displacement direction as the scanning direction, thereby shortening the processing time.

[0114] 9, the determination unit 92 determines whether or not there are any intersecting line segments in the target graphic. If there are any intersecting line segments in the target graphic, the process proceeds to an intersection storage step (S152). If there are no intersecting line segments in the target graphic, the process proceeds to a determination step (S154).

[0115] In the intersection storage step (S152), the intersection calculation unit 94 first calculates the intersection between the line segments where an intersection has occurred. Then, the storage unit 96 stores information on the figure, the pair of line segments where an intersection has occurred, and the intersection coordinates in, for example, the storage device 142 or a storage device (not shown) in the intersection determination processing unit 60.

[0116] In the determination step (S154), the determination unit 98 determines whether or not intersection determination of line segments within a graphic has been completed for all graphic data in the drawing data. If intersection determination of line segments within a graphic has not been completed for all graphic data, the process returns to the graphic selection step (S102), and the steps from the graphic selection step (S102) to the determination step (S154) are repeated until intersection determination of line segments within a graphic has been completed for all graphic data.

[0117] When the intersection determination for the line segments within the figure has been completed for all the figure data, the result of the intersection determination for the line segments within the figure is output. The result may be information indicating that there are no intersecting line segments, or, if there are intersecting line segments, the information stored in the intersection storage step (S152) is output.

[0118] If there are intersecting line segments among the multiple graphic data in the drawing data, the start of the drawing process is stopped and the data of the graphic with the intersecting line segments is corrected. The corrected drawing data is then input into the drawing device 100 and stored in the storage device 140. If there are no intersecting line segments, the drawing data is used as is for the drawing process. The correction of the graphic data may be performed outside the drawing device 100 or may be performed within the drawing device 100.

[0119] Here, in the above-mentioned graphic shape determination process step (S106), it is preferable to determine whether or not the polygon is a monotonic polygon using the following method.

[0120] FIG. 28 is a diagram showing an example of a y-monotonic polygon according to a modification of the first embodiment. FIG. 29 is a diagram showing an example of an x-monotonic polygon according to a modification of the first embodiment. FIG. 30 is a diagram showing an example of an xy monotone polygon according to a modification of the first embodiment. In the examples of Figures 28 to 30, an octagon with vertices 1 to 8 is shown. In the modified example of the first embodiment, the displacement direction from the previous vertex to the next vertex is calculated as was done for the monotonic outer polygon described above. In addition, in each table shown in Figures 28 to 30, the displacement direction is defined for the vertex after displacement. Note that if the displacement amount in the x or y direction is zero, the previous sign (direction) is assumed to be inherited.

[0121] In the example of Figure 28, in the x direction, the displacement direction from vertex 1 to vertex 2 is positive, the displacement direction from vertex 2 to vertex 3 is negative, the displacement direction from vertex 3 to vertex 4 is positive, the displacement direction from vertex 4 to vertex 5 is negative, the displacement direction from vertex 5 to vertex 6 is negative, the displacement direction from vertex 6 to vertex 7 is positive, the displacement direction from vertex 7 to vertex 8 is negative, and the displacement direction from vertex 8 to vertex 1 is positive. In contrast, in the y direction, the displacement directions from vertex 1 to vertex 2, from vertex 2 to vertex 3, from vertex 3 to vertex 4, and from vertex 4 to vertex 5 are negative, while the displacement directions from vertex 5 to vertex 6, from vertex 6 to vertex 7, from vertex 7 to vertex 8, and from vertex 8 to vertex 1 are positive. A figure in which negative (or positive) values ​​are consecutive, followed by positive (or negative) values, such as in the y direction, can be determined to be a y-monotonic polygon. However, if both directions are not consecutive, such as in the x direction, it is not an x-monotonic polygon. Depending on how the vertex numbers are set, it is possible for the shape to have consecutive negative (or positive) values ​​in the x direction, followed by consecutive positive (or negative) values, and then consecutive negative (or positive) values ​​again. In such cases, the polygon can still be determined to be an x-monotonic polygon.

[0122] In the example of Figure 29, in the y direction, the displacement direction from vertex 1 to vertex 2 is negative, the displacement direction from vertex 2 to vertex 3 is positive, the displacement direction from vertex 3 to vertex 4 is negative, the displacement direction from vertex 4 to vertex 5 is positive, the displacement direction from vertex 5 to vertex 6 is positive, the displacement direction from vertex 6 to vertex 7 is negative, the displacement direction from vertex 7 to vertex 8 is positive, and the displacement direction from vertex 8 to vertex 1 is negative. In contrast, in the x direction, the displacement directions from vertex 1 to vertex 2, from vertex 2 to vertex 3, from vertex 3 to vertex 4, and from vertex 4 to vertex 5 are negative, while the displacement directions from vertex 5 to vertex 6, from vertex 6 to vertex 7, from vertex 7 to vertex 8, and from vertex 8 to vertex 1 are positive. A figure that has consecutive negative (or positive) values, followed by consecutive positive (or negative) values, such as in the x direction, can be determined to be an x-monotonic polygon. However, if both directions are not consecutive, such as in the y direction, it is not a y-monotonic polygon. Depending on how the vertex numbers are set, it is possible for the polygon to have consecutive negative (or positive) values ​​in the y direction, followed by consecutive positive (or negative) values, and then consecutive negative (or positive) values ​​again. In such cases, the polygon can still be determined to be a y-monotonic polygon.

[0123] In the example of Figure 30, in the x direction, the displacement direction from vertex 1 to vertex 2 is positive, the displacement direction from vertex 2 to vertex 3 is positive, the displacement direction from vertex 3 to vertex 4 is negative, the displacement direction from vertex 4 to vertex 5 is negative, the displacement direction from vertex 5 to vertex 6 is negative, the displacement direction from vertex 6 to vertex 7 is negative, the displacement direction from vertex 7 to vertex 8 is positive, and the displacement direction from vertex 8 to vertex 1 is positive. Furthermore, in the y direction, the displacement directions from vertex 1 to vertex 2, from vertex 2 to vertex 3, from vertex 3 to vertex 4, and from vertex 4 to vertex 5 are negative, and the displacement directions from vertex 5 to vertex 6, from vertex 6 to vertex 7, from vertex 7 to vertex 8, and from vertex 8 to vertex 1 are positive. In this way, a figure in which negative (or positive) values ​​are consecutive, and then positive (or negative) values ​​are consecutive, such as in the x and y directions, can be determined to be an xy monotonic polygon. Depending on how the vertex numbers are set, it is possible for the resulting shape to have consecutive negative (or positive) values ​​in at least one of the x and y directions, followed by consecutive positive (or negative) values, and then consecutive negative (or positive) values. In such cases, the polygon can still be determined to be an xy monotonic polygon. The x direction in Figure 30 is an example of this.

[0124] 31 is a conceptual diagram for explaining an example of the writing operation in Embodiment 1. As shown in Fig. 31, the position of a writing region 30 (bold line) on the sample 101 is defined based on the position of the alignment mark 14. The writing area 30 (bold line) is virtually divided into a plurality of rectangular stripe areas 32 with a predetermined width in the y direction. The example of Figure 31 shows a case where the writing area 30 on the sample 101 is divided into a plurality of stripe areas 32 with a width substantially equal to the size of the designed irradiation area 34 (writing field) that can be irradiated with one irradiation of the multibeam 20, for example, in the y direction. The size in the x direction of the designed irradiation area 34 of the multibeam 20 can be defined by the number of beams in the x direction × the beam pitch in the x direction. The size in the y direction of the rectangular irradiation area 34 can be defined by the number of beams in the y direction × the beam pitch in the y direction.

[0125] First, the XY stage 105 is moved and adjusted so that the irradiation area 34 of the multibeam 20 is positioned at the left end of the first stripe region 32 or further to the left, and then the first stripe region 32 is written. When writing the first stripe region 32, the XY stage 105 is moved, for example, in the -x direction, so that writing progresses relatively in the x direction. The XY stage 105 is moved continuously, for example, at a constant speed. After writing the first stripe region 32 is completed, the stage position is moved in the -y direction by an amount equal to the width of the stripe region 32.

[0126] Next, the irradiation area 34 of the multi-beam 20 is adjusted to be positioned at the left end of the second stripe area 32 or at a position further to the left, and the XY stage 105 is moved, for example, in the -x direction, thereby relatively progressing the drawing in the x direction, thereby drawing the second stripe area 32.

[0127] 31 shows the case where each stripe region 32 is written in the same direction, but this is not limiting. For example, the stripe region 32 to be written next to the stripe region 32 written in the x direction may be written in the -x direction by moving the XY stage 105 in the x direction, for example. By writing while alternating directions in this way, the stage movement time can be shortened, and ultimately the writing time can be shortened. In one shot, the multi-beam 20 formed by passing through each hole 22 in the shaping aperture array substrate 203 simultaneously forms multiple shot patterns, up to the same number as each hole 22.

[0128] 31 shows the case where the stage is moved once for the writing process of each stripe region, but this is not limiting. Multiple writing may also be performed by moving the stage multiple times over the same position. In this case, it is preferable to perform multiple writing while shifting the stage in the y direction by an amount of shift that is 1 / n of the width of the stripe region, for example.

[0129] FIG. 32 shows an example of a multibeam irradiation area and a target pixel for drawing in the first embodiment. In FIG. 32, a stripe area 32 is divided into a plurality of mesh areas, for example, based on the beam size of the multibeam 20. Each mesh area corresponds to a target pixel 36 (unit irradiation area, irradiation position, or drawing position). The size of the target pixel 36 is not limited to the beam size and may be any size regardless of the beam size. For example, the size may be 1 / n (n is an integer greater than or equal to 1) of the beam size. The example of FIG. 32 shows a case where the target region for drawing on the sample 101 is divided, for example, in the y direction, into a plurality of stripe areas 32, each having a width substantially equal to the size of an irradiation region 34 (drawing field) that can be irradiated with a single irradiation of the multibeam 20. The size of the rectangular irradiation region 34 in the x direction can be defined by the number of beams in the x direction multiplied by the beam pitch in the x direction. The size of the rectangular irradiation region 34 in the y direction can be defined by the number of beams in the y direction multiplied by the beam pitch in the y direction. In the example of Figure 32, for example, a 512 x 512 array of multi-beams is shown, but is abbreviated to an 8 x 8 array of multi-beams. A plurality of pixels 28 (beam drawing positions) that can be irradiated with one shot of the multi-beam 20 are shown within the irradiation area 34. The pitch between adjacent pixels 28 is the pitch between each beam of the multi-beam. A rectangular area surrounded by the size of the beam pitch in the x and y directions constitutes one sub-irradiation area 29 (pitch cell). In the example of Figure 32, each sub-irradiation area 29 is shown as being composed of, for example, 4 x 4 pixels.

[0130] In the shot data generation process, first, the shot data generation unit 70 generates shot data for each pixel 36. Specifically, the operation is as follows. First, the shot data generation unit 70 reads drawing data from the storage device 140, and calculates, for each pixel 36, the pattern area density ρ′ within that pixel 36. This process is executed, for example, for each stripe region 32.

[0131] Next, the shot data generation unit 70 first virtually divides the writing region (here, for example, the stripe region 32) into a plurality of proximity mesh regions (mesh regions for calculating proximity effect correction) in a mesh shape of a predetermined size. The size of the proximity mesh region is preferably set to about 1 / 10 of the range of influence of the proximity effect, for example, about 1 μm. The shot data generation unit 70 reads the writing data from the storage device 140, and calculates, for each proximity mesh region, the pattern area density ρ" of the pattern to be placed in that proximity mesh region.

[0132] Next, the shot data generation unit 70 calculates a proximity effect correction exposure coefficient Dp(x) (corrected exposure dose) for correcting the proximity effect for each proximity mesh region. The unknown proximity effect correction exposure coefficient Dp(x) can be defined by a threshold model for proximity effect correction similar to the conventional method, using the backscattering coefficient η, the exposure dose threshold Dth of the threshold model, the pattern area density ρ", and the distribution function g(x).

[0133] Next, the shot data generation unit 70 calculates, for each pixel 36, the incident irradiation amount D(x) (dose) to be applied to that pixel 36. The incident irradiation amount D(x) may be calculated, for example, as the value obtained by multiplying the base irradiation amount Dbase by the proximity effect correction irradiation coefficient Dp and the pattern area density ρ'. The base irradiation amount Dbase can be defined, for example, as Dth / (1 / 2 + η). As a result, the proximity effect-corrected incident irradiation amount D(x) for each pixel 36 can be obtained based on the layout of the multiple graphic patterns defined in the drawing data.

[0134] Next, the shot data generation unit 70 calculates the irradiation time for each pixel 36. The irradiation time for each pixel 36 can be calculated by dividing the incident irradiation amount D(x) of the pixel by the current density J.

[0135] As a data processing step, the data processing unit 72 rearranges the obtained irradiation time data for each pixel 36 in shot order and stores it in the storage device 142. The transfer processing unit 74 transfers the irradiation time data to the deflection control circuit 130 in shot order.

[0136] In the writing process, under the control of the writing control unit 76, the writing mechanism 150 writes a pattern on the sample 101 on the XY stage 105 using the multi-beam 20 while moving the XY stage 105. In multi-beam writing, while writing processing is being performed, shot data for the region to be written later is generated in parallel. For example, while writing is being performed on the k-th stripe region 32, shot data for the k+2-th stripe region 32 is generated in parallel. By repeating this operation, writing is performed on all stripe regions 32.

[0137] Fig. 33 is a diagram for explaining an example of a multi-beam writing operation in the first embodiment. The example of Fig. 33 shows a case where writing is performed with four different beams in each sub-irradiation area 29, which includes one beam irradiation position of each of the multi-beams 20 and is surrounded by the beam pitch. The example of Fig. 33 also shows a writing operation in which the XY stage 105 moves continuously at a speed of, for example, two beam pitches while writing 1 / 4 of the area in each sub-irradiation area 29 (one for the number of beams used for irradiation). The example of Fig. 33 shows a case where each sub-irradiation area 29 is composed of, for example, 4 x 4 pixels.

[0138] In the drawing operation shown in the example of FIG. 33 , for example, while the XY stage 105 moves a distance of two beam pitches in the x direction, the deflector 209 sequentially shifts the irradiation position (pixel 36), and four shots of the multibeam 20 are fired in a shot cycle T to draw (expose) four different pixels 36 in the same sub-irradiation area 29. While drawing (exposing) these four pixels 36, the deflector 208 deflects the entire multibeam 20 collectively so that the relative position of the irradiation area 34 to the sample 101 does not shift due to the movement of the XY stage 105, thereby causing the irradiation area 34 to follow the movement of the XY stage 105. In other words, tracking control is performed. When one tracking cycle is completed, tracking is reset and the system returns to the previous tracking start position. Note that, since the drawing of the first pixel row from the left in each sub-irradiation area 29 has been completed, after a tracking reset, in the next tracking cycle, the deflector 209 first deflects the beam different from the first pixel row to align (shift) the drawing position of the beam different from that of the first pixel row so as to draw an undrawn pixel row, for example, the second pixel row from the left, in each sub-irradiation area 29. By repeating this operation during drawing of the stripe area 32, the positions of the irradiation areas 34 (34a to 34o) of the multi-beam 20 are sequentially moved, and drawing is performed, as shown in the lower diagram of FIG.

[0139] As described above, according to the first embodiment, it is possible to efficiently perform intersection detection between line segments within the graphics of polygonal graphic data defined in the rendering data, thereby reducing the time required for the intersection detection.

[0140] Although the embodiments have been described above with reference to specific examples, the present invention is not limited to these specific examples. Furthermore, the processing described in the first embodiment may be executed by a computer, and a program for causing a computer to execute such processing may be stored in a non-transitory, tangible readable recording medium such as a magnetic disk device.

[0141] Although the description of the device configuration, control method, and other parts not directly necessary for the explanation of the present invention have been omitted, the required device configuration and control method can be appropriately selected and used. For example, the description of the control unit configuration that controls the drawing device 100 has been omitted, but it goes without saying that the required control unit configuration can be appropriately selected and used.

[0142] In addition, all other methods of determining line segment intersections within a graphic of drawing data that include the elements of the present invention and that can be appropriately modified by those skilled in the art are included within the scope of the present invention. [Explanation of symbols]

[0143] 20 Multibeam 22 holes 24 control electrode 25 Passing hole 26 Counter electrode 29 Sub-irradiation area 30 drawing area 31 Blanking aperture array substrate 32 stripe area 34 Irradiation area 36 pixels 41 Control circuit 50 Shape determination processing unit 52 Shape selection section 54 Figure vertex sequence information acquisition unit 56 Graphic shape determination processing unit 57 Judgment section 58 Judgment section 59 Judgment section 60 Intersection detection processing unit 62 Scanning direction calculation unit 64 Scanning direction setting section 66 Line list creation section 68 Starting point sorting processor 70 Shot data generation unit 72 Data Processing Department 74 Transfer Processing Unit 76 Drawing control unit 80 End point sorting processor 82 Reference line setting section 84 Extraction part 86 Two-line intersection determination section 88 Judgment section 90 Judgment section 92 Judgment section 94 Intersection calculation part 96 Memory section 98 Judgment section 100 Drawing device 101 Sample 102 Electron Telescope 103 Drawing room 105 XY stage 110 Control computer 112 memory 130 Deflection control circuit 132,134 DAC amplifier unit 136 Lens control circuit 138 Stage Control Mechanism 139 Stage Position Measuring Instrument 140,142 Storage device 150 Drawing mechanism 160 Control Circuits 200 electron beam 201 Electron Gun 202 Lighting lens 203 Shaped Aperture Array Substrate 204 Blanking Aperture Array Mechanism 205 Reduction Lens 206 Limiting Aperture Substrate 207 Objective Lens 208 Deflector 209 Deflector 210 Mirror 330 Membrane Region

Claims

1. storing the drawing data in a storage device; reading out the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; performing different intersection determination processing depending on the shape of the figure and outputting the result; Equipped with The method for determining line segment intersections within a graphic of drawing data omits the intersection determination process when the result of the shape determination indicates that the shape of the graphic is an xy monotonic polygon and a convex polygon.

2. storing the drawing data in a storage device; reading out the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; performing different intersection determination processing depending on the shape of the figure and outputting the result; Equipped with The intersection determination process is a method for determining line intersections within a figure of drawing data, in which, when the result of the shape determination shows that the shape of the figure is an x-monotonic polygon, a line segment whose end point position increases in the x direction so as to extend monotonically in the x direction or whose end point position decreases in the x direction so as to extend in the -x direction is used as a reference line, and the opposite side that contains the x coordinate of the reference line within the line segment is used as a subject for intersection determination, and whether or not the line segments intersect with each other is determined, and the remaining line segments are excluded from the subjects for intersection determination with respect to the reference line.

3. storing the drawing data in a storage device; reading out the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; performing different intersection determination processing depending on the shape of the figure and outputting the result; Equipped with The intersection determination process is a method for determining whether or not the line segments intersect with each other within a figure of drawing data, in which, when the result of the shape determination shows that the shape of the figure is a y-monotonic polygon, a line segment whose end point position increases in the y direction as it extends monotonically in the y direction or whose end point position decreases in the y direction as it extends in the -y direction is used as a reference line, and the opposite side that contains the y coordinate of the reference line within the line segment is used as a subject for intersection determination, and the presence or absence of intersections between the line segments is determined, and the remaining line segments are excluded from the subjects for intersection determination with respect to the reference line.

4. storing the drawing data in a storage device; reading out the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; performing different intersection determination processing depending on the shape of the figure and outputting the result; Equipped with The intersection determination process is a method for determining whether or not line segments intersect with each other within a figure of drawing data, in which, if the result of shape determination is that the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the x-coordinate and y-coordinate displacement directions of the next vertex from the position of the previous vertex are calculated for each of the multiple vertices that make up the polygon, and the direction in the x or y direction in which the number of vertices whose displacement direction changes from positive to negative or from negative to positive is the smallest, is used as the scanning direction.

5. The step of performing the intersection determination process is an internal step, a step of replacing each line segment of the target figure that is a monotonic outer polygon with a line segment that is parallel to a predetermined scanning direction, and creating a list of each line segment that is parallel to the scanning direction, when the shape of the target figure is a monotonic outer polygon as a result of the shape determination; A step of sorting the created line segment list; Extracting line segments that may intersect with a predetermined reference line; 5. The method for determining line segment intersections within a figure of drawing data according to claim 1, further comprising:

6. The method for determining line segment intersections within a graphic of drawing data according to any one of claims 1 to 4, further comprising a step of storing information on the graphic, the pair of line segments where the intersection occurred, and the intersection coordinates for the line segments where an intersection occurred as a result of the intersection determination in a storage device.

7. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If the shape of the figure is determined to be an xy monotonic polygon and a convex polygon as a result of the shape determination, the device omits the intersection determination process.

8. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with The intersection determination processing unit, when the result of the shape determination is that the shape of the figure is an x-monotonic polygon, uses a line segment whose end point position increases in the x direction so as to extend monotonically in the x direction or whose end point position decreases in the x direction so as to extend in the -x direction as a reference line, and uses the opposite side that contains the x coordinate of the reference line within the line segment as a crossing determination target, determines whether or not the line segments cross each other, and excludes the remaining line segments from the crossing determination target with respect to the reference line.

9. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with The intersection determination processing unit, when the result of the shape determination is that the shape of the figure is a y-monotonic polygon, uses a line segment whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction as a reference line, and uses the opposite side that contains the y coordinate of the reference line within the line segment as a crossing determination target, determines whether or not the line segments cross, and excludes the remaining line segments from the crossing determination target with respect to the reference line.

10. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; Equipped with If, as a result of the shape determination, the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination processing unit calculates the x-coordinate and y-coordinate displacement directions of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect with each other by using the x-direction or y-direction in which the number of vertices whose displacement direction changes from positive to negative or from negative to positive is the smallest as the scanning direction.

11. A function of storing the drawing data in a storage device; a function of reading the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; A function of performing different intersection detection processing depending on the shape of the figure and outputting the result; A program for causing a computer to execute the above, The program omits the intersection determination process when the shape of the graphic is determined to be an xy monotonic polygon and a convex polygon as a result of the shape determination.

12. A function of storing the drawing data in a storage device; a function of reading the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; A function for performing different intersection detection processes according to the shape of the figure and outputting the results; A program for causing a computer to execute the above, The intersection determination process is a program that, when the result of shape determination shows that the shape of the figure is an x-monotonic polygon, uses a line segment whose end point position increases in the x direction so as to extend monotonically in the x direction or whose end point position decreases in the x direction so as to extend in the -x direction as a reference line, and determines whether or not the line segments intersect with each other using the opposite side that contains the x coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

13. A function of storing the drawing data in a storage device; a function of reading the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; A function for performing different intersection detection processes according to the shape of the figure and outputting the results; A program for causing a computer to execute the above, The intersection determination process is a program that, when the result of shape determination shows that the shape of the figure is a y-monotonic polygon, uses a line segment as a reference line whose end point position increases in the y direction so as to extend monotonically in the y direction or decreases in the y direction so as to extend in the -y direction, and determines whether the line segments intersect with each other using the opposite side that contains the y coordinate of the reference line as a target for intersection determination, and excludes the remaining line segments from the targets for intersection determination with the reference line.

14. A function of storing the drawing data in a storage device; a function of reading the drawing data from the storage device, and determining the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; A function for performing different intersection detection processes according to the shape of the figure and outputting the results; A program for causing a computer to execute the above, The intersection determination process is a program that, if the result of shape determination is that the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, calculates the x-coordinate and y-coordinate displacement directions of the next vertex from the position of the previous vertex for each of the multiple vertices that make up the polygon, and determines whether or not line segments intersect by using the direction in the x or y direction that has the fewest vertices whose displacement direction changes from positive to negative or from negative to positive as the scanning direction.

15. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism for drawing, on a sample, a pattern of each figure in which no intersections between constituent line segments are present, using an electron beam; Equipped with The electron beam drawing apparatus omits the intersection determination process when the shape of the graphic is determined to be an xy monotonic polygon and a convex polygon as a result of the shape determination.

16. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism for drawing, on a sample, a pattern of each figure in which no intersections between constituent line segments are present, using an electron beam; Equipped with the intersection determination processing unit, when the result of the shape determination indicates that the shape of the figure is an x-monotonic polygon, uses a line segment that extends monotonically in the x direction and whose end point position increases in the x direction or extends in the -x direction and whose end point position decreases in the x direction as a reference line, and determines whether the line segments intersect with each other using the opposite side that contains the x coordinate of the reference line as a crossing determination target, and excludes the remaining line segments from the crossing determination target with respect to the reference line.

17. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism for drawing, on a sample, a pattern of each figure in which no intersections between constituent line segments are present, using an electron beam; Equipped with The intersection determination processing unit, when the result of the shape determination is that the shape of the figure is a y-monotonic polygon, uses a line segment whose end point position increases in the y direction so as to extend monotonically in the y direction or whose end point position decreases in the y direction so as to extend in the -y direction as a reference line, and uses the opposite side that contains the y coordinate of the reference line within the line segment as an object for intersection determination, determines whether the line segments intersect with each other, and excludes the remaining line segments from the objects for intersection determination with respect to the reference line.

18. A storage device that stores drawing data; a shape determination unit that reads out the drawing data from the storage device, and determines the shape of each of the figures with respect to two orthogonal directions, one of which is an x-direction and the other of which is a y-direction; An intersection detection processing unit that performs different intersection detection processing depending on the shape of the figure; a drawing mechanism for drawing, on a sample, a pattern of each figure in which no intersections between constituent line segments are present, using an electron beam; Equipped with If, as a result of the shape determination, the shape of the figure is a polygon that is neither an x-monotonic polygon nor a y-monotonic polygon, the intersection determination processing unit calculates, for each of the multiple vertices that make up the polygon, the x-coordinate displacement direction and the y-coordinate displacement direction of the next vertex from the position of the previous vertex, and determines whether or not the line segments intersect by using, as the scanning direction, either the x-direction or the y-direction, which has the fewest vertices whose displacement direction changes from the positive direction to the negative direction or from the negative direction to the positive direction.

Citation Information

Patent Citations

  • Detection program for self-cross in three-dimensional curve model and method for detecting self-cross

    JP2011065534A