Layout processing method, electronic equipment and computer readable storage medium

By performing sub-layer segmentation and geometric feature analysis on the layout, efficient clustering and accurate hot spot prediction are achieved, the problem of hot spot defects in lithography manufacturing is solved, and the reliability and yield of integrated circuits are improved.

CN119669835AActive Publication Date: 2025-03-21QUANXIN INTELLIGENT MFG TECH CO LTD

Patent Information

Application Number
CN202510189183.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2025-03-21
Estimated Expiration
2045-02-20

AI Technical Summary

Technical Problem

During the photolithography manufacturing process of integrated circuits, the diffraction of light causes defects in the circuit pattern on the silicon wafer, which is called a hot spot, which in turn affects the reliability and yield of the circuit. The prior art has shortcomings in the efficiency and accuracy of layout clustering, and it is difficult to effectively predict and repair these hot spots.

Method used

By dividing the layout into multiple sub-layers, determining the similarity based on the geometric features of the sub-layers, pre-classifying to determine the number of classifications, and finally clustering the sub-layers based on the geometric feature values ​​to determine the types of each sub-layer.

Benefits of technology

More efficient clustering and higher clustering accuracy are achieved, and possible hot spot areas can be more accurately identified and repaired, thereby improving the reliability and yield of integrated circuits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119669835A_ABST
    Figure CN119669835A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a layout processing method, electronic equipment and a computer readable storage medium. The method comprises the following steps of: determining the similarity of each sub-layout on the basis of geometrical characteristics of graphs in a plurality of sub-layouts formed by segmenting the layout, wherein the sub-layouts have the same size; pre-classifying the sub-layouts based on the similarity to determine a classification number; determining a geometric feature value of the geometric feature of the graph based on the geometric feature of the graph; and clustering the sub-layouts based on the classification number and the geometric feature value to determine the type of each sub-layout. According to the technical scheme provided by the invention, more efficient clustering and higher clustering precision can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to integrated circuits, and more particularly, to layout processing methods, electronic devices, and computer-readable storage media. Background Art

[0002] Photolithography is an important part of the manufacturing process of integrated circuits. The basic principle of photolithography is to use photoresist (photoresist), which, after being exposed to light, will etch the pattern on the mask onto the processed surface due to photochemical reaction. With the rapid development of ultra-large-scale integrated circuit technology, the characteristic size of transistors has become smaller and smaller, and the circuit design layout has become more and more complex, which has brought great challenges to circuit photolithography technology.

[0003] Currently, the wavelength of light has reached the 193nm limit, which is much larger than the existing characteristic size of transistors. When the standard circuit design layout is etched onto the silicon wafer, the diffraction of light causes the circuit pattern on the silicon wafer to change, resulting in defects, also known as hot spots. These hot spots are very likely to cause open circuits or short circuits during circuit operation, burn out the circuit, reduce chip yields, and bring huge economic losses. Therefore, it is necessary to predict and locate possible hot spots before lithography, and design and repair them to avoid subsequent lithography defects.

[0004] Hot spots are usually predicted by lithography simulation or machine learning detection methods. However, due to the large scale of chip problems, in order to reduce the scale of the problem, it is necessary to cluster the images of the layout clips and select representative images for each category for processing. Traditional solutions are insufficient in terms of efficiency and accuracy of layout clustering. Summary of the invention

[0005] According to an example embodiment of the present disclosure, a layout processing scheme is provided to at least partially overcome the above or other potential defects.

[0006] According to one aspect of the present disclosure, a layout processing method is provided. The method includes: determining the similarity of each sub-layout based on the geometric features of the graphics in a plurality of sub-layouts divided from the layout, wherein each sub-layout has the same size; pre-classifying the sub-layouts based on the similarity to determine the number of classifications; determining the geometric feature values ​​of the geometric features of the graphics based on the geometric features of the graphics; and clustering the sub-layouts based on the number of classifications and the geometric feature values ​​to determine the type of each sub-layout.

[0007] In a second aspect of the present disclosure, an electronic device is provided. The electronic device includes a processor; and a memory coupled to the processor, the memory having instructions stored therein, and when the instructions are executed by the processor, the device performs an action, the action including: determining the similarity of each sub-layout based on the geometric features of the graphics in the multiple sub-layouts divided by the layout, wherein each sub-layout has the same size; pre-classifying the sub-layouts based on the similarity to determine the number of classifications; determining the geometric feature values ​​of the geometric features of the graphics based on the geometric features of the graphics; and clustering the sub-layouts based on the number of classifications and the geometric feature values ​​to determine the types of each sub-layout.

[0008] In some embodiments, determining the similarity of each sub-layout based on the geometric features of the graphics in multiple sub-layouts divided from the layout includes: determining the similarity of each graphics based on comparison of the geometric features of the graphics in the corresponding areas of each layout; and determining the similarity of each sub-layout based on the similarity of each graphics.

[0009] In some embodiments, determining the similarity of each sub-layout based on the geometric features of the graphics in the multiple sub-layouts divided by the layout includes: dividing each of the sub-layouts into a main area and a sub-area; and determining the main area similarity based on the product of the area ratio of the main area of ​​the two sub-layouts and the main area similarity weight; and determining the sub-area similarity based on the product of the area ratio of the sub-area of ​​the two sub-layouts and the sub-area similarity weight; and determining the sum of the main area similarity and the sub-area similarity as the similarity of the two sub-layouts.

[0010] In some embodiments, the primary region is a central region, and the secondary regions are edge regions located on both sides of the central region.

[0011] In some embodiments, determining the similarity between two sub-layouts includes: adding the product of the similarity of the central area and the central similarity weight and the product of the similarities of the two edge areas and the corresponding edge similarity weights; and determining the sum of the addition as the similarity.

[0012] In some embodiments, the ratio of the area of ​​the central region to the total area of ​​the sub-layout is greater than fifty percent.

