Electronic design automation methods, apparatus, electronic devices and storage media
By using pre-trained commercial model paths and neural network models in the field of lithography, combined with EDA tools and FiLM structures, the problems of high computational cost and difficulty in GPU acceleration of existing models are solved, achieving efficient and flexible hotspot detection and yield control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-17
- Publication Date
- 2026-03-13
AI Technical Summary
Existing optical proximity effect correction models are computationally intensive, difficult to accelerate using GPUs, have complex parameters, are difficult to train, are not universally applicable, have limited application scenarios, cannot predict changes in lithography conditions and degrees of freedom, and lack flexibility and accuracy in hotspot detection.
Using a pre-trained commercial model path and neural network model, intensity images and design images are generated through EDA tools. The neural network model is trained using a GPU and combined with the FiLM structure and the Center Weighted Loss function to predict hotspots under various lithography conditions.
It improves the flexibility and accuracy of hotspot detection, reduces workload, enhances the efficiency and effectiveness of yield control, and adapts to changes in the lithography process window.
Smart Images

Figure CN121328359B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of artificial intelligence technology, and in particular to an electronic design automation method, apparatus, electronic device, and storage medium. Background Technology
[0002] In the field of computational lithography, OPC (Optical Proximity Correction) is required to address the Optical Proximity Effect (OPE). To ensure accuracy and obtain ideal patterns, the lithography process needs to be physically modeled. This model simulates the imaging effects of various polygons on the photoresist. Currently, two main types of simulation models are commonly used: rigorous physical models and approximate physical models (based on Abbe or Hopkins models) combined with convolutional kernels. Additionally, some companies may be developing pure neural network models for their own use.
[0003] However, existing simulation models have the following main drawbacks:
[0004] 1. Rigorous physical models involve excessive computation and are only used in specific situations.
[0005] 2. The commercially used physical model + convolution kernel model has a much smaller computational load than the first type, but it can only run on a CPU (Central Processing Unit) and is difficult to accelerate using a GPU (Graphics Processing Unit). In addition, because there are more parameters, the training is more difficult and requires users to have many years of industry experience.
[0006] 3. The implementation of the model + convolutional kernel model varies from company to company, making it unusable and virtually impossible to transfer.
[0007] 4. Existing neural network models can only predict CD (convexity defect) under one lithographic condition. They cannot be used with varying focus (vertical axis) or variation of the dose (horizontal axis), and cannot predict DoF (degree of freedom), thus limiting their application scenarios.
[0008] 5. In existing neural network models, a common approach is to classify hotspots. Summary of the Invention
[0009] In view of this, the purpose of the present invention is to provide an electronic design automation method, apparatus, electronic device and storage medium to improve the flexibility and accuracy of hotspot detection, reduce the workload of practical applications and improve the efficiency and effectiveness of yield control.
[0010] In a first aspect, embodiments of the present invention provide an electronic design automation method, the method comprising: inputting a layout and a pre-trained commercial model path into an electronic design automation tool, and outputting an intensity image, a design image and process parameters; training a neural network model; inputting the intensity image, the design image and process parameters into the neural network model, and outputting a final intensity image; and performing hotspot analysis on the final intensity image.
[0011] In an optional embodiment of this application, the steps of inputting the layout and the pre-trained commercial model path into the electronic design automation tool and outputting intensity images, design images, and process parameters include: acquiring the layout; inputting the layout and the pre-trained commercial model path into the electronic design automation tool and setting the parameters of the electronic design automation tool; scanning the layout and finding anchor points that meet preset conditions; generating a design image corresponding to each anchor point; dividing the process window into multiple process conditions based on the horizontal and vertical axes; generating an intensity image corresponding to the design image based on the process conditions corresponding to each anchor point; and determining the design image and process parameters corresponding to the intensity image.
[0012] In an optional embodiment of this application, the step of generating the design image corresponding to each anchor point includes: taking the coordinates of each anchor point as the center, cropping a bounding box on the layout; rendering the image based on the bounding box, filling the pixels inside the polygon of the image with 1, filling the pixels outside the polygon of the image with 0, and filling the pixels on the edge of the polygon of the image according to the duty cycle; and saving the rendered image as a lossless compressed image type to obtain the design image.
[0013] In an optional embodiment of this application, the step of generating an intensity image corresponding to the design image based on the process conditions corresponding to each anchor point includes: determining a partial image from the design image; wherein the pixel size of the partial image is twice that of the intensity image to be output; and generating an intensity image corresponding to the partial image based on the process conditions corresponding to each anchor point.
[0014] In optional embodiments of this application, the above-described steps for training the neural network model include at least one of the following: training the neural network model using a dynamic computational graph architecture or a static computational graph architecture; using a data augmentation strategy with random rotations of multiples of 90 degrees when training the neural network model; not using data augmentation strategies such as cropping or contrast transformation when training the neural network model; using a noise-increasing strategy only at image edges when training the neural network model; training the neural network model using a graphics processor; using an automatic mixed precision strategy and a gradient scaler gradient cropping strategy when training the neural network model; setting the learning rate of the neural network model to 0.01 and training for a specified number of epochs.
[0015] In an optional embodiment of this application, the loss function of the above-mentioned neural network model is determined by weighting multiple basic loss functions; wherein, the basic loss functions include: MSE loss function or L1 loss function, and the weights of the basic loss functions are determined based on the central weight matrix.
[0016] In an optional embodiment of this application, the step of performing hotspot analysis on the final intensity image includes: extracting the contour of the final intensity image; and / or, extracting the depth value of the convexity defect in the final intensity image, and determining whether the final intensity image has a defect based on the depth value.
[0017] Secondly, embodiments of the present invention also provide an electronic design automation device, the device comprising: a data preparation module for inputting a layout and a pre-trained commercial model path into an electronic design automation tool, and outputting an intensity image, a design image, and process parameters; a model training module for training a neural network model; a model prediction module for inputting the intensity image, the design image, and process parameters into the neural network model, and outputting a final intensity image; and a hotspot analysis module for performing hotspot analysis on the final intensity image.
[0018] Thirdly, embodiments of the present invention also provide an electronic device, including a processor and a memory, wherein the memory stores computer-executable instructions that can be executed by the processor, and the processor executes the computer-executable instructions to implement the above-described electronic design automation method.
[0019] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer-executable instructions, which, when invoked and executed by a processor, cause the processor to implement the above-described electronic design automation method.
[0020] The embodiments of the present invention bring the following beneficial effects:
[0021] This invention provides an electronic design automation (EDA) method, apparatus, electronic device, and storage medium. The method involves inputting a layout and a pre-trained commercial model path into an EDA tool, which outputs an intensity image, a design image, and process parameters. A neural network model is then trained. The intensity image, design image, and process parameters are input into the neural network model, which outputs a final intensity image. Hotspot analysis is performed on the final intensity image. This approach improves the flexibility and accuracy of hotspot detection, reduces the workload in practical applications, and enhances the efficiency and effectiveness of yield control.
[0022] Other features and advantages of this disclosure will be set forth in the following description, or some features and advantages may be inferred from the description or determined without doubt, or may be learned by practicing the techniques described above.
[0023] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0024] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0025] Figure 1 A schematic diagram illustrating optical proximity effect correction provided in an embodiment of the present invention;
[0026] Figure 2 A flowchart of an electronic design automation method provided in an embodiment of the present invention;
[0027] Figure 3 A flowchart of another electronic design automation method provided in an embodiment of the present invention;
[0028] Figure 4 A schematic diagram illustrating the generation of a design image according to an embodiment of the present invention;
[0029] Figure 5 This is a schematic diagram illustrating the generation of an intensity image according to an embodiment of the present invention;
[0030] Figure 6 A schematic diagram of the structure of a neural network model provided in an embodiment of the present invention;
[0031] Figure 7 This is a schematic diagram of a portion of the internal structure of a neural network model provided in an embodiment of the present invention;
[0032] Figure 8 This is a schematic diagram of another part of the internal structure of a neural network model provided in an embodiment of the present invention;
[0033] Figure 9 This is a schematic diagram of the structure of the FilM module of a neural network model provided in an embodiment of the present invention;
[0034] Figure 10 This is a schematic diagram of the structure of an electronic design automation device provided in an embodiment of the present invention;
[0035] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0036] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0037] In the field of computational lithography, OPC is required to solve the problem of OPE (Optical Performance Emission). (Parameters) Figure 1 The diagram shown illustrates an optical proximity effect correction. Figure 1 The blue graphic in the image is the design graphic. In order to produce the red graphic, the blue graphic needs to be modified into a green graphic.
[0038] In this process, to ensure accuracy—that is, to obtain the ideal red pattern—it is necessary to physically model the lithography process of the photolithography machine. This model simulates the imaging effect of various polygons on the photoresist. Currently, there are two main types of commonly used simulation models: a rigorous physical model and an approximate physical model (based on the Abbe model or Hopkins model) plus convolutional kernels. In addition, some companies may be developing pure neural network models for their own use.
[0039] However, existing simulation models suffer from the following drawbacks: 1. Rigorous physics models are computationally too expensive and are only used in specific situations. 2. Commercially used physics models with convolutional kernels have significantly lower computational costs than the first type, but they often only run on CPUs, making GPU acceleration difficult. Furthermore, due to the large number of parameters, training is challenging and requires years of industry experience. 3. The implementation of physics models with convolutional kernels varies from company to company, making them non-universal and virtually impossible to transfer to other systems. 4. Existing neural network models can only predict CD under one lithographic condition. They cannot be used with varying focus or dose, cannot predict DoF, and have limited application scenarios. 5. Existing neural network models commonly classify hotspots.
[0040] Based on this, embodiments of the present invention provide an electronic design automation method, apparatus, electronic device, and storage medium, specifically providing an EDA (Electronic Design Automation) tool that can predict the neural network on which the lithography process window is based.
[0041] To facilitate understanding of this embodiment, a detailed description of an electronic design automation method disclosed in this embodiment of the invention will be provided first.
[0042] Example 1:
[0043] This invention provides an electronic design automation method, see [link to relevant documentation]. Figure 2 The flowchart shown illustrates an electronic design automation method, which includes the following steps:
[0044] Step S202: Input the layout and the pre-trained commercial model path into the electronic design automation tool, and output the intensity image, design image and process parameters.
[0045] In this embodiment, during the data preparation stage, the layout and the pre-trained commercial model path can be input into the EDA tool, which outputs intensity images, design images, and process parameters.
[0046] Step S204: Train the neural network model.
[0047] This embodiment allows for the training of a neural network model. The neural network model constructed in this embodiment can leverage the mature AI (Artificial Intelligence) ecosystem, running well on GPUs or other accelerator cards, ensuring training and prediction performance. Furthermore, because it has relatively few parameters, it reduces the learning curve for practitioners and avoids cross-platform incompatibility issues. Importantly, this embodiment also allows for effective prediction of the intensity of FEM (Finite Element Method) conditions by modifying the model architecture, which can then be used to analyze potential hotspots (design aspects).
[0048] In actual production, process conditions are constantly fluctuating. Most hotspots do not occur under ideal NC (Numerical Control) conditions, but rather under fluctuating process conditions. After process conditions fluctuate, the CD (Discretionary Control) also fluctuates. Generally, the range of process condition fluctuation, where the CD fluctuates within an acceptable range, is called the process window. We often detect hotspots at the boundary conditions of the process window. For example, if the process window of a layout is focus[-0.15, 0.15], dose[-0.1, 0.1], then we often detect hotspots in two cases: focus -0.15 + dose -0.1 and focus 0.15 + dose 0.1. If using a traditional neural network model, at least two models need to be trained. However, using the neural network model in this embodiment, we can input focus + dose during use, thereby achieving traversal of process conditions.
[0049] Step S206: Input the intensity image, design image, and process parameters into the neural network model, and output the final intensity image.
[0050] In this embodiment, the intensity image, design image, and process parameters obtained in the aforementioned steps can be input into the trained neural network model to output the final intensity image (final intensity image).
[0051] The final intensity image output in this embodiment differs from other models that output CD values for regression or hotspot categories for classification in that the final intensity image contains sufficient information and corresponds to the input. This results in rich gradient information during training, allowing the model to fully learn the layout structure relationships. Consequently, the predictive ability of the model obtained is much better than that of models that only use categories or CD as training drivers.
[0052] Step S208: Perform hotspot analysis on the final intensity image.
[0053] In this embodiment, hotspot analysis can be performed on the final intensity image.
[0054] This invention provides an electronic design automation (EDA) method. The method involves inputting a layout and a pre-trained commercial model path into an EDA tool, which outputs an intensity image, a design image, and process parameters. A neural network model is then trained. The intensity image, design image, and process parameters are input into the neural network model, which outputs a final intensity image. Hotspot analysis is then performed on the final intensity image. This approach improves the flexibility and accuracy of hotspot detection, reduces the workload in practical applications, and enhances the efficiency and effectiveness of yield control.
[0055] Example 2:
[0056] This embodiment provides another method for electronic design automation, which is implemented based on the above embodiment and is described in detail below. (See also:) Figure 3 The flowchart shown represents another electronic design automation method, which includes the following steps:
[0057] Step S302: Input the layout and the pre-trained commercial model path into the electronic design automation tool, and output the intensity image, design image and process parameters.
[0058] In some embodiments, data preparation can be performed using the following steps 1-7:
[0059] Step 1, obtain the map.
[0060] In this embodiment, the required layout can be prepared.
[0061] Step 2: Input the layout and the pre-trained commercial model path into the electronic design automation (EDA) tool and set the parameters of the EDA tool.
[0062] In this embodiment, mature EDA tools can be used to input the layout, input the path of a pre-trained commercial model, and set the parameters, including: CD threshold, process window range, pixel size, and image size.
[0063] Step 3: Scan the map and find anchor points that meet the preset conditions.
[0064] In this embodiment, the map can be scanned to find anchor points that meet the criteria.
[0065] Step 4: Generate the design image corresponding to each anchor point.
[0066] For each anchor point, generate an original design image.
[0067] In some embodiments, a bounding box can be cropped on the layout with the coordinates of each anchor point as the center; the image is rendered based on the bounding box, the pixels inside the polygons of the image are filled with 1, the pixels outside the polygons of the image are filled with 0, and the pixels on the edges of the polygons of the image are filled according to the duty cycle; the rendered image is saved as a lossless compressed image type to obtain the design image.
[0068] See also Figure 4 The diagram illustrates a method for generating a design image. A bounding box is extracted from the layout, centered on the coordinates of the anchor point. The side length of the box is pixel size × image size. For example, if the pixel size is 10nm and the image size is 128, then the box range is 1280nm × 1280nm. This box is then extracted and rendered into an image according to the pixel size and image size.
[0069] In this configuration, the pixels inside the polygon are filled with 1s, the pixels outside the polygon are filled with 0s, and the pixels at the polygon's edges are filled according to a duty cycle. Figure 4 As shown, the white square represents 1, the dark gray square represents 0, the orange square represents 0.5, and the red square represents 0.25. This image must be saved as a lossless compressed image type such as BMP or TIFF; lossy compression is not allowed.
[0070] However, when saving in BMP format, float data needs to be quantized into single bytes. Therefore, it is recommended to save samples in TIFF format. If the data volume is large, quantization can be considered. Although quantization affects accuracy, its impact is limited and negligible if the pixel size is large.
[0071] Step 5: Divide the process window into multiple process conditions based on the horizontal and vertical axes.
[0072] In this embodiment, the process window can be divided into 11 parts along the horizontal axis (dose) and the vertical axis (focus). For example, the focus range from -0.3µm to 0.3µm can be divided into 11 parts, resulting in [-0.3, -0.24, -0.18, -0.12, -0.06, 0, 0.06, 0.12, 0.18, 0.24, 0.3]. Similarly, the dose range from -0.5 to 0.5 can be divided into 11 parts, resulting in [-0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5]. This results in a total of 121 parts, representing 121 possible conditions. The first condition is focus -0.3µm and dose -0.5µm.
[0073] Step 6: Generate the intensity image corresponding to the design image based on the process conditions corresponding to each anchor point.
[0074] In some embodiments, a partial image can be determined from a design image; wherein the pixel size of the partial image is twice that of the intensity image to be output; and an intensity image corresponding to the partial image is generated based on the process conditions corresponding to each anchor point.
[0075] See also Figure 5 The diagram illustrates one method for generating intensity images. For each anchor point, one intensity image is generated for each of 121 different process conditions. A key point here is that only a portion of the polygons is actually needed to generate the intensity image; for example, if the original image corresponds to a range of 1280nm × 1280nm... Figure 5 (The orange box in the image indicates that the intensity of the image corresponds to a size of 640×640). Figure 5 (The green box in the image).
[0076] The reason for this approach is that, Figure 5 The intensity image within the green box is also affected by the polygon outside the green box. If the front and back ranges are the same, the same polygon may produce different intensity images, affecting the training effect. Here, after reducing the range, in order to ensure that the input and output resolutions are consistent, the pixel size of the output image is half the pixel size of the input image. The intensity image can be saved in JPG or PNG format, but the compression ratio should not be too low.
[0077] Step 7: Determine the design image and process parameters corresponding to the intensity image.
[0078] While outputting intensity images, the corresponding design image and process parameters (focus, dose) for each intensity image can be recorded in a table.
[0079] Therefore, in this embodiment, the map can be collected and tens of millions of data points can be generated in batches for training purposes.
[0080] Step S304: Train the neural network model.
[0081] The structure of the neural network model in this embodiment can be found in [reference needed]. Figure 6 The diagram shown is a structural schematic of a neural network model. Figure 6 The internal structure of the green box can be seen in [the image / reference]. Figure 7 The diagram shown is a partial internal structure diagram of a neural network model. Figure 6 The internal structure of the red box in the image can be found in [reference]. Figure 8 The diagram shown is another part of the internal structure of a neural network model. Figure 8 The internal structure of the FilM (Feature-wise Linear Modulation) module can be found in [reference needed]. Figure 9 The diagram shows the structure of the FilM module in a neural network model.
[0082] The code form of the neural network model structure in this embodiment can be:
[0083] UNet(
[0084] (downs): ModuleList(
[0085] (0): DoubleConv(
[0086] (conv): Sequential(
[0087] (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
[0088] (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0089] (2): ReLU(inplace=True)
[0090] (3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0091] (4): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0092] (5): ReLU(inplace=True) ) )
[0095] (1): DoubleConv(
[0096] (conv): Sequential(
[0097] (0): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0098] (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0099] (2): ReLU(inplace=True)
[0100] (3): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0101] (4): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0102] (5): ReLU(inplace=True) ) )
[0105] (2): DoubleConv(
[0106] (conv): Sequential(
[0107] (0): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0108] (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0109] (2): ReLU(inplace=True)
[0110] (3): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0111] (4): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0112] (5): ReLU(inplace=True) ) )
[0115] (3): DoubleConv(
[0116] (conv): Sequential(
[0117] (0): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0118] (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0119] (2): ReLU(inplace=True)
[0120] (3): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0121] (4): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0122] (5): ReLU(inplace=True) ) ) )
[0126] (ups): ModuleList(
[0127] (0): ConvTranspose2d(1024, 512, kernel_size=(2, 2), stride=(2, 2))
[0128] (1): ConvTranspose2d(512, 256, kernel_size=(2, 2), stride=(2, 2))
[0129] (2): ConvTranspose2d(256, 128, kernel_size=(2, 2), stride=(2, 2))
[0130] (3): ConvTranspose2d(128, 64, kernel_size=(2, 2), stride=(2, 2)) )
[0132] (up_conv): ModuleList(
[0133] (0): FiLMVisualNet(
[0134] (conv1): Sequential(
[0135] (0): Conv2d(1024, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0136] (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0137] (2): ReLU(inplace=True) )
[0139] (film): FiLMLayer()
[0140] (conv2): Sequential(
[0141] (0): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0142] (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0143] (2): ReLU(inplace=True) ) )
[0146] (1): FiLMVisualNet(
[0147] (conv1): Sequential(
[0148] (0): Conv2d(512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0149] (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0150] (2): ReLU(inplace=True) )
[0152] (film): FiLMLayer()
[0153] (conv2): Sequential(
[0154] (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0155] (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0156] (2): ReLU(inplace=True) ) )
[0159] (2): FiLMVisualNet(
[0160] (conv1): Sequential(
[0161] (0): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0162] (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0163] (2): ReLU(inplace=True) )
[0165] (film): FiLMLayer()
[0166] (conv2): Sequential(
[0167] (0): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0168] (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0169] (2): ReLU(inplace=True) ) )
[0172] (3): FiLMVisualNet(
[0173] (conv1): Sequential(
[0174] (0): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0175] (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0176] (2): ReLU(inplace=True) )
[0178] (film): FiLMLayer()
[0179] (conv2): Sequential(
[0180] (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0181] (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0182] (2): ReLU(inplace=True) ) ) )
[0186] (pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1,ceil_mode=False)
[0187] (bottleneck): DoubleConv(
[0188] (conv): Sequential(
[0189] (0): Conv2d(512, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1,1))
[0190] (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0191] (2): ReLU(inplace=True)
[0192] (3): Conv2d(1024, 1024, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
[0193] (4): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
[0194] (5): ReLU(inplace=True) ) )
[0197] (final_conv): Conv2d(64, 1, kernel_size=(1, 1), stride=(1, 1)) )
[0199] In some embodiments, a dynamic computation graph architecture or a static computation graph architecture may be used to train the neural network model; a data augmentation strategy with random rotations of multiples of 90 degrees may be used when training the neural network model; no data augmentation strategies such as cropping or contrast transformation may be used when training the neural network model; a strategy of increasing noise may be used only at image edges when training the neural network model; a graphics processor may be used to train the neural network model; an automatic mixed precision strategy and a gradient scaler gradient cropping strategy may be used when training the neural network model; the learning rate of the neural network model may be set to 0.01, and the model may be trained for a specified number of epochs.
[0200] In this embodiment, the following principles can be followed when training the neural network model:
[0201] 1. This neural network model can be implemented using common frameworks such as PyTorch (a dynamic computation graph architecture) or TensorFlow (a static computation graph architecture).
[0202] 2. Data augmentation strategies such as random rotation by multiples of 90 degrees can be configured during training.
[0203] 3. Data augmentation strategies such as cropping and contrast transformation are not allowed.
[0204] 4. A strategy of adding noise at the edges of the image can be used, but only at the edges.
[0205] 5. It is recommended to use a GPU for training.
[0206] 6. It is recommended to use the amp (Automatic Mixed Precision) strategy and the gradScaler gradient clipping strategy to improve the generalization ability of the model.
[0207] 7. Generally, the learning rate is set to 0.01, and the training lasts for 100 epochs.
[0208] In some embodiments, the loss function of the neural network model is determined by weighting multiple basic loss functions; wherein the basic loss functions include: MSE loss function or L1 loss function, and the weights of the basic loss functions are determined based on the central weight matrix.
[0209] To achieve better training results, this embodiment designs a Center Weighted Loss function, as shown in the following formula:
[0210] 1. Basic loss function (choose one):
[0211] MSE (Mean Squared Error) loss: ;
[0212] L1 (Mean Absolute Error) loss: ;
[0213] 2. Central weight matrix (Gaussian distribution): ;
[0214] in, That is, the normalized central distance; coefficient Used to control the rate of weight decay.
[0215] 3. Final weighted loss: ;
[0216] Where m represents the image width, n represents the image height, i represents the column pixel index, and j represents the row pixel index. This represents the ground truth value of the pixel in the i-th column and j-th row. This represents the model predicted value for the pixel in the i-th column and j-th row.
[0217] in, This can be either MSE loss or L1 loss. The effects of these loss functions are explained below: the weight matrix reaches a maximum value of 1 at the center of the image, and the weights in the edge regions decay according to a distribution. The parameters are adjusted to focus on the range of the affected area, and normalization is used to ensure that the magnitude of the loss remains stable.
[0218] The reason for using this loss function is that, in step 1, the anchor point is defined as a potential weak point, and the center of the image is the potential location of a hotspot. Therefore, during training, the accuracy of the intensity image in the center is more important. On the other hand, the intensity image at the edges is affected by the environment; for the same input, the intensity image at the edges may have different probabilities. Therefore, using this loss function can effectively reduce the impact of differences in intensity images at the edges on the model.
[0219] Step S306: Input the intensity image, design image, and process parameters into the neural network model, and output the final intensity image.
[0220] In this embodiment, after preparing the input intensity image, the intensity image can be input into the model, along with the required focus and dose, and the final intensity image can be output.
[0221] Step S308: Extract the contour of the final intensity image; and / or, extract the depth value of the convexity defect in the final intensity image, and determine whether there is a defect in the final intensity image based on the depth value.
[0222] In this embodiment, for the final intensity image, the contour of the final intensity image can be extracted; and / or, the depth value (i.e., CD value) of the convexity defect of the final intensity image can be extracted, and the presence of a defect in the final intensity image can be determined based on the depth value.
[0223] In summary, the method provided in this embodiment of the invention can be applied to hotspot prediction models using the FilM structure; the focus dose can be incorporated into the input of the hotspot prediction model; and Center Weighted Loss can be used in the hotspot prediction model. Through a novel neural network model structure and accompanying data processing strategies, the flexibility and accuracy of hotspot detection are improved, the workload of practical applications is reduced, and the efficiency and effectiveness of yield control are enhanced.
[0224] The FiLM structure has been used in the field of CV (Computer Vision) for many years, proving that the structure can obtain different outputs by modifying the control parameters.
[0225] The reason why computational lithography still heavily relies on physical models combined with convolutional kernels, rather than entirely using neural networks, is that physical models offer extremely high accuracy and stability, with numerous input parameters, including wavelength, NA (numerical aperture), light source type, and light source parameters. The vast amounts of data required for neural network training are difficult to obtain in this field. This embodiment still relies on obtaining data through accurate models, but with the addition of process parameter inputs, making implementation relatively easy.
[0226] In this embodiment, the use of dose as a multiplier and focus as a bias term in the FiLM structure is based on an understanding of the photolithography process. During photolithography, dose represents the light intensity, directly affecting the photoresist exposure intensity; therefore, as a multiplier term, it reasonably characterizes the intensity concept. Focus, on the other hand, refers to the focal plane. If the focus shifts, the overall CD measurement value will increase or decrease, similar to the phenomenon of out-of-focus photography. Therefore, using a bias term to represent the focus shift is reasonable.
[0227] The core of FiLM lies in generating scaling factors by learning two functions f and h. and offset coefficient This allows for the regulation of network activation. Specifically, for input features... The FiLM transform can be expressed as: ; where, scaling factor and offset coefficient It is derived through input computation. The advantage of this structure lies in its ability to adaptively influence the network's output, enhancing the model's performance in handling complex inference tasks. It adjusts the network output by performing element-wise affine transformations on the input features, enabling the model to generate different outputs based on different input conditions.
[0228] Example 3:
[0229] Corresponding to the above method embodiments, this invention provides an electronic design automation device, see [link to relevant documentation]. Figure 10 The diagram shown illustrates the structure of an electronic design automation (EDA) device, which includes:
[0230] The data preparation module 1001 is used to input the layout and the pre-trained commercial model path into the electronic design automation tool and output intensity images, design images and process parameters.
[0231] Model training module 1002 is used to train neural network models;
[0232] The model prediction module 1003 is used to input the intensity image, design image and process parameters into the neural network model and output the final intensity image.
[0233] Hotspot analysis module 1004 is used to perform hotspot analysis on the final intensity image.
[0234] This invention provides an electronic design automation (EDA) device that inputs a layout and a pre-trained commercial model path into an EDA tool, outputting an intensity image, a design image, and process parameters; trains a neural network model; inputs the intensity image, design image, and process parameters into the neural network model, outputting a final intensity image; and performs hotspot analysis on the final intensity image. This method improves the flexibility and accuracy of hotspot detection, reduces the workload in practical applications, and enhances the efficiency and effectiveness of yield control.
[0235] The aforementioned data preparation module is used to acquire the layout; input the layout and the pre-trained commercial model path into the electronic design automation (EDA) tool, and set the parameters of the EDA tool; scan the layout to find anchor points that meet preset conditions; generate a design image corresponding to each anchor point; divide the process window into multiple process conditions based on the horizontal and vertical axes; generate an intensity image corresponding to the design image based on the process conditions corresponding to each anchor point; and determine the design image and process parameters corresponding to the intensity image.
[0236] The aforementioned data preparation module is used to extract bounding boxes on the map with the coordinates of each anchor point as the center; render the image based on the bounding boxes, fill the pixels inside the polygons of the image with 1, fill the pixels outside the polygons of the image with 0, fill the pixels on the edges of the polygons of the image according to the duty cycle; and save the rendered image as a lossless compressed image type to obtain the design image.
[0237] The aforementioned data preparation module is used to determine partial images from the design images; wherein the pixel size of the partial images is twice that of the intensity images to be output; and to generate intensity images corresponding to the partial images based on the process conditions corresponding to each anchor point.
[0238] The aforementioned model training module is used for at least one of the following: training a neural network model using a dynamic computation graph architecture or a static computation graph architecture; using a data augmentation strategy with random rotations of multiples of 90 degrees when training the neural network model; not using data augmentation strategies such as cropping or contrast transformation when training the neural network model; using a noise-increasing strategy only at image edges when training the neural network model; training the neural network model using a graphics processor; using an automatic mixed precision strategy and a gradient scaler gradient cropping strategy when training the neural network model; setting the learning rate of the neural network model to 0.01 and training for a specified number of epochs.
[0239] The loss function of the above neural network model is determined by weighting multiple basic loss functions; the basic loss functions include: MSE loss function or L1 loss function, and the weights of the basic loss functions are determined based on the central weight matrix.
[0240] The aforementioned hotspot analysis module is used to extract the contour of the final intensity image; and / or to extract the depth value of the convexity defect in the final intensity image, and to determine whether the final intensity image has a defect based on the depth value.
[0241] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the electronic design automation device described above can be referred to the corresponding process in the aforementioned embodiments of the electronic design automation method, and will not be repeated here.
[0242] Example 4:
[0243] This invention also provides an electronic device for running the above-described electronic design automation method; see [link to related documentation]. Figure 11 The diagram shows the structure of an electronic device, which includes a memory 100 and a processor 101. The memory 100 is used to store one or more computer instructions, which are executed by the processor 101 to realize the above-mentioned electronic design automation method.
[0244] Furthermore, Figure 11 The electronic device shown also includes a bus 102 and a communication interface 103, with the processor 101, the communication interface 103 and the memory 100 connected via the bus 102.
[0245] The memory 100 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 103 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc. The bus 102 may be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 11 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0246] Processor 101 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of processor 101 or by instructions in software form. Processor 101 can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a readily available storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 100, and processor 101 reads information from memory 100 and, in conjunction with its hardware, completes the steps of the method described in the foregoing embodiments.
[0247] This invention also provides a computer-readable storage medium storing computer-executable instructions. When these computer-executable instructions are invoked and executed by a processor, they cause the processor to implement the above-described electronic design automation method. For specific implementation details, please refer to the method embodiments, which will not be repeated here.
[0248] The computer program products of the electronic design automation method, apparatus, electronic device and storage medium provided in the embodiments of the present invention include a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods in the preceding method embodiments. For specific implementation, please refer to the method embodiments, which will not be repeated here.
[0249] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and / or device described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0250] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.
[0251] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0252] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0253] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. An electronic design automation method, characterized in that, The method includes: The layout and the pre-trained commercial model path are input into the electronic design automation tool, which outputs intensity images, design images, and process parameters. The parameters of the commercial model path are set, including: convexity defect threshold, process window range, pixel size, and image size. Training a neural network model; The intensity image, the design image, and the process parameters are input into the neural network model, and the final intensity image is output. Hotspot analysis is performed on the final intensity image.
2. The method according to claim 1, characterized in that, The steps of inputting the layout and pre-trained commercial model path into an electronic design automation (EDA) tool to output intensity images, design images, and process parameters include: Acquire territory; Input the layout and the pre-trained commercial model path into the electronic design automation tool, and set the parameters of the electronic design automation tool; Scan the map to find anchor points that meet preset conditions; Generate a design image corresponding to each anchor point; The process window is divided into multiple process conditions based on the horizontal and vertical axes. An intensity image corresponding to the design image is generated based on the process conditions corresponding to each anchor point; Determine the design image and process parameters corresponding to the intensity image.
3. The method according to claim 2, characterized in that, The step of generating a design image corresponding to each anchor point includes: Using the coordinates of each anchor point as the center, a bounding box is extracted on the map; Render the image based on the bounding box, fill the pixels inside the polygon of the image with 1, fill the pixels outside the polygon of the image with 0, and fill the pixels on the edge of the polygon of the image according to the duty cycle. The rendered image is saved as a lossless compressed image type to obtain the design image.
4. The method according to claim 2, characterized in that, The step of generating an intensity image corresponding to the design image based on the process conditions corresponding to each anchor point includes: A partial image is determined from the design image; wherein the pixel size of the partial image is twice that of the intensity image to be output; An intensity image corresponding to the partial image is generated based on the process conditions corresponding to each anchor point.
5. The method according to claim 1, characterized in that, The steps for training a neural network model include at least one of the following: Neural network models can be trained using either dynamic or static computation graph architectures. When training the neural network model, a data augmentation strategy using random rotations of multiples of 90 degrees was employed; No data augmentation strategies such as pruning or contrast transformation are used when training the neural network model; When training the neural network model, the strategy of adding noise is only used at the edges of the image; The neural network model is trained using a graphics processing unit (GPU). When training the neural network model, an automatic mixed precision strategy and a gradient scaler gradient clipping strategy are employed. The learning rate of the neural network model is set to 0.01, and the model is trained for a specified number of epochs.
6. The method according to claim 5, characterized in that, The loss function of the neural network model is determined by weighting multiple basic loss functions; wherein, the basic loss functions include: MSE loss function or L1 loss function, and the weights of the basic loss functions are determined based on the central weight matrix; The central weight matrix is calculated using the following formula: ; ; in, The central weight matrix is... For normalized center distance, the coefficients are... Used to control the weight decay rate, m represents the image width, n represents the image height, i represents the column pixel index, and j represents the row pixel index.
7. The method according to claim 1, characterized in that, The steps of performing hotspot analysis on the final intensity image include: Extract the contour of the final intensity image; And / or, extract the depth value of the convexity defect in the final intensity image, and determine whether the final intensity image has a defect based on the depth value.
8. An electronic design automation device, characterized in that, The device includes: The data preparation module is used to input the layout and the pre-trained commercial model path into the electronic design automation tool, and output intensity images, design images and process parameters; wherein, the parameters of the commercial model path are set, including: convexity defect threshold, process window range, pixel size and image size; The model training module is used to train neural network models. The model prediction module is used to input the intensity image, the design image, and the process parameters into the neural network model and output the final intensity image; The hotspot analysis module is used to perform hotspot analysis on the final intensity image.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing computer-executable instructions that can be executed by the processor, the processor executing the computer-executable instructions to implement the electronic design automation method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when invoked and executed by a processor, cause the processor to implement the electronic design automation method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Visual large model assisted unified multi-task calculation photoetching modeling and defect detection method
CN120411101A
Defect detection method, electronic equipment, storage medium and program product
CN120876375A