A simulation method for integrated circuit
By decomposing the region to be simulated in the integrated circuit into parallel tasks and using the interatomic multi-body action model to calculate the potential energy and force of the particles, the problem that the existing technology is difficult to consider microscopic factors is solved, and the accuracy and efficiency of the calculation are improved.
Patent Information
- Application Number
- CN202110384924.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-09
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2041-04-09
AI Technical Summary
When existing electronic design automation (EDA) software simulates and simulates the thermal effects and mechanical properties of integrated circuits, it is difficult to consider the influence of microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, and doping, resulting in insufficient calculation accuracy and efficiency.
By decomposing the area to be simulated in the integrated circuit into multiple parallel tasks and assigning a parallel computing process to each task, the potential energy and force of the particle are calculated using the interatomic multi-body action model or the two-body action model, and the acceleration and position of the particle are calculated in combination with the motion equation until the stable state is reached or the preset number of repetitions is reached.
It improves the accuracy of thermal effects and mechanical performance calculation of integrated circuits, enhances the versatility and scalability of parallel algorithms, and significantly improves the computing efficiency.
Smart Images

Figure CN115204021B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of integrated circuit simulation and emulation and back-end verification of electronic design automation (EDA) software, and in particular to a simulation method for an integrated circuit. Background Art
[0002] At present, the line width of mainstream chips in integrated circuit technology is less than tens of nanometers. A single processor usually integrates more than hundreds of millions of transistors. The on-chip power density reaches extremely high values, far exceeding the surface heat flux density caused by aerodynamic heating when the spacecraft re-enters the atmosphere. Some hot spots even reach the heat flux density on the surface of the sun. The thermal effect has become the main obstacle to the increase of chip frequency and stable operation. Especially in the era when the line width of mainstream chips has entered below 10nm, the thermal effect is more prominent. There are a large number of low-dimensional nanostructures such as nanowires, nanofilms, and doped regions in current silicon-based high-end microprocessor chips, resulting in high surface interface density, large thermal resistance, and difficulty in chip heat dissipation. The heat transfer properties and thermal conductivity of bulk silicon and its nano-microstructures will significantly affect the performance and stability of integrated circuits in microelectronic devices, and in some cases even cause serious degradation of device performance. Therefore, based on the thermal conductivity and thermophysical properties of low-dimensional nanostructures and the characterization of the underlying heat transfer mechanism, integrated circuit calculation and back-end verification, as well as the design and development of new high-efficiency nano-microchip devices, have great scientific and industrial application value.
[0003] For the verification of thermal effects and mechanical properties of integrated circuits, current electronic design automation (EDA) software mainly uses macroscopic continuous heat transfer calculation methods based on Fourier's law, usually using finite difference (FDM), finite element (FEM), finite volume (FVM) and other algorithms for solution. However, these solvers are difficult to apply at technology nodes at the scale of tens of nanometers, and it is difficult to consider the influence of microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, and doping in semiconductor devices.
[0004] In the atomic simulation of the entire physical integrated circuit, it is necessary to deal with the influence of microscopic factors such as substrate, doping area, dielectric layer, gate, surface boundary, contact interface, and layout. The current silicon substrate is mainly high-purity single crystal silicon. Silicon is one of the most widely used and important materials in the information technology industry. It is the basic material of current microelectronic chips and has been widely used in field effect transistors, thermoelectric elements, and nano-micro electromechanical systems (MEMS / NEMS). In the current engineering simulation of pure silicon substrate, doping and gate, it is sufficient to use empirical interaction potential between silicon atoms. Although the ab initio algorithm in quantum mechanics can obtain the exact value of potential energy, it relies on the local density function of atoms, so the calculation is large and the calculation time is long. It is only suitable for simulating small-scale systems. In the field of integrated circuits, it is often used to calculate the performance of a single transistor. Summary of the invention
[0005] The present invention provides a simulation method for an integrated circuit, so as to improve the accuracy of the calculation of the thermal effect and mechanical properties of a physical integrated circuit, and to improve the simulation calculation efficiency.
[0006] The present invention provides a simulation method for an integrated circuit, wherein the integrated circuit includes an integrated coupling system of multiple transistors, and the method includes:
[0007] Decomposing the simulation task of the region to be simulated of the integrated circuit into multiple parallel tasks, where different parallel tasks correspond to different sub-simulation regions; wherein the multiple sub-simulation regions constitute the region to be simulated;
[0008] Assign a parallel computing process to each parallel computing task;
[0009] Each parallel computing process saves the attribute information of each particle in the corresponding sub-area to be simulated into the memory, wherein the attribute information includes initial position, initial velocity, initial acceleration, initial potential energy, particle number and particle type, and the particle includes an atom or a molecule;
[0010] Each parallel computing process determines the neighboring particle number of each particle in the corresponding sub-simulation area, and calculates the potential energy of all particles in the sub-simulation area corresponding to the parallel computing task according to the multi-body action model or the two-body action model between atoms and the attribute information, calculates the force applied to each particle according to the potential energy and force calculation model, determines the acceleration of the particle according to the force applied to the particle, and calculates the velocity and position of the particle at the next moment according to the motion equation combined with the initial position and initial velocity in the attribute information;
[0011] Each parallel computing process repeatedly calculates the potential energy, the force, the acceleration, and the speed and position at the next moment until the particle system corresponding to the area to be simulated reaches a stable state or the number of repetitions reaches a preset number of repetitions;
[0012] The kinetic energy, potential energy, temperature and stress of each particle are determined according to the physical quantities obtained by each particle in each calculation process, and the kinetic energy, potential energy, temperature and stress of the area to be simulated are statistically analyzed.
[0013] Optionally, the sub-simulation area corresponding to each of the parallel computing tasks includes at least one transistor, or the sub-simulation area corresponding to each of the parallel tasks includes a partial area of a functional area of a transistor or includes at least one functional area of a transistor, wherein the functional area includes a substrate, a doped area, a channel area, a dielectric layer and a gate.
[0014] Optionally, before each parallel computing process determines the neighboring particle number of each particle in the corresponding sub-simulation area, the method further includes:
[0015] Each parallel computing process sends the initial positions and particle types of the particles in the boundary area of the corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the initial positions and particle types of the particles in the boundary area sent by other adjacent sub-simulation areas;
[0016] And, after calculating the velocity and position of the particle at the next moment, it also includes:
[0017] Each parallel computing process sends the next moment position and particle type of particles in the boundary area of its corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the next moment position and particle type of particles in the boundary area sent by other adjacent sub-simulation areas.
[0018] Optionally, each parallel computing process determines the neighboring particle labels of each particle, including:
[0019] Each parallel computing process uses a fixed neighbor particle list, a dynamic neighbor particle list, or a linked-cell algorithm to determine the neighboring particles of each particle.
[0020] Optionally, different functional areas use different multi-body interaction models or two-body interaction models between particles to calculate the forces acting on the particles.
[0021] Optional multi-body interaction models include Tersoff multi-body interaction model, Tersoff-Brenner multi-body interaction model, Stillinger-Weber multi-body interaction model, embedded atom method EAM, force field model (FF), environment-dependent interatomic potential model (EDIP), reaction force field ReaxFF model, ab initio in quantum mechanics and atomic interaction model based on machine learning.
[0022] Optionally, the force calculation model includes:
[0023]
[0024] Where E represents the potential energy of the particle, Represents the derivative calculation of the particle position.
[0025] Optionally, the motion equation includes:
[0026]
[0027] Where m represents the mass of the particle; v represents the velocity of the particle; F represents the force exerted on the particle by the neighboring particles, F external Represents the external force acting on the particle.
[0028] Optionally, the stable state includes that a distribution of physical quantities in the area to be simulated at a next moment is the same as a distribution of physical quantities at a current moment.
[0029] Optionally, the area to be simulated includes the entire integrated circuit or a functional module of the integrated circuit;
[0030] The type of the transistor includes at least one of a metal oxide field effect transistor (CMOS FET), a fin field effect transistor (FinFET), a silicon on insulator field effect transistor (SOI FET), a strained silicon field effect transistor (Strained Silicon FET), a gate-all-around field effect transistor (GAA FET), a graphene-based nanoribbon transistor, and a coaxially-gated carbon nanotube FET.
[0031] The present invention calculates the potential energy of each particle according to the multi-body action model or the two-body action model between atoms, thereby obtaining the force on each particle, thereby obtaining the acceleration of each particle, thereby obtaining the speed and position of the particle at the next moment, and the kinetic energy, temperature and stress change of the particle can be obtained according to the force, speed and position of the particle. The present invention simulates the integrated circuit or a functional module of the integrated circuit based on the method of atomic simulation or molecular dynamics simulation, fully considering the microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, doping, etc., overcomes the disadvantage that the macroscopic continuous heat transfer calculation method adopted by the current electronic design automation software is difficult to consider the influence of microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, doping, etc. in the entire physical integrated circuit or a functional module of the physical integrated circuit, improves the accuracy of the calculation of the thermal effect and mechanical properties of the physical integrated circuit, and by dividing the simulation task of the area to be simulated into multiple parallel tasks, the multiple parallel tasks are respectively executed by multiple parallel processes, thereby improving the versatility and scalability of the parallel algorithm, facilitating program development, and significantly improving the calculation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 is a flow chart of a simulation method of an integrated circuit provided by an embodiment of the present invention;
[0033] Figure 2 is a flow chart of another integrated circuit simulation method provided by an embodiment of the present invention;
[0034] Figure 3 is a schematic diagram of a single transistor analog computation in one embodiment;
[0035] Figure 4 In one embodiment, it is a parallel computing task decomposition and parallel algorithm diagram of a functional module in a physical integrated circuit;
[0036] Figure 5 It is a temperature field distribution diagram of the simulation calculation results of a certain functional module in an integrated circuit in one embodiment. DETAILED DESCRIPTION
[0037] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0038] Embodiment 1
[0039] This embodiment provides a simulation method for an integrated circuit, which is implemented on a computer cluster and supercomputing system loaded with a central processing unit CPU or various multi-core acceleration processors, such as a graphics processing unit GPU, a domestic processor SW26010, an Intel processor MIC, etc. Figure 1 is a flow chart of a simulation method of an integrated circuit provided by an embodiment of the present invention, wherein the integrated circuit includes an integrated coupling system of multiple transistors, and Figure 1 , the method comprising:
[0040] S110, decomposing the simulation task of the area to be simulated of the integrated circuit into multiple parallel tasks, where different parallel tasks correspond to different sub-simulation areas; wherein multiple sub-simulation areas constitute the area to be simulated.
[0041] The area to be simulated may include the entire integrated circuit or a functional module of the integrated circuit. The size of the sub-simulation area may be determined according to computing power and computing speed.
[0042] Optionally, the sub-simulation area corresponding to each of the parallel computing tasks includes at least one transistor, or the sub-simulation area corresponding to each of the parallel tasks includes a partial area of a functional area of a transistor or includes at least one functional area of a transistor, wherein the functional area includes a substrate, a doped area, a channel area, a dielectric layer and a gate.
[0043] Specifically, when the size of the transistor is relatively small, each sub-simulation region may include one or more transistors. When the size of the transistor is relatively large, the sub-simulation region may include one or more functional regions of the transistor, and may also include a partial region of a functional region. Exemplarily, the sub-simulation region may include one or more regions among a substrate, a doped region, a channel region, a dielectric layer, and a gate in a transistor, and the sub-simulation region may also include a partial region of the substrate.
[0044] Optionally, the type of transistor includes at least one of a metal oxide field effect transistor (CMOS FET), a fin field effect transistor (FinFET), a silicon field effect transistor on an insulator (SOI FET), a strained silicon field effect transistor (Strained Silicon FET), a gate-all-around field effect transistor (GAA FET), a graphene-based nanoribbon transistor, and a coaxially-gated carbon nanotube FET. In this embodiment, the transistor in the area to be simulated may be any one or more of the above transistors.
[0045] S120. Allocate a parallel computing process to each parallel computing task.
[0046] One process corresponds to one central processing unit or one many-core accelerator processor, for example, one process corresponds to one GPU, or one process corresponds to one or more cores of a CPU.
[0047] S130. Each parallel computing process saves the attribute information of each particle in the corresponding sub-area to be simulated into the memory, wherein the attribute information includes the initial position, initial velocity, initial acceleration, initial potential energy, particle number and particle type, and the particles include atoms or molecules.
[0048] Specifically, the attribute information of each particle is saved in the memory of the computer cluster or supercomputing system.
[0049] S140. Each parallel computing process determines the neighboring particle numbers of each particle in the corresponding sub-simulation area, and calculates the potential energy of all particles in the sub-simulation area corresponding to the parallel computing task according to the multi-body interaction model or the two-body interaction model between atoms and the attribute information, calculates the force applied to each particle according to the potential energy and force calculation model, determines the acceleration of the particle according to the force applied to the particle, and calculates the velocity and position of the particle at the next moment according to the motion equation combined with the initial position and initial velocity in the attribute information.
[0050] Specifically, the neighboring particle number of each particle may be pre-stored, and each parallel computing process may directly call the neighboring particle number of each particle, or each parallel computing process may determine the neighboring particle number of each particle through an algorithm.
[0051] By dividing the simulation task of the area to be simulated into multiple parallel tasks, and executing multiple parallel tasks through multiple parallel processes, the versatility and scalability of the parallel algorithm are improved, program development is convenient, and the computing efficiency is significantly improved. In addition, multiple parallel computing processes corresponding to the area to be simulated can be set to run in parallel on the CPU, or run in parallel on the multi-core acceleration processor, or run in parallel on the CPU and the multi-core acceleration processor, so as to improve the execution efficiency of the computing program and maximize the performance of the heterogeneous computing system.
[0052] Molecular dynamics simulation (MD) has become the main means of studying the thermal conductivity of dielectric materials such as silicon and their low-dimensional nanostructures because it can carefully depict the microscopic processes within the atomic vibration period. This embodiment is mainly based on atomic simulation or molecular dynamics simulation methods and coupled with large-scale parallel computing acceleration technology to effectively improve the time and space scales of the simulation, realize the coupled simulation of large-scale integrated transistors in real chip devices and their single functional modules, and achieve disruptive and breakthrough thermal management technology innovation and mechanical performance evaluation.
[0053] The multi-body action models include Tersoff multi-body action model, Tersoff-Brenner multi-body action model, Stillinger-Weber multi-body action model, EAM, FF model, EDIP model, ReaxFF model, ab initio and atomic action model based on machine learning.
[0054] Optionally, force calculation models include:
[0055]
[0056] Where E represents the potential energy of the particle, Represents the derivative calculation of the particle position.
[0057] Optionally, the equations of motion include:
[0058]
[0059] Where m represents the mass of the particle; v represents the velocity of the particle; F represents the force exerted on the particle by the neighboring particles, F external Represents the external force acting on the particle.
[0060] S150, each parallel computing process repeatedly calculates the potential energy, the force, the acceleration, and the speed and position at the next moment until the particle system corresponding to the area to be simulated reaches a stable state or the number of repetitions reaches a preset number of repetitions.
[0061] Specifically, the parallel computing process again calculates the potential energy of all particles in the sub-simulation area corresponding to the parallel computing task based on the multi-body interaction model or the two-body interaction model between atoms and the attribute information, calculates the force applied to each particle based on the potential energy and force calculation model, determines the acceleration of the particle based on the force applied to the particle, and continues to calculate the velocity and position of the particle at the next moment based on the motion equation combined with the velocity and position of the particle at the next moment obtained by the previous calculation.
[0062] The stable state means that the distribution of physical quantities in the area to be simulated at the next moment is similar to the distribution of physical quantities at the current moment. For example, the heat distribution in the area to be simulated at the next moment is basically consistent with the heat distribution at the previous moment, or the kinetic energy distribution in the area to be simulated at the next moment is basically consistent with the kinetic energy distribution at the previous moment. In this case, it is considered that the particle system in the area to be simulated has reached a stable state.
[0063] Optionally, the stable state includes that a distribution of physical quantities in the area to be simulated at a next moment is the same as a distribution of physical quantities at a current moment.
[0064] S160, determining the kinetic energy, potential energy, temperature and stress of each particle according to the physical quantities obtained during each calculation process, and performing statistics on the kinetic energy, potential energy, temperature and stress of the area to be simulated.
[0065] Specifically, by taking statistics on kinetic energy, potential energy, temperature and stress, the heat dissipation performance and other performance conditions of the integrated circuit or a functional module of the integrated circuit can be obtained, and the integrated circuit can be verified at the back end. The parallel computing processes corresponding to the multiple sub-simulation areas can respectively take statistics on the kinetic energy, potential energy, temperature and stress of the corresponding sub-simulation areas, and send the statistical results to the pre-set parallel computing process. The pre-set parallel computing process will take statistics on the statistical results of all sub-areas to obtain the kinetic energy, potential energy, temperature and stress statistical results of the area to be simulated, so as to verify the thermal effects and mechanical properties of the area to be simulated. Among them, the pre-set parallel computing process can be the parallel computing process corresponding to any sub-simulation area.
[0066] The present embodiment calculates the potential energy of each particle according to the multi-body action model or the two-body action model between atoms, thereby obtaining the force on each particle, thereby obtaining the acceleration of each particle, thereby obtaining the speed and position of the particle at the next moment, and the kinetic energy, temperature and stress change of the particle can be obtained according to the force, speed and position of the particle. The present embodiment simulates the integrated circuit or a functional module of the integrated circuit based on the method of atomic simulation or molecular dynamics simulation, fully considering the microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, doping, etc., overcomes the disadvantage that the macroscopic continuous heat transfer calculation method used by the current electronic design automation software is difficult to consider the influence of microscopic factors such as nanowires, nanofilms, surface boundaries, contact interfaces, doping, etc. in the entire integrated circuit or a functional module of the integrated circuit, improves the accuracy of the calculation of the thermal effect and mechanical properties of the integrated circuit, and by dividing the simulation task of the area to be simulated into multiple parallel tasks, the multiple parallel tasks are respectively executed by multiple parallel processes, thereby improving the versatility and scalability of the parallel algorithm, facilitating program development, and significantly improving the calculation efficiency.
[0067] Figure 2 is a flowchart of another integrated circuit simulation method provided by an embodiment of the present invention, referring to Figure 2 , the method comprising:
[0068] S110, decomposing the simulation task of the area to be simulated of the integrated circuit into multiple parallel tasks, where different parallel tasks correspond to different sub-simulation areas; wherein multiple sub-simulation areas constitute the area to be simulated.
[0069] S120. Allocate a parallel computing process to each parallel computing task.
[0070] S130. Each parallel computing process saves the attribute information of each particle in the corresponding sub-area to be simulated into the memory, wherein the attribute information includes the initial position, initial velocity, initial acceleration, initial potential energy, particle number and particle type, and the particles include atoms or molecules.
[0071] S131. Each parallel computing process sends the initial positions and particle types of the particles in the boundary area of its corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the initial positions and particle types of the particles in the boundary area sent by other adjacent sub-simulation areas.
[0072] S140. Each parallel computing process determines the neighboring particle numbers of each particle in the corresponding sub-simulation area, and calculates the potential energy of all particles in the sub-simulation area corresponding to the parallel computing task according to the multi-body interaction model or the two-body interaction model between atoms and the attribute information, calculates the force applied to each particle according to the potential energy and force calculation model, determines the acceleration of the particle according to the force applied to the particle, and calculates the velocity and position of the particle at the next moment according to the motion equation combined with the initial position and initial velocity in the attribute information.
[0073] S141. Each parallel computing process sends the next moment position and particle type of particles in the boundary area of its corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the next moment position and particle type of particles in the boundary area sent by other adjacent sub-simulation areas.
[0074] S150, each parallel computing process repeatedly calculates the potential energy, the force, the acceleration, and the speed and position at the next moment until the particle system corresponding to the area to be simulated reaches a stable state or the number of repetitions reaches a preset number of repetitions.
[0075] S160, determining the kinetic energy, potential energy, temperature and stress of each particle according to the physical quantities obtained during each calculation process, and performing statistics on the kinetic energy, potential energy, temperature and stress of the area to be simulated.
[0076] Specifically, each parallel computing process first determines the boundary region adjacent to other sub-simulation regions, and then sends the initial position and particle type of the particles in the boundary region to the parallel computing process of the sub-simulation region adjacent to the boundary region, so that the parallel computing process of the adjacent sub-simulation region calculates the potential energy and force of each particle. And each parallel computing process sends the particle position to the parallel computing process of the adjacent sub-simulation region after calculating the particle position of the boundary region at the next moment.
[0077] In addition, each parallel computing process is also used to receive the particle positions and particle types of the boundary area of the adjacent sub-simulation area sent by the adjacent sub-simulation area. The sending and receiving of each parallel computing process can be performed synchronously or asynchronously, which is not specifically limited in this embodiment.
[0078] Optionally, each parallel computing process determines the neighboring particle labels of each particle, including:
[0079] Each parallel computing process uses a fixed neighbor particle list, a dynamic neighbor particle list, or a linked-cell algorithm to determine the neighboring particles of each particle.
[0080] Specifically, the corresponding algorithm can be selected as needed to determine the neighboring particles of each particle. For example, the fixed neighbor algorithm can be used to determine the neighboring particles of each particle for the substrate of each transistor, and the dynamic neighbor list algorithm can be used to determine the neighboring particles of each particle for the doping region, channel region, dielectric layer and gate of each transistor. The channel region and the substrate only include silicon atoms, the doping region and the dielectric layer include at least two types of atoms, and the gate may include one or more types of atoms. By using different algorithms to determine the neighboring particles of each particle, the force condition of each particle can be simulated more accurately.
[0081] Optionally, different functional areas use different multi-body interaction models between particles to calculate the forces acting on the particles.
[0082] Specifically, the substrate and channel regions only include silicon atoms, and there is only interaction between silicon and silicon. The doped region includes silicon and doped atoms, and there is interaction between silicon and doped atoms. The dielectric layer includes silicon dioxide, and there is a bond between silicon and oxygen in this region, and there is interaction between silicon and oxygen atoms. The interactions between atoms in different regions are different, and different multi-body interaction models can be used to calculate the forces on particles according to the characteristics of the interactions between atoms, so that the calculation of the interaction forces between atoms in different regions is more accurate.
[0083] Embodiment 2
[0084] This embodiment provides a specific example based on the above embodiment. This embodiment realizes the computational simulation of chip substrate, doped region, channel region, dielectric layer, gate, etc. in the integrated coupling system of large-scale transistors of a functional module of a physical integrated circuit through a class of Tersoff family interatomic multi-body interaction models on a computer cluster loaded with CPU and graphics processing unit GPU. In this embodiment, the CPU used by the computer system is Intel Xeon 2.7GHz, and the GPU is Nvidia V100. Each node has 2 channels and 28 cores, and 6 V100 cards. Tersoff-type multi-body interaction potentials are used between silicon atoms in the silicon substrate, between silicon and boron atoms in the P-type doped region, and between silicon atoms and oxygen atoms in the dielectric layer oxide, and the calculations on the CPU and graphics processing unit GPU are controlled by compilation environments such as GCC, CUDA (Compute Unified Device Architecture) and MPI.
[0085] The characteristic of the Tersoff multi-body interaction model is that the interaction between atoms depends on the local environment in which the atoms are located. The more the number of surrounding coordinated atoms, the weaker the bonding between atoms. The Tersoff multi-body interaction model formula described below is used to calculate the total potential energy of an atomic system, which is expressed as follows:
[0086]
[0087] Among them, V R (r ij )=Aexp(-λ1r ij )
[0088] V A (r ij )=-Bexp(-λ2r ij )
[0089]
[0090] B ij =(1+β n ζ ij n ) -1 / 2n
[0091]
[0092]
[0093] In the above formula, V R is the exclusion term, V A is the attractor, B ij is a bond angle θ ijk The relevant coefficients include the multi-body interaction between atoms and reflect the local atomic environment, f c is the cutoff function. The subscripts i, j, and k represent the atomic numbers, and r ij is the distance between atoms, θ ijk is the angle between key ij and key ik. The remaining characters A, B, λ1, λ2, R, D, β, n, λ3, c, d, and h are all model coefficients.
[0094] The specific values of each factor in the above formula will change according to the interaction between different atoms. For the interaction parameters between different atoms, they are calculated according to the average rule. For example, for the calculation of the potential energy between silicon Si and boron B atoms, the λ1 parameter directly adopts the λ1 parameter λ of silicon Si. 1-Si and the λ1 parameter λ of boron B 1-B The arithmetic mean (λ 1-Si +λ 1-B ) / 2, the parameters of λ2 are similar. The parameters of A adopt the A parameters of silicon A Si and the A parameter A of boron B The geometric mean Other parameters B, R, and D are similar. Taking the silicon substrate single crystal silicon, gate SiO2, and doped region Si-B used in this embodiment as an example, the specific content and parameters of the Tersoff type multi-body action model used are described in detail in the relevant references "Tersoff J., Physical Review B, 37 (12), 6991-7000, 1988", "Perez-Martin A., Jimenez-Rodriguez J. and Jimenez-Saez J., Applied Surface Science, 234, 228-233, 2004" and "Munetoh S., Motooka T., Moriguchi K. and Shintani A., Computational Materials Science, 39, 334-339, 2007".
[0095] In this embodiment, it is assumed that the atomic simulation system of a functional module of a physical integrated circuit to be simulated is a cubic space, and its spatial characteristic lengths in three directions are 130.3nm, 130.3nm and 54.31nm respectively, containing 41.9 million atoms, the initial system temperature is 300K, and each simulation time step is about 0.5fs. Periodic boundary condition control is adopted, and the time step integration format adopts the leapfrog algorithm.
[0096] In conjunction with the accompanying drawings, the following describes how to implement atomic simulation of a functional module of a physical integrated circuit through the Tersoff multi-body action model on a computer cluster loaded with a CPU and a graphics processing unit GPU.
[0097] To perform atomic simulation on a functional module of a physical integrated circuit with 419 million atoms, the property information of the system atoms, such as position, velocity, acceleration, potential energy, particle number, particle type, etc., must first be stored in the computer's system memory through the CPU on the computer system, and the label information of neighboring atoms of each atom is stored in the system memory. After the storage of the property information of atoms and the label information of neighboring atoms in the computer's system memory, space is also opened on the global memory of the GPU for all the particle property information required for calculation and the label information of neighboring particles of each particle, and then the property information of atoms and the label information of neighboring atoms stored in the system memory are transferred to the corresponding array of the GPU global memory.
[0098] In the process of atomic simulation using GPU, it is necessary to ensure that one atom corresponds to a separate thread on the GPU to realize the simulation calculation. Therefore, based on the basic information of the atomic system to be simulated, including the number of atoms, which has been given in the previous step, the correspondence between the atoms in the computing system and the threads in the GPU is realized here.
[0099] A functional module of the physical integrated circuit to be simulated in this embodiment is a region to be simulated, including 419 million atoms. First, the region to be simulated is divided into a plurality of sub-simulation regions. In this embodiment, the functional module includes 16 transistors, each of which is divided into two sub-simulation regions, one of which includes a substrate, and the other sub-simulation region includes a doping region, a channel region, a dielectric layer, and a gate. Then, a parallel computing process is divided for each sub-simulation region, and the atomic system in the sub-simulation region processed by each parallel computing process is divided into grid units. The cubic space used to represent the atomic system is divided into a plurality of grid units according to the spatial volume, and each grid unit has a certain number of atoms, and each grid unit corresponds to a thread block (Thread block) opened on the GPU.
[0100] After the grid units are divided, the grid units can be mapped to the thread blocks in the GPU, and the number of threads can be allocated for the atoms in the corresponding grid units in each thread block. In the above description, the atomic system is first divided into grid units, and then the number of threads is set in the thread block based on the divided grid units.
[0101] After the correspondence between atoms and threads in the atomic system is achieved, the forces acting on each atom can be calculated. When calculating, a kernel control function is first executed on the GPU, and the control function can calculate the forces acting on the atoms according to the multi-body action model. Since the multi-body action model used in this embodiment is the Tersoff potential function, according to the relevant content about the Tersoff potential function introduced above, the potential energy E of each atom in the atomic system can be obtained (which can be obtained from V in the potential function). ij (r ij ) and the total potential energy E of the entire atomic system total , and then the interaction between atoms in the system is calculated according to the force calculation model. The force calculation model formula is as follows:
[0102] represents the derivative with respect to the atomic position.
[0103] After the thread opened by the GPU in this step realizes the integrity and accuracy calculation of the interatomic forces, the acceleration of the atom can be calculated based on the magnitude of the force on each atom, and then the position and velocity of the atom at the next moment can be calculated based on the acceleration of the atom and the current position and velocity of the atom. The calculation is repeated iteratively until the entire atomic system reaches a stable state or the required number of iterations is reached.
[0104] After obtaining the complete force acting on the atom in the above process, the acceleration and other information of the atom can be obtained by Newtonian classical mechanics, thereby determining the motion equation of the atom:
[0105]
[0106] Where m represents the mass of the particle; v represents the atomic velocity; F represents the force exerted on the atom by its neighboring atoms, F external Represents the external force on the atom, which is not considered here. By integrating the above equation of motion over time, the position and velocity of the atom at the next moment can be obtained. The initial information related to the atom involved in the equation of motion can be obtained from the aforementioned atomic property information.
[0107] Figure 3 is a schematic diagram of a single transistor simulation calculation in an embodiment, reference Figure 3 A single transistor includes a chip substrate 11, a doped region 12, a channel region, a dielectric layer 13, a gate 14, etc. The transistor includes an interface 15 and a surface 16, etc. The region between the doped regions 12 is the channel region. Figure 4 The following is a diagram of the parallel computing task decomposition and parallel algorithm of a functional module in a physical integrated circuit in an embodiment. Figure 4 The functional module 10 of the integrated circuit includes a plurality of transistors, and one transistor is divided into two simulation sub-areas, each simulation sub-area corresponds to a parallel computing task, the surface doping area, channel area, dielectric layer and gate are the first simulation sub-area 101, corresponding to the first parallel computing task 103, and the silicon area of the substrate is the second simulation sub-area 102, corresponding to the second parallel computing task 104. The surface doping area, channel area, dielectric layer and gate use a dynamic neighbor particle list based on GPU to determine the atoms adjacent to an atom, and the silicon area of the substrate uses a fixed neighbor particle list based on GPU to determine the atoms adjacent to an atom. Each parallel computing task corresponds to a process, and the processes communicate with each other through the MPI protocol.
[0108] Figure 5 This is a diagram of the temperature field distribution of a functional module in an integrated circuit based on the simulation calculation results of a graphics processing unit GPU in an embodiment. The distribution of the temperature field is close to the experimental and calculation results reported in other literatures, so the simulation method provided in this embodiment has high accuracy and reliability.
[0109] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, combinations and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A simulation method for an integrated circuit, characterized in that: The integrated circuit includes an integrated coupled system of a plurality of transistors, the method comprising: Decomposing the simulation task of the region to be simulated of the integrated circuit into multiple parallel tasks, where different parallel tasks correspond to different sub-simulation regions; wherein the multiple sub-simulation regions constitute the region to be simulated; Assign a parallel computing process to each parallel computing task; Each parallel computing process saves the attribute information of each particle in the corresponding sub-simulation area into the memory, wherein the attribute information includes initial position, initial velocity, initial acceleration, initial potential energy, particle number and particle type, and the particle includes an atom or a molecule; Each parallel computing process determines the neighboring particle number of each particle in the corresponding sub-simulation area, and calculates the potential energy of all particles in the sub-simulation area corresponding to the parallel computing task according to the multi-body action model or the two-body action model between atoms and the attribute information, calculates the force applied to each particle according to the potential energy and force calculation model, determines the acceleration of the particle according to the force applied to the particle, and calculates the velocity and position of the particle at the next moment according to the motion equation combined with the initial position and initial velocity in the attribute information; Each parallel computing process repeatedly calculates the potential energy, the force, the acceleration, and the speed and position at the next moment until the particle system corresponding to the area to be simulated reaches a stable state or the number of repetitions reaches a preset number of repetitions; Determine the kinetic energy, potential energy, temperature and stress of each particle according to the physical quantities obtained by each particle in each calculation process, and perform statistics on the kinetic energy, potential energy, temperature and stress of the area to be simulated; The sub-simulation region corresponding to each of the parallel computing tasks includes at least one transistor, or the sub-simulation region corresponding to each of the parallel tasks includes a partial region of a certain functional region of a transistor or includes at least one functional region of a transistor, wherein the functional region includes a substrate, a doped region, a channel region, a dielectric layer and a gate; Before each parallel computing process determines the neighboring particle number of each particle in the corresponding sub-simulation area, the method further includes: Each parallel computing process sends the initial positions and particle types of the particles in the boundary area of the corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the initial positions and particle types of the particles in the boundary area sent by other adjacent sub-simulation areas; And, after calculating the velocity and position of the particle at the next moment, it also includes: Each parallel computing process sends the next moment position and particle type of particles in the boundary area of its corresponding sub-simulation area to the parallel computing processes corresponding to other sub-simulation areas adjacent to the boundary area; and each parallel computing process receives the next moment position and particle type of particles in the boundary area sent by other adjacent sub-simulation areas.
2. The simulation method according to claim 1, characterized in that: Each parallel computing process determines the neighboring particle number of each particle in the corresponding sub-simulation area, including: Each parallel computing process uses a fixed neighbor particle list, a dynamic neighbor particle list, or a linked-cell algorithm to determine the neighboring particles of each particle.
3. The simulation method according to claim 1, characterized in that: Different functional areas use different multi-body interaction models or two-body interaction models between particles to calculate the forces acting on particles.
4. The simulation method according to claim 1, characterized in that: The multi-body interaction models include the Tersoff multi-body interaction model, the Tersoff-Brenner multi-body interaction model, the Stillinger-Weber multi-body interaction model, the Embeded Atom Method (EAM), the Force Field (FF) model, the Environment-Dependent Interatomic Potential (EDIP) model, the reaction force field ReaxFF model, the ab initio algorithm in quantum mechanics, and the atomic interaction model based on machine learning.
5. The simulation method according to claim 1, characterized in that: The force calculation model includes: ; Among them, F represents the force exerted on the particle by the neighboring particles, E represents the potential energy of the particle, Represents the derivative calculation of the particle position.
6. The simulation method according to claim 1, characterized in that: The equations of motion include: ; Where m represents the mass of the particle; v represents the velocity of the particle; and F represents the force exerted on the particle by neighboring particles. represents the external force acting on the particle, and t represents time.
7. The simulation method according to claim 1, characterized in that: The stable state includes that the physical quantity distribution of the area to be simulated at the next moment is the same as the physical quantity distribution at the current moment.
8. The simulation method according to claim 1, characterized in that: The area to be simulated includes the entire integrated circuit or a certain functional module of the integrated circuit; The type of the transistor includes at least one of a metal oxide field effect transistor (CMOS FET), a fin field effect transistor (FinFET), a silicon on insulator field effect transistor (SOI FET), a strained silicon field effect transistor (Strained Silicon FET), a gate-all-around field effect transistor (GAA FET), a graphene-based nanoribbon transistor, and a coaxially-gated carbon nanotube FET.
Citation Information
Patent Citations
Synchronization processing method, module and system for integrated circuit simulation, and storage medium
CN111553122A
Integrated circuit electromagnetic response calculation method and device based on multi-level parallel strategy
CN111898330A