Optical proximity correction method and system and mask

The optical proximity effect correction method was optimized by using machine learning algorithms. By training graphic features with convolutional neural networks and setting the number of iterations and weights, the problem of graphic differences caused by the optical proximity effect in photolithography was solved, and the efficiency of photolithography and software computation was improved.

CN114690540BActive Publication Date: 2025-11-25CSMC TECH FAB2 CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011611624.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-30
Publication Date
2025-11-25
Estimated Expiration
2041-05-26

AI Technical Summary

Technical Problem

In existing photolithography technology, the optical proximity effect causes a large difference between the physical pattern produced by photolithography and the ideal pattern, which affects circuit performance. In addition, the iterative calculation time in OPC processing is long and the software computing efficiency is low.

Method used

A model for the number of iterations is established using machine learning algorithms. Graphic features are trained using a convolutional neural network to optimize the optical proximity effect correction method. A predetermined number of iterations and weights are set, and the corrected graphics are adjusted until the difference is within the threshold range.

Benefits of technology

While ensuring the correction effect, the running time of optical proximity effect correction was reduced, improving the software's flexibility and production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114690540B_ABST
    Figure CN114690540B_ABST
Patent Text Reader

Abstract

The application provides an optical proximity effect correction method and system and a mask, the method comprising: obtaining a plurality of test patterns and setting a predetermined iteration number of each test pattern; dividing the plurality of test patterns into a training set and a test set; establishing an iteration number model based on a machine learning algorithm and the training set; inputting the test set into the iteration number model to obtain a test iteration number of each test pattern in the test set, and comparing the test iteration number of each test pattern with the corresponding predetermined iteration number; determining whether the iteration number model is a trained iteration number model according to a comparison result; inputting a layout file to be processed into the trained iteration number model to obtain a target iteration number corresponding to different original design patterns included in the layout file; and correcting the original design patterns included in the layout file based on the target iteration number corresponding to the different original design patterns to obtain corrected patterns.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of photolithography, and more particularly to an optical proximity effect correction method and system and a mask. BACKGROUND

[0002] With the rapid development of Ultra Large Scale Integration (ULSI), the integrated circuit manufacturing process becomes more and more complex and delicate. The photolithography technology is one of the most complex technologies and is the driving force for the development of integrated circuit manufacturing process. Compared with other single manufacturing technology, the improvement of photolithography technology is of great significance to the development of integrated circuits. Before the photolithography process begins, the pattern is first copied to the mask by a specific device, and then the pattern structure on the mask is copied to the silicon wafer for producing chips by a photolithography machine. However, due to the miniaturization of semiconductor devices, the wavelength used for exposure is larger than the size of the ideal pattern designed by the physical layout and the distance between patterns, and the interference and diffraction effect of light waves makes the actual physical pattern and the ideal pattern designed by the physical layout have great differences, and the shape and distance of the actual pattern change greatly, even affecting the performance of the circuit.

[0003] An important reason for this difference is that when the wavelength of the light beam used for photolithography is larger than the size of the ideal pattern designed by the physical layout and the distance between patterns, the optical proximity effect (OPE) occurs when the optical wavelength is larger than the size of the ideal pattern designed by the physical layout and the distance between patterns. Therefore, in order to solve the problem, the mask can be subjected to optical proximity correction (OPC), which is a pre-treatment of the photomask before photolithography, and a pre-modification is made to compensate for the optical proximity effect caused by the exposure system.

[0004] At present, in the OPC processing process, in order to obtain the optimization effect of the mask, a large number of iterative calculations are often required, and a uniform number of iterations is used for the overall layout, and the software operation time is long.

[0005] In view of the above problems, the present application proposes a new optical proximity effect correction method and system and a mask. SUMMARY

[0006] The optical proximity effect correction method provided by the embodiment of the present application comprises:

[0007] inputting the test set into the iteration number model to obtain a test iteration number of each test pattern in the test set, and comparing the test iteration number of each test pattern in the test set with a predetermined iteration number corresponding to each test pattern in the test set to obtain a comparison result;

[0008] determining whether the iteration number model is a trained iteration number model according to the comparison result;

[0009] inputting a layout file to be processed into the trained iteration number model to obtain a target iteration number corresponding to a different original design pattern included in the layout file when it is determined that the iteration number model is a trained iteration number model;

[0010] correcting the original design pattern included in the layout file based on the target iteration number corresponding to the different original design pattern to obtain a corrected pattern.

[0011] In one example, setting the predetermined iteration number of each test pattern comprises:

