Simulation method in semiconductor design process, storage medium and semiconductor design system

By generating polygonal meshes during the semiconductor design simulation process and converting them into level sets for logical operations, the problem of increased calculations in CSG operations is solved and the efficiency of the simulation process is improved.

CN110633483BActive Publication Date: 2025-01-24SAMSUNG ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910486618.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-06-22
Filing Date
2019-06-05
Publication Date
2025-01-24
Estimated Expiration
2039-06-05

AI Technical Summary

Technical Problem

As the integration density and complexity of semiconductor devices increase, the amount of computation required by the prior art in constructing solid geometry (CSG) operations increases, resulting in a decrease in simulation process efficiency.

Method used

Reduce the amount of computation required for CSG operations by generating a polygon mesh, transforming it into a level set, and performing logical operations on the level set to generate a new polygon mesh.

Benefits of technology

This method effectively reduces the calculation and operation time required for the CSG operation, and improves the efficiency of the semiconductor design simulation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110633483B_ABST
    Figure CN110633483B_ABST
Patent Text Reader

Abstract

A non-transitory computer-readable storage medium stores instructions. When executed by a computer, the instructions cause the computer to perform a method for semiconductor design simulation. The method may include generating a first polygonal mesh, transforming the first polygonal mesh into a first level set, performing a logical operation on the first level set to generate a second level set, and transforming the second level set into a second polygonal mesh.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of Korean Patent Application No. 10-2018-0071962 filed on June 22, 2018 in the Korean Intellectual Property Office, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present disclosure relates to electronic digital processing technology. More specifically, the present disclosure relates to a storage medium storing instructions for a simulation method in a semiconductor design process, a semiconductor design system for executing the simulation method in a semiconductor design process, and a method for executing simulation in a semiconductor design process to design a semiconductor device. Background Art

[0004] Various tools are available for designing semiconductor devices. Design tools include technical computer-aided design (TCAD) programs. TCAD programs can be used to simulate semiconductor devices, can be used to perform simulation methods in the semiconductor design process, and can be used to simulate circuits of semiconductor devices.

[0005] In TCAD-based simulation, a polygonal mesh is used to construct a model of the two-dimensional or three-dimensional shape of the semiconductor material constituting the semiconductor device as a constructed model. Thereafter, additional simulation steps may be performed to simulate the deposition, etching, and patterning processes to be performed on the constructed model. As a result, the shape of the model may be changed.

[0006] As the shape of the constructed model changes, the polygonal mesh in the constructed model can be modified by TCAD. For example, an operation called "Constructive Solid Geometry (CSG)" can be performed to modify the polygonal mesh in the constructed model. CSG operations can include re-meshing operations or re-triangulation operations. Re-meshing operations can involve: generating a reconstructed (new) mesh based on the original constructed mesh by modifying the sampling and connectivity of the polygonal mesh in the original constructed mesh. Re-triangulation operations can involve: systematically adjusting the vertices of the polygonal mesh of the original constructed model.

[0007] The increase in complexity of the original model may lead to an increase in the number of polygonal meshes and an increase in the amount of calculation required for CSG operations. As the integration density and complexity of semiconductor devices increase, it is necessary to develop an apparatus or method that can reduce the amount of calculation required for CSG operations. Summary of the invention

[0008] Some embodiments of the present disclosure provide a storage medium storing instructions for a simulation method in a semiconductor design process for designing a semiconductor device, a semiconductor design system for executing the simulation method in a semiconductor design process for designing a semiconductor device, and a method for executing the simulation method in a semiconductor design process for designing a semiconductor device. Here, the instructions are prepared to reduce the amount of calculation required and the subsequent operation time.

[0009] According to some embodiments of the present disclosure, a non-transitory computer-readable storage medium stores instructions. When executed by a computer, the instructions cause the computer to perform a method for semiconductor design simulation. The method may include: generating a first polygonal mesh, transforming the first polygonal mesh into a first level set, performing a logical operation on the first level set to generate a second level set, and transforming the second level set into a second polygonal mesh.

[0010] According to some embodiments of the present disclosure, a semiconductor design system may include a non-transitory computer-readable storage medium storing instructions and a processor, the processor being configured to execute the instructions, thereby performing a method for semiconductor design simulation. The method may include: generating a first polygonal mesh, transforming the first polygonal mesh into a first level set, performing a logical operation on the first level set to generate a second level set, and transforming the second level set into a second polygonal mesh.

[0011] According to some embodiments of the present disclosure, a non-transitory computer-readable storage medium stores instructions. When executed by a computer, the instructions cause the computer to perform a method for semiconductor design simulation. The method may include: forming a first body and a second body using a first polygonal mesh, calculating a first level set based on a first surface formed by the first body and the second body, removing the first body, and calculating a second level set based on a second surface of the second body. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Example embodiments will be more clearly understood from the following brief description taken in conjunction with the accompanying drawings, which illustrate non-limiting example embodiments described herein.

[0013] Figure 1 A semiconductor design system according to some embodiments of the present disclosure is shown.

[0014] Figure 2 is a flowchart illustrating a simulation method according to some embodiments of the present disclosure.

[0015] Figure 3 An example of a semiconductor model represented by data stored in a storage device is shown.

[0016] Figure 4An example of a polygonal mesh in a semiconductor model is shown.

[0017] Figure 5 It shows that from Figure 4 Flowchart of the method for generating level sets for a semiconductor model.

[0018] Figure 6 shows the Figure 4 Example of a target principal.

[0019] Figure 7 Exemplarily calculated signed distance values ​​at intersection points of the grid located near the target subject are shown.

[0020] Figure 8 The distance values ​​of the intersection points calculated exemplarily in the direction of the second axis are shown.

[0021] Fig. 9 Shows Figure 7 and Figure 8 An example of a set of distance values ​​calculated in .

[0022] Fig.10 An exemplary calculated signed distance value at an intersection point located outside the target body is shown.

[0023] Fig.11 An exemplary calculated signed distance value at an intersection point located in the target body is shown.

[0024] Fig.12 An example of a semiconductor model defined by a polygonal mesh is shown.

[0025] Fig.13 It shows that Fig.12 Flowchart of an example of a method for transforming a polygonal mesh in a semiconductor model into a level set.

[0026] Fig.14 Shows Fig.12 Example of the first final surface of a polygonal mesh in a semiconductor model.

[0027] Fig.15 Shown by Fig.12 Example of the second final surface of the polygonal mesh obtained by removing the fifth body from the semiconductor model.

[0028] Fig.16 Shown by Fig.12 Example of a third final surface of the polygonal mesh obtained by removing the fourth and fifth bodies from the semiconductor model.

[0029] Fig.17 Shown by Fig.12An example of a fourth final surface of the polygonal mesh obtained by removing the third body, the fourth body, and the fifth body from the semiconductor model of FIG.

[0030] Fig.18 Shown by Fig.12 An example of a fifth final surface of the polygonal mesh obtained by removing the second body, the third body, the fourth body, and the fifth body from the semiconductor model of FIG.

[0031] Fig.19 is shown for reference Figures 14 to 18 A flowchart of an example of a method of performing a logical operation of a first level set, a second level set, a third level set, a fourth level set, and a fifth level set is described.