[0013] In some embodiments, pre-classifying the sub-layouts based on similarity includes: determining the sub-layouts having similarities greater than a predetermined similarity threshold as being of the same type.

[0014] In some embodiments, determining the geometric feature value of the geometric feature of a graphic includes: determining the geometric feature value based on a feature hierarchy tree, wherein the feature hierarchy tree includes multiple layers, each layer defines corresponding geometric feature information, and the geometric feature value indicates the value of each of the geometric features obtained based on the geometric feature information.

[0015] In some embodiments, the geometric feature information in each layer in the feature hierarchy tree subdivides the corresponding geometric feature information in the previous layer, wherein determining the geometric feature value based on the feature hierarchy tree includes: analyzing the geometric figures in each sub-layout based on the geometric feature information defined in each layer respectively; and traversing each layer in the feature hierarchy tree to output the feature value.

[0016] In some embodiments, the feature hierarchy tree includes at least one of the following information: direction information of the graphics; quantity information of the graphics; length information of the graphics; maximum key dimension information; minimum key dimension information; the distance between different graphics; the distance between adjacent sub-layouts; the geometric information of the graphics being aligned or staggered; and pixel-based feature vector information.

[0017] In some embodiments, each sub-layout is clustered by one of the following clustering algorithms: a K-means clustering algorithm; and a density-based clustering algorithm.

[0018] In some embodiments, pre-classifying the sub-layouts based on similarity to determine the number of classifications includes: pre-classifying the geometric features by one-hot encoding based on similarity; and determining the number of classifications based on the categories of each pre-classified geometric figure.

[0019] In some embodiments, the method further includes: encoding the sub-map by an encoder to generate an encoded image; and decoding the encoded image by a decoder to generate a pixel-based feature vector.

[0020] In some embodiments, determining the geometric feature value based on the feature hierarchy tree includes: defining a feature hierarchy tree based on geometric features and pixel-based feature vectors; and performing binary classification on each geometric feature and the pixel-based feature vector to generate a geometric feature value.

[0021] In a third aspect of the present disclosure, a feature hierarchy tree model is provided, which includes: multiple layers, each layer defining corresponding geometric feature information; and an analysis module, configured to analyze the geometric features of a graphic in an input layout based on the geometric feature information defined in each layer, so as to determine geometric feature values ​​of the geometric features of the graphic.

[0022] In some embodiments, the geometric feature information in each layer of the plurality of layers subdivides the corresponding geometric feature information in the previous layer.

[0023] In some embodiments, determining the geometric feature values ​​of the geometric features of the graphics includes: analyzing the geometric graphics in the layout based on the geometric feature information defined in each layer to determine the feature values ​​of the geometric features corresponding to the corresponding layer; and traversing each layer in the feature hierarchy tree to output each feature value.

[0024] In some embodiments, the feature hierarchy tree includes at least one of the following information: direction information of the graphics; quantity information of the graphics; length information of the graphics; maximum key dimension information; minimum key dimension information; the distance between different graphics; the distance between adjacent sub-layouts; the geometric information of the graphics being aligned or staggered; and pixel-based feature vector information.

[0025] In some embodiments, each layer in the feature hierarchy tree model is defined based on geometric features of graphics in the layout and pixel-based feature vectors in the layout.

[0026] In the fourth aspect of the present disclosure, a method for processing a layout using the feature hierarchy tree model of the third aspect of the present disclosure is provided, the method comprising: analyzing the geometric features of the graphics in the input layout based on the geometric feature information defined in each layer of the feature hierarchy tree model to determine the geometric feature values ​​of the graphics.

[0027] In a fifth aspect of the present disclosure, an electronic device is provided, comprising a processor; and a memory coupled to the processor, the memory having instructions stored therein, which instructions, when executed by the processor, cause the device to perform actions, the actions comprising: analyzing the geometric features of a graphic in an input layout based on the geometric feature information defined in each layer, respectively, to determine the geometric feature values ​​of the graphic.

[0028] In some embodiments, determining the geometric feature value of a graphic includes: analyzing the geometric graphics in the layout based on the geometric feature information defined in each layer to determine the feature value of the geometric feature corresponding to the corresponding layer; and traversing each layer in the feature hierarchy tree to output each feature value.

[0029] In a sixth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method according to the first or fourth aspect of the present disclosure is implemented.

[0030] It will be understood from the following description that the technical solution of the present disclosure can achieve more efficient clustering and higher clustering accuracy.

[0031] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented; Figure 2 A flowchart of a method for image processing according to some embodiments of the present disclosure is shown; Figure 3 A schematic diagram of an autoencoder network structure according to some embodiments of the present disclosure is shown; Figure 4 A schematic diagram of autoencoder network training according to some embodiments of the present disclosure is shown; Figure 5 A schematic diagram of a GDS feature vector decision tree according to some embodiments of the present disclosure is shown; Figure 6 A schematic diagram of pattern similarity modeling according to some embodiments of the present disclosure is shown; Figure 7 A schematic diagram of an image clustering method according to some embodiments of the present disclosure is shown; Figure 8 A block diagram of a computing device capable of implementing various embodiments of the present disclosure is shown.

[0033] In the various drawings, the same or corresponding reference numerals represent the same or corresponding parts. DETAILED DESCRIPTION

[0034] The principles of the present disclosure will be described below with reference to the various exemplary embodiments shown in the accompanying drawings. It should be understood that the description of these embodiments is only to enable those skilled in the art to better understand and further implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that similar or identical reference numerals may be used in the figures where feasible, and similar or identical reference numerals may represent similar or identical functions. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods described herein may be adopted without departing from the principles of the present invention described herein.

[0035] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects.

