Apparatus and method for generating a photomask
By using neural networks to process lithographic mask design, and training generator and discriminator networks to generate lithographic masks, the problems of low efficiency and poor accuracy of existing tools are solved, and efficient and fast lithographic mask generation is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- STMICROELECTRONICS FRANCE
- Filing Date
- 2022-11-10
- Publication Date
- 2026-07-21
AI Technical Summary
Existing photolithography mask design tools are inefficient and inaccurate, and the generation process is time-consuming and resource-intensive, making it difficult to effectively compensate for pattern deformation caused by optical effects.
The design of lithographic masks is processed using neural networks. By transforming the image into a representation formed by two-point elements, the generator and discriminator networks are trained to generate lithographic masks, and pattern estimation and adjustment are performed in conjunction with lithographic simulation tools.
It enables rapid generation of high-precision photolithography masks, reducing the time and resource consumption of the generation process and improving the accuracy and efficiency of photolithography patterns.
Smart Images

Figure CN116107155B_ABST
Abstract
Description
[0001] priority
[0002] This application claims priority to French Patent Application No. 2111964, filed on November 10, 2021, the entire contents of which are incorporated herein by reference to the fullest extent permitted by law. Technical Field
[0003] This disclosure relates generally to the field of photolithography, and more specifically to the generation of photomasks. Background Technology
[0004] Photolithography is a technique used in the field of microelectronics to print patterns from a mask onto the surface of a structure.
[0005] Photolithography typically involves depositing a photoresist layer on a substrate surface. The pattern to be replicated is defined by a mask formed by opaque and transparent regions. These patterns are transferred onto the photoresist by applying light radiation through the mask.
[0006] Due to optical effects, especially those related to diffraction, the pattern obtained on the resin is not necessarily the same as the pattern present on the photomask.
[0007] The difficulty lies in estimating or compensating for these optical effects. Tools exist capable of generating photomasks to account for these effects. However, these tools are inefficient and inaccurate. Furthermore, they are cumbersome and expensive in terms of time and processing resources.
[0008] There is a frequent need to improve photomask design techniques. In particular, there is a need to generate efficient photomasks while minimizing the time and processing resource consumption of the generation process. In fact, it is necessary to overcome all or some of the shortcomings of known photomask design techniques. Therefore, further development is required. Summary of the Invention
[0009] One embodiment provides using a neural network to induce modifications to data representing a circuit pattern. The neural network processes a mathematical representation of the data selected for compressing the circuit description.
[0010] One embodiment provides a method comprising: compressing an image by a processing device by transforming an image having a first pattern into a first representation formed by two-point elements; performing an inference operation on the first representation via a neural network to generate a second representation formed by two-point elements; and generating a photomask based on the decompression of the second representation.
[0011] According to one embodiment, the method includes using a photomask to obtain a photolithographic pattern on a photoresist covering a wafer substrate by photolithography, and then performing an etching process to form the corresponding pattern in the substrate.
[0012] According to one embodiment, the image is represented in vector format.
[0013] According to one embodiment, an image overlays a surface contained in a plane, and the compression of the image includes: projecting vertices of a first polygon of the image onto a first point of a first curve passing through a first surface of the plane; and projecting the vertices onto a second point of a second curve passing through a second surface around the first point, the area of the second surface being smaller than the area of the first surface.
[0014] According to one embodiment, the first and / or second surfaces are rectangular.
[0015] According to one embodiment, the first and / or second surfaces are right-angled triangles.
[0016] According to an embodiment, the first and / or second surfaces include first and second right-angled triangles arranged as rectangles, and the first indication includes an indication of which right-angled triangle the first point and / or the second point is located in.
[0017] According to one embodiment, the first surface is rectangular, and the second surface includes at least one right-angled triangle.
[0018] According to one embodiment, the image is composed of multiple polygons, and the two-point compression includes two-point compression of each vertex of each polygon and two-point compression of at least some of the peripheral points of each polygon that are not vertices.
[0019] According to one embodiment, the method includes comparing the length of each edge of each polygon with a threshold length, and compressing at least one perimeter point on the edge when the length of the edge exceeds the threshold length.
[0020] According to one embodiment, the threshold length is shorter than the minimum distance required to separate any two polygons from a plurality of polygons.
[0021] According to one embodiment, the method further includes segmenting the image into multiple sub-images and applying compression and mask generation steps to each sub-image.
[0022] One embodiment provides a method for training a neural network to generate a photomask, the method comprising: generating, at least partially, an image representing the photomask by the neural network; estimating a pattern derived using the mask by using a photolithography simulation tool; comparing the derived pattern with a reference pattern; and modifying one or more parameters of the neural network based on the comparison. The image representing the photomask can then be printed on a carrier to generate the photomask, and the photomask can be used to obtain a pattern by photolithography on a photoresist covering a wafer substrate, followed by an etching process to form the corresponding pattern in the substrate.
[0023] According to one embodiment, generating an image includes: compressing a first image containing a first pattern by transforming the image into a first representation formed by two-point elements using an algorithm implemented by a data processing device; applying the first representation to a neural network to generate a second representation formed by two-point elements; and decompressing and generating an image based on the second representation.
[0024] According to one embodiment, the neural network is a generative adversarial network, which includes a generator network as a first autoencoder and a discriminator network as a second autoencoder.
[0025] According to one embodiment, the first auto encoder and / or the second auto encoder are of the U-net type.
[0026] According to one embodiment, training of the neural network is performed iteratively, and at each iteration: a loss is calculated using a loss function based on a comparison between the derived pattern and a reference pattern; one or more parameters of the network are modified, including updating the synaptic weights of the neural network based on the calculated loss. Attached Figure Description
[0027] The above-described features and advantages, as well as other features and advantages, will be described in detail below with reference to the accompanying drawings of specific embodiments, but are not intended to be limiting, wherein:
[0028] Figure 1 An image containing a pattern is shown, along with an example of a mask that can acquire the pattern during a photolithography operation;
[0029] Figure 2 This is an example of an image that includes a pattern and the window from which a mask is generated;
[0030] Figure 3 This is a flowchart illustrating a mask generation operation according to an example of an embodiment of this disclosure;
[0031] Figure 4 This is a flowchart illustrating the operation of compressing an image into a representation formed by elements described by two points;
[0032] Figure 5 The operation of an image compression method according to an example embodiment of this disclosure is shown;
[0033] Figure 6A An example of two-point compression of polygon perimeter points is shown;
[0034] Figure 6B The generation process is shown in more detail. Figure 6A An example of the second point in two-point compression;
[0035] Figure 7This is a flowchart illustrating the operation of a neural network training method according to an example of an embodiment of the present disclosure;
[0036] Figure 8 An example of a neural network training method according to an embodiment of the present disclosure is shown;
[0037] Figure 9 A neural network training method according to another example of an embodiment of this disclosure is shown; and
[0038] Figure 10 This is an example of a neural network implementation. Detailed Implementation
[0039] Similar features are represented by similar reference symbols in the various figures. In particular, common structural and / or functional features in the various embodiments may have the same reference and may be arranged with the same structure, dimensions, and material properties.
[0040] For clarity, the steps and elements useful for understanding the embodiments described herein have been detailed and described. Photolithography techniques and operations are not described in detail.
[0041] Unless otherwise stated, when referring to two elements connected together, it means a direct connection without any intermediate elements other than conductors; when referring to two elements coupled together, it means that the two elements can be connected, or they can be coupled through one or more other elements.
[0042] In the following disclosure, unless otherwise stated, when referring to absolute position qualifiers, such as the terms “front,” “back,” “top,” “bottom,” “left,” “right,” etc., or relative position qualifiers, such as the terms “above,” “below,” “higher,” “lower,” etc., or direction qualifiers, such as “horizontal,” “vertical,” etc., refer to the directions shown in the figures.
[0043] Unless otherwise stated, the terms “approximately,” “about,” “basically,” and “about” indicate within 10%, preferably within 5%.
[0044] Figure 1 An example of image 100 is illustrated, which includes a pattern and masks 102 and 102', enabling the pattern to be obtained during a photolithography operation.
[0045] For ease of illustration, the patterns in image 100 have the same square shape, although in reality these patterns can have various shapes. For example, image 100 and the patterns forming it are intended to be copied onto a wafer during microelectronic circuit design. In order to accurately replicate the patterns in image 100, image 100 is first modified to compensate for the deformations associated with the photolithography steps. For example, without modification, the corners of the square pattern may appear rounded, the pattern may appear narrower than on the original image 100, and / or other irregularities may occur. Such distortions in image 100 are undesirable because they can alter the properties of the resulting electronic components and assemblies.
[0046] Masks 102 and 102' are two alternative examples of patterns more complex than image 100, capable of compensating for and correcting variations, such as those related to diffraction and effects associated with the photolithography process. To compensate for these effects, masks 102 and 102' include patterns different from image 100. After a photolithography step using one of masks 102 or 102', the resulting image on the wafer may be more or less similar to image 100.
[0047] The first mask 102 is obtained, for example, by applying an optical proximity correction (OPC) technique 101. OPC involves modifying the polygonal pattern, such as the square pattern of image 100, to compensate for changes associated with the photolithography operation. For example, these modifications include adding small additional polygons at important locations. OPC has the advantage of relatively fast execution speed. However, for some applications, the accuracy obtained through these techniques is insufficient.
[0048] The second mask 102' is obtained, for example, by applying reverse lithography (ILT) 101'. Masks designed using ILT have good resolution. However, this technique is complex and expensive in terms of computation time, making it difficult to use in production.
[0049] Figure 2 Here is an example of image 200, which includes a pattern and a window 202 for generating a mask for it.
[0050] Image 200 includes multiple patterns 201. For ease of illustration, Figure 2The patterns 201 in the example have the same square shape, although in reality these patterns can have various shapes. As an example, image 200 shows an embodiment with a length and width of 500 nanometers. Although it is desirable to generate a mask for the entire image 200, the correlation effects between patterns 201 and the variations due to light diffraction cannot be designed for the entire mask simultaneously. Therefore, a single window 202 of image 200 is processed while taking into account the patterns 201 in the region next to window 202, and particularly around window 202, having a width of at least the value Ambit / 2, where the value Ambit represents the range of the photolithographic simulation model used for the interaction.
[0051] In this example, window 202 contains a single pattern 201. During processing of window 202 via OPC or ILT, patterns forming a mask 205 are added around pattern 201 and within window 202. Mask 205 takes into account the associated effects caused by pattern 201 outside window 202.
[0052] To fully process image 200, masks are created for multiple windows similar to window 202 and overlaid on image 200. This process of dividing the image into multiple windows is time-consuming.
[0053] The processed images are typically displayed in vector formats, such as GDSII (Graphic Design System) or OASIS (Open Art System Exchange Standard).
[0054] In the application addressed in this disclosure, a neural network is provided to generate a mask for each window. However, neural networks cannot process images in their vector representation, so these images will be represented in another form for use, for example, as an array. One problem is that the size of the images 200 that can be processed by a reasonably sized neural network is limited.
[0055] Figure 3 This is a flowchart illustrating an example of a mask generation operation according to an embodiment of the present disclosure.
[0056] In step 300 (image segmentation), the image, such as image 100 or image 200, is segmented into multiple sub-images, each sub-image including a window, for example... Figure 2 A mask will be generated for window 202. To generate a mask for the entire image, the sub-images are, for example, overlapping. Each sub-image is represented as a vector, although the sub-images can also be in array form.
[0057] In step 301 (compression), following step 300, the representation of each sub-image is compressed into another representation formed by elements described by two points. Specifically, each sub-image is formed, for example, by one or more polygons, which define, for example, opaque and / or transparent regions of a mask. For example, compression includes transforming at least some peripheral points of these polygons into elements described by two points.
[0058] For example, the subimage is a vector representation of a polygon, and the transformation involves converting the vector representation into a representation formed by elements described by two points. In another example, the subimage is represented as an array, and the transformation involves converting the array representation into a representation formed by elements described by two points.
[0059] In step 302 (inference), following step 301, a representation formed by the elements described by the two points is provided to the previously trained neural network. The neural network then infers from the representation formed by the elements described by the two points to compute and determine the mask of the window.
[0060] In step 303 (decompression), following step 302, the representation obtained in step 302 is decompressed into, for example, a vector or array representation to generate a lithographic mask image for a window of each sub-image. Specifically, each element described by two points in the representation is transformed, for example, into a point in the vector or array representation, and polygons are reconstructed, for example, from these points.
[0061] This process is repeated for multiple windows until a mask covering the original image is obtained. In other cases, masks can also be generated for certain windows of certain sub-images.
[0062] The mask image obtained in step 303 is, for example, transferred to the manufacturing site for use in the fabrication of electronic devices in step 304 (photolithography process). For example, the mask image is printed onto a carrier, and then the resulting photolithographic mask is used in the photolithography process. For example, light radiation is passed through the photolithographic mask and projected toward the photoresist covering the wafer substrate. The irradiated photoresist is then subjected to an etching process to form a pattern in the substrate.
[0063] Figure 4 This is a flowchart illustrating an example of an operation to compress an image into a representation formed by elements described by two points. In particular, the image contains at least one polygon and is represented, for example, in a vector format.
[0064] In step 400 (perimeter points), perimeter points are determined for each polygon. These points include, for example, the vertices of each polygon, as well as certain points on the edges of the polygons. For example, an array image displaying these perimeter points is generated.
[0065] Then, in step 402 (first point), each of these perimeter points is projected onto a first curve that runs through the first surface. The first surface is, for example, a rectangle or right rectangle and is described by a curve. Each perimeter point is then identified by a first point, which corresponds to a point on the first curve that exists in the neighborhood of the projection of the perimeter point.
[0066] Then, in step 403 (the second point), each perimeter point is identified by a second point, oriented toward a second curve that runs through the second surface near the first point. For example, the second point is selected as the point on the second curve that is closest to the projection point. Thus, the second point of each element, described by the two points, provides an additional level of precision relative to the first point.
[0067] Figure 5 An example of the operation of the compression method for image 500 is shown.
[0068] exist Figure 5 In the example, image 500 is a vector representation of eight polygons 502 arranged in two rows of four polygons each, and four polygons 504 arranged in a row between the rows of polygons 502. Each polygon 502 and 504 is at least a minimum distance d from the other polygons 502 and 504.
[0069] To compress image 500 into a representation formed by elements described by two points, the perimeter points of each polygon are, for example, determined as points to be transformed. For instance, each vertex of each polygon 502 and 504 forms part of these perimeter points. Furthermore, to maintain the structure and uniformity of each polygon, the perimeter points of polygon edges with a length greater than the value d are determined as points to be transformed, for example. In practice, the determined perimeter points can be used to reconstruct image 500, for example, by linking the nearest points from the initial perimeter points back to the initial perimeter points. As an example, points 506 and 508 are two vertices on the upper edge of polygon 502, separated by a distance greater than d. Therefore, points 510 and 512, belonging to the edge connecting vertices 506 and 508, are also determined as points to be transformed. Similarly, another edge of polygon 502 with a length greater than d links vertex 508 to vertex 514. Now, vertex 508 is d away from vertex 506 of the adjacent polygon 502. Point 516 on the edge is less than d from vertices 508 and 514, therefore it is determined that this point should be transformed. Point 516 can maintain the uniformity of polygon 502 because, in fact, without point 516, vertex 508 of each polygon would be linked to the top 506 of the adjacent polygon 502.
[0070] Such a defined perimeter point Figure 5 As shown in box 518 at the bottom. Box 518 is an array representation of the points determined to be transformed.
[0071] Figure 6A and6B Examples of the first and second surfaces and examples of the first and second curves used during the conversion to two-point elements of polygon perimeter points are illustrated, as per [reference to...]. Figure 4 Steps 402 and 403 are described.
[0072] In particular, Figure 6A A curve 600 (I-curve) is shown traversing a surface 601 defined in a space of size 16×16. Curve 600 traverses surface 601 to allow any point on the surface to be represented by a point. Furthermore, the path of curve 600 can be chosen, for example, such that there is a correlation between the value of a point on the curve and the position of the corresponding point on surface 601. Figure 6A The example exhibits symmetry along diagonal axes 602 and 604, along the vertical axis 606, and along the horizontal axis 608, thus dividing curve 600 into eight sections, each traversing one of eight identical right-angled triangles. Furthermore, curve 600 is formed by points that create right angles or straight lines. Figure 6A In the example, curve 600 is formed by 256 points, although it can be formed by other numbers of points (e.g., powers of 2). For Figure 6A The right triangle in the upper left corner shows an example of point 610 on the line. Figure 6A In the example, each point is therefore one unit away from the previous and next points in curve 600. Furthermore, each point is identified, for example, by an integer ranging from 0 to 255, representing its position within curve 600. Figure 6A In the example, the starting point 611 of curve 600 is located at the corner of surface 601 at coordinates (0, 15), although other starting points are possible. The starting point 611 of curve 600 is then identified, for example, by the integer 0. Similarly, the arrival point 612 is similarly defined and... Figure 6A In the example, it is located at coordinates (1,15) and is identified, for example, by the integer 255.
[0073] exist Figure 6A In the example, the perimeter point, for example Figure 5 One of the points is projected onto the surface defined by curve 600 and lies in the neighborhood 613 of point 614 on curve 600. Therefore, the integer description point 614 is designated as the first point of the description of the perimeter point considered in the representation formed by the elements described by the two points.
[0074] exist Figure 6A In the example, neighborhood 613 is a right-angled triangular surface, but other types of surfaces can be used.
[0075] To provide a second level of precision for compression, Figure 6BThe second curve 615 shown in the diagram passes through the neighborhood 613 of point 614, so as to define the points in the neighborhood 613, thereby providing a second level of accuracy for the compression of the perimeter points.
[0076] exist Figure 6B In the example, neighborhood 613 is therefore described by a right-angled triangle with a length and width of size 16. The construction of curve 615 is similar to that of curve 600, except that curve 615 lies on some points 618 on the diagonal of the right-angled triangle forming a 45° angle. Curve 615 is then formed by points on the straight line, points forming the right angle, and points 618. Figure 6B In the example, curve 615 contains 136 points, each identified by an integer, similar to the points of curve 600. For example, point 619 at coordinates (0,0) is identified by the integer 0, and point 620 at coordinates (15,15) is identified by the integer 135.
[0077] exist Figure 6B In the example, the perimeter point described by the integer identifying the first point 604 is then described by the integer assigned to, for example, the second point 621 of curve 615. In fact, point 621 is, for example, the point that is closest to the point to be compressed in the description of the neighborhood 613 of point 614.
[0078] exist Figure 6A and 6B In the example, neighborhood 613 is triangular. However, other shapes are also possible, such as rectangles. In this case, an additional bit is added to the first point describing the perimeter point under consideration. For example, if the point is located in the lower triangular portion of neighborhood 613, such as... Figure 6B As shown, the value of this bit is 0, or if the point is located in the upper triangle of the neighborhood, the value of this bit is 1, or vice versa.
[0079] Figure 3 and 4 The method is implemented, for example, by a dedicated data processing device such as a hardware accelerator.
[0080] Figures 7 to 10 The operation and training of a neural network 712 are described, which is configured to generate a photomask based on a representation of a target image, such as a vector representation.
[0081] Figure 7 This is a flowchart illustrating the operation of a method for training a neural network 712 according to an example embodiment of this disclosure. The method is implemented, for example, by a dedicated data processing device.
[0082] Figure 7The steps that occur during the iterative process of an unsupervised training algorithm are shown. In some cases, these steps are repeated many times, actually thousands of times, to fully train the neural network 712.
[0083] In step 800 (compression), for example, the target image in vector form is compressed into a representation formed by elements described by two points. The compressed image is then provided as input data to the neural network.
[0084] In step 801 (mask generation), neural network 712 generates a new representation based on the compressed image, which is formed by elements described by two points.
[0085] In step 802 (decompression), the new representation is decompressed into the format of the input image. The image representation thus decompressed represents an estimate of the lithographic mask from which the target image can be obtained after the lithography operation.
[0086] In step 803 (Use of the Photolithography Simulation Tool), the mask image obtained in step 802 is submitted to simulation tool 714. Simulation tool 714 is configured to apply optical rules, thereby enabling the estimation and simulation of a pattern obtained by using the generated mask image. Simulation tool 714, for example, transmits an image of the estimated pattern. In some embodiments, the simulation tool uses OPC rules. For example, the simulation tool predicts an image of the estimated pattern based on the application of two successive models. The first model predicts an image of the top of the photoresist, obtained by light passing through the mask. The second model predicts an image obtained by the chemical reaction of the photoresist to exposure and by removing the reacted portion of the photoresist.
[0087] In step 804 (comparison with the target), the difference between the image of the estimated pattern generated by the simulation tool and the target image is quantified. For example, during the training of neural network 712, the pattern estimated by the simulation tool will exhibit differences from the target image. These differences are quantified, for example, by a loss function based on the error level between the image of the estimated pattern and the target image. This error level is estimated, for example, by calculating the number of distinct pixels between the target image and the image of the estimated pattern, although in other cases, other estimation techniques, such as error surface area calculation, can be used. The closer the loss is to zero, the more closely the obtained pattern corresponds to the target image.
[0088] In step 805 (adjustment), the parameters of the neural network, such as synaptic weights, are adjusted based on the loss value calculated in step 802. For example, the adjustment method based on gradient backpropagation (or descent) is well known to those skilled in the art.
[0089] Then, during other iterations of the algorithm, steps 800 to 805 are repeated based on the same target image and also on other target images. For example, training ends once multiple iterations have been performed, or when the loss no longer changes during a fixed number of iterations.
[0090] Figure 8 It shows Figure 7 The first detailed example of the training method for the neural network 712.
[0091] In some embodiments, the neural network 712 is initially pre-configured, for example, through supervised pre-training. Then the network 712 is no longer initially blank, because the parameters of the network 712 (e.g., synaptic weights) are subsequently partially tuned to facilitate the training of the network 712.
[0092] An image 904 formed by multiple patterns, for example, is stored in the volatile memory of the apparatus implementing the method in vector format (GDSII), according to... Figure 2 The described method divides the image into multiple target sub-images. Then, one target sub-image 906 from these sub-images is compressed into a representation formed by elements described by two points. The compression, for example, is based on... Figure 5 , 6A Regarding the embodiments described in 6B Figure 7 The described step 800 is executed in the implementation.
[0093] The representation formed by the elements described by the two points of subimage 906 is then provided to neural network 712. Neural network 712 is implemented, for example, according to a generative model such as an autoencoder, although other implementations are also possible. In the implementation of step 801, neural network 712 generates a new representation formed by the elements described by the two points. As an example, in addition to the representation, neural network 712 also receives random data, for example, generated by a random number generator. For example, the random data is used to help form the pattern of mask 914.
[0094] Then, in the implementation of step 802, the new representation is decompressed into a mask estimate 914 for sub-image 906. The mask estimate 914 is represented by a vector image, for example, of type GDSII.
[0095] The mask estimate 914 is then provided to the simulation tool 714, and in the implementation of step 803, the simulation tool 714 generates an image 918 that represents a simulation of the pattern obtained by photolithography using the mask 914.
[0096] Then, in the implementation of step 804, image 918 is compared with target sub-image 906. For example, the comparison is quantified by calculating a loss using a loss function 920 (LOSS). Figure 7The loss is a quadratic function describing the error level. The loss calculated from this allows for the adjustment of the parameters of the neural network 712, such as synaptic weights. Adjustment is performed, for example, via gradient descent.
[0097] The process then restarts with the same sub-image 906 or a different sub-image, allowing the parameters of network 712 to be readjusted again by means of the generation of a new mask image and loss calculation.
[0098] exist Figure 8 In the example shown, network 712 was trained in an unsupervised manner.
[0099] To accelerate and facilitate the training of neural network 712, pre-training is performed before the actual training of neural network 712. As an example, the pre-training of the network is performed in a supervised manner and is implemented by program 921 (NN0), which is stored, for example, in the non-volatile memory of the device implementing the method. Pre-training is performed, for example, by performing transfer learning.
[0100] Pre-training is performed, for example, by a database 922 (database). This database is, for example, temporarily stored in the volatile memory of the apparatus implementing the method. Database 922 contains the target image and a mask that can be obtained from the target image by photolithography. The mask in the database is, for example, a mask obtained by applying ILT to the target image. Figure 1 As mentioned, the masks obtained through ILT have good resolution, but their generation is very time-consuming. Therefore, the construction of database 922 is also time-consuming, but it is only performed once before the training of neural network 712.
[0101] Once trained, the neural network 712 can quickly provide a mask with a resolution equal to that of a mask constructed via ILT for a given target image.
[0102] Figure 9 Another example of a neural network training method according to an embodiment of this disclosure is shown.
[0103] in particular, Figure 9 The training method is shown when the neural network is a Generative Adversarial Network (GAN). This network therefore consists of two sub-networks: generator network 1000 (generator) and discriminator network 1002 (discriminator).
[0104] The discriminator network 1002 receives a target sub-image 906, for example, in a vector format such as GDSII, and the generator network 1000 receives a representation formed by elements described by two points in the target sub-image 906. The generator network 1000 is configured to generate a new representation formed by elements described by two points based on this representation. The new representation is decompressed, thus obtaining a mask image 914. Image 914 is then provided to the discriminator network 1002. The discriminator network 1002 also receives other mask images generated for the target image 906, for example, using an ILT tool. The discriminator network is configured to estimate, based on the target image 906 and from the delivered images, which images were generated by the generator and which were generated by the ILT tool.
[0105] The discriminator network 1002 then feeds its estimate back to the generator network 1000, and also receives the truth about the fact that each mask image was generated in the generator 1000 and the ILT tool. The loss of each of the two networks 1000 and 1002 is then calculated, and the parameters of each of the two networks, such as synaptic weights, are adjusted according to the loss assigned to it.
[0106] Two networks, 1000 and 1002, operate competitively. The generator 1000 aims to fool the discriminator 1002 by predicting an image 914 that closely resembles the ILT mask. The discriminator 1002's goal is to see through the generator 1000's trick and thus distinguish the predicted image from the real ILT mask.
[0107] For example, suppose that in their initial state, the two networks are at the same level. In fact, if one network has higher performance than the other, it will always risk winning and preventing the other network from progressing. Therefore, the network with higher performance will also face the risk of not being able to progress.
[0108] The two networks 1000 and 1002 are, for example, autoencoders, more specifically, U-net type autoencoders. Other implementations are of course possible and within the capabilities of those skilled in the art.
[0109] Figure 10 This is an example of a neural network implementation. Specifically, Figure 10 Network 1100 of the autoencoder type is shown.
[0110] Automatic encoder 1100 is used, for example, as a Figure 8 1000 neural networks and / or generator networks and / or combinations thereof Figure 9The implementation of the discrimination network 1002 is described. The autoencoder 1100 is decomposed into an encoder portion comprising a coding layer 1102 (encoding) of multiple neurons, and into a decoder portion comprising a decoding neuron layer 1104 (decoding). Figure 10 In the example, the autoencoder 1100 contains 8 encoding layers and 8 decoding layers, although the number of layers can be changed.
[0111] exist Figure 10 In the example, the encoder receives an image 906 of size 256×256 pixels as input, and the decoder outputs an image 914 of the same size as image 906. However, this is just an example, and any input and output image size is possible.
[0112] Arrows 1106 between each coding layer 1102 indicate subsampling operations, where pixel blocks are combined, for example, by generating the average pixel value of the pixels in the block or by taking the value of the peak pixel in the block. Figure 10 In the example, subsampling means combining 2×2 pixel blocks, reducing the image size by a factor of 4. Therefore, the encoder reduces the size of image 906. Between each subsampling operation 1106, each coding layer 1102 includes, for example, the application of a convolutional filter, but other types of filters may be applied.
[0113] Once eight subsampling operations have been performed, the autoencoder 1100 has processed 512 images of 2×2 pixels each. The processed images are then provided to the decoding section of the autoencoder 1100.
[0114] Arrow 1008 illustrates an oversampling operation, where a pixel block is copied a given number of times to increase the image size. For example, copying a pixel once in each direction results in an image size increase of a factor of 4, because each pixel becomes four pixels. Therefore, the decoder increases the size of the manipulated image. Between each oversampling operation 1108, each coding layer 1104 includes, for example, the application of a convolutional filter, but other types of filters may be applied.
[0115] According to one embodiment, the autoencoder 1100 is of the U-net type. However, many variations of the implementation of the autoencoder 1100 are within the capabilities of those skilled in the art.
[0116] One advantage of the described embodiments is that, once the neural network has been trained, the generation of masks with similar or equivalent quality to those obtained by high-performance tools (such as ILT tools) is performed quickly.
[0117] Various embodiments and variations have been described. Those skilled in the art will understand that certain features of these different embodiments and variations can be combined, and other variations will come to mind.
[0118] Finally, based on the functional indications given above, the actual implementation of the described embodiments and variations is within the capabilities of those skilled in the art. In particular, other neural network architectures besides those discussed can be used. Furthermore, the method of calculating the loss associated with network prediction may differ from... Figure 8 The methods described in the text differ. Finally, network pre-training is an optional step, and its implementation may differ from... Figure 8 The implementations described herein differ from those described in section 8. These variations are within the capabilities of those skilled in the art.
Claims
1. A method for generating a photomask, comprising: The processing device compresses the image by transforming it into a first representation formed by two-point elements, the image including a first pattern, the image overlaying a surface contained in a plane. Compressing the image includes: Projecting the vertices of the first polygon of the image onto the first point of the first curve that traverses the first surface of the plane; and The vertex is projected onto a second point on a second curve that runs through the second surface around the first point, the area of the second surface being smaller than the area of the first surface; The first representation is inferred by a neural network to generate a second representation consisting of two-point elements; and A photolithographic mask is generated based on the decompression of the second representation.
2. The method of claim 1 further comprises using the photomask to obtain a pattern on the photoresist of the substrate covering the wafer by photolithography, and then performing an etching process to form the corresponding pattern in the substrate.
3. The method according to claim 1, wherein, The image is represented in vector format.
4. The method according to claim 1, wherein, The first surface and / or the second surface are rectangular.
5. The method according to claim 1, wherein, The first surface and / or the second surface are right-angled triangles.
6. The method of claim 1, wherein the first surface and / or the second surface comprises a first right-angled triangle and a second right-angled triangle arranged as a rectangle, and the first representation includes indicating the position of the first point and / or the second point within which right-angled triangle of the first and second right-angled triangles.
7. The method according to claim 1, wherein, The first surface is rectangular, and the second surface includes at least one right-angled triangle.
8. The method according to claim 1, wherein, The image is composed of multiple polygons, and the compression includes two-point compression of each vertex of each polygon and two-point compression of at least some of the perimeter points of each polygon that are not vertices.
9. The method of claim 8, further comprising comparing the length of each side of each polygon with a threshold length, and compressing at least one perimeter point on the side when the length of the side exceeds the threshold length.
10. The method according to claim 9, wherein, The threshold length is shorter than the minimum distance required to separate any two polygons from the plurality of polygons.
11. The method of claim 1, further comprising segmenting the image into a plurality of sub-images, wherein the compression step and the mask generation step are applied to each sub-image.
12. A method for generating a photomask, comprising: The neural network is trained to generate lithographic masks using the following methods: The image representing the lithographic mask is generated at least partially by the neural network. The pattern obtained using the mask is estimated by using photolithography simulation tools; The resulting pattern is compared with the reference pattern; as well as Based on the comparison, one or more parameters of the neural network are modified; as well as The image representing the photomask is printed on a carrier to produce the photomask. Generating the image includes: An algorithm implemented by a data processing device compresses an image containing a first pattern by transforming it into a first representation formed by two-point elements, the image covering a surface contained in a plane. Compressing the image includes: Projecting the vertices of the first polygon of the image onto the first point of the first curve that traverses the first surface of the plane; and The vertex is projected onto a second point on a second curve that runs through a second surface around the first point, the area of the second surface being smaller than the area of the first surface; The first representation is applied to the neural network to generate a second representation formed by two-point elements; and The image is generated by decompression based on the second representation.
13. The method according to claim 12, wherein, The neural network is a generative adversarial network, which includes a generator network as a first autoencoder and a discriminator network as a second autoencoder.
14. The method according to claim 13, wherein, The first autoencoder and / or the second autoencoder are of type U-net.
15. The method of claim 12, wherein the training of the neural network is performed iteratively, and in each iteration: Based on the comparison between the derived pattern and the reference pattern, a loss is calculated using a loss function; and Modifying one or more parameters of the network includes updating the synaptic weights of the neural network based on a calculated loss.
16. The method of claim 12, further comprising using the photomask to obtain a pattern on a photoresist covering a substrate of a wafer by photolithography, and then performing an etching process to form the corresponding pattern in the substrate.