[0032] Fig. 20 An example of the first type of process applied to a semiconductor model is shown.

[0033] Fig.21 An example of the second type of process applied to a semiconductor model is shown.

[0034] Fig. 22 An example of the third type of process applied to a semiconductor model is shown.

[0035] Fig.23 Shown is applied to Fig.12 An example of the process of semiconductor modeling.

[0036] Fig.24 shows that by adding the sixth body to Fig.18 An example of the first model obtained by removing the seventh body from the surface corresponding to the fifth level set.

[0037] Fig.25 shows that by adding the sixth body to Fig.17 An example of the first model obtained by removing the seventh body from the surface corresponding to the fourth level set.

[0038] Fig.26 An example of a second model is shown, wherein a third subject is additionally identified after the process.

[0039] Fig. 27 shows that by adding the sixth body to Fig.16 The third level set corresponds to the surface and the shape obtained by removing the seventh body from it.

[0040] Fig.28 An example of a third model is shown, wherein a fourth body and a fifth body are additionally identified after the process.

[0041] Fig.29 shows that by adding the sixth body to Fig.15 The second level set corresponds to the surface and the shape obtained by removing the seventh body from it.

[0042] Fig.30 An example of a fourth model is shown, wherein a sixth subject is additionally identified after the process.

[0043] Fig.31 shows that by adding the sixth body to Fig.14 The first level set corresponds to the surface and the shape obtained by removing the seventh body from it.

[0044] Fig.32 An example of a fifth model is shown, wherein a seventh subject is additionally identified after the process.

[0045] It should be noted that these drawings are intended to illustrate the general characteristics of the methods, structures and / or materials used in certain example embodiments and to supplement the written description provided below. However, these drawings are not to scale and may not accurately reflect the precise structure or performance characteristics of any given embodiment, and should not be interpreted as limiting or restricting the range of values ​​or properties contained in the example embodiments. For example, for clarity, the relative thickness and positioning of molecules, layers, regions and / or structural elements may be reduced or exaggerated. The use of similar or identical reference numerals in various drawings is intended to indicate the presence of similar or identical elements or features. DETAILED DESCRIPTION

[0046] Example embodiments of the present disclosure will now be described more fully with reference to the accompanying drawings, in which example embodiments are shown.

[0047] Figure 1 FIG. 1 shows a semiconductor design system 100 according to some embodiments of the present disclosure. Figure 1 , the semiconductor design system 100 may include a bus 110 , a processor 120 , a main memory 130 , a storage device 140 , a modem 150 , an attachable and detachable storage device 160 , and a user interface 170 .

[0048] The bus 110 may provide a channel between the elements constituting the semiconductor design system 100. The processor 120 may be used to control the semiconductor design system 100 and execute a simulation method in a semiconductor design process for designing a semiconductor device. For example, the processor 120 may execute instructions 141 stored in the storage device 140, thereby running a tool (hereinafter referred to as a simulation tool) that is ready to simulate a semiconductor device.

[0049] The processor 120 may read data stored in the storage device 140, including data that may be used to generate a semiconductor model for simulation. The processor 120 may use a tool to generate a semiconductor model from the data, and may perform various simulation methods and processes on the semiconductor model.

[0050] The main memory 130 may be used as a working memory for the processor 120. The main memory 130 may temporarily store instructions and / or data required by the processor 120 among the instructions 141 and the data 142 stored in the storage device 140. The main memory 130 may include a high-speed random access memory (e.g., DRAM, PRAM, MRAM, and RRAM) or a storage class memory (SCM).

[0051] The storage device 140 may be used as a secondary memory of the semiconductor design system 100. The storage device 140 may be used to store instructions 141 and data 142, wherein the instructions 141 constitute a simulation tool for simulating a semiconductor device, and the data 142 will be used to generate a semiconductor model, which is an application object of the simulation method in the semiconductor design process. The storage device 140 may include a hard disk drive (HDD), a solid state drive (SSD), an optical disk drive (ODD), etc.

[0052] The modem 150 may be configured to communicate with an external device in a wired or wireless manner. For example, the instruction 141 and / or the data 142 may be transmitted from the external device to the storage device 140 via the modem 150 and may be stored in the storage device 140. The instruction 141 and / or the data 142 stored in the storage device 140 may be transmitted to the external device via the modem 150. The modem 150 may be based on an Ethernet protocol.

[0053] The attachable and removable storage device 160 may include a portable memory. The instructions 141 and / or the data 142 may be moved or transferred, for example, from the attachable and removable storage device 160 to the storage device 140. The instructions 141 and / or the data 142 stored in the storage device 140 may be moved or transferred to the attachable and removable storage device 160. The attachable and removable storage device 160 may be based on one of various standards, such as a Universal Serial Bus (USB) or a Serial Advanced Technology Attachment (SATA).

[0054] The user interface 170 may include various user input interfaces, such as a touch sensor 171, a keyboard 172, and a mouse 173. The user interface 170 may receive an execution instruction of the simulation tool and various instructions for the simulation function of the tool from a user.

[0055] The user interface 170 may include various user output interfaces (eg, a display 174 ) and may be used to transmit to the user a semiconductor model to which the simulation method in the semiconductor design process is applied and a process and result of the simulation method in the semiconductor design process on the semiconductor model.

[0056] As an example, the semiconductor design system 100 may be implemented as a general-purpose computer or a dedicated computer for a semiconductor simulation method in a semiconductor design process. A simulation tool for simulating a semiconductor device may be transmitted in the form of an instruction 141 through a modem 150 or through an attachable and detachable storage device 160. A semiconductor model used for a semiconductor simulation method in a semiconductor design process may be transmitted in the form of data 142 through a modem 150 or through an attachable and detachable storage device 160.

[0057] Figure 2 is a flowchart illustrating a simulation method according to some embodiments of the present disclosure. Figure 2 The method shown may be performed by a simulation tool that is activated when the instructions 141 of the storage device 140 are executed by the processor 120. Figure 1 and Figure 2 In step S110, the simulation tool may generate a first polygonal mesh according to the data 142 stored in the storage device 140. The first polygonal mesh may form a semiconductor model.

[0058] In step S120, the simulation tool may transform the first polygonal mesh into a first level set. Each first level set may include a distance value set. Each distance value set may include a signed value. The number of values ​​in each distance value set may be determined based on the dimension of the first polygonal mesh. For example, the number of values ​​in each distance value set may be equal to the dimension of the first polygonal mesh. Therefore, the first level set or any other level set described herein may include a set of information defining the relationship between the polygonal mesh and the distance and value. As described herein, the distance and value may be the distance and value from the surface of the semiconductor model to the coordinate in the coordinate system closest to any surface of the semiconductor model.

[0059] In step S130, the simulation tool may generate a second level set by performing a logical operation on the first level set. The second level set may be substantially similar to the type of data 142 originally used to generate the first level grid. For example, the simulation tool may perform the same logical operation on each first level set. The logical operation may include a Boolean operation, such as one (or more than one) of a union, an intersection, and a difference. The logical operation may correspond to a process applied to the semiconductor model, such as a process of adding a subject to the semiconductor model, removing a subject from the semiconductor model, or reducing the size of the semiconductor model.