[0036] Hotspot detection is an important step in semiconductor manufacturing to ensure integrated circuit (IC) reliability and performance. Hotspots are areas on the chip where overheating or stress can cause defects, reducing yield and affecting the life and function of the device. Examples of hotspots are wire bridging, wire pinch-off, and poor contact defects during the photolithography manufacturing process. As semiconductor technology nodes continue to shrink, detecting and mitigating these hotspots becomes increasingly important.

[0037] Hotspots are usually predicted by lithography simulation or machine learning detection methods. However, due to the large scale of chip problems, in order to reduce the scale of the problem, it is necessary to cluster the images of the layout clips and select representative images for each category. In this way, the problem is reduced to processing representative images of each category, rather than individual layout samples. Therefore, how to efficiently calculate the number of layout clusters and extract layout features in advance before clustering plays a key role in clustering the full chip layout.

[0038] The problem of Graphic Data System (GDS) layout pattern compression (clustering) has been around for a long time. How to efficiently and accurately cluster the GDS patterns of the entire chip is still a major challenge in the industry. There are two main reasons for this: First, the number of GDS layout patterns of the entire chip is about 100 million (in an area of ​​4mm*6mm, 14nm process, 500nm*500nm window), and the large amount of data limits the clustering efficiency and commercial feasibility; second, the industry currently has a full-process framework for handling clustering problems in this segment that is not unified and operational.

[0039] A clustering method is known, which first obtains a circuit layout file, obtains the layout area blocks to be classified from the circuit layout file, and then generates a layout area block association map based on the layout area blocks to be classified, and then obtains the complement map of the layout area block association map, and calculates the maximum cluster of the complement map, thereby obtaining the number of layout areas with the largest cluster, and finally clustering is performed according to the number of layout areas. However, this clustering method only considers the boundary-related properties of the layout, without more geometric features as a supplement. For full chip layout data, the clustering effect of one-dimensional (1D) patterns or two-dimensional (2D) patterns will not be very ideal and cannot achieve commercial results.

[0040] In another known scheme, by obtaining a sample chip layout and an initial encoder, the sample chip layout is geometrically transformed to obtain a reference chip layout; the layout features of the sample chip layout and the layout features of each reference chip layout are extracted by the initial encoder; based on the layout features of the sample chip layout and the layout features of each reference chip layout, the initial encoder is trained to obtain a chip layout encoder. The chip layout encoder can output similar layout features for the chip layout before and after the geometric transformation. However, this method only considers the image pixel features, so it has two disadvantages: first, considering the actual situation, if a new layout appears, it will take a lot of time for encoding training, which reduces the clustering efficiency of the entire chip layout; second, a single image data feature cannot fully represent the GDS clustering accuracy.

[0041] There is also a known solution, which first customizes a series of feature libraries, and then based on the customized feature libraries, saves the feature vectors in the vector database by feature extraction, and then clusters the layout based on the extracted features using a combination of supervised and unsupervised methods. Finally, hotspot prediction is performed using the layout features obtained after clustering. This solution needs to determine the number of clusters before using unsupervised learning. The actual number of clusters will change, and how to efficiently determine the number of clusters K is still a big challenge.

[0042] In view of this, the present disclosure provides an improved solution.

[0043] The method of the embodiment of the present disclosure includes: determining the similarity of each sub-layout based on the geometric features of the graphics in the multiple sub-layouts divided from the layout, wherein each sub-layout has the same size; pre-classifying the sub-layouts based on the similarity to determine the number of classifications; determining the geometric feature values ​​of the geometric features of the graphics based on the geometric features of the graphics; clustering the sub-layouts based on the number of classifications and the geometric feature values ​​to determine the type of each sub-layout. The embodiment of the present disclosure obtains the number of clusters by performing pre-classification, and then implements a clustering algorithm to obtain a more accurate clustering label, that is, to achieve more accurate clustering.

[0044] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0045] Figure 1 1 is a schematic diagram of an example environment 100 in which embodiments according to the present disclosure can be implemented. Figure 1 As shown, the example environment 100 includes a computing device 110 and a client 120 .

[0046] In some embodiments, the computing device 110 may interact with the client 120. For example, the computing device 110 may receive an input message from the client 120 and output a feedback message to the client 120. In some embodiments, the input message from the client 120 may be layout data. The computing device 110 may perform corresponding processing on the layout data and output the corresponding operation result to the client 120.

[0047] In some embodiments, computing device 110 may include, but is not limited to, a personal computer, a server computer, a handheld or laptop device, a mobile device (such as a mobile phone, a personal digital assistant (PDA), a media player, etc.), consumer electronics, a minicomputer, a mainframe computer, cloud computing resources, etc.

[0048] It should be understood that the structure and function of the example environment 100 are described for exemplary purposes only and are not intended to limit the scope of the subject matter described herein. The subject matter described herein can be implemented in different structures and / or functions. The environment is merely illustrative and is not intended to limit the application environment of the embodiments of the present disclosure.

[0049] In order to explain the principle of the present disclosure more clearly, the following will refer to Figure 2 Let's describe it in more detail.

[0050] Figure 2 A flowchart of a layout processing method 200 according to some embodiments of the present disclosure is shown.

[0051] At block 202 , similarities of the sub-layouts are determined based on features of graphics in a plurality of sub-layouts divided from the layout, wherein the sub-layouts have the same size.

