Method for generating semiconductor pattern and computing device
Through multiple recovery operations and similarity measurement of the generative model, the accuracy problem of pattern transfer in semiconductor chip lithography and etching processes is solved, and higher precision semiconductor pattern generation is achieved, and chip quality is improved.
Patent Information
- Application Number
- CN202510003312.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-04
- Filing Date
- 2025-01-02
- Publication Date
- 2025-07-04
AI Technical Summary
Prior Art In the photolithography and etching processes of semiconductor chips, it is difficult to accurately transfer the circuit pattern from the mask to the wafer, resulting in pattern differences and errors, affecting chip performance.
Generative models are used to generate semiconductor patterns through multiple recovery operations, including recovery processing of denoising and adding random noise, combined with feature extraction and similarity measurement, and adjust the recovery operation sequence to ensure pattern accuracy.
It improves the accuracy and consistency of semiconductor patterns, reduces errors in lithography and etching processes, and improves chip performance and efficiency.
Smart Images

Figure CN120257923A_ABST
Abstract
Description
[0001] This application claims the benefit of Korean Patent Application No. 10-2024-0001773, filed on Jan. 4, 2024, with the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes. Technical Field
[0002] The disclosure relates to a method and apparatus having semiconductor pattern generation. Background Art
[0003] Patterns of a semiconductor chip may be formed through a lithography process and an etching process. A pattern layout of a circuit pattern designed for a semiconductor chip may be created, and the corresponding circuit pattern may be transferred from a mask to a wafer through a lithography process. Through this process, a gap or difference may occur between the circuit pattern transferred onto the wafer and the originally designed circuit pattern. For example, such a gap or difference may occur due to an optical proximity effect in the lithography process and / or a loading effect in the etching process. Techniques (such as process proximity correction (PPC) and optical proximity correction (OPC)) that can consider deformation of the transferred circuit pattern on the wafer have been used to transfer the circuit pattern on the mask to the wafer more accurately. Summary of the Invention
[0004] The present Summary of the Invention is provided to introduce a selection of concepts that are further described below in the Detailed Description. The present Summary of the Invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to help determine the scope of the claimed subject matter.
[0005] In one general aspect, a processor-implemented method includes: generating a first image by performing a first sequence of recovery operations of a generative model based on a first set of recovery processes, the generative model initially being provided with an input image, wherein the generative model is a circuit pattern-based generative model having a plurality of recovery operations; generating a second image by continuing from the first image and performing a second sequence of recovery operations of the generative model based on the first set of recovery processes; and generating a final semiconductor pattern by continuing from the second image and performing a plurality of recovery operations of the generative model according to a determined similarity between the first image and the second image, the plurality of recovery operations including a third sequence of recovery operations of the generative model based on a second set of recovery processes different from the first set of recovery processes.
[0006] The first set of recovery processes may include performing a corresponding recovery operation of the generative model by denoising a current image and then adding random noise to the result of the denoising, and the second set of recovery processes may include performing a different corresponding recovery operation of the generative model by performing denoising without adding random noise to the result of the denoising.
[0007] The method may further include: determining a similarity between the first image and the second image based on a first feature extracted from the first image and a second feature extracted from the second image, and determining whether the similarity meets a predetermined level, wherein the step of generating the final semiconductor pattern may include: when the result of the determination of whether the similarity meets the predetermined level is that the similarity meets the predetermined level, continuing to perform a third sequence of restoration operations of the generative model from the second image, such that the final restoration operation of the third sequence is the final restoration operation of the generative model that outputs the final semiconductor pattern; and when the result of the determination of whether the similarity meets the predetermined level is that the similarity does not meet the predetermined level, generating a corresponding third image by continuing from the second image and performing subsequent restoration operations among the plurality of restoration operations based on a first set of restoration processes and before the third sequence of operations.
[0008] The step of generating the final semiconductor pattern may include: when the performed similarity determination between one of the corresponding third images and a subsequent one of the corresponding third images does not meet a predetermined minimum level, stopping the execution of subsequent restoration operations, and starting to perform a third sequence of restoration operations of the generative model from the subsequent one of the corresponding third images, such that the final restoration operation of the third sequence is the final restoration operation of the generative model that outputs the final semiconductor pattern.
[0009] The method may further include: performing the determination of the similarity between the first image and the second image by: extracting a first feature and a second feature from the first image and the second image, respectively; converting the first feature and the second feature into a first feature vector and a second feature vector, respectively; measuring the similarity between the first image and the second image by comparing the first feature vector with the second feature vector; assigning a similarity score to the measured result, and determining whether the similarity score meets a predetermined threshold; and in response to the similarity score being determined to meet the predetermined threshold, determining that the first image and the second image are similar, and continuing to perform a third sequence of restoration operations of the generative model from the second image, such that the final restoration operation of the third sequence is the final restoration operation of the generative model that outputs the final semiconductor pattern.
[0010] The step of measuring the similarity between the first image and the second image may include measuring the similarity between the first feature vector and the second feature vector by at least one of a measurement based on Euclidean distance, a measurement based on cosine similarity, and a measurement based on Manhattan distance.
[0011] The multiple recovery operations of the generative model can respectively be recovery operation steps at different times from a first recovery operation step to an intermediate recovery operation step to a final recovery operation step corresponding to the final recovery operation of the generative model, and when implemented based on a first set of recovery processes, the sequence of corresponding recovery operations of the generative model can be according to a first time step, the first time step being different from a second time step of a second set of recovery processes, the second time step of the second set of recovery processes defining the sequence of other corresponding recovery operations of the generative model when implemented based on the second set of recovery processes.
[0012] The second time step can be longer than the first time step.
[0013] The method may further include: determining the similarity between a first image and a second image by respectively extracting a first feature from the first image and a second feature from the second image and comparing the first feature with the second feature, wherein the first feature and the second feature can each include at least one of color, texture, shape, boundary, detailed pattern or feature point.
[0014] The method may further include: determining the similarity between a first image and a second image by respectively extracting a first feature from the first image and a second feature from the second image and comparing the first feature with the second feature, wherein the first feature and the second feature can each include semantic features.
[0015] The method may further include: setting a first variable in a memory to store the value of the time step at which the recovery operation of the generative model based on the second set of recovery processes is set to occur; maintaining a second variable in the memory to represent a decreasing integer value of the current time step of the corresponding recovery operation of the generative model when performing the multiple recovery operations; and when the second variable reaches the first variable, executing a third sequence of the generative model.
[0016] In one general aspect, a processor-implemented method includes: setting a variable in a memory to store the value of the time step at which the reverse process of a diffusion model is configured to occur, wherein the diffusion model is trained with semiconductor pattern images; and generating a final semiconductor pattern by performing the reverse process of the diffusion model, including: comparing a first value representing the time step of the current step in the reverse process of the diffusion model with the value stored in the variable; when the first value is greater than the value stored in the variable, based on a first set of recovery processes, recovering a next-step image by performing denoising on the current-step image and adding random noise to the result of the denoising performed on the current-step image; and when the first value is less than or equal to the value stored in the variable, based on a second set of recovery processes different from the first set of recovery processes, recovering a next-step image by performing denoising on the current-step image without performing adding random noise to the result of the denoising.
[0017] The step of setting the value of the variable may include setting the value of the variable to a predetermined value representing a ratio of time steps performed based on a first set of recovery processes and a second set of recovery processes.
[0018] The reverse process of the diffusion model may be configured to be performed in time steps of a total number of settings, and wherein the method may further include: based on a first set of recovery processes, generating a k-th step image by repeatedly performing a first reverse recovery process of the diffusion model to generate an (n - 1)-th step image from an n-th step image, where n decreases from the total number of settings as an increasing integer until n equals k, where n and k are integers; based on the first set of recovery processes, generating a (k - j)-th step image by additional repetition of the first reverse recovery process of the diffusion model, where n decreases from k as an increasing integer until n equals k - j, where j is an integer; and determining a similarity between the k-th step image and the (k - j)-th step image by extracting a first feature from the k-th step image, extracting a second feature from the (k - j)-th step image, and comparing the first feature and the second feature, and wherein the step of setting the variable in a memory to store a value of a time step may include: when determining that the similarity is a predetermined level or greater, setting the value of the variable to k - j.
[0019] The method may further include: when determining that the similarity does not meet a predetermined level, based on the first set of recovery processes, generating a (k - j - m)-th step image by additional repetition of the first reverse recovery process of the diffusion model, where n decreases from k - j as an increasing integer until n equals k - j - m, where m is an integer; and performing a similarity determination between the (k - j - m)-th step image and a subsequent step image.
[0020] The method may further include: when determining that the similarity between the (k - j - m)-th step image and a subsequent step image does not meet a predetermined minimum level, designating the value of m as a value that is a predetermined minimum value or greater.
[0021] In one general aspect, a computing device includes: one or more processors configured to: based on a first set of recovery processes, generate a first image by performing a first sequence of recovery operations of a generative model, the generative model initially being provided with an input image, where the generative model is a circuit pattern-based generative model having a plurality of recovery operations; based on the first set of recovery processes, generate a second image by continuing from the first image and performing a second sequence of recovery operations of the generative model; and generate a final semiconductor pattern by continuing from the second image and performing a plurality of recovery operations of the generative model, the plurality of recovery operations including a third sequence of recovery operations of the generative model based on a second set of recovery processes different from the first set of recovery processes.
[0022] The first set of restoration processes may include: performing a corresponding restoration operation of the generative model by denoising the current image and then adding random noise to the result of the denoising, and the second set of restoration processes may include: performing a different corresponding restoration operation of the generative model by performing denoising without adding random noise to the result of the denoising.
[0023] The one or more processors may also be configured to: respectively perform a determination of the similarity between the first image and the second image based on a first feature extracted from the first image and a second feature extracted from the second image, and determine whether the similarity satisfies a predetermined level, and in order to generate a final semiconductor pattern, the one or more processors may be configured to: when the result of the determination of whether the similarity satisfies the predetermined level is that the similarity satisfies the predetermined level, continue to perform a third sequence of restoration operations of the generative model from the second image, such that the final restoration operation of the third sequence is the final restoration operation of the generative model that outputs the final semiconductor pattern; when the result of the determination of whether the similarity satisfies the predetermined level is that the similarity does not satisfy the predetermined level, based on the first set of restoration processes and before the third sequence of operations, generate a corresponding third image by continuing from the second image and performing a subsequent restoration operation among the plurality of restoration operations; and when it is determined that the performed similarity determination between one of the corresponding third images and a subsequent one of the corresponding third images does not satisfy a predetermined minimum level, stop performing the subsequent restoration operation, and continue to perform a third sequence of restoration operations of the generative model from the subsequent one of the corresponding third images.
[0024] The one or more processors may also be configured to perform a determination of the similarity between the first image and the second image by: respectively extracting a first feature and a second feature from the first image and the second image; respectively converting the first feature and the second feature into a first feature vector and a second feature vector; measuring the similarity between the first image and the second image by comparing the first feature vector with the second feature vector; assigning a similarity score to the result of the measurement, and determining whether the similarity score satisfies a predetermined threshold; and in response to the similarity score being determined to satisfy the predetermined threshold, determining that the first image and the second image are similar, and continuing to perform a third sequence of restoration operations of the generative model from the second image, such that the final restoration operation of the third sequence is the final restoration operation of the generative model that outputs the final semiconductor pattern.
[0025] In order to measure the similarity between the first image and the second image, the one or more processors may be configured to measure the similarity between the first feature vector and the second feature vector by at least one of a measurement based on the Euclidean distance, a measurement based on the cosine similarity, and a measurement based on the Manhattan distance.
[0026] Other features and aspects will be apparent from the following detailed description, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 Illustrates an example semiconductor pattern generation process for a computing device in accordance with one or more embodiments.
[0028] Figure 2 Illustrates an example method with semiconductor pattern generation in accordance with one or more embodiments.
[0029] Figure 3 Is a flowchart of an example method with semiconductor pattern generation in accordance with one or more embodiments.
[0030] Figure 4 Is a flowchart of an example method with semiconductor pattern generation in accordance with one or more embodiments.
[0031] Figures 5 to 8 Illustrates an example implementation result of semiconductor pattern generation in accordance with one or more embodiments.
[0032] Figure 9 Illustrates an example electronic device in accordance with one or more embodiments.
[0033] Throughout the drawings and the detailed description, unless otherwise described or provided, the same reference numerals can be understood to represent the same or similar elements, features, and structures. The drawings may not be drawn to scale, and for clarity, illustration, and convenience, the relative sizes, proportions, and depictions of elements in the drawings may be exaggerated. DETAILED DESCRIPTION
[0034] The following detailed description is provided to assist the reader in obtaining a comprehensive understanding of the methods, devices, and / or systems described herein. However, various changes, modifications, and equivalents of the methods, devices, and / or systems described herein will be apparent after understanding the disclosure of this application. For example, the order of operations described herein and / or the order within an operation are merely examples and are not limited to the order of operations set forth herein. Rather, the order of operations can be changed as will be apparent after understanding the disclosure of this application, except for the order of operations and / or the order within an operation that must occur in a particular order. As another example, the order of operations and / or the order within an operation can be performed in parallel, except for at least a portion of the order of operations and / or the order within an operation that must occur in sequence (e.g., a particular order). Additionally, descriptions of features known after understanding the disclosure of this application may be omitted for greater clarity and conciseness.
[0035] The features described herein can be implemented in various forms and should not be construed as limited to the examples described herein. Instead, the examples described herein are provided only to illustrate some of the many possible ways of implementing the methods, apparatuses, and / or systems described herein that will be apparent after understanding the disclosure of the present application. The use of the term "may" herein with respect to an example or embodiment (e.g., with respect to what an example or embodiment may include or implement) means that there is at least one example or embodiment that includes or implements such a feature, while not all examples are so limited. The use of the terms "example" or "embodiment" herein has the same meaning (e.g., the phrase "in one example" has the same meaning as "in one embodiment", and "one or more examples" has the same meaning as "in one or more embodiments").
[0036] Throughout the specification, when a component or element is described as being "on", "connected to", "coupled to", or "joined to" another component, element, or layer, the component or element can be directly "on" the other component, element, or layer (e.g., in contact with the other component, element, or layer), directly "connected to", "coupled to", or "joined to" the other component, element, or layer, or there can reasonably be one or more other components, elements, or layers therebetween. When a component, element, or layer is described as being "directly on", "directly connected to", "directly coupled to", or "directly joined to" another component, element, or layer, there can be no other components, elements, or layers therebetween. Similarly, expressions such as "between" and "immediately between" and "adjacent to" and "immediately adjacent to" can also be interpreted as described above.
[0037] Although terms such as "first", "second", and "third" or A, B, (a), (b), etc. may be used herein to describe various members, components, regions, layers, or portions, these members, components, regions, layers, or portions are not limited by these terms. Each of these terms is not used to define, for example, the nature, order, or sequence of the corresponding member, component, region, layer, or portion, but is only used to distinguish the corresponding member, component, region, layer, or portion from other members, components, regions, layers, or portions. Thus, a first member, first component, first region, first layer, or first portion referred to in an example described herein can also be referred to as a second member, second component, second region, second layer, or second portion without departing from the teachings of the example.
[0038] The terms used herein are for describing various examples only and are not intended to limit the disclosure. Unless the context clearly indicates otherwise, the singular forms are also intended to include the plural forms. As a non-limiting example, the terms "comprise", "include" and "have" state the presence of the stated features, quantities, operations, components, elements and / or combinations thereof, but do not preclude the presence or addition of one or more other features, quantities, operations, components, elements and / or combinations thereof, or optionally the presence of the stated optional features, quantities, operations, components, elements and / or combinations thereof. In addition, although one embodiment may state that the terms "comprise", "include" and "have" state the presence of the stated features, quantities, operations, components, elements and / or combinations thereof, there may be other embodiments where "one or more of the stated features, quantities, operations, components, elements and / or combinations thereof are absent".
[0039] As used herein, the term "and / or" includes any one of the associated listed items and any combination of any two or more thereof. Phrases such as "at least one of A, B and C", "at least one of A, B or C", etc. are intended to have a disjunctive meaning, and unless the corresponding description and examples need to be interpreted as having a conjunctive meaning for such a list (e.g., "at least one of A, B and C"), these phrases "at least one of A, B and C", "at least one of A, B or C", etc. also include examples where one or more of each of A, B and / or C may be present (e.g., any combination of one or more of each of A, B and C).
[0040] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains and specifically in the context of understanding the disclosure of this application. Unless explicitly defined as such herein, terms (such as those defined in common dictionaries) shall be interpreted as having a meaning consistent with their meaning in the context of the relevant art and specifically in the context of the disclosure of this application, and shall not be interpreted in an idealized or overly formal sense.
[0041] Figure 1 An example semiconductor pattern generation process of a computing device according to one or more embodiments is shown.
[0042] Referring to Figure 1 , the computing device 10 may include one or more memories 30 and one or more processors 20. As a non-limiting example, the computing device 10 may be as described below with reference to Figure 9The described electronic device 50. For example, one or more processors 20 may correspond to one or more processors 510 of the electronic device 50, and one or more memories 30 may correspond to one or more memories 530 of the electronic device 50.
[0043] The computing device 10 may be configured to perform a model providing operation 110 that provides a generative model (e.g., to one or more processors 20), perform an inverse processing operation 120 that performs a restoration step of the generative model (e.g., by any one or any combination of one or more processors 20), perform a similarity determination operation 140 that determines respective similarities between step results of different executions of the inverse processing operation 120 (e.g., by any one or any combination of one or more processors 20), and perform a restoration method determination operation 130 that determines respective restoration methods for the inverse processing operation 120 based on corresponding results of the similarity determination operation 140 (e.g., by any one or any combination of one or more processors 20).
[0044] The model providing operation 110 may prepare a generative model (e.g., a diffusion model) trained with semiconductor pattern images. The generative model may be stored in any one of the one or more memories 30 and / or may be loaded from any one of the one or more memories 30 into any other of the one or more memories 30 to be provided to any one of the one or more processors 20 for implementing the generative model for generating semiconductor patterns. Although the examples are not limited thereto, for purposes of explanation, the following examples will be provided based on the generative model being a diffusion model. Thus, any one or any combination of one or more processors 20 may be configured to perform any one or any combination of the operations described herein (as non-limiting examples, including any one or all of the model providing operation 110, the inverse processing operation 120, the restoration method determination operation 130, and the similarity determination operation 140). For example, one or more processors 20 may be configured to execute instructions that may be stored in any one of the one or more memories 30 such that execution of the instructions by one or more processors 20 configures the one or more processors 20 to perform any one or any combination of the operations described herein (as non-limiting examples, including any one or all of the model providing operation 110, the inverse processing operation 120, the restoration method determination operation 130, and the similarity determination operation 140).
[0045] A diffusion model or diffusion probability model is a generative model and can model the processing of generating data as a diffusion process. Specifically, a forward process can be first performed via a noise-adding diffusion model that "progressively transforms input data (e.g., an input image) into fully generated noise" (by way of example only, by repeating a step process of gradually adding noise (e.g., from step 0 to step T) to the data), so that the diffusion model is trained to have generation and recovery. A diffusion model with generation and recovery properties can be trained by a backward step process, which regenerates the data by repeating a step process of gradually recovering (or denoising) the fully generated noise (e.g., from step T' to step 0). In the simplest and most typical method, T' can be equal to T, so there can be the same number of recovery (or denoising) steps in the diffusion model with generation and recovery properties as the number of noise-adding steps in the noise-adding diffusion model. For example, the noise-adding diffusion model can add noise to the input image I0 and progressively add noise for each time step t until the final image I T is generated, and the diffusion model with generation and recovery properties can input the image I T and progressively recover (or denoise) for each time step t until the final image I F is generated. Similarly, in the simplest and most typical method, the diffusion model with generation and recovery properties can be trained such that the image I F is the same as the image I0, or based on conditions or other information also considered by the diffusion model with generation and recovery properties, the image I F can be slightly or significantly different from the image I0. As a non-limiting example, each step of the noise-adding diffusion model can include a set of AI or other machine learning components (such as, by way of non-limiting example, multiple neural network layers): configured to each add noise to the data input to the set of AI or other machine learning components, such that each set of AI or other machine learning components that respectively perform progressive noise addition follows the previous set of AI or other machine learning components. As a non-limiting example, each step of the diffusion model with generation or recovery properties can include another set of AI or other machine learning components (such as, by way of non-limiting example, multiple neural network layers): configured to each remove noise from the data input to the other set of AI or other machine learning components, such that each other set of AI or other machine learning components that respectively perform progressive recovery or noise removal follows the previous other set of AI or other machine learning components. Hereinafter, for ease of illustration, the noise-adding diffusion model can be referred to as forward processing, forward diffusion processing, forward diffusion model, etc., and the diffusion model with generation and recovery properties can be referred to as backward processing, backward diffusion processing, generative backward diffusion processing, generative backward diffusion model, etc.
[0046] The model providing operation 110 can prepare and provide a generative reverse diffusion model, which is trained by a reverse process of "restoring the original semiconductor pattern image data from the input semiconductor pattern image data added with noise". In one example, the generative reverse diffusion model can be trained to generate new data corresponding to the original semiconductor pattern image from the data added with noise, as a semiconductor pattern image including the microstructure of a semiconductor chip (e.g., various hardware component parts such as a gate pattern constituting a transistor, an interconnect for connecting elements inside the semiconductor chip to each other and providing a current path, a contact hole for connecting the upper layer and the lower layer, a memory cell pattern having a data storage function, a power rail for distributing power to the semiconductor chip, etc.).
[0047] The reverse processing operation 120 can set a total of n steps for performing the reverse process of the generative reverse diffusion model (where n is an integer greater than 1), and the recovery method determination operation 130 can set the current recovery method to the first recovery method, which can also be referred to as the first set of recovery processes here. Here, the first recovery method can include a method of restoring the next step image by performing denoising (removing noise) on the current step image (or step image) and then adding random noise. Subsequently, the reverse processing operation 120 can restore the (n - 1)-th step image from the n-th step image where the reverse process starts based on the first recovery method set by the recovery method determination operation 130. Here, the value of n can be set to an appropriate determined value according to the purpose of the embodiment, the environment of the embodiment, etc. That is, the reverse processing operation 120 can remove the noise of one step from the n-th step image where the reverse process starts, then add random noise before completing the recovery step, and restore the image added with random noise to the (n - 1)-th step image.
[0048] Then, the reverse processing operation 120 can repeat the recovery based on the first recovery method until the k-th step image is finally obtained from the (n - 1)-th step image (where k is an integer less than or equal to n - 1). Here, the value of k can be set to an appropriate determined value according to the purpose of the embodiment, the environment of the embodiment, etc., and specifically, performance and efficiency can be considered in generating the semiconductor pattern by the generative reverse diffusion model.
[0049] The similarity determination operation 140 can obtain a first feature by performing feature extraction on the k-th step image. In some embodiments, the first feature can include at least one of color, texture, shape, boundary, detailed pattern, and feature points. In some other embodiments, the first feature can include semantic features. Here, the semantic feature can be a feature representing the meaning or content of the object expressed by the image.
[0050] Then, the reverse processing operation 120 can be repeatedly restored until the (k-j)-th step image is finally obtained from the k-th step image based on the first restoration method (where j is an integer greater than 0). Here, the value of j can be set to an appropriate determined value according to the purpose of the embodiment, the environment of the embodiment, etc., and specifically, performance and efficiency can be considered in generating a semiconductor pattern through a generative reverse diffusion model.
[0051] The similarity determination operation 140 can obtain a second feature by performing feature extraction on the (k-j)-th step image. In some embodiments, like the first feature, the second feature can include at least one of color, texture, shape, boundary, detailed pattern, and feature points. In some other embodiments, like the first feature, the second feature can include semantic features.
[0052] In some embodiments, the feature extraction can be completed by using a separate feature extraction model, or can be completed by using internal features used in the generative reverse diffusion model.
[0053] Then, the similarity determination operation 140 can determine the similarity between the k-th step image and the (k-j)-th step image based on the first feature and the second feature. In some embodiments, the similarity determination operation 140 can measure the similarity by converting the first feature into a first feature vector, converting the second feature into a second feature vector, and comparing the first feature vector with the second feature vector. In addition, the similarity determination operation 140 can assign a similarity score to the measurement result, and when the similarity score satisfies a predetermined threshold (e.g., is the predetermined threshold or greater), determine that the k-th step image and the (k-j)-th step image are similar.
[0054] In some embodiments, measuring the similarity by comparing the first feature vector with the second feature vector can include measuring the similarity between the first feature vector and the second feature vector by at least one of a method based on Euclidean distance, a method based on cosine similarity, and a method based on Manhattan distance. The similarity measurement based on Euclidean distance can be a method of measuring the straight-line distance between the first feature vector and the second feature vector, and the similarity measurement based on cosine similarity can be a method of measuring the angle between the first feature vector and the second feature vector and paying attention to the directionality. The similarity measurement based on Manhattan distance can be a method of measuring the distance (i.e., Manhattan distance) between the first feature vector and the second feature vector measured along a grid-shaped path.
[0055] When the similarity determination operation 140 determines that the similarity is higher than a predetermined level, the recovery method determination operation 130 can set the current recovery method to a second recovery method different from the first recovery method. Here, the second recovery method can also be referred to as a second set of recovery processes. Here, the second recovery method can include a method of recovering the next-step image by only performing denoising on the current-step image. That is, the second recovery method can be a method of recovering the current-step image that has been denoised by one step to the next-step image without adding random noise. Then, the reverse processing operation 120 can repeat the recovery until, as a non-limiting example, the 0-step image is finally recovered from the (k-j)-step image based on the second recovery method. Here, as such a non-limiting example, the 0-step image can be the finally generated semiconductor pattern image output by the generative reverse diffusion model.
[0056] Specifically, the time step of the first recovery method can be different from the time step of the second recovery method. For example, the second time step can be a subset of the first time step. Therefore, the interval of the second time step can be set to be longer than the interval of the first time step. Here, although examples have been given where the steps in each of the forward diffusion model and the generative reverse diffusion model have been explained as being time-related (i.e., related to the steps of the respective setting units of time (such as the first setting time unit of the example first recovery method and the different second setting time unit of the example second recovery method)), such examples are for illustrative purposes only, and such steps are not time units, but merely the corresponding strides or other predetermined divisions of all or a sub-all part of the aforementioned total number T or T' of steps of the forward diffusion model, or as the generative reverse diffusion model after original training.
[0057] Different from when the similarity determination operation 140 determines that the similarity is higher than a predetermined level, when the similarity determination operation 140 determines that the similarity does not meet a predetermined threshold (e.g., is less than a predetermined level), the reverse processing operation 120 can repeat the recovery until the (k-j-m)-step image (where m is an integer greater than 0) is finally obtained from the (k-j)-step image based on the first recovery method. Here, the value of m can be set to an appropriate determined value according to the purpose of the embodiment, the environment of the embodiment, etc., and specifically, performance and efficiency can be considered in generating the semiconductor pattern by the generative reverse diffusion model. Meanwhile, the similarity determination operation 140 can re-perform the similarity determination on the (k-j-m)-step image and subsequent step images.
[0058] In some embodiments, the value of m can be determined considering the similarity. Specifically, when the similarity is determined not to meet a predetermined minimum level (e.g., is determined to be less than a predetermined minimum level), the value of m can be specified as a predetermined minimum value or greater. For example, if the value representing the minimum level of similarity is SM and the minimum value is i M When the similarity between the k-th step image determined by the similarity determination operation 140 and the (k - j)-th step image does not reach S, which is the minimum level of the similarity M the value of m can be set to a sufficiently large value (i.e., at least equal to or greater than the minimum value i M ). Therefore, because the similarity between the k-th step image and the (k - j)-th step image is not high, when the similarity determination is re-executed in subsequent steps, the number of re-executions can be controlled so as not to increase unnecessarily.
[0059] In one example, in the inference of a generative reverse diffusion model trained with semiconductor pattern images, a first recovery method of adding random noise for each time step is adopted from the start step of the reverse process until the change in the image corresponding to the restored intermediate step drops below a predetermined standard, so as to ensure sufficient diversity of the generation result. And when the step at which the change in the image corresponding to the restored intermediate step drops below the predetermined standard (for example, the step of determining that the overall form of the image has been completed to a certain extent, or the step of determining that the semantic features of the image have been established to a certain extent) is reached, a second recovery method of increasing the time step interval and no longer adding random noise is adopted. Therefore, the inference speed can be increased and computing resources can be saved. Specifically, if only the first recovery method is applied to all time steps, once the last recovery step is completed to provide the final generation result, the noise added for each time step may not be fully removed and may be retained in the final generation result, which may lead to the problem that the noise retained in generating the contour may not be fine. If only the second recovery method is applied to all time steps, the problem that the diversity of the final generation result may not be ensured may occur. On the contrary, as a non-limiting example, various embodiments of at least the first recovery method and the second recovery method can be utilized, so as to reduce or minimize any noise that may be retained in the final generation result, and / or diversity is achieved, so that compared with the previous method, not only a fine semiconductor pattern is generated, but also the performance efficiency is improved.
[0060] Figure 2 Shows an example method with semiconductor pattern generation according to one or more embodiments.
[0061] Referring to Figure 2 , in the reverse process of the generative reverse diffusion model (or denoising diffusion model), the image x can be restored based on the first recovery method t to restore the image x t-1 . Specifically, the generative reverse diffusion model, such as ε θ (x t , t) as represented, operates on the image x tDenoising is performed, and random noise such as σ t is added to the image x as represented in z t , so that the image x t-1 can be recovered. Then, from the image x t-1 The image restoration in the subsequent steps can be repeated, and then finally after a further step, the image x k Can be recovered.
[0062] In the restored image x k Afterwards, we can k Perform feature extraction. Then, we can repeatedly extract k The image restoration in the subsequent steps (e.g., in the ε-based θ (x t' , t') of denoising and adding noise σ t' z), then, the image x can be finally recovered k-j , and in the restored image x k-j Afterwards, we can k-j Perform feature extraction. When the image x k and image x k-j When the extracted features are compared and the difference of the features does not meet a predetermined threshold (for example, when determining that the image x k With image x k-j is a predetermined level or greater), the restoration may be repeated based on a second restoration method different from the first restoration method (e.g., from a method based on ε θ (x t'' , t'' ) Restore image x k-j Starting from ), until the image x is obtained without adding random noise k-j Restore image x0.
[0063] In some embodiments, a variable that can store the value of the time step at which the reverse process of the generative reverse diffusion model is performed in the memory can be set. The computing device 10 can compare the value of the time step representing the current step in the reverse process stored in the memory with the value stored in the variable. When the value representing the time step of the current step is greater than the value stored in the variable, the next step image can be restored by performing denoising on the current step image based on the first restoration method and then adding random noise. Different from this, when the value representing the time step of the current step is less than or equal to the value stored in the variable, the next step image can be restored by performing denoising only on the current step image based on a second restoration method different from the first restoration method.
[0064] Specifically, the reverse process can be performed in a total of n time steps (where n is an integer greater than 1), and the computing device 10 can recover the (n - 1)-th step image from the n-th step image at which the reverse process starts based on the first recovery method, and then repeat the recovery until the k-th step image is finally obtained from the (n - 1)-th step image. Subsequently, the computing device 10 can perform feature extraction on the k-th step image to obtain a first feature, repeat the recovery until the (k - j)-th step image is finally obtained from the k-th step image based on the first recovery method, perform feature extraction on the (k - j)-th step image to obtain a second feature, and then determine the similarity between the k-th step image and the (k - j)-th step image based on the first feature and the second feature.
[0065] When it is determined that the similarity satisfies a predetermined level (e.g., is the predetermined level or greater), the computing device 10 can set the value of the variable to k - j. Therefore, when the value of the time step representing the current step is less than or equal to k - j stored in the variable, the first recovery method can be switched to the second recovery method.
[0066] When it is determined that the similarity does not satisfy the predetermined level (e.g., is less than the predetermined level), the computing device 10 can repeat the recovery until the (k - j - m)-th step image (where m is an integer greater than 0) is finally obtained from the (k - j)-th step image based on the first recovery method, and re-perform the similarity determination on the (k - j - m)-th step image and subsequent step images.
[0067] For example, a variable storing the value of the time step at which the reverse process of the generative reverse diffusion model is performed can be stored in the memory and can have the name "stop_random_noise". The initial value can be set to 1 in "stop_random_noise". As a result of "performing feature extraction on the k-th step image to obtain a first feature", the recovery is repeated until the (k - j)-th step image is finally obtained from the k-th step image based on the first recovery method, feature extraction is performed on the (k - j)-th step image to obtain a second feature, and then the similarity between the k-th step image and the (k - j)-th step image is determined based on the first feature and the second feature. When it is determined that the similarity satisfies a predetermined level (e.g., is the predetermined level or greater), the computing device 10 can set the value of the variable "stop_random_noise" to k - j. Then, when the value of the time step representing the current step is less than or equal to k - j stored in the variable, the first recovery method can be switched to the second recovery method.
[0068] In some embodiments, the value of a variable may be set to a predetermined value indicating a ratio of time steps performed based on a first recovery method and a second recovery method. In such a case, when the similarity between images is not determined and the value of the time step representing the current step is less than or equal to the value set as the predetermined value stored in the variable, the first recovery method may be switched to the second recovery method. For example, when "manual value" is set in the variable "stop_random_noise", the similarity between images is not determined, and the value of the time step representing the current step is less than or equal to the "manual value" stored in the variable, the first recovery method may be switched to the second recovery method.
[0069] Figure 3 is a flowchart of an example method of generating a semiconductor pattern according to one or more embodiments.
[0070] Referring to Figure 3 , a method of generating a semiconductor pattern according to an embodiment may include: recovering a k-th step image from an n-th step image based on a first recovery method (repeatedly performing a recovery operation from the n-th step image) (e.g., performing a first sequence of recovery operations of a generative model) (S301), obtaining a first feature of the k-th step image (S302), recovering a (k-j)-th step image from the k-th step image based on the first recovery method (e.g., performing a second sequence of recovery operations of the generative model) (S303), obtaining a second feature of the (k-j)-th step image (S304), determining a similarity between the k-th step image and the (k-j)-th step image based on the first feature and the second feature (S305), and determining whether the similarity is a predetermined level or greater (S306).
[0071] When it is determined that the similarity is a predetermined level or greater, the method of generating a semiconductor pattern may perform repeated image recovery from the (k-j)-th step image based on a second recovery method (e.g., performing a third sequence of recovery operations of the generative model) (S307).
[0072] In contrast, when it is determined that the similarity is not a predetermined level or greater (e.g., less than the predetermined level), the method of generating a semiconductor pattern may include: recovering a (k-j-m)-th step image from the (k-j)-th step image based on the first recovery method (repeatedly performing a recovery operation from the (k-j)-th step image) (S308), and re-performing the determination of the similarity between the (k-j-m)-th step image and subsequent step images (S309). For example, when the determination of the similarity between the (k-j-m)-th step image and subsequent step images satisfies a predetermined minimum level (e.g., is a predetermined level or greater), the method of generating a semiconductor pattern may stop performing subsequent recovery operations based on the first recovery method and may perform repeated image recovery from the subsequent step image based on the second recovery method (e.g., performing a third sequence of recovery operations of the generative model).
[0073] As a non-limiting example, more specific details of the method for generating a semiconductor pattern can be referred to the description provided above with reference to Figure 1 and Figure 2 Accordingly, redundant descriptions have been omitted here.
[0074] Figure 4 is a flowchart of an example method for generating a semiconductor pattern according to one or more embodiments.
[0075] Referring to Figure 4 , the method for generating a semiconductor pattern according to an embodiment may include: setting a variable capable of storing a value of a time step at which the reverse process of the generative reverse diffusion model is performed and storing an initial value (S401) and determining whether the value of the time step of the current step is greater than the value of the variable (S402).
[0076] When it is determined that the value of the time step of the current step is greater than the value of the variable, the method for generating a semiconductor pattern may perform repeated image restoration from the k-j step image based on a first restoration method (S403).
[0077] In contrast, when it is determined that the value of the time step of the current step is less than or equal to the value of the variable, the method for generating a semiconductor pattern may perform repeated image restoration from the k-j step image based on a second restoration method (S404).
[0078] More specific details of the method for generating a semiconductor pattern can be referred to the description provided above with reference to Figures 1 to 3 Accordingly, redundant descriptions have been omitted here.
[0079] Figures 5 to 8 shows example implementation results of semiconductor pattern generation according to one or more embodiments.
[0080] As described above, when only the first restoration method is implemented, the noise added for each time step may not be sufficiently removed from the final generated result and may remain in the final generated result, which may lead to a problem that the noise remaining when generating the contour may not be fine (for example, the boundary of a straight line may be uneven and the overall fineness of the layout may deteriorate). In contrast, when only the second restoration method is implemented, a problem that the diversity of the final generated result cannot be ensured may occur.
[0081] Figure 5An example is shown in which a total of 1000 time steps are set and in which the value of the above example "stop_random_noise" is set to 5% of the total time steps. Thus, after the reverse process starts, the restoration of the image is repeated based on the first restoration method during the period corresponding to 950 time steps, and the restoration of the image is repeated based on the second restoration method during the period corresponding to the remaining 50 time steps. As a non-limiting example, Figure 5 the vertical axis of may represent a feature distance. For example, the smaller the feature distance, the greater the similarity between the images can be indicated.
[0082] Figure 6 An example of the restored result of intermediate images at the 50th, 30th, 20th, 10th, and 0th (final) time steps after performing 950 out of a total of 1000 time steps according to the first restoration method is shown. In Figure 6 , it can be seen that when restoring the intermediate image at each time step after the first restoration method stops, it may be sufficient to perform only denoising and not add random noise. For example, sufficient diversity can be ensured through the first 950 time steps, so the remaining 50 time steps can focus on accelerating the inference speed rather than diversity. Specifically, the length of one time step corresponding to the remaining 50 time steps is set to be longer than the length of one time step corresponding to the previous 950 time steps, which further accelerates the inference speed.
[0083] Figure 7 and Figure 8 show an example final result obtained according to an embodiment. As Figure 7 highlighted in, it can be seen that the boundaries of the straight lines are uniformly formed with a constant value. In Figure 8 , it can be seen that the layout contour is formed finely and clearly.
[0084] Figure 9 An example electronic device according to one or more embodiments is shown.
[0085] The electronic device 50 may include one or more processors 510, one or more memories 530, a user interface input device 540, a user interface output device 550, and one or more storage devices 560 that communicate via a bus 520. The electronic device 50 may also include a network interface 570 electrically connected to a network 40. The network interface 570 may send signals to other entities or receive signals from other entities via the network 40. In a non-limiting example, the electronic device 50 may be Figure 1 the computing device 10, or one or more processors 510 and one or more memories 530 may correspond to the computing device 10.
[0086] One or more processors 510 may be or include various types of processors (such as any one or any combination of a central processing unit (CPU), an application processor (AP), a graphics processing unit (GPU), a neural processing unit (NPU), a microcontroller unit (MCU), etc.), or may be any semiconductor device that executes instructions stored in one or more memories 530 or one or more storage devices 560. As a non-limiting example, one or more processors 510 may be configured to perform any one or any combination of the operations described herein with respect to Figures 1 to 8 any one or any combination of the operations described.
[0087] One or more memories 530 and one or more storage devices 560 may include various types of volatile or non-volatile storage media. For example, one or more memories 530 may include a read-only memory (ROM) 531 and a random access memory (RAM) 532. In various embodiments, one or more memories 530 may be located inside and / or outside one or more processors 510, and one or more memories 530 may be connected to one or more processors 510 by various known means.
[0088] According to one or more embodiments, in the inference of a generative reverse diffusion model trained with semiconductor pattern images, a first recovery method of adding random noise for each time step may be employed from the start step of the reverse process until the change in the image corresponding to the restored intermediate step is reduced below a predetermined standard, so as to ensure sufficient diversity of the generation results, and when the step at which the change in the image corresponding to the restored intermediate step is reduced below a predetermined standard (for example, the step of determining that the overall form of the image has been completed to a certain extent, or the step of determining that the semantic features of the image have been established to a certain extent) is reached, a second recovery method of increasing the time step interval and stopping adding random noise may be employed, and thus, the inference speed may be increased and computing resources may be saved.
[0089] The operations described herein include those with respect to Figures 1 to 9The described computing device, electronic device, processor, memory, user interface input device, user interface output device, storage device, network interface, network, and bus are implemented by or represent hardware components. As described above, or in addition to the above description, examples of hardware components that can be used to perform the operations described in this application include, where appropriate, controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtracters, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application. In other examples, one or more of the hardware components that perform the operations described in this application are implemented by computing hardware (e.g., by one or more processors or computers). A processor or computer can be implemented by one or more processing elements (such as, logic gate arrays, controllers and arithmetic logic units, digital signal processors, microcomputers, programmable logic controllers, field programmable gate arrays, programmable logic arrays, microprocessors, or any other device or combination of devices configured to respond and execute instructions in a defined manner to achieve a desired result). In one example, a processor or computer includes or is connected to one or more memories that store instructions or software executed by the processor or computer. The hardware components implemented by the processor or computer can execute instructions or software for performing the operations described in this application (such as, an operating system (OS) and one or more software applications running on the OS). The hardware components can also access, manipulate, process, create, and store data in response to the execution of the instructions or software. For simplicity, the singular terms "processor" or "computer" can be used in the description of the examples described in this application, but in other examples, multiple processors or computers can be used, or a processor or computer can include multiple processing elements, or multiple types of processing elements, or both, and thus although some references may be made to a single processor or computer, such references are also intended to represent multiple processors or computers. For example, a single hardware component or two or more hardware components can be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components can be implemented by one or more processors, or a processor and a controller, and one or more other hardware components can be implemented by one or more other processors, or additional processors and additional controllers. One or more processors or a processor and a controller can implement a single hardware component, or two or more hardware components. As described above, or in addition to the above description, example hardware components can have any one or more of different processing configurations, examples of different processing configurations include a single processor, independent processors, parallel processors, single instruction single data (SISD) multiprocessing, single instruction multiple data (SIMD) multiprocessing, multiple instruction single data (MISD) multiprocessing, and multiple instruction multiple data (MIMD) multiprocessing.
[0090] Figures 1 to 9 shown and discussed with respect to Figures 1 to 9 The methods of performing the operations described in this application, shown and discussed with respect to Figures 1 to 9 , are performed by computing hardware (e.g., by one or more processors or computers), which is implemented to execute instructions (e.g., computer or processor / processing device readable instructions) or software as described above to perform the operations performed by the methods described in this application. For example, a single operation or two or more operations may be performed by a single processor, or two or more processors, or a processor and a controller. One or more operations may be performed by one or more processors, or a processor and a controller, and one or more other operations may be performed by one or more other processors, or additional processors and additional controllers. One or more processors or a processor and a controller may perform a single operation, or two or more operations. As a non-limiting example, a reference to a processor or one or more processors configured to perform two or more operations means a processor or two or more processors configured to perform all of the two or more operations jointly, and a configuration in which two or more processors each perform any corresponding one of the two or more operations (e.g., the respective one or more processors are configured to perform each of the two or more operations, one or more processors are configured to perform each of the two or more operations, or any corresponding combination of one or more processors is configured to perform any corresponding combination of the two or more operations).
[0091] Instructions or software for controlling computing hardware (e.g., one or more processors or computers) to implement the hardware components and perform the methods described above may be written as a computer program, code segment, instruction, or any combination thereof, for individually or jointly instructing or configuring one or more processors or computers to operate as a machine or special-purpose computer to perform the operations performed by the hardware components and methods described above. In one example, the instructions or software include machine code (such as machine code generated by a compiler) directly executable by one or more processors or computers. In another example, the instructions or software include high-level code executable by one or more processors or computers using an interpreter. The instructions or software may be written in any programming language based on the block diagrams and flowcharts shown in the figures and the corresponding descriptions herein, and the block diagrams and flowcharts shown in the figures and the corresponding descriptions herein disclose algorithms for performing the operations performed by the hardware components and methods described above.
[0092] Instructions or software for controlling computing hardware (e.g., one or more processors or computers) to implement the hardware components and execute the methods as described above, along with any associated data, data files, and data structures, can be recorded, stored, or fixed in one or more non-transitory computer-readable storage media, or recorded, stored, or fixed on one or more non-transitory computer-readable storage media, and thus are not signals themselves. As described above, or in addition to the above description, examples of non-transitory computer-readable storage media include read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc memory, hard disk drive (HDD), solid state drive (SSD), card-type memory (such as, multimedia card or micro card (e.g., Secure Digital (SD) or Extreme Digital (XD))), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and / or any other device configured to store instructions or software and any associated data, data files, and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files, and data structures to one or more processors or computers such that the one or more processors or computers can execute the instructions. In one example, the instructions or software and any associated data, data files, and data structures are distributed across a networked computer system such that the instructions and software and any associated data, data files, and data structures are stored, accessed, and executed by one or more processors or computers in a distributed manner.
[0093] Although this disclosure includes specific examples, it will be apparent after understanding the disclosure of this application that various changes in form and detail can be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein will be considered only as descriptive and not for purposes of limitation. The description of a feature or aspect in each example will be considered applicable to similar features or aspects in other examples. Appropriate results can be achieved if the described techniques are performed in a different order, and / or if the components in the described systems, architectures, devices, or circuits are combined in a different manner, and / or replaced or supplemented by other components or their equivalents.
[0094] Accordingly, in addition to what is disclosed above and in the entire drawings, the scope of the disclosure also includes the claims and their equivalents (i.e., all variations within the scope of the claims and their equivalents should be construed as being included in the disclosure).
Claims
1. A method for generating a semiconductor pattern, the method comprising: Based on a first set of restoration processes, generating a first image by performing a first sequence of restoration operations of a generative model, the generative model being initially provided with an input image, wherein the generative model is a circuit-pattern-based generative model having a first plurality of restoration operations; Based on the first set of restoration processes, generating a second image by continuing to perform a second sequence of restoration operations of the generative model from the first image; and According to the determined similarity between the first image and the second image, generating a final semiconductor pattern by continuing to perform a second plurality of restoration operations of the generative model from the second image, the second plurality of restoration operations including a third sequence of restoration operations of the generative model based on a second set of restoration processes different from the first set of restoration processes.
2. The method according to claim 1, Among them, The first set of restoration processes includes: performing a corresponding restoration operation of the generative model by denoising a current image and then adding random noise to the result of the denoising, wherein the second set of restoration processes includes: performing a different corresponding restoration operation of the generative model by performing denoising without adding random noise to the result of the denoising.
3. The method according to claim 1 further comprises: Determining the similarity between the first image and the second image based on a first feature extracted from the first image and a second feature extracted from the second image, and determining whether the similarity satisfies a predetermined level, wherein the step of generating the final semiconductor pattern includes: When the result of determining whether the similarity satisfies the predetermined level is that the similarity satisfies the predetermined level, continuing to perform a third sequence of restoration operations of the generative model from the second image, such that the final restoration operation of the third sequence is the final restoration operation of the generative model outputting the final semiconductor pattern; and When the result of determining whether the similarity satisfies the predetermined level is that the similarity does not satisfy the predetermined level, based on the first set of restoration processes and before the third sequence of restoration operations, generating a corresponding third image by continuing to perform subsequent restoration operations among the second plurality of restoration operations from the second image.
4. The method according to claim 3, wherein The step of generating the final semiconductor pattern includes: when it is determined that the performed similarity determination between one of the corresponding third images and a subsequent one of the corresponding third images satisfies a predetermined minimum level, stopping performing subsequent restoration operations, and starting to perform a third sequence of restoration operations of the generative model from the subsequent one of the corresponding third images, such that the final restoration operation of the third sequence is the final restoration operation of the generative model outputting the final semiconductor pattern.
5. The method according to claim 1 further comprises: The determination of the similarity between the first image and the second image is performed by: Extracting a first feature from the first image and a second feature from the second image; Converting the first feature into a first feature vector and converting the second feature into a second feature vector; Measuring the similarity between the first image and the second image by comparing the first feature vector with the second feature vector; Assigning a similarity score to the result of the measurement, and determining whether the similarity score satisfies a predetermined threshold; And In response to the similarity score being determined to meet a predetermined threshold, it is determined that the first image is similar to the second image, and a third sequence of restoration operations of the generative model is continued from the second image, such that the final restoration operation of the third sequence is the final restoration operation for the generative model to output the final semiconductor pattern.
6. The method according to claim 5, wherein The step of measuring the similarity between the first image and the second image includes measuring the similarity between the first feature vector and the second feature vector by at least one of a measurement based on Euclidean distance, a measurement based on cosine similarity, and a measurement based on Manhattan distance.
7. The method according to claim 1, Among them, The first plurality of restoration operations of the generative model are respectively restoration operation steps at different times from a first restoration operation step to an intermediate restoration operation step to a final restoration operation step corresponding to the final restoration operation of the generative model, and wherein, when implemented based on the first set of restoration processes, the sequence of corresponding restoration operations of the generative model is according to a first time step, and the first time step is different from a second time step of the second set of restoration processes, and the second time step of the second set of restoration processes defines the sequence of other corresponding restoration operations of the generative model when implemented based on the second set of restoration processes.
8. The method according to claim 7, wherein, The second time step is longer than the first time step.
9. The method according to any one of claims 1 to 8, further comprising: The determination of the similarity between the first image and the second image is performed by respectively extracting a first feature from the first image, extracting a second feature from the second image, and comparing the first feature with the second feature, wherein both the first feature and the second feature include at least one of color, texture, shape, boundary, detailed pattern, and feature points.
10. The method according to any one of claims 1 to 8 further comprises: The determination of the similarity between the first image and the second image is performed by respectively extracting a first feature from the first image, extracting a second feature from the second image, and comparing the first feature with the second feature, wherein both the first feature and the second feature include semantic features.
11. The method according to any one of claims 1 to 8, further comprising: Setting a first variable in a memory to store the value of the time step at which the restoration operation of the generative model based on the second set of restoration processes is set to be performed; Maintaining a second variable in the memory to represent a decreasing integer value of the current time step of the corresponding restoration operation of the generative model when performing the first plurality of restoration operations; and When the second variable reaches the first variable, performing the third sequence of the generative model.
12. A method for generating a semiconductor pattern, the method comprising: Setting a variable in a memory to store the value of the time step at which the reverse process of a diffusion model is configured to be performed, wherein the diffusion model is trained with semiconductor pattern images; and Generating a final semiconductor pattern by performing the reverse process of the diffusion model, including: Comparing a first value representing the time step of the current step in the reverse process of the diffusion model with the value stored in the variable; When the first value is greater than the value stored in the variable, based on the first set of restoration processes, restoring the next step image by performing denoising on the current step image and adding random noise to the result of the denoising performed on the current step image; When the first value is less than or equal to the value stored in the variable, based on a second set of recovery processes different from the first set of recovery processes, the next-step image is recovered by performing denoising on the current-step image without adding random noise to the result of the denoising.
13. The method according to claim 12, wherein The step of setting the value of the variable includes setting the value of the variable to a predetermined value representing the ratio of the time steps at which the first set of recovery processes and the second set of recovery processes are performed.
14. The method according to claim 12, Among them, The reverse process of the diffusion model is configured to be performed in time steps of a total set number n, wherein the method further includes: Based on the first set of recovery processes, by repeatedly performing the first reverse recovery process of the diffusion model, generating a k-step image from the n-step image, where n is an integer greater than 1, and k is an integer less than or equal to n-1; Based on the first set of recovery processes, by additional repetition of the first reverse recovery process of the diffusion model, generating a k-j-step image from the k-step image, where j is an integer greater than 0; and Determining the similarity between the k-step image and the k-j-step image by extracting a first feature from the k-step image, extracting a second feature from the k-j-step image, and comparing the first feature and the second feature, and wherein the step of setting the variable in the memory to store the value of the time step includes: when determining that the similarity is at a predetermined level or greater, setting the value of the variable to k-j.
15. The method according to claim 14, further including: When determining that the similarity is less than the predetermined level, based on the first set of recovery processes, by additional repetition of the first reverse recovery process of the diffusion model, generating a k-j-m-step image from the k-j-step image, where m is an integer greater than 0; and Performing similarity determination between the k-j-m-step image and the subsequent-step image.
16. The method according to claim 15, further including: When determining that the similarity between the k-step image and the k-j-step image does not meet a predetermined minimum level, specifying the value of m as a value equal to or greater than a predetermined minimum value.
17. A computing device, comprising: One or more processors configured to: Based on the first set of recovery processes, generate a first image by performing a first sequence of recovery operations of a generative model, the generative model being initially provided with an input image, where the generative model is a circuit-pattern-based generative model having a first plurality of recovery operations; Based on the first set of recovery processes, generate a second image by continuing to perform a second sequence of recovery operations of the generative model from the first image; and Generate a final semiconductor pattern by continuing to perform a second plurality of recovery operations of the generative model from the second image according to the determined similarity between the first image and the second image, the second plurality of recovery operations including a third sequence of recovery operations of the generative model based on a second set of recovery processes different from the first set of recovery processes.
18. The computing device according to claim 17, Among them, The first set of recovery processes includes: performing a corresponding recovery operation of the generative model by denoising the current image and then adding random noise to the result of the denoising, wherein the second set of recovery processes includes: performing a different corresponding recovery operation of the generative model by performing denoising without adding random noise to the result of the denoising.
19. The computing device according to claim 17, Among them, the one or more processors are further configured to: determine a similarity between the first image and the second image based on a first feature extracted from the first image and a second feature extracted from the second image, and determine whether the similarity satisfies a predetermined level, and wherein, to generate a final semiconductor pattern, the one or more processors are configured to: when the result of the determination of whether the similarity satisfies the predetermined level is that the similarity satisfies the predetermined level, continue to perform a third sequence of recovery operations of the generative model from the second image, such that the final recovery operation of the third sequence is the final recovery operation for the generative model to output the final semiconductor pattern; when the result of the determination of whether the similarity satisfies the predetermined level is that the similarity does not satisfy the predetermined level, based on the first set of recovery processes and before the third sequence of recovery operations, generate a corresponding third image by continuing to perform subsequent recovery operations among the second plurality of recovery operations from the second image; and when it is determined that the performed similarity determination between one of the corresponding third images and a subsequent one of the corresponding third images satisfies a predetermined minimum level, stop performing subsequent recovery operations, and continue to perform a third sequence of recovery operations of the generative model from the subsequent one of the corresponding third images.
20. The computing device according to claim 17, wherein, The one or more processors are further configured to: perform a determination of the similarity between the first image and the second image by: extracting a first feature from the first image and a second feature from the second image; converting the first feature into a first feature vector and converting the second feature into a second feature vector; measuring the similarity between the first image and the second image by comparing the first feature vector with the second feature vector; assigning a similarity score to the result of the measurement, and determining whether the similarity score satisfies a predetermined threshold; and in response to the similarity score being determined to satisfy the predetermined threshold, determining that the first image and the second image are similar, and continuing to perform a third sequence of recovery operations of the generative model from the second image, such that the final recovery operation of the third sequence is the final recovery operation for the generative model to output the final semiconductor pattern.
21. The computing device according to claim 20, wherein, To measure the similarity between the first image and the second image, the one or more processors are configured to: measure the similarity between the first feature vector and the second feature vector by at least one of a measurement based on Euclidean distance, a measurement based on cosine similarity, and a measurement based on Manhattan distance.
Citation Information
Patent Citations
Cup holder for vehicle
KR1020240001773A