[0060] In step S140, the simulation tool may transform the second level set into a second polygonal mesh. The second polygonal mesh may form a semiconductor model to which the process is applied. Steps S110 to S140 may form a constructive solid geometry (CSG) operation.

[0061] According to some embodiments of the present disclosure, the step of applying the process to the polygonal mesh may be performed by a simple logical operation of transforming the values ​​in the first level set into the values ​​in the second level set. The one or more operations associated with the polygonal mesh may be limited to the step S110 of generating the first polygonal mesh and the step S140 of generating the second polygonal mesh.

[0062] In a remeshing or re-triangulation method that performs an operation on a polygonal mesh, the shape of the polygonal mesh may be reconstructed or adjusted while maintaining the existing polygonal mesh, as a whole, or some, most, or all of the existing polygonal meshes individually, taking into account changes in the shape of the semiconductor model. Here, since the existing polygonal mesh is taken into account in the operation, the amount of computation required for the operation may be large.

[0063] Steps S110 and S140 may correspond to initial meshing and may generate a new polygonal mesh according to the shape of the semiconductor model. In step S140, a second polygonal mesh may be generated independently of the first polygonal mesh generated in step S110. Steps S110 and S140 may be performed in a simple manner compared to re-meshing or re-triangulation, and therefore, the amount of calculation required for the CSG operation may be reduced and the operation time for the CSG operation may be reduced.

[0064] Figure 3 An example of a semiconductor model represented by data 142 stored in storage device 140 is shown. Figure 1 and Figure 3 , data 142 may represent a semiconductor model having hexagonal large surfaces and triangular small surfaces.

[0065] Figure 4 An example of a polygonal mesh in a semiconductor model is shown. Figure 3 and Figure 4 , a triangular polygon mesh can be generated to cover the surface of a body in a semiconductor model. For example, a body can be defined as having independent surfaces defined by a polygon mesh. Various terms such as entity, object, and applied object can be used to refer to a body, but the teachings of the present disclosure are not limited to specific terms.

[0066] Figure 5 It shows that from Figure 4 Flowchart of the method for generating level sets for a semiconductor model. Figure 5 The method shown may be performed by a simulation tool that is activated when the instructions 141 of the storage device 140 are executed by the processor 120. Figure 1 , Figure 4 and Figure 5 In step S210, the simulation tool can place or position the target body in a specific coordinate system. Figure 6 ,and Figure 6 shows the coordinates placed in a specific Figure 4 Example of a target principal.

[0067] For example, the simulation tool may define a specific coordinate system that is physically placed around the target body. The dimensions of the specific coordinate system may be equal to the dimensions of the polygonal mesh that constitutes the target body.

[0068] In step S220, the simulation tool may generate a grid along the edge, the grid being formed by the polygonal mesh of the target body. For example, in the simulation tool, a grid may be generated along the edge and around the target body, and here, the shape of each grid may be determined according to the type of the specific coordinate system. That is, transforming the (first) polygonal mesh into the (first) level set may include: constructing a grid in the specified coordinate system so that the target body formed by the (first) polygonal mesh can be placed in the grid.

[0069] In step S230, the simulation tool may calculate signed distance values ​​at intersections of the grid adjacent to the surface of the target body defined by the polygonal mesh, wherein the signed distance values ​​contain information about the polygonal mesh. That is, transforming the (first) polygonal mesh into a (first) level set may further include: calculating distance values ​​at selected intersections of the grid adjacent to the surface of the target body. In step S240, the simulation tool may select the signed distance value (or a set of signed distance values) as the level set. That is, transforming the (first) polygonal mesh into a (first) level set may further include selecting the distance value as a set of first level sets.

[0070] Figure 6 shows the Figure 4 The specific coordinate system may be, for example, a rectangular coordinate system placed around the target body and defined by three orthogonal axes (e.g., a first axis X, a second axis Y, and a third axis Z). In the rectangular coordinate system, a grid may be generated around the target body. For example, the grid may be generated to pass through some edges of the target body.

[0071] Figure 7 Schematically calculated signed distance values ​​at some intersections of the grid located near the target subject are shown. That is, the distance values ​​calculated at the selected intersections may be or include point-based distance values ​​obtained at each selected intersection. In order to reduce the complexity of the drawings and the description, Figure 7 An example is shown, where for Figure 6 The target body computes signed distance values ​​on a single large surface.

[0072] For example, a signed distance value may be calculated at some selected intersections of the grid that are adjacent to the surface of the target body. The distance value may represent the distance from the selected intersection to the surface of the target body. For example, the distance value may represent the distance from the selected intersection to the nearest surface of the target body. That is, the distance value may be a point-based distance value or include a point-based distance value, wherein the point-based distance value is obtained at a specific intersection and represents the shortest distance from the specific intersection to the surface of the target body in the coordinate system. The distance value may be calculated in a direction parallel to the first axis X, the second axis Y, or the third axis Z. For example, in Figure 7 Some examples of distance values ​​calculated along the first axis X are shown in .

[0073] The distance value between the intersection point and the target body may be given in the range of 0.0 to 1.0. In the case where the intersection point is in contact with the surface of the target body, the distance value may be 0.0. In the case where the distance between the intersection point and the target body has a maximum value, the surface of the target body may be in contact with another intersection point adjacent to it, and in this case, the distance value may be 1.0. It is worth noting that in Figure 7 There are no cases where the target body surface touches any intersection point, so the distance value is not 1.0, 2.0, 3.0 or -1.0, -2.0, -3.0.

[0074] The sign of the distance value may be determined based on whether the selected intersection point is located within the target body or outside the target body. For example, in the case where the selected intersection point is located within the target body, the distance value may have a negative sign. Conversely, in the case where the selected intersection point is located outside the target body, the distance value may have a positive sign.

[0075] When calculated in a direction parallel to the first axis X, the distance between the first intersection point X1 and the surface of the target body may be 0.5. Since the first intersection point X1 is located outside the surface of the target body, the distance value may have a positive sign. Therefore, when calculated in a direction parallel to the first axis X, the distance value of the first intersection point X1 may be given as "0.5".

[0076] When calculated in a direction parallel to the first axis X, the distance between the second intersection point X2 and the surface of the target body may be 0.5. Since the second intersection point X2 is located within the surface of the target body, the distance value may have a negative sign. Therefore, when calculated in a direction parallel to the first axis X, the distance value of the second intersection point X2 may be given as "-0.5".

[0077] Similarly, the distance values ​​at the third intersection X3, the fourth intersection X4, the fifth intersection X5, the sixth intersection X6, the seventh intersection X7 and the eighth intersection X8 can be calculated as 0.5, -0.5, 0.5, -0.5, 0.5 and -0.5 respectively. When calculated in a direction parallel to the first axis X, each of the distance values ​​of the intersections not adjacent to the surface of the target body can be assigned a default value. When the surface of the target body is located between an intersection and any adjacent intersection, the intersection can be adjacent to the surface of the target body. For example, the distance value of the intersection located within the target body and not adjacent to any surface of the target body can be assigned a negative default value. The distance value of the intersection located outside the target body and not adjacent to any surface of the target body can be assigned a positive default value. The absolute value of the default value can be greater than the maximum value within the range of the distance value. That is, when one of the point-based distance values ​​is greater than the length of each grid, one of the point-based distance values ​​is assigned a default value, and the default value is greater than the maximum value within the range of the distance value.