[0052] In some embodiments, the GDS layout can be efficiently segmented into a large number of sub-layouts (a sub-layout in this article can also be referred to as a pattern or image) through the GDS parsing (Parse) tool and the distributed processing platform (a multi-threaded parallel computing algorithm system). That is, a large number of GDS patterns or images are finally clipped. For example, the layout can be segmented through the aforementioned window, that is, each sub-layout corresponds to the size of the window. There are multiple graphics (polygons) in each image; on the one hand, the GDS pattern can be stored in the database in PNG format; on the other hand, the GDS related point information ( Figure 7 The GDS coordinates shown in the figure can be saved in the GDS database for later processing, such as geometric feature processing. GDS related point information can be extracted from the image by traditional methods.

[0053] In some embodiments, conventional feature extraction methods may be used to extract geometric features of graphics from each image, such as the direction, length, critical dimension (CD), etc. of the graphics.

[0054] In some embodiments, determining the similarity of each sub-layout based on the geometric features of the graphics in multiple sub-layouts divided from the layout may include: determining the similarity of each graphics based on comparison of the geometric features of the graphics in the corresponding areas of each layout; and determining the similarity of each sub-layout based on the similarity of each graphics.

[0055] In some embodiments, determining the similarity of each sub-layout based on the geometric features of the graphics in multiple sub-layouts divided from the layout may include: dividing each of the sub-layouts into a main area and a sub-area; and determining the similarity of the main area based on the product of the area ratio of the main area of ​​the two sub-layouts and the main area similarity weight; and determining the similarity of the sub-area based on the product of the area ratio of the sub-area of ​​the two sub-layouts and the sub-area similarity weight; and determining the sum of the main area similarity and the sub-area similarity as the similarity of the two sub-layouts.

[0056] In some embodiments, determining the similarity of each sub-layout based on the features of the graphics in the multiple sub-layouts divided by the layout may include: dividing each of the sub-layouts into a central area and edge areas located on both sides of the central area; and determining the similarity of the two sub-layouts based on the product of the similarity of the central areas of the two sub-layouts and the central similarity weight, and the product of the similarity of the two edge areas and the corresponding edge similarity weights.

[0057] In some embodiments, determining the similarity between the two sub-layouts includes: adding the product of the similarity of the central area and the central similarity weight and the product of the similarities of the two edge areas and the corresponding edge similarity weights; and determining the sum of the addition as the similarity.

[0058] In some embodiments, the ratio of the area of ​​the central region to the total area of ​​the sub-layout is greater than fifty percent.

[0059] In order to solve the pattern clustering problem, the pattern needs to be modeled. In some embodiments, the pattern can be divided into three sections: upper, middle, and lower. It should be understood that the embodiments of the present disclosure are not limited to this, and other divisions can be performed according to actual needs. Figure 6 . Figure 6 FIG. 4 shows a schematic diagram of pattern similarity modeling according to some embodiments of the present disclosure. Figure 6As shown, the pattern is segmented into three parts A, B and C. That is, the parts are represented by boxes 604, 602 and 606 respectively. The specific method of segmentation is: take the center point of the whole image of a pattern as the center point of the core clustering area, intercept the area where the area of ​​the symmetrical part of the center point occupies a certain proportion of the total area, so as to obtain the A part area; the remaining upper and lower parts can be B and C respectively. The areas of B and C can be determined according to actual needs, and can be equal or unequal. In addition, in some embodiments, the center of the central area can also deviate from the center point of the entire image within a predetermined range.

[0060] In some embodiments, the similarity can be defined as follows: the similarity of two patterns is composed of three parts, namely, the similarity of region A, the similarity of region B, and the similarity of region C. The overall similarity is defined as shown in the following formula (1): S=αS A +βS B +γS C (1) Among them, α, β, and γ are the similarity weights of each region, and their value ranges are [0,1]. A Indicates the similarity of geometric features in the A part (i.e., similarity), referred to as the similarity of the A part. Similarly, S B Represents the similarity of geometric features in the area of ​​part B, and Sc represents the similarity of geometric features in the area of ​​part B. For the GDS clustering task, α=1, β=γ=0.5 are generally taken. In this case, the weight of the middle area is the largest, and the weights of the upper and lower areas are relatively small. In this way, the similarity of the two sub-layouts can be determined quickly and accurately. It should be understood that the values ​​of α and β shown here are only schematic and can be changed in various ways according to actual needs, for example, by the user according to actual needs.

[0061] In addition to the above three parts A, B and C, at least two regions D and E can be divided out based on the two sides of B and C respectively, and weights can be set respectively, and their weights can be lower than B and C, which is not specifically limited in the present invention.

[0062] For example, to determine the similarity of two sub-layouts, the similarity of the three regions A, B, and C of the two can be determined respectively, which can be determined by comparing the similarity of the geometric features of the graphics in each part. For example, if the geometric figures in the two parts A are exactly the same, then the similarity of the two parts A is S. A = 1. If the geometric figures in the A parts of the two are 50% the same (or similar), then the similarity of the A parts of the two is S A=0.5. The same judgment can be made for parts B and C. Substituting the similarity of each part into formula (1), the similarity between any two sub-layouts can be determined. In this way, sub-layouts with the same similarity value can be determined as one category. For example, if 10 sub-layouts have a total similarity of 0.9 (or a deviation from 0.9 within a predetermined threshold (e.g., 0.05)), they can be considered to have the same similarity, and thus these 10 sub-layouts can be classified into the first group; if 12 sub-layouts have a total similarity of 0.8 (or a deviation from 0.8 within a predetermined threshold), they can be considered to have the same similarity, and thus these 12 sub-layouts can be classified into the second group, and so on. In this way, the sub-layouts can be classified based on similarity, and the value of K can be determined.

[0063] In some embodiments, GDS image feature extraction may also be performed to obtain pixel-based feature vectors. The pixel-based feature vectors may be combined with geometric features for subsequent clustering processing to obtain higher clustering accuracy.

[0064] GDS image feature extraction can mainly use unsupervised deep learning network, that is, through the AutoEncoder network, whose main structure includes two backbone network architectures: encoder and decoder (the network structure diagram is as follows Figure 3 As shown in Figure 1, the input image can be encoded into a low-dimensional latent space representation (low-dimensional encoded image data) through the encoder module, and the low-dimensional encoded image data can be decoded into the original image through the decoder module. Encoding is to reduce the dimension to facilitate data processing, and decoding is to restore the image.

[0065] See below Figure 3 Further description, Figure 3 A schematic diagram of a self-encoding network structure according to some embodiments of the present disclosure is shown.

[0066] like Figure 3As shown, firstly, an image (landmark image) 302 is input, and an encoder 304 encodes the image 302 to generate an encoded image. By encoding the image, the feature extraction of the image can be realized, thereby generating a low-dimensional image for easy processing. The low-dimensional image can be referred to as a latent space representation 306. Latent space representation refers to a representation method that compresses data into a low-dimensional space, which is usually used in machine learning and deep learning. This representation method is called a latent space. The original high-dimensional data can be mapped to a low-dimensional space through an encoder. This process usually involves data compression, using fewer dimensions to represent the original data while retaining important information as much as possible. The concept of latent space is very important in deep learning. It can capture the essential characteristics of the data while removing noise and redundant information. It can help the model learn the characteristics of the data, simplify the data representation, and thus better discover patterns in the data. Feature extraction of an image may include multiple downsampling of the image through an encoder to obtain each downsampled feature. The low-dimensional image may then be decoded by a decoder 308 to reconstruct the image to obtain a restored image 310. That is, the image is restored by decoding. The decoding process may include upsampling the features to restore the image. In fact, the network structure is a network training model.

[0067] pass Figure 3 The autoencoder network structure shown can obtain a pixel-based feature vector. The pixel-based feature vector can be used for subsequent operations such as clustering. As is known in the industry, the basic element of an image is a pixel. Both geometric features and pixels can be used as feature vectors of an image.

[0068] Based on the sampled GDS image information, the model of the image encoding network and decoding network can be obtained through the AutoEncoder network structure training. Based on the trained network model, any GDS image can be encoded to obtain a pixel-based feature vector. As mentioned earlier, the AutoEncoder network is mainly composed of an encoder and a decoder, and its main function is to reduce dimensionality.

[0069] Refer to the following Figure 4 Further description. Figure 4 Schematic diagram of AutoEncoder network training according to some embodiments of the present disclosure is shown. Where x represents an input image, the input image is encoded by the encoder 304 to generate an encoded image c, and the encoded image c is decoded by the decoder 308 to obtain a decoded image . The input image is compared with the decoded image (i.e., the restored image), and the square of the difference between the two is recorded as Loss. That is, the loss between the restored image and the original image is calculated. When the loss is greater than a predetermined threshold, the iterative process is performed, that is, the input image is encoded again and the encoded image is decoded, and the difference between the two is calculated. When the difference is less than a predetermined threshold, the iterative process can be stopped; or when the number of training times reaches the target number (such as 500 times), the iterative process can be stopped.

[0070] In some embodiments, a GDS feature vector decision tree (abbreviated as decision tree, also called feature vector hierarchical tree) may be used to extract features from an image. Figure 5 Describe the decision tree.

[0071] Figure 5 A schematic diagram of a GDS feature vector decision tree according to some embodiments of the present disclosure is shown. Figure 5 The topmost block 502 in the diagram represents the image to be processed.

[0072] First, define Figure 5 The six layers of features F1-F6 shown: F1 represents the direction information of the GDS graphic (Polygon), where the square 504 on the left can represent the horizontal direction, and the square 504 on the right can represent the vertical direction; F2 represents the geometric information such as the number and length of the GDS graphic; F3 represents the information of the maximum and minimum CD values ​​in the area (each cropped image); F4 represents the distance between different graphics in the area and the distance between two adjacent areas (for example, the first group of squares in F4 can represent the distance between different graphics in the area; the second group of squares can represent the distance between two adjacent areas); F5 represents the geometric information of the graphics being aligned and interlaced; F6 represents the pixel feature information extracted based on the AutoEncoder network (that is, the pixel-based feature vector). Secondly, according to the GDS geometric feature information defined above and the feature extraction information extracted by the autoencoder network, the classic decision tree algorithm is used to classify each layer of features, such as binary classification, that is, each layer is judged until the last layer of feature vectors is traversed and the decision algorithm ends. The final feature vector decision tree can output corresponding feature values ​​for subsequent clustering processing. Specifically, for Figure 5 In the illustrated embodiment, the output of the feature hierarchy tree is a series of geometric feature values ​​corresponding to F1-F6, that is, specific numerical values ​​of geometric features, such as the length, width, spacing value, and so on of a rectangle.

[0073] It should be understood that Figure 5The feature hierarchy tree shown is only an example. Theoretically, the number of sub-blocks split from blocks in the same row is basically the same, but the actual situation may be different from the theory. It can be understood that the actual situation is a special case of the theory, and this special case will change with different layouts. In other words, the specific block in the previous level to be subdivided can be changed according to the actual situation.

[0074] Back to Figure 2 The description continues. At block 204, the sub-layouts are pre-classified based on the similarities to determine the number of classifications.

[0075] In the traditional solution, the user specifies the number of clusters K. However, in some embodiments of the present disclosure, the number of categories can be determined by classifying the sub-layouts in advance, which can be used as the number K of clustering the layout, so as to achieve more accurate clustering.

[0076] In some embodiments, the geometric features of the pattern can be one-hot encoded based on the extracted geometric features, such as the length, width, and spacing of the rectangle. One-hot encoding can be used to determine whether they are similar. For example, based on the similarity, it can be determined that this group of sub-patterns is in the first category, and the other group of sub-patterns is in the second category, and so on. Based on the full chip pattern, the total number of clusters K can be preliminarily obtained for use by the subsequent clustering algorithm.

[0077] In some embodiments, pre-classifying the sub-layouts based on the similarity includes: determining the sub-layouts with similarity greater than a predetermined similarity threshold as the same type. That is, pre-classifying is performed based on the similarity of the graphics in the sub-layouts, and the sub-layouts can be determined to be the same type if the similarity reaches a predetermined threshold.

[0078] In some embodiments, pre-classifying the sub-layouts based on similarity to determine the number of classifications may include: pre-classifying the geometric features by one-hot encoding based on the similarity; and determining the number of classifications based on the categories of each pre-classified geometric figure.

[0079] The geometric features are related to the total number of clusters. The maximum value of the total number of clusters K needs to be calculated based on the specific values ​​of the geometric feature parameters. This is equivalent to using geometric features to obtain the initial range of K, and then using k-Means for clustering.

[0080] Clustering is the process of classifying and organizing data members that are similar in some aspects in a data set. Clustering is a technique for discovering this inherent structure. Clustering technology is often referred to as unsupervised learning.

[0081] The k-means clustering algorithm (K-Means) is the most famous clustering algorithm. It is the most widely used of all clustering algorithms due to its simplicity and efficiency. Given a set of data points and the required number of clusters k (k can be specified by the user), the k-means clustering algorithm repeatedly divides the data into k clusters according to a certain distance function.

[0082] In some embodiments of the present disclosure, based on K obtained by a pre-classification (Pre-Clustering) algorithm and a feature hierarchical tree, a batch K-means clustering algorithm (MiniBatchKMeans) can be used to perform fine clustering and optimization on the patterns of the entire chip, and ultimately the category corresponding to each pattern will be output. Each category can be encoded and output to a database for subsequent batch clustering processing.

[0083] Different from the traditional method, in some embodiments of the present disclosure, the K value is obtained by calculation rather than being specified by the user, which can obtain more accurate clustering results compared with the traditional method.

[0084] At block 206 , geometric feature values ​​of the geometric features of the graphic are determined based on the geometric features of the graphic.

[0085] In some embodiments, the geometric features of the graphic may be analyzed using conventional methods to determine the geometric feature values ​​of the geometric features of the graphic.

[0086] In some embodiments, the geometric feature value may be determined based on a feature hierarchy tree, wherein the feature hierarchy tree may include multiple layers, each layer defines corresponding geometric feature information, and the geometric feature value indicates the feature value of each geometric feature obtained based on the defined geometric feature information.

[0087] In some embodiments, the geometric feature information in each layer in the feature hierarchy tree subdivides the corresponding geometric feature information in the previous layer, wherein determining the geometric feature value based on the feature hierarchy tree may include: analyzing the geometric figures in each sub-layout based on the geometric feature information defined in each layer respectively; and traversing each layer in the feature hierarchy tree to output the feature value.

[0088] In some embodiments, the feature hierarchy tree may include at least the following information: direction information of the graphics; quantity information of the graphics; length information of the graphics; maximum key size information; minimum key size information; the distance between different graphics; the distance between adjacent areas (sub-layouts); the geometric information of the graphics being aligned or staggered; and feature information extracted based on an autoencoder network (feature vector information based on pixels).

[0089] In some embodiments, the method further includes: encoding the sub-map by an encoder to generate an encoded image; and decoding the encoded image by a decoder to generate a pixel-based feature vector.

[0090] In some embodiments, determining the geometric feature value based on the feature hierarchy tree may include: defining the feature hierarchy tree based on the geometric features and the pixel-based feature vectors; and classifying each geometric feature to generate the geometric feature value.

[0091] At block 208, the sub-layouts are clustered based on the number of classifications and the geometric feature values ​​to determine the type of each sub-layout. Determining the type of each sub-layout means determining a clustering label of each sub-layout, and the clustering label indicates the type of each sub-layout.

[0092] In some embodiments, determining the clustering labels of each sub-layout includes clustering the sub-layouts by one of the following clustering algorithms, thereby determining the clustering labels of each sub-layout: K-Means algorithm; and density-based clustering algorithm.

[0093] The k-means clustering algorithm is an iterative clustering analysis algorithm. Its steps are: pre-divide the data into K groups, then randomly select K objects as the initial cluster centers, then calculate the distance between each object and each seed cluster center, and assign each object to the cluster center closest to it. The cluster centers and the objects assigned to them represent a cluster. Each time a sample is assigned, the cluster center of the cluster is recalculated based on the existing objects in the cluster. This process will be repeated until a certain termination condition is met. The termination condition can be that no (or the minimum number) of objects are reassigned to different clusters, no (or the minimum number) of cluster centers change again, and the sum of squared errors is locally minimized.

[0094] In some embodiments, the method further includes: processing the sub-map through an autoencoder to obtain a pixel-based feature vector; and generating the geometric feature value based on the geometric feature and the pixel-based feature vector.

[0095] Combine the following Figure 7 Give a description.

[0096] Figure 7 FIG. 4 is a schematic diagram of an image clustering method according to some embodiments of the present disclosure. Figure 7 As shown, the GDS layout is parsed (specifically cropped here) to obtain multiple sub-layouts. The sub-layouts are input into the GDS database. The database stores the images of the obtained sub-layouts. In addition, the GDS database also stores the GDS coordinate information of the above images, which can be obtained from the images using traditional methods.

[0097] The AutoEncoder module (or AutoEncoder network) can encode and decode the image to generate a pixel-based feature vector. In some embodiments, the pixel-based feature vector can be combined with the geometric features in each sub-map obtained by feature extraction of the image, for example, the two are feature concatenated (featureconcat) to generate a feature hierarchy tree. Geometric features can be presented in the form of vectors, for example, a few features can be represented as a 1×12 vector, and the pixel-based feature vector is also presented in the form of a vector, for example, a 1×100 vector. Then the two are connected to form a 1×112 vector.

[0098] As mentioned above, the geometric features or the geometric features and the pixel-based feature vectors can be pre-classified, and the number of pre-classifications K can be obtained through the pre-classification. The number K and the feature hierarchy tree are input into K-Means for processing, the features can be clustered, and finally the cluster labels can be output. That is, the labels indicating each category of the cluster can be obtained through the K-means processing. In other words, the cluster labels indicate the type of each sub-map respectively. The output label can be a series of digital values, which can be encoded to form a string, and the string can be stored in the GDS database.

[0099] For example, the labels encoded in string form are as follows: label: 1_2_3_4; 1_2(30), 2_3(10), 1_2_3_4(10). Label 1_2 indicates that there are 30 sub-layouts that meet this type; label 2_3 indicates that there are 10 sub-layouts that meet this type; label 1_2_3_4 indicates that there are 10 sub-layouts that meet this type.

[0100] Figure 7 The K-Means shown in the figure performs clustering processing on the features, and the final number of feature classifications will be a value less than or equal to K. In other words, this K is just a maximum value, and it depends on the actual situation. Some categories may not exist. Because the number of categories classified in the pre-classification may change in the actual clustering process, for example, because some features may not be suitable for being classified into a separate category in the actual clustering, or due to other reasons. The traditional K-Means algorithm requires the specification of K. In some embodiments of the present disclosure, K can be automatically calculated through domain knowledge (geometric features related to the layout) without giving a K value, and then the image is clustered through a machine learning algorithm (k-Means), achieving a higher accuracy rate than the industry's GDS clustering.

[0101] Some embodiments of the present disclosure provide methods for layout feature processing. It should be noted that the examples given in the above embodiments are only for illustrating the solutions of the embodiments of the present disclosure and are not intended to limit the solutions of the present disclosure.

[0102] In some embodiments of the present disclosure, in order to solve the full-chip clustering problem, the following algorithm architecture is proposed. First, the full-chip GDS layout is divided into pictures (or images) of a fixed size (for example: 500*500nm). For example, the segmentation can be performed by known parsing tools; secondly, the geometric features of the GDS pattern after segmentation can be extracted; then, it can be pre-classified based on the geometric features by encoding (such as onehot encoding) to obtain the number of clusters and cluster feature encoding; finally, clustering can be performed based on image data (based on pixel feature vectors) to obtain more accurate cluster labels. For example, the AutoEncoder network structure can be combined with the Kmeans algorithm to obtain a more accurate cluster label; and the clustered label can be output to the database.

[0103] It should be understood that the embodiments mentioned here are exemplary embodiments of the solutions of the present disclosure, and the embodiments of the present disclosure are not limited thereto. Some of the steps or features therein may be omitted, such as the AutoEncoder network structure. In the case where the AutoEncoder network structure is omitted, a pixel-based feature vector is not generated, and accordingly, the aforementioned F6 does not exist in the feature hierarchy tree.

[0104] Full chip GDS can complete image clustering tasks in a short time through this method to achieve commercial purposes. For example, the GDS clustering algorithm can achieve a compression ratio of about 1:500 for the full chip pattern, greatly reducing the processing time of the full chip pattern. At the same time, this algorithm can be applied to the pattern clustering of the hotspot prediction task to improve its processing efficiency.

[0105] The above embodiments are described by taking the full chip layout as an example. It should be understood that the method of the embodiments of the present disclosure is obviously not limited to the full chip, but can also be applied to non-full chips.

[0106] The technical solution disclosed in the present invention can achieve more efficient clustering and higher clustering accuracy.

[0107] In addition, in the above embodiment, clustering is implemented using the K-Means algorithm. It should be understood that the method of the embodiment of the present disclosure is obviously not limited to this, but other clustering algorithms can be used as needed, such as the density-based spatial clustering algorithm (Density-Based Spatial Clustering of Applications with Noise, referred to as DBSCAN), etc.

[0108] In addition, the autoencoder in the above embodiment may also be replaced by other networks with similar functions, such as convolutional neural networks (CNN).

[0109] In addition, in some embodiments, as mentioned above, the autoencoder can be omitted. If omitted, no pixel-based feature vector will be generated. Compared with the above embodiment, the effect will be worse. Because the geometric features only consider the geometric features between the graphics in the image, which can be distinguished by the human eye. The pixel-based vector represents the black and white areas of the entire image, encoding higher-order image features that are imperceptible to the human eye, and can more deeply portray the overall characteristics of the image than geometric features.

[0110] It should be understood that the embodiments shown in the drawings are only for schematically illustrating the solutions of some embodiments of the present disclosure and are not intended to limit the present disclosure. The embodiments of the present disclosure may also have various other forms.

[0111] An electronic device is also disclosed in an embodiment of the present disclosure. The electronic device includes: a processor; and a memory coupled to the processor, the memory having instructions stored therein, and the instructions, when executed by the processor, cause the device to perform actions, the actions including: determining the similarity of each sub-layout based on the geometric features of the graphics in the multiple sub-layouts divided by the layout, wherein each sub-layout has the same size; pre-classifying the sub-layouts based on the similarity to determine the number of classifications; determining the geometric feature values ​​of the geometric features of the graphics based on the geometric features of the graphics, wherein each layer in the feature hierarchy tree defines corresponding geometric feature information, and the geometric feature values ​​indicate the feature values ​​of each geometric feature obtained based on the defined geometric feature information; and clustering the sub-layouts based on the number of classifications and the geometric feature values ​​to determine the type of each sub-layout.

[0112] The embodiments of the present disclosure also disclose a feature hierarchy tree model and a method for processing a layout using the feature hierarchy tree model, thereby enabling fine feature analysis of an input layout to obtain accurate geometric feature values ​​of the graphics in the layout.

[0113] An embodiment of the present disclosure also discloses a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the layout classification or layout processing method according to the embodiment of the present disclosure is implemented.

[0114] Figure 8A schematic block diagram of an electronic device according to some exemplary embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0115] like Figure 8 As shown, the device 800 includes a CPU 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 to a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The CPU 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0116] Multiple components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0117] The various processes and processing described above, such as method 200, may be executed by CPU 801. For example, in some embodiments, method 200 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by CPU 801, one or more steps in method 200 described above may be performed.

