Verification method and device for verifying OPC correction result and storage medium
By constructing container storage verification parameter values in OPC correction results verification, the problem of repeated calculation and configuration complexity in the prior art is solved, and an efficient verification process and a simplified user configuration experience are achieved.
Patent Information
- Application Number
- CN202510117578.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-05-30
AI Technical Summary
When verifying the results of optical proximity effect correction (OPC) correction, the prior art has problems with repeated calculations, resulting in too long verification time, inefficient efficiency, and too many configuration files setting parameters, and the user configuration process is unfriendly.
By extracting the corresponding feature rules and model conditions of the validator, the container is built to store the verification parameter values. The validator queries the container to obtain the stored parameter values when performing the verification operation, avoids repeated calculations, and builds the container based on the model conditions and feature rules to save storage space and simplify user configuration.
It significantly improves the calculation speed and calculation time of the verification process, improves verification efficiency, and saves storage space, while making the user configuration process more convenient and friendly.
Smart Images

Figure CN120065618A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure mainly relate to integrated circuits, and more particularly, to a verification method, apparatus, and computer-readable storage medium for verifying optical proximity correction (OPC) correction results. Background Art
[0002] Lithography is a key process in the integrated circuit manufacturing process. The lithography process uses the principle of photochemical reaction and chemical and physical etching methods to transfer the pattern prepared on the mask to the substrate. The lithography process can be described by optical and chemical models with the help of mathematical formulas. Light diffracts when it shines on the mask, and the diffraction is collected by the projection lens and converges on the surface of the photoresist. This imaging process is an optical process. The image projected on the photoresist stimulates a photochemical reaction, and after baking, the photoresist becomes locally soluble in the developer. This is a chemical process.
[0003] Generally, the pattern on the mask is projected onto the photoresist through an exposure system. Due to the imperfection of the optical system and diffraction effects, the pattern on the photoresist is not exactly the same as the pattern on the mask. Optical proximity correction (OPC) is to use a computational method to correct the pattern on the mask so that the pattern projected onto the photoresist meets the design requirements as much as possible. Summary of the Invention
[0004] According to an exemplary embodiment of the present disclosure, a verification scheme for verifying optical proximity correction (OPC) correction results is provided.
[0005] In a first aspect of the present disclosure, a verification method for verifying OPC correction results is provided. The method includes obtaining a feature rule and a model condition corresponding to a verifier, the verifier being associated with a verification operation, the verification operation including verifying the correction result of the OPC model for correcting the mask pattern under the model condition, and the feature rule being associated with the setting of the mask pattern. The method further includes determining a key value associated with the verifier based on information related to the feature rule and information about the model condition. The method further includes determining a matching container from a plurality of containers based on the key value, the container key value of the matching container being the same as the key value associated with the verifier. The method further includes performing an operation on the matching container for at least one verification parameter value, where at least one verification parameter value is related to the verification operation.
[0006] In a second aspect of the present disclosure, there is provided an electronic device, including one or more processors; and a storage device for storing one or more programs, which when executed by the one or more processors, cause the electronic device to perform actions. The actions include: obtaining a feature rule and a model condition corresponding to a validator, the validator being associated with a verification operation, the verification operation including verifying a correction result of mask correction of an OPC model for a mask pattern under the model condition, and the feature rule being associated with the setting of the mask pattern; determining a key value associated with the validator based on information related to the feature rule and information of the model condition; determining a matching container from a plurality of containers based on the key value, the container key value of the matching container being the same as the key value associated with the validator; and performing an operation on the matching container for at least one verification parameter value, where at least one verification parameter value is related to the verification operation.
[0007] In a third aspect of the present disclosure, there is provided a computer-readable storage medium having a computer program stored thereon, which when executed by a processor, implements the verification method according to the first aspect of the present disclosure.
[0008] In a fourth aspect of the present disclosure, there is provided a computer program product, which when running on a computer, causes the computer to perform the verification method according to the first aspect of the present disclosure.
[0009] It should be understood that the content described in the summary of the invention section is not intended to limit the key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In combination with the drawings and with reference to the following detailed description, the above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent. In the drawings, the same or similar reference numerals denote the same or similar elements, where:
[0011] Figure 1 A schematic diagram showing an example architecture in which multiple embodiments of the present disclosure can be implemented;
[0012] Figure 2 A flowchart showing an example verification method for verifying an OPC correction result according to some embodiments of the present disclosure;
[0013] Figure 3 A schematic diagram showing an initialization process for constructing a container according to an embodiment of the present disclosure;
[0014] Figure 4 Show based on Figure 3 An example of a container constructed from the initialization process therein.
[0015] Figure 5 A schematic diagram showing a container matching and data update process according to an embodiment of the present disclosure;
[0016] Figure 6 A flowchart showing a method for performing operations on matching containers by different validators with the same key value according to an embodiment of the present disclosure;
[0017] Figure 7 A schematic diagram showing an exemplary process of verifying an OPC correction result using multiple validators according to an embodiment of the present disclosure;
[0018] Figure 8 A schematic diagram showing an exemplary process of verifying an OPC correction result using multiple validators according to another embodiment of the present disclosure; and
[0019] Figure 9 A block diagram of an electronic device capable of implementing multiple embodiments of the present disclosure. Detailed implementation manners
[0020] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not used to limit the protection scope of the present disclosure.
[0021] In the description of the embodiments of the present disclosure, the term "including" and its like should be understood as an open inclusion, that is, "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". Terms such as "first", "second", etc. may refer to different or the same objects. There may also be other explicit and implicit definitions hereinafter.
[0022] As briefly mentioned above, optical proximity correction (OPC) is to use computational methods to correct the patterns on the mask so that the patterns projected onto the photoresist can meet the design requirements as much as possible. Model-based optical proximity correction (hereinafter will be briefly referred to as "OPC model" or "model") has been widely used. Establishing an OPC model is a key step in the optical proximity correction process. Before establishing the OPC model, it is necessary to design test patterns (for example, test patterns on the mask), and measure the critical dimension (CD) values of the patterns on the wafer after lithography of the test patterns. When establishing the OPC model, the difference between the simulation result and the actual measurement result is minimized through fitting calculations.
[0023] After the OPC model is established, verifying the correction result of the OPC model (hereinafter will be briefly referred to as "OPC correction result") is also an indispensable step. Currently, during the process of verifying the OPC correction result, multiple verification operations will be performed on the patterns after OPC correction (for example, through verification software), such as verifying the edge placement error (EPE), verifying the process variation bandwidth (PV band), etc. Each verification operation can be executed by a corresponding checker. Correspondingly, multiple verification operations require configuring multiple checkers. In addition, when performing each verification operation, different model conditions are usually set, and parameter values determined based on the corresponding verification rules are also set under each model condition. Thus, multiple checkers also need to be configured for each verification operation, and each checker corresponds to a different combination of model conditions and verification rules. For example, for N verification operations, and each verification operation corresponds to M combinations of model conditions and verification rules, then a total of N×M checkers are required (both M and N are positive integers). For example, the first checker performs the first verification operation (for example, EPE verification), and the first checker corresponds to the first model condition and the parameter values determined based on the first verification rule; the second checker performs the second verification operation (for example, PV band verification), and the second checker corresponds to the second model condition and the parameter values determined based on the first verification rule. The first model condition is different from the second model condition.
[0024] The model conditions can be the simulation conditions set for the OPC model. By setting different model conditions, the OPC model can generate corresponding simulation results under different conditions. For example, the model conditions can include the light intensity threshold, which will affect the contour of the pattern during the simulation. By setting different light intensity thresholds, different pattern contours can be generated. The model conditions can also include the exposure dose (dose). By setting different exposure doses, different simulation patterns can be generated. Thus, the OPC correction results can be verified under different conditions.
[0025] During the verification process, each verifier is separately set with model conditions and verification rules, and based on the condition values of the set model conditions and the parameter values corresponding to the verification rules, the verification parameter values required for the corresponding verification operation are calculated. Usually, there are shared verification parameters for different verification operations. For example, the verifier for EPE verification and the verifier for PVband verification both need to use the pattern contour (contour) obtained from light intensity simulation and the value of EPE during their respective verification operations. In the prior art, since each verifier is separately set with model conditions and verification rules, different verifiers separately calculate the verification parameter values under the condition values of their respective corresponding model conditions and the parameter values determined based on the verification rules. In the case where the verification parameter values can be shared by multiple verifiers, this will lead to repeated calculations for the shared verification parameters.
[0026] Repeated calculations will result in an overly long calculation time for the verification software, significantly reducing the verification efficiency. In addition, each calculation will generate corresponding calculated values. Correspondingly, repeated calculations will increase the number of calculated values, increasing the memory usage while also increasing the calculation time. Moreover, each verification operation needs to be implemented under various combinations of the condition values of different model conditions and the parameter values corresponding to different verification rules, which will make the set parameters of the configuration file of the verification software too many, and it is easy for users to make configuration errors during the configuration process, which is not user-friendly. Therefore, there is an urgent need for a technical solution for verifying OPC correction results that is efficient, reduces the verification calculation time, and is user-friendly.
[0027] According to an embodiment of the present disclosure, a verification method, an electronic device, a computer-readable storage medium, and a computer program product for verifying an OPC correction result are provided. The verification method according to an embodiment of the present disclosure includes obtaining a feature rule and a model condition corresponding to a verifier, where the verifier is associated with a verification operation, and the verification operation includes verifying a correction result of a mask correction of a mask pattern by an OPC model under the model condition, and the feature rule is associated with a setting of the mask pattern. The method further includes determining a key value associated with the verifier based on information related to the feature rule and information of the model condition. The method further includes determining a matching container from a plurality of containers based on the key value, where a container key value of the matching container is the same as the key value associated with the verifier. The method further includes performing an operation on the matching container for at least one verification parameter value, where at least one verification parameter value is related to the verification operation.
[0028] According to the verification method for verifying the OPC correction result proposed herein, the feature rules and model conditions in the verification rules corresponding to each verifier can be extracted, and containers can be constructed based on the corresponding feature rules and model conditions. The verification parameter values related to each verification operation generated under the model condition and the verification rule where the feature rule is located can be stored in the container. During each execution of the verification operation by the verifier, the verification parameter values already stored in the container can be obtained by querying the corresponding container, thereby avoiding repeated calculations, significantly improving the calculation speed and calculation time of the verification process, and greatly improving the verification efficiency. In addition, constructing containers based on the model condition and the feature rule can also save storage space. Moreover, by extracting the feature rules and model conditions, it also brings great convenience to the user's operation of configuring the configuration file and improves the user experience.
[0029] Figure 1 FIG. 100 shows an example environment in which multiple embodiments of the present disclosure can be implemented. As Figure 1 shown, the electronic device 110 can receive a first mask pattern 102 and a target pattern 104. The target pattern 104 is a complete or partial wafer pattern desired to be obtained on a silicon wafer. The first mask pattern 102 can be a mask pattern of a complete circuit layout or a part thereof.
[0030] The first mask pattern 102 is associated with the target pattern 104. The first mask pattern 102 can be a mask pattern determined based on the target pattern 104. In some embodiments, the first mask pattern 102 can be the same as the target pattern 104. In some embodiments, the first mask pattern 102 can be a corrected target pattern 104.
[0031] In some embodiments, an OPC model 112 is deployed in the electronic device 110. The OPC model 112 can use computational methods to correct a mask pattern (e.g., the first mask pattern 102) and obtain a corrected mask pattern (e.g., the second mask pattern 106), so that the pattern projected onto the photoresist conforms to the design requirements as much as possible, e.g., is closer to the target pattern 104.
[0032] In some embodiments, the OPC model 112 in the electronic device 110 can determine the graphic edges in the target pattern 104 based on the received target pattern 104, and can obtain the simulated graphic edges after lithography of the first mask pattern 102 through simulation operations. The OPC model 112 in the electronic device 110 can compare the graphic edges in the target pattern 104 with the simulated graphic edges to determine the edge placement error (EPE). The OPC model 112 corrects the first mask pattern 102 by minimizing or making the edge placement error an acceptable value, and outputs the second mask pattern 106. Accordingly, the second mask pattern 106 is a corrected version of the first mask pattern 102 obtained based on the OPC model 112. Compared with the wafer pattern obtained based on the first mask pattern 102, the wafer pattern obtained based on the second mask pattern 106 is closer to the target pattern 104.
[0033] After establishing the OPC model, the electronic device 110 can perform verification of the OPC correction result for the OPC model 112. For example, the electronic device 110 can verify the correction result of the OPC model 112 for performing mask correction on the mask pattern under certain model conditions. In some embodiments, the electronic device 110 can obtain the feature rules and model conditions corresponding to a validator, the validator is associated with the verification operation, and the verification operation includes verifying the correction result of the OPC model for performing mask correction on the mask pattern under the model conditions, and the feature rules are associated with the settings of the mask pattern. The method further includes determining a key value associated with the validator based on the information related to the feature rules and the information of the model conditions. The method further includes determining a matching container from multiple containers based on the key value, and the container key value of the matching container is the same as the key value associated with the validator. The method also includes performing an operation on the matching container for at least one verification parameter value, where at least one verification parameter value is related to the verification operation. By verifying the correction result of the OPC model for performing mask correction, the electronic device 110 determines whether the correction result of the OPC correction is accurate.
[0034] The electronic device 110 can be any device with computing capabilities. As a non-limiting example, the electronic device 110 can be any type of fixed electronic device, mobile electronic device, or portable electronic device, including but not limited to desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, multimedia computers, mobile phones, smart home devices, wearable electronic devices, etc. In some embodiments, all or part of the components of the electronic device 110 can be distributed in the cloud. The present disclosure does not limit the specific type of the electronic device 110.
[0035] Figure 2 The flowchart of an example verification method 200 for verifying the OPC correction result according to some embodiments of the present disclosure is shown. For ease of discussion, the method 200 will be described in conjunction with Figure 1 to describe the method 200. Figure 2 The method 200 in Figure 1 can be executed at the electronic device 110 in
[0036] and any suitable electronic device. In addition, the numbers in the flowchart do not indicate the order in which these steps are executed. Some or all of these steps can be executed in parallel, or the execution order can be interchanged. The present disclosure does not limit this.
[0037] In block 202, the electronic device 110 can obtain the feature rules and model conditions corresponding to the validator, where the validator is associated with the verification operation. In some embodiments, the verification operation includes verifying the correction result of the OPC model 112 for mask correction of the mask pattern under the model conditions. And, in some embodiments, the feature rules are associated with the settings of the mask pattern.
[0038] During the verification process of verifying the OPC correction result, the electronic device 110 will perform multiple verification operations on the corrected mask pattern (e.g., through verification software), such as verifying EPE, verifying the process variation bandwidth (PV band), etc. The electronic device 110 can use a verifier to perform the verification operations. In some embodiments, a verifier can be associated with a verification operation, that is, each verification operation can be performed by a corresponding verifier. Accordingly, multiple verification operations require configuring multiple verifiers. In addition, when performing each verification operation, different model conditions are usually set, and parameter values determined based on the corresponding verification rules are also set under each model condition. Thus, multiple verifiers can also be configured for each verification operation, and each verifier can correspond to a different combination of model conditions and verification rules.
[0039] Each verifier will perform a verification operation under the corresponding model conditions and verification rules. The model conditions can be simulation conditions set for the OPC model 112. That is, the OPC model 112 can perform mask correction on the mask pattern under these model conditions. By setting different model conditions, the OPC model 112 can perform mask correction on the mask pattern under different conditions and generate corresponding correction results. For example, the model conditions can include the light intensity threshold, and the light intensity threshold will affect the contour of the pattern during the simulation process. Different graphic contours can be generated by setting different light intensity thresholds. The model conditions can also include the exposure dose, and different simulation graphics can be generated by setting different exposure doses. In addition, other types of conditions can also be included in the model conditions, which are not limited in this disclosure.
[0040] In some embodiments, the verification rules of the verifier can include feature rules. That is to say, the feature rule corresponding to each verifier can be a part of the verification rules corresponding to the verifier. The feature rule can be used to represent the settings for the cutting, arrangement, and sampling of the mask pattern layout during the verification process, and the feature rule can also include the identifier of the feature rule. The feature rule is included in the verification rules. The verification rules can also include other setting rules other than the feature rules (e.g., the setting of the verification area targeted by the verification operation, etc.). In other words, the feature rule and other setting rules constitute the verification rules. Therefore, different verification rules can have the same feature rule and different other setting rules. For example, the verification rule R1 and the verification rule R2 can have the same feature rule but different other setting rules.
[0041] In some embodiments, the feature rules may include setting parameter values for one or more of the following parameters: line width of a graphic, graphic spacing, sampling interval, or initial sampling point coordinates. It can be understood that the same type of parameters may be included in different feature rules, but the parameter values between the same type of parameters may be different. Table 1 shows examples of multiple feature rules according to embodiments of the present disclosure.
[0042] Table 1 Examples of multiple feature rules for verifying OPC correction results
[0043] Parameter type First feature rule Second feature rule Third feature rule Line width <![CDATA[C 1 > <![CDATA[C 2 > <![CDATA[C 3 > Spacing <![CDATA[S 1 > <![CDATA[S 2 > <![CDATA[S 3 > Sampling interval <![CDATA[K 1 > <![CDATA[K 2 > <![CDATA[K 3 > Initial sampling coordinate <![CDATA[(x 1 ,y 1 )]]> <![CDATA[(x 2 ,y 2 )]]> <![CDATA[(x 3 ,y 3 )]]>
[0044] Table 1 shows three different feature rules: the first feature rule, the second feature rule, and the third feature rule. Moreover, each feature rule includes the same type of parameters: graphic line width, graphic spacing, sampling interval, and initial sampling coordinates. Table 1 shows example values set for each parameter (for example, the value of the line width is C 1 、C 2 、C 3 ; the value of the spacing is S 1 、S 2 、S 3 ; the value of the sampling interval is K 1 、K 2 、K 3 ; the value of the initial sampling coordinates is (x 1 ,y 1 )、(x 2 ,y 2 )、(x 3 ,y 3 ). By setting the parameter values of at least one type among multiple types of parameters to be different, different feature rules can be formed. For example, the sampling interval value (i.e., the sampling value) K 1 ≠K 2 ≠K 3 ; the initial sampling coordinate values are different from each other, and so on.
[0045] It can be understood that the description of the feature rules in Table 1 is only exemplary. Different types of parameters and their corresponding parameter values can be set according to actual needs.
[0046] Each validator can perform a verification operation under the corresponding model conditions and verification rules. In some embodiments, at least one of the verification operation, model conditions, and verification rules corresponding to each validator is different. For example, the first validator performs a first verification operation (e.g., EPE verification), and this first validator corresponds to the first model conditions and parameter values determined based on the first verification rules; the second validator performs a second verification operation (e.g., PV band verification), and the second validator corresponds to the second model conditions and parameter values determined based on the first verification rules. The first model conditions may be different from the second model conditions. Different validators may perform the same verification operation or different verification operations. In addition, the characteristic rules in the first verification rules and the second verification rules may be the same or different.
[0047] In block 204, the electronic device 110 can determine a key value associated with the validator based on the information related to the characteristic rules and the information of the model conditions. In some embodiments, the information related to the characteristic rules may include the identifier of the characteristic rules, and the information of the model conditions may include the identifier of the model conditions.
[0048] In some embodiments, the identifier of the model conditions, the model name, and the identifier of the characteristic rules, etc. can be stored in the validator. In some embodiments, the validator can store the identifier of the model conditions, the model name, and the identifier of the characteristic rules in the form of a table. In some embodiments, the identifier of the model conditions may include the condition value of the model conditions. For example, when the model conditions include a light intensity threshold, the condition value of the model conditions may include the light intensity threshold. Accordingly, this light intensity threshold can be used as the identifier of the model conditions. When the model conditions include other condition parameters, the identifier of the model conditions may also include information related to the other condition parameters. Alternatively, the validator can also store the identifier of the model conditions, the model name (e.g., the model name of the OPC model used by the validator), and the identifier of the characteristic rules through an array or other appropriate means. In addition, the identifier of the model conditions may also include an identifier determined according to the name of the model conditions and the condition value of the model conditions, etc., and the present disclosure does not limit this.
[0049] In some embodiments, the information related to the feature rule may include the identifier of the feature rule. The identifier of the feature rule is used to identify the feature rule in the verification rule. For example, the identifier of the feature rule may include the name of the feature rule, an index, or various information extracted from the feature rule (e.g., parameter values, etc.). For different verification rules, when the feature rules therein are the same, they may have the same feature rule identifier. For example, for different verification rules R1 and verification rule R2, when the feature rules included in R1 are the same as those included in R2, the feature rule identifiers corresponding to verification rules R1 and R2 are the same. In addition, the information related to the feature rule may further include other information other than the identifier of the feature rule, which is not limited in this disclosure.
[0050] Table 2 shows an example of the identifier (taking the condition value as an example), the model name, and the identifier of the feature rule of the model conditions (including the light intensity threshold) stored in the validator.
[0051] Table 2
[0052] Stored object Identifier Model condition Condition value 1.0 Model name Nominal Feature rule identifier 1
[0053] From the content stored in Table 2, it can be determined that the identifier of the model condition corresponding to this validator is the light intensity threshold 1.0, the model name is Nominal, and the identifier of the feature rule in the verification rule corresponding to this validator is 1, indicating that this feature rule is the feature rule 1 (e.g., the first feature rule).
[0054] It can be understood that Table 2 only exemplarily shows the identifier of the model condition and the feature rule identifier corresponding to the validator, and this disclosure does not limit the specific values and formats of the identifier of the model condition and the feature rule identifier. In addition, Table 2 only shows that there is only one type of condition, i.e., light intensity, in the model condition. However, it can be understood that the model condition may further include multiple types of conditions, and when there are multiple types of conditions in the model condition, Table 2 may store the identifiers of the corresponding multiple types of model conditions, such as the condition values of the model conditions or the identifiers determined based on the name and condition value of the model condition, etc.
[0055] In some embodiments, a validator may be associated with a key value. The key value may be determined based on information related to a feature rule corresponding to the validator (e.g., an identifier of the feature rule) and information about a model condition (e.g., an identifier of the model condition). In some embodiments, the electronic device 110 may obtain the identifier of the feature rule corresponding to the validator. The electronic device 110 may also obtain the identifier of the model condition corresponding to the validator (e.g., a condition value, etc.). The electronic device 110 may also combine the obtained identifier of the feature rule with the identifier of the model condition and use this combination as the key value associated with the validator. Alternatively, the electronic device 110 may also combine the obtained identifier of the feature rule, the obtained identifier of the model condition (e.g., a condition value, etc.), and the model name and use this combination as the key value associated with the validator.
[0056] Taking the example in Table 2 as an illustration. The example in Table 2 may store the identifier of the feature rule and the identifier of the model condition (e.g., a condition value) in the verification rule corresponding to the validator Checker1. The electronic device 110 may obtain the feature rule identifier 1, and obtain the condition value 1.0 and the model name Nominal. The electronic device 110 may combine the feature rule identifier, the condition value, and the model name, for example, combine them as 1_Nominal_1.0. The electronic device 110 may use the combined identifier of the feature rule, the identifier of the model condition, and the model name as the key value associated with the validator. For example, the key value is "1Nominal 1.0".
[0057] For example, the identifier of the feature rule in the verification rule corresponding to Checker2 is 2, the identifier of the model condition (e.g., the condition value is 1.0), and the model name is Nominal. The electronic device 110 may combine the feature rule identifier, the condition value, and the model name, for example, combine them as 2_Nominal_1.0. The electronic device 110 may use the combined identifier of the feature rule, the identifier of the model condition, and the model name as the key value associated with the validator Checker2. For example, the key value is "2_Nominal_1.0".
[0058] In block 206, the electronic device 110 may determine a matching container from multiple containers based on the key value, and the container key value of the matching container is the same as the key value associated with the validator. In some embodiments, multiple containers may be built in the electronic device 110. Each container has an associated container key value. The container key value of each container is associated with the corresponding feature rule and model condition, and the specific implementation manner of determining the container key value will be described in detail below. One or more parameter values of verification parameters related to a plurality of verification operations for verifying the OPC correction result may be stored in the container under the verification rule and model condition where the corresponding feature rule is located.
[0059] In some embodiments, through an initialization operation, a storage space may be set in the container for each type of verification parameter. As the verification operation progresses, different validators may write the parameter values of the corresponding type of verification parameter into the set storage space. When other validators perform verification operations, they may obtain the parameter values of the required verification parameters stored in the corresponding storage space from the matching container. For example, a corresponding storage space for the parameter EPE may be set in the container, and this storage space may be used to store the EPE values of different verification regions determined during the verification process. The container may store the EPE values in the form of a table. For example, the container may also set a corresponding storage space for the parameter graphic profile, and this storage space may be used to store the graphic profiles of different verification regions determined during the verification process. In addition, it can be understood that for different types of verification parameters, the container may store the parameter values of the corresponding verification parameters in various appropriate forms.
[0060] In some embodiments, the electronic device 110 may determine, at block 206, from the container key values of multiple containers, a container key value that matches (e.g., is the same as) the key value associated with the validator, and use the container associated with the container key value as the matching container for the validator. In some embodiments, the key value associated with the validator being the same as the container key value indicates that the identifier (e.g., condition value) of the model condition corresponding to the container and the feature rule identifier are consistent with the identifier (e.g., condition value) of the model condition and the feature rule identifier corresponding to the validator. Based on this consistency, the parameter values of the verification parameters related to the verification operation determined under the verification rule where the model condition and feature rule are located may be shared.
[0061] In block 208, the electronic device 110 may perform an operation on the matching container for at least one verification parameter value, where the at least one verification parameter value is related to the verification operation. As described above, the container is used to store the parameter values of one or more verification parameters related to a plurality of verification operations for verifying the OPC correction result under the corresponding verification rules and model conditions. The electronic device 110 may perform an operation on the matching container for at least one verification parameter value. For example, the electronic device 110 may read one or more verification parameter values related to the verification operation from the matching container and / or write one or more verification parameter values related to the verification operation to the matching container.
[0062] In some embodiments, the operation of the electronic device 110 for at least one verification parameter value may include a read operation. In some embodiments, when performing the read operation, the electronic device 110 may, in response to the matching container storing at least one verification parameter value related to the verification operation, read the at least one verification parameter value from the matching container for the verification operation of the verifier. For example, the verification operation corresponding to the verifier is an EPE verification performed on the points with index numbers 50 - 100 in the masked-corrected pattern. The electronic device 110 searches the matching container and determines whether the matching container stores an EPE value associated with the points with index numbers 50 - 100. In response to the matching container storing an EPE value associated with the points with index numbers 50 - 100 (for example, the matching container stores an EPE value associated with the points with index numbers 0 - 200), the electronic device 110 may read the EPE value associated with the points with index numbers 50 - 100 from the matching container and use it for the verification operation of the verifier.
[0063] In some embodiments, the operation of the electronic device 110 for at least one verification parameter value may include a write operation. In some embodiments, when performing the write operation, in response to the matching container not storing the at least one verification parameter value related to the verification operation, the electronic device 110 may obtain the at least one verification parameter value related to the verification operation and write the at least one verification parameter value to the matching container for subsequent use by the verifier. For example, the verification operation corresponding to the verifier is an EPE verification performed on the points with index numbers 200 - 400 in the masked-corrected pattern. The electronic device 110 searches the matching container and determines whether the matching container stores an EPE value associated with the points with index numbers 200 - 400. In response to the matching container not storing an EPE value associated with the points with index numbers 200 - 400, the electronic device 110 may obtain the EPE values associated with the points with index numbers 200 - 400 and write these EPE values to the matching container for the convenience of subsequent use by the verifier.
[0064] In some embodiments, the operations of the electronic device 110 for at least one verification parameter value may include a read operation and a write operation. In some embodiments, when performing the read operation and the write operation, in response to the matching container storing some of the verification parameter values (e.g., multiple verification parameter values) related to the verification operation, the electronic device 110 may read one or more stored verification parameter values of the at least one verification parameter value from the matching container for the verification operation of the validator. Further, the electronic device 110 may also obtain (e.g., by performing a verification operation on the correction result of the OPC model 112) one or more verification parameter values related to the verification operation among the at least one verification parameter value not stored in the matching container, and write the one or more non-stored verification parameter values into the matching container for subsequent use by the validator. For example, the verification operation corresponding to the validator is to perform an EPE verification on the points associated with the index numbers 200 - 500 in the pattern after mask correction. The electronic device 110 searches the matching container and determines whether the EPE values associated with the points with index numbers 200 - 500 are stored in the matching container. In response to the matching container storing the EPE values associated with the points with index numbers 300 - 400, the electronic device 110 may read the EPE values associated with the points with index numbers 300 - 400 stored in the matching container. The electronic device 110 may obtain (e.g., by performing a verification operation) the EPE values of the points associated with the index numbers 200 - 299 and the EPE values of the points associated with the index numbers 401 - 500, and write these EPE values into the matching container for subsequent use by the validator.
[0065] A verification method for verifying the OPC correction result according to an embodiment of the present disclosure may extract the model conditions and feature rules corresponding to the validator, and construct a container based on the model conditions and the corresponding feature rules when performing mask correction based on the OPC model 112 (e.g., the feature rules are associated with the settings of the mask pattern used for correction). The verification parameter values related to each verification operation generated under the verification rules where the model conditions and the corresponding feature rules are located may be stored in the container. During each execution of the verification operation, the validator may obtain the parameter values already stored in the container by querying the matching container, thereby avoiding repeated calculations, significantly improving the calculation speed and calculation time of the verification process, and greatly improving the verification efficiency. In addition, by constructing the container based on the model conditions and the corresponding feature rules, the storage space can also be saved. Moreover, it also brings great convenience to the user for configuring the configuration file and improves the user experience.
[0066] The construction process of the container will be described below with reference to the accompanying drawings. Figure 3A schematic diagram showing an initialization process for constructing a container according to an embodiment of the present disclosure. In some embodiments, the electronic device 110 may obtain a verification operation configuration file 310 for verifying the OPC correction result. The configuration file 310 may be set by the user according to verification requirements. Multiple verification rules are set in the configuration file, and each verification rule has corresponding feature rules, and the feature rules are associated with the settings of the mask pattern for correction. For example, the feature rules may include feature rules for sampling the cutting arrangement of the mask pattern for mask correction. Other configuration rules may also be included in the verification rules. The feature rules and other configuration rules together constitute the verification rules. Different verification rules may have the same feature rules.
[0067] In some embodiments, there may be multiple feature rules in the configuration file. In each feature rule, corresponding values may be set for one or more of the line width, pattern spacing, sampling interval, and initial sampling point coordinates of the mask pattern, thereby obtaining multiple feature rules. In each feature rule, the value of at least one of the line width value, pattern spacing value, sampling interval, or initial sampling point coordinate value is different from that of other feature rules.
[0068] The configuration file may also set model conditions. The OPC model 112 performs mask correction on the mask pattern under these model conditions. For example, multiple model conditions may be set in the configuration file: the first model condition, the second model condition, the third model condition, etc. The condition value of each model condition is different from the condition value of other model conditions.
[0069] As Figure 3 shown, the electronic device 110 may obtain the configuration file 310. The configuration file 310 includes multiple feature rules and multiple model conditions. In some embodiments, each feature rule may correspond to one or more model conditions. That is, different model conditions may be associated with corresponding feature rules. The electronic device 110 may determine one or more model conditions corresponding to each feature rule based on the configuration in the configuration file 310.
[0070] Take Figure 3 as an example for illustration. Figure 3 The configuration file 310 in Figure 3 includes three different feature rules: the first feature rule (feature rule 1) 321, the second feature rule (feature rule 2) 322, and the third feature rule (feature rule 3) 323.
[0071] Based on the configuration file 310, the electronic device 110 can determine that: the first feature rule (feature rule 1) 321 corresponds to the first model condition 331 and the second model condition 332; the second feature rule (feature rule 2) 322 corresponds to the first model condition 331 and the third model condition 333; and the third feature rule (feature rule 3) 323 corresponds to the first model condition 331 and the second model condition 332. In addition, based on the configuration file 310, the electronic device 110 can also determine that picture 1 324 is a picture generated under the first model condition 331, picture 2 325 is a picture generated under the second model condition 332, and picture 3 326 is a picture generated under the third model condition 333.
[0072] The electronic device 110 can combine each feature rule with each model condition in the corresponding one or more model conditions to obtain the corresponding element combination. For example, Figure 3 taking [example] as an example, the electronic device 110 can combine the first feature rule (feature rule 1) 321 with the first model condition 331 to obtain the first element combination. The electronic device 110 can combine the first feature rule (feature rule 1) 321 with the second model condition 332 to obtain the second element combination. The electronic device 110 can combine the second feature rule (feature rule 2) 322 with the first model condition 331 to obtain the third element combination. The electronic device 110 can combine the second feature rule (feature rule 2) 322 with the third model condition 333 to obtain the fourth element combination. The electronic device 110 can also combine the third feature rule (feature rule 3) 323 with the first model condition 331 to obtain the fifth element combination. The electronic device 110 can also combine the third feature rule (feature rule 3) 323 with the second model condition 332 to obtain the sixth element combination.
[0073] The electronic device 110 can construct a container for each feature rule based on each element combination obtained. For example, based on the first to sixth element combinations mentioned in the above example, the electronic device 110 can construct a container for each corresponding feature rule based on each element combination. Figure 4 Shown based on Figure 3Examples of containers constructed during the initialization process in []. Specifically, for the first element combination, the electronic device 110 may construct a first container 411, which corresponds to the first feature rule (feature rule 1) and the first model condition. For the second element combination, the electronic device 110 may construct a second container 412, which corresponds to the first feature rule (feature rule 1) and the second model condition. For the third element combination, the electronic device 110 may construct a third container 421, which corresponds to the second feature rule (feature rule 2) and the first model condition. For the fourth element combination, the electronic device 110 may construct a fourth container 423, which corresponds to the second feature rule (feature rule 2) and the third model condition. For the fifth element combination, the electronic device 110 may construct a fifth container 431, which corresponds to the first feature rule (feature rule 1) and the first model condition. For the sixth element combination, the electronic device 110 may construct a sixth container 432, which corresponds to the third feature rule (feature rule 3) and the second model condition.
[0074] In addition, the electronic device 110 may also save the acquired pictures (e.g., pictures 1 to 3) in a container, such as container 441. Each picture corresponds to a corresponding model condition. For example, the picture may be a picture generated under the corresponding model condition. The electronic device 110 may also save the generated layer information in a container, such as container 442, and each layer information corresponds to a corresponding model condition.
[0075] In some embodiments, each created container corresponds to a respective feature rule and model condition. Each container is used to store the parameter values of at least one verification parameter related to the verification of the OPC correction result, which is calculated based on the verification rule and model condition where the feature rule is located. In some embodiments, the container may store the parameter values of the at least one verification parameter in the form of a table. Additionally, the container may also store the parameter values in other forms, which are not limited in this disclosure. In some embodiments, the verification parameter may be associated with the verification of the OPC correction result and characterize the verification parameter for the OPC correction result. In some embodiments, the at least one verification parameter may include one or more of the following items: the coordinates of the exposed pattern profile, the calculation method for the exposed pattern profile (e.g., vertical direction calculation, horizontal direction calculation, or gradient direction calculation, etc.), or the edge placement error (EPE). Additionally, depending on the verification operation, the at least one verification parameter may further include other types of parameters, which are not limited in this disclosure. In some embodiments, the electronic device 110 may initialize the container to set the storage space for each verification parameter to facilitate subsequent operations on this verification parameter, such as write operations. In some embodiments, the parameter values stored in the container are stored by a validator that matches the container performing a write operation on the container.
[0076] In some embodiments, the initial parameter values are also stored in each created container. The initial parameter values are determined according to the feature rule corresponding to the container and may include at least one of the following items: line width, pitch, sampling interval, or initial sampling coordinates. It can be understood that since the user has set the parameter values corresponding to the feature rule during the configuration of the configuration file, these set parameter values can be stored in the container as the initial parameter values.
[0077] In some embodiments, each container has an associated container key value. The container key value is generated in a similar manner to the key value associated with the validator. In some embodiments, for each container, the electronic device 110 may determine the container key value of the container based on information related to the feature rule corresponding to the container and information about the model conditions corresponding to the container. In some embodiments, the information related to the feature rule may include the identifier of the feature rule. The electronic device 110 may obtain the identifier of the feature rule corresponding to the container. The information about the model conditions may include the identifier of the model conditions, for example, the condition value of the model conditions or various types of identifiers determined based on the name and condition value of the model conditions, etc. Taking the identifier of the model conditions including the condition value of the model conditions as an example for illustration. The electronic device 110 may obtain the condition value of the model conditions corresponding to the container. The electronic device 110 may also combine the obtained feature rule identifier with the condition value and use the combination as the container key value of the container. Alternatively, the electronic device 110 may also combine the obtained feature rule identifier, the obtained condition value of the model conditions, and the model name and use the combination as the key value associated with the validator. For example, assume the feature rule identifier is 2, and the obtained condition value is 1.1 and the model name is Nominal. The electronic device 110 may combine the feature rule identifier, the condition value of the model conditions, and the model name, for example, combine them as 2_Nominal_1.1. The electronic device 110 may use the combined feature rule identifier, the condition value of the model conditions, and the model name as the container key value of the container. For example, the key value of the container is "2_Nominal_1.1". For another example, assume the feature rule identifier is 3, and the obtained condition value is 1.2 and the model name is Nominal. The electronic device 110 may combine the feature rule identifier, the condition value of the model conditions, and the model name, for example, combine them as 3_Nominal_1.2. The electronic device 110 may use the combined feature rule identifier, the condition value of the model conditions, and the model name as the container key value of the container. For example, the key value of the container is "3_Nominal_1.2"
[0078] The electronic device 110 may determine the container key value for each of the multiple created containers in the above manner. Correspondingly, the electronic device 110 may determine, based on the key value associated with the validator, the container key value that is the same as the key value associated with the validator from the multiple container key values. For example, the electronic device 110 may compare the key value associated with the validator with the multiple container key values and determine the container key value that is the same as the key value associated with the validator. The electronic device 110 may use the container corresponding to the same container key value as the container that matches the validator, so as to read or write the verification parameter value related to the verification operation of the validator from the matching container.
[0079] The above combination Figure 3 - Figure 4 describes the creation process of the container. The following will be combined with the appended Figure 5 to describe the container matching and data update process 110 implemented by the validator during the execution of the verification operation.
[0080] In some embodiments, the electronic device 110 may determine a key value associated with the validator based on information related to the feature rules corresponding to the validator and information on the model conditions. The electronic device 110 compares the key value with the multiple container key values of multiple containers, and uses the container corresponding to the container key value that is the same as the key value as the matching container for the validator. The validator may perform operations on the matching container for at least one verification parameter value. For example, the validator may read verification parameter values related to the verification operation performed by the validator from the matching container and / or write verification parameter values related to the verification operation to the matching container.
[0081] Figure 5 A schematic diagram showing the container matching and data update process according to an embodiment of the present disclosure. Figure 5 shows a container pool 510, which includes multiple containers: container 411, container 421, as well as a container 441 for storing pictures and a container 442 for storing layer information. For the sake of simplicity and clarity of the drawings, Figure 5 not all containers are shown, and it can be understood that Figure 5 the container pool 510 in may include any number of containers.
[0082] Figure 5 also shows three validators: a first validator 521, a second validator 522, and a third validator 523. Each validator stores a feature rule identifier, a model name, and an identifier of the model conditions (e.g., the condition value of the model) corresponding to the validator. For example, Figure 5 the first validator 521 shown stores a feature rule identifier of 1, a model name of "Nominal", and a model condition value of 1.0. The second validator 522 stores a feature rule identifier of 2, a model name of "Nominal", and a model condition value of 1.0. The third validator 523 stores a feature rule identifier of 2, a model name of "Nominal", and a model condition value of 1.0. The electronic device 110 may determine which feature rule the corresponding validator corresponds to based on the feature rule identifier, and determine which model condition in the container the validator corresponds to based on the model condition value. For example, Figure 5 the feature rule identifier 1 in indicates the first feature rule (feature rule 1), and the model condition value of 1.0 corresponds to the first model condition.
[0083] The electronic device 110 determines a key value associated with the validator based on the feature rules in the validator, the model name, and the conditional value of the model condition. For example, the electronic device 110 may determine that the key value of the first validator 521 is "1_Nominal_1.0", the key value of the second validator 522 is "2_Nominal_1.0", and the key value of the third validator 523 is "2_Nominal_1.0". Figure 5 The second validator 522 and the third validator 523 in Figure 5 have the same key value, indicating that the feature rules corresponding to the two validators are the same. However, the verification rules R522 where the feature rules of the second validator 522 are located and the verification rules R523 where the feature rules of the third validator 523 are located may be different. For example, by making the other configuration rules in the verification rules R522 and the verification rules R523 except for the feature rules different, different verification rules R522 and verification rules R523 can be obtained. In addition, the verification operation performed by the second validator 522 may be different from the verification operation performed by the third validator 523. For example, the second validator 522 performs an EPE verification, and the third validator 523 performs a PV band verification.
[0084] The electronic device 110 can match the key value of each validator with the container key values of multiple containers. The determination method of the container key value has been described in combination with examples above and will not be elaborated here. The electronic device 110 can determine the container associated with the container key value that is the same as the key value of the validator as the matching container of the validator. Taking Figure 5 as an example, after the key value matching process, the electronic device 110 can determine that the matching container of the first validator 521 is container 411, and the matching containers of the second validator 522 and the third validator 523 are both container 421.
[0085] Although the second validator 522 and the third validator 523 have the same key value, they can correspond to different verification operations. For example, the second validator 522 corresponds to EPE verification, and the third validator 523 corresponds to PV band verification. Alternatively, they can have the same verification operation but different verification rules (although the characteristic rules are the same, different verification rules can be obtained by setting other configuration rules in the verification rules to be different). Or, the second validator 522 and the third validator 523 can correspond to different verification operations and different verification rules. For the purpose of illustration, the following will take the example where the second validator 522 corresponds to EPE verification, the third validator 523 corresponds to PV band verification, and their verification rules are also different. This will be illustrated by taking the example where there is partial overlap in the verification area for verifying the mask correction results of the two. For PE verification and PV band verification, the verification parameters that the two share can be the EPE value (i.e., sharing the verification parameter value). Further, for the verification area where there is partial overlap between the second validator 522 and the third validator 523, the shared verification parameter value (such as the EPE value in the overlapping area) in the overlapping area of the second validator 522 and the third validator 523 can be reused.
[0086] For the first validator 521, the first validator 521 performs a verification operation (such as EPE verification) for verifying the correction result of the mask correction of the OPC model 112. For example, the first validator 521 performs EPE verification on the points with index values from 0 to 100 and the points with index values from 200 to 400 in the masked-corrected pattern. The first validator 521 can search the container 411 to determine whether the container 411 stores the EPE values associated with the points with index values from 0 to 100 and the points with index values from 200 to 400 in the masked-corrected pattern.
[0087] In response to the container 411 storing the EPE values associated with the points with index values from 0 to 100 and the points with index values from 200 to 400 in the masked-corrected pattern, the electronic device 110 can read the already stored EPE values and pass them to the first validator 521 for EPE verification of the area associated with the points with index values from 0 to 100 and the points with index values from 200 to 400. Alternatively, in response to the container 411 not storing the EPE values associated with the points with index values from 0 to 100 and the points with index values from 200 to 400 in the masked-corrected pattern, the electronic device 110 can calculate the EPE values of the points associated with the points with index values from 0 to 100 and the points with index values from 200 to 400 and write the calculated EPE values into the container 411 for subsequent use by the validator.
[0088] In response to the EPE values associated with the points with index values from 0 to 100 and the points with index values from 200 to 400 in the masked-corrected pattern being partially stored in the container 411, for example, the EPE values associated with the points with index values from 0 to 100 and the points with index values from 300 to 400 being stored in the container, the electronic device 110 can read the stored EPE values. For the EPE values associated with the points with index values from 200 to 300 not being stored in the container 411, the electronic device 110 can calculate the EPE values associated with the points with index values from 200 to 300 and write the calculated EPE values into the container 411 for subsequent use by the validator.
[0089] The following will be combined with Figure 6 Describe the process of updating operations on matching containers for different validators with the same key value. Figure 6 A flowchart showing a method for different validators with the same key value to perform operations on a matching container according to an embodiment of the present disclosure.
[0090] In block 602, the electronic device 110 determines whether the key value of the current validator is the same as the previous key value of the previous validator. If it is determined to be the same, the electronic device 110 determines at block 604 whether the corresponding verification position of the current verification operation of the current validator overlaps at least partially with the corresponding previous verification position of the previous verification operation. In some embodiments, the verification position is related to the position in the mask pattern for mask correction. If it is determined that the corresponding verification position of the current verification operation of the current validator overlaps at least partially with the corresponding previous verification position of the previous verification operation, it indicates that the previous validator has stored one or more verification parameter values related to the previous verification operation in the matching container during the execution of the previous verification operation. Accordingly, the electronic device 110 can read one or more verification parameter values associated with the overlapping positions from the matching container in block 606, for example, read the parameter values of the verification parameters shared by the current verification operation and the previous verification operation. For the region corresponding to the non-overlapping part, the electronic device 110 can write, in block 608, one or more verification parameter values related to the current verification operation and associated with the positions in the corresponding verification position that do not overlap with the corresponding previous verification position, based on the verification operation of the validator.
[0091] As Figure 6As shown, if the electronic device 110 determines at block 602 that the key value of the current validator is different from the previous key value of the previous validator, or if the electronic device determines at block 604 that the corresponding verification location of the current verification operation of the current validator does not overlap with the corresponding previous verification location of the previous verification operation, then the electronic device 110 may perform an operation on the matching container for at least one verification parameter value at block 610. For example, the electronic device 110 may read the verification parameter value related to the current verification operation from the matching container and / or write the verification parameter value related to the current verification operation to the matching container. Regarding the specific operation at block 610, reference may be made to the description made above in connection with Figure 2 block 208 in
[0092] Returning to Figure 5 , taking the second validator 522 and the third validator 523 in Figure 5 as an example, an exemplary description of the process of the update operation in Figure 6 is given. The second validator 522 and the third validator 523 have the same key value, but they may correspond to different verification operations and / or different verification conditions. For example, the second validator 522 corresponds to EPE verification, and the third validator 523 corresponds to PV band verification. And it can also be set that they perform verification on different regions. For example, the second validator 522 is used to perform EPE verification on the regions where the points with index values of 50 - 100 and the points with index values of 300 - 1000 in the masked-corrected pattern are located, and the third validator 523 is used to perform PV band verification on the regions where the points with index values of 0 - 200 and the points with index values of 400 - 600 in the masked-corrected pattern are located.
[0093] After performing the EPE verification, the second verifier 522 may store the EPE values associated with the points with index values of 50 - 100 and the points with index values of 300 - 1000 in the masked-corrected pattern in the container 421. When the third verifier 523 performs a verification operation (e.g., PV band verification), the electronic device 110 may determine that the region overlapping with the verification region of the previous EPE verification is the region where the points with index values of 50 - 100 and the points with index values of 400 - 600 are located. The electronic device 110 may read the EPE values associated with the points with index values of 50 - 100 and the points with index values of 400 - 600 from the matching container 421. For the non-overlapping regions (the regions where the points with index values of 0 - 49 and 101 - 200 are located), the electronic device 110 may obtain the EPE values associated with the non-overlapping regions during the verification operation and write the EPE values associated with the non-overlapping regions into the matching container 421. It can be understood that for PV band verification, in addition to writing the EPE values into the matching container, the third verifier 523 may also write the line width deviations associated with the points with index values of 50 - 100 and the points with index values of 400 - 600 in the masked-corrected pattern into the matching container. That is, in addition to writing the common verification parameters into the matching container, the third verifier 523 may also write one or more verification parameter values obtained during the execution of the verification operation associated with the third verifier into the matching container for subsequent reading and use.
[0094] In addition, when it is necessary to read picture information and / or layer information, each verifier may also read information from the container where the picture information is located and / or from the container where the layer information is located based on the model conditions corresponding to the matching container. For example, Figure 5 For example, assume that the first verifier 521 also needs to obtain picture information. The first verifier 521 may determine that the matching container 411 corresponds to the first model condition. The first verifier 521 may read the picture associated with the first model condition from the picture container 441, for example, Picture 1 (for example, Picture 1 may be a picture generated under the first model condition). For the acquisition of layer information, each verifier may perform similar operations. For the sake of brevity, it will not be elaborated here.
[0095] Figure 7 A schematic diagram showing an exemplary process of using multiple verifiers to perform verification of OPC correction results according to an embodiment of the present disclosure. In Figure 7 this, the electronic device 110 may perform the initialization of the OPC model 112 at block 701. The electronic device 110 performs parameter initialization at block 702. The operation of parameter initialization may include combining the feature rules with the corresponding models based on the configuration of the configuration file, as described above in conjunction with Figure 3As described. At block 703, the electronic device 110 may perform container initialization. For example, the electronic device 110 may create a container based on the parameter initialization performed at block 702 and set storage spaces for multiple types of verification parameters in each container. In addition, the electronic device 110 may also combine the feature rule identifier, model name, and conditional values of the model conditions corresponding to each container into the container key value of the container. At block 704, the electronic device 110 may perform rule initialization, for example, set the parameters in the feature rule to initial values based on the configuration of the user in the configuration file. It can be understood that the order among the above initialization steps is not limited to Figure 7 the order illustrated in, and some or all of the steps in these blocks may be executed in parallel, or the execution order may be interchanged, and the present disclosure does not limit this.
[0096] After the initialization process is completed, the electronic device 110 may sequentially and serially cause each validator to perform the corresponding verification operation for multiple validators. During the execution of the verification operation, each validator may determine a matching container from multiple containers based on the key value associated with the validator, and read one or more verification parameter values related to the verification operation corresponding to the validator and / or write one or more verification parameter values related to the verification operation to the matching container. The specific data update process may refer to the detailed description above. For the sake of brevity, it will not be elaborated here.
[0097] Figure 8 A schematic diagram showing an exemplary process of using multiple validators to perform verification of OPC correction results according to another embodiment of the present disclosure. Figure 8 The schematic process of is similar to the process in Figure 7 The operations of the electronic device 110 at blocks 801-804 in can be understood by referring to the description of blocks 701-704 above. For the sake of brevity, it will not be elaborated here. Figure 8 The exemplary process in includes a region detection and filtering step. As
[0098] Figure 8 shown in Figure 8As shown, for each verification operation, the electronic device 110 may perform a corresponding detection area filtering operation. For example, before performing verification 810 using the first verifier, the electronic device 110 may perform a first detection area filtering operation 815. During this detection area filtering process, the electronic device 110 may detect the area of the mask pattern for mask correction, such as the area characteristics of the detection area. When the area characteristics are the same or similar, only one sampling point may be retained. For example, for mask pattern A, there are area characteristics C1, C2, and C3. The electronic device may set a sampling point for each area characteristic. Thus, the amount of data to be calculated is significantly reduced. Similarly, before performing verification 820 using the second verifier, the electronic device 110 may perform a second detection area filtering 825; before performing verification 830 using the Nth verifier, the electronic device 110 may perform the Nth detection area filtering 835.
[0099] During the execution of the verification operation, each verifier may determine a matching container from multiple containers based on a key value associated with the verifier, and read one or more verification parameter values related to the verification operation corresponding to the verifier from the matching container and / or write one or more verification parameter values related to the verification operation to the matching container. The specific data update process may refer to the detailed description above. For the sake of brevity, it will not be elaborated here.
[0100] Figure 9 A schematic block diagram of an example device 900 that may be used to implement the embodiments of the present disclosure is shown. The device 900 may be used to implement Figure 1 the electronic device 110. As shown, the device 900 includes a processing unit 901, such as a central processing unit (CPU), which may execute various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 902 or computer program instructions loaded from a storage unit 808 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the device 900 may also be stored. The processing unit 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0101] Multiple components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a magnetic disk, an optical disc, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0102] The processing unit 901 executes the various methods and processes described above, such as method 200 and method 600. For example, in some embodiments, method 200 and method 600 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed onto device 900 via ROM 902 and / or communication unit 909. When the computer program is loaded into RAM 903 and executed by the processing unit 901, one or more steps of method 200 and method 600 described above may be executed. Alternatively, in other embodiments, the processing unit 901 may be configured to execute method 200 and method 600 by any other suitable means (e.g., by means of firmware).
[0103] The functions described above herein may be performed at least in part by one or more hardware logic components. By way of example and not limitation, the types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0104] The program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, a special purpose computer, or other programmable data processing apparatus such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on the remote machine or server.
[0105] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0106] In addition, although the operations are depicted in a particular order, this should be understood as requiring that the operations be performed in the particular order shown or in sequential order, or that all of the illustrated operations be performed to achieve the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the foregoing discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single implementation. Conversely, the various features that are described in the context of a single implementation may also be implemented separately or in any suitable sub-combination in multiple implementations.
[0107] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.
Claims
1. A verification method for verifying an optical proximity correction (OPC) correction result, comprising: Acquiring a feature rule and a model condition corresponding to a verifier, wherein the verifier is associated with a verification operation, and wherein the verification operation includes verifying a correction result of a mask correction performed by an OPC model on a mask pattern under the model condition, and wherein the feature rule is associated with a setting of the mask pattern; determining a key value associated with the validator based on information related to the feature rule and information about the model condition; Determining a matching container from a plurality of containers based on the key value, the container key value of the matching container being the same as the key value associated with the validator; and An operation for at least one verification parameter value is performed on the matching container, wherein the at least one verification parameter value is associated with the verification operation.
2. The verification method according to claim 1, wherein determining the key value associated with the verifier comprises: Obtaining an identifier of the feature rule; obtaining an identification of the model condition; Get the model name; as well as A combination of the identifier of the feature rule, the identifier of the condition value, and the model name is determined as the key value.
3. The verification method according to claim 1, wherein the operation on at least one verification parameter value comprises a read operation, and wherein the read operation comprises: In response to the at least one verification parameter value related to the verification operation being stored in the matching container, the at least one verification parameter value is read from the matching container.
4. The verification method according to claim 1, wherein the operation on at least one verification parameter value comprises a write operation, and wherein the write operation comprises: In response to the at least one verification parameter value related to the verification operation not being stored in the matching container, acquiring the at least one verification parameter value related to the verification operation; as well as The at least one authentication parameter value is written to the matching container.
5. The verification method according to claim 1, wherein the operation for at least one verification parameter value comprises a read operation and a write operation, and wherein performing the operation for at least one verification parameter value on the matching container comprises: In response to the matching container storing a portion of the at least one verification parameter value related to the verification operation: Reading a stored verification parameter value from the matching container; Obtaining a verification parameter value related to the verification operation and not stored in the matching container; as well as The unstored verification parameter value is written into the matching container.
6. The verification method according to claim 1, wherein the operation for at least one verification parameter value comprises a read operation and a write operation, and wherein performing the operation for at least one verification parameter value on the matching container comprises: In response to the key value being the same as a previous key value, determining that a corresponding verification position of the verification operation at least partially overlaps with a corresponding previous verification position of a previous verification operation, wherein the previous key value is associated with the previous verification operation; Reading the verification parameter value associated with the overlapping position from the matching container; as well as Verification parameter values related to the verification operation and associated with positions of the corresponding verification positions that do not overlap with the corresponding previous verification positions are written to the matching container. The method of claim 6 , wherein the verification operation is different from the previous verification operation.
8. The verification method according to claim 1, further comprising: Get multiple feature rules and multiple model conditions in the configuration file; For each of the multiple feature rules, perform the following operations: Based on the configuration in the configuration file, determining at least one model condition corresponding to each of the feature rules; combining each of the feature rules with each of the corresponding at least one model condition to obtain a corresponding element combination; and Based on the corresponding element combination, a container is constructed for each feature rule.
9. The verification method according to claim 8, further comprising: A container key of the container is determined based on the information associated with each feature rule and the information of each model condition.
10. The verification method according to claim 9, wherein determining the container key of the container comprises: Obtaining an identifier of each feature rule; Obtaining an identification of each of the model conditions; Get the model name; as well as A combination of the identifier, the condition value, and the model name is determined as the container key value.
11. The verification method according to claim 8, wherein the container is used to store a parameter value of at least one verification parameter related to verification of the OPC correction result, which is obtained based on the verification rule where each feature rule is located and each model condition.
12. The verification method according to claim 11, wherein the at least one verification parameter comprises one or more of the following items: coordinates of the exposed graphic contour, a calculation method of the exposed graphic contour, or an edge placement error.
13. The verification method according to claim 8, wherein the container further stores initial parameter values, the initial parameter values are determined based on each feature rule and include at least one of the following items: line width, graphic spacing, sampling interval or initial sampling coordinates.
14. An electronic device, comprising: one or more processors; as well as A storage device for storing one or more programs, which, when executed by the one or more processors, enables the electronic device to execute the verification method as described in any one of claims 1 to 13.
15. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the verification method according to any one of claims 1 to 13.
16. A computer program product, which, when executed on a computer, enables the computer to execute the verification method according to any one of claims 1 to 13.