[0078] Figure 8 2 shows the distance value of the intersection point calculated exemplarily in the direction of the second axis Y. Figure 8 , when calculated in a direction parallel to the second axis Y, the distance between the first intersection point Y1 and the surface of the target body may be 0.5. Since the first intersection point Y1 is located outside the surface of the target body, the distance value may have a positive sign. Therefore, when calculated in a direction parallel to the second axis Y, the distance value of the first intersection point Y1 may be given as "0.5".

[0079] When calculated in a direction parallel to the second axis Y, the distance between the second intersection point Y2 and the surface of the target body may be 0.5. Since the second intersection point Y2 is located within the surface of the target body, the distance value may have a negative sign. Therefore, when calculated in a direction parallel to the second axis Y, the distance value of the second intersection point Y2 may be given as "-0.5".

[0080] Similarly, the distance values ​​from the third intersection point Y3 to the twenty-fourth intersection point Y24 can be calculated as -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5 and -0.5 respectively.

[0081] Each of the distance values ​​of the intersection points that are not adjacent to the surface of the target body can be assigned a default value when calculated in a direction parallel to the second axis Y. For example, the distance values ​​of the intersection points that are located within the target body and are not adjacent to any surface of the target body can be assigned a negative default value. The distance values ​​of the intersection points that are located outside the target body and are not adjacent to any surface of the target body can be assigned a positive default value.

[0082] Fig. 9 Shows Figure 7 and Figure 8 An example of a set of distance values ​​calculated in . Fig. 9 , sets of distance values ​​calculated along the first axis X and the second axis Y at intersection points adjacent to the surface of the target body may be merged.

[0083] For the first intersection point P1, the distance value set may be (far, 0.5). The first intersection point P1 may have a distance value equal to a default value (i.e., far) along the first axis X and a distance value equal to 0.5 along the second axis Y. This means that the first intersection point P1 is not adjacent to any surface of the target body in the direction of the first axis X and is located outside the target body, and is separated from the target body by a distance of 0.5 in the direction of the second axis Y and is located outside the target body.

[0084] Similarly, the second intersection point P2 to the twenty-eighth intersection point P28 may have signed distance values ​​shown in the following table labeled Table 1.

[0085] Intersection Distance value Intersection Distance value P2 (0.5, far) P3 (-0.5,-0.5) P4 (0.5, far) P5 (-0.5,-0.5) P6 (far,0.5) P7 (-far,-0.5) P8 (far,0.5) P9 (-far,-0.5) P10 (far,0.5) P11 (-far,-0.5) P12 (far,0.5) P13 (far,0.5) P14 (-far,-0.5) P15 (far,0,5) P16 (-0.5,-0.5) P17 (0.5, far) P18 (-0.5,-0.5) P19 (0.5, far) P20 (far,0.5) P21 (-far,-0.5) P22 (far,0.5) P23 (-far,-0.5) P24 (far,0.5) P25 (-far,-0.5) P26 (far,0.5) P27 (far,0.5) P28 (-far,-0.5)

[0086] Table 1

[0087] exist Figures 7 to 9In the embodiment, each distance value in each distance value set is described as having a sign. However, in one embodiment, each distance value in each distance value set may be given as a numerical value only, without a sign. The sign of the distance value set may be uniquely determined based on whether the selected intersection point is located within the target body or outside the target body.

[0088] Similar to reference Figures 7 to 9 As described, the distance value may be calculated along the third axis Z. For example, the signed distance values ​​along the first axis X, the second axis Y, and the third axis Z may be calculated at the intersection point adjacent to the target body.

[0089] Fig.10 2 shows an exemplary calculated signed distance value at an intersection point located outside the target body. Since the intersection point is located outside the target body, at least one of the distance values ​​of the intersection point can be assigned a default value, as shown in reference Figures 6 to 9 As described, although a default value may be assigned to an intersection point within a target body, the distance value for an intersection point or the set of distance values ​​(as a whole) may have a positive sign.

[0090] Fig.11 2 shows an exemplary calculated signed distance value at an intersection point located in the target body. Since the intersection point is located within the target body, at least one of the distance values ​​of the intersection point can have a meaningful value within the range, as shown in FIG. Figures 6 to 9 As described above, although meaningful values ​​may be assigned to intersection points outside the target body, the distance value of an intersection point or the set of distance values ​​(as a whole) may have a negative sign.

[0091] According to some embodiments of the present disclosure, a level set may include a distance value set associated with a target subject, such as a reference Figures 6 to 11 The distance value set may include distance values, and here, the number of distance values ​​constituting the distance value set may correspond to the dimension of a specific coordinate system. In other words, the polygonal mesh representing the semiconductor model may be transformed into a distance value set including multi-dimensional distance values. Therefore, the semiconductor model may be accurately depicted and deformation problems may be prevented from occurring during the transformation process.

[0092] Fig.12 An example of a semiconductor model 200 defined by a polygonal mesh is shown. Fig.12 , the semiconductor model 200 may include a first body 201, a second body 202, a third body 203, a fourth body 204, and a fifth body 205. A surface of each of the first body 201, the second body 202, the third body 203, the fourth body 204, and the fifth body 205 may be defined by a polygonal mesh.

[0093] Fig.13 It shows that Fig.12Flowchart of an example of a method for transforming a polygonal mesh in a semiconductor model into a level set. Fig.13 The method shown can be executed by a simulation tool, which executes the instruction 141 of the storage device 140 by Figure 1 The processor 120 is activated when it is running. Figure 1 and Fig.13 , in step S310 , the simulation tool may assign an initial value (eg, 1) to the variable (i).

[0094] In step S320, the simulation tool may select the i-th level set from the final surface defined by the polygonal mesh. Figure 5 The i-th level set is selected in the context of S240 in , that is, as a result of transforming the polygonal mesh defining the surface of the semiconductor model into the i-th level set. The final surface may refer to the outer surface of the semiconductor model. When surfaces of different bodies are in contact with each other and are not exposed to the outside, these surfaces may be excluded from the final surface.

[0095] In step S330, the simulation tool may check whether two or more target bodies remain. Thereafter, when the semiconductor model formed by the polygonal mesh includes two or more bodies, step S340 may be performed. In step S340, the simulation tool may remove one of the remaining target bodies and may increase the variable (i) by one.

[0096] The simulation tool may repeat steps S320 to S340. In other words, the simulation tool may remove the target bodies one by one, and may calculate the level set of the final surface formed by the target bodies after each removal process. If only one target body remains through step S340, step S320 may be performed to obtain the level set for the last target body. That is, when the number of remaining bodies becomes one, the method for semiconductor design simulation may include calculating the last set of (first) level sets based on the surface formed by the remaining one body. Thereafter, in step S330, the simulation tool may terminate the process of transforming the polygonal mesh into a level set.

[0097] When a target body is transformed into a level set, deformation may occur at the edge of the target body. If a first polygonal mesh of a target body is transformed into a level set and then the level set is transformed into a second polygonal mesh, at least one edge of the target body may have a deformed shape.

[0098] The simulation tool according to some embodiments of the present disclosure can calculate the level set of the final surface of multiple target bodies instead of calculating the level set of each target body. Each level set can contain information about two or more target bodies. Therefore, by comparing the level sets, it is possible to detect deformation that may occur during the transformation process and compensate for the deformation.