[0012] determining the predetermined iteration number of each test pattern according to a line width of each test pattern, wherein the predetermined iteration number of a test pattern with a line width in a first line width range is smaller than the predetermined iteration number of a test pattern with a line width in a second line width range, and the first line width range is larger than the second line width range.

[0013] In one example, setting the predetermined iteration number of each test pattern comprises:

[0014] determining the predetermined iteration number of each test pattern according to a spacing between adjacent shapes in each test pattern, wherein the predetermined iteration number of a test pattern with a spacing in a first spacing range is smaller than the predetermined iteration number of a test pattern with a spacing in a second spacing range, and the first spacing range is larger than the second spacing range.

[0015] In one example, the dividing the plurality of test patterns into a training set and a test set comprises:

[0016] selecting the training set from the plurality of test patterns based on an interval sampling method, and taking the remaining test patterns as the test set.

[0017] In one example, the establishing an iteration number model based on a machine learning algorithm and the training set comprises:

[0018] inputting a test pattern in the training set into a convolutional neural network as an input layer, wherein the convolutional neural network comprises an input layer, a convolutional layer, a pooling layer, a full connection, and an output layer;

[0019] After the test patterns in the training set are processed by the convolutional neural network, the output training iteration number corresponding to each test pattern is obtained;

[0020] An error between the training iteration number and the predetermined iteration number corresponding to each test pattern is calculated;

[0021] According to the error, the weights in the convolutional neural network are updated until the error is minimized, and an iteration number model is obtained.

[0022] In one example, the determining whether the iteration number model is a trained iteration number model according to the comparison result includes:

[0023] When the comparison result is less than or equal to a threshold number of times, it is determined that the iteration number model is a trained iteration number model.

[0024] In one example, the determining whether the iteration number model is a trained iteration number model according to the comparison result includes:

[0025] When the comparison result is greater than the threshold number of times, the following steps are repeated:

[0026] The plurality of test patterns are divided into a training set and a test set; an iteration number model is established based on a machine learning algorithm and the training set; the test set is input into the iteration number model to obtain a test iteration number of each test pattern in the test set, and the test iteration number of each test pattern is compared with a predetermined iteration number corresponding to each test pattern to obtain a comparison result; and it is determined whether the iteration number model is a trained iteration number model according to the comparison result.

[0027] Until an iteration number model with a comparison result less than or equal to a threshold number of times is obtained as a trained iteration number model.

[0028] In one example, the modifying the original design pattern included in the layout file based on the target iteration number corresponding to the different original design patterns to obtain a modified pattern includes:

[0029] A plurality of target points are set on the edge of the original design pattern in the layout file;

[0030] A modified pattern of the original design pattern is obtained according to the OPC model, and the modified pattern is simulated to obtain a pattern simulation result;

[0031] The difference between the pattern simulation result and the original design pattern at each of the target points is calculated;

[0032] adjusting the modified pattern according to the difference and the weight of the target point to obtain an adjusted modified pattern, simulating the adjusted modified pattern to obtain a pattern simulation result, and calculating the difference between the pattern simulation result and the modified pattern at each target point;

[0033] repeating the following steps according to the original design pattern corresponding to the target number of iterations: adjusting the modified pattern according to the difference and the weight of the target point to obtain an adjusted modified pattern, simulating the adjusted modified pattern to obtain a pattern simulation result, and calculating the difference between the pattern simulation result and the modified pattern at each target point until a final modified pattern is obtained.

[0034] In another aspect of the present application, an optical proximity effect correction system is provided, which comprises:

[0035] a memory for storing executable program instructions;

[0036] a processor for executing the program instructions stored in the memory, so that the processor executes the optical proximity effect correction method described above.

[0037] In yet another aspect of the present application, a mask is provided, which comprises:

[0038] a body;

[0039] a mask pattern provided on the body, the mask pattern being a modified pattern obtained based on the optical proximity effect correction method described above.

[0040] The optical proximity effect correction method of the embodiments of the present application, by using the trained number of iterations model, obtains different target numbers of iterations for different patterns in the layout file to be processed, which can effectively reduce the running time, improve the flexibility of software use, and improve the production efficiency under the premise of ensuring the expected correction effect. BRIEF DESCRIPTION OF DRAWINGS

[0041] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout the figures. The accompanying drawings are used to provide a further understanding of the embodiments of the present application, and constitute a part of the specification, illustrate embodiments of the present application, and are used to explain the present application together with the specification, and do not limit the present application. In the drawings, the same reference numerals are generally used to represent the same elements or steps throughout the figures.