[0118] The scheme according to the embodiment of the present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium on which computer-readable program instructions for executing various aspects of the present disclosure are loaded. The computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable program instructions may be downloaded from the computer-readable storage medium to various computing / processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network and / or a wireless network.

[0119] Various embodiments of the present disclosure have been described above, and the above descriptions are exemplary and are only optional embodiments of the present disclosure, not exhaustive, and are not intended to limit the present disclosure. Although the claims in this application have been formulated for specific combinations of features, it should be understood that the scope of the present disclosure also includes any novel features or any novel combination of features disclosed herein, whether or not it relates to the same scheme in any claim currently claimed for protection. The applicant hereby informs that new claims may be formulated into these features and / or combinations of these features during the examination of this application or in any further application derived therefrom.

[0120] The terms used in this article are selected to best explain the principles of each embodiment, practical application or technical improvement in the market, or to enable other ordinary technicians in the field to understand the embodiments disclosed herein. For those skilled in the art, the present disclosure may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the scope of protection of the present disclosure.

Claims

1. A layout processing method, comprising: Determining the similarity of each sub-layout based on geometric features of graphics in a plurality of sub-layouts divided from the layout, wherein each sub-layout has the same size; Pre-classifying the sub-patterns based on the similarity to determine the number of classifications; Determining a geometric feature value of the geometric feature of the graphic based on the geometric feature of the graphic; as well as The sub-layouts are clustered based on the classification quantity and the geometric feature value to determine the type of each sub-layout.