[0099] Fig.14 Shows Fig.12 An example of a first final surface 210 of a polygonal mesh in a semiconductor model. Fig.12 and Fig.14 The first final surface 210 may include an outer surface formed by the first body 201, the second body 202, the third body 203, the fourth body 204, and the fifth body 205. The simulation tool may calculate a first level set including a distance value set of distance values ​​of the intersection points from the first final surface 210.

[0100] Fig.15 Shown by Fig.12 220 of the second final surface of the polygonal mesh obtained by removing the fifth body 205 from the semiconductor model of FIG. Fig.12 and Fig.15 The second final surface 220 may include an outer surface formed by the first body 201, the second body 202, the third body 203, and the fourth body 204. The simulation tool may calculate a second level set including a distance value set of distance values ​​of the intersection points from the second final surface 220.

[0101] Fig.16 Shown by Fig.12 An example of a third final surface 230 of a polygonal mesh obtained by removing the fourth body 204 and the fifth body 205 from the semiconductor model of FIG. Fig.12 and Fig.16 , the third final surface 230 may include an outer surface formed by the first body 201, the second body 202, and the third body 203. The simulation tool may calculate a third level set including a distance value set of distance values ​​of the intersection points from the third final surface 230.

[0102] Fig.17 Shown by Fig.12 An example of a fourth final surface 240 of a polygonal mesh obtained by removing the third body 203, the fourth body 204, and the fifth body 205 from the semiconductor model of FIG. Fig.12 and Fig.17 , the fourth final surface 240 may include an outer surface formed by the first body 201 and the second body 202. The simulation tool may calculate a fourth level set including a distance value set of distance values ​​of the intersection points from the fourth final surface 240.

[0103] Fig.18 Shown by Fig.12 An example of a fifth final surface 250 of a polygonal mesh obtained by removing the second body 202, the third body 203, the fourth body 204, and the fifth body 205 from the semiconductor model of FIG. Fig.12 and Fig.18 , the fifth final surface 250 may include an outer surface formed by the first body 201. The simulation tool may calculate a fifth level set including a distance value set of distance values ​​of the intersection points from the fifth final surface 250.

[0104] Fig.19 is shown for reference Figures 14 to 18 A flowchart of an example of a method of performing a logical operation of a first level set to a fifth level set is described. Fig.19 The method shown may be performed by a simulation tool that is activated when the instructions 141 of the storage device 140 are executed by the processor 120. Figure 1 and Fig.19 , in step S410 , the simulation tool may assign an initial value (eg, 1) to the variable (i).

[0105] In step S420, the simulation tool can obtain Figures 14 to 18 The i-th level set is selected from the first to fifth level sets described. In step S430, the simulation tool may check whether the target process is a first-class process. For example, the first-class process may cause the size of the semiconductor model to increase. The first-class process may be a deposition process that adds a new body.

[0106] If the target process is a first type process, the simulation tool may calculate the minimum value of the distance value at the operating point in step S440. Here, the operating point may be an intersection of a grid having distance values ​​that vary by the process.

[0107] As explained in the following paragraphs, the logical operation may be or include one of a union, an intersection, and a difference. For example, after the process, the simulation tool may calculate a level set (e.g., a target level set) corresponding to the final surface of the semiconductor model. The simulation tool may obtain the operation result by the union of the i-th level set and the target level set.

[0108] If the target process is not the first type of process, the simulation tool may check whether the target process is a second type of process in step S450. For example, the second type of process may result in a size reduction of the semiconductor model. The second type of process may be an etching process that removes at least a portion of the first body 201, the second body 202, the third body 203, the fourth body 204, and the fifth body 205.

[0109] If the target process is a second type process, the simulation tool may calculate the maximum value of the distance value at the operating point in step S460. For example, after the process, the simulation tool may calculate a level set (e.g., a target level set) corresponding to the final surface of the semiconductor model. The simulation tool may obtain the operation result through the intersection of the i-th level set and the target level set.

[0110] If the target process is not the second type of process, the simulation tool may determine that the target process is a third type of process. For example, the third type of process may remove a portion from the semiconductor model. The third type of process may be a patterning process that removes at least a portion of the first body 201, the second body 202, the third body 203, the fourth body 204, and the fifth body 205.

[0111] If the target process is a third type process, the simulation tool may calculate the minimum value of the opposite value at the operating point in step S470, the opposite value being obtained by taking the opposite sign of the distance value of the first level set to the fifth level set and the distance value of the target level set. For example, the simulation tool may calculate a level set (e.g., a target level set) corresponding to the shape removed from the semiconductor model by the process. The simulation tool may obtain an operation result from a difference set between the i-th level set and the target level set.

[0112] Thus, the logical operation may be or include one of a union, an intersection and a difference, depending on whether the process is of the first, second or third type as described above.

[0113] If the operation result is obtained in step S440, S450 or S460, then in step S480, the simulation tool may determine whether the variable (i) is a maximum value. For example, if the variable (i) reaches the number of level sets, the variable (i) may be a maximum value. If the variable (i) is not a maximum value, then in step S490, the simulation tool may increase the variable (i) by one. Thereafter, the simulation tool may perform step S420 again. If the variable (i) is a maximum value, the simulation tool may explicitly determine the level set for which the operation is completed as the final level set.

[0114] As described above, the simulation tool can apply the same process to each of the first to fifth level sets. The process can work by a simple operation of selecting the minimum or maximum value of the distance value. Therefore, the amount of calculation required for CSG operation can be reduced and the operation time for CSG operation can be reduced.

[0115] Fig. 20 An example of the first type of process applied to semiconductor models is shown. In detail,

[0116] Fig. 20 An example of a first type of process applied to a plane defined by, for example, a first axis X and a second axis Y is shown. Fig. 20 In FIG. 1 , the shape of the semiconductor model is depicted by a solid line A, and the shape corresponding to the target level set is depicted by a dotted line B. If the first type of process is applied, the shape of the semiconductor model may be changed from the shape depicted by the solid line A to the shape depicted by the dotted line B.

[0117] At the first operating point OP1, the distance value to the solid line A may be (0.9, far). The distance value to the dotted line B may be (0.8, far). The result value R of the first operating point OP1 after the process may be '0.8' and 'far', '0.8' being the minimum value in the direction of the first axis X, and 'far' being the minimum value in the direction of the second axis Y.

[0118] At the second operating point OP2, the distance value to the solid line A may be (-0.1, -0.3). The distance value to the dotted line B may be (-0.2, -0.7). The result value R of the second operating point OP2 after the process may be '-0.2' and '0.7', '-0.2' being the minimum value in the direction of the first axis X, and '0.7' being the minimum value in the direction of the second axis Y.

[0119] At the third operating point OP3, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 0.3). The result value R of the third operating point OP3 after the process may be 'far' and '0.3', 'far' being the minimum value in the direction of the first axis X, and '0.3' being the minimum value in the direction of the second axis Y.

[0120] At the fourth operating point OP4, the distance value to the solid line A may be (-far, -0.3). The distance value to the dotted line B may be (-far, -0.9). The result value R of the fourth operating point OP4 after the process may be '-far' and '-0.9', '-far' being the minimum value in the direction of the first axis X, and '-0.9' being the minimum value in the direction of the second axis Y.