[0042] Figure 1 a flowchart of an optical proximity effect correction method in one embodiment of the present application is shown;

[0043] Figure 2 A schematic diagram of a local test pattern according to one embodiment of the present application is shown;

[0044] Figure 3 A schematic diagram of a test pattern iterated 6 times according to one embodiment of the present application is shown;

[0045] Figure 4 A schematic diagram of a test pattern iterated 3 times according to one embodiment of the present application is shown;

[0046] Figure 5 A schematic diagram of a test pattern iterated 0 times according to one embodiment of the present application is shown;

[0047] Figure 6 A schematic diagram of a neural network model according to one embodiment of the present application is shown;

[0048] Figure 7 is a schematic block diagram of an optical proximity correction system according to embodiments of the present application. DETAILED DESCRIPTION

[0049] In order to make the objectives, technical solutions, and advantages of the present application more apparent, the following will describe example embodiments according to the present application in detail with reference to the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application, and it should be understood that the present application is not limited to the example embodiments described herein. Based on the embodiments of the present application described in the present application, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of the present application.

[0050] In view of the above problems, the embodiments of the present application provide an optical proximity correction method, which comprises: obtaining a plurality of test patterns, and setting a predetermined iteration number for each test pattern; dividing the plurality of test patterns into a training set and a test set; establishing an iteration number model based on a machine learning algorithm and the training set; inputting the test set into the iteration number model to obtain a test iteration number of each test pattern in the test set, and comparing the test iteration number of each test pattern in the test set with a predetermined iteration number corresponding to each test pattern in the test set to obtain a comparison result; determining whether the iteration number model is a trained iteration number model according to the comparison result; when it is determined that the iteration number model is a trained iteration number model, inputting a layout file to be processed into the trained iteration number model to obtain a target iteration number corresponding to different original design patterns included in the layout file; and correcting the original design patterns included in the layout file based on the target iteration number corresponding to different original design patterns to obtain corrected patterns.

[0051] The optical proximity effect correction method of this invention obtains different target iteration numbers for different graphics in the layout file to be processed through a pre-trained iteration number model. While ensuring the expected correction effect, it can also effectively reduce running time, improve the flexibility of software use, and improve production efficiency.

[0052] Below, please refer to the appendix. Figures 1 to 6 The optical proximity effect correction method in the embodiments of this application is described.

[0053] As an example, such as Figure 1 As shown, the optical proximity effect correction method in this application embodiment includes the following steps:

[0054] First, in step S1, multiple test patterns are acquired, and a predetermined number of iterations is set for each test pattern.

[0055] This test graph can be used as a test graph when building an OPC model, such as... Figure 2 The image shown is a partial test pattern used when building an OPC model for the 110nm node. Test patterns typically consist of typical layout structures, such as isolated lines of varying widths, double lines of varying widths and spacing, dense lines of varying widths and period lengths, and line-to-line and line-to-long line structures. These test patterns generally cover common layout combinations. Less common combinations can also be used as test patterns when required by the layout design.

[0056] The predetermined number of iterations for each test pattern can be a priori empirical value. Generally, the larger the linewidth, the smaller the corresponding number of iterations; conversely, the larger the spacing between the shapes included in the test pattern, the larger the corresponding number of iterations. In one example, setting the predetermined number of iterations for each test pattern includes: determining the predetermined number of iterations for each test pattern based on its linewidth. The predetermined number of iterations for test patterns with linewidths within a first linewidth range is less than the predetermined number of iterations for test patterns with linewidths within a second linewidth range. The first linewidth range is greater than the second linewidth range; for example, the predetermined number of iterations for a test pattern with a linewidth of 110 nm is greater than the predetermined number of iterations for a test pattern with a linewidth of 180 nm. The first and second linewidth ranges are reasonably set based on prior experience and are not specifically limited here.

[0057] In another example, the predetermined iteration number of each test pattern is set including: determining the predetermined iteration number of each test pattern according to the interval between adjacent shapes in each test pattern, wherein the predetermined iteration number of the test pattern with the interval in a first interval range is less than the predetermined iteration number of the test pattern with the interval in a second interval range, and generally, the predetermined iteration number of the test pattern with the interval of 120 nm is greater than the predetermined iteration number of the test pattern with the interval of 220 nm when the interval is taken as the measurement standard under the premise of the same line width, for example, when the line width is 110 nm. The first interval range and the second interval range are reasonably set according to prior experience, which is not limited here.

[0058] Then, in step S2, the plurality of test patterns are divided into a training set and a test set.

