A layout difference processing method, device and equipment and storage medium
By performing difference analysis and clustering on the Mebes map, the differences with the largest differences are identified for inspection, which solves the problem of low efficiency of manual inspection and achieves efficient and accurate difference inspection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAXINCHENG (HANGZHOU) TECH CO LTD
- Filing Date
- 2026-05-08
- Publication Date
- 2026-06-05
AI Technical Summary
In existing technologies, manual inspection of layout differences in integrated circuit manufacturing is inefficient, easily overlooking critical differences and affecting process yield.
By receiving the original and modified Mebes layouts, a difference analysis is performed to determine the difference values. Then, clustering is carried out, and the difference with the largest difference value is used as the representative for inspection, thereby reducing the number of inspections.
It improved the efficiency of discrepancy checks, ensuring that no critical discrepancies were missed, shortened the check time, and improved the accuracy of checks and subsequent corrections.
Smart Images

Figure CN122154628A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit manufacturing, and in particular to a method, apparatus, device, and storage medium for handling layout differences. Background Technology
[0002] In the integrated circuit manufacturing process, the circuit board diagram on a wafer typically requires collaboration from multiple different factories from design and testing to mass production. For example, after design company A completes the design, it sends the design data to wafer foundry company B. After OPC (Optical Processing) is performed at wafer foundry company B, the photomask data is obtained and then sent to photomask factory C. The photomask factory needs to convert the received data to Mebes format before performing relevant testing and production. If a problem occurs during photomask production, the data needs to be sent back to design company A, and the above process needs to be repeated to obtain a revised version for republication.
[0003] After the photomask manufacturer performs the Mebes conversion, they check the differences between the current version and the previous version. Engineers need to determine whether these differences are reasonable in order to proceed with the subsequent processes. In existing technologies, the differences are not filtered but sorted, with larger differences being checked first and smaller differences checked later. If the number of differences is small, engineers can manually check each one. However, when the number is large, manual inspection is inefficient, as it is impossible to check every single one manually. Sampling inspection may miss critical differences, reducing the process yield.
[0004] Therefore, how to improve the efficiency of manual discrepancy inspection and shorten the time spent on discrepancy inspection without missing key differences and ensuring the accuracy of subsequent corrections has become an urgent problem for those skilled in the art. Summary of the Invention
[0005] The purpose of this invention is to provide a layout difference processing method, apparatus, device, and storage medium to solve the problem in the prior art that it is impossible to simultaneously avoid missing key differences and achieve high difference inspection efficiency.
[0006] To solve the above-mentioned technical problems, the present invention provides a layout difference processing method, comprising:
[0007] Receive the original Mebes layout and the modified Mebes layout;
[0008] A difference analysis was performed between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences;
[0009] Determine the difference values for each of the aforementioned Mebes differences;
[0010] The Mebes differences are clustered to obtain multiple difference clusters, and the Mebes difference with the largest difference value is taken as the class of the corresponding difference cluster to represent the Mebes difference;
[0011] The differences between the classes represented by Mebes are checked to complete the layout difference processing.
[0012] Optionally, in the aforementioned layout difference processing method, determining the difference value of each of the Mebes differences includes:
[0013] Determine the Mebes difference and the number of contact edges of the layout polygon;
[0014] When the number of contact edges between the Mebes difference and the layout polygon is 1, the size of the Mebes difference in the direction perpendicular to the contact edge is taken as the difference value.
[0015] When the number of contact edges between the Mebes difference and the layout polygon is 2, the longer of the two contact edges is determined as the target edge, and the size of the Mebes difference in the direction perpendicular to the target edge is taken as the difference value.
[0016] When the number of contact edges between the Mebes difference and the layout polygon is 3, the contact edge in the middle of the 3 contact edges is determined as the target edge, and the size of the Mebes difference in the direction perpendicular to the target edge is taken as the difference value.
[0017] Optionally, in the aforementioned layout difference processing method, after obtaining the class representative Mebes difference, the method further includes:
[0018] Determine the location information corresponding to the Mebes differences represented by each of the aforementioned classes;
[0019] Based on the location information, determine the difference region map pattern representing the differences in Mebes for each class;
[0020] The similarity between the patterns of the different regions is determined using a map recognition algorithm.
[0021] The class-representing Mebes differences corresponding to the difference regions with similarity higher than a preset value are grouped together, and the Mebes difference with the largest difference value is taken as the group-representing Mebes difference of the corresponding group.
[0022] Accordingly, the differences between the classes represented by Mebes are checked, and layout difference processing is completed, including:
[0023] The differences in the group of representatives are checked to complete the layout difference processing.
[0024] Optionally, in the aforementioned layout difference processing method, clustering processing of the Mebes differences includes:
[0025] The differences in the Mebes were subjected to K-means clustering.
[0026] Optionally, in the aforementioned layout difference processing method, after performing a difference analysis between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences, the method further includes:
[0027] Determine at least one of the following for each of the Mebes differences: difference length, difference area, difference perimeter, and difference perimeter-to-area ratio.
[0028] Optionally, the layout difference processing method further includes:
[0029] Receive the original POSTOPC layout and the modified POSTOPC layout;
[0030] A difference analysis was performed between the modified POSTOPC layout and the original POSTOPC layout to obtain the differences in POSTOPC.
[0031] Accordingly, after performing a difference analysis on the modified Mebes layout and the original Mebes layout to obtain the Mebes differences, the process also includes:
[0032] By comparing the Mebes differences with the POSTOPC differences, it was determined that the source of the differences in Mebes differences without POSTOPC differences was the Mebes process.
[0033] Optionally, the layout difference processing method further includes:
[0034] Receive NSRAF original layout and NSRAF modified layout;
[0035] A difference analysis was performed between the modified NSRAF layout and the original NSRAF layout to obtain the NSRAF differences;
[0036] Receive the original SRAF layout and the modified SRAF layout;
[0037] A difference analysis was performed between the modified SRAF layout and the original SRAF layout to obtain the SRAF differences;
[0038] Receive the original layout and modified layout of the Target;
[0039] A difference analysis is performed between the modified layout of the Target and the original layout of the Target to obtain the differences in the Target.
[0040] Receive the original Dummy layout and the modified Dummy layout;
[0041] A difference analysis was performed between the modified Dummy layout and the original Dummy layout to obtain the Dummy differences;
[0042] Receive the original and modified layouts of Desgin;
[0043] A difference analysis was performed between the modified Desgin layout and the original Desgin layout to obtain the Desgin differences;
[0044] Accordingly, after comparing the Mebes difference with the POSTOPC difference and determining that the source of the Mebes difference corresponding to the absence of POSTOPC difference is the Mebes process, the process further includes:
[0045] The Mebes difference corresponding to the POSTOPC difference is taken as the first residual difference;
[0046] The first remaining difference is compared with the NSRAF difference to determine that the source of the first remaining difference corresponding to the absence of NSRAF difference is the POSTOPC process;
[0047] The first residual difference corresponding to the NSRAF difference is taken as the second residual difference;
[0048] The second residual difference is compared with the SRAF difference to determine that the source of the second residual difference corresponding to the absence of SRAF difference is the NSRAF process;
[0049] The second residual difference corresponding to the SRAF difference is taken as the third residual difference;
[0050] The third residual difference is compared with the target difference to determine that the source of the third residual difference without a target difference is the SRAF process;
[0051] The third residual difference corresponding to the Target difference will be used as the fourth residual difference;
[0052] By comparing the fourth residual difference with the dummy difference, it was determined that the source of the fourth residual difference corresponding to the absence of dummy difference was the Target process;
[0053] The fourth residual difference corresponding to the Dummy difference is taken as the fifth residual difference;
[0054] By comparing the fifth remaining difference with the Desgin difference, it is determined that the source of the fifth remaining difference corresponding to the absence of a Desgin difference is the Dummy process.
[0055] A layout difference processing apparatus, comprising:
[0056] The receiving module is used to receive the original and modified Mebes layouts.
[0057] The difference module is used to perform difference analysis between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences;
[0058] The value determination module is used to determine the difference value of each of the Mebes differences;
[0059] The clustering module is used to perform clustering processing on the Mebes differences to obtain multiple difference clusters, and the Mebes difference with the largest difference value is used as the class of the corresponding difference cluster to represent the Mebes difference;
[0060] The inspection module is used to inspect the differences between the class and the Mebes class, and to complete the layout difference processing.
[0061] A layout difference processing device, comprising:
[0062] Memory, used to store computer programs;
[0063] A processor, configured to perform the layout difference processing steps described above when executing the computer program.
[0064] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the layout difference processing methods described above.
[0065] The layout difference processing method provided by this invention involves receiving an original Mebes layout and a modified Mebes layout; performing a difference analysis on the modified Mebes layout and the original Mebes layout to obtain Mebes differences; determining the difference value of each Mebes difference; performing clustering processing on the Mebes differences to obtain multiple difference clusters, and using the Mebes difference with the largest difference value as the class representative Mebes difference of the corresponding difference cluster; and checking the class representative Mebes difference to complete the layout difference processing. This invention uses a clustering algorithm to group multiple closely spaced Mebes differences into one cluster, assuming that differences within the same cluster are caused by the same factor. The Mebes difference with the largest difference value is selected as a representative of the cluster (i.e., the representative Mebes difference). Only the representative Mebes difference is checked, thus ensuring comprehensiveness of the check without missing key Mebes differences. Furthermore, it merges Mebes differences caused by the same factor, significantly reducing the number of Mebes differences to be checked, shortening the time required for difference processing, improving checking efficiency, and providing accurate difference values to ensure the accuracy of subsequent corrections. This invention also provides a layout difference processing apparatus, device, and storage medium with the above-mentioned beneficial effects. Attached Figure Description
[0066] To more clearly illustrate the technical solutions of the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0067] Figure 1 A flowchart illustrating a specific implementation of the layout difference processing method provided by the present invention;
[0068] Figures 2 to 4 A schematic diagram illustrating the contact between Mebes differences and layout polygons in a specific embodiment of the layout difference processing method provided by the present invention.
[0069] Figure 5 A schematic diagram of Mebes differential clustering for a specific implementation of the layout difference processing method provided by the present invention;
[0070] Figure 6 A flowchart illustrating another specific implementation of the layout difference processing method provided by the present invention;
[0071] Figure 7 A flowchart illustrating another specific embodiment of the layout difference processing method provided by the present invention;
[0072] Figure 8 A schematic diagram of a specific embodiment of the layout difference processing device provided by the present invention.
[0073] Figure label:
[0074] 01-Mebes Difference; 02-Layout Polygon; 100-Receive Module; 200-Difference Module; 300-Value Determination Module; 400-Clustering Module; 500-Check Module. Detailed Implementation
[0075] To enable those skilled in the art to better understand the present invention, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are merely some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0076] The core of this invention is to provide a layout difference processing method, the flowchart of one specific implementation of which is shown below. Figure 1 As shown, this is referred to as Specific Implementation Method One, which includes:
[0077] S101: Receive the original and modified Mebes layouts.
[0078] As mentioned earlier, both the original Mebes layout and the modified Mebes layout in this step are layouts after the mask manufacturer has completed the Mebes format conversion. The modified Mebes layout can be regarded as a new version of the original Mebes layout after iterative modifications.
[0079] S102: Perform a difference analysis between the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01.
[0080] This step can be referenced from relevant technologies, and will not be elaborated upon here.
[0081] Preferably, after this step, the method further includes:
[0082] Determine at least one of the following for each of the Mebes differences 01: difference length, difference area, difference perimeter, and difference perimeter-area ratio.
[0083] In this preferred embodiment, in addition to the difference value, other characteristic parameters of the Mebes difference 01 are further calculated, such as at least one of the difference length, difference area, difference perimeter, and difference perimeter-area ratio. These characteristic parameters can assist in judging the corresponding Mebes difference 01 in subsequent checks, further improving the accuracy of the correction of the Mebes difference 01.
[0084] S103: Determine the difference value of each of the Mebes differences 01.
[0085] In a preferred embodiment, this step includes:
[0086] A1: Determine the number of contact edges between the Mebes difference 01 and the layout polygon 02.
[0087] The contact situation between the Mebes difference 01 and the layout polygon 02 is different, and the number of corresponding contact edges will also be different. Please refer to the following text for details.
[0088] A2: When the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 1, the dimension of the Mebes difference 01 in the direction perpendicular to the contact edge is taken as the difference value.
[0089] Please refer to Figure 2 In this step, the situation corresponding to the Mebes difference 01 and the layout polygon 02 only has one edge in contact. In this case, the extension direction of the contacting edge is considered to be the length direction of the Mebes difference 01, and the dimension in the direction perpendicular to the length direction is the difference value. Figure 2 The difference value is represented by 'x', and the direction of the size corresponding to the difference value is represented by a double-headed arrow. The marking method is similar in the following figures and will not be explained further.
[0090] A3: When the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 2, the longer of the two contact edges is determined as the target edge, and the dimension of the Mebes difference 01 in the direction perpendicular to the target edge is taken as the difference value.
[0091] Please refer to Figure 3 The situation corresponding to this step is that the Mebes difference 01 and the layout polygon 02 only have two sides in contact. In this case, it is necessary to further determine which contact side is longer. The longer contact side is determined to be the target side. The extension direction of the target side is identified as the length direction of the Mebes difference 01, and the dimension of the direction perpendicular to the length direction (usually the extension direction of the other contact side) is the difference value.
[0092] A4: When the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 3, the contact edge in the middle of the 3 contact edges is determined as the target edge, and the size of the Mebes difference 01 in the direction perpendicular to the target edge is taken as the difference value.
[0093] Please refer to Figure 4 In this step, the situation corresponding to the Mebes difference 01 and the layout polygon 02 is that only three sides are in contact. Normally, these three sides should also be in contact with each other in pairs. The three contacting sides can be regarded as a broken line divided into three segments. The middle segment of the broken line is selected as the target side. The extension direction of the target side is defined as the length direction of the Mebes difference 01, and the dimension in the direction perpendicular to the length direction is the difference value.
[0094] In this preferred embodiment, a specific calculation method for the difference value of Mebes difference 01 under different conditions is given, which further improves the calculation efficiency of the difference value of each Mebes difference 01. In addition, it can be seen that steps A2, A3 and A4 in this preferred embodiment have no sequential relationship, but are just processing steps corresponding to three different situations after step A1 makes the judgment.
[0095] S104: Perform clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and take the Mebes difference 01 with the largest difference value as the class representative of the corresponding difference cluster.
[0096] Specifically, this step performs clustering processing on the Mebes differences 01, including:
[0097] K-means clustering was performed on the Mebes differences 01.
[0098] In this specific embodiment, K-means clustering is selected to cluster the Mebes differences 01. K-means clustering is fast, suitable for processing large-scale data, and the model is simple and intuitive. Of course, other clustering methods can be selected according to the actual situation, and this invention does not limit them.
[0099] You can refer to this. Figure 5 , Figure 5 The image shows the distribution of some Mebes differences 01 in the map, and the various difference clusters after clustering are outlined with dashed lines.
[0100] S105: Check the class representative Mebes difference 01 and complete the layout difference processing.
[0101] Once the class representing the Mebes difference 01 is determined, it is no longer necessary to check other Mebes differences 01. Instead, only the class representing the Mebes difference 01 needs to be checked to determine the problem of the Mebes difference 01 that causes each difference cluster, which greatly reduces the number of Mebes differences 01 that need to be checked, thereby improving the checking efficiency.
[0102] The layout difference processing method provided by this invention involves receiving an original Mebes layout and a modified Mebes layout; performing a difference analysis on the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01; determining the difference value of each of the Mebes difference 01; performing clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and taking the Mebes difference 01 with the largest difference value as the class representative Mebes difference 01 of the corresponding difference cluster; and checking the class representative Mebes difference 01 to complete the layout difference processing. In this invention, a clustering algorithm is used to group multiple nearby Mebes differences 01 into one cluster, meaning that differences within the same cluster are considered to be caused by the same factor. Simultaneously, the Mebes difference 01 with the largest difference value is selected as a representative of a cluster (i.e., the class representative Mebes difference 01), and only the class representative Mebes difference 01 is checked. This ensures comprehensiveness of the check without missing key Mebes differences 01, while merging Mebes differences 01 caused by the same factor. This significantly reduces the number of Mebes differences 01 that need to be checked, shortens the time required for difference processing, improves checking efficiency, and provides accurate difference values, ensuring the accuracy of subsequent corrections.
[0103] Based on Implementation Method 1, further processing is performed on the class representative Mebes difference 01 to obtain Implementation Method 2, the corresponding flowchart of which is shown below. Figure 6 As shown, this is referred to as Specific Implementation Method Two, which includes:
[0104] S201: Receive the original and modified Mebes layouts.
[0105] S202: Perform a difference analysis between the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01.
[0106] S203: Determine the difference value of each of the aforementioned Mebes differences 01.
[0107] S204: Perform clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and take the Mebes difference 01 with the largest difference value as the class representative of the corresponding difference cluster.
[0108] S205: Determine the location information corresponding to the Mebes difference 01 for each of the aforementioned classes.
[0109] That is, to locate the differences 01 of each of the aforementioned classes on the map.
[0110] S206: Based on the location information, determine the difference region pattern of each class representing Mebes difference 01.
[0111] After the previous step of positioning is completed, the layout pattern at the position of each class representative Mebes difference 01 is obtained as the layout pattern of the difference region. Specifically, the layout pattern of a square area can be extracted from the layout according to a preset size, with the center position coordinate of the class representative Mebes difference 01 recorded in the position information as the center, as the layout pattern of the difference region. Of course, the layout pattern of the difference region can also be determined by other means, which is not limited in this invention.
[0112] S207: Using a map recognition algorithm, determine the similarity between the map patterns of each of the different regions.
[0113] The technical means of calculating the similarity between the patterns of the different regions using a map recognition algorithm can refer to related technologies, and this invention does not limit it here.
[0114] S208: Group the class representative Mebes difference 01 corresponding to the difference region map pattern with similarity higher than the preset value into a group, and take the Mebes difference 01 with the largest difference value as the group representative Mebes difference 01 of the corresponding group.
[0115] In this step, the class-representing Mebes difference 01 is grouped based on the number of pixels between the corresponding pattern. If the similarity is too high, it can be considered that the two class-representing Mebes difference 01 are just the same Mebes difference 01 appearing in different positions. Obviously, the reason for their appearance should be the same. Therefore, only one of them needs to be checked. Thus, in this step, a group-representing Mebes difference 01 (with the largest difference value and the most obvious feature) is set for each group.
[0116] S209: Check the group representing Mebes difference 01 and complete the layout difference processing.
[0117] As mentioned earlier, the Mebes difference 01 in the same group has the same cause, so it is only necessary to detect one of them (i.e., the group representative Mebes difference 01).
[0118] The difference between this specific implementation and the above specific implementation is that in this specific implementation, the class representative Mebes difference 01 is grouped and the group representative of each group is determined. The remaining steps are the same as those in the above specific implementation, and will not be elaborated here.
[0119] In this specific embodiment, the class representing the Mebes difference 01 is further categorized. In other words, the number of Mebes differences 01 that need to be checked is further reduced. This ensures the comprehensiveness of the check without missing any key Mebes differences 01, while further improving the efficiency of the check and shortening the check time.
[0120] Based on Implementation Method 1, the source of the Mebes difference 01 is further examined, resulting in Implementation Method 3, the corresponding flowchart of which is shown below. Figure 7 As shown, it includes:
[0121] S301: Receive the original and modified Mebes layouts.
[0122] S302: Perform a difference analysis between the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01.
[0123] S303: Determine the difference value of each of the aforementioned Mebes differences 01.
[0124] S304: Perform clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and take the Mebes difference 01 with the largest difference value as the class representative of the corresponding difference cluster.
[0125] S305: Check the class representative Mebes difference 01 and complete the layout difference processing.
[0126] S306: Receive the original POSTOPC layout and the modified POSTOPC layout.
[0127] POSTOPC is the last process before the Mebes conversion operation (i.e., the Mebes process mentioned below). It is usually performed by the wafer fab. Once POSTOPC is completed, the photomask data is obtained and then sent to the photomask fab for the Mebes conversion operation.
[0128] S307: Perform a difference analysis between the modified POSTOPC layout and the original POSTOPC layout to obtain the POSTOPC differences.
[0129] S308: Compare the Mebes difference 01 with the POSTOPC difference to determine that the source of the difference in Mebes difference 01 corresponding to the absence of POSTOPC difference is the Mebes process.
[0130] In this step, it is determined whether the Mebes difference 01 exists in the POSTOPC difference (i.e., whether there is a corresponding POSTOPC difference). This is determined by the location information of the Mebes difference 01. If the location information of the POSTOPC difference is the same as the location information of the Mebes difference 01, then it is considered that the Mebes difference 01 has a corresponding POSTOPC difference.
[0131] In this specific embodiment, after obtaining the Mebes difference 01, the POSTOPC difference is further obtained, and the newly generated differences in the Mebes process are determined. The remaining steps are the same as those in the above specific embodiment, and will not be elaborated here.
[0132] It should be noted that, compared with the first embodiment, the newly added steps S306, S307, and S308 in this specific embodiment are as follows: except for S308, which must be placed after obtaining the Mebes difference 01, i.e., after step S302, the order of the other steps can be any position before S308. This invention does not limit this.
[0133] In this specific embodiment, the POSTOPC layout before Mebes conversion is also compared to determine the POSTOPC differences. If Mebes difference 01 also exists in the POSTOPC layout (i.e., there is a corresponding POSTOPC difference), then this Mebes difference 01 can be considered not to be caused by the Mebes process. However, if there is no difference at this location in the POSTOPC layout, but a difference appears after the Mebes process, then it can be determined that the Mebes difference 01 is caused by the Mebes process, meaning the source of the corresponding Mebes difference 01 is the Mebes process. This specific embodiment further confirms the widening of the Mebes difference 01, allowing photomask manufacturers to quickly adjust the Mebes process used, thereby reducing differences, improving the accuracy of photomask inspection results, reducing the number of layout modifications, and lowering the cost of the layout design stage.
[0134] Furthermore, it also includes:
[0135] B1: Receive the original NSRAF layout and the modified NSRAF layout.
[0136] B2: Perform a difference analysis between the modified NSRAF layout and the original NSRAF layout to obtain the NSRAF differences.
[0137] B3: Receive the original SRAF layout and the modified SRAF layout.
[0138] B4: Perform a difference analysis between the modified SRAF layout and the original SRAF layout to obtain the SRAF differences.
[0139] B5: Receive the original layout and modified layout of the Target.
[0140] B6: Perform a difference analysis between the modified layout of the Target and the original layout of the Target to obtain the Target differences.
[0141] B7: Receive the original Dummy layout and the modified Dummy layout.
[0142] B8: Perform a difference analysis between the modified Dummy layout and the original Dummy layout to obtain the Dummy differences.
[0143] B9: Receive the original and modified layouts of the Desgin.
[0144] B10: Perform a difference analysis between the modified Desgin layout and the original Desgin layout to obtain the Desgin differences.
[0145] Accordingly, after comparing the Mebes difference 01 with the POSTOPC difference and determining that the source of the difference in Mebes difference 01 corresponding to the absence of a POSTOPC difference is the Mebes process, the process further includes:
[0146] B11: The Mebes difference 01 corresponding to the POSTOPC difference is taken as the first residual difference.
[0147] B12: Compare the first remaining difference with the NSRAF difference to determine that the source of the first remaining difference corresponding to the absence of NSRAF difference is the POSTOPC process.
[0148] B13: The first residual difference corresponding to the NSRAF difference is taken as the second residual difference.
[0149] B14: Compare the second residual difference with the SRAF difference to determine that the source of the second residual difference corresponding to the absence of SRAF difference is the NSRAF process.
[0150] B15: The second residual difference corresponding to the SRAF difference is taken as the third residual difference.
[0151] B16: Compare the third residual difference with the target difference to determine that the source of the third residual difference without a target difference is the SRAF process.
[0152] B17: The third residual difference corresponding to the Target difference will be used as the fourth residual difference.
[0153] B18: Compare the fourth residual difference with the dummy difference to determine that the source of the fourth residual difference corresponding to the absence of a dummy difference is the Target process.
[0154] B19: The fourth residual difference corresponding to the Dummy difference is taken as the fifth residual difference.
[0155] B20: Compare the fifth remaining difference with the Desgin difference to determine that the source of the fifth remaining difference corresponding to the absence of a Desgin difference is the Dummy process.
[0156] From the design stage onwards, the layout goes through several processes in sequence: Dummy (fill pattern), Target (target pattern), SRAF (sub-resolution auxiliary pattern), NSRAF (non-resolution auxiliary pattern), and POSTOPC before entering the POSTOPC (post-optical proximity correction) process. Finally, it is sent to the photomask manufacturer for Mebes conversion. Refer to the description of steps S306 to S308 in the previous specific implementation method. In this preferred embodiment, the specific source of the differences in the Mebes detected by the photomask manufacturer can be further determined, which can further improve the accuracy of the photomask detection results, improve the effectiveness of subsequent modifications, and reduce the cost of the layout design stage.
[0157] The layout difference processing apparatus provided in the embodiments of the present invention will be described below. The layout difference processing apparatus described below and the layout difference processing method described above can be referred to in correspondence.
[0158] Figure 8 This is a structural block diagram of the layout difference processing device provided in an embodiment of the present invention, referred to as Specific Embodiment Four, and is referred to as... Figure 8 The layout difference processing apparatus may include:
[0159] Receiver module 100 is used to receive the original Mebes layout and the modified Mebes layout;
[0160] The difference module 200 is used to perform a difference analysis between the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01;
[0161] Value determination module 300 is used to determine the difference value of each of the Mebes differences 01;
[0162] Clustering module 400 is used to perform clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and to take the Mebes difference 01 with the largest difference value as the class representative of the corresponding difference cluster.
[0163] The inspection module 500 is used to inspect the class representative Mebes difference 01 and complete the layout difference processing.
[0164] In one specific implementation, the value determination module 300 includes:
[0165] The contact edge quantity determination unit is used to determine the number of contact edges between the Mebes difference 01 and the layout polygon 02;
[0166] One edge unit is used to take the size of the Mebes difference 01 in the direction perpendicular to the contact edge as the difference value when the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 1.
[0167] Two edge units are used to determine the longer of the two contact edges as the target edge when the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 2, and to take the size of the Mebes difference 01 in the direction perpendicular to the target edge as the difference value.
[0168] Three edge units are used to determine the middle contact edge among the three contact edges when the number of contact edges between the Mebes difference 01 and the layout polygon 02 is 3, and to take the size of the Mebes difference 01 in the direction perpendicular to the target edge as the difference value.
[0169] In one specific implementation, the clustering module 400 further includes:
[0170] A class-representing positioning unit is used to determine the location information corresponding to each class-representing Mebes difference 01;
[0171] A class-representing layout unit is used to determine the difference region layout pattern of each class-representing Mebes difference 01 based on the location information.
[0172] The similarity determination unit is used to determine the similarity between the pattern of each of the different regions using a pattern recognition algorithm;
[0173] The group classification unit is used to group the class representative Mebes difference 01 corresponding to the difference area map pattern with a similarity higher than a preset value into a group, and take the Mebes difference 01 with the largest difference value as the group representative Mebes difference 01 of the corresponding group.
[0174] Accordingly, the inspection module 500 includes:
[0175] The group inspection unit is used to inspect the group representative Mebes difference 01 and complete the layout difference processing.
[0176] In one specific implementation, the clustering module 400 includes:
[0177] K-means clustering units are used to perform K-means clustering on the Mebes differences 01.
[0178] In one specific implementation, the difference module 200 further includes:
[0179] The difference feature determination unit is used to determine at least one of the difference length, difference area, difference perimeter, and difference perimeter-area ratio of each of the Mebes differences 01.
[0180] As one specific implementation method, it also includes:
[0181] The POSTOPC receiving unit is used to receive the original POSTOPC layout and the modified POSTOPC layout.
[0182] The POSTOPC difference unit is used to perform difference analysis between the modified POSTOPC layout and the original POSTOPC layout to obtain the POSTOPC difference.
[0183] Accordingly, the difference module 200 further includes:
[0184] The Mebes source identification unit is used to compare the Mebes difference 01 with the POSTOPC difference to determine that the source of the difference in Mebes difference 01 corresponding to the absence of POSTOPC difference is the Mebes process.
[0185] As one specific implementation method, it also includes:
[0186] The NSRAF receiving unit is used to receive the original NSRAF layout and the modified NSRAF layout.
[0187] The NSRAF difference unit is used to perform difference analysis between the modified NSRAF layout and the original NSRAF layout to obtain the NSRAF difference.
[0188] The SRAF receiving unit is used to receive the original SRAF layout and the modified SRAF layout.
[0189] The SRAF difference unit is used to perform difference analysis between the modified SRAF layout and the original SRAF layout to obtain the SRAF difference.
[0190] The Target receiving unit is used to receive the original Target layout and the modified Target layout.
[0191] The Target Difference Unit is used to perform a difference analysis between the modified Target layout and the original Target layout to obtain the Target difference.
[0192] The Dummy receiving unit is used to receive the original Dummy layout and the modified Dummy layout.
[0193] The Dummy difference unit is used to perform difference analysis between the modified Dummy layout and the original Dummy layout to obtain the Dummy difference.
[0194] The Desgin receiving unit is used to receive the original Desgin layout and the modified Desgin layout.
[0195] The Desgin Difference Unit is used to perform difference analysis between the modified Desgin layout and the original Desgin layout to obtain the Desgin difference.
[0196] Accordingly, the difference module 200 further includes:
[0197] The first residual difference unit is used to take the Mebes difference 01 corresponding to the POSTOPC difference as the first residual difference;
[0198] The POSTOPC source identification unit is used to compare the first remaining difference with the NSRAF difference and determine that the source of the first remaining difference corresponding to the absence of NSRAF difference is the POSTOPC process.
[0199] The second residual difference unit is used to take the first residual difference corresponding to the NSRAF difference as the second residual difference;
[0200] The NSRAF source identification unit is used to compare the second residual difference with the SRAF difference to determine that the source of the second residual difference corresponding to the absence of SRAF difference is the NSRAF process.
[0201] The third residual difference unit is used to take the second residual difference corresponding to the SRAF difference as the third residual difference;
[0202] The SRAF source identification unit is used to compare the third residual difference with the target difference and determine that the source of the third residual difference without a target difference is the SRAF process.
[0203] The fourth residual difference unit is used to take the third residual difference corresponding to the Target difference as the fourth residual difference;
[0204] The Target source identification unit is used to compare the fourth residual difference with the Dummy difference to determine that the source of the fourth residual difference corresponding to the absence of Dummy difference is the Target process.
[0205] The fifth residual difference unit is used to take the fourth residual difference corresponding to the Dummy difference as the fifth residual difference;
[0206] The Dummy source identification unit is used to compare the fifth residual difference with the Desgin difference to determine that the source of the fifth residual difference corresponding to the absence of a Desgin difference is the Dummy process.
[0207] The layout difference processing apparatus provided by this invention includes a receiving module 100 for receiving the original Mebes layout and the modified Mebes layout; a difference module 200 for performing difference analysis on the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01; a value determination module 300 for determining the difference value of each of the Mebes difference 01; a clustering module 400 for performing clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and taking the Mebes difference 01 with the largest difference value as the class representative Mebes difference 01 of the corresponding difference cluster; and a checking module 500 for checking the class representative Mebes difference 01 to complete the layout difference processing. In this invention, a clustering algorithm is used to group multiple nearby Mebes differences 01 into one cluster, meaning that differences within the same cluster are considered to be caused by the same factor. Simultaneously, the Mebes difference 01 with the largest difference value is selected as a representative of a cluster (i.e., the class representative Mebes difference 01), and only the class representative Mebes difference 01 is checked. This ensures comprehensiveness of the check without missing key Mebes differences 01, while merging Mebes differences 01 caused by the same factor. This significantly reduces the number of Mebes differences 01 that need to be checked, shortens the time required for difference processing, improves checking efficiency, and provides accurate difference values, ensuring the accuracy of subsequent corrections.
[0208] The layout difference processing device of this embodiment is used to implement the aforementioned layout difference processing method. Therefore, the specific implementation of the layout difference processing device can be found in the embodiment section of the layout difference processing method above. For example, the receiving module 100, the difference module 200, the value determination module 300, the clustering module 400, and the checking module 500 are respectively used to implement steps S101, S102, S103, S104, and S105 in the above-mentioned layout difference processing method. Therefore, its specific implementation can be referred to the description of the corresponding embodiments, which will not be repeated here.
[0209] The present invention also provides a layout difference processing device, comprising:
[0210] Memory, used to store computer programs;
[0211] A processor is configured to implement the layout difference processing steps described above when executing the computer program. The layout difference processing method provided by this invention involves: receiving an original Mebes layout and a modified Mebes layout; performing difference analysis on the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01; determining the difference value of each of the Mebes difference 01; performing clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and using the Mebes difference 01 with the largest difference value as the class representative Mebes difference 01 of the corresponding difference cluster; and checking the class representative Mebes difference 01 to complete the layout difference processing. In this invention, a clustering algorithm is used to group multiple nearby Mebes differences 01 into one cluster, meaning that differences within the same cluster are considered to be caused by the same factor. Simultaneously, the Mebes difference 01 with the largest difference value is selected as a representative of a cluster (i.e., the class representative Mebes difference 01), and only the class representative Mebes difference 01 is checked. This ensures comprehensiveness of the check without missing key Mebes differences 01, while merging Mebes differences 01 caused by the same factor. This significantly reduces the number of Mebes differences 01 that need to be checked, shortens the time required for difference processing, improves checking efficiency, and provides accurate difference values, ensuring the accuracy of subsequent corrections.
[0212] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above-described layout difference processing methods. The layout difference processing method provided by this invention involves: receiving an original Mebes layout and a modified Mebes layout; performing difference analysis on the modified Mebes layout and the original Mebes layout to obtain Mebes difference 01; determining the difference value of each of the Mebes difference 01; performing clustering processing on the Mebes difference 01 to obtain multiple difference clusters, and using the Mebes difference 01 with the largest difference value as the class representative Mebes difference 01 of the corresponding difference cluster; and checking the class representative Mebes difference 01 to complete the layout difference processing. In this invention, a clustering algorithm is used to group multiple nearby Mebes differences 01 into one cluster, meaning that differences within the same cluster are considered to be caused by the same factor. Simultaneously, the Mebes difference 01 with the largest difference value is selected as a representative of a cluster (i.e., the class representative Mebes difference 01), and only the class representative Mebes difference 01 is checked. This ensures comprehensiveness of the check without missing key Mebes differences 01, while merging Mebes differences 01 caused by the same factor. This significantly reduces the number of Mebes differences 01 that need to be checked, shortens the time required for difference processing, improves checking efficiency, and provides accurate difference values, ensuring the accuracy of subsequent corrections.
[0213] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0214] It should be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0215] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented 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 implementations should not be considered beyond the scope of this invention.
[0216] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0217] The layout difference processing method, apparatus, device, and storage medium provided by this invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this invention. It should be noted that those skilled in the art can make several improvements and modifications to this invention without departing from the principles of this invention, and these improvements and modifications also fall within the protection scope of this invention.
Claims
1. A method for handling map discrepancies, characterized in that, include: Receive the original Mebes layout and the modified Mebes layout; A difference analysis was performed between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences; Determine the difference values for each of the aforementioned Mebes differences; The Mebes differences are clustered to obtain multiple difference clusters, and the Mebes difference with the largest difference value is taken as the class of the corresponding difference cluster to represent the Mebes difference; The differences between the classes represented by Mebes are checked to complete the layout difference processing.
2. The layout difference processing method as described in claim 1, characterized in that, Determining the difference values for each of the aforementioned Mebes differences includes: Determine the Mebes difference and the number of contact edges of the layout polygon; When the number of contact edges between the Mebes difference and the layout polygon is 1, the size of the Mebes difference in the direction perpendicular to the contact edge is taken as the difference value. When the number of contact edges between the Mebes difference and the layout polygon is 2, the longer of the two contact edges is determined as the target edge, and the size of the Mebes difference in the direction perpendicular to the target edge is taken as the difference value. When the number of contact edges between the Mebes difference and the layout polygon is 3, the contact edge in the middle of the 3 contact edges is determined as the target edge, and the size of the Mebes difference in the direction perpendicular to the target edge is taken as the difference value.
3. The layout difference processing method as described in claim 1, characterized in that, After obtaining the class representing the Mebes difference, the following is also included: Determine the location information corresponding to the Mebes differences represented by each of the aforementioned classes; Based on the location information, determine the difference region map pattern representing the differences in Mebes for each class; The similarity between the patterns of the different regions is determined using a map recognition algorithm. The class-representing Mebes differences corresponding to the difference regions with similarity higher than a preset value are grouped together, and the Mebes difference with the largest difference value is taken as the group-representing Mebes difference of the corresponding group. Accordingly, the differences between the classes represented by Mebes are checked, and layout difference processing is completed, including: The differences in the group of representatives are checked to complete the layout difference processing.
4. The layout difference processing method as described in claim 1, characterized in that, Clustering of the Mebes differences includes: The differences in the Mebes were subjected to K-means clustering.
5. The layout difference processing method as described in claim 1, characterized in that, After performing a difference analysis between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences, the following steps are also included: Determine at least one of the following for each of the Mebes differences: difference length, difference area, difference perimeter, and difference perimeter-to-area ratio.
6. The layout difference processing method as described in claim 1, characterized in that, Also includes: Receive the original POSTOPC layout and the modified POSTOPC layout; A difference analysis was performed between the modified POSTOPC layout and the original POSTOPC layout to obtain the differences in POSTOPC. Accordingly, after performing a difference analysis on the modified Mebes layout and the original Mebes layout to obtain the Mebes differences, the process also includes: By comparing the Mebes differences with the POSTOPC differences, it was determined that the source of the differences in Mebes differences without POSTOPC differences was the Mebes process.
7. The layout difference processing method as described in claim 6, characterized in that, Also includes: Receive NSRAF original layout and NSRAF modified layout; A difference analysis was performed between the modified NSRAF layout and the original NSRAF layout to obtain the NSRAF differences; Receive the original SRAF layout and the modified SRAF layout; A difference analysis was performed between the modified SRAF layout and the original SRAF layout to obtain the SRAF differences; Receive the original layout and modified layout of the Target; A difference analysis is performed between the modified layout of the Target and the original layout of the Target to obtain the differences in the Target. Receive the original Dummy layout and the modified Dummy layout; A difference analysis was performed between the modified Dummy layout and the original Dummy layout to obtain the Dummy differences; Receive the original and modified layouts of Desgin; A difference analysis was performed between the modified Desgin layout and the original Desgin layout to obtain the Desgin differences; Accordingly, after comparing the Mebes difference with the POSTOPC difference and determining that the source of the Mebes difference corresponding to the absence of POSTOPC difference is the Mebes process, the process further includes: The Mebes difference corresponding to the POSTOPC difference is taken as the first residual difference; The first remaining difference is compared with the NSRAF difference to determine that the source of the first remaining difference corresponding to the absence of NSRAF difference is the POSTOPC process; The first residual difference corresponding to the NSRAF difference is taken as the second residual difference; The second residual difference is compared with the SRAF difference to determine that the source of the second residual difference corresponding to the absence of SRAF difference is the NSRAF process; The second residual difference corresponding to the SRAF difference is taken as the third residual difference; The third residual difference is compared with the target difference to determine that the source of the third residual difference without a target difference is the SRAF process; The third residual difference corresponding to the Target difference will be used as the fourth residual difference; By comparing the fourth residual difference with the dummy difference, it was determined that the source of the fourth residual difference corresponding to the absence of dummy difference was the Target process; The fourth residual difference corresponding to the Dummy difference is taken as the fifth residual difference; By comparing the fifth remaining difference with the Desgin difference, it is determined that the source of the fifth remaining difference corresponding to the absence of a Desgin difference is the Dummy process.
8. A layout difference processing device, characterized in that, include: The receiving module is used to receive the original and modified Mebes layouts. The difference module is used to perform difference analysis between the modified Mebes layout and the original Mebes layout to obtain the Mebes differences; The value determination module is used to determine the difference value of each of the Mebes differences; The clustering module is used to perform clustering processing on the Mebes differences to obtain multiple difference clusters, and the Mebes difference with the largest difference value is used as the class of the corresponding difference cluster to represent the Mebes difference; The inspection module is used to inspect the differences between the class and the Mebes class, and to complete the layout difference processing.
9. A layout difference processing device, characterized in that, include: Memory, used to store computer programs; A processor, configured to perform the layout difference processing steps as described in any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the layout difference processing method as described in any one of claims 1 to 7.