Mask pattern optimization method, electronic equipment and program product
By selecting and training the optimization model in ILT technology, using the design layout and consistency ridge point graphics to generate the mask layout, the problem of inconsistency of the mask layout is solved, data consistency and efficient utilization of computing resources are achieved, and the accuracy and complexity balance is achieved.
Patent Information
- Application Number
- CN202510622074.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-08-15
AI Technical Summary
In the process of optimizing the photolithographic mask pattern, the mask pattern after the locally identical design pattern is optimized is inconsistent, and the data consistency is lacking, which increases the difficulty of model training.
By selecting and training multiple optimization models based on the optimization accuracy requirements, using the design layout and consistent ridge point graphics for training, the mask layout graphics are generated to ensure that the mask layout corresponding to the locally identical design layout remains consistent, and the appropriate optimization model is selected based on the rendering resolution to balance the calculation complexity and accuracy.
The data consistency of the mask pattern after ILT optimization is achieved, which reduces the difficulty of model training, and avoids excessive consumption of computing resources under different accuracy requirements, achieving a balance between computing complexity and model accuracy.
Smart Images

Figure CN120491382A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of photolithography technology, and in particular to a mask pattern optimization method, electronic equipment, and program product. Background Art
[0002] In the field of integrated circuit design and manufacturing, ILT (inverse lithography technology) is an important technology that can optimize the mask pattern based on the designed chip circuit pattern so that the pattern formed after the light emitted by the light source passes through the mask and shines on the photoresist can match the originally designed chip circuit pattern.
[0003] Because ILT requires comprehensive optimization of the mask pattern, it consumes significant computing and time resources. Related technologies combine deep learning with ILT, using the original design layout and the optimized mask pattern as the input and output of the training set to train a neural network model. The trained model then predicts the pattern of each design layout.
[0004] However, during ILT pattern optimization, the optimized local mask patterns for two identical local circuit patterns are not completely identical. This means that for the same local design layout, the optimized data is not completely consistent, resulting in a lack of data consistency, which greatly increases the difficulty of model training. Summary of the Invention
[0005] The embodiments of the present application provide a mask pattern optimization method, electronic equipment, and program product, which can improve the technical problem of lack of data consistency in the mask pattern after ILT optimization in the related art.
[0006] In a first aspect, an embodiment of the present application provides a method for optimizing a mask pattern, the method comprising:
[0007] Based on the optimization accuracy requirements, a target optimization model is determined from multiple optimization models. The optimization model is obtained by training the design layout and a consistent ridge point pattern.
[0008] Inputting the first design layout into the target optimization model to obtain the model prediction result;
[0009] Determine a ridge point pattern based on the model prediction result and the first design layout; the ridge point pattern includes a plurality of ridge points including directional information;
[0010] A first mask pattern is generated based on the first design layout and the ridge point.
[0011] Optionally, based on the optimization accuracy requirement, before determining the target optimization model from the multiple optimization models, the following steps are further included:
[0012] For multiple design layouts, the main graphics of the design layout are combined with the placed evaluation points for simulation. When the exposure pattern profile obtained by simulation meets the verification conditions, an auxiliary image formed based on the evaluation points is obtained;
[0013] determining a plurality of ridge points and their corresponding ridge point directions from the auxiliary image;
[0014] Determine the first line segment corresponding to each ridge point in the main figure, and obtain a correspondence between the ridge point and the first line segment; wherein the first line segment is a portion of an edge in the main figure;
[0015] Perform traversal calculation on each first line segment in the main graph, and divide the first line segments with the same traversal results into the same group;
[0016] Adjusting the ridge points corresponding to the first line segments in each group so that the relative positional relationship between the first line segments and the corresponding ridge points in the same group remains consistent;
[0017] At different rendering resolutions, the preset model is trained with the rendered main graphic as the input parameter and the rendered mixed graphic as the output parameter to obtain the optimized model at different resolutions; wherein the mixed graphic is formed by the superposition of the rendered main graphic and the rendered ridge point graphic, and the ridge point graphic includes multiple ridge points containing directional information.
[0018] Optionally, the main pattern of the design layout is simulated in combination with the placed evaluation points. When the exposure pattern profile obtained by simulation meets the verification conditions, an auxiliary image formed based on the evaluation points is obtained, including:
[0019] Place sub-resolution auxiliary graphic feature points around the main graphics of the design layout;
[0020] Input the feature points of the main pattern and the sub-resolution auxiliary pattern into the simulation model to obtain the exposure pattern outline;
[0021] In the case where the exposure pattern profile does not match the verification pattern profile, the sub-resolution auxiliary pattern feature points are adjusted and re-input into the simulation model until the exposure pattern profile matches the verification pattern profile;
[0022] A sub-resolution auxiliary image is generated based on the sub-resolution auxiliary graphic feature points that meet the verification conditions.
[0023] Optionally, determining a plurality of ridge points and their corresponding ridge point directions from the auxiliary image includes:
[0024] Pixelate the sub-resolution auxiliary image to obtain an original pixel matrix;
[0025] Perform gradient processing on the original pixel matrix to obtain a first-order gradient value image;
[0026] Determine the local peak point as the ridge point from the first-order gradient value image;
[0027] Based on the second-order gradient of the original pixel matrix, the direction with the largest second-order gradient value around each ridge point is selected as the ridge point direction.
[0028] Optionally, determining the first line segment corresponding to each ridge point in the main graph and obtaining the correspondence between the ridge point and the first line segment includes:
[0029] For each ridge point, determine the first line segment in the main graph that is closest to the ridge point;
[0030] Construct the correspondence between the ridge point and the first closest line segment.
[0031] Optionally, performing traversal calculation on each first line segment in the main graph and dividing first line segments with the same traversal results into the same group includes:
[0032] Traversing each first line segment in the main figure to obtain adjacent first line segments within a preset range of the first line segment;
[0033] Calculate the sum of the mapping values of adjacent first line segments of each first line segment as the characteristic value of each first line segment;
[0034] The first line segments with the same eigenvalues are divided into the same group.
[0035] Optionally, adjusting the ridge points corresponding to the first line segments in each group includes:
[0036] For each group, select one of the multiple first line segments in the group as a sample line segment;
[0037] The ridge point corresponding to the sample line segment is moved to the corresponding position of the other first line segments according to the movement trajectory of the sample line segment and the other first line segments, and the corresponding relationship between the other first line segments and the ridge point is updated.
[0038] Optionally, for each group, one of the multiple first line segments in the group is selected as a sample line segment, including:
[0039] Obtaining the position information of the center point of the sub-resolution auxiliary image;
[0040] For each group, calculate the distance between each first line segment in the group and the center point;
[0041] The first line segment with the shortest distance to the center point is selected as the sample line segment.
[0042] Optionally, at different rendering resolutions, the rendered main graphics are used as input parameters and the rendered mixed graphics are used as output parameters to train the preset model to obtain optimized models at different resolutions, including:
[0043] Build preset models at different rendering resolutions;
[0044] For each rendering resolution, a training set at the corresponding rendering resolution is generated, and the training set is trained using a preset model to obtain a corresponding optimization model; wherein the input parameters of the training set are the rendered main graphics of multiple design layouts, and the output parameters are the mixed graphics formed by superimposing the rendered main graphics of multiple design layouts and the rendered ridge point graphics.
[0045] Optionally, determining a ridge point pattern based on the model prediction result and the first design layout includes:
[0046] Calculating the difference between the model prediction result and the first design layout to obtain a predicted ridge point pattern corresponding to the first design layout;
[0047] Data processing is performed on the predicted ridge point graph to obtain multiple ridge points and their corresponding ridge point directions, and the ridge point graph is determined.
[0048] In a second aspect, an embodiment of the present application provides a mask pattern optimization device, comprising:
[0049] A determination module is used to determine a target optimization model from multiple optimization models based on optimization accuracy requirements; wherein the optimization model is obtained by training the design layout and a consistent ridge point pattern;
[0050] A model prediction module, configured to input the first design layout into a target optimization model to obtain a model prediction result;
[0051] A ridge point extraction module is used to determine a ridge point pattern based on the model prediction result and the first design layout; the ridge point pattern includes a plurality of ridge points containing directional information;
[0052] The pattern optimization module is used to generate a first mask pattern based on the first design layout and the ridge point.
[0053] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising:
[0054] a processor and a memory storing computer program instructions;
[0055] When the processor executes the computer program instructions, the steps of the mask pattern optimization method in the above aspect are implemented.
[0056] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the steps of the mask pattern optimization method of the above aspect are implemented.
[0057] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the instructions in the computer program product are executed by a processor, the steps of the mask graphic optimization method in the above aspect are implemented.
[0058] The mask pattern optimization method, electronic device and program product of the embodiments of the present application pre-train different optimization models for different optimization accuracy requirements. Each optimization model is trained based on the design layout and a consistent ridge point graphic during the training process. For the first design layout that needs to be optimized, it can be input into the target optimization model to obtain the model prediction result. After the ridge point is obtained based on the model prediction result and the first design layout, the first design layout can be combined with the ridge point for ILT to obtain the first mask pattern. Since the training set input during the model training process can meet the data consistency, for the locally identical design layouts in the first design layout, the local mask patterns corresponding to the locally identical design layouts in the first mask pattern can also be guaranteed to be consistent, so that the mask pattern after ILT optimization has data consistency. In addition, for different optimization accuracy requirements, the appropriate optimization model can be selected according to the actual required rendering resolution to avoid the problem of excessive consumption of computing resources due to too high rendering resolution, thereby achieving a balance between computational complexity and model accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0060] Figure 1 1 is a flow chart of a mask pattern optimization method provided in one embodiment of the present application;
[0061] Figure 2 This is a partial flow chart of a method for optimizing a mask pattern provided by an embodiment of the present application;
[0062] Figure 3 This is a partial flow chart of a method for optimizing a mask pattern provided by another embodiment of the present application;
[0063] Figure 4 This is a partial flow chart of a mask pattern optimization method provided by another embodiment of the present application;
[0064] Figure 5 Schematic diagram of pixel brightness of an original pixel matrix provided by an embodiment of the present application;
[0065] Figure 6 Schematic diagram of pixel brightness of a first-order gradient value image provided by an embodiment of the present application;
[0066] Figure 7 Schematic diagram of pixel brightness of a second-order gradient value image provided by an embodiment of the present application;
[0067] Figure 8 This is a partial flow chart of a method for optimizing a mask pattern provided by yet another embodiment of the present application;
[0068] Figure 9 This is a schematic diagram of a portion of the graphics of the design layout and its corresponding ridge points provided in one embodiment of the present application;
[0069] Figure 10 is a schematic diagram of a portion of a design layout and its corresponding ridge points provided by another embodiment of the present application;
[0070] Figure 11 is a structural schematic diagram of a mask pattern optimization device provided by another embodiment of the present application;
[0071] Figure 12 This is a structural diagram of an electronic device provided in yet another embodiment of the present application. DETAILED DESCRIPTION
[0072] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.
[0073] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.
[0074] In the field of integrated circuit design and manufacturing, ILT, as an important technology, can optimize the mask pattern based on the designed chip circuit pattern, so that the pattern formed after the light emitted by the light source passes through the mask and shines on the photoresist can fit the originally designed chip circuit pattern.
[0075] Because ILT requires comprehensive optimization of the mask pattern, it consumes significant computing and time resources. Related technologies combine deep learning with ILT, using the original design layout and the optimized mask pattern as the input and output of the training set to train a neural network model. The trained model then predicts the pattern of each design layout.
[0076] However, during ILT pattern optimization, the optimized local mask patterns for two identical local circuit patterns are not completely identical. This means that for the same local design layout, the optimized data is not completely consistent, resulting in a lack of data consistency, which greatly increases the difficulty of model training.
[0077] In related technologies, in order to solve the problem of lack of consistency in data after ILT optimization, which makes model training more difficult, an additional auxiliary training model is used. The auxiliary training model can simulate and predict the final pattern formed on the wafer based on the mask pattern. For the original prediction model, its supervision information includes two. One is for the input design layout, requiring the prediction model to predict the output mask pattern close to the actual output corresponding to the sample data in the training set, that is, close to the actual mask pattern in the sample data; the second is for the predicted output mask pattern, requiring the pattern formed on the wafer predicted by the auxiliary training model simulation to be close to the design layout.
[0078] In the above technical solution, an auxiliary training model was introduced to address the difficulty of model training. With this model, the prediction model no longer requires a unique reticle pattern for the same design layout. Instead, it only requires that the predicted reticle pattern, after simulation and prediction by the auxiliary training model, closely matches the design layout. However, in this technical solution, the prediction model still does not predict unique reticle patterns for the same design layout. Therefore, during the model training process, the problem of inconsistent prediction data remains unresolved, significantly slowing model convergence and severely affecting model training efficiency.
[0079] In order to solve at least one of the above technical problems, the embodiments of the present application provide a mask pattern optimization method, electronic device, and program product. The mask pattern optimization method provided by the embodiments of the present application is first introduced below.
[0080] Figure 1 A schematic flow chart of a mask pattern optimization method provided by an embodiment of the present application is shown. The method may include the following steps:
[0081] S110, determining a target optimization model from multiple optimization models based on optimization accuracy requirements; wherein the optimization model is obtained by training the design layout and a consistent ridge point pattern;
[0082] S120, inputting the first design layout into the target optimization model to obtain a model prediction result;
[0083] S130, determining a ridge point pattern based on the model prediction result and the first design layout; the ridge point pattern includes a plurality of ridge points including directional information;
[0084] S140 , generating a first mask pattern based on the first design layout and the ridge point.
[0085] In this embodiment, different optimization models are pre-trained for different optimization accuracy requirements. Each optimization model is trained based on the design layout and a consistent ridge point graphic during the training process. The first design layout that needs to be optimized can be input into the target optimization model to obtain a model prediction result. After the ridge point is obtained based on the model prediction result and the first design layout, the first design layout can be combined with the ridge point for ILT optimization to obtain a first mask graphic. Since the training set input during the model training process can meet data consistency, for locally identical design layouts in the first design layout, the local mask graphics corresponding to the locally identical design layouts in the first mask graphic can also be guaranteed to be consistent, so that the mask graphic after ILT optimization has data consistency. In addition, for different optimization accuracy requirements, a suitable optimization model can be selected according to the actual required rendering resolution to avoid the problem of excessive consumption of computing resources due to too high rendering resolution, thereby achieving a balance between computational complexity and model accuracy.
[0086] The specific implementation methods of the above steps are introduced below.
[0087] In S110, based on the optimization accuracy requirements of different resolutions, multiple optimization models can be pre-trained and generated, each of which can correspond to the optimization accuracy requirements at a certain resolution. The input parameters of each optimization model can include the design layout, and the output parameters can include the design layout and a consistent ridge pattern.
[0088] When there are multiple completely identical local patterns in the design layout, since the ridge point graphics required in the ILT optimization process are consistent, the mask graphics corresponding to each local pattern optimized by ILT technology can also remain consistent, thereby ensuring the data consistency of the mask graphics after LIT optimization.
[0089] Before optimizing the first design layout provided by the user, a suitable target optimization model can be determined from multiple optimization models based on the user's selected optimization accuracy requirements. Using this target optimization model to optimize the mask pattern meets the accuracy requirements without incurring high computational complexity, achieving a balance between computational complexity and model accuracy.
[0090] Please refer to Figure 2 In some embodiments, before S110, the following steps may also be included:
[0091] S210, for multiple design layouts, simulating the main graphics of the design layouts in combination with the placed evaluation points, and obtaining an auxiliary image formed based on the evaluation points when the exposure pattern profile obtained by simulation meets the verification conditions;
[0092] S220, determining a plurality of ridge points and their corresponding ridge point directions from the auxiliary image;
[0093] S230, determining a first line segment corresponding to each ridge point in the main graph, and obtaining a correspondence between the ridge point and the first line segment; wherein the first line segment is a portion of an edge in the main graph;
[0094] S240, performing traversal calculation on each first line segment in the main graph, and dividing the first line segments with the same traversal results into the same group;
[0095] S250, adjusting the ridge points corresponding to the first line segments in each group so that the relative positional relationship between the first line segments and the corresponding ridge points in the same group remains consistent;
[0096] S260, at different rendering resolutions, the rendered main graphic is used as an input parameter and the rendered mixed graphic is used as an output parameter, and the preset model is trained to obtain an optimized model at different resolutions; wherein the mixed graphic is formed by superimposing the rendered main graphic and the rendered ridge point graphic, and the ridge point graphic includes multiple ridge points containing directional information.
[0097] Before using the optimization model to optimize the pattern of the mask, the model can be trained using the implementation methods described in the following embodiments to obtain the optimization model.
[0098] In this embodiment, for multiple design layouts, the main graphics of each design layout can be used to obtain a corresponding auxiliary image through simulation verification. Each ridge point in the auxiliary image can establish a corresponding relationship with the first line segment of the main graphic. For each first line segment of the main graphic, a traversal calculation can be performed, and the first line segments with the same traversal results are divided into the same group, and the first line segments in the same group are kept to have the same ridge point, that is, the relative position relationship between each first line segment in the same group and its corresponding ridge point can be kept consistent. When generating a mask pattern for the first line segments in the same group, since each first line segment in the same group has the same ridge point, the mask pattern generated based on these same first line segments can also be kept consistent, thereby ensuring the data consistency of the local design. For different rendering resolutions, the main graphic and the ridge point graphic can be rendered, and the paired data consisting of the main graphic and the mixed graphic can be used as a training set to train the model to obtain an optimized model at different rendering resolutions. Since the training set of the input model can meet data consistency, the difficulty of fitting the data for the deep learning model is greatly reduced.
[0099] In S210, during the model training process, multiple design layouts may be selected as samples for model training.
[0100] For one of the multiple design layouts, evaluation points can be placed around the main graphic of the design layout. The main graphic and the placed evaluation points are then input into the simulation model for simulation to obtain the exposure pattern profile as the simulation output. After the exposure pattern profile is obtained, it can be matched with the verification conditions to determine whether the obtained exposure pattern profile sufficiently matches the verification pattern profile, that is, whether the exposure pattern profile meets the requirements.
[0101] When the exposure pattern profile obtained by simulation meets the verification conditions, a corresponding auxiliary image can be formed according to the evaluation points placed at this time.
[0102] Please refer to Figure 3 In some embodiments, the above S210 may include:
[0103] S310, placing sub-resolution auxiliary graphic feature points around the main graphic of the design layout;
[0104] S320, inputting the main pattern and the sub-resolution auxiliary pattern feature points into the simulation model to obtain the exposure pattern contour;
[0105] S330, in the case where the exposure pattern profile does not match the verification pattern profile, adjusting the sub-resolution auxiliary pattern feature points and re-inputting them into the simulation model until the exposure pattern profile matches the verification pattern profile;
[0106] S340: Generate a sub-resolution auxiliary image based on the sub-resolution auxiliary graphic feature points that meet the verification condition.
[0107] In this embodiment, after sub-resolution auxiliary graphic feature points are placed on the main graphic of the design layout, simulation calculations can be performed to obtain the exposure graphic outline. By continuously adjusting the sub-resolution auxiliary graphic feature points, the exposure graphic outline can be made sufficiently consistent with the verification graphic outline. Based on the sub-resolution auxiliary graphic feature points at this time, a sub-resolution auxiliary image can be generated.
[0108] In S310, sub-resolution assist feature (SRAF) evaluation points can be placed around the main graphics of the design layout according to relevant rules, hereinafter referred to as SRAF points. The main graphics refer to the main graphic outlines in the design layout, which usually represent the basic shape and features of the chip circuit. For example, the main graphics usually include important components such as transistors, connecting lines, resistors, etc., which are mainly expressed as two-dimensional geometric shapes. During the lithography process, the main graphics need to be accurately transferred to the silicon wafer to ensure the functionality and performance of the chip.
[0109] SRAF points are specific measurement points set near the boundaries of the main pattern during the lithography process. SRAF points can be used to evaluate the relationship between the main pattern and its corresponding sub-resolution auxiliary pattern and the optimization effect.
[0110] In S320 , after placing the SRAF points, the main pattern and the SRAF points may be input into a simulation model together to obtain a simulation result, ie, an exposure pattern profile of the main pattern.
[0111] In S330, during the simulation calculation process of the simulation model, after the exposure pattern profile is obtained, it can be matched with the verification pattern profile. If the exposure pattern profile and the verification pattern profile do not fit well, it indicates that the SRAF points need to be adjusted. At this time, the intensity value or other parameters of the SRAF points can be adjusted to achieve the SRAF point adjustment. For example, the intensity value can be understood as the light intensity of the light emitted by the light source at a specific point (such as the main pattern or SRAF point). During the photolithography process, the light intensity at different locations will vary due to factors such as the intensity of the light source, the light propagation path, refraction, and reflection. Light intensity directly affects the chemical reaction of the photoresist. For example, excessive light intensity may lead to overexposure, thereby affecting the sharpness and shape of the pattern edge; while insufficient light intensity may cause the pattern to not be fully developed. Therefore, by adjusting the intensity value of the SRAF points, the shape, intensity, and other parameters of the sub-resolution auxiliary image can be optimized to improve the exposure pattern profile during the photolithography process and make it more closely match the verification pattern profile.
[0112] After adjusting the SRAF points, you can continue the simulation based on the main graph and the adjusted SRAF points.
[0113] During the simulation optimization of the sub-resolution auxiliary image based on the intensity values of the SRAF points, the shape width, spacing, or other geometric parameters of the locations corresponding to the SRAF points in the sub-resolution auxiliary image can be adjusted based on the adjusted intensity values. For example, based on the adjusted intensity values of the SRAF points, geometric transformations, line segment weighting, and other techniques can be used to optimize the shape of the corresponding locations in the sub-resolution auxiliary image to obtain an optimized sub-resolution auxiliary image. After superimposing the main image and the optimized sub-resolution auxiliary image, the optimized exposure pattern profile can be obtained through simulation calculation.
[0114] By continuously looping the above simulation-adjustment process, the above loop process can be stopped when the exposure pattern profile matches the verification pattern profile, that is, when the exposure pattern profile and the verification pattern profile are sufficiently fitted.
[0115] In step S340 , when the exposure pattern profile matches the verification pattern profile, the current SRAF points can be determined as SRAF points that meet the verification condition. Based on the SRAF points that meet the verification condition, a sub-resolution auxiliary image (hereinafter referred to as SRAF image) can be generated.
[0116] In S220 , after the auxiliary image is obtained, image processing may be performed on the auxiliary image, and a plurality of ridge points and a ridge point direction of each ridge point may be determined according to the processing result.
[0117] Please refer to Figure 4 In some embodiments, the above S220 may include:
[0118] S410, pixelating the sub-resolution auxiliary image to obtain an original pixel matrix;
[0119] S420, performing gradient processing on the original pixel matrix to obtain a first-order gradient value image;
[0120] S430, determining a local peak point as a ridge point from the first-order gradient value image;
[0121] S440 , based on the second-order gradient of the original pixel matrix, select a direction with the largest second-order gradient value around each ridge point as the ridge point direction.
[0122] In this embodiment, after pixelation and gradient processing are performed on the SRAF image, the peak points at each local position can be selected as ridge points based on the gradient values at each pixel position. For the original pixel matrix after pixelation, the ridge point direction of each ridge point can also be determined based on the second-order gradient value.
[0123] In S410 , after the SRAF image is obtained, pixelation processing may be performed on the SRAF image to obtain an original pixel matrix.
[0124] As an optional implementation, taking the main pattern including 16 quadrilaterals arranged in a 4*4 array as an example, after obtaining the SRAF images corresponding to the 16 quadrilaterals through the above implementation, the SRAF images can be pixelated to obtain Figure 5 The original pixel matrix shown.
[0125] Figure 5In the original pixel matrix shown, each of the 16 quadrilaterals corresponds to a pixel region polygon consisting of n*n pixels in the original pixel matrix. The pixels surrounding each pixel region can correspond one-to-one to SRAF points in the SRAF image. The brightness value of each pixel can represent parameter information of the corresponding SRAF point, for example, the intensity value of the SRAF point.
[0126] In S420 , after performing gradient processing on the original pixel matrix, a gradient value image corresponding to the original pixel matrix can be obtained.
[0127] Please refer to Figure 6 ,exist Figure 5 Based on the original pixel matrix shown, a gradient process is performed on each pixel point to obtain Figure 6 The first-order gradient value image shown in Figure 1. The first-order gradient value of each pixel can represent the direction and rate of change of the brightness value of the pixel. Figure 6 In the first-order gradient value image shown, the brightness value of each pixel can represent the first-order gradient value corresponding to the SRAF points.
[0128] In S430, in the first-order gradient value image, according to the brightness value corresponding to each pixel point, multiple pixel points with larger brightness values in the local range can be selected as peak points, and the multiple peak points finally obtained can be used as multiple ridge points.
[0129] The peak point can be obtained by presetting a domain range. For each pixel in the first-order gradient value image, it can be determined whether there are other pixels with a brightness value higher than the brightness value of the pixel within the domain range of each pixel. If there are no other pixels with a higher brightness value within the domain range of a certain pixel, then the pixel can be regarded as a peak point in the local range. Figure 6 As shown in the figure, after determining the first-order gradient value of a pixel, if the first-order gradient values of other pixels within the pixel's range do not exceed the first-order gradient value of the pixel, then the pixel can be regarded as a peak point. Finally, multiple peak points can be obtained in the first-order gradient value image, which are used as multiple ridge points.
[0130] It should be noted that the number of peak points can be adjusted by adjusting the size of the domain. When more ridge points are needed, the domain size can be reduced to filter out more peak points as ridge points; when fewer ridge points are needed, the domain size can be increased to filter out fewer peak points as ridge points.
[0131] As an optional embodiment, the above-mentioned domain range can be a range composed of multiple pixel points within a preset distance from the pixel point; or it can be a range composed of all pixel points along a certain direction based on the pixel point. For example, taking a certain pixel point as the reference position, all pixel points in one direction of the pixel point, taking the up and down directions as an example, can be the pixel points above and below the pixel. If there is at least one pixel point among the pixel points above and below whose brightness value is higher than the brightness value of the pixel point at the reference position, then the pixel point is not a peak point. On the contrary, if the brightness values of all pixel points among the pixel points above and below are less than the brightness value of the pixel point, then the pixel point is a peak point.
[0132] Based on the correspondence between the pixel coordinates of the peak points in the original pixel matrix and the SRAF points, the position coordinates of some SRAF points that are ridge points can be determined from multiple SRAF points.
[0133] In step S440, after determining the position coordinates of each ridge point, a secondary gradient process can be further performed on the original pixel matrix to obtain a second-order gradient value image of the original pixel matrix. Based on the position coordinates of each ridge point, the direction with the largest second-order gradient value around each ridge point can be selected as the ridge point direction corresponding to the ridge point.
[0134] Please refer to Figure 7 ,exist Figure 6 Based on the first-order gradient value image shown, the brightness value of each pixel is processed again by gradient, and the Figure 7 The second-order gradient value image is shown. Figure 7 In the second-order gradient value image shown, the brightness value of each pixel can represent the second-order gradient value corresponding to the SRAF points.
[0135] In a second-order gradient image, based on the coordinates of the peak points that have been filtered as ridge points, multiple pixels adjacent to each ridge point can be determined, and the brightness values of these pixels can be obtained. For example, each ridge point can have eight adjacent pixels.
[0136] After obtaining the brightness values of multiple pixels adjacent to the ridge point, the pixel with the largest brightness value can be determined, and the direction from the ridge point to the pixel with the largest brightness value can be determined as the ridge point direction.
[0137] In S230, based on each ridge point, a first line segment corresponding to the ridge point can be determined from all first line segments of the main graph. After determining the first line segment corresponding to the ridge point, a correspondence relationship between the ridge point and the first line segment can be generated. The first line segment can be part of an edge of the main graph.
[0138] In some embodiments, the above S230 may include:
[0139] S510, setting multiple breakpoints on each edge of the main graph;
[0140] S520, dividing each edge of the main figure into a plurality of first line segments based on the plurality of breakpoints;
[0141] S530, for each ridge point, determining a first line segment in the main graph that is closest to the ridge point;
[0142] S540: Construct a correspondence between the ridge point and the first line segment with the closest distance.
[0143] In this embodiment, after determining multiple ridge points, each edge of the main figure can be split into multiple first line segments, and the first line segment closest to each ridge point is determined from the main figure as the first line segment corresponding to the ridge point, and the correspondence between the ridge point and the first line segment is constructed.
[0144] In S510, for each edge in the main graph, multiple breakpoints can be set on the edge. Relevant personnel can pre-set the breakpoint setting rules, such as the maximum distance and minimum distance between the breakpoints.
[0145] In S520 , based on the multiple breakpoints set on each edge, each edge of the main graphic may be divided into multiple first line segments with shorter lengths.
[0146] In S530, for each ridge point, the distance between each first line segment in the main graph and the ridge point may be calculated, and the first line segment closest to the ridge point is selected from the multiple first line segments as the first line segment corresponding to the ridge point.
[0147] In S540 , after determining the first line segment corresponding to each ridge point, a correspondence relationship between the ridge point and the first line segment with the closest distance may be established.
[0148] In step S240, a traversal calculation may be performed on each first line segment in the main graphic of the design layout. A traversal result may be generated based on a preset algorithm for each traversed first line segment. After the traversal is completed, first line segments with the same traversal result may be grouped into the same group.
[0149] Please refer to Figure 8 In some embodiments, the above S240 may include:
[0150] S610, traversing each first line segment in the main graph to obtain adjacent first line segments within a preset range of the first line segment;
[0151] S620, calculating the sum of the mapping values of adjacent first line segments of each first line segment as the characteristic value of each first line segment;
[0152] S630: Divide the first line segments with the same eigenvalues into the same group.
[0153] In this embodiment, when traversing the first line segments of the main graph, the adjacent first line segments of each first line segment can be determined, and the mapping values of the adjacent first line segments can be calculated. The sum of the mapping values is used as the eigenvalue of the first line segment. After calculating the eigenvalues of all first line segments, first line segments with the same eigenvalue can be grouped together. In this case, first line segments in the same group can be considered to be partially identical first line segments.
[0154] In S610, when traversing each first line segment of the main figure, a preset range can be predetermined. For each first line segment, other first line segments within the preset range of the first line segment can be determined and used as adjacent first line segments of the traversed first line segment.
[0155] It can be understood that, if there is no other first line segment within the preset range of a first line segment, the number of adjacent first line segments within the preset range of the first line segment is 0.
[0156] In S620, during the traversal process, if a first line segment has at least one adjacent first line segment within a preset range, a mapping value for the adjacent first line segment may be calculated based on a preset algorithm. If a first line segment has multiple adjacent first line segments, a mapping value for each adjacent first line segment may be calculated separately, and the sum of the mapping values may be calculated. The sum of the mapping values may be used as the feature value of the traversed first line segment.
[0157] As an optional implementation, the preset algorithm may be a hash algorithm, and a corresponding hash value may be calculated for each adjacent first line segment based on the hash algorithm as a mapping value.
[0158] It is understandable that if a first line segment has no adjacent first line segment, the eigenvalue of the first line segment is 0. If a first line segment has only one adjacent first line segment, the eigenvalue of the first line segment is the mapping value of the adjacent first line segment.
[0159] In S630 , after traversing all first line segments, the first line segments may be grouped according to the characteristic value of each first line segment, and first line segments with the same characteristic value may be divided into the same group.
[0160] It is understood that when the characteristic values of any two first line segments are the same, it means that the adjacent first line segments of the two first line segments are the same and the two first line segments are the same local design. Therefore, multiple first line segments divided into the same group can be regarded as the same local design.
[0161] In S250, after the first line segments of the main figure are grouped according to the traversal results, the ridge points corresponding to the multiple first line segments in each group can be adjusted so that the relative position relationship between the first line segments and their corresponding ridge points in the same group remains consistent.
[0162] It should be noted that the consistency of the relative positional relationship between each first line segment and its corresponding ridge point in the same group does not mean that each first line segment corresponds to the same ridge point, but rather that the distance and positional relationship between each first line segment and its corresponding ridge point are consistent. For example, two first line segments a and b in the same group correspond to ridge points x and y, respectively. If the relative position and distance between first line segment a and ridge point x are consistent with the relative position and distance between first line segment b and ridge point y, then first line segment a and first line segment b correspond to the same ridge point. In other words, using symmetry analysis, the ridge points corresponding to all first line segments in the same group, except for the sample line segment, are changed to the same ridge point as the sample line segment.
[0163] In some embodiments, the above S250 may include:
[0164] S710 , for each group, selecting one of the plurality of first line segments in the group as a sample line segment;
[0165] S720: Move the ridge point corresponding to the sample line segment to the corresponding position of the other first line segments according to the movement trajectory of the sample line segment and the other first line segments, and update the correspondence between the other first line segments and the ridge point.
[0166] In this embodiment, one first line segment can be selected from the first line segments of the same group as a sample line segment. Based on the ridge point corresponding to the sample line segment, the ridge points corresponding to other first line segments can be updated so that each first line segment in the same group has the same ridge point.
[0167] In S710, for each group, a first line segment is selected from the plurality of first line segments in the group as a sample line segment. By adjusting the ridge points corresponding to the other first line segments through the following implementation, the correspondence between the other first line segments and the ridge points can be kept consistent with the correspondence between the sample line segment and the ridge point.
[0168] In some embodiments, the above S710 may include:
[0169] Obtaining the position information of the center point of the sub-resolution auxiliary image;
[0170] For each group, calculate the distance between each first line segment in the group and the center point;
[0171] The first line segment with the shortest distance to the center point is selected as the sample line segment.
[0172] In this embodiment, when selecting a sample line segment from the multiple first line segments within each group, the position information of the center point of the SRAF image can be pre-acquired. For each group, when selecting a sample line segment, the distance between each first line segment within the group and the center point can be calculated. Once the position information of the first line segment and the center point of the SRAF image are known, the distance between the first line segment and the center point can be calculated using a distance algorithm. After determining the distance between each first line segment and the center point, the first line segment with the shortest distance to the center point can be selected as the sample line segment.
[0173] It can be understood that after determining the distance between each first line segment and the center point, if the first line segment with the shortest distance to the center point does not have a corresponding ridge point, the remaining first line segments can be filtered according to the distance to filter out the first line segments with corresponding ridge points as sample line segments.
[0174] In S720, after determining the sample line segment, the ridge point corresponding to the sample line segment can be moved to the corresponding position of the other first line segments according to the movement trajectory of the sample line segment and the other first line segments. For example, after determining the relative position of the sample line segment and the ridge point, the movement trajectory of the sample line segment to a certain first line segment can be determined for other first line segments in the same group. The sample line segment moves based on the movement trajectory and can overlap with a certain first line segment. For the ridge point corresponding to the sample line segment, an identical ridge point can be copied at the original position and moved according to the same movement trajectory. The relative position relationship between the sample line segment and the original ridge point and the relative position relationship between the moved first line segment and the moved ridge point remain consistent.
[0175] Please refer to Figure 9 and Figure 10 As an optional implementation, let's take a main graph consisting of 16 quadrilaterals arranged in a 4*4 array as an example. L1 is located on an edge of one quadrilateral, and L2 is located on an edge of another quadrilateral. During the above traversal process, L1 and L2 have the same eigenvalues and can be classified into the same group.
[0176] like Figure 9As shown, after grouping, for the two first line segments L1 and L2 in the same group, first line segment L1 has a corresponding ridge point R1, and first line segment L2 has a corresponding ridge point R2. The relative positional relationship between first line segment L1 and ridge point R1 is different from the relative positional relationship between first line segment L2 and ridge point R2. Therefore, when generating a mask pattern based on the design layout, if the mask pattern is generated directly based on ridge points R1 and R2, the two mask patterns generated for the corresponding two first line segments L1 and L2 will be different.
[0177] Based on the above implementation, L1 can be selected as a sample line segment, and based on the moving trajectory from the first line segment L1 to the first line segment L2, the ridge point R1 is copied, rotated and translated to obtain the following: Figure 10 The ridge point R3 is shown.
[0178] After obtaining ridge point R3 through copying, rotation, and translation, the relative positional relationship between first line segment L1 and ridge point R1 and the relative positional relationship between first line segment L2 and ridge point R3 remain consistent. Therefore, in the subsequent process of generating a mask pattern based on the design layout, the two mask patterns generated by the two first line segments L1 and L2 respectively can also remain consistent.
[0179] It should be noted that during the ridge point adjustment process, if a first line segment, such as first line segment L2, already has a corresponding ridge point before adjustment, then after generating a new ridge point R3 corresponding to first line segment L2 based on the relative positional relationship between first line segment L1 and ridge point R1, the correspondence between first line segment L2 and ridge point R2 needs to be deleted or untied. Correspondingly, if a first line segment does not have a corresponding ridge point, a new ridge point can be directly generated to correspond to the first line segment.
[0180] When multiple first line segments are included in the same group, the ridge point corresponding to the sample line segment can be moved to the corresponding position of another first line segment using the copy+move method based on the above implementation. The correspondence between each other first line segment and the original ridge point can be adjusted to correspond to the moved ridge point. In other words, if other first line segments other than the sample line segment have corresponding ridge points, the original corresponding ridge points can be updated to the moved ridge points.
[0181] Through the above implementation, each first line segment in the same group has the same ridge point, which enables the design layout with the same part in the main pattern to obtain a consistent mask pattern during ILT optimization, thereby improving the problem of lack of data consistency after ILT optimization.
[0182] In S260 , based on the above implementation, multiple ridge point patterns can be obtained for each design layout, and for the same local pattern, the corresponding ridge point patterns can remain consistent.
[0183] Based on different optimization accuracy requirements, different rendering resolutions can be determined. For each rendering resolution, the main graphics of the design layout can be rendered according to the resolution to obtain the rendered main graphics.
[0184] For each main graph, a corresponding ridge point graph can be generated based on the corresponding ridge points containing direction information. The ridge point graph includes the position coordinates of each ridge point, and the direction information of the ridge point can also be represented by grayscale values at the position coordinates of the ridge point.
[0185] According to the rendering resolution, the ridge point graphic can also be rendered, and the rendered main graphic and the rendered ridge point graphic can be superimposed to form a mixed graphic.
[0186] In the above implementation, since the main graphic of each design layout has precise coordinate information, and each ridge point in the ridge point graphic also has precise coordinate information, after selecting an appropriate rendering resolution, the main graphic and ridge point graphic can be rendered as input parameters and output parameters at the appropriate resolution, so as to be input into the corresponding optimization model for training.
[0187] For each design layout, the rendered main graphic can be used as an input parameter, and the rendered mixed graphic can be used as an output parameter to form a pair of data. After obtaining multiple pairs of data corresponding to multiple design layouts, they can be used as a training set for the model to train the preset model to obtain the optimized model at that resolution.
[0188] For different rendering resolutions, the above implementation can be used to obtain multiple paired data at each rendering resolution, and the preset models can be trained respectively to obtain optimized models corresponding to different resolutions.
[0189] In some embodiments, the above S260 may include:
[0190] S810, builds preset models at different rendering resolutions;
[0191] S820: For each rendering resolution, generate a training set at the corresponding rendering resolution, and train the training set using a preset model to obtain a corresponding optimization model; wherein the input parameters of the training set are the rendered main graphics of multiple design layouts, and the output parameters are the mixed graphics formed by superimposing the rendered main graphics of the multiple design layouts and the rendered ridge point graphics.
[0192] In this embodiment, at different rendering resolutions, the rendered main graphic can be used as an input parameter, and the rendered mixed graphic can be used as an output parameter to form paired data. Multiple paired data under multiple design layouts can constitute a training set, and the model can be trained to obtain an optimized model at the corresponding rendering resolution.
[0193] In S810, during the model training process, preset models at different rendering resolutions may be pre-built.
[0194] In S820, for each rendering resolution, a training set at the rendering resolution may be generated. The training set includes a plurality of paired data, wherein the input parameter of each paired data is the rendered main image, and the output parameter is a mixed image formed by superimposing the rendered main image and the rendered ridge point image.
[0195] For the training set at each rendering resolution, the preset model at that resolution can be trained to obtain the corresponding optimized model.
[0196] In S120, for the first design layout to be optimized, the design layout can be rendered according to the rendering resolution corresponding to the target optimization model and then input into the target optimization model. The target optimization model can generate a model prediction result based on the input first design layout.
[0197] In S130, based on the above training process, when the first design layout is input, the target optimization model generates a model prediction result, which is a mixed pattern. The mixed pattern is compared and calculated with the main pattern of the rendered first design layout to obtain a rendered ridge point pattern. The ridge point pattern includes the position coordinates and ridge point directions of each ridge point.
[0198] The ridge points in the aforementioned ridge point pattern refer to the multiple local peak points in the gradient value image obtained by gradient processing the auxiliary image generated based on the main pattern of the design layout and the placed evaluation points. The ridge point direction refers to the direction with the largest second-order gradient value among the eight directions of the ridge point after performing second-order gradient processing on the first-order gradient value image.
[0199] In the process of generating the corresponding mask pattern based on the design layout, for each graphic on the design layout, a corresponding mask pattern can be generated based on the ridge point and ridge point direction corresponding to the first line segment of each graphic in the ridge point pattern. It can be understood that for two identical graphics in the design layout, each first line segment of the two graphics has a one-to-one correspondence. For example, taking two identical quadrilaterals in the design layout as an example, since the relative positional relationship between the first first line segment of the first quadrilateral and its corresponding first ridge point and the relative positional relationship between the first first line segment of the second quadrilateral and its corresponding second ridge point are completely consistent, in the process of generating the mask pattern, the mask patterns corresponding to the first first line segments of the two quadrilaterals can remain consistent. Similarly, it can be seen that the mask patterns corresponding to the remaining first line segments of the two quadrilaterals can also remain consistent, thereby enabling two identical quadrilaterals to generate two identical partial mask patterns.
[0200] In the first design layout, for multiple local design layouts that are the same but in different positions, since the relative position relationship between each first line segment and its corresponding ridge point in the multiple local design layouts is the same, the correspondingly generated multiple local mask patterns can also be consistent, ensuring data consistency in the process of generating mask patterns based on the design layout.
[0201] In the above embodiment, since the main graphics in the first design layout have precise coordinate information, after selecting a suitable rendering resolution, the first design layout can be rendered into data at a suitable resolution to facilitate input into the corresponding optimization model for prediction.
[0202] In some embodiments, the above S130 may include:
[0203] S910, calculating the difference between the model prediction result and the first design layout to obtain a predicted ridge point pattern corresponding to the first design layout;
[0204] S920 , performing data processing on the predicted ridge point pattern to obtain a plurality of ridge points and their corresponding ridge point directions, and determining the ridge point pattern.
[0205] In this embodiment, after performing difference calculation between the model prediction result predicted by the target optimization model and the first design layout, a predicted ridge point graph predicted by the model can be obtained. Data processing of the predicted ridge point graph can obtain multiple ridge points predicted by the model.
[0206] In S910 , after obtaining the model prediction result output by the target optimization model, a difference calculation is performed between the model prediction result and the main graphic rendered by the first design layout to obtain the predicted ridge point graphic corresponding to the first design layout.
[0207] At S920, based on the predicted ridge point pattern, the position coordinates of multiple ridge points and the ridge point direction of each ridge point can be obtained through data processing. For example, based on the predicted ridge point pattern, the position coordinates and ridge point directions of the ridge points can be extracted through a post-processing algorithm. Based on the position coordinates and ridge point directions of the ridge points, a ridge point pattern for performing ILT can be generated.
[0208] In S140 , after the ridge points corresponding to the first design layout are extracted, a first mask pattern may be generated by ILT technology based on the first design layout and the ridge points.
[0209] It is understandable that in the above embodiment, since the main patterns used as samples in the training set have the same ridge points for the same local design layout during the model training process, the trained optimization model, when predicting the first design layout, can also give the same ridge points in the model prediction results for the same local design in the first design layout, thereby ensuring that the local mask patterns obtained after optimizing the same local design layout can also remain consistent.
[0210] Based on the same inventive concept, the present application also provides a mask pattern optimization device. Figure 11 Provide detailed explanation.
[0211] Figure 11 It is a structural schematic diagram of a mask pattern optimization device 1100 provided in an embodiment of the present application.
[0212] like Figure 11 As shown, the mask pattern optimization device 1100 may include:
[0213] A determination module 1101 is configured to determine a target optimization model from a plurality of optimization models based on optimization accuracy requirements; wherein the optimization model is obtained by training a design layout and a consistent ridge point pattern;
[0214] A model prediction module 1102 is configured to input the first design layout into a target optimization model to obtain a model prediction result;
[0215] The ridge point extraction module 1103 is used to determine a ridge point pattern based on the model prediction result and the first design layout; the ridge point pattern includes a plurality of ridge points including direction information;
[0216] The pattern optimization module 1104 is configured to generate a first mask pattern based on the first design layout and the ridge points.
[0217] Figure 12The hardware structure diagram of the electronic device provided in the embodiment of the present application is shown. The electronic device can be at least one of a computer, a server, and a dedicated document generation device. The electronic device includes a processor 1201 and a memory 1202 storing computer program instructions.
[0218] Specifically, the processor 1201 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0219] Memory 1202 may include a large capacity memory for data or instructions. By way of example and not limitation, memory 1202 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1202 may include removable or non-removable (or fixed) media. Where appropriate, memory 1202 may be internal or external to the electronic device. In certain embodiments, memory 1202 is a non-volatile solid-state memory.
[0220] The memory 1202 may include read-only memory (ROM), flash memory devices, random access memory (RAM), magnetic disk storage media devices, optical storage media devices, electrical, optical, or other physical / tangible memory storage devices. Thus, generally, the memory 1202 includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) of software that may be encoded with computer-executable instructions and that, when executed (e.g., by one or more processors), is operable to perform the operations described with reference to the methods according to the above aspects of the present disclosure.
[0221] The processor 1201 reads and executes computer program instructions stored in the memory 1202 to implement any one of the mask pattern optimization methods in the above embodiments.
[0222] In one example, the electronic device may further include a communication interface 1203 and a bus 1210. Figure 12 As shown, the processor 1201 , the memory 1202 , and the communication interface 1203 are connected via a bus 1210 and communicate with each other.
[0223] The communication interface 1203 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0224] Bus 1210 includes hardware, software or both, couples the parts of electronic equipment to each other.For example, but not limitation, bus can include accelerated graphics port (AGP) or other graphics bus, enhanced industry standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industry standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 1210 can include one or more buses. Although the present application embodiment describes and shows specific bus, the application considers any suitable bus or interconnection.
[0225] The electronic device can be based on the mask pattern optimization method to achieve the combination of Figures 1 to 11 The invention describes a method and apparatus for optimizing a mask pattern.
[0226] In addition, in conjunction with the mask pattern optimization method in the above embodiments, embodiments of the present application may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any of the mask pattern optimization methods in the above embodiments is implemented.
[0227] In addition, an embodiment of the present application further provides a computer program product, including a computer program, which can implement the steps and corresponding contents of the aforementioned method embodiment when executed by a processor.
[0228] In this document, the term "and / or" simply describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0229] It should be understood that in the embodiments of the present application, "B corresponding to A" means that B is associated with A and B can be determined based on A. However, it should also be understood that determining B based on A does not mean determining B based solely on A, but B can also be determined based on A and / or other information.
[0230] The above are only specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and such modifications or substitutions should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A mask pattern optimization method, characterized in that: include: Based on the optimization accuracy requirement, a target optimization model is determined from multiple optimization models; wherein the optimization model is obtained by training the design layout and the consistent ridge point pattern; Inputting the first design layout into the target optimization model to obtain a model prediction result; Determining a ridge point pattern based on the model prediction result and the first design layout; the ridge point pattern includes a plurality of ridge points containing directional information; A first mask pattern is generated based on the first design layout and the ridge point.
2. The mask pattern optimization method according to claim 1, characterized in that: Before determining the target optimization model from multiple optimization models based on the optimization accuracy requirement, the method further includes: For multiple design layouts, the main graphics of the design layout are combined with the placed evaluation points for simulation. When the exposure pattern profile obtained by simulation meets the verification conditions, an auxiliary image formed based on the evaluation points is obtained; determining a plurality of ridge points and their corresponding ridge point directions from the auxiliary image; Determine a first line segment corresponding to each ridge point in the main figure, and obtain a correspondence between the ridge point and the first line segment; wherein the first line segment is a portion of an edge in the main figure; Performing a traversal calculation on each first line segment in the main graph, and dividing the first line segments having the same traversal results into the same group; Adjusting the ridge points corresponding to the first line segments in each group so that the relative positional relationships between the first line segments and the corresponding ridge points in the same group remain consistent; At different rendering resolutions, the preset model is trained with the rendered main graphic as the input parameter and the rendered mixed graphic as the output parameter to obtain optimized models at different resolutions; wherein the mixed graphic is formed by superimposing the rendered main graphic and the rendered ridge point graphic, and the ridge point graphic includes multiple ridge points containing directional information.
3. The mask pattern optimization method according to claim 2, characterized in that: The method of simulating the main pattern of the design layout in combination with the placed evaluation points, and obtaining an auxiliary image based on the evaluation points when the exposure pattern profile obtained by simulation meets the verification conditions, includes: Place sub-resolution auxiliary graphic feature points around the main graphics of the design layout; Inputting the main pattern and the sub-resolution auxiliary pattern feature points into a simulation model to obtain an exposure pattern outline; If the exposure pattern profile does not match the verification pattern profile, adjusting the sub-resolution auxiliary pattern feature points and re-inputting them into the simulation model until the exposure pattern profile matches the verification pattern profile; A sub-resolution auxiliary image is generated based on the sub-resolution auxiliary graphic feature points that meet the verification condition.
4. The mask pattern optimization method according to claim 3, characterized in that: The determining of a plurality of ridge points and their corresponding ridge point directions from the auxiliary image includes: pixelating the sub-resolution auxiliary image to obtain an original pixel matrix; Performing gradient processing on the original pixel matrix to obtain a first-order gradient value image; Determining a local peak point as a ridge point from the first-order gradient value image; Based on the second-order gradient of the original pixel matrix, a direction with the maximum second-order gradient value is selected around each ridge point as the ridge point direction.
5. The mask pattern optimization method according to claim 4, characterized in that: Determining the first line segment corresponding to each ridge point in the main graph to obtain the corresponding relationship between the ridge point and the first line segment includes: Set multiple breakpoints on each edge of the main shape; Based on the multiple breakpoints, each side of the main figure is divided into multiple first line segments; For each ridge point, determining a first line segment in the main graph that is closest to the ridge point; Construct the correspondence between the ridge point and the first closest line segment.
6. The mask pattern optimization method according to claim 5, characterized in that: The traversing and calculating each first line segment in the main graph and dividing the first line segments having the same traversal results into the same group includes: Traversing each first line segment in the main graph to obtain adjacent first line segments within a preset range of the first line segment; Calculate the sum of the mapping values of adjacent first line segments of each first line segment as the characteristic value of each first line segment; The first line segments with the same eigenvalues are divided into the same group.
7. The mask pattern optimization method according to claim 6, characterized in that: The adjusting of the ridge points corresponding to the first line segments in each group includes: For each group, select one of the multiple first line segments in the group as a sample line segment; The ridge point corresponding to the sample line segment is moved to the corresponding position of the other first line segments according to the movement trajectory of the sample line segment and the other first line segments, and the corresponding relationship between the other first line segments and the ridge point is updated.
8. The mask pattern optimization method according to claim 7, characterized in that: The step of selecting, for each group, one of the plurality of first line segments in the group as a sample line segment includes: Obtaining the position information of the center point of the sub-resolution auxiliary image; For each group, calculating the distance between each first line segment in the group and the center point; The first line segment with the shortest distance to the center point is selected as the sample line segment.
9. The mask pattern optimization method according to claim 7, characterized in that: The method of training the preset model at different rendering resolutions using the rendered main graphics as input parameters and the rendered mixed graphics as output parameters to obtain optimized models at different resolutions includes: Build preset models at different rendering resolutions; For each rendering resolution, a training set at the corresponding rendering resolution is generated, and the training set is trained using the preset model to obtain a corresponding optimization model; wherein the input parameters of the training set are the rendered main graphics of multiple design layouts, and the output parameters are the mixed graphics formed by superimposing the rendered main graphics of multiple design layouts and the rendered ridge point graphics.
10. The mask pattern optimization method according to claim 1, wherein: The determining of a ridge point pattern based on the model prediction result and the first design layout includes: Calculating the difference between the model prediction result and the first design layout to obtain a predicted ridge point pattern corresponding to the first design layout; Data processing is performed on the predicted ridge point graph to obtain a plurality of ridge points and their corresponding ridge point directions, and a ridge point graph is determined.
11. An electronic device, characterized in that: include: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the steps of the mask pattern optimization method according to any one of claims 1 to 10 are implemented.
12. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor, the steps of the mask pattern optimization method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Mask pattern optimization method, computer equipment, readable storage medium and program product
CN119167852A
Graph extraction optimization method and device, equipment, computer storage medium and program product
CN119722621A
Application of FreeForm MRC to SRAF Optimization Based on ILT Mask Optimization
US20190346768A1
Enforcing mark synthesis consistency across random areas of integrated circuit chips
WO2021011737A1
Machine learning based subresolution assist feature placement
WO2021175570A1