[0059] Any suitable method can be used to arrange the data of the test patterns to divide the plurality of test patterns into a training set and a test set. In one example, the plurality of test patterns are divided into a training set and a test set including: selecting the training set from the plurality of test patterns based on interval sampling method, and taking the remaining test patterns as the test set. The interval sampling can be uniform interval sampling or non-uniform interval sampling, which is not limited here. The training set and the test set each include a plurality of test patterns.

[0060] Optionally, the plurality of test patterns can also not include patterns without intervals, such as overall large-area patterns, etc.

[0061] Then, in step S3, an iteration number model is established based on a machine learning algorithm and the training set.

[0062] The machine learning can be a deep learning algorithm, for example, and the machine learning can be implemented by a convolutional neural network, for example. In one example, the iteration number model is established based on the machine learning algorithm and the training set including: taking the test patterns in the training set as an input layer and inputting into the convolutional neural network, wherein the convolutional neural network includes an input layer, a convolutional layer, a pooling layer, a full connection, and an output layer, and the test patterns in the training set are directly taken as network input to automatically extract features. The convolutional layer extracts features by shifting a block of convolutional kernels on the original pattern, and each feature is a feature map; and the pooling layer reduces the parameters to be learned and reduces the complexity of the network by sparsely parameterizing the pooled features. In the machine learning algorithm, the training set is taken as the input of the network, and the features are automatically extracted, so that the iteration number model is established. Figure 7The neural network structure shown, the input layer is the test pattern in the training set, and the output layer is the iteration number corresponding to different test patterns; after the test pattern in the training set is processed by the convolutional neural network, the iteration number corresponding to different test patterns is output; the error between the training iteration number and the corresponding predetermined iteration number is calculated; according to the error, the weights in the convolutional neural network are updated until the error is minimized, that is, the training iteration number gradually approaches the predetermined iteration number, and an iteration number model is obtained.

[0063] Then, in step S4, the test set is input to the iteration number model to obtain the test iteration number of each test pattern in the test set, and the test iteration number of each test pattern in the test set and the predetermined iteration number corresponding to each test pattern in the test set are compared to obtain a comparison result.

[0064] In order to verify whether the iteration number model trained by the training set is a stable and applicable model, the test set is used to test it in the present application, including: inputting the test set to the iteration number model to obtain the test iteration number of each test pattern in the test set, and comparing the test iteration number of each test pattern with the predetermined iteration number corresponding to each test pattern to obtain a comparison result, such as the difference, ratio, etc.

[0065] Then, in step S5, according to the comparison result, it is determined whether the iteration number model is a trained iteration number model.

[0066] When the comparison result is less than or equal to a threshold number of times, it is determined that the iteration number model is a trained iteration number model, and the threshold number of times can be a reasonable threshold set according to actual needs, for example, it can be 1 time, 2 times, etc. In one example, the comparison result is the difference between the test iteration number and the predetermined iteration number, and when the difference is less than or equal to 1 time, it is determined that the iteration number model is a trained iteration number model. Based on the trained iteration number model, the target iteration number of each pattern in the to-be-processed layout file can be automatically obtained.

[0067] Further, when the comparison result is greater than the threshold number of times, then repeatedly performing the following steps: dividing the plurality of test patterns into a training set and a test set; based on a machine learning algorithm and the training set, establishing an iteration number model; inputting the test set into the iteration number model to obtain a test iteration number of each test pattern in the test set, and comparing the test iteration number of each test pattern with the predetermined iteration number corresponding to each test pattern to obtain a comparison result; according to the comparison result, determining whether the iteration number model is a trained iteration number model; until an iteration number model with a comparison result less than or equal to a threshold number of times is obtained as a trained iteration number model.

[0068] Next, in step S6, when it is determined that the iteration number model is a trained iteration number model, inputting the to-be-processed layout file into the trained iteration number model to obtain target iteration numbers corresponding to different original design patterns included in the layout file.

[0069] The trained iteration number model can be used for any to-be-processed layout file. When it is necessary to determine the iteration number of an original design pattern in a to-be-processed layout file, inputting the to-be-processed layout file into the trained iteration number model can obtain target iteration numbers corresponding to different original design patterns included in the layout file. Based on the target iteration numbers, each different original design pattern can be corrected to obtain a corrected pattern of each original design pattern in the layout file.

