# US 12,118,707 B2 · System and method for semiconductor topography simulations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,707 B2
- Document ID: US12118707B2
- Status: Granted
- Kind: B2
- Application number: 17/832,585
- Filed: 2022-06-04
- Published: 2023-12-07
- Granted: 2024-10-15
- Earliest claimed: 2022-06-04
- Assignees: Taiwan Semiconductor Manufacturing Company, Ltd.
- Applicants: Taiwan Semiconductor Manufacturing Company, Ltd.
- Inventors: Nuo Xu; Zhengping Jiang; Ji-Ting Li; Yuan Hao Chang; Zhiqiang Wu; Wen-Hsing Hsieh
- Web page: https://patentgrep.com/patent/US12118707B2

## CPC

- G06T 7/0004: {Industrial image inspection}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06F 30/25: using particle-based methods
- G06F 30/331: with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
- G06F 30/337: Design optimisation
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G06T 15/08: Volume rendering
- G06F 2111/08: Probabilistic or stochastic CAD
- G06F 2111/10: Numerical modelling
- G06F 2119/18: Manufacturability analysis or optimisation for manufacturability
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2207/30148: Semiconductor; IC; Wafer
- G06T 2210/21: Collision detection, intersection
- G06T 2219/2021: Shape modification
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure provides a method for topography simulation of a physical structure under a topography-changing process. The method includes initializing a voxel mesh as a three-dimensional (3D) representation of the physical structure, generating a batch of particles, simulating a flight path of one of the particles with a ray-tracing method by a parallel processing thread in a hardware accelerator, identifying a surface normal of a voxel unit in the voxel mesh that intersects the flight path by the parallel processing thread, determining a surface reaction between the one of the particles and the voxel unit by a central processing unit (CPU), and updating the voxel mesh based on the determining of the surface reaction.

## Claims

### Claim 1

A method for topography simulation of a physical structure under a topography-changing process, comprising:
initializing a voxel mesh as a three-dimensional (3D) representation of the physical structure by a central processing unit (CPU), wherein the CPU has a plurality of first cores;
generating a batch of particles;
simulating a flight path of one of the particles with a ray-tracing method by a parallel processing thread in a graphics processing unit (GPU), wherein the GPU has a plurality of second cores, and wherein a number of the second cores is larger than a number of the first cores;
identifying a surface normal of a voxel unit in the voxel mesh that intersects the flight path by the parallel processing thread in the GPU;
passing information describing a moment the one of the particles hitting the voxel mesh from the GPU to the CPU;
determining a surface reaction between the one of the particles and the voxel unit by the CPU; and
updating the voxel mesh based on the determining of the surface reaction.

### Claim 2 (depends on 1)

The method of claim 1, wherein the CPU is coupled to the GPU through a global memory.

### Claim 3 (depends on 1)

The method of claim 1, wherein the updating of the voxel mesh is reserved as a right exclusively to the CPU.

### Claim 4 (depends on 1)

The method of claim 1, wherein the generating of the batch of particles includes applying a Monte-Carlo particle emission model.

### Claim 5 (depends on 4)

The method of claim 4, wherein the applying of the Monte-Carlo particle emission model includes applying a Latin hyper-cube sampling or a Sobol sequence.

### Claim 6 (depends on 1)

The method of claim 1, wherein the generating of the batch of particles is performed by the CPU.

### Claim 7 (depends on 1)

The method of claim 1, wherein the batch of particles is a first batch of particles, the method further comprising:
after the updating of the voxel mesh, generating a second batch of particles, wherein a portion of the second batch of particles is previously included in the first batch of particles.

### Claim 8 (depends on 1)

The method of claim 1, wherein the topography-changing process is a removal type process, and wherein after the determining of the surface reaction, the voxel unit is removed from the updated voxel mesh.

### Claim 9 (depends on 1)

The method of claim 1, wherein the GPU includes integrated circuit dies hosted in at least one System-on-Chip (SoC) package, wherein the at least one SoC package and the CPU are both bonded to an interposer.

### Claim 10 (depends on 9)

The method of claim 9, wherein the GPU includes two SoC packages vertically stacked.

### Claim 11

A method for performing a topography simulation on a hardware platform that includes a central processing unit (CPU) and a graphics processing unit (GPU), the method comprising:
retrieving from a memory device in the hardware platform an initial three-dimensional (3D) structure;
meshing the initial 3D structure with a 3D voxel grid;
generating a plurality of particles from a particle source by the CPU;
for each of the particles, performing a set of operations to determine a topographical modification caused by the corresponding particle, wherein the set of operations comprises:
calculating a flight path by the GPU based on a ray-tracing method;
identifying a surface normal of a voxel unit in the 3D voxel grid that intersects the flight path by the GPU;
passing information describing a moment of the corresponding particle hitting the voxel from the GPU to the CPU; and
evaluating a surface reaction between the corresponding particle and the voxel unit by the CPU; and
regenerating the 3D voxel grid based on the evaluated surface reaction.

### Claim 12 (depends on 11)

The method of claim 11, wherein the CPU includes a cluster of first cores, and the GPU includes a cluster of second cores, and wherein a number of the second cores is larger than a number of the first cores.

### Claim 13 (depends on 11)

The method of claim 11, wherein after the identifying of the surface normal, the surface normal is stored into the memory device by the GPU, and wherein the evaluating of the surface reaction includes retrieving the surface normal from the memory device by the CPU.

### Claim 14 (depends on 11)

The method of claim 11, wherein the 3D voxel grid includes voxel units of different sizes.

### Claim 15 (depends on 11)

The method of claim 11, wherein the regenerating the 3D voxel grid includes replacing the voxel unit that intersects the flight path with a smaller voxel unit.

### Claim 16 (depends on 11)

The method of claim 11, wherein in the hardware platform, the CPU, the GPU, and the memory device are carried by a same interposer.

### Claim 17 (depends on 11)

The method of claim 11, wherein in the hardware platform, the GPU includes a first System-on-Chip (SoC) package stacked on a second SoC package.

### Claim 18

A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for topography simulating on a physical structure, the method comprising:
initializing a three-dimensional (3D) voxel grid that represents the physical structure;
generating a batch of particles by a random number generator executed in a central processing unit (CPU) of the computer;
ray tracing each of the particles in a plurality of parallel processing threads in a graphics processing unit (GPU) of the computer, wherein a number of the particles equals a number of the parallel processing threads;
identifying surface normals of a plurality of voxel units in the 3D voxel grid that intersect the particles by the parallel processing threads in the GPU;
passing information describing moments the particles being intersected by the voxel units in the 3D voxel grid from the GPU to the CPU;
evaluating reactions between the particles and the voxel units in the 3D voxel grid by the CPU; and
updating the 3D voxel grid based on the evaluated reactions.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein parallel processing threads are provided by a plurality of dies for hardware accelerating.

### Claim 20 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the CPU includes a plurality of processing cores, wherein a number of the plurality of processing cores of the CPU is less than the number of the plurality of parallel processing threads in the GPU.