2. The method according to claim 1, wherein determining the similarity of each sub-layout based on the geometric features of the graphics in the plurality of sub-layouts divided from the layout comprises: Determining the similarity of each graphic based on the comparison of geometric features of the graphics in the corresponding areas of each layout; as well as The similarity of each sub-board is determined based on the similarity of each graphic.

3. The method according to claim 2, wherein determining the similarity of each sub-layout based on the geometric features of the graphics in the plurality of sub-layouts divided from the layout comprises: Divide each of the sub-regions into a main region and a sub-region; Determine the similarity of the main region based on the product of the area proportion of the main region of the two sub-patterns and the main region similarity weight; Determine the sub-region similarity based on the product of the area proportion of the sub-regions of the two sub-maps and the sub-region similarity weight; as well as The sum of the main region similarity and the secondary region similarity is determined as the similarity between the two sub-patterns. 4 . The method according to claim 3 , wherein the primary region is a central region and the secondary regions are edge regions located on both sides of the central region.

5. The method according to claim 4, wherein the area of ​​the central region in the sub-layout accounts for more than fifty percent.

6. The method according to claim 1, wherein pre-classifying the sub-layouts based on the similarity comprises: Sub-layouts with similarities greater than a predetermined similarity threshold are determined to be of the same type.

7. The method according to claim 1, wherein determining the geometric feature value of the geometric feature of the graphic comprises: The geometric feature value is determined based on a feature hierarchy tree, wherein the feature hierarchy tree includes a plurality of layers, each layer defines corresponding geometric feature information, and the geometric feature value indicates a value of each of the geometric features obtained based on the geometric feature information.