[0070] The layout file includes a layout pattern (i.e., an original design pattern) designed according to requirements of a semiconductor manufacturing process, which is generally consistent with a pattern obtained by transferring a pattern on a mask plate to a semiconductor substrate, for example, a pattern of a gate to be formed on a semiconductor substrate or a pattern of a metal layer of a metal interconnection line. However, due to an optical proximity effect, a pattern formed by directly transferring the original design pattern to a semiconductor substrate is different from an actual desired pattern, and thus the original design pattern needs to be corrected. Since the layout pattern is very large, the original design pattern can also be a section of the layout pattern.

[0071] Next, in step S7, based on the target iteration numbers corresponding to different original design patterns, the original design patterns included in the layout file are corrected to obtain corrected patterns.

[0072] Based on the target iteration numbers corresponding to different original design patterns, the original design patterns included in the layout file are corrected to obtain corrected patterns, which can include the following steps A1 to A5:

[0073] Firstly, a plurality of target points are set on the edges of the original design pattern in the layout file in step Al; optionally, the edges include line ends and adjacent edge segments. In one example, the target setting step further comprises: performing analytical segmentation on the edges of the original design pattern to obtain a plurality of adjacent edge segments and line ends; and setting the target points on the line ends and the adjacent edge segments. This step is based on the setting of the OPC procedure.

[0074] The method of performing analytical segmentation on the edges can be based on any suitable method known to those skilled in the art, which is not limited herein.

[0075] Next, a corrected pattern of the original design pattern is obtained according to an OPC model in step A2, and simulation is performed on the corrected pattern to obtain a pattern simulation result.

[0076] The lithography process parameters are determined according to the feature size of the current layer, such as the gate. The process specifications used in lithography processes performed under different gate processes are different, so the lithography process parameters need to be determined after the gate process specifications are determined. The lithography process parameters include optical parameters of the exposure light path, material parameters of the photoresist, and chemical parameters of the etching process. The optical parameters of the exposure light path mainly refer to the specific parameters of the numerical aperture, the scaling ratio, and the exposure light source of the light path. The material parameters of the photoresist mainly refer to the specific parameters of the resolution, the exposure rate, and the photosensitivity of the photoresist material. The chemical parameters of the etching process mainly refer to the specific parameters of the acidity and alkalinity and the chemical properties of the etchant. Since different lithography processes are used to produce different levels of feature sizes, the lithography process parameters need to be clearly positioned.

[0077] According to the lithography process parameters, an optical proximity correction model is determined, and an operation program of the optical proximity correction is established. After the lithography process parameters are determined, the OPC modeling can be performed. The basic flow of the modeling is as follows: first, a pre-designed test pattern is placed on a mask, and a set of real lithography wafer data is collected. Then, the same test pattern is used to perform simulation by using an OPC modeling tool. If the pattern size obtained by the simulation and the corresponding real wafer data can well conform to each other, it can be considered that the model obtained by the simulation can well describe the entire exposure system and chemical effects in a limited sampling space, and thus can be used to quantitatively determine the OPE effect under a known condition, so as to be used for OPC. At the factory end, since the manufacturer will build a corresponding database for the product process in most cases, the modeling process can also be simplified as a data retrieval process. Only by inputting the corresponding data model, the required OPC model can be retrieved. After the OPC model is established, an OPC processing program needs to be written to perform OPC processing on the applicable pattern. Finally, a corrected pattern of the original design pattern is obtained according to the OPC model, and the corrected pattern is simulated to obtain a pattern simulation result, such as a simulation contour.

[0078] Then, in step A3, a difference between the pattern simulation result and the original design pattern at each target point is calculated; the difference can be an edge placement error, based on which the pattern simulation result (for example, a simulation contour) is controlled to meet the specification requirements. The calculation method of the difference can use any suitable method known to those skilled in the art, which is not limited here.

[0079] Then, in step A4, the corrected pattern is adjusted according to the difference and the weight of the target point to obtain an adjusted corrected pattern, the adjusted corrected pattern is simulated to obtain a pattern simulation result, and a difference between the pattern simulation result and the corrected pattern at each target point is calculated.

[0080] Step A4 includes: step A41, adjusting the corrected pattern according to the difference and the weight of the target point to obtain an adjusted corrected pattern; step A42, simulating the adjusted corrected pattern to obtain a pattern simulation result; and step A43, calculating a difference between the pattern simulation result and the corrected pattern at each target point.

[0081] According to the difference (EPE) of each target point and the weight of the area to which the corresponding target point belongs, the OPC correction pattern is adjusted. In the OPC correction process, when the correction requirements of different areas conflict, the correction requirements are allocated according to the weight, and the higher the weight of the area to which the corresponding target point belongs, the higher the priority of meeting the correction requirement of the target point.

