Application of reticle enhancement technology recipes based on failure modes predicted by artificial neural networks
By employing artificial neural networks to predict and correct failure modes in IC designs using reticle enhancement techniques, the challenges of manufacturing problems in IC fabrication are addressed, resulting in high-quality mask layouts and improved IC design fidelity.
Patent Information
- Application Number
- JP2022509586
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-08-16
- Filing Date
- 2020-08-03
- Publication Date
- 2025-04-10
- Estimated Expiration
- 2040-08-03
AI Technical Summary
Existing integrated circuit (IC) design and manufacturing processes face challenges in predicting and addressing failure modes during the fabrication of ICs, leading to potential manufacturing problems and reduced quality of the final product.
The use of artificial neural networks to predict failure modes and locations in IC designs, coupled with the application of reticle enhancement technique (RET) recipes to resolve these failures, allows for the identification and correction of manufacturing issues before they affect the final product.
This approach enables the creation of high-quality mask layouts with minimal computational resource usage, reducing the likelihood of manufacturing problems and improving the overall fidelity of IC designs to their intended specifications.
Smart Images

Figure 0007660100000002 
Figure 0007660100000003 
Figure 0007660100000004
Abstract
Description
[Technical field]
[0001] Related Applications This application claims the benefit of U.S. Provisional Patent Application No. 62 / 887,728, filed Aug. 16, 2019, the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates generally to integrated circuit (IC) design and, more particularly, to applying reticle enhancement technique (RET) recipes based on failure modes predicted by an artificial neural network. [Background technology]
[0003] Advances in processing technology and an almost limitless appetite for computation and storage have driven a rapid increase in the size and complexity of IC designs. These advances can be attributed to improvements in semiconductor design and manufacturing techniques that allow the integration of tens of millions of devices on a single chip. Summary of the Invention
[0004] Some embodiments described herein feature methods and apparatus capable of collecting training data for each design intent in the set of design intents by identifying a set of failures expected to occur when the design intent is manufactured and recording the failure mode and location of each failure in the set of failures. In some embodiments, the design intent may specify a shape desired to be printed on a wafer, i.e., the design intent may not include modifications performed using RET. In some embodiments, the training data may be collected by performing an iterative loop that includes identifying failure modes in a mask layout using lithography verification, adjusting a RET recipe to resolve occurrences of the failure modes, and applying the adjusted RET recipe to the mask layout. The embodiments may then use the training data to train a machine learning model, e.g., an artificial neural network, to predict failure modes and locations of failures for a given design intent that is different from the design intent used during training.
[0005] In some embodiments, supervised learning may be used to train an artificial neural network to which the design intent may be provided as input and the failure modes and locations may be provided as desired outputs.
[0006] In some embodiments, a separate design layer may be created for each failure mode to mark the location of the faults belonging to the failure mode, and each location of the fault may be marked by placing a polygon on the design layer near the location of the fault. In these embodiments, the adjusted RET recipe may be applied to areas in the mask layout that are within the polygon in the design layer that corresponds to the failure mode.
[0007] Some embodiments may use an artificial neural network trained to predict the failure modes and locations of failures expected to occur in the design intent. Then, for each predicted failure, embodiments may select a RET recipe based on the failure mode of that failure and apply the selected RET recipe to the area surrounding the location of the failure.
[0008] The present disclosure can be understood based on the detailed description given below and the accompanying figures. The figures are for illustrative purposes and are not intended to limit the scope of the present disclosure. Additionally, the figures are not necessarily drawn to scale. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates a process for determining failure modes in design intent and a RET recipe to resolve the failure modes according to some embodiments described herein. [Diagram 2] 5A-5C illustrate steps for performing lithography verification according to some embodiments described herein. [Diagram 3] FIG. 13 illustrates how failure mode locations may be marked in a mask layout according to some embodiments described herein. [Figure 4] FIG. 1 illustrates a process for training an artificial neural network to predict failure modes according to some embodiments described herein. [Diagram 5] FIG. 1 illustrates a process for using an artificial neural network to selectively apply a RET recipe to a mask layout according to some embodiments described herein. [Figure 6] 1 is a flowchart illustrating an IC design and manufacturing flow according to some embodiments described herein. [Figure 7]FIG. 1 illustrates an example machine of a computer system within which a set of instructions may be executed to cause the machine to perform any one or more of the methods described herein, in accordance with some embodiments described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Semiconductor manufacturing techniques may use multiple physical and / or chemical processes to transfer the design intent onto a wafer. In this disclosure, the term "design intent" refers to the shapes desired to be printed onto a wafer, for example, by using photolithography. The term "mask layout" refers to the shapes on a photolithography mask that is used in photolithography to print the design intent. Due to physical and / or chemical phenomena that occur during semiconductor manufacturing, the design intent may not print as desired if the design intent is used as is, i.e., without any changes, in the mask layout.
[0011] The RET recipe may be used to modify the design intent to obtain a modified mask layout, which may then be used in photolithography. The modifications made by the RET recipe may compensate for physical or chemical effects that cause the printed pattern to deviate from the design intent. In particular, when the mask layout containing the modified mask layout is used in photolithography, the printed features on the wafer may be within an acceptable tolerance range of the design intent.
[0012] Examples of RET include, but are not limited to, rule-based RET, process model-based RET, and inverse imaging-based RET (also known as inverse lithography technology or ILT). For each type of RET, there may be a different trade-off point between the amount of computational resources used (e.g., the amount of runtime, memory, and / or computational power used by the RET) and the quality of the results provided (e.g., the quality of the results may correspond to the degree to which the manufacturing problem is solved). In particular, if a higher quality result is desired (e.g., if all manufacturing problems are desired to be solved), a large amount of computational resources may be used (e.g., the runtime to be applied to the RET may be long).
[0013] In this disclosure, the term "RET recipe" can refer to a RET technique, or a sequence of RET techniques, where each RET technique is set to a particular trade-off point between the amount of computational resources used and the quality of the results provided. The phrase "tuning a RET recipe" can refer to changing the type or types of RET used and / or modifying the trade-off point of one or more RETs between the amount of computational resources used and the quality of the results provided.
[0014] Using a RET recipe that produces very high quality results to process the entire mask layout may use an impractical amount of computational resources. On the other hand, using a RET recipe that uses a small amount of computational resources for the entire mask layout may produce poor quality results. Note that a single manufacturing problem can result in complete failure of an IC chip. If it is not known which areas are susceptible to which type of manufacturing problem, a computationally expensive RET technique may end up being used for the entire mask layout, which can significantly increase the time spent on RET.
[0015] The embodiments described in this disclosure can use machine learning, e.g., artificial neural networks, to predict the type and location of manufacturing problems expected to occur in a mask layout. Furthermore, for each type of manufacturing problem, the embodiments can determine an appropriate RET recipe that is expected to solve the manufacturing problem. Then, given the design intent, the embodiments can use a trained machine learning model, e.g., a trained artificial neural network, to predict the type and location of manufacturing problems expected to occur in the design intent. For each type of predicted manufacturing problem, the embodiments can selectively apply an appropriate RET recipe (previously determined) at the location where the predicted manufacturing problem is expected to occur.
[0016] Advantages of the embodiments disclosed herein include, but are not limited to, the ability to produce high quality mask layouts (e.g., mask layouts that are expected to have no manufacturing issues) without using large amounts of computational resources.
[0017] FIG. 1 illustrates a process for determining a failure mode in a design intent and a RET recipe to resolve the failure mode according to some embodiments described herein. The design intent 102 may include a shape desired to be printed on a wafer. In FIG. 1, the design intent 102 is shown with two polygons, but typically the design intent 102 may have a large number of polygons (e.g., tens of millions of polygons). The design intent 102 may be a design of an actual IC chip. However, the design intent 102 may also be a design created to train an artificial neural network. In particular, the design intent 102 may include a random arrangement of unit cells and / or may include random and / or programmed patterns.
[0018] The RET recipe 104 may be applied to the design intent 102 to obtain a mask layout 106, which may include one or more modifications, such as serifs 108 and assist features 110. In some embodiments, the RET recipe 104 may be selected to provide reasonable quality results and have a reasonable run time. In particular, the RET recipe 104 may consider nominal process conditions and may have a small number of adjustment iterations. At least some manufacturing issues may be expected to exist after the RET recipe 104 is applied to the design intent 102. Lithography verification (step 112) may be performed to determine whether the mask layout 106 is expected to print the design intent 102 with high fidelity on the wafer. As a non-limiting example, a lithography verification tool, such as Synopsys' Proteus Lithography Rule Check® (PLRC), may be used to perform the lithography verification.
[0019] FIG. 2 illustrates a process for performing lithography verification according to some embodiments described herein. A process model 202 may be developed to model a given semiconductor manufacturing technology and may be used to simulate the effects of physical and / or chemical processes occurring during manufacturing. Given a mask layout, the process model 202 may generate a predicted pattern 204 that is expected to be printed on a wafer. The mask layout provided as input to the process model 202 may or may not include RET modifications. For example, the mask layout 106 includes RET modifications such as serifs 108 and assist features 110 that may have been generated by applying one or more RETs to the design intent 102. The process model 202 may generate a predicted pattern 204 based on the mask layout 106. A failure mode may then be identified in step 206 by comparing the predicted pattern 204 to the design intent 102.
[0020] 1, lithography verification (step 112) can generate failure modes 114, each failure mode corresponding to one or more differences between the design intent and the shape expected to be printed on the wafer. Each difference outside the tolerance limits can be identified as a failure. A common cause that gives rise to a set of failures can be identified as a failure mode.
[0021] For each failure mode, the RET recipe may be adjusted to resolve the failure mode (step 116). In other words, the RET recipe may be adjusted such that the changes made by the RET recipe correct a particular type of discrepancy between the design intent and the shape expected to be printed on the wafer. The adjusted RET recipe may then be applied to the current mask layout (step 118) to obtain a mask layout 120, which becomes the current mask layout for the next iteration. Note that the adjusted RET recipe may be applied within an area around the discrepancy, rather than over the entire mask layout. Note also that the mask layout provided as input to step 118 may include changes made by a previous round of RET processing.
[0022] In some embodiments, the location of the failure mode may be marked by placing a polygon near the location of the failure mode. Specifically, the polygon may be placed such that the failure mode is within the boundary of the polygon, and the polygon may include features that are within the process range of the failure mode location. In some embodiments, the polygon may be placed on a new layer that may not be part of the output mask, but may be used to track where a particular failure mode has been identified. When the RET recipe is adjusted, the area within the polygon on the new layer may be used to determine if the adjustment resolves the failure mode.
[0023] In some embodiments, multiple new layers may be generated, which may allow for breaking down manufacturing problems into separate layers. For example, lithography verification may identify areas of poor process windows and areas where nominal correction has not converged to an acceptable value. In this scenario, the RET recipe may be adjusted differently to handle these two types of failures. Specifically, for areas with poor process windows, the RET recipe may be adjusted by including additional terms in the optimization cost function to increase the process window. For areas with poor convergence, the RET recipe may be adjusted by increasing the number of optimization steps to meet the nominal correction tolerance.
[0024] FIG. 3 illustrates how failure mode locations may be marked in a mask layout according to some embodiments described herein. The process illustrated in FIG. 1 may be used to identify failure modes in a mask layout area 300. In FIG. 3, each imprinted rectangle corresponds to a location of a manufacturing problem. A failure mode corresponds to a type of manufacturing problem. For example, manufacturing problem location 302-1 and manufacturing problem location 302-2 correspond to the same failure mode. Similarly, manufacturing problem location 304-1 and manufacturing problem location 304-2 correspond to the same failure mode that is different from the failure modes corresponding to manufacturing problem location 302-1 and manufacturing problem location 302-2. Finally, manufacturing problem location 306-1 and manufacturing problem location 306-2 correspond to a third failure mode that is different from the other two failure modes. Each failure mode may correspond to a RET recipe adjustment that is expected to solve the manufacturing problem associated with that failure mode. Therefore, a RET recipe adjustment may be developed that solves the manufacturing problem at locations 302-1 and 302-2. Polygons placed to mark two failure modes may overlap each other, for example, failure mode location 304-2 and failure mode location 306-2 overlap each other (in the particular example shown in FIG. 3, the polygon at location 304-2 and the polygon at location 306-2 may be on different design layers, although in general polygons on the same layer may overlap each other).
[0025] In some embodiments, each failure mode may be assigned a separate design layer, and the problem locations corresponding to each failure mode may be included in the respective design layer. Thus, if a first design layer is assigned to a first failure mode corresponding to manufacturing problems 302-1 and 302-2, the first design layer may include only the manufacturing problem locations 302-1 and 302-2. The other manufacturing problem locations shown in FIG. 3 (i.e., 304-1, 304-2, 306-1, and 306-2) may be included in their respective design layers. In these embodiments, the RET recipe adjustments corresponding to a given failure mode may be applied to all manufacturing problem locations specified in the design layer corresponding to that failure mode.
[0026] 1, the process may next perform lithography verification (step 112) to determine whether the mask layout 120 is expected to print on the wafer the design intent 102. If any failure modes remain unresolved or new failure modes are introduced when the adjusted RET recipe is applied, steps 114, 116, 118, 120, and 112 may be performed again.
[0027] Specifically, the loop including steps 112, 114, 116, 118, and 120 may be executed one or more times until all failure modes have been considered and resolved within a predetermined tolerance level. During each iteration of the loop, the manufacturability of the mask layout may improve as the faults are corrected by the adjusted RET recipe. However, the fault locations are retained for artificial neural network training purposes. With successive iterations, new problem locations may be discovered. These new problems may be introduced as a side effect of correcting previously identified problems. The number of new problems is expected to rapidly decrease with each iteration, and only a few iterations of the loop may be required to identify and correct all manufacturing problems in the mask layout.
[0028] 1 may identify failure modes 114 in the design intent 102. Each failure mode may correspond to a type of manufacturing problem that is expected to occur at a particular location of the mask layout if the current version of the mask layout is used. For each failure mode identified by lithography verification 112, the process illustrated in FIG. 1 may also generate a corresponding RET recipe adjustment that, when applied to the area surrounding the manufacturing problem location, partially or completely solves the manufacturing problem associated with the failure mode.
[0029] Some non-limiting examples of RET, failure modes, and RET recipes that can resolve the failure modes are described next. Rule-based RET may use a set of rules to determine changes to be made. Upon detecting a particular pattern in the mask layout, rule-based RET may apply a particular change to the pattern. For example, rule-based RET may identify a set of line-end patterns in the mask layout and may add a hammerhead serif to each line-end pattern to reduce or prevent manufacturing problems caused by line-end shortening or corner rounding, or both. There may be different trade-off points between the amount of computational resources used and the quality of the results produced based on the complexity and number of rules used. In particular, a large number of complex rules may produce relatively high quality results, but may use a large amount of computational resources. Conversely, a small number of simple rules may produce relatively low quality results, but may use a small amount of computational resources.
[0030] Process model-based RET uses a process model to predict the shape expected to be printed and iteratively perform perturbations on the mask layout to correct for discrepancies between the predicted pattern and the design intent. Process model-based RET is sometimes referred to as optical proximity correction (OPC). Process model-based RET can also place assist features to solve manufacturing problems, such as those caused by a small process window or a shallow depth of focus. Depending on the accuracy of the process model and the number of iterations, there can be different trade-off points between the amount of computational resources used and the quality of the results produced. In particular, using a highly accurate process model and using a large number of iterations can result in relatively high quality results, but can use a large amount of computational resources. Conversely, using a less accurate and faster process model and using a smaller number of iterations can result in relatively lower quality results, but can use a small amount of computational resources.
[0031] Inverse imaging-based RET is based on inverting the process model, e.g., printing a mask layout as follows: z(x,y)=T{m(x,y)} where T{.} is the process model (e.g., the Hopkins imaging model if we are modeling an imaging process), m(x,y) is the input mask layout, and z(x,y) is the pattern to be printed. * Let (x,y) be the design intent. The goal of the inverse imaging problem is to determine whether the resulting printed pattern T{m(x,y)} satisfies the design intent z * The goal of the method is to estimate the mask layout m(x,y) to be similar to (x,y). Specifically, the similarity of the printed pattern to the design intent can be measured using a distance metric between the two patterns.
[0032] Some embodiments may formulate the inverse imaging problem as an optimization problem with respect to a cost function that indicates the difference between the design intent and the printed pattern. Specifically, in some embodiments, the cost function f may be:
[0033]
number
[0034] The objective is to estimate a mask layout m(x,y) that minimizes the L2 norm of the distance between the printed pattern and the design intent. Depending on the desired goal, the cost function in Equation (1) can also be augmented to include additional objectives such as image log-slope maximization, assist feature printability compliance, optical proximity correction for contour fidelity, focus sensitivity minimization for better process window, and others. In other words, the embodiments described herein are not limited to using the cost function shown in Equation (1). Some embodiments may use pixel-based parameter settings to solve the inverse imaging problem. The cost function shown in Equation (1) can be optimized using standard optimization techniques such as gradient descent, conjugate gradient, quasi-Newton, and others.
[0035] Based on the cost function used and / or the number of iterations used during optimization, there may be different trade-off points between the amount of computational resources used and the quality of the results produced. In particular, using a complex cost function with many nonlinear terms and a large number of optimization iterations may produce higher quality results, but may use a large amount of computational resources. Conversely, using a relatively simple cost function and a small number of optimization iterations may produce lower quality results, but may use a small amount of computational resources.
[0036] A failure mode may occur when the difference between the printed line width (i.e., the critical dimension) and the design intent line width is greater than a tolerance threshold. The RET recipe may modify the design intent line width (e.g., rule-based RET may increase the design intent line width) so that the printed line width is substantially equal to the design intent line width.
[0037] Another failure mode can occur when excessive shortening occurs at the line-termination, and a RET recipe may add one or more serifs to the line-termination to resolve this manufacturing issue (e.g., a process model-based RET recipe may iteratively perturb the line-termination, or alternatively, an inverse imaging-based RET may determine a line-termination shape with changes that resolve the manufacturing issue).
[0038] Yet another failure mode may occur when a pattern has a small process window and / or shallow depth of focus, e.g., a pattern may be printed satisfactorily at nominal focus conditions, but may exhibit serious manufacturing problems when the lithography imaging system is slightly out of focus (e.g., line-end shortening). A RET recipe may add one or more assist features near the pattern to increase the depth of focus (e.g., a process model-based RET recipe may iteratively try different assist feature configurations to increase the depth of focus, or alternatively, an inverse imaging-based RET recipe that includes a depth of focus term in the cost function may place one or more assist features to increase the depth of focus).
[0039] 4 shows a process for training an artificial neural network to predict failure modes according to some embodiments described herein. The process may begin with collecting training data by identifying, for each design intent in a set of design intents, a set of failures that are expected to occur when the design intent is manufactured, and recording the failure mode and location of each failure in the set of failures (step 402). For example, the failure modes may be determined by using the process shown in FIG.
[0040] The process may then use the training data to train a machine learning model, e.g., an artificial neural network, to predict the failure mode and location of the failure for a given design intent that is different from the design intents in the set of design intents (step 404). The input to the artificial neural network can be the design intent, i.e., the shape desired to be printed on the wafer without any RET modifications.
[0041] The artificial neural network can be trained using supervised learning, where the design intent (without any RET modifications) may be provided as input to the artificial neural network, and a set of failure modes and the locations of the failure modes (e.g., determined by using the process shown in FIG. 1) may be provided as the desired output.
[0042] In some embodiments, the artificial neural network may include an input layer, an output layer, and one or more hidden layers. The design intent may be rasterized, i.e., converted into a two-dimensional pixel map. Each pixel may correspond to a node in the input layer. The pixel's value may be a floating point number between 0 and 1, where 0 may correspond to a transparent area and 1 may correspond to an opaque area, and the numbers between 0 and 1 may correspond to the percentage of transparent / opaque areas in the pixel. The output layer may include a set of nodes, where each node may correspond to a particular combination of location and failure mode. During supervised learning, the input layer nodes may be assigned values based on the rasterized representation of the design intent, and the output layer nodes may be assigned values based on the location and failure mode of the expected manufacturing problem. Backpropagation techniques may then be used to adjust the connection weights in the artificial neural network. After the artificial neural network is trained, it may be used to selectively apply RET recipes to the design intent.
[0043] 5 illustrates a process for using an artificial neural network to selectively apply a RET recipe to a mask layout according to some embodiments described herein. The process may begin by using a trained machine learning model, such as a trained artificial neural network, to predict failure modes and locations of failures expected to occur when the design intent is printed using a lithography process (step 502). Then, for each predicted failure, the process may select a RET recipe based on the failure mode of the failure and apply the selected RET recipe to an area around the location of the failure (step 504).
[0044] 6 illustrates an example flow 600 for designing, verifying, and fabricating an integrated circuit according to some embodiments described herein. An EDA process 612 (the acronym "EDA" stands for "Electronic Design Automation") can be used to translate and verify the design data and design instructions that represent the integrated circuit. Each of these processes can be structured and enabled as multiple modules or multiple operations.
[0045] Flow 600 can begin with the creation of a product idea 610 with information provided by a designer, information that is translated and verified by using EDA process 612. When the design is finalized, the design is taped out 634, which is the point at which the artwork (e.g., feature patterns) for the integrated circuit is sent to a fabrication facility to manufacture a mask set, which is then used to manufacture the integrated circuit. After tape out, the semiconductor die is fabricated 636, and packaging and assembly 638 is performed to result in a manufactured IC chip 640.
[0046] Specifications for circuit or electronic structures may range from low-level transistor material layouts to high-level description languages. High-level abstractions using hardware description languages ("HDLs") such as VHDL, Verilog, SystemVerilog, SystemC, MyHDL, or OpenVera may be used to design circuits and systems. HDL descriptions can be converted to logic-level register transfer level ("RTL") descriptions, gate-level descriptions, layout-level descriptions, or mask-level descriptions. Each lower level of abstraction adds more detail to the design description. Lower levels of abstraction can be computer-generated, derived from design libraries, or created by another design automation process. An example of a specification language at a lower level of abstraction language for specifying the more detailed descriptions is SPICE (for "Simulation Program with Integrated Circuit Emphasis"). The description at each level of abstraction encompasses enough detail to be used by the corresponding tool (e.g., formal verification tool) at that layer.
[0047] During system design 614, the functions of the integrated circuit to be manufactured are specified. The design may be optimized for desired characteristics such as power consumption, performance, area (physical area and / or lines of code), reduced cost, etc. Partitioning the design into different types of modules or components may occur at this stage.
[0048] During logic design and functional verification 616, modules or components in a circuit are specified in one or more description languages and the specifications are checked for functional accuracy. For example, it may be verified that the components of the circuit produce outputs that match the requirements of the specification of the circuit or system being designed. Functional verification may use simulators and other programs such as testbench generators, static HDL checkers, and formal verifiers. In some embodiments, specialized systems of components called "emulators" or "prototyping systems" are used to speed up functional verification.
[0049] During synthesis and design for test 618, the HDL code is converted into a netlist. In some embodiments, the netlist may be a graph structure where the edges of the graph structure represent components of the circuit and the nodes of the graph structure represent how those components are connected to each other. Both the HDL code and the netlist are hierarchical artifacts that can be used by an EDA product to verify that an integrated circuit, when manufactured, will perform according to a specified design. The netlist can be optimized for a target semiconductor manufacturing technology. Furthermore, the completed integrated circuit may be tested to verify that it meets the requirements of the specification.
[0050] During netlist verification 620, the netlist is checked for compliance with timing constraints and correspondence with the HDL code. During design planning 622, an overall floorplan for the integrated circuit is constructed and analyzed for timing and top-level routing.
[0051] During layout, or physical implementation 624, physical placement (positioning of circuit components such as transistors or capacitors) and routing (connection of circuit components by a number of conductors) can be performed to select cells from a library to enable a particular logic function. The term "cell" as used herein may designate a set of transistors, other components, and interconnects that provide a Boolean logic function (e.g., AND, OR, NOT, XOR) or a storage function (such as a flip-flop or latch). A circuit "block" as used herein may refer to two or more cells. Both cells and circuit blocks can also be referred to as modules or components, and are made available both in physical structures and in simulations. Parameters such as size are specified for the selected cell (based on "standard cells") and made accessible in a database for use by the EDA product.
[0052] During analysis and extraction 626, circuit functionality is verified at the layout level, which allows refinement of the layout design. During physical verification 628, the layout design is checked to ensure that manufacturing constraints such as DRC constraints, electrical constraints, lithography constraints, etc. are correct and that the circuit functionality meets HDL design specifications. During resolution enhancement 630, the shapes of the layout are transformed to refine how the circuit design will be manufactured.
[0053] During tape-out, data is created that is to be used to manufacture a lithography mask (after lithography enhancements have been applied, if appropriate). During mask data preparation 632, the "tape-out" data is used to manufacture a lithography mask that is used to manufacture a completed integrated circuit.
[0054] A storage subsystem of a computer system (such as computer system 700 in FIG. 7) may be used to store programs and data structures used by some or all of the EDA products described herein, as well as products used for developing cells for the libraries, and for physical and logical design using the libraries.
[0055] 7 illustrates an exemplary machine of computer system 700 within which a set of instructions may be executed to cause the machine to perform any one or more of the methods described herein. In alternative implementations, the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, and / or the Internet. The machine may operate in the capacity of a server machine or a client machine in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server machine or a client machine in a cloud computing infrastructure or environment.
[0056] The machine may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Additionally, although a single machine is shown, the term "machine" should also be interpreted to include any collection of machines that individually, or together, execute a set (or multiple sets) of instructions to perform any one or more of the methods described herein.
[0057] An embodiment of a computer system 700 includes a processing device 702, a main memory 704 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 706 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 718, which communicate with each other via a bus 730.
[0058] The processing device 702 represents one or more processors, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or a combination of instruction sets. The processing device 702 may also be one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. The processing device 702 may be configured to execute instructions 726 to perform the operations and steps described herein.
[0059] The computer system 700 may further include a network interface device 708 for communicating over a network 720. The computer system 700 may also include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), a graphics processing unit 722, a signal generating device 716 (e.g., a speaker), a graphics processing unit 722, a video processing unit 728, and an audio processing unit 732.
[0060] The data storage device 718 may include a machine-readable storage medium 724 (also known as a non-transitory computer-readable medium) having stored thereon one or more sets of instructions 726 or software that embody any one or more of the methods or functions described herein. The instructions 726 may reside, completely or at least partially, in the main memory 704 and / or in the processing device 702 during execution of the instructions 726 by the computer system 700, with the main memory 704 and the processing device 702 also constituting machine-readable storage media.
[0061] In some implementations, the instructions 726 include instructions that implement functions corresponding to the present disclosure. Although the machine-readable storage medium 724 is shown in the exemplary implementations as being a single medium, the term "machine-readable storage medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable storage medium" should also be interpreted to include any medium that can store or encode a set of instructions that can be executed by a machine to cause the machine and processing device 702 to perform any one or more of the methods of the present disclosure. Thus, the term "machine-readable storage medium" should be interpreted to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0062] Some portions of the preceding detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm may be a sequence of operations leading to a desired result. The operations require physical manipulations of physical quantities. Such quantities may take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. Such signals may be referred to as bits, values, elements, symbols, characters, terms, or numbers, or the like.
[0063] It should be noted, however, that all of these and similar terms should be associated with the appropriate physical terms and are merely convenient labels applied to these quantities. Unless otherwise specified, and as will be apparent from this disclosure, throughout this description, certain terms will be understood to refer to actions and processes of a computer system or similar electronic computing device that manipulate and convert data represented as physical (electronic) quantities in the computer system's registers and memory into other data that are similarly represented as physical quantities in the computer system memory, or in the computer system registers, or other such information storage devices.
[0064] The present disclosure also relates to an apparatus for performing the operations herein. The apparatus may be specially constructed for the intended purposes, or the apparatus may include a computer selectively activated or reconfigured by a computer program stored in the computer. Such computer programs may be stored on a computer-readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, or any type of medium suitable for storing electronic instructions, each coupled to a computer system bus.
[0065] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various other systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to carry out the methods. Moreover, the present disclosure is not described with reference to any particular programming language. It will be understood that a variety of programming languages may be used to implement the teachings of the disclosure described herein.
[0066] The present disclosure may be provided as a computer program product or software that may include a machine-readable medium having stored thereon instructions that may be used to program a computer system (or other electronic device) to perform the processes according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., computer) readable storage medium such as read-only memory ("ROM"), random access memory ("RAM"), magnetic disk storage media, optical storage media, flash memory devices, and the like.
[0067] In the above disclosure, the implementation of the present disclosure has been described with reference to certain exemplary implementations of the present disclosure. It will be apparent that various changes may be made to those implementations without departing from the broader spirit and scope of the implementation of the present disclosure as described in the appended claims. Where the present disclosure describes some elements in the singular, multiple elements may be shown in the figures, and similar elements are labeled with similar reference numerals. Thus, the present disclosure and the drawings are to be considered in an illustrative, rather than limiting sense.
Claims
1. collecting training data for each design intent in a set of design intents by identifying a set of failures expected to occur when the design intent is manufactured and recording a failure mode and location of each failure in the set of failures determined based on comparing the design intent to a pattern expected by a process model, wherein a separate design layer is created for each failure mode to mark the location of failures belonging to the failure mode; Using the training data, by a processor, to train a neural network to predict failure modes and locations of failures for a first design intent that is different from the design intent in the set of design intents. The method includes:
2. The method of claim 1 , wherein the first design intent specifies a shape desired to be printed on a wafer.
3. 2. The method of claim 1 , wherein the using the training data to train the neural network comprises using supervised learning, where design intent is provided as an input and failure modes and locations are provided as desired outputs.
4. collecting the training data Identifying failure modes in a mask layout using lithographic verification; adjusting a reticle enhancement technology (RET) recipe to address the occurrence of said failure modes; and The method of claim 1 , comprising applying the adjusted RET recipe to the mask layout.
5. The method of claim 4 , wherein each location of a fault is marked by placing a polygon on the design layer near the location of the fault.
6. 6. The method of claim 5, wherein the applying the adjusted RET recipe to the mask layout comprises applying the adjusted RET recipe to an area within a polygon in the design layer that corresponds to the failure mode.
7. using the trained neural network to identify failure modes and locations of failures expected to occur in the design intent; and for each fault, selecting a RET recipe based on the failure mode of the fault; and applying the selected RET recipe to an area surrounding the location of the fault; 2. The method of claim 1, comprising:
8. When executed by a processor, the processor: using a trained neural network to predict failure modes and locations of failures expected to occur when a design intent is printed using a lithography process, where training the neural network includes creating a separate design layer for each failure mode to mark the locations of failures belonging to the failure mode; and for each failure, selecting a reticle enhancement technology (RET) recipe based on the failure mode of the failure; and A non-transitory storage medium storing instructions that cause the selected RET recipe to be applied to an area surrounding the location of the fault.
9. When executed by the processor, the processor collecting training data, the training data including a failure mode and location of each fault in a set of faults identified using a lithography validation tool; and 10. The non-transitory storage medium of claim 8, comprising instructions for using the training data to train an untrained neural network to predict failure modes and locations of failures for a given design intent.
10. said collecting said training data identifying failure modes in a mask layout using the lithography verification tool; adjusting a reticle enhancement technology (RET) recipe to address the occurrence of said failure modes; and The non-transitory storage medium of claim 9 , comprising applying the adjusted RET recipe to the mask layout.
11. The non-transitory storage medium of claim 10 , wherein each location of a fault is marked by placing a polygon on the design layer near the location of the fault.
12. 12. The non-transitory storage medium of claim 11, wherein the applying the adjusted RET recipe to the mask layout comprises applying the adjusted RET recipe to an area within a polygon in the design layer that corresponds to the failure mode.
13. A memory for storing instructions; a processor coupled to the memory for executing the instructions; An apparatus comprising: The instructions, when executed, cause the processor to: collecting training data, the training data including failure modes and locations of failures identified using a lithography verification tool, a separate design layer being created for each failure mode to mark locations of failures belonging to the failure mode; obtaining a trained machine learning model by training an untrained machine learning model using the training data; using the trained machine learning model to predict failure modes and locations of failures expected to occur in a design intent; and For each predicted failure, selecting a reticle enhancement technology (RET) recipe based on a failure mode of the failure; and The apparatus causes the selected RET recipe to be applied to an area surrounding the location of the fault.
14. said collecting said training data identifying failure modes in a mask layout using the lithography verification tool; adjusting a reticle enhancement technology (RET) recipe to address the occurrence of said failure modes; and The apparatus of claim 13 , further comprising applying the adjusted RET recipe to the mask layout.
15. 15. The apparatus of claim 14, wherein the training the untrained machine learning model comprises using supervised learning, where design intent is provided as an input and failure modes and locations of failures are provided as desired outputs.
16. The apparatus of claim 15 , wherein each location of a fault is marked by placing a polygon on the design layer proximate the location of the fault.
17. 17. The apparatus of claim 16, wherein the applying the adjusted RET recipe to the mask layout comprises applying the adjusted RET recipe to an area within a polygon in the design layer that corresponds to the failure mode.
Citation Information
Patent Citations
Defect detection method for a high-density flexible substrate
CN109859207A
Defect inspection system and defect inspection method
JP2008004840A
Pattern generating method and program
JP2008052221A
Verification method and verification device
JP2008268265A
Method and system for using design data in combination with inspection data
JP2013238606A