A photolithography hotspot detection method and system based on a graph neural network
By representing the layout as a graph and using a graph neural network for lithographic hotspot detection, the problems of high computational resource consumption and insufficient accuracy in existing technologies are solved, achieving efficient and accurate hotspot detection.
Patent Information
- Application Number
- CN202411901069.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2044-12-23
AI Technical Summary
Existing CNN-based lithographic hotspot detection methods have high computational resource requirements, are time-consuming to train, and offer limited improvement in detection accuracy, resulting in a disproportionate increase in model complexity.
Graph Neural Networks (GNNs) are used for lithographic hotspot detection. This is achieved by decomposing polygons in the layout into rectangles, which serve as nodes in the graph. Different types of edges are added based on the positional relationships between the rectangles. Node and edge features are designed, and feature extraction and classification are performed using a graph attention mechanism.
It improves computational efficiency, reduces input and model size, and enhances detection accuracy, overcoming the problem of low detection accuracy in existing deep learning methods.
Smart Images

Figure CN119785376B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of semiconductor technology, and more particularly, to a lithography hotspot detection method and system based on a graph neural network. BACKGROUND
[0002] The prior art has proposed various lithography hotspot detection methods, including: a lithography simulation-based method, a pattern matching-based method, a machine learning-based method, and a deep learning-based method; the lithography simulation-based method uses physical and mathematical models of manufacturing processes to simulate manufacturing results and locate hotspots, which has high computational resource requirements and the slowest detection speed; the pattern matching-based method establishes a hotspot library according to known hotspots, then scans the layout to be detected, compares each region in the layout with the known hotspot patterns in the library, and if a region in the layout is found to be similar to a certain topology in the hotspot library, it is considered to be a hotspot; the pattern matching method is faster than the lithography simulation in detection speed, but has poor generalization and cross when the detected layout does not appear in the hotspot library; the machine learning-based method applies a machine learning model to perform hotspot detection on artificially designed layout features; the machine learning method further improves the detection accuracy and generalization compared to the pattern matching method, but it requires a large amount of data for training and manual extraction of layout features; the deep learning-based method applies a convolutional neural network (CNN) for automatic feature extraction, in which the layout is directly represented as an image and used as the input of the convolutional neural network for feature extraction and binary classification, providing the highest hotspot detection accuracy so far compared to previous pattern matching and machine learning-based methods, and a faster detection speed than lithography simulation.
[0003] However, the current CNN-based lithography hotspot detection method still has the following shortcomings: (1) high model complexity, high computational resource requirements, and long training time; complex CNN models require powerful computing resources, including high-performance GPUs and large amounts of memory; and they need a lot of time to train, which is particularly evident when dealing with large-scale integrated circuit datasets; (2) although the model complexity is increasing, the detection accuracy is limited, and as CNN models become more complex, their training and inference time and model size increase significantly. However, the corresponding improvement in detection accuracy is not proportional, only slightly improved. SUMMARY
[0004] In view of the defects of the prior art, the purpose of the present application is to provide a photolithography based on a graph neural network, aiming at solving the problems of low calculation efficiency and insufficient measurement accuracy when using the existing CNN model for layout hotspot detection.
[0005] To achieve the above-mentioned purpose, in a first aspect, the present application provides a photolithography hotspot detection method based on a graph neural network, comprising the following steps:
[0006] Step one: based on the layout constructed by polygon metal, each polygon metal is decomposed into several independent rectangles by horizontal scanning, and each rectangle is taken as a node;
[0007] Step two: when adjacent rectangles constitute one corner of the polygon metal, an internal edge is added between the adjacent rectangles; when the projection of adjacent rectangles overlaps and the distance is less than a preset threshold, an external edge is added between the adjacent rectangles;
[0008] Step three: taking the coordinates of the opposite vertex of the rectangle as the node feature, and taking the minimum distance between the rectangles as the edge feature, the graph representation of the layout is completed;
[0009] Step four: input the graph representation of the layout into the message passing layer of the GNN model to update the edge feature and the node feature, and then perform graph feature extraction, and perform global maximum pooling and global average pooling on each dimension of all node features to obtain the global graph representation;
[0010] Step five: input the global graph representation into the classification layer of the GNN model, and classify the global graph representation into hotspots and non-hotspots.
[0011] Further preferably, the training method of the GNN model comprises the following steps:
[0012] Based on the design layout, a simulated manufacturing layout is generated by photolithography simulation, and defect detection is performed on the simulated manufacturing layout, and the defect position is marked with a defect mark;
[0013] The effective area window is used for detection, and the overlapping area ratio of the defect mark and the effective area window is calculated;
[0014] If the overlapping area is more than 30%, the layout classification label is set as a hotspot, otherwise it is set as a non-hotspot;
[0015] The simulated manufacturing layout with the classification label is divided into a training set and a test set;
[0016] The simulation manufacturing layout in the training set is sequentially subjected to steps one, two and three to obtain the graph representation corresponding to each polygon metal, and is input into the GNN model, the cross-entropy loss of the one-hot code of the classification label and the model prediction probability is used as the cost function, and the GNN model is iteratively updated by back propagation to obtain the trained GNN model;
[0017] The simulation manufacturing layout in the test set is sequentially subjected to steps one, two and three to obtain the graph representation input into the trained GNN model for forward calculation, and the class with the maximum prediction probability corresponding to the simulation manufacturing layout is output;
[0018] The class with the maximum prediction probability corresponding to the simulation manufacturing layout is compared with the classification label to evaluate the trained GNN model.
[0019] Further preferably, the preset threshold in step two is 1.2-1.5 times the minimum spacing in the layout.
[0020] Further preferably, the graph feature extraction specifically includes the following steps:
[0021] The graph representation of the layout is input into the message passing layer of the GNN model, and the information of its adjacent nodes is aggregated by the node; wherein, after the kth message passing layer, each node will contain the neighbor information up to k hops away;
[0022] Based on the edge features and node features between nodes in the kth message passing layer, the edge features between nodes in the k+1th message passing layer are obtained by combining a single-layer perceptron;
[0023] Based on the node features in the kth message passing layer and the edge features between nodes in the k+1th message passing layer, the node features in the k+1th message passing layer are updated by using the attention coefficient and the edge-related node feature update function of a two-layer perceptron.
[0024] Further preferably, the edge feature update is:
[0025]
[0026]
[0027] wherein, and represent the node features of nodes v and w respectively; and are single-layer perceptrons; r represents the edge type of ; represents the node v and the node wan edge between nodes and ; when r = 0, represents an internal edge; when r = 1, represents an external edge; is the feature of node v in the k+1th message passing layer; w and is the edge feature between nodes
[0028] Further preferably, the node feature is updated as:
[0029]
[0030]
[0031] wherein, is the set of neighbor nodes connected to node v with internal edges or external edges; is the edge-related node feature update function using a two-layer perceptron; is the attention coefficient, controlling the attention of node v obtained from its neighbors.
[0032] Further preferably, the global graph representation is:
[0033]
[0034] wherein, represents the feature of node in the last message passing layer; GMP and GAP represent global maximum pooling and global average pooling respectively on each dimension of all node features; V represents the set of nodes.
[0035] In a second aspect, the present application provides a photolithography hotspot detection system based on a graph neural network, comprising:
[0036] A polygon metal decomposition module is configured to decompose each polygon metal into a plurality of independent rectangles by horizontal scanning based on a layout constructed by polygon metals, and take each rectangle as a node.
[0037] An edge adding module is configured to add an internal edge between adjacent rectangles when the adjacent rectangles constitute a corner of a polygon metal, and add an external edge between adjacent rectangles when the projection of the adjacent rectangles overlaps and the distance is less than a preset threshold.
[0038] A feature determination module is configured to take the coordinates of the opposite vertexes of the rectangle as the node feature, and take the minimum distance between the rectangles as the edge feature, to complete the graph representation of the layout.
[0039] The global graph representation acquisition module is configured to input the graph representation of the layout into a message passing layer of the GNN model, update edge features and node features, further perform graph feature extraction, perform global maximum pooling and global average pooling on each dimension of all node features, and acquire the global graph representation.
[0040] The classification discrimination module is configured to input the global graph representation into a classification layer of the GNN model, and classify the global graph representation into hot spots and non-hot spots.
[0041] Further preferably, the photolithography hot spot detection system further comprises a GNN model training module, and the GNN model training module comprises:
[0042] The defect marking unit is configured to generate a simulated manufacturing layout by using photolithography simulation based on the design layout, perform defect detection on the simulated manufacturing layout, and mark the defect positions;
[0043] The classification unit is configured to perform detection using an effective area window, calculate an overlap area proportion of the defect marking and the effective area window, set a layout classification label as a hot spot if the overlap area exceeds 30%, and set the layout classification label as a non-hot spot otherwise.
[0044] The layout division unit is configured to divide the simulated manufacturing layout with the classification label into a training set and a test set.
[0045] The model training unit is configured to take the simulated manufacturing layout in the training set as an object, drive the polygon metal decomposition module, the edge addition module and the feature determination module to acquire the graph representation corresponding to each polygon metal, input the graph representation into the GNN model, use a cross-entropy loss of a one-hot code of the classification label and a model prediction probability as a cost function, and iteratively update the GNN model by back propagation to obtain a trained GNN model.
[0046] The model evaluation unit is configured to take the simulated manufacturing layout in the test set as an object, drive the polygon metal decomposition module, the edge addition module and the feature determination module to acquire the graph representation corresponding to each polygon metal, input the graph representation into the trained GNN model for forward calculation, output a class with the maximum prediction probability corresponding to the simulated manufacturing layout, and compare the class with the maximum prediction probability corresponding to the simulated manufacturing layout with the classification label to evaluate the trained GNN model.
[0047] Further preferably, the global graph representation acquisition module comprises a graph feature extraction unit, and the graph feature extraction unit comprises:
[0048] The node aggregation subunit is configured to input the graph representation of the layout into a message passing layer of the GNN model, aggregate information of adjacent nodes of each node, and wherein each node contains neighbor information up to k hops after the kth message passing layer.
[0049] an edge feature updating subunit, configured to obtain edge features between nodes in a (k+1)th message passing layer based on edge features between nodes in the kth message passing layer and node features in the kth message passing layer, in combination with a single-layer perceptron.
[0050] a node feature updating subunit, configured to obtain node features in the (k+1)th message passing layer based on node features in the kth message passing layer and edge features between nodes in the (k+1)th message passing layer, by using an attention coefficient and an edge-related node feature updating function of a two-layer perceptron.
[0051] Further preferably, the edge feature updating in the edge feature updating subunit is:
[0052]
[0053]
[0054] wherein, and respectively represent node features of nodes v and w ; and and are single-layer perceptrons; r represents an edge type of ; and represents an edge between node v and node w ; when r=0, it represents an internal edge; when r=1, it represents an external edge; is an edge feature between nodes v and w in the (k+1)th message passing layer; is concatenation.
[0055] Further preferably, the node feature updating in the node feature updating subunit is:
[0056]
[0057]
[0058] wherein, is a set of neighbor nodes connected to node v by an internal edge or an external edge; is an edge-related node feature updating function using a two-layer perceptron; is an attention coefficient, controlling attention obtained by node v from its neighbors.
[0059] Further preferably, the global graph representation in the global graph representation obtaining module is:
[0060]
[0061] in, Represents the node in the last message passing layer features; GMP and GAP represent the global maximum pooling and global average pooling of each dimension of all node features respectively; V Represents a collection of nodes.
[0062] In a third aspect, the present application provides an electronic device comprising: at least one memory for storing programs; and at least one processor for executing the programs stored in the memory. When the programs stored in the memory are executed, the processor is used to execute the method described in the first aspect or any possible implementation of the first aspect.
[0063] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0064] In a fifth aspect, the present application provides a computer program product, which, when executed on a processor, enables the processor to execute the method described in the first aspect or any possible implementation of the first aspect.
[0065] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0066] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the existing technologies:
[0067] This application provides a method for detecting hotspots in photolithography using a graph neural network. This method represents the layout as a graph, decomposing polygons in the layout into rectangles and treating the rectangles as nodes of the graph. Different types of edges are added based on the positional relationships between the rectangles. Finally, the graph representation of the layout is used as input to a GNN for hotspot detection. Compared to existing CNN-based hotspot detection techniques that require the entire layout image as input, this method significantly reduces the input and model sizes, improving computational efficiency.
[0068] The application provides a photolithography hotspot detection method based on a graph neural network. Key geometric information related to the generation of hotspots is combined to design node features and edge features, that is, the absolute position (coordinates) of the rectangle is taken as the node feature, and the relative position (distance) between the rectangles is taken as the edge feature. A GNN architecture that is consistent with the graph representation and is efficient is designed, that is, the graph attention mechanism is combined, and different update functions are used according to the type of the edge to perform deeper feature extraction on the graph representation, thereby improving the detection accuracy and overcoming the problem of low detection accuracy caused by the existing deep learning-based hotspot detection model using features unrelated to the hotspot for classification. BRIEF DESCRIPTION OF DRAWINGS
[0069] Figure 1 is a construction and feature representation of a layout graph representation provided by an embodiment of the application;
[0070] Figure 2(a) is an edge of the construction of the layout graph representation provided by an embodiment of the application;
[0071] Figure 2(b) is a schematic diagram of an internal edge of the layout provided by an embodiment of the application;
[0072] Figure 2(c) is a schematic diagram of an external edge of the layout provided by an embodiment of the application;
[0073] Figure 3 is a schematic diagram of geometric information of two adjacent rectangles provided by an embodiment of the application;
[0074] Figure 4 is a GNN-based hotspot detector architecture provided by an embodiment of the application;
[0075] Figure 5 is a hotspot layout slice and a non-hotspot layout slice and their outputs after photolithography simulation provided by an embodiment of the application; wherein the polygons in the dashed area are too close in distance and will cause short circuit in this place after photolithography, that is, a photolithography hotspot is generated;
[0076] Figure 6 is a schematic diagram of the structure of an electronic device provided by an embodiment of the application. DETAILED DESCRIPTION
[0077] In order to make the purpose, technical scheme and advantages of the application more clear, the application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the application and do not limit the application.
[0078] The term "and / or", used in the present document, is used to describe the association relationship between associated objects, which means that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone. The symbol " / " in the present document represents an or relationship of associated objects, for example, A / B represents A or B.
[0079] The terms "first" and "second" and the like in the description and claims of the present document are used to distinguish different objects, rather than to describe a specific order of the objects.
[0080] In the embodiments of the present application, the words such as "exemplary" or "for example" are used to mean serving as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the words such as "exemplary" or "for example" are used in the specific manner to present the relevant concept.
[0081] In the description of the embodiments of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more.
[0082] The embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0083] The photolithography hotspot detection method based on a graph neural network (GNN) includes two steps, the first step: representing a layout by a graph; the second step: classifying the graph representation of the layout as the input of a graph neural network;
[0084] As shown in Figure 1 The construction of the layout graph representation and the feature representation specifically include the following steps:
[0085] Step 1.1: polygon decomposition;
[0086] The layout is composed of complex polygons, and the interaction between them can generate photolithography hotspots; however, regarding each polygon as a single graph node will lose the key information for hotspot detection, because the interaction also exists within the metal polygon; for example, the corner information of the polygon is related to the horizontal and vertical parts of the same metal, and contains rich information about local printability; in addition, the shapes of metal polygons are different, and it is difficult to describe the position and shape of the polygon in a simple and unified format; therefore, the present application decomposes each polygon into a plurality of independent rectangles by horizontal scan lines, and regards each rectangle as a node in the layout; wherein the polygon can be decomposed into a regular rectangle; the vertical direction refers to the x-axis direction in the Cartesian coordinate system;
[0087] Step 1.2: graph construction;
[0088] After the nodes of the layout graph representation are obtained by decomposing the metal polygons, the connections between the rectangles of the interaction are added as edges in Fig. 2(a); the present application defines two types of edges between the decomposed rectangles, namely internal edges and external edges; the rectangles from the same polygon are naturally connected due to the internal interaction to form an angle; as shown in Fig. 2(b), the edges between adjacent rectangles are added as internal edges; when the projections of adjacent polygons overlap (as shown in the gray area) and the distance is less than a predefined threshold r, an external edge is added between the adjacent polygons, for example, in Fig. 2(c), the edges are added between the rectangles with distances d1 and d2 (less than r), while no edge is connected between the rectangles with a distance d3 (greater than r); the external edge represents the interaction between the rectangles of adjacent polygons; wherein r is set to 80 nm, which is about 1.2 times the minimum spacing in the design rule of the layout dataset used in the present application; Figure 3
[0089] Step 1.3: Node and edge feature extraction of the layout graph representation;
[0090] After the nodes and edges of the layout graph representation are obtained, the features of the nodes and edges can be defined, which can represent the key information for hot spot detection in the layout slice, including the position and shape information of the decomposed rectangles and their interaction; the coordinates of the vertices of each rectangle in the layout plane are taken as the node features to accurately reflect the position and shape information of the rectangle; the smaller the distance between the rectangles with external edges, the more likely it is to form a hot spot, so the distance between the rectangles is taken as the edge feature; the distance of the internal edge is considered as 0; specifically, the feature representation of the nodes and edges is defined as follows:
[0091] Node feature representation: coordinates; the coordinates of the top-left vertex and the bottom-right vertex of the decomposed rectangle directly describe their absolute position, and also contain their shape information, for example Figure 3 The node features corresponding to the rectangle R1 in Fig. 2(c) are (x1, y1) and (x2, y2);
[0092] Edge feature representation: distance; the distance between two rectangles represents the minimum gap between their closest parallel boundaries, for example Figure 3 d in Fig. 2(c);
[0093] After obtaining the layout graph representation, it is taken as the input of the graph neural network and classified; the graph neural network architecture designed for layout hot spot detection is as follows: the hot spot detection architecture based on graph neural network includes graph feature extraction, reading and classification, as shown in Fig. 3, wherein |V| is the number of nodes and |E| is the number of edges; Figure 4
[0094] The method for hot spot classification of the graph neural network based on the graph representation includes the following steps:
[0095] Step 2.1: Graph feature extraction;
[0096] Similar to the convolutional layers in CNN that extract image features in computer vision tasks, the message passing layers in GNN ( Figure 4 Message-Passing in also extracts graph features; in each message passing layer, each node collects and aggregates information about its neighboring nodes (i.e., nodes with edges to the node) to capture the local graph structure and update its feature representation; by stacking multiple message passing layers, information is propagated between nodes in the graph; after the kth message passing layer, each node will contain information about its neighbors that are up to k hops away; among them, node 1 is connected to node 2; node 2 is connected to node 3; node 1 and node 3 are not connected; after one message passing layer, node 1 contains the features of node 2, and then proceeds to the next message passing layer. Since node 2 is connected to node 3, node 1 also contains the features of node 3; the value of k is set manually, specifically, k is an integer greater than or equal to 1;
[0097] More specifically, graph feature extraction includes the following steps:
[0098] Step 2.1.1: Edge feature update method in graph feature extraction, specifically:
[0099] In order to extract more effective features of the interactions between graph nodes, i.e., edges, different update functions are applied to internal and external edges. Specifically, in the kth message passing layer, the edge features are updated , as shown in formula (1) and formula (2);
[0100] (1)
[0101] (2)
[0102] in, and Represents nodes v and w Node features of and is a single-layer perceptron; r represents The edge type; v and w For different nodes; Represents a node v and w The edge between them; when r=0, it represents an internal edge; when r=1, it represents an external edge; is the node in the k+1th message passing layer v and w The edge features between For cascade;
[0103] Step 2.1.2: Node feature update method in graph feature extraction, specifically,
[0104] Similarly, update the node feature as shown in equation (3) and equation (4);
[0105] (3)
[0106] (4)
[0107] where, is the set of neighbor nodes connected to node v with internal edges or external edges; is the edge-related node feature update function using a two-layer perception machine;
[0108] In practical applications, first update the edge feature, and then update the node feature;
[0109] Inspired by Grape Attention Networks (GAT), a graph attention mechanism is introduced in the architecture to learn different importance of adjacent nodes in node feature update; the calculation of attention coefficient is shown in equation (5):
[0110] (5)
[0111] where, a is a learnable vector that controls the attention of node v from its neighbors;
[0112] Step 2.2: Reading and classification;
[0113] When the features of the layout graph representation are extracted by k the message passing layer, the aggregated feature representation of all polygon metals can be obtained by equation (6);
[0114] (6)
[0115] where, represents the feature of node in the last message passing layer, GMP and GAP represent the global maximum pooling and global average pooling respectively for each dimension of all node features; by connecting the global maximum value and the global average value information, the global graph representation y is obtained; the double-layer perception machine can further classify y into hot spots and non-hot spots.
[0116] Example 1
[0117] Perform lithography simulation on the collected design layout to generate a simulated manufacturing layout; perform defect detection on the simulated manufacturing layout and mark the defect location; use the effective area window, i.e. Figure 5 The predefined region of interest (ROI) shown in the figure is inspected and the overlap ratio between the equivalent defect mark and the valid area window is calculated. If the overlap area exceeds 30%, the layout classification label is set as "hotspot", otherwise it is set as "non-hotspot". The dataset is divided into training and test sets.
[0118] The layout is as follows Figure 1 The steps to build a diagram are as follows: Figure 4 The GNN model shown in the figure is constructed, and the constructed layout graph representation is used as the input of the GNN model. In the training phase, the cross entropy loss of the one-hot code of the "classification label" and the model prediction probability is used as the cost function and the model is iteratively updated through back propagation. In the testing phase, the above steps are also followed to use the layout graph representation as the input of the GNN model for forward calculation, and the category with the largest predicted probability is output.
[0119] Based on the GNN model obtained through the above training, this application provides the following specific example of testing the GNN model to illustrate the advantages of using the GNN model to classify hotspots and non-hotspots in the layout: More specifically, the following steps are included:
[0120] Step a. Build the dataset
[0121] The proposed GNN-based hotspot detector is evaluated on two commonly used datasets: one is the smaller ICCAD2012 dataset used by many previous methods; the other is an enhanced dataset from VTS 2018, which contains a large number of layout slices and was later used by other methods. The ICCAD 20212 dataset consists of 4 subsets (28 nm designs) and 1 subset (32 nm designs); all 28 nm designs are combined and used in the experiments.
[0122] The VTS2018 dataset is based on the freely available 45nm FreePDK and Mentor Calibre-verified lithography technology. The following table lists the detailed information of the two datasets (the size of the hotspot HS and non-hotspot NHS slices in different datasets). ) and quantity); Convert the layout slices in ICCAD 2012 to a resolution of 1200 1200 images and convert the layout slices in VTS 2018 to a resolution of 1110 1110; specifically, the metal area of the layout slice is represented by an image pixel with a normalized value of 1, and the layout background is represented by a value of 0;
[0123]
[0124] Step b. Detection accuracy evaluation index
[0125] Hotspot Accuracy (HA): the proportion of true hotspots that are detected;
[0126] False Alarm (FA): the number of true non-hotspots that are misdetected as hotspots;
[0127] The application proposes to compare the GNN-based hotspot detector with three state-of-the-art deep learning-based hotspot detectors; among them, the model architecture of TCAD’19 and TCAD’22 is end-to-end CNN, and DATE’22 uses GNN for hotspot detection;
[0128] TCAD’19 proposes to use the discrete cosine transform (DCT) coefficients of the layout slice as the input features of the CNN;
[0129] TCAD’22 applies attention modules and deep metric learning to more distinctive hotspot and non-hotspot feature extraction, which stacks five Inception modules with CBAM attention and three fully connected layers for classification and metric learning;
[0130] DATE’22 uses five node features and four edge features to represent the layout slice as a graph and applies a GNN model for further processing for binary classification;
[0131] The following table shows the detection accuracy and inference time and model size of each layout slice of various deep learning-based hotspot detectors on two datasets, where “Time (ms)” represents the inference time;
[0132] Detection accuracy: the GNN model achieves the highest HA and the lowest FA on the ICCAD 2012 and VTS 2018 datasets; specifically, on the larger and more difficult VTS 2018 dataset, GNN has an advantage in detection accuracy over other models;
[0133] Inference time: compared with the slowest TCAD’19, GNN requires less inference time, with a speed of up to 31.8 times and 29.2 times on the two datasets, respectively; in general, GNNs are an order of magnitude faster than CNNs; GNN is slightly longer than the inference time of DATE’22 which also applies GNN;
[0134] Model size: GNN has the smallest model size compared to all existing techniques, only about 1 / 2.5 and 1 / 64 of TCAD'19 and TCAD'22, respectively;
[0135]
[0136] Embodiment 2
[0137] The application provides a photolithography hotspot detection system based on a graph neural network, comprising:
[0138] A polygon metal decomposition module is configured to decompose each polygon metal into a plurality of independent rectangles by horizontal scanning based on a layout constructed by polygons, and to take each rectangle as a node.
[0139] An edge adding module is configured to add an internal edge between adjacent rectangles when the adjacent rectangles form a corner of the polygon metal, and to add an external edge between the adjacent rectangles when the projections of the adjacent rectangles overlap and the distance is less than a preset threshold.
[0140] A feature determining module is configured to take the coordinates of the opposite vertexes of the rectangle as the node features, and to take the minimum distance between the rectangles as the edge features, so as to complete the graph representation of the layout.
[0141] A global graph representation obtaining module is configured to input the graph representation of the layout into the message passing layer of the GNN model to update the edge features and the node features, and then to extract the graph features, and to perform global maximum pooling and global average pooling on each dimension of all node features, so as to obtain the global graph representation.
[0142] A classification and discrimination module is configured to input the global graph representation into the classification layer of the GNN model and to classify it as a hotspot and a non-hotspot.
[0143] Further preferably, the photolithography hotspot detection system further comprises a GNN model training module, which comprises:
[0144] A defect marking unit is configured to generate a simulated manufacturing layout by photolithography simulation based on a design layout, and to perform defect detection on the simulated manufacturing layout and to mark the defect positions.
[0145] A classification unit is configured to perform detection using an effective area window, to calculate the overlapping area ratio of the defect mark and the effective area window, and to set the layout classification label as a hotspot if the overlapping area is more than 30%, and as a non-hotspot otherwise.
[0146] A layout division unit is configured to divide the simulated manufacturing layout with the classification label into a training set and a test set.
[0147] The model training unit is configured to take the simulated manufacturing layout in the training set as an object, drive the polygon metal decomposition module, the edge addition module and the feature determination module to obtain the graph representation corresponding to each polygon metal, and input the graph representation into the GNN model, use the cross-entropy loss of the one-hot code of the classification label and the model prediction probability as a cost function, and iteratively update the GNN model through back propagation to obtain the trained GNN model.
[0148] The model evaluation unit is configured to take the simulated manufacturing layout in the test set as an object, drive the polygon metal decomposition module, the edge addition module and the feature determination module to obtain the graph representation corresponding to each polygon metal, and input the graph representation into the trained GNN model for forward calculation, output the category with the maximum prediction probability corresponding to the simulated manufacturing layout, and compare the category with the maximum prediction probability corresponding to the simulated manufacturing layout with the classification label to evaluate the trained GNN model.
[0149] Further preferably, the global graph representation obtaining module comprises a graph feature extraction unit, and the graph feature extraction unit comprises:
[0150] The node aggregation subunit is configured to input the graph representation of the layout into the message passing layer of the GNN model, and aggregate the information of the adjacent nodes of each node; wherein, after the kth message passing layer, each node contains the information of the neighbor nodes with the furthest k hops;
[0151] The edge feature updating subunit is configured to obtain the edge feature between the nodes in the k+1th message passing layer based on the edge feature and the node feature between the nodes in the kth message passing layer and in combination with the single-layer perceptron;
[0152] The node feature updating subunit is configured to update the node feature in the k+1th message passing layer based on the node feature in the kth message passing layer and the edge feature between the nodes in the k+1th message passing layer by using the attention coefficient and the edge-related node feature updating function of the two-layer perceptron.
[0153] Further preferably, the edge feature updating subunit is configured to update the edge feature as follows:
[0154]
[0155]
[0156] wherein, and represent the node features of the nodes v and w respectively; and are the single-layer perceptrons; r represents the edge type of . represents the node vand node w between nodes; when r=0, it represents an internal edge; when r=1, it represents an external edge; is the node feature update in the k+1th message passing layer v and w between nodes; is the concatenation.
[0157] Further preferably, the node feature update in the node feature update subunit is:
[0158]
[0159]
[0160] wherein, is the set of neighbor nodes connected to the node v with internal edges or external edges; is the edge-related node feature update function using two-layer perceptron; is the attention coefficient, which controls the attention of the node v obtained from its neighbors.
[0161] Further preferably, the global graph representation in the global graph representation acquisition module is:
[0162]
[0163] wherein, represents the feature of the node in the last message passing layer; GMP and GAP represent global maximum pooling and global average pooling performed on each dimension of all node features, respectively; V represents the set of nodes.
[0164] In summary, compared with the prior art, the present application has the following advantages:
[0165] The present application provides a photolithography hotspot detection method based on graph neural network. By representing the layout as a graph, i.e., decomposing the polygons in the layout into rectangles and regarding the rectangles as nodes of the graph, different types of edges are added according to the positional relationship between the rectangles, and finally the graph representation of the layout is taken as the input of GNN for hotspot detection. Compared with the existing hotspot detection technology based on CNN, which needs to take the entire layout image as input, the input size and model size are greatly reduced, and the calculation efficiency is improved.
[0166] The present application provides a lithography hotspot detection method based on graph neural network, which combines key geometric information related to the generation of hotspots to design node features and edge features, that is, the absolute position (coordinates) of the rectangle is used as the node feature, and the relative position (distance) between the rectangles is used as the edge feature; and designs a GNN architecture that is consistent with the graph representation and efficient, that is, combining the graph attention mechanism and using different update functions according to the type of edge to perform deeper feature extraction on the graph representation, thereby improving detection accuracy and overcoming the problem of low detection accuracy caused by the existing deep learning-based hotspot detection model using features unrelated to the hotspot for classification.
[0167] It should be understood that the above-mentioned system is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the system are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method and will not be repeated here.
[0168] Based on the method in the above embodiment, Figure 6 As shown, an embodiment of the present application provides an electronic device, which may include: a processor (Processor) 810, a communication interface (Communications Interface) 820, a memory (Memory) 830 and a communication bus 840, wherein the processor 810, the communication interface 820, and the memory 830 communicate with each other via the communication bus 840. The processor 810 can call the logic instructions in the memory 830 to execute the method in the above embodiment.
[0169] In addition, the logic instructions in the aforementioned memory 830 can be implemented in the form of a software functional unit and, when sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the portion that contributes to the prior art, or the portion of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.
[0170] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method in the above embodiment.
[0171] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the method in the above embodiment.
[0172] It can be understood that the processor in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor.
[0173] The method steps in the embodiments of the present application can be implemented in the form of hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically EPROM (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC.
[0174] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in or transmitted by a computer readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media sets. The available media can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.
[0175] It can be understood that various numerical numbers involved in the embodiments of the present application are only distinguished for convenience of description, and are not used to limit the scope of the embodiments of the present application.
[0176] Those skilled in the art easily understand that the above only describes the preferred embodiments of the present application and is not used to limit the present application. Any modification, equivalent replacement and improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims
1. A photolithography hotspot detection method based on a graph neural network, characterized in that, The method comprises the following steps: Step 1: based on the layout of the polygon metal structure, each polygon metal is decomposed into several independent rectangles by horizontal scanning, and each rectangle is taken as a node; Step 2: when adjacent rectangles constitute an angle of the polygon metal, an internal edge is added between the adjacent rectangles; when the projection of the adjacent rectangles overlaps and the distance is less than a preset threshold, an external edge is added between the adjacent rectangles; Step 3: taking the coordinates of the opposite vertexes of the rectangle as the node features and taking the minimum distance between the rectangles as the edge features, the graph representation of the layout is completed; Step 4: the graph representation of the layout is input into the message passing layer of the GNN model to update the edge features and the node features, and then the graph features are extracted, the global maximum pooling and the global average pooling are performed on each dimension of all node features, and the global graph representation is obtained; Step 5: the global graph representation is input into the classification layer of the GNN model to classify the global graph representation into hot spots and non-hot spots; The graph feature extraction in step 4 specifically comprises the following steps: The graph representation of the layout is input into the message passing layer of the GNN model to aggregate the information of the adjacent nodes of the node; wherein, after the kth message passing layer, each node will contain the neighbor information up to k hops; Based on the edge features and the node features between the nodes in the kth message passing layer, the edge features between the nodes in the k+1th message passing layer are obtained by combining a single-layer perceptron; Based on the node features in the kth message passing layer and the edge features between the nodes in the k+1th message passing layer, the node features in the k+1th message passing layer are updated by using the attention coefficient and the edge-related node feature update function of the two-layer perceptron; The edge feature update is: wherein, and denote node features of nodes v and w respectively; and are single-layer perceptrons; r denotes an edge type of ; denotes an edge between nodes v and w ; when r = 0, it represents an internal edge; when r = 1, it represents an external edge; is an edge feature between nodes v and w in the k+1th message passing layer; is a concatenation; The node feature update is: wherein, is a set of neighbor nodes connected with node v either by an internal edge or an external edge; is an edge-related node feature update function using a two-layer perceptron; is an attention coefficient, controlling the attention of node v from its neighbors; The global graph representation is: wherein, represents the features of the last message passing layer’s node ; GMP and GAP represent global max pooling and global average pooling over each dimension of all node features, respectively; V represents a set of nodes.
2. The photolithography hotspot detection method of claim 1, wherein, The training method of the GNN model specifically comprises the following steps: Based on the design layout, a simulated manufacturing layout is generated by using photolithography simulation, and defect detection is performed on the simulated manufacturing layout, and the defect positions are marked; The effective area window is used for detection, and the overlapping area ratio of the defect mark and the effective area window is calculated; If the overlapping area is more than 30%, the layout classification label is set as a hot spot, otherwise, it is set as a non-hot spot; The simulated manufacturing layout with the classification label is divided into a training set and a test set; The simulated manufacturing layout in the training set is sequentially input into the GNN model by step 1, step 2 and step 3 to obtain the graph representation, the cross-entropy loss of the one-hot code of the classification label and the model prediction probability is used as the cost function, and the GNN model is iteratively updated by back propagation to obtain the trained GNN model; The simulated manufacturing layout in the test set is sequentially input into the trained GNN model by step 1, step 2 and step 3 to obtain the graph representation, and the class with the maximum prediction probability is output by forward calculation; The class with the maximum prediction probability of the simulated manufacturing layout is compared with the classification label to evaluate the trained GNN model.
3. The photolithography hotspot detection method of claim 1, wherein, The preset threshold in step 2 is 1.2-1.5 times of the minimum spacing in the layout.
4. A lithography hotspot detection system based on graph neural network, characterized in that, It comprises: The polygon metal decomposition module is configured to decompose each polygon metal into a plurality of independent rectangles based on a layout of the polygon metal by horizontal scanning, and each rectangle is taken as a node. The edge adding module is configured to add an internal edge between adjacent rectangles when the adjacent rectangles constitute a corner of the polygon metal, and add an external edge between the adjacent rectangles when projections of the adjacent rectangles overlap and the distance is less than a preset threshold. The feature determining module is configured to take coordinates of opposite vertexes of the rectangle as node features, and take a minimum distance between the rectangles as edge features, so as to complete a graph representation of the layout. The global graph representation obtaining module is configured to input the graph representation of the layout into a message passing layer of the GNN model to update edge features and node features, and then perform graph feature extraction, and perform global maximum pooling and global average pooling on each dimension of all node features to obtain a global graph representation. The classification and discrimination module is configured to input the global graph representation into a classification layer of the GNN model to classify the global graph representation into hot spots and non-hot spots. The global graph representation obtaining module comprises a graph feature extraction unit, and the graph feature extraction unit comprises: The node aggregation subunit is configured to input the graph representation of the layout into a message passing layer of the GNN model to aggregate information of adjacent nodes of the node; wherein, after the kth message passing layer, each node contains neighbor information up to k hops away. The edge feature updating subunit is configured to obtain edge features between nodes in the k+1th message passing layer based on edge features and node features between nodes in the kth message passing layer and a single-layer perceptron. The node feature updating subunit is configured to update node features in the k+1th message passing layer based on node features in the kth message passing layer and edge features between nodes in the k+1th message passing layer by using an attention coefficient and a two-layer perceptron edge-related node feature updating function. The edge feature updating in the edge feature updating subunit is: wherein, and represent the node features of nodes v and w respectively; and are single-layer perceptrons; r represents the edge type of ; represents an edge between node v and node w ; when r = 0, it represents an internal edge; when r = 1, it represents an external edge; is the edge feature between nodes v and w in the k+1th message passing layer; is the concatenation; The node feature updating in the node feature updating subunit is: wherein, is a set of neighbor nodes connected with node v either by an internal edge or an external edge; is an edge-related node feature update function using a two-layer perceptron; is an attention coefficient controlling the attention of node v from its neighbors; The global graph representation in the global graph representation obtaining module is: wherein, represents the features of the last message passing layer node ; GMP and GAP represent global max pooling and global average pooling over each dimension of all node features, respectively; V represents a set of nodes.
5. The photolithography hotspot detection system of claim 4, wherein, The GNN model training module comprises: The defect marking unit is configured to generate a simulated manufacturing layout by using photolithography simulation based on a design layout, and perform defect detection on the simulated manufacturing layout to mark defect positions. The classification unit is configured to use an effective area window to perform detection, calculate an overlap area ratio of the defect mark and the effective area window, and set a layout classification label as a hot spot if the overlap area is more than 30%, or as a non-hot spot otherwise. The layout division unit is configured to divide the simulated manufacturing layout with the classification label into a training set and a test set. The model training unit is configured to take the simulated manufacturing layout in the training set as an object, drive the polygon metal decomposition module, the edge adding module and the feature determining module to obtain graph representations corresponding to each polygon metal, and input the graph representations into the GNN model, use a cross-entropy loss of a one-hot code of the classification label and a model prediction probability as a cost function, and iteratively update the GNN model by back propagation to obtain a trained GNN model. The model evaluation unit is configured to take the simulation manufacturing layout in the test set as an object, drive the polygon metal decomposition module, the edge addition module and the feature determination module to obtain the corresponding graph representation of each polygon metal, and input the graph representation into the trained GNN model for forward calculation, and output the category with the maximum prediction probability corresponding to the simulation manufacturing layout; and compare the category with the maximum prediction probability corresponding to the simulation manufacturing layout with the classification label, and evaluate the trained GNN model.
Citation Information
Patent Citations
Method and device for detecting photoetching hot spot position
CN116382039A
Hot spot detection method based on graph neural network
CN116401999A