[0082] The adjusted correction pattern is simulated to obtain a pattern simulation result. The simulation process can refer to the simulation process of the original design pattern in the foregoing. The simulation is of a pattern formed by the adjusted correction image on photoresist through photolithography.

[0083] In step A5, the following steps are repeatedly performed according to the corresponding target iteration number: the correction pattern is adjusted according to the difference and the weight of the target point to obtain an adjusted correction pattern, the adjusted correction pattern is simulated to obtain a pattern simulation result, and the difference between the pattern simulation result and the correction pattern at each target point is calculated until a final correction pattern is obtained.

[0084] In each iteration, the difference between the pattern simulation result and the correction pattern at each target point is calculated, and whether to stop iteration is determined according to whether the difference is within a preset threshold range. If the difference is outside the preset threshold range, the related steps in step A4 are performed again. If the difference is within the threshold range, the pattern simulation result of this time is taken as the final correction pattern. For the embodiments of the present application, the iteration can also be stopped when the iteration number reaches the target iteration number and is within the threshold range, and the pattern simulation result obtained in the last iteration is taken as the final correction pattern.

[0085] As shown in the test pattern of Figure 3 , the line width L is 110 nm, the spacing S between the strip patterns is 220 nm, and the corresponding iteration number can be 6. As shown in the test pattern of Figure 4 , the line width L is 180 nm, the spacing S between the strip patterns is 360 nm, and the iteration number is 3. As shown in the test pattern of Figure 5 , the line width L is 500 nm, the spacing S between the strip patterns is 1000 nm, and the iteration number is 0. It can be seen that the iteration number can be different for patterns with different line widths and spacings.

[0086] It is worth mentioning that the order of the steps of the present application can also be changed without contradiction, for example, the target iteration number can be determined before iteration.

[0087] In summary, the optical proximity effect correction method of the embodiment of the present application can obtain different target iteration numbers for different patterns in the layout file to be processed by using the trained iteration number model, effectively reduce the running time, improve the flexibility of software use, and improve the production efficiency under the premise of ensuring the expected correction effect.

[0088] In addition, the present application also provides a mask, which comprises a body and a mask pattern arranged on the body, wherein the mask pattern is a corrected pattern obtained based on the optical proximity effect correction method described above, and thus the mask of the present application also has the advantages of the optical proximity effect correction method described above.

[0089] In the following, the optical proximity correction system of the embodiment of the present application will be described with reference to the accompanying drawings. Figure 7 The optical proximity correction system of the embodiment of the present application will be described, wherein, Figure 7 is a schematic block diagram of the optical proximity correction system according to the embodiment of the present application, which is used to execute the optical proximity effect correction method described above.

[0090] The optical proximity correction system of the embodiment of the present application can be a single-chip microcomputer, which can include a central processing unit (CPU) having data processing capability, a random access memory (RAM), a read-only memory (ROM), various I / O ports and interrupt systems, a timer / counter, etc. For example, the optical proximity correction system can also be a notebook computer, a desktop computer, or other electronic devices.

[0091] As an example, as shown in Figure 7 The optical proximity correction system 800 of the present application includes one or more memories 801, one or more processors 802, etc., which are interconnected through a bus system and / or other forms of connection mechanism (not shown). It should be noted that, Figure 7 The components and structures of the optical proximity correction system 800 shown are only exemplary and are not limiting, and the optical proximity correction system 800 can also have other components and structures as needed.

[0092] The memory 801 is used to store various data information and executable program instructions generated in the related optical proximity correction process, for example, to store various application programs or algorithms for implementing various specific functions. It can include one or more computer program products, which can include various forms of computer readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory can include, for example, random access memory (RAM) and / or cache memory, etc. The non-volatile memory can include, for example, read-only memory (ROM), hard disk, flash memory, etc.

[0093] The processor 802 can be a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other processing units that have data processing and / or instruction execution capabilities, and can control other components in the optical proximity correction system 800 to perform desired functions. For example, the processor can include one or more embedded processors, processor cores, microprocessors, logic circuits, hardware finite state machines (FSMs), digital signal processors (DSPs), graphics processing units (GPUs), or combinations thereof.

[0094] The processor 802 is configured to execute the program instructions stored in the memory 801, so that the processor 802 performs the optical proximity effect correction method in the foregoing embodiments. The description of the optical proximity effect correction method is referred to the foregoing, and is not repeated here.

[0095] In one example, the optical proximity correction system 800 further includes a communication interface (not shown) for communication between various components in the optical proximity correction system 800 and between various components of the optical proximity correction system 800 and other devices outside the system.