8. The method according to claim 7, wherein: The geometric feature information in each layer of the feature hierarchy tree subdivides the corresponding geometric feature information in the previous layer, wherein determining the geometric feature value based on the feature hierarchy tree comprises: Analyzing the geometric figures in each sub-layout based on the geometric feature information defined in each layer; and Each layer in the feature hierarchy tree is traversed to output the feature value.

9. The method according to claim 8, wherein the feature hierarchy tree includes at least one of the following information: Direction information of the graphic; Quantity information of graphics; Graphic length information; Maximum critical dimension information; Minimum critical dimension information; The distance between different graphics; The distance between adjacent sub-patterns; The geometric information of the shapes being aligned or interlaced; as well as Pixel-based feature vector information.

10. The method according to claim 1, wherein each sub-layout is clustered by one of the following clustering algorithms: K-means clustering algorithm; and Density-based clustering algorithm.

11. The method according to claim 1, wherein pre-classifying the sub-layouts based on the similarity to determine the number of classifications comprises: One-hot encoding the geometric features based on the similarity to pre-classify the geometric features; as well as The number of classifications is determined based on the categories of the pre-classified individual geometric figures.

12. The method according to claim 1, further comprising: Encoding the sub-map by an encoder to generate an encoded image; as well as The encoded image is decoded by a decoder to generate a pixel-based feature vector.