[0121] At the fifth operating point OP5, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 0.1). The result value R of the fifth operating point OP5 after the process may be '-far' and '0.1', '-far' being the minimum value in the direction of the first axis X, and '0.1' being the minimum value in the direction of the second axis Y.

[0122] At the sixth operating point OP6, the distance value to the solid line A may be (-0.1, -0.3). The distance value to the dotted line B may be (-0.2, -0.7). The result value R of the sixth operating point OP6 after the process may be '-0.2' and '-0.7', '-0.2' being the minimum value in the direction of the first axis X, and '-0.7' being the minimum value in the direction of the second axis Y.

[0123] At the seventh operating point OP7, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 0.3). The result value R of the seventh operating point OP7 after the process may be 'far' and '0.3', 'far' being the minimum value in the direction of the first axis X, and '0.3' being the minimum value in the direction of the second axis Y.

[0124] At the eighth operating point OP8, the distance value to the solid line A may be (0.9, far). The distance value to the dotted line B may be (0.8, far). The result value R of the eighth operating point OP8 after the process may be '0.8' and 'far', '0.8' being the minimum value in the direction of the first axis X, and 'far' being the minimum value in the direction of the second axis Y.

[0125] Fig.21 An example of the second type of process applied to semiconductor models is shown. In detail,

[0126] Fig.21 An example of the second type of process applied to a plane defined by, for example, a first axis X and a second axis Y is shown. Fig.21 In FIG. 1 , the shape of the semiconductor model is depicted by a solid line A, and the shape corresponding to the target level set is depicted by a dotted line B. If the second type of process is applied, the shape of the semiconductor model can be changed from the shape depicted by the solid line A to the shape depicted by the dotted line B.

[0127] At the first operating point OP1, the distance value to the solid line A may be (0.9, far). The distance value to the dotted line B may be (1.0, far). The result value R of the first operating point OP1 after the process may be '1.0' and 'far', '1.0' being the maximum value in the direction of the first axis X, and 'far' being the maximum value in the direction of the second axis Y.

[0128] At the second operating point OP2, the distance value to the solid line A may be (-0.1, -0.3). The distance value to the dotted line B may be (0.0, 0.0). The result value R of the second operating point OP2 after the process may be '0.0' and '0.0', '0.0' being the maximum value in the direction of the first axis X, and '0.0' being the maximum value in the direction of the second axis Y.

[0129] At the third operating point OP3, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 1.0). The result value R of the third operating point OP3 after the process may be 'far' and '1.0', 'far' being the maximum value in the direction of the first axis X, and '1.0' being the maximum value in the direction of the second axis Y.

[0130] At the fourth operating point OP4, the distance value to the solid line A may be (-0.5, -far). The distance value to the dotted line B may be (-0.5, -1.0). The result value R of the fourth operating point OP4 after the process may be '-0.5' and '-1.0', '-0.5' being the maximum value in the direction of the first axis X, and '-1.0' being the maximum value in the direction of the second axis Y.

[0131] At the fifth operating point OP5, the distance value to the solid line A may be (-far, -0.3). The distance value to the dotted line B may be (-far, -0.2). The result value R of the fifth operating point OP5 after the process may be '-far' and '-0.2', '-far' being the maximum value in the direction of the first axis X, and '-0.2' being the maximum value in the direction of the second axis Y.

[0132] At the sixth operating point OP6, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 0.8). The result value R of the sixth operating point OP6 after the process may be 'far' and '0.8', 'far' being the maximum value in the direction of the first axis X, and '0.8' being the maximum value in the direction of the second axis Y.

[0133] At the seventh operating point OP7, the distance value to the solid line A may be (-0.1, -0.3). The distance value to the dotted line B may be (0.0, 0.0). The result value R of the seventh operating point OP7 after the process may be '0.0' and '0.0', '0.0' being the maximum value in the direction of the first axis X, and '0.0' being the maximum value in the direction of the second axis Y.

[0134] At the eighth operating point OP8, the distance value to the solid line A may be (far, 0.7). The distance value to the dotted line B may be (far, 1.0). The result value R of the eighth operating point OP8 after the process may be 'far' and '1.0', 'far' being the maximum value in the direction of the first axis X, and '1.0' being the maximum value in the direction of the second axis Y.

[0135] At the ninth operating point OP9, the distance value to the solid line A may be (-0.5, -far). The distance value to the dotted line B may be (-0.5, -1.0). The result value R of the ninth operating point OP9 after the process may be '-0.5' and '-1.0', '-0.5' being the maximum value in the direction of the first axis X, and '-1.0' being the maximum value in the direction of the second axis Y.

[0136] At the tenth operating point OP10, the distance value to the solid line A may be (0.9, far). The distance value to the dotted line B may be (1.0, far). The result value R of the tenth operating point OP10 after the process may be '1.0' and 'far', '1.0' being the maximum value in the direction of the first axis X, and 'far' being the maximum value in the direction of the second axis Y.

[0137] Fig. 22 An example of the third type of process applied to semiconductor models is shown. In detail,

[0138] Fig. 22 An example of a third type of process applied to a plane defined by, for example, a first axis X and a second axis Y is shown. Fig. 22 In FIG. 1 , the shape of the semiconductor model is depicted by a solid line A, and the shape corresponding to the target level set is depicted by a dotted line B. If the third type of process is applied, the shape of the semiconductor model may be changed from the shape depicted by the solid line A to the shape depicted by the dotted line B.

[0139] At the first operating point OP1, the distance value to the solid line A may be (-far, -0.3). The distance value to the dotted line B may be (-far, 0.0). The opposite value of the distance value to the dotted line B may be (far, 0.0). The result value R of the first operating point OP1 after the process may be 'far' and '0.0', 'far' being the maximum value in the direction of the first axis X, and '0.0' being the maximum value in the direction of the second axis Y.

[0140] At the second operating point OP2, the distance value to the solid line A may be (far, 0.7). The second operating point OP2 may be located in the region removed from the semiconductor model and may be understood to be located within the target level set. Therefore, at the second operating point OP2, the distance value to the dotted line B may be (-far, -1.0). The opposite value of the distance value to the dotted line B may be (far, 1.0). The result value R of the second operating point OP2 after the process may be 'far' and '1.0', 'far' being the maximum value in the direction of the first axis X, and '1.0' being the maximum value in the direction of the second axis Y.

[0141] Already referenced Figures 19 to 22 The operations associated with three different processes are described exemplarily. However, the present disclosure is not limited to the operations associated with these three different processes. The present disclosure can be applied to various other processes and various other operations associated therewith.

[0142] Fig.23 Shown is applied to Fig.12 An example of the process of semiconductor modeling. Fig.23, the sixth body 206 may be added through the first process. The seventh body 207 may be removed through the second process or the third process. In one embodiment, the process of adding the sixth body 206 and the process of removing the seventh body 207 may be performed sequentially or simultaneously.

[0143] Fig.24 By adding the sixth body 206 to Fig.18 The first model 310 is obtained by removing the seventh body 207 from the surface corresponding to the fifth level set. Figures 19 to 22 The logical operation described by Fig.24 The shape of the first model 310 is shown.

