Optical proximity correction method, device, storage medium and electronic equipment
By performing complexity analysis and area division and merging of the original layout, and using suitable correction algorithms to deal with different regions, the balance problem between accuracy and computational complexity of existing OPC technology is solved, and efficient optical proximity correction is achieved.
Patent Information
- Application Number
- CN202411931421.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2044-12-26
AI Technical Summary
Existing optical proximity correction (OPC) technology is difficult to reduce computational complexity while maintaining high correction accuracy, especially when dealing with full chip layout, where there is a balance problem of sparse and dense areas.
By analyzing the complexity of the original layout, it is divided into several sub-regions, and the area is merged according to the preset strategy to generate the first type of area and the second type of area, and the processing is carried out using appropriate correction algorithms.
It realizes the reduction of computational complexity while maintaining high correction accuracy, and improves the processing efficiency and quality of OPC.
Smart Images

Figure CN119356021B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of semiconductor technology, and specifically to an optical proximity correction method, device, storage medium, and electronic device. Background Art
[0002] In modern semiconductor manufacturing, Optical Proximity Correction (OPC) is one of the key technologies to improve chip manufacturing yield. OPC makes detailed corrections to the original layout shape to cope with the optical proximity effect that occurs during the photolithography process. This effect can cause image distortion in chip manufacturing, affecting the quality and performance of the final product.
[0003] Existing OPC methods are mainly divided into two categories: rule-based optical proximity correction (Rule-Based OPC) and model-based optical proximity correction (Model-Based OPC). Rule-Based OPC is usually suitable for chip manufacturing processes at 0.18 micron nodes and above. Its characteristics are that it is based on empirical rules for correction, can quickly complete layout correction, and is suitable for processing relatively sparse layouts. However, because it relies on empirical lookup tables, the correction accuracy is low, and bad pixels may be generated when processing dense layout areas, affecting the yield of the chip. Relatively speaking, Model-Based OPC is suitable for chip manufacturing below 0.18 micron nodes. Through complex lithography model simulation calculations, it can achieve higher correction accuracy and is suitable for processing dense layouts. However, its huge amount of calculations leads to a significant extension of the OPC running time, which in turn affects the timeliness of tape-out.
[0004] In an actual full-chip layout, there are often both sparse and dense areas, making it difficult for OPC technology to balance computing power requirements and algorithm accuracy. Summary of the invention
[0005] The embodiments of the present application provide an optical proximity correction method, device, storage medium, and electronic device, which can reduce computational complexity while maintaining high correction accuracy.
[0006] In a first aspect, an embodiment of the present application provides an optical proximity correction method, comprising:
[0007] Get the original map;
[0008] Performing complexity analysis on the original layout to obtain a complexity analysis result;
[0009] Divide the original layout into regions according to the complexity analysis result to obtain a plurality of sub-regions;
[0010] Merging the sub-regions according to a preset strategy to generate first-category regions and second-category regions;
[0011] The first-category area and the second-category area are respectively corrected accordingly.
[0012] In the optical proximity correction method provided in the embodiment of the present application, the complexity analysis of the original layout is performed to obtain the complexity analysis result, including:
[0013] Determine the key points of each polygon in the original layout;
[0014] Generating density points by setting a grid resolution according to the area of each of the polygons;
[0015] A density value of each of the key points is calculated based on the density points.
[0016] In the optical proximity correction method provided in the embodiment of the present application, the step of calculating the density value of each key point based on the density point includes:
[0017] Obtaining the number of density points in a preset density window corresponding to each key point;
[0018] Determine a density value corresponding to the preset density window according to the number of the density points;
[0019] The density value is associated with the corresponding key point to obtain the density value of each key point.
[0020] In the optical proximity correction method provided in the embodiment of the present application, the original layout is divided into regions according to the complexity analysis result to obtain a plurality of sub-regions, including:
[0021] All the key points are traversed based on the density value, and the original map is divided into regions according to the traversal result to obtain a plurality of sub-regions.
[0022] In the optical proximity correction method provided in the embodiment of the present application, all the key points are traversed based on the density value, and the original layout is divided into regions according to the traversal result to obtain a plurality of sub-regions, including:
[0023] A current sub-region with a preset radius is formed with the key point with the maximum current density value as the center;
[0024] Determine whether the overlapping area between the current sub-region and other sub-regions is greater than an area threshold;
[0025] If not, the current sub-region is determined to be a valid sub-region, and other key points except the center in the current sub-region are removed; if yes, the current sub-region is determined to be an invalid sub-region, and the key point with the largest current density value is removed;
[0026] Return to the step of forming a current sub-region with a preset radius centered on the key point with the maximum current density value, until all the key points are traversed and a plurality of sub-regions are obtained.
[0027] In the optical proximity correction method provided in the embodiment of the present application, the region merging of the plurality of sub-regions according to a preset strategy to generate the first type of region and the second type of region includes:
[0028] Merging the sub-regions according to preset constraints to generate a plurality of merged regions;
[0029] The plurality of merged regions are classified to obtain first-category regions and second-category regions.
[0030] In the optical proximity correction method provided in the embodiment of the present application, the respectively performing corresponding correction processing on the first type of area and the second type of area includes:
[0031] Using a first correction algorithm to perform correction processing on the first type of area;
[0032] A second correction algorithm is used to perform correction processing on the second type of area.
[0033] In a second aspect, an embodiment of the present application provides an optical proximity correction device, comprising:
[0034] An acquisition unit, used for acquiring an original layout;
[0035] An analysis unit, used for performing complexity analysis on the original layout to obtain a complexity analysis result;
[0036] A division unit, used for dividing the original layout into regions according to the complexity analysis result to obtain a plurality of sub-regions;
[0037] A merging unit, used for merging the plurality of sub-regions according to a preset strategy to generate a first type of region and a second type of region;
[0038] The correction unit is used to perform corresponding correction processing on the first type of area and the second type of area respectively.
[0039] In a third aspect, the present application provides a storage medium storing a plurality of instructions, wherein the instructions are suitable for loading by a processor to execute any of the optical proximity correction methods described above.
[0040] In a fourth aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any of the above-described optical proximity correction methods when executing the computer program.
[0041] In summary, the optical proximity correction method provided in the embodiment of the present application adopts the following steps: obtaining an original layout; performing complexity analysis on the original layout to obtain complexity analysis results; dividing the original layout into regions according to the complexity analysis results to obtain a number of sub-regions; merging the sub-regions according to a preset strategy to generate a first type of region and a second type of region; and performing corresponding correction processing on the first type of region and the second type of region, respectively. This solution achieves the purpose of reducing computational complexity while maintaining high correction accuracy by forming a first type of region and a second type of region, and then performing corresponding correction processing on the first type of region and the second type of region, respectively. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0043] Figure 1 It is a schematic diagram of an application scenario of the optical proximity correction method provided in an embodiment of the present application.
[0044] Figure 2 It is a flowchart of the optical proximity correction method provided in an embodiment of the present application.
[0045] Figure 3 It is a schematic diagram of the structure of the optical proximity correction device provided in an embodiment of the present application.
[0046] Figure 4 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0047] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0048] It should be noted that, in this article, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.
[0049] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0050] In the subsequent description, the suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present application, and have no specific meanings. Therefore, "module", "component" or "unit" can be used in a mixed manner.
[0051] In the description of the present application, it should be noted that the terms "upper", "lower", "left", "right", "inner", "outer", etc., indicating the orientation or positional relationship, are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present application. In addition, terms such as "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance.
[0052] Existing OPC methods are mainly divided into two categories: Rule-Based OPC and Model-Based OPC. Rule-Based OPC is usually suitable for chip manufacturing processes at nodes of 0.18 microns and above. Its characteristics are that it is based on empirical rules for correction, can quickly complete layout correction, and is suitable for processing relatively sparse layouts. However, because it relies on empirical lookup tables, the correction accuracy is low, and bad pixels may be generated when processing dense layout areas, affecting the yield of the chip. Relatively speaking, Model-Based OPC is suitable for chip manufacturing below 0.18 micron nodes. Through complex lithography model simulation calculations, it can achieve higher correction accuracy and is suitable for processing dense layouts. However, its huge amount of calculations leads to a significant increase in the running time of OPC, which in turn affects the timeliness of tape-out.
[0053] In actual full-chip layouts, there are often both sparse and dense areas, making it difficult for OPC technology to balance computing power requirements and algorithm accuracy.
[0054] Based on this, the embodiments of the present application provide an optical proximity correction method, device, storage medium and electronic device. Specifically, the optical proximity correction device can be integrated in an electronic device, and the electronic device can be a server or a terminal. Among them, the terminal can include a mobile phone, a wearable smart device, a tablet computer, a laptop computer, and a personal computer (PC), etc.; the server can be a single server or a server cluster composed of multiple servers, and can be a physical server or a virtual server.
[0055] For example, Figure 1 As shown, after obtaining the original layout, the electronic device first performs a complexity analysis on the original layout to obtain the complexity analysis result, and then divides the original layout into regions according to the complexity analysis result to obtain a number of sub-regions, and then merges the sub-regions according to a preset strategy to generate a first-category region and a second-category region, and finally performs corresponding correction processing on the first-category region and the second-category region respectively to obtain a corrected first-category region and a corrected second-category region. That is, the electronic device can use appropriate correction algorithms for different regions of the original layout, so as to achieve the purpose of reducing the computational complexity while maintaining high correction accuracy.
[0056] The technical solutions shown in the present application will be described in detail below through specific embodiments. It should be noted that the description order of the following embodiments is not intended to limit the priority order of the embodiments.
[0057] See also Figure 2 , Figure 2 : is a schematic diagram of the process of the optical proximity correction method provided in the embodiment of the present application. The specific process of the optical proximity correction method can be as follows:
[0058] 101. Get the original map.
[0059] In the semiconductor manufacturing industry, the design and storage of original layouts is a crucial link. In order to ensure the standardization and compatibility of design data, specific file format standards such as GDS (Graphic Data System) or OASIS (Open Artwork System Interchange Standard) are usually used to save these original layouts. These file formats are widely used in the semiconductor manufacturing industry to ensure the interoperability of design data between different tools and platforms.
[0060] In practical applications, in order to further process and analyze these raw layouts, some specialized libraries are usually used to read and parse these files. For example, OpenAccess library and Magic tool are two widely used libraries that can efficiently read GDS / OASIS files and convert the complex geometric graphics in them into data structures in memory. In this way, the raw layout can be converted into a series of polygons and stored in the memory of the electronic device.
[0061] 102. Perform complexity analysis on the original layout to obtain complexity analysis results.
[0062] In the specific implementation process, the complexity analysis of the original layout can be performed based on different standards. For example, the complexity analysis of the original layout can be performed based on density. For another example, the complexity analysis can be performed based on layout features. In the embodiment of the present application, the complexity analysis of the original layout based on density is taken as an example for detailed description.
[0063] In some embodiments, step 102 may specifically be:
[0064] S1. Determine the key points of each polygon in the original layout.
[0065] In a specific implementation process, polygon information on the original map may be extracted, and then the key points of each polygon in the original map may be determined.
[0066] In some embodiments, the center point of a polygon may be used as a key point, the center point of a bounding box of the polygon may be used as a key point, or a grid point pre-marked at a specified position of the original layout may be used as a key point.
[0067] S2. Generate density points by setting the grid resolution according to the area of each polygon.
[0068] First, the area of each polygon can be calculated separately using an appropriate algorithm (such as triangulation, Shoelace formula, etc.). Then, set a suitable grid resolution, which is usually expressed in distance units (such as microns). This resolution determines the spacing of generated grid points (for example, every 1 micron). It can be understood that this resolution affects the number of density points generated.
[0069] Afterwards, the number of density points N generated inside the polygon can be determined according to the area of the polygon. For example, a density factor can be set (a fixed number of density points is generated per unit area, such as 1 density point is generated per square micron), then N = area × density factor, where the density factor can be adjusted according to specific needs.
[0070] Then, according to the set grid resolution, several grid points are generated within the bounding box of the polygon, and then each generated grid point is judged whether it is inside the polygon, and each grid point is marked according to the judgment result. For example, the first mark (such as marked as 1) can be used inside the polygon, and the second mark (such as marked as 0) can be used outside the polygon. Finally, the grid points inside the polygon can form a set, and the grid points outside the polygon can be ignored. It can be understood that this set is the density point set of the corresponding polygon.
[0071] In some embodiments, all possible grid points can be generated by looping. For example, the minimum coordinates (minimum X coordinates X ) of the grid points can be determined based on the bounding box of the polygon. min and the minimum Y coordinate Y min ) and the maximum coordinate (maximum X coordinate X max and the maximum Y coordinate Y max Then, based on the minimum and maximum coordinates, a nested loop is used to traverse all possible values of the X coordinate and the Y coordinate to generate grid points. Specifically, the outer loop can traverse from X min To X max , the step size is the grid resolution. The inner loop traverses from Y min To Y max , again with the step size being the grid resolution. Then, each generated coordinate point is added to the grid_points list. Finally, the generated grid points are printed.
[0072] In the specific implementation process, you can use the ray casting method or the point-in-polygon judgment function to determine whether each grid point is inside the polygon. Among them, the ray casting method refers to shooting a ray outward from a grid point and calculating the number of intersections between the ray and the polygon boundary. If the intersection is an odd number, the point is inside, and if the intersection is an even number, it is outside. The point-in-polygon judgment function refers to using a ready-made library (such as Shapely) to determine whether a grid point is inside the polygon.
[0073] S3. Calculate the density value of each key point based on the density points.
[0074] Specifically, the number of density points in a preset density window corresponding to each key point may be obtained; the density value of the corresponding preset density window may be determined according to the number of density points; and the density value may be associated with the corresponding key point to obtain the density value of each key point.
[0075] The preset density window refers to an area centered on the key point, usually a fixed-size window (such as a circle or a square). The size of the preset density window can be set according to actual conditions. For a circular window, the size of the preset density window can be set by setting the radius R; for a square window, the size of the preset density window can be set by setting the side length L.
[0076] After that, the previously generated density point set can be traversed to determine whether each density point is within the preset density window. For example, taking the preset density window as a circular density window, for the key point (X k , Y k ), determine whether the grid point (X, Y) is within the preset density window: (XX k )²+(YY k )²≤R².
[0077] It is understandable that the number of density points in the preset density window corresponding to each key point can be obtained according to the traversal result. In the embodiment of the present application, the density value is usually defined as the number of density points per unit area, which can be expressed as the ratio of the number of density points to the area of the preset density window.
[0078] 103. Divide the original map into regions according to the complexity analysis results to obtain several sub-regions.
[0079] In some embodiments, all key points may be traversed based on density values, and the original layout may be divided into regions according to the traversal results to obtain a plurality of sub-regions.
[0080] Specifically, a current sub-region with a preset radius can be formed with the key point with the largest current density value as the center; determine whether the overlapping area between the current sub-region and other sub-regions is greater than the area threshold; if not, determine that the current sub-region is a valid sub-region, and remove other key points except the center in the current sub-region; if so, determine that the current sub-region is an invalid sub-region, and remove the key point with the largest current density value; return to execute the step of forming a current sub-region with a preset radius with the key point with the largest current density value as the center, until all key points are traversed and a number of sub-regions are obtained.
[0081] It is understandable that, when traversal is completed, several sub-regions should occupy all density points. In some embodiments, if several sub-regions cannot occupy all density points, a certain percentage threshold value can be used as a stop condition.
[0082] Among them, the preset radius and area threshold can be adjusted according to actual conditions, and the embodiments of the present application do not limit them. In some embodiments, after the regional division, the density distribution after the regional division can be calculated to evaluate the effectiveness of the regional division. If the density distribution after the regional division does not meet expectations, the preset radius and area threshold can be adjusted and the regional division can be performed again.
[0083] In order to facilitate the search for the key point with the largest current density value, in some embodiments, a two-dimensional KD-Tree can be established with the key point (x, y). KD-Tree (K-Dimensional Tree) is a binary tree structure for organizing points in k-dimensional space. In two-dimensional space, each node contains a key point (x, y), and the space is divided into a left subtree and a right subtree according to the coordinates of the point. With x and y alternately as the splitting axis, the median as the parent node, all nodes in the left subtree are smaller than the parent node, and all nodes in the right subtree are larger than the parent node.
[0084] Specifically, we can first collect the key point coordinate set P as {(x1,y1),(x2,y2),..,(x n ,y n )}. Then construct each level of the tree, and determine the split axis according to the depth d of the current level (when d is an even number, use the x-axis for splitting. When d is an odd number, use the y-axis for splitting). Then select the split point for the current key point set P. For example, you can find the median of the key point set P as the parent node of the current node. It should be noted that the selection of the median can be achieved by sorting the key point set according to the current split axis (x or y). Then recursively construct the subtree. Specifically, the key point set is divided into a left subset and a right subset. The left subset contains all points on the left side of the current split point (less than the parent node coordinates). The right subset contains all points on the right side of the current split point (greater than the parent node coordinates). Then recursively perform the same construction process on the left and right subsets, increasing the level depth d. At this point, each node contains the following information: the coordinates of the key point (x, y), the reference to the left subtree, and the reference to the right subtree.
[0085] For example, assuming there is a set of key points P = {(3,6), (2,7), (17,15), (6,12), (9,1), (10,19)}, the KD-Tree construction steps can be as follows:
[0086] 1. First layer (d=0 uses x-axis):
[0087] Sorting: (2,7), (3,6), (6,12), (9,1), (10,19), (17,15);
[0088] The median is (6,12), which is set as the root node.
[0089] 2. Second layer (d=1, using y axis):
[0090] Left subset: (2,7), (3,6); the median is (3,6), the left subtree node.
[0091] Right subset: (9,1), (10,19), (17,15); the median is (10,19), the right subtree node.
[0092] 3. The third layer (continue recursion):
[0093] Continue to build the left subset (2,7) with the split point (2,7). Split the right subsets (9,1) and (17,15) to form corresponding subtrees.
[0094] That is, in the specific implementation process, in order to facilitate the search for the key point with the largest current density value, the key point with the largest current density value can be determined based on the pre-built KD-Tree. Through KD-Tree, region query or nearest neighbor query can be performed efficiently. When querying, the left subtree or right subtree is decided to be recursively searched based on the comparison of the split axis between the target point and the current node, avoiding traversing the entire tree, thereby improving search efficiency.
[0095] At this point, the retained key points can be used as seed centers in step 104 for region merging.
[0096] 104. Merge a plurality of sub-regions according to a preset strategy to generate first-category regions and second-category regions.
[0097] The purpose of region merging is to merge several sub-regions obtained in the previous step to form the largest feasible OPC region to optimize the density balance and processing efficiency of the original layout. Specifically, several sub-regions can be merged according to preset constraints to generate several merged regions; several merged regions can be classified to obtain first-class regions and second-class regions.
[0098] In some embodiments, adjacent seed centers can be selected for merging. First, the distance and density difference between each pair of adjacent seed centers can be calculated. Determine whether the merging condition is met (for example, the distance is less than a certain threshold, and the density difference is less than a set range). If both meet the merging condition, the two sub-areas are merged into a merged area. It is understood that the density calculation of the merged area should take into account the density values of each seed center to generate a new density value.
[0099] By setting the threshold, we can ensure that only sub-regions with similar density and position are merged, thus avoiding unnecessary merging. And ensure that the size of the merged region is within the allowed range, avoiding the difficulty of subsequent processing caused by too large or too small regions. In addition, merging sub-regions with similar density and position can ensure the consistency of the merging process and avoid unnecessary jumpy merging, which can reduce the probability of errors.
[0100] It should be noted that the high-density area should be minimized and the low-density area should be maximized to optimize the subsequent processing effect. The overlap between the merged areas should be as small as possible to maintain their independence.
[0101] After multiple rounds of merging and optimization, the final merged region set should contain most of the valid sub-regions, as well as the radius and related center point information of each region.
[0102] It is understandable that various thresholds (such as density difference, distance, etc.) during merging can be adjusted according to actual conditions to ensure that the merging effect meets expectations. After the merging is completed, the merged area should be verified to ensure that it can meet the requirements of optical correction in actual applications. In addition, if it is found that the density distribution of the merged area is uneven during the merging process, the merging strategy can be dynamically adjusted.
[0103] Among them, the classification processing of several merged areas to obtain the first category areas and the second category areas can be specifically carried out by comparing the new density values of the several merged areas with the first preset density threshold, classifying the merged areas whose new density values are greater than or equal to the first preset density threshold as the first category areas, and classifying the merged areas whose new density values are less than the first preset density threshold as the second category areas.
[0104] In addition, in the process of region merging, there may be overlapping areas (overlapping areas between the first type of areas and the second type of areas) and unmerged sub-areas, which can be classified as third type of areas.
[0105] 105. Perform corresponding correction processing on the first type of area and the second type of area respectively.
[0106] Applying appropriate algorithms to regions of different densities can improve the efficiency and accuracy of the overall processing. For example, the first correction algorithm can be used to correct the first type of region, and the second correction algorithm can be used to correct the second type of region. It can be understood that the first type of region is a high-density region, and the second type of region is a low-density region.
[0107] For the first type of high-density areas, you can first select a high-precision algorithm suitable for high-density areas, such as an image-based algorithm (image based), a model-based algorithm (model based), etc. Then perform dense sampling in the first type of area. Then use the selected high-precision algorithm to calculate the edge position error (EPE) of each sampling point. Then adjust the position and weight of the sampling point based on the calculation results, and use a higher weight to process the sampling points with higher density. Through iterative optimization, gradually reduce the EPE value to ensure that each iteration can bring improvements.
[0108] Dense sampling refers to detailed sampling in the first type of area, ensuring that the density of sample points is high enough to capture subtle geometric features. The selection of sampling points should cover key edges and structures to maximize the optimization effect.
[0109] For high-density areas, multiple rounds of iterations are required to achieve gradual optimization. EPE needs to be recalculated after each round of iteration. And strict stopping conditions need to be set, such as the improvement of EPE value is less than the set threshold, or the maximum number of iterations is reached. This ensures that unnecessary iterations are terminated as soon as possible while meeting the processing accuracy.
[0110] Since the density value of each key point has been obtained in the previous embodiment, in order to improve processing efficiency, in some embodiments, before using the selected high-precision algorithm to calculate the edge position error of each sampling point, the weight and position of each sampling point can be fine-tuned according to the density value. Sampling points with high density values should be assigned higher weights, and sampling points with low density values should be assigned lower weights. For example, the weight can be set as a function of the density value:
[0111] Weight i = kx Density i
[0112] Among them, k is a constant, and the sampling point with a higher density value has a greater weight.
[0113] In practical applications, the selected algorithm should adapt to the characteristics of the first type of area to avoid using an unsuitable algorithm that may lead to inefficiency or poor results.
[0114] In order to improve the correction efficiency of the first category area, in some embodiments, the first category area can be further subdivided. For example, the sub-areas corresponding to the key points in the first category area can be classified into first sub-category areas with higher density and second sub-category areas with lower density according to the density value of each key point in the first category area. Dense sampling is used for the first sub-category area with higher density, and sparse sampling, which is sparser than the dense sampling used in the first category sub-area, is used for the second sub-category area with lower density.
[0115] For low-density second-type areas, sparse sampling can be used to reduce the number of sampling points to optimize computational efficiency. It should be noted that the sampling points should be selected at key locations that may affect optical correction, such as edges and corners, but the number is much lower than that of the first-type areas.
[0116] In the second type of low-density areas, simple rule-based algorithms can be used for processing, such as threshold-based correction or simple geometric transformation. These algorithms are usually simple to calculate and fast, and are suitable for processing low-density areas.
[0117] It should be noted that in low-density second-type areas, fewer iterations can usually be performed to increase processing speed. For example, it can be set to 1-3 iterations. In addition, loose stopping conditions can be set, such as stopping at a relatively large EPE improvement threshold to ensure that the processing is completed quickly without sacrificing too much accuracy.
[0118] In the third type of area, for the overlapping area, only the high-density part can be selected for simulation to ensure that the performance of this area is maximized during the optical correction process. For example, the optical model of the high-density area can be used to perform detailed optical simulation of the overlapping area, calculate the EPE and perform necessary optimization. Afterwards, the simulation results can be carefully checked to ensure that the processing of the high-density part meets the process requirements and the EPE value is within the allowable range. If necessary, fine-tune the boundaries of the overlapping area to ensure a natural transition with the low-density area.
[0119] For the unmerged sub-regions, you can choose to extract them separately and perform independent optical correction processing. Specifically, a rule-based algorithm or a simple model-based algorithm can be applied to process the sub-region to ensure the efficiency of the processing. In some embodiments, necessary iterative optimization can be performed and the processing results can be verified to ensure that the optical performance of the sub-region meets the expected standards. In another embodiment, if the unmerged sub-region is adjacent to the nearest first-category region or second-category region, it can be merged into the adjacent region for synchronous processing.
[0120] After the above embodiments, a revised layout after correction processing can be obtained. In some embodiments, the revised layout can also be globally optimized to ensure that the optical performance of all regions on the entire revised layout is optimal. Through global optimization, the EPE can be further reduced to meet the requirements of the manufacturing process. In addition, it can be ensured that the revised layout maintains consistency between different regions to avoid local optical mismatch. The specific steps can be as follows:
[0121] 1. Collect regional information
[0122] 1.1. Integrate data from each area: Collect key data from the processing results of the first, second and third types of areas, including EPE value, density distribution, edge position, etc.
[0123] 1.2. Establish a global model: Based on the collected data, a global model is constructed to evaluate the optical performance of the entire modified layout.
[0124] 2: Global evaluation
[0125] 2.1. Performance evaluation: Use optical simulation tools to evaluate the optical performance of the entire revised layout and identify potential problem areas (such as areas with excessively high EPE).
[0126] 2.2. Identify conflicting areas: Check the optical characteristics between different areas and identify possible conflicting areas, especially the transition between the first and second types of areas.
[0127] 3: Optimize strategy formulation
[0128] 3.1. Priority setting: According to the evaluation results, set optimization priorities for different areas. Generally, high-density areas have higher priorities because they have a greater impact on optical performance.
[0129] 3.2. Select optimization method: Select appropriate optimization algorithm according to regional characteristics, which may include: Local optimization: Detailed optimization for specific problem areas. Global adjustment: Adjust certain parameters on a global scale to improve overall performance.
[0130] 4: Implement optimization
[0131] 4.1. Local adjustment: Perform local adjustments on the identified high EPE areas, which may involve modifying the edge position or adding additional correction points.
[0132] 4.2. Global parameter adjustment: Adjust the parameters of the optical model (such as refractive index, light source angle, etc.) globally to optimize the overall performance.
[0133] 4.3 Iterative optimization process: multiple rounds of iterations are performed, and the optical performance is re-evaluated after each iteration to gradually improve EPE and other key indicators.
[0134] 5: Result Verification 5.1. Simulation Verification: After the optimization is completed, optical simulation is performed on the final revised layout to verify whether the EPE and other optical performance indicators of all areas meet the standards.
[0135] 5.2 Physical Verification: If possible, combine physical verification methods with actual testing to ensure the feasibility of the optimization results in production.
[0136] It should be noted that in the process of global optimization, we should maintain sensitivity to feedback from each region and adjust strategies in a timely manner to deal with new problems. When optimizing the first and second types of regions, we should pay attention to the coordination between regions to avoid negative impacts of local optimization on the global effect.
[0137] In addition, there may be conflicting areas in the revised layout (for example, when calculated at low density, some hotspots cannot meet the optical performance requirements). In this case, the following post-processing strategies can be adopted: For example, local recalculation can be performed for conflicting areas that seriously affect EPE. For example, in these areas, high-precision image-based or model-based algorithms are selected for optimization to ensure improved optical performance. In some embodiments, the conflicting areas can also be divided and conquered to identify small areas that can be processed independently, and then each small area is optimized accordingly (such as the further subdivision of the first type of area mentioned above), reducing the overall calculation complexity and improving processing efficiency.
[0138] The processing of conflicting areas is an important part of semiconductor layout optimization. Through flexible post-processing strategies and local optimization, hot spot problems can be effectively solved and the overall optical performance can be improved. Although this part of the processing depends on experience and has certain uncertainties, reasonable strategies and methods can significantly improve the quality of the final results.
[0139] In summary, the optical proximity correction method provided in the embodiment of the present application includes obtaining an original layout; performing complexity analysis on the original layout to obtain complexity analysis results; dividing the original layout into regions according to the complexity analysis results to obtain a number of sub-regions; merging the sub-regions according to a preset strategy to generate a first type of region and a second type of region; and performing corresponding correction processing on the first type of region and the second type of region, respectively. This scheme forms a first type of region and a second type of region, and then performs corresponding correction processing on the first type of region and the second type of region, respectively (for example, a high-precision algorithm is used to improve the correction accuracy of the high-density first type of region, and a rule-based algorithm is used to reduce the computational complexity of the low-density second type of region), thereby achieving the purpose of reducing the computational complexity while maintaining high correction accuracy.
[0140] In order to better implement the optical proximity correction method provided in the embodiment of the present application, the embodiment of the present application also provides an optical proximity correction device, wherein the meanings of the terms are the same as those in the above optical proximity correction method, and the specific implementation details can refer to the description in the method embodiment.
[0141] See also Figure 3 , Figure 3 2 is a schematic diagram of the structure of an optical proximity correction device provided in an embodiment of the present application. The optical proximity correction device may include an acquisition unit 201, an analysis unit 202, a division unit 203, a merging unit 204 and a correction unit 205.
[0142] An acquisition unit 201 is used to acquire an original layout;
[0143] An analysis unit 202 is used to perform complexity analysis on the original layout to obtain a complexity analysis result;
[0144] A division unit 203 is used to divide the original layout into regions according to the complexity analysis result to obtain a plurality of sub-regions;
[0145] A merging unit 204, configured to merge the plurality of sub-regions according to a preset strategy to generate a first type of region and a second type of region;
[0146] The correction unit 205 is used to perform corresponding correction processing on the first type of area and the second type of area respectively.
[0147] The specific implementation of each of the above units can refer to the above-mentioned embodiment of the optical proximity correction method, which will not be described in detail here.
[0148] In summary, the optical proximity correction device provided in the embodiment of the present application can obtain the original layout through the acquisition unit 201; the analysis unit 202 performs complexity analysis on the original layout to obtain the complexity analysis result; the division unit 203 divides the original layout into regions according to the complexity analysis result to obtain a number of sub-regions; the merging unit 204 merges the sub-regions according to a preset strategy to generate a first type of region and a second type of region; the correction unit 205 performs corresponding correction processing on the first type of region and the second type of region respectively. This scheme forms the first type of region and the second type of region, and then performs corresponding correction processing on the first type of region and the second type of region respectively (for example, the high-density first type of region uses a high-precision algorithm to improve the correction accuracy, and the low-density second type of region uses a rule-based algorithm to reduce the computational complexity), so as to achieve the purpose of reducing the computational complexity while maintaining high correction accuracy.
[0149] The present application also provides an electronic device, in which the optical proximity correction device of the present application can be integrated, such as Figure 4 As shown, it shows a schematic diagram of the structure of the electronic device involved in the embodiment of the present application, specifically:
[0150] The electronic device may include one or more processors 301 of processing cores and one or more computer-readable storage media memories 302 and other components. Those skilled in the art will appreciate that Figure 4 The electronic device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0151] The processor 301 is the control center of the electronic device, which uses various interfaces and lines to connect various parts of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing the software program and / or the present application stored in the memory 302, and calling the data stored in the memory 302, so as to monitor the electronic device as a whole. Optionally, the processor 301 may include one or more processing cores; preferably, the processor 301 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operation storage medium, user interface and application program, etc., and the modem processor mainly processes wireless communication. It is understandable that the above-mentioned modem processor may not be integrated into the processor 301.
[0152] The memory 302 can be used to store software programs and the present application. The processor 301 executes various functional applications and data processing by running the software programs and the present application stored in the memory 302. The memory 302 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating storage medium, an application required for at least one function, etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 302 may also include a memory controller to provide the processor 301 with access to the memory 302.
[0153] Although not shown, the electronic device may further include a display unit, an input unit, a power supply, etc., which will not be described in detail herein. Specifically in this embodiment, the processor 301 in the electronic device will load the executable files corresponding to the processes of one or more application programs into the memory 302 according to the following instructions, and the processor 301 will run the application programs stored in the memory 302, thereby realizing various functions, as follows:
[0154] Get the original map;
[0155] Perform complexity analysis on the original layout to obtain complexity analysis results;
[0156] According to the complexity analysis results, the original map is divided into regions to obtain several sub-regions;
[0157] Merge several sub-regions according to a preset strategy to generate first-category regions and second-category regions;
[0158] The first type of area and the second type of area are corrected accordingly.
[0159] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0160] To this end, an embodiment of the present application provides a storage medium in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the steps in any method provided in the embodiment of the present application. For example, the instructions can execute the following steps:
[0161] Get the original map;
[0162] Perform complexity analysis on the original layout to obtain complexity analysis results;
[0163] According to the complexity analysis results, the original map is divided into regions to obtain several sub-regions;
[0164] Merge several sub-regions according to a preset strategy to generate first-category regions and second-category regions;
[0165] The first type of area and the second type of area are corrected accordingly.
[0166] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0167] The storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0168] Since the instructions stored in the storage medium can execute the steps in any method provided in the embodiments of the present application, the beneficial effects that can be achieved by any method provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0169] The optical proximity correction method, device, storage medium and electronic device provided by the present application are respectively introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the core idea of the present application; at the same time, for technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. An optical proximity correction method, characterized in that: include: Get the original map; Performing complexity analysis on the original layout to obtain complexity analysis results, including: determining key points of each polygon in the original layout; generating density points by setting a grid resolution according to the area of each polygon; and calculating a density value of each key point based on the density points; Divide the original layout into regions according to the complexity analysis result to obtain a plurality of sub-regions; Merging the sub-regions according to a preset strategy to generate first-category regions and second-category regions; The first-category area and the second-category area are respectively corrected accordingly.
2. The optical proximity correction method according to claim 1, wherein: The calculating the density value of each of the key points based on the density points includes: Obtaining the number of density points in a preset density window corresponding to each key point; Determine a density value corresponding to the preset density window according to the number of the density points; The density value is associated with the corresponding key point to obtain the density value of each key point.
3. The optical proximity correction method according to claim 1, wherein: The original layout is divided into regions according to the complexity analysis result to obtain a plurality of sub-regions, including: All the key points are traversed based on the density value, and the original map is divided into regions according to the traversal result to obtain a plurality of sub-regions.
4. The optical proximity correction method according to claim 3, wherein: The method traverses all the key points based on the density value, and divides the original map into regions according to the traversal result to obtain a plurality of sub-regions, including: A current sub-region with a preset radius is formed with the key point with the maximum current density value as the center; Determine whether the overlapping area between the current sub-region and other sub-regions is greater than an area threshold; If not, the current sub-region is determined to be a valid sub-region, and other key points except the center in the current sub-region are removed; if yes, the current sub-region is determined to be an invalid sub-region, and the key point with the largest current density value is removed; Return to the step of forming a current sub-region with a preset radius centered on the key point with the maximum current density value, until all the key points are traversed and a plurality of sub-regions are obtained.
5. The optical proximity correction method according to claim 1, wherein: Merging the plurality of sub-regions according to a preset strategy to generate first-category regions and second-category regions includes: Merging the sub-regions according to preset constraints to generate a plurality of merged regions; The plurality of merged regions are classified to obtain first-category regions and second-category regions.
6. The optical proximity correction method according to claim 1, wherein: The respectively performing corresponding correction processing on the first type of area and the second type of area comprises: Using a first correction algorithm to perform correction processing on the first type of area; A second correction algorithm is used to perform correction processing on the second type of area.
7. An optical proximity correction device, characterized in that: include: An acquisition unit, used for acquiring an original layout; The analysis unit is used to perform complexity analysis on the original layout to obtain complexity analysis results, including: determining the key points of each polygon in the original layout; generating density points by setting the grid resolution according to the area of each polygon; and calculating the density value of each key point based on the density points; A division unit, used for dividing the original layout into regions according to the complexity analysis result to obtain a plurality of sub-regions; A merging unit, used for merging the plurality of sub-regions according to a preset strategy to generate a first type of region and a second type of region; The correction unit is used to perform corresponding correction processing on the first type of area and the second type of area respectively.
8. A storage medium, characterized in that: The storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the optical proximity correction method according to any one of claims 1 to 6.
9. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the optical proximity correction method according to any one of claims 1 to 6 when executing the computer program.
Citation Information
Patent Citations
Mask pattern correction process, photomask and semiconductor integrated circuit device
US6303251B1