[0096] The communication interface can be an interface of any communication protocol known at present, such as a wired interface or a wireless interface, wherein the communication interface can include one or more serial ports, USB interfaces, Ethernet ports, WiFi, wired networks, DVI interfaces, device integrated interconnection modules, or other suitable various ports, interfaces, or connections. The optical proximity correction system 800 can also access a wireless network based on a communication standard, such as WiFi, 2G, 8G, 4G, 5G, or combinations thereof. In one example embodiment, the communication interface receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one example embodiment, the communication interface further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0097] In one example, the optical proximity correction system 800 further includes an input device (not shown) which can be a device used by a user to input instructions, and can include one or more of a keyboard, a trackball, a mouse, a microphone, a touch screen, and the like, or other control buttons to form an input device.

[0098] In one example, the optical proximity correction system 800 further includes an output device (not shown) that can output various information (e.g., images or sounds) to the outside (e.g., a user) and can include one or more of a display, a speaker, etc.

[0099] In addition, the embodiments of the present application further provide a computer storage medium, for example, a computer readable storage medium, which stores a computer program. One or more computer program instructions can be stored on the computer storage medium, and a processor can run the program instructions stored in the memory to implement the functions (implemented by the processor) in the embodiments of the present application described herein and / or other desired functions, for example, to perform the corresponding steps of the optical proximity effect correction method according to the embodiments of the present application. Various application programs and various data, for example, various data used and / or generated by the application programs, etc. can also be stored in the computer readable storage medium.

[0100] For example, the computer readable storage medium can include a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read only memory (ROM), an erasable programmable read only memory (EPROM), a portable compact disc read only memory (CD-ROM), a USB memory, or any combination of the above storage media. The computer readable storage medium can be any combination of one or more computer readable storage media.

[0101] Since the optical proximity correction system and the computer storage medium according to the embodiments of the present application can perform the corresponding steps of the optical proximity effect correction method described above, they also have the advantages of the optical proximity effect correction method described above.

[0102] Those skilled in the art can understand that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0103] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another device, or some features can be omitted or not executed.

[0104] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[0105] Similarly, it is to be understood that the phraseology or terminology employed herein, and not otherwise specifically defined herein, is for the purpose of description only and not of limitation. The use of particular inventive aspects in the description and disclosure of the application is specified, in that the inventive aspects can be utilized in combination with any and all of the features of the application and in the various configurations thereof, unless specifically stated otherwise.

[0106] Those skilled in the art will appreciate that the features described herein, in addition to being combinable in any combination, can also be combined with any of the processes or units of any method or apparatus disclosed in this specification, including the claims, abstract and drawings, unless otherwise explicitly stated. Each feature disclosed in this specification, including the claims, abstract and drawings, can be replaced by alternative features serving the same, equivalent or a similar purpose unless otherwise explicitly stated.

[0107] Furthermore, those skilled in the art will recognize that references in the specification to "one embodiment", "an embodiment", "an example embodiment", means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily referring to a single embodiment. Furthermore, the terms "comprises", "comprising", "includes", "including", "has", "having" and the like are to be open ended. In other words, when the specification states a component, feature, structure, or characteristic, comprises, includes, has, or the like, it is intended that it can be possible that there are additional components, features, structures, or characteristics.

[0108] It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application can be implemented by means of both hardware and software, and any combination thereof. In a unitary claim, several devices or sub-claims can be joined by means of the expression "and / or". The use of the term "at least" followed by a list of one or more items should be interpreted as including at least one of the items but it does not exclude the presence of others not listed. The use of the term "one" followed by a list of one or more items should be interpreted as including at least one of the items but it does not exclude the presence of others not listed. It is appreciated that certain features of the application, which are, for clarity, described in the context of separate embodiments, can also be provided in combination in a single embodiment. Conversely, various features of the application, which are, for brevity, described in the context of a single embodiment, can also be provided separately or in any suitable sub-combination. All of the features described herein (including all of the information disclosed) can be combined in any combination. The application can be implemented by means of hardware comprising several distinct items, and by means of a programmed computer. In the unitary or