[0144] After this process, the first body 301 and the second body 302 may be identified from the first model 310. For example, the first body 301 and the second body 302 may be identified by generating a polygon mesh from a level set representing the first body 301 and the second body 302.

[0145] Fig.25 By adding the sixth body 206 to Fig.17 The shape 240′ is obtained by removing the seventh body 207 from the surface corresponding to the fourth level set of Figures 19 to 22 The logical operation described by Fig.25 The shape 240' shown in FIG. Fig.25 The shape 240′ is different from Fig.24 The obtained first model 310 is compared to identify additional subjects.

[0146] Fig.26 An example of a second model 320 is shown, wherein a third body 303 is additionally identified after the process. Fig.24 The first model 310 with Fig.25 Comparison between the shapes 240′ of FIG. 1 and FIG. 2 shows that there is a difference at a portion corresponding to the third body 303 and no difference at the remaining portion. Therefore, the different portion can be identified as the third body 303. The third body 303 can be identified by generating a polygon mesh from a set of distance values ​​representing the different portion.

[0147] Fig. 27 By adding the sixth body 206 to Fig.16 The shape 230′ is obtained by removing the seventh body 207 from the surface corresponding to the third level set of Figures 19 to 22 The logical operation described by Fig. 27The shape 230' shown in FIG. Fig. 27 The shape 230′ is different from Fig.26 The obtained second model 320 is compared to identify additional subjects.

[0148] Fig.28 An example of a third model 330 is shown, wherein a fourth body 304 and a fifth body 305 are additionally identified after the process. Fig.26 The second model 320 with Fig. 27 Comparison between the shapes 230′ of FIG. 1 and FIG. 2 shows that there is a difference at the portion corresponding to the fourth body 304 and the fifth body 305, and there is no difference at the remaining portion. Therefore, the different portions can be identified as the fourth body 304 and the fifth body 305, respectively. The fourth body 304 and the fifth body 305 can be identified by generating a polygon mesh from a set of distance values ​​representing the different portions.

[0149] Fig.29 By adding the sixth body 206 to Fig.15 The shape 220′ is obtained by removing the seventh body 207 from the surface corresponding to the second level set. Figures 19 to 22 The logical operation described by Fig.29 The shape 220' shown in FIG. Fig.29 The shape 220′ is different from Fig.28 The obtained third model 330 is compared to identify additional subjects.

[0150] Fig.30 An example of a fourth model 340 is shown, wherein a sixth body 306 is additionally identified after the process. Fig.28 The third model 330 with Fig.29 Comparison between the shapes 220′ of FIG. 1 and FIG. 2 shows that there is a difference at a portion corresponding to the sixth body 306 and no difference at the remaining portion. Therefore, the different portion can be identified as the sixth body 306. The sixth body 306 can be identified by generating a polygon mesh from the set of distance values ​​representing the different portion.

[0151] Fig.31 By adding the sixth body 206 to Fig.14 The shape 210′ ​​is obtained by removing the seventh body 207 from the surface corresponding to the first level set. Figures 19 to 22 The logical operation described by Fig.31 The shape 210′ ​​shown in FIG. Fig.31 The shape 210′ ​​is different from Fig.30The resulting fourth model 340 is compared to identify additional subjects.

[0152] Fig.32 An example of a fifth model 350 is shown, wherein a seventh body 307 is additionally identified after the process. Fig.30 The fourth model 340 with Fig.31 Comparison between the shapes 210′ ​​of FIG. 1 and FIG. 2 shows that there is a difference at a portion corresponding to the seventh body 307 and no difference at the remaining portion. Therefore, the different portion can be identified as the seventh body 307. The seventh body 307 can be identified by generating a polygon mesh from a set of distance values ​​representing the different portion.

[0153] As described above, according to some embodiments of the present disclosure, the processing of the semiconductor model can be performed by selecting the logical operation of the maximum value or the minimum value. Therefore, no matter how complex the semiconductor model is, a polygon mesh can always be successfully generated after the processing.

[0154] In addition, since there is no need to consider the consistency between polygon meshes when performing logical operations, the complexity of the operation can be linearly proportional to the number of polygon meshes. This can make it easy to parallelize and distribute operations to multiple cores.

[0155] According to some embodiments of the present disclosure, errors in logical operations can depend on errors in the values ​​processed at the grid, regardless of the complexity of the polygonal mesh or the complexity of the surface formed by the polygonal mesh. Therefore, operation errors can be reduced compared to when the operation is performed directly on the polygonal mesh.

[0156] According to some embodiments of the present disclosure, if the difference between the first distance value of the level set and the second distance value of the target level set is less than a threshold value when performing a logical operation, the simulation tool is configured to fixedly select the first distance value or the second distance value. For example, when the difference between the first distance value and the second distance value is less than the threshold value, one of the first distance value and the second distance value can be fixedly calculated as the distance value of the second level set. Therefore, the fluctuation of the shape can be easily corrected with a small amount of calculation.

[0157] In addition, although the teachings of the present disclosure are described in the context of semiconductor design, any resulting semiconductor design can be produced in a corresponding manufacturing process. Therefore, a method for manufacturing a semiconductor can start with or otherwise include the semiconductor design simulation method described herein. In addition, a system for manufacturing a semiconductor can include a semiconductor design system 100, thereby manufacturing the manufactured semiconductor based on the results of the semiconductor design simulation described herein.

[0158] Some examples of simulation tools related to designing semiconductor devices are described in the foregoing embodiments. However, the present disclosure is not limited to the design of semiconductor devices and can be applied to various design or modeling processes.

[0159] In the above embodiments, the term "block" is used to refer to components according to embodiments of the present disclosure. A "block" can be implemented with hardware (e.g., integrated circuits (ICs), application specific ICs (ASICs), field programmable gate arrays (FPGAs), and complex programmable logic devices (CPLDs)), software (e.g., firmware and applications driven in hardware devices), or a combination of hardware and software. In addition, a "block" may include a circuit or intellectual property (IP) arrangement (e.g., a unique arrangement of elements protected or protectable by intellectual property), which is implemented using semiconductor devices in an IC.

[0160] According to some embodiments of the present disclosure, operations performed on polygonal meshes in CSG operations can be replaced with operations performed on values. In this case, the complexity of the operation is reduced, and therefore, the amount of calculation required for the operation can be reduced. Therefore, the design of a semiconductor device can be simulated within a reduced operation time. As a result, a storage medium storing instructions for such fast simulation, a semiconductor design system including the storage medium, and a method for simulating the design of a semiconductor device using the system can be provided.

[0161] While example embodiments of the present disclosure have been particularly shown and described, it will be understood by those skilled in the art that changes in form and details may be made without departing from the spirit and scope of the appended claims.

Claims