13. The method of claim 12, wherein determining geometric feature values ​​based on the feature hierarchy tree comprises: Defining the feature hierarchy tree based on the geometric features and the pixel-based feature vector; as well as The geometric features and the pixel-based feature vectors are classified to generate the geometric feature values.

14. An electronic device comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, the instructions causing the device to perform actions when executed by the processor, the actions comprising: Determining the similarity of each sub-layout based on geometric features of graphics in a plurality of sub-layouts divided from the layout, wherein each sub-layout has the same size; Pre-classifying the sub-patterns based on the similarity to determine the number of classifications; Analyzing the geometric features of the graphic to determine geometric feature values ​​of the geometric features of the graphic; and The sub-layouts are clustered based on the classification quantity and the geometric feature value to determine the type of each sub-layout.

15. A computer-readable storage medium having machine-executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Classification method and classification device based on random forest classifier

    CN105608476A

  • Internet of Things big data-based traffic resource dynamic optimization method

    CN108764518A

  • Signal feature combination selection method and device, computer device and storage medium

    CN109816034A

  • Similarity determination device, method, and program

    CN112638262A

  • Method and device for creating candidate clip area, electronic equipment and storage medium

    CN116912272A

Cited By

  • Reconstruction method of integrated circuit layout file, electronic equipment and storage medium

    CN120671626A

  • Abnormal interconnection detection method and device for integrated circuit, storage medium and electronic equipment

    CN121211052A