[0109] The above description is only specific embodiments of the present application or specific explanations of the specific embodiments, and the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, and all of them should be covered within the protection scope of the present application. The protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for correcting the optical proximity effect, characterized in that, The optical proximity effect correction method includes: Acquire multiple test graphs and set a predetermined number of iterations for each test graph; The multiple test images are divided into a training set and a test set; Based on the machine learning algorithm and the training set, an iteration number model is established; The test set is input into the iteration number model to obtain the test iteration number of each test graph in the test set, and the test iteration number of each test graph in the test set is compared with the predetermined iteration number corresponding to each test graph in the test set to obtain the comparison result; Based on the comparison results, determine whether the iteration number model is a trained iteration number model; Once the iteration number model is determined to be a trained iteration number model, the layout file to be processed is input into the trained iteration number model to obtain the target iteration number corresponding to the different original design graphics included in the layout file; Based on the target iteration number corresponding to different original design graphics, the original design graphics included in the layout file are modified to obtain the modified graphics; Setting a predetermined number of iterations for each test pattern includes: determining the predetermined number of iterations for each test pattern based on its linewidth, wherein the predetermined number of iterations for test patterns with linewidths within a first linewidth range is less than the predetermined number of iterations for test patterns with linewidths within a second linewidth range, and the first linewidth range is greater than the second linewidth range; or... Setting a predetermined number of iterations for each test pattern includes: determining the predetermined number of iterations for each test pattern based on the spacing between adjacent shapes in each test pattern, wherein the predetermined number of iterations for test patterns with spacing within a first spacing range is less than the predetermined number of iterations for test patterns with spacing within a second spacing range, and the first spacing range is greater than the second spacing range. The step of establishing an iteration number model based on the machine learning algorithm and the training set includes: using test images from the training set as input layers and inputting them into a convolutional neural network, wherein the convolutional neural network includes an input layer, a convolutional layer, a pooling layer, a fully connected layer, and an output layer; after the test images in the training set are processed by the convolutional neural network, the training iteration number corresponding to different test images is output; the error between the training iteration number and the corresponding predetermined iteration number is calculated; and the weights in the convolutional neural network are updated according to the error until the error is minimized, thereby obtaining the iteration number model.

2. The method as described in claim 1, characterized in that, The step of dividing the multiple test images into a training set and a test set includes: Based on the interval sampling method, the training set is selected from the plurality of test images, and the remaining test images are used as the test set.

3. The method as described in claim 1, characterized in that, The step of determining whether the iteration number model is a trained iteration number model based on the comparison result includes: When the comparison result is less than or equal to the threshold number, the iteration number model is determined to be a trained iteration number model.

4. The method as described in claim 3, characterized in that, The step of determining whether the iteration number model is a trained iteration number model based on the comparison result includes: If the comparison result exceeds the threshold number, then repeat the following steps: The multiple test patterns are divided into a training set and a test set; an iteration number model is established based on the machine learning algorithm and the training set; the test set is input into the iteration number model to obtain the test iteration number of each test pattern in the test set, and the test iteration number of each test pattern is compared with the predetermined iteration number corresponding to each test pattern to obtain a comparison result; based on the comparison result, it is determined whether the iteration number model is a trained iteration number model. The iteration count model is considered a trained iteration count model when the number of iterations obtained by comparing the results is less than or equal to the threshold.

5. The method as described in claim 1, characterized in that, The step of modifying the original design graphics included in the layout file based on the target iteration number corresponding to different original design graphics to obtain the modified graphics includes: Set multiple target points on the edges of the original design graphic in the layout file; The modified graphic of the original design is obtained based on the OPC model, and the modified graphic is simulated to obtain the graphic simulation result; Calculate the difference between the graphical simulation result and the original design graphic at each of the target points; Based on the differences and the weights of the target points, the corrected graphic is adjusted to obtain an adjusted corrected graphic. The adjusted corrected graphic is then simulated to obtain a graphic simulation result. The difference between the graphic simulation result and the corrected graphic at each of the target points is calculated. Repeat the following steps according to the target iteration number corresponding to the original design graphic: adjust the modified graphic according to the difference and the weight of the target point to obtain the adjusted modified graphic; simulate the adjusted modified graphic to obtain the graphic simulation result; calculate the difference between the graphic simulation result and the modified graphic at each target point until the final modified graphic is obtained.

6. An optical proximity effect correction system, characterized in that, The optical proximity effect correction system includes: Memory is used to store executable program instructions; A processor for executing the program instructions stored in the memory, causing the processor to perform the optical proximity effect correction method as described in any one of claims 1 to 5.

7. A photomask, characterized in that, The mask includes: ontology; A mask pattern disposed on the body, the mask pattern being a corrected pattern obtained based on the optical proximity effect correction method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • OPC method for reducing correction iterations

    CN104166305A

  • Deep learning method for computational lithography

    CN110187609A