1. A method for manufacturing a semiconductor, the method comprising: Simulate one of the semiconductor processes performed for the semiconductor model, including: generating a first polygonal mesh, the first polygonal mesh defining a final surface of at least one semiconductor model; transforming the first polygonal mesh into a first level set, the first level set comprising n level sets, wherein the transforming comprises: repeatedly selecting level sets until an nth level set is selected, the level set excluding surfaces of different bodies of the at least one semiconductor model that contact each other; performing a logic operation on the first level set to generate a second level set, the logic operation corresponding to the one semiconductor process and selected from a plurality of logic operations corresponding to the plurality of semiconductor processes; and transforming the second level set into a second polygonal mesh; and using the results of the simulation to manufacture the semiconductor, The step of transforming the first polygonal mesh into the first level set comprises: constructing a grid in a specific coordinate system so that the target body formed by the first polygonal mesh is placed in the grid; calculating distance values ​​at selected ones of the intersections of the grid that are located adjacent to a surface of the target body; and Select the distance value as a level set in the first level set, wherein, in each of the selected intersection points, a partial distance value corresponding to each axis of the specific coordinate system is calculated as a part of the distance value, and wherein the distance value comprises a point-based distance value, the point-based distance value is obtained at the selected intersection point, and Wherein, based on a first point-based distance value among the point-based distance values ​​being greater than the length of each grid, the first point-based distance value is assigned a default value, the default value being greater than a maximum value of the range of the distance values.

2. The method according to claim 1, wherein: The selected intersection points include a first intersection point and a second intersection point, the first intersection point being located outside the surface of the target body and the second intersection point being located inside the surface of the target body.

3. The method according to claim 2, wherein: Each of the distance values ​​at the first intersection point has a positive sign, and Each of the distance values ​​at the second intersection point has a negative sign.

4. The method according to claim 1, wherein: The distance value represents the shortest distance from the selected intersection point to the surface of the target body in the particular coordinate system.

5. The method according to claim 1, wherein: When the first polygonal mesh forms two or more bodies, transforming the first polygonal mesh into the first level set includes calculating a first level set in the first level set according to a first final surface formed by the two or more bodies.

6. The method according to claim 5, wherein: Transforming the first polygonal mesh into the first level set further comprises: removing one of the two or more bodies; and A second level set in the first level set is calculated based on a second final surface formed by the remaining bodies.

7. The method according to claim 6, wherein: When only one subject remains as a remaining one of the two or more subjects, the method further includes: calculating a last level set in the first level sets according to a surface formed by the remaining one subject.

8. The method according to claim 7, wherein: The plurality of logical operations are respectively performed on the first level set, the second level set, and the last level set in the first level set.

9. The method according to claim 1, wherein: Each of the plurality of logical operations includes one of a union, an intersection, and a difference.

10. The method according to claim 1, wherein: The plurality of logical operations are performed on the first level set and a target level set.

11. The method according to claim 10, wherein: Each of the first level sets includes a first distance value set, The target level set includes a second distance value set, and Performing the plurality of logical operations on the first level set includes: A minimum value or a maximum value is calculated as a distance value of a specific second level set in the second level set corresponding to a specific first level set in the first level set, the minimum value or the maximum value being selected from a specific first distance value of the first distance value set of the specific first level set and a specific second distance value of the second distance value set associated with the specific first distance value.

12. The method according to claim 11, wherein: When the difference between the specific first distance value and the specific second distance value is smaller than a threshold, one distance value between the specific first distance value and the specific second distance value is fixedly calculated as the distance value of the specific second level set.

13. The method according to claim 1, wherein: Transforming the second level set into the second polygonal mesh comprises: calculating surfaces according to the second level sets respectively; Based on the difference between the surfaces, identifying a subject according to the surfaces as the identified subject; and The second polygonal mesh is generated in the identified body.

14. The method according to claim 1, wherein: The second polygonal mesh is independent of the first polygonal mesh.

15. A semiconductor manufacturing system comprising: A simulator includes a memory storing instructions and a processor, wherein the processor is configured to execute the instructions to perform a semiconductor process simulation among a plurality of semiconductor process simulations on a semiconductor model, wherein the semiconductor process simulation includes: generating a first polygonal mesh, the first polygonal mesh defining a final surface of at least one semiconductor model; transforming the first polygonal mesh into a first level set, the first level set comprising n level sets, wherein the transforming comprises: repeatedly selecting level sets until an nth level set is selected, the level set excluding surfaces of different bodies of the at least one semiconductor model that contact each other; performing a logic operation on the first level set to generate a second level set, the logic operation corresponding to the semiconductor process simulation and selected from a plurality of logic operations corresponding to the plurality of semiconductor process simulations; and transforming the second level set into a second polygonal mesh, wherein the result of the semiconductor process simulation is used to manufacture a semiconductor, The step of transforming the first polygonal mesh into the first level set comprises: constructing a grid in a specific coordinate system so that the target body formed by the first polygonal mesh is placed in the grid; calculating distance values ​​at selected ones of the intersections of the grid that are located adjacent to a surface of the target body; and The distance value is selected as a level set in the first level set, and wherein, in each of the selected intersection points, a partial distance value corresponding to each axis of the specific coordinate system is calculated as a part of the distance value, wherein the distance value comprises a point-based distance value, the point-based distance value is obtained at the selected intersection point, and Wherein, based on a first point-based distance value among the point-based distance values ​​being greater than the length of each grid, the first point-based distance value is assigned a default value, the default value being greater than a maximum value of the range of the distance values.

16. The semiconductor manufacturing system according to claim 15, wherein: Each of the first level sets includes a first distance value set, Each of the first distance value sets includes a plurality of distance values, and Each of the distance values ​​has a positive or negative sign, and Wherein the number of the distance values ​​in each of the first distance value sets is equal to the dimension of a particular coordinate system in which the first distance value sets are generated.

17. A method for manufacturing a semiconductor, the method comprising: Simulate one of the semiconductor processes performed for the semiconductor model, including: forming a first body and a second body using a first polygonal mesh, the first polygonal mesh defining a final surface of the semiconductor model; calculating a first level set according to a first surface formed by the first body and the second body, selecting the first level set from n level sets in an iterative process until an nth level set is selected, the level set excluding surfaces of different bodies of the semiconductor model that are in contact with each other; removing the first body to generate a second polygonal mesh; calculating a second level set based on a second surface of the second body; performing a logic operation on the first level set and the second level set to generate a third level set, the logic operation corresponding to the one semiconductor process and selected from a plurality of logic operations corresponding to the plurality of semiconductor processes; and generating a third polygonal mesh according to the third level set; and using the results of the simulation to manufacture the semiconductor, Wherein, calculating the first level set includes: constructing a grid in a specific coordinate system so that the first body and the second body are placed in the grid; calculating distance values ​​at selected intersection points among the intersection points of the grid that are located adjacent to surfaces of the first body and the second body; and Select the distance value as the first level set, wherein, in each of the selected intersection points, a partial distance value corresponding to each axis of the specific coordinate system is calculated as a part of the distance value, wherein the distance value comprises a point-based distance value, the point-based distance value is obtained at the selected intersection point, and Wherein, based on a first point-based distance value among the point-based distance values ​​being greater than the length of each grid, the first point-based distance value is assigned a default value, the default value being greater than a maximum value of the range of the distance values.

18. The method according to claim 17, wherein: The simulation also includes: A third polygonal mesh forming the first body is generated according to a difference set between the second level set and the first level set.

Citation Information

Patent Citations

  • Multiscale weighted matching and sensor fusion for dynamic vision sensor tracking

    KR1020180071962A

  • Conversion of adaptively sampled distance fields to triangles

    US20020130856A1