[go: up one dir, main page]

WO2000077694A1 - Improved simulation system for modeling the electromagnetic response of electronic design packages - Google Patents

Improved simulation system for modeling the electromagnetic response of electronic design packages Download PDF

Info

Publication number
WO2000077694A1
WO2000077694A1 PCT/US2000/015994 US0015994W WO0077694A1 WO 2000077694 A1 WO2000077694 A1 WO 2000077694A1 US 0015994 W US0015994 W US 0015994W WO 0077694 A1 WO0077694 A1 WO 0077694A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
mesh
simulation
interface
time
Prior art date
Application number
PCT/US2000/015994
Other languages
French (fr)
Inventor
Bonan Jiang
Craig C. Ouyang
Ninglan Liao
Original Assignee
American Applied Research, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Applied Research, Inc. filed Critical American Applied Research, Inc.
Priority to AU56044/00A priority Critical patent/AU5604400A/en
Publication of WO2000077694A1 publication Critical patent/WO2000077694A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/18Chip packaging

Definitions

  • the present invention relates generally to electronic design automation tools for modeling the performance of electronic circuitry. More specifically, the present invention relates to software tools for accurately simulating the performance of high speed electronic circuits, and particularly of semiconductor packages.
  • Circuits are preferably modeled for purposes of determining the circuit's susceptibility to irraditation, power loss, interconnect behavior, time delay, cross-talk, and emission of radiation.
  • RLC, current densities, RCS, and other electrical parameters can also be easily extracted once the electrical and magnetic fields are characterized.
  • the present invention is a method and apparatus for modeling the electromagnetic fields associated with circuitry and semiconductor packages employing the full first-order Maxwell's Equations (Faraday s' law, Ampere's law, Gauss' law (electric) and Gauss' law (magnetic)) to simulate the electromagnetic field and performances of electronic design packages, and preferably of advanced electronic design packages including system-on-a- chip and deep sub-micron circuits.
  • the simulation engine works on a plurality of linear algebraic equations which are derived from Maxwell's Equations. To derive the equation, Maxwell's Equations are discretized in the time domain using a Cranck- Nicolson scheme which provides an accurate approximation in time.
  • the original time-dependent 1 st order Maxwell equations are reduced to a 1 st order system of partial differential equations.
  • the variables are electric and magnetic field parameters calculated at the present time step (t ,.N), and the coefficient terms in the equations of the system are functions related to field parameters at a past time step (t ,)•
  • a least square finite element method (LSFEM) is used to minimize the integral of the squares of the residuals over a meshed space domain, resulting in a set of linear algebraic equations expressed as an element-by-element sum of matrix- vector products.
  • An element-by-element preconditioned conjugate gradient method is used to solve the set of algebraic equations determined above, as will be defined more thoroughly below.
  • a parallel computing scheme is employed in the simulation to increase the efficiency of the overall system.
  • the computing load is divided into tasks and processed along separate computing lines. Overall results are achieved by assembling all lines within each iteration. Introducing parallel computing into the solution processes greatly increases the speed and efficiency of the overall system.
  • an electronic design package or circuit is modeled to provide a structural file or computer aided design (CAD) file.
  • the structural file representing the modeled circuit or electronic design package is "meshed", or divided into a number of geometric elements in the space domain, using a node-based finite element discretization method, where the nodes define the corners of each element.
  • a cube shaped meshed element may comprise eight separate nodes. Data including the shape of the element, the size of the element, and the material of each element in the design, and the location of the nodes defining each element is associated with each element, and is used by the simulation engine as will be described below.
  • the modeled circuit is "meshed" into a number of finite elements of varying shapes and sizes, wherein a finer mesh is employed in areas of greater interest. In areas of lesser interest, a coarse mesh is preferably used.
  • any node-based element systems can be used.
  • the nodes need not be located at the corners, so long as they identify the location of the element. In some applications, depending on the mesh equipment used, the elements will not include corners.
  • the meshed model is transferred to a simulation engine which includes libraries of data which assign characteristic features to various groups of elements including materials, boundary conditions, and initial conditions. This data is assigned to each element in the mesh to characterize the element.
  • a user preferably selects the simulation module and design-test related initial and boundary conditions (excitations) for the simulation, time frames for the simulation, and other user-selectable information.
  • a control module is provided for selecting among time domain, time harmonic, and other simulation modules, and also to provide a means for selecting time parameters.
  • the electromagnetic compatibility characteristics of the modeled circuit or electronic design package can then be determined by applying the set of linear equations defined above, using an element- by-element Jacobi-preconditioned conjugate gradient method.
  • the output of the system preferably comprises data associating the magnetic and electric fields at each node in the modeled design for each time step over a selected time period. Using this electromagnetic data base, various performances of the tested packages can be calculated.
  • an adaptive mesh refinement procedure can be incorporated.
  • To calculate a response using the conjugate gradient method an initial guess is made as to the correct answer for each node. The calculated result is compared to a substantially zero value. The difference between the result and zero is retained as an error index, which can be used to change the size of the mesh. For example, if a coarse mesh is initially selected, and a predetermined amount of error results, the mesh is modified to employ finer elements in the next iteration in areas with high error indices.
  • the simulation engine therefore provides a time domain analysis of the modeled circuit or electronic design package.
  • the time domain analysis (LSFEM-TD) can be performed in two dimensions, two and a half dimensions, and three dimensions (2D, 2.5D, and 3D).
  • Output from the simulation engine can be used to compute time- dependent electromagnetic interference (EMI) fields between electronic components; time-dependent or frequency dependent parasitic extraction for critical nets, VLSI circuits, and system-on-a-chip; time delays and waveform evolutions; crosstalk & crosscoupling between conductors or electronic elements in the modeled design; power loss evaluations; electromigration, etc.
  • EMI time- dependent electromagnetic interference
  • the system can also provide the following functions: a time harmonic analysis of frequency-dependent EMI fields (LSFEM-TH); an electrostatic analysis for computing electrostatic fields (LSFEM-ES); a magnetostatic analysis for computing magnetostatic fields (LSFEM-MS); and an eigenvalue analysis for computing resonance (LSFEM-EN).
  • LSFEM-TH time harmonic analysis of frequency-dependent EMI fields
  • LSFEM-ES electrostatic analysis for computing electrostatic fields
  • LSFEM-MS magnetostatic analysis for computing magnetostatic fields
  • LSFEM-EN eigenvalue analysis for computing resonance
  • Figure 1 is a block diagram showing the general operation of a preferred embodiment of the present invention.
  • Figure 2 is a simplified representation of a semiconductor package and two representative meshes of the semiconductor package.
  • Figure 3 is a block diagram of a system constructed in accordance with one embodiment of the present invention.
  • Figure 4 is a block diagram of a system constructed in accordance with another embodiment of the invention.
  • FIG. 5 is a block diagram of the engine processor of Figure 4.
  • Figure 6 is a graph illustrating impedance calculations with respect to frequency performed by a prior art system.
  • is the permeability tensor of the medium
  • is the permittivity tensor of the medium
  • is the electric conductivity tensor (electric loss)
  • ⁇ * is the magnetic loss tensor.
  • K I m p and J ⁇ mp are imposed sources of magnetic and electric current density respectively, and ⁇ is the electronic design package or circuit to be modeled.
  • Imposed boundary conditions The following boundary conditions are used in the simulation. The boundary conditions are selected by the user as necessary based on the conditions required by a given simulation.
  • boundary conditions are preferably:
  • the boundary conditions are preferably:
  • n is the outer normal of the wall.
  • Js mp are imposed surface charge density and the imposed surface electric current density respectively.
  • these imposed surface conditions can be vanables to define the boundary and initial conditions.
  • the superscripts + and - indicate different material sides, and the n is the normal surface pointing from side - to side +.
  • c is the speed of light , equals to ⁇ o ⁇ ! 2 ⁇ o ⁇ 1/2 .
  • the ⁇ o, ⁇ o are permittivity and permeability in free space respectively.
  • the unknown vectors are given by their values at time step t n n +l as
  • Al 8x6 0 0 0 0 0 1/2
  • f 8x1 is obtained as known and equals to
  • the matrix system is a system (B) of PDEs in the 3D space domain.
  • the unknowns are the values of E and H at time steps t n*1 , and all the coefficient matrices in the system are known in time incremental process.
  • the total time of the simulation and the magnitude of the time steps (t n+1 - 1 n ) can be selected by the user to suit the accuracy requirements and simulation application. There is no size requirement for the time steps for mathematical convergence.
  • h denotes the mesh size parameter
  • ⁇ j ( x ) are element shape functions which have the value unity at node i and null at other nodes
  • u j are values of u at node j .
  • the shape functions ⁇ i in the parametric domain ( ⁇ , ⁇ , ⁇ ) are:
  • the transformation from parametric to physical domain( x ) is expressed as
  • ⁇ , (x) are so-called basis functions, with a value of unity at node x . and null at other nodes.
  • ⁇ ; (x ) could be expressed by the shape functions ⁇ ; of the elements, u j are the nodal value of the unknown vector u at node X j
  • the coefficient matrix K and the right hand side vector F can be computed element- by-element. This computation is performed using the well known element-by-element preconditioned conjugate gradient method to solve the algebraic equations (E). For details about the preconditioned conjugate gradient method, see Bonan Jiang's book, cited above, pages 388-395.
  • step 10 the design to be simulated (an electronic design package, semiconductor package, antennas set or circuit, hereafter the "design") is modeled by a Computer Aided Design (CAD) system, or through any other known system to provide a structural file detailing the structure of the design.
  • the structural file will include an electronic characterization of the circuitry, a physical layout, and material information corresponding various parts of the modeled design to the materials from which the final produced design is expected to be manufactured.
  • the layout of the design is divided into a plurality of non- overlapping geometric elements, or "meshed".
  • a simple representative semiconductor package and two possible mesh configurations is shown in FIG. 2.
  • the meshed system comprises a number of elements (a representative element being designated 11 in FIG. 2) which are defined spatially by nodes (13, 15, and 17), preferably positioned at each corner of each element.
  • nodes 13, 15, and 17
  • the mesh can comprise a uniform grid, or provide a number of elements in varying geometric shapes and sizes.
  • the mesh can be produced such that areas of greater interest are divided into a fine mesh, while areas of less interest are divided into a coarse mesh.
  • the mesh output preferably comprises data regarding the size (h), shape ( ⁇ ) of each element 11, the location of the nodes 13, 15, and 17 which define the corner points of each element, the material of each element,.the total number of elements (Ne), and the total number of nodes (Nn). Material parameters are associated with each element (e) to provide appropriate material properties ( ⁇ , ⁇ , ⁇ , and ⁇ *) for each of the elements 11 of the meshed design.
  • the meshed elements are transferred to an engine processor (step 16).
  • the boundary conditions for the simulation (step 18), initial conditions for the simulation (step 20), and time factors (initial time, total time, and magnitude of time steps (t n+1 " t n ) for the simulation) (step 14) are variables. They can also be established as part of the mesh when using the preprocessor to mesh the structure file, or formed independently. Once all of these conditions are established, an initial and boundary value problem will be established by the engine processor 16.
  • Output of the engine processor comprises a database of electrical and magnetic solutions in each coordinate (Ex, Ey, Ez, Hx, Hy, Hz) calculated for each node in the meshed domain each time step (Step 22).
  • the engine processor can adaptively vary the size of the mesh at independent nodes, depending on error indices associated with the iterative calculations.
  • FIG.3 a system constructed in accordance with one preferred embodiment of the invention is shown.
  • structural files or CAD files 26 are initially produced by the designer.
  • the CAD files are submitted to a preprocessor 28, comprising generally a mesher 30 and a control module 32.
  • the output of the mesher 30 is preferably a mesh file including data for each element such as element size, element shape, element material and total element number, and in some cases boundary conditions and initial conditions. In some cases, however, the boundary conditions and initial conditions will be established by a user through control module 38 included in the engine.
  • the control module 38 also preferably accepts input data from a user or external system to establish the type of simulation to be performed (time domain, time harmonic, electrostatic, magnetostatic, or, in some cases, eigenvalue). Time variables including an initial time (to), and ending time (t n ), and the magnitude of time steps are preferably also entered by a user. Examples of mesh programs which could be used with the present invention include Interconnectix by Mentor Graphics or Columbus by Frequency Technology Inc. However, many other such programs are available, and it will be apparent to those of ordinary skill in the art that many different types of programs could be used to provide this function. Alternatively, the input structural files could be modeled by hand and input directly to the simulation engine, or specialized proprietary software could be provided.
  • the mesher, the postprocessor and simulation engine could be combined into one single software system.
  • the control module can comprise any of a number of known input devices. Data, for example, could be entered through a keyboard, transferred to the system as a file through a modem, scanned into the system, etc. Although the selection of a number of parameter values is shown as taking place outside of the simulation engine, it will be apparent to one of ordinary skill in the art that this information could be entered directly to the engine or could be provided through default values in some cases.
  • Data from the preprocessor is transferred to the simulation engine 34 through a communications port designated interface 36.
  • the interface 36 receives the data, preferably in the form of one or more transferred data files, and formats the input data for use by the simulation engine 34.
  • the interface 36 is generally constructed to accept files from known software packages, and can be adapted to receive input from any of a number of packages which are used to produce the mesh and control information. As noted above, however, in some applications the data can be input directly to the simulation engine 34, transferred from external devices, or entered in any number of known ways.
  • the engine control module 38 correlates the selected simulation mode and timing parameters with the appropriate selections for use in the engine, and the library 31 caches or correlates the data provided by the mesher to the proper format data for the engine. A more complete description of the library functions is provided below.
  • the output data is transferred to the output interface 35, which formats the data for use by a postprocessor 37 and transmits the data to the postprocessor 37 through an appropriate communications system.
  • the data is in the form of a database.
  • the postprocessor can be any of a number of devices including displays, computers for performing additional calculations, printer devices, etc.
  • the output interface 35 is designed to provide the proper interface to a selected postprocessor 37, and can be configured for any of a number of known devices or systems.
  • the postprocessor 37 will be a separate component of the system.
  • the system may comprise a single computer or system. In these cases, the interfaces and other duplicative functions are not necessary.
  • a structural file 40 which includes a physical layout of the design, as described above, and preferably composes CAD files, is input into a partition module 42.
  • the partition module 42 divides the design structure into N discrete sections, each of which can be processed separately in parallel to increase the efficiency of the computations.
  • the partitioned design structure is input into a finite element mesh processor 44, which operates to divide each of the N partitions into elements 11 (Ne) as described above.
  • Data files comprising the elements are transferred to an interface 46, which formats the data for use by the engine processor 48, which is shown in greater detail in FIG. 5.
  • the engine processor 48 receives data input from the input interface 46 as finite element data (Ne) for each partition (N).
  • the engine processor 48 comprises an LSFEM Solver 50; a library 52 including an element library 54, a material library 56, a boundary condition library 58, and an initial condition library 60; and an output interface 62, including a communications port for communicating output data files to a postprocessor 64.
  • the element library 54 includes 2D (including axisymmetrical), 2.5D and 3D models.
  • Geometric data for 2D & 2.5D models includes: triangles, bilinear 8-node isoparametric, and similar shapes, while geometric data for 3D models includes tetrahedrons, 20-node isoparametric hexahedrons, etc.
  • the material library 56 includes all necessary electronic material models for electronic designs (e.g. metal, dielectric, anisotropic dielectric, semiconductor, resistor etc).
  • the boundary condition library 58 and initial condition library 60 include the necessary boundary and initial conditions for electronic designs, including conditions for perfect conducting and perfect magnetic media, and conditions at the interface of two media. These libraries further include symmetry plans, far-field or absorbing boundaries, ground, ports, and other condition data which will be apparent to those of skill in the art.
  • Element data is input through the interface 46.
  • the elements are each characterized with material data from the material library 56 and geometrical data stored in the element library 54.
  • Initial and boundary conditions are established with data from the boundary library 56 and initial condition library 58, as well with as input data from users, which enters through the input interface 46 or control module 38 in the engine.
  • a user may also input time data, including total simulation time and incremental time steps to be used in the simulation through control module 38.
  • Output data files are stored in the output data file storage area 62 in the form of a database comprising calculated electric (E) and magnetic (H) fields at each of the nodes defined by the elements for each of the incremental time steps in the simulation.
  • This data file can be used to calculate any requested performance for example the impedance of a coaxial line as shown in FIG 7. Or they can then be transferred to a postprocessor (visualizer) 64 through the output interface 66, which can use the data to evaluate the circuit for cross talk, radiation, and other electromagnetic interference parameters.
  • the postprocessor 66 can be any of a number of known elements, including displays, additional computing devices, or combinations of these elements.
  • an adaptive mesh function may be included in the system.
  • To calculate a response using the conjugate gradient method an initial guess is made as to the correct answer for each node.
  • the calculated result is compared to a substantially zero value by the engine processor in any of the previously shown embodiments.
  • the difference between the result and zero is retained as an error index, which can be used to change the size of the mesh. For example, if a coarse mesh is initially selected, and a predetermined amount of error results, the mesh is modified to employ finer elements in the next iteration in areas with high error indices.
  • a signal from the engine processor 48 for example, can be transmitted to the mesh processor 44 through the interface 46 to change the size of the mesh at one or more nodes. Alternatively, a message might be sent to a control module 38 to provide feedback to the user that the mesh should be changed.
  • the present invention calculates the impedance of the coaxial line to within 1% of the actual value for frequencies of 40 Giga Hertz. See FIG. 7. The present invention, therefore, calculates a much more accurate result using a mesh one order smaller in partition number per dimension compared with other methods.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A semiconductor package or other circuit is initially modeled by a CAD system or other modeling device. The modeled semiconductor package is then divided into a number of elements by a mesh processor (28). The electromagnetic response of the semiconductor package is computed using at least squares finite element method simulation engine (34) or solver employing full first-order Maxwell equations to calculate the electromagnetic response of simulated electronic design packages in the time and or frequency domains.

Description

Improved Simulation System for Modeling the Electromagnetic Response of Electronic
Design Packages
Field of the Invention The present invention relates generally to electronic design automation tools for modeling the performance of electronic circuitry. More specifically, the present invention relates to software tools for accurately simulating the performance of high speed electronic circuits, and particularly of semiconductor packages.
Background
The modeling of the electromagnetic behavior of circuitry for electromagnetic compatibility is an important step in reducing the time and cost of developing circuits, and particularly in the development of semiconductor packages. Circuits are preferably modeled for purposes of determining the circuit's susceptibility to irraditation, power loss, interconnect behavior, time delay, cross-talk, and emission of radiation. RLC, current densities, RCS, and other electrical parameters can also be easily extracted once the electrical and magnetic fields are characterized.
Although many electronic design automation tools are available, these tools generally suffer from problems related to both accuracy and efficiency. Many available tools, for example, provide an electromagnetic analysis which solves for electric and magnetic fields in time and space using only the coupled Maxwell's curl equations rather than full first-order Maxwell's Equations (see, for example, the Yee algorithm and the FD-TD method in Computational Electrodynamics. The Finite-Difference Time-Domain Method, by Allen Taflove, pages 51-54, 59-61, Artech House, 1995; Shankar et al, Proc. of IEEE, 77, 709-721, 1989 describing the FN-TD(Finite-Nolume Time-Domain) algorithm; and the HFSS(High Frequency Structure Simulator) produced by Hewlett Packard, which is described in the HP HFSS User's Reference, pages A25-29, 1997.). These algorithms have been shown to be correct for DC values of the characteristic impedance. However, numerical errors appear at frequencies other than DC and increase with frequency. Numerical solutions at high frequencies, and particularly at Giga Hertz levels, diverge substantially from analytical solutions. This error is known as the "Gaussian Bug". For example, see "Numerical Errors in the Computation of Impedances by FDTD Method and Ways to Elimmate Them", by Fang and Xeu, IEEE Trans. Microwave & Guided Wave Letters. Vol. 5, No. I, 1995. Fang and Xeu show the impedance computations for a coaxial line design which have been conducted using the FD-TD method. The exact solution for the line impedance is known to be 50 ohms. As the frequency climbs, however, the computed impedance values deviate. At frequencies of substantially 40 Giga Hertz, the computed impedance deviates from the exact solution by about 20%, and at higher frequencies, the discrepancy becomes even larger. These design tools, therefore, are not sufficiently accurate for use with deep sub-micron circuits (semiconductor or electronic design packages in which the conductors are .25 microns in width and smaller).
To eliminate these spurious solutions, prior art systems such as the FD-TD, FV- TD, and HPSS algorithms use special kinds of meshes in modeling. These methods require that the modeled circuit or electronics design package be divided into a very fine mesh. Often, these methods further require that specially shaped elements be included in the defined mesh. For example, in "Yee's Grid", special "edge elements" which provide a shape similar to the surface be included in the calculated mesh. In calculations, only the tangential field components are included on the edge or surface and the normal field components are ignored. Calculations performed using these fine mesh elements require a significant amount of memory and also require significant computation time. Therefore, these prior art solutions are highly inefficient. Often, significant periods of time are required to calculate electromagnetic fields. Despite the significant amount of calculation required, the results are often inaccurate, as noted above. Furthermore, the resultant coefficient matrix produced by these simulation engines may be non- symmetrical and non-positive-definite. Therefore, computing stability is problematic. Additionally, because the electromagnetic characteristics and performance of circuits and electronic design packages cannot be adequately simulated at high speeds, several trial and error design cycles are required to produce each integrated circuit. Often, as much as 60% of the silicon material is wasted in the trial-error processes. These tools, therefore, are not sufficient for properly designing deep sub-micron circuits, and circuits which operate at extremely high frequency levels.
As semiconductor technology advances, the need to provide accurate simulations of electronic design packages becomes increasingly important. Today, high speed integrated circuits comprising increasingly large numbers of transistors are being constructed with increasingly smaller width conductors. For example, today's Pentium microprocessors may include 100 million or more transistors using 0.25 micron technology, and operate at a speed of 400 megahertz or more. As the speeds of integrated circuits increase, the Gaussian bug problems described above become increasingly important. However, as noted above, presently available electronic design automation (EDA) tools are not capable of realistically simulating circuits and semiconductor packages which operate at speeds above four hundred megahertz. Furthermore, due to speed and efficiency considerations, most available EDA software applications cannot provide simulations of circuits which include the number of transistor elements, or the size of conductors being employed in electronic design packages today.
It is therefore an object of the invention to provide a simulation engine which accurately calculates electromagnetic compatibility at high frequencies.
It is another object of the invention to provide a simulation engine which efficiently calculates elecromagnetic fields for high density electromagnetic design packages.
It is yet another object of the invention to provide a simulation engine which efficiently calculates electromagnetic fields using the complete set of first order Maxwell's Equations by the least square finite element method.
Summary of the Invention The present invention is a method and apparatus for modeling the electromagnetic fields associated with circuitry and semiconductor packages employing the full first-order Maxwell's Equations (Faraday s' law, Ampere's law, Gauss' law (electric) and Gauss' law (magnetic)) to simulate the electromagnetic field and performances of electronic design packages, and preferably of advanced electronic design packages including system-on-a- chip and deep sub-micron circuits. The simulation engine works on a plurality of linear algebraic equations which are derived from Maxwell's Equations. To derive the equation, Maxwell's Equations are discretized in the time domain using a Cranck- Nicolson scheme which provides an accurate approximation in time. Using this C-N scheme, the original time-dependent 1st order Maxwell equations are reduced to a 1st order system of partial differential equations. The variables are electric and magnetic field parameters calculated at the present time step (t ,.N), and the coefficient terms in the equations of the system are functions related to field parameters at a past time step (t ,)• A least square finite element method (LSFEM) is used to minimize the integral of the squares of the residuals over a meshed space domain, resulting in a set of linear algebraic equations expressed as an element-by-element sum of matrix- vector products.
An element-by-element preconditioned conjugate gradient method is used to solve the set of algebraic equations determined above, as will be defined more thoroughly below. Preferably, a parallel computing scheme is employed in the simulation to increase the efficiency of the overall system. In the parallel computing scheme, the computing load is divided into tasks and processed along separate computing lines. Overall results are achieved by assembling all lines within each iteration. Introducing parallel computing into the solution processes greatly increases the speed and efficiency of the overall system.
In operation, an electronic design package or circuit is modeled to provide a structural file or computer aided design (CAD) file. The structural file representing the modeled circuit or electronic design package is "meshed", or divided into a number of geometric elements in the space domain, using a node-based finite element discretization method, where the nodes define the corners of each element. For example, therefore, a cube shaped meshed element may comprise eight separate nodes. Data including the shape of the element, the size of the element, and the material of each element in the design, and the location of the nodes defining each element is associated with each element, and is used by the simulation engine as will be described below. Preferably, the modeled circuit is "meshed" into a number of finite elements of varying shapes and sizes, wherein a finer mesh is employed in areas of greater interest. In areas of lesser interest, a coarse mesh is preferably used. However, any node-based element systems can be used. Furthermore, the nodes need not be located at the corners, so long as they identify the location of the element. In some applications, depending on the mesh equipment used, the elements will not include corners.
The meshed model is transferred to a simulation engine which includes libraries of data which assign characteristic features to various groups of elements including materials, boundary conditions, and initial conditions. This data is assigned to each element in the mesh to characterize the element. A user preferably selects the simulation module and design-test related initial and boundary conditions (excitations) for the simulation, time frames for the simulation, and other user-selectable information. Preferably, a control module is provided for selecting among time domain, time harmonic, and other simulation modules, and also to provide a means for selecting time parameters. Once each of the elements are defined, and the conditions are determined, a set of boundary and initial value problems can be established. The electromagnetic compatibility characteristics of the modeled circuit or electronic design package can then be determined by applying the set of linear equations defined above, using an element- by-element Jacobi-preconditioned conjugate gradient method. The output of the system preferably comprises data associating the magnetic and electric fields at each node in the modeled design for each time step over a selected time period. Using this electromagnetic data base, various performances of the tested packages can be calculated.
To accelerate the computing processes and enhance the efficiency, an adaptive mesh refinement procedure can be incorporated. To calculate a response using the conjugate gradient method, an initial guess is made as to the correct answer for each node. The calculated result is compared to a substantially zero value. The difference between the result and zero is retained as an error index, which can be used to change the size of the mesh. For example, if a coarse mesh is initially selected, and a predetermined amount of error results, the mesh is modified to employ finer elements in the next iteration in areas with high error indices.
The simulation engine therefore provides a time domain analysis of the modeled circuit or electronic design package. The time domain analysis (LSFEM-TD) can be performed in two dimensions, two and a half dimensions, and three dimensions (2D, 2.5D, and 3D). Output from the simulation engine can be used to compute time- dependent electromagnetic interference (EMI) fields between electronic components; time-dependent or frequency dependent parasitic extraction for critical nets, VLSI circuits, and system-on-a-chip; time delays and waveform evolutions; crosstalk & crosscoupling between conductors or electronic elements in the modeled design; power loss evaluations; electromigration, etc. Preferably, using different sets of equations known to those of ordinary skill in the art, the system can also provide the following functions: a time harmonic analysis of frequency-dependent EMI fields (LSFEM-TH); an electrostatic analysis for computing electrostatic fields (LSFEM-ES); a magnetostatic analysis for computing magnetostatic fields (LSFEM-MS); and an eigenvalue analysis for computing resonance (LSFEM-EN). Other types of modules could also be used.
Because the simulation engine is based on an LSFEM computing method, the results are always a symmetrical, positive-definite coefficient matrix. Computations performed using this LSFEM engine are furthermore much more efficient in terms of speed of computations than prior art systems.
Other advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings wherein like elements have like numerals throughout the drawings.
Brief Description of the Drawings
Figure 1 is a block diagram showing the general operation of a preferred embodiment of the present invention.
Figure 2 is a simplified representation of a semiconductor package and two representative meshes of the semiconductor package.
Figure 3 is a block diagram of a system constructed in accordance with one embodiment of the present invention.
Figure 4 is a block diagram of a system constructed in accordance with another embodiment of the invention.
Figure 5 is a block diagram of the engine processor of Figure 4.
Figure 6 is a graph illustrating impedance calculations with respect to frequency performed by a prior art system.
Figure 7 is a graph illustrating impedance calculations performed on the same problem by a system constructed in accordance with the present invention. Mathematical Background The mathematical basis for the computations used in simulations performed by the method and apparatus of the present mvention are defined in detail below. For a further explanation of the mathematical computations, see "The least squares finite element method", by Bonan Jiang, Springer, 1998, which is incorporated herein by reference.
1. Description of the Full Maxwell 1st Order Partial Differential Equation (PDE Formulation
i). The full Maxwell 1st Order Partial Differential Equations used in this invention are as follows:
V x E + 3 (μ H)/3 t + σ* H = -K I m p in Ω , (Faradays' Law)
V x H - 5 (ε E)/d t - σ E = J imp in Ω , (Ampere's Law) (A)
V • (ε E) = 0, in Ω , (Gauss's Law - Electric)
V • (μ H) = 0, in Ω , (Gauss's Law - Magnetic)
where μ is the permeability tensor of the medium; ε is the permittivity tensor of the medium; σ is the electric conductivity tensor (electric loss); σ* is the magnetic loss tensor. K I m p and J ιmp are imposed sources of magnetic and electric current density respectively, and Ω is the electronic design package or circuit to be modeled.
For electric flux density D, magnetic flux density B and electric current density J, we use the following relations:
D = ε E
B - μ H
J = σ E The algorithm of the present invention uses 6 basic unknowns: Ex, Ey, Ez, Hx, Hy and Hz which are functions of location x, y, z and time t. The system uses 8 basic equations (A) to solve for these unknowns. When boundary conditions and initial electrical and magnetic excitations are selected, an initial and boundary value problem is formulated. These equations are solved using a time-domain least square finite element method, as will be described more fully below.
ii). Imposed boundary conditions: The following boundary conditions are used in the simulation. The boundary conditions are selected by the user as necessary based on the conditions required by a given simulation.
a). Symmetrical Plane
For an xy plane, the boundary conditions are preferably:
Ez = 0, Hz = 0
b). Conducting Wall
For perfect conducting wall, the boundary conditions are preferably:
n x E = 0 n - (μ H) = 0
Here n is the outer normal of the wall.
For a perfect magnetic wall, the boundary conditions are preferably:
n x H = 0 n - (ε E ) = 0
c). Contacting surface of two media
On the contacting surface between two media, we have the following conditions: n x (E+ - E" ) = 0 n (D+ - D ) - ps I mp n x (H+ - H ) = Js I mp n (B+ - B ) = 0
Here ps l mp , Js mp are imposed surface charge density and the imposed surface electric current density respectively. In some embodiments of the invention, these imposed surface conditions can be vanables to define the boundary and initial conditions. The superscripts + and - indicate different material sides, and the n is the normal surface pointing from side - to side +.
d). Far-field condition
Since we are solving the Maxwell equations in a finite domain, a proper far-field boundary condition must be applied to ensure that the wave will not artificially reflect back and contaminate the near-field solution. Here we adopt the following absorbing boundary condition.
Let φ be any component of basic unknowns: E and H, the absorbing condition we used for far-field condition is:
1/c d φ/dt + φ/2p + d φldn = 0
Here, c is the speed of light , equals to εo~! 2 μo~1/2. The εo, μo are permittivity and permeability in free space respectively.
For the initial condition, we can use any electrical and magnetic excitation applied to the domain.
2. Description of time discretization
To discretize the equations in the time domain, we use a cranck-Nicolson scheme:
d Ex/5t = ( Ex n+1 - Ex " )/ Δt, d Hx/at = (Hx n^ - Hx n )/ Δt,
etc. Here superscript n means the value at time n . Substituting these expressions into the full Maxwell first order PDE system (A) and after manipulating, we obtain a PDE system in the 3D space domain, and, using a compact matrix form, we obtain:
A u = Al d u/dx + A2 Su/δy + A3 δu/dz + A0 u = f (B)
The unknown vectors are given by their values at time step t nn+l as
Ex n-ι- 1
Ey n-
U 6xl Ez n+
Hx ιv+ 1 n*-! Hy
Hz n+ l
and the coefficient matrices Al, A2, A3 and Ao are expressed as
1 0 0 0 0 0
0 0 0 1 0 0
0 0 0 0 0 0
Al 8x6 = 0 0 0 0 0 1/2
0 0 0 0 -1/2 0
0 0 0 0 0 0
0 0 -1/2 0 0 0 o y2 o o o o and so on., f 8x1 is obtained as known and equals to
0 0
-Jx ' n"1 + (ε/Δt - σ/2 ) Ex n + V2 d Hz 75y - V2 d Hy n/dz -Jy j n+1 + (ε/Δt - σ/2 ) Ey n - V2 d Hz n/dx + V2 d Hx 7dz -Jz ' n+1 + (ε/Δt - σ/2 ) Ez n + V2 d Hy nldx - V2 d Hx 7dy -Kx ' n+1 + (μ/Δt) Hx n - !/2 3 Ez 7dy + ! 2 d Ey Sz -Ky J n+1 + (μ/Δt) Hy n + V2 d Ez 75x - Vi d Ex 75z -Kz i n+1 + (μ/Δt) Hz n - V2 d Ey 73x + V2 d Hx 73y
Now the matrix system is a system (B) of PDEs in the 3D space domain. The unknowns are the values of E and H at time steps t n*1, and all the coefficient matrices in the system are known in time incremental process. The total time of the simulation and the magnitude of the time steps (tn+1 - 1 n ) can be selected by the user to suit the accuracy requirements and simulation application. There is no size requirement for the time steps for mathematical convergence.
3. The finite element method and the least square approximation(LSFEM Suppose we have a basic matrix equation in the 3D space domain Ω
A u = f , in Ω (B) with imposed boundary conditions
B u = , on T (C)
Using the finite element method, we discretize the domain Ω with a mesh of elements. Suppose we have Ne elements and Nn nodes. For every element e with nne nodes, we use an interpolation to express the finite element approximate solution for the boundary value problem given by (B) and (C) as follows: nne uh e(x) = ∑ ψj(x) uj, x ε e j=l
Here h denotes the mesh size parameter, ψj ( x ) are element shape functions which have the value unity at node i and null at other nodes, u j are values of u at node j .
For example, for an 8 node 3D block element, the shape functions ψi in the parametric domain (ξ, η, ζ) are:
ψi (x) = 1/8 (1+ ξo)(l+ηo)(l+ζo), i=l,2, ...,8
in which ξo = ξ, ξ ηo =ηiη i=l, 2, ..., 8 ζo = ζ, ζ
Here (ξi, ηi, ζi), i=l, 2, ...,8 are the parametric coordinates of the corner nodes of the 3D block element. For example, if the nodes 1, 2 , 3, 4 form the bottom surface of a block in parametric space and node 1 is chosen as most southwestern, then (ξl, η 1 , ζl ) will be chosen as (-1, -1, -1), (ξ2, η2, ζ2) will be (1, -1, -1) and so on. The transformation from parametric to physical domain( x ) is expressed as
8 x = ∑ Ψi (ξ, η, ζ) xi i=l 8
Y = ∑ Ψi (ξ, η, ζ) yi i=l 8 z = Σ ψi (ξ, η, ζ) zi i=l Here the (xi, yi, zi) , i = 1, 2, ..., 8 are the physical coordinates of the element corner nodes, for example, (xl, yl, zl) corresponds to (- 1, -1, -1) in the parametric domain. The equations are solved below to give the electπcal and magnetic characteristics at each of these specified node locations.
From this, we can obtain an expression for an approximate solution for the whole domain Ω as
Nn Uh (x) = Σ φ j (χ) U j, x ε Ω (D) j=l
Here φ , (x) are so-called basis functions, with a value of unity at node x . and null at other nodes. φ; (x ) could be expressed by the shape functions ψ; of the elements, u j are the nodal value of the unknown vector u at node X j
To get an approximate solution, we just need to find the nodal values so that certain approximation criteria will be satisfied. Here we use the least square method to get the finite element solution (D) of the problem at each of the nodes and for each step in time (t, t+1, t+2, ... t" ).
Substituting (D) into the residual function R = A u - f and πu-ni-mizing the integral of the sum of squared components of residual R over the whole domain Ω, we obtain the least square finite element equations as a system of linear algebraic equations:
K U = F (E)
Here we have Ne K = Σ Ke, Ke = lΩe (Aψι, Aψ2, .., Aψnne)T (Aψι, Aψ2,..,Aψnnβ) d Ω e=l
(F)
Ne F = ∑ Fe, Fe = jΩe (Aψi, Aψ2, ...., Aψ^T f d Ω e=l
Imposing the boundary condition and initial excitation, we can solve this system of linear algebraic equations (E) to get the required solution.
In the basic linear algebraic equation (E), the coefficient matrix [ K ] is symmetrical and it is also positive definite. Therefore, the computing stability of this system is guaranteed.
The coefficient matrix K and the right hand side vector F can be computed element- by-element. This computation is performed using the well known element-by-element preconditioned conjugate gradient method to solve the algebraic equations (E). For details about the preconditioned conjugate gradient method, see Bonan Jiang's book, cited above, pages 388-395.
Operation Referring now to the Figures, and more particularly to FIG. 1, a flow chart illustrating the general operation of an electronic design automation system constructed in accordance with the present invention is shown. In the first step (step 10) the design to be simulated (an electronic design package, semiconductor package, antennas set or circuit, hereafter the "design") is modeled by a Computer Aided Design (CAD) system, or through any other known system to provide a structural file detailing the structure of the design. The structural file will include an electronic characterization of the circuitry, a physical layout, and material information corresponding various parts of the modeled design to the materials from which the final produced design is expected to be manufactured.
Secondly, in step 12, the layout of the design is divided into a plurality of non- overlapping geometric elements, or "meshed". A simple representative semiconductor package and two possible mesh configurations is shown in FIG. 2. The meshed system comprises a number of elements (a representative element being designated 11 in FIG. 2) which are defined spatially by nodes (13, 15, and 17), preferably positioned at each corner of each element. However, any node system which defines the location of the elements can be used. The mesh can comprise a uniform grid, or provide a number of elements in varying geometric shapes and sizes. In preferred embodiments, the mesh can be produced such that areas of greater interest are divided into a fine mesh, while areas of less interest are divided into a coarse mesh. The mesh output preferably comprises data regarding the size (h), shape (ψ) of each element 11, the location of the nodes 13, 15, and 17 which define the corner points of each element, the material of each element,.the total number of elements (Ne), and the total number of nodes (Nn). Material parameters are associated with each element (e) to provide appropriate material properties (μ, ε, σ, and σ*) for each of the elements 11 of the meshed design.
The meshed elements are transferred to an engine processor (step 16). The boundary conditions for the simulation (step 18), initial conditions for the simulation (step 20), and time factors (initial time, total time, and magnitude of time steps (t n+1 "t n) for the simulation) (step 14) are variables. They can also be established as part of the mesh when using the preprocessor to mesh the structure file, or formed independently. Once all of these conditions are established, an initial and boundary value problem will be established by the engine processor 16. The engine processor performs the least square finite element analysis by applying the linear algebraic equations KU = F designated as (E) and (F) above for each of the nodes 13, 15, and 17 in each of the elements 11, from an initial to a final time, at the selected magnitude of time steps. Calculations are performed using an element by element Jacobi-preconditioned conjugate gradient method. Output of the engine processor comprises a database of electrical and magnetic solutions in each coordinate (Ex, Ey, Ez, Hx, Hy, Hz) calculated for each node in the meshed domain each time step (Step 22). In some applications, the engine processor can adaptively vary the size of the mesh at independent nodes, depending on error indices associated with the iterative calculations.
Although the system has been described for calculating electric and magnetic fields in the time domain, additional modules for calculating time harmonic, electrostatic, and magnetostatic can be added to the system, using equations and algorithms which are known to those of skill in the art. Furthermore, while the system has been described for simulating electronic design packages, it can also be used in other electromagnetic field calculations including radar calculations, antenna calculations, and other types of calculations. An eigenvalue module used to compute the eigenvalue of resonance is preferably included for radar detecting systems and antenna and radar design systems.
Referring now to FIG.3, a system constructed in accordance with one preferred embodiment of the invention is shown. As noted above, structural files or CAD files 26 are initially produced by the designer. The CAD files are submitted to a preprocessor 28, comprising generally a mesher 30 and a control module 32. The output of the mesher 30 is preferably a mesh file including data for each element such as element size, element shape, element material and total element number, and in some cases boundary conditions and initial conditions. In some cases, however, the boundary conditions and initial conditions will be established by a user through control module 38 included in the engine. The control module 38 also preferably accepts input data from a user or external system to establish the type of simulation to be performed (time domain, time harmonic, electrostatic, magnetostatic, or, in some cases, eigenvalue). Time variables including an initial time (to), and ending time (tn), and the magnitude of time steps are preferably also entered by a user. Examples of mesh programs which could be used with the present invention include Interconnectix by Mentor Graphics or Columbus by Frequency Technology Inc. However, many other such programs are available, and it will be apparent to those of ordinary skill in the art that many different types of programs could be used to provide this function. Alternatively, the input structural files could be modeled by hand and input directly to the simulation engine, or specialized proprietary software could be provided. Furthermore, in some applications, the mesher, the postprocessor and simulation engine could be combined into one single software system. The control module can comprise any of a number of known input devices. Data, for example, could be entered through a keyboard, transferred to the system as a file through a modem, scanned into the system, etc. Although the selection of a number of parameter values is shown as taking place outside of the simulation engine, it will be apparent to one of ordinary skill in the art that this information could be entered directly to the engine or could be provided through default values in some cases.
Data from the preprocessor is transferred to the simulation engine 34 through a communications port designated interface 36. The interface 36 receives the data, preferably in the form of one or more transferred data files, and formats the input data for use by the simulation engine 34. The interface 36 is generally constructed to accept files from known software packages, and can be adapted to receive input from any of a number of packages which are used to produce the mesh and control information. As noted above, however, in some applications the data can be input directly to the simulation engine 34, transferred from external devices, or entered in any number of known ways. The engine control module 38 correlates the selected simulation mode and timing parameters with the appropriate selections for use in the engine, and the library 31 caches or correlates the data provided by the mesher to the proper format data for the engine. A more complete description of the library functions is provided below.
Data is then transferred to the LSFEM solver 33, which applies the equation KU = F to the data to solve for the electric and magnetic fields (Ex, Ey, Ez, Hx, Hy, Hz) for each of the nodes in the system, at each of the specified time steps. The output data is transferred to the output interface 35, which formats the data for use by a postprocessor 37 and transmits the data to the postprocessor 37 through an appropriate communications system. Preferably, the data is in the form of a database. The postprocessor can be any of a number of devices including displays, computers for performing additional calculations, printer devices, etc. Again, the output interface 35 is designed to provide the proper interface to a selected postprocessor 37, and can be configured for any of a number of known devices or systems. In some applications, the postprocessor 37 will be a separate component of the system. In alternate embodiments, the system may comprise a single computer or system. In these cases, the interfaces and other duplicative functions are not necessary.
Referring now to FIG. 4, a system constructed in accordance with another preferred embodiment of the present invention is shown. The operation of this embodiment is similar to that described above. However, here the computations are performed in parallel. A structural file 40, which includes a physical layout of the design, as described above, and preferably composes CAD files, is input into a partition module 42. The partition module 42 divides the design structure into N discrete sections, each of which can be processed separately in parallel to increase the efficiency of the computations. The partitioned design structure is input into a finite element mesh processor 44, which operates to divide each of the N partitions into elements 11 (Ne) as described above. Although the structural information has been characterized as a file, it will be apparent to those of ordinary skill in the art that this data could take any of a number of different formats.
Data files comprising the elements are transferred to an interface 46, which formats the data for use by the engine processor 48, which is shown in greater detail in FIG. 5. The engine processor 48 receives data input from the input interface 46 as finite element data (Ne) for each partition (N). The engine processor 48 comprises an LSFEM Solver 50; a library 52 including an element library 54, a material library 56, a boundary condition library 58, and an initial condition library 60; and an output interface 62, including a communications port for communicating output data files to a postprocessor 64.
The element library 54 includes 2D (including axisymmetrical), 2.5D and 3D models. Geometric data for 2D & 2.5D models includes: triangles, bilinear 8-node isoparametric, and similar shapes, while geometric data for 3D models includes tetrahedrons, 20-node isoparametric hexahedrons, etc.
The material library 56 includes all necessary electronic material models for electronic designs (e.g. metal, dielectric, anisotropic dielectric, semiconductor, resistor etc). The boundary condition library 58 and initial condition library 60 include the necessary boundary and initial conditions for electronic designs, including conditions for perfect conducting and perfect magnetic media, and conditions at the interface of two media. These libraries further include symmetry plans, far-field or absorbing boundaries, ground, ports, and other condition data which will be apparent to those of skill in the art.
Element data is input through the interface 46. The elements are each characterized with material data from the material library 56 and geometrical data stored in the element library 54. Initial and boundary conditions are established with data from the boundary library 56 and initial condition library 58, as well with as input data from users, which enters through the input interface 46 or control module 38 in the engine. A user may also input time data, including total simulation time and incremental time steps to be used in the simulation through control module 38.
Given the boundary conditions, initial conditions, and element data input to the system, a boimdary value problem can be established and the LFSEM solver 50 solves the equations as defined above. Output data files are stored in the output data file storage area 62 in the form of a database comprising calculated electric (E) and magnetic (H) fields at each of the nodes defined by the elements for each of the incremental time steps in the simulation. This data file can be used to calculate any requested performance for example the impedance of a coaxial line as shown in FIG 7. Or they can then be transferred to a postprocessor (visualizer) 64 through the output interface 66, which can use the data to evaluate the circuit for cross talk, radiation, and other electromagnetic interference parameters. As noted above, the postprocessor 66 can be any of a number of known elements, including displays, additional computing devices, or combinations of these elements.
In alternate embodiments, an adaptive mesh function may be included in the system. To calculate a response using the conjugate gradient method, an initial guess is made as to the correct answer for each node. The calculated result is compared to a substantially zero value by the engine processor in any of the previously shown embodiments. The difference between the result and zero is retained as an error index, which can be used to change the size of the mesh. For example, if a coarse mesh is initially selected, and a predetermined amount of error results, the mesh is modified to employ finer elements in the next iteration in areas with high error indices. A signal from the engine processor 48, for example, can be transmitted to the mesh processor 44 through the interface 46 to change the size of the mesh at one or more nodes. Alternatively, a message might be sent to a control module 38 to provide feedback to the user that the mesh should be changed.
Example of the Invention As noted above, as the design frequency goes to Giga Hertz high, the accuracy in impedance calculations provided by prior art electronic design simulation engines becomes remarkable due to "Gaussian Bugs". As an example, see Fang and Xeu, IEEE Trans. Microwave & Guided Wave Letters, Vol. 5, No. 1, 1995 (cited above). Fang and Xeu calculated the impedance for a coaxial line design using the FD-TD method. The exact solution for the line impedance is known to be 50 Ω. The impedance values calculated by the FD-TD method at frequencies above 40 Giga Hertz, however, deviate about 20% from the exact solution. The discrepancy increases with increased frequency. See FIG. 6, which is reproduced from the article. At least a 100 x 100 mesh should be used in this procedure to approach an accuracy of 1% in the resultant calculations.
Computing the same coaxial line problem with the engine processor of the present invention using the LSFEM-EM TD engine module produces a much more accurate result and requires significantly less calculation. Using a coarse 10 x 10 mesh, the present invention calculates the impedance of the coaxial line to within 1% of the actual value for frequencies of 40 Giga Hertz. See FIG. 7. The present invention, therefore, calculates a much more accurate result using a mesh one order smaller in partition number per dimension compared with other methods.
While preferred embodiments have been illustrated and described, it should be understood that changes and modifications can be made thereto without departing from the invention in its broadest aspects. Various features of the invention are defined in the following claims.

Claims

We claim:
1. A method for simulating the electromagnetic response of an electronic design package comprising the following steps: providing a physical description of the electronic design package; dividing the physical description into a plurality of elements wherein a location of each element is defined by a plurality of nodes; associating characteristic data with each of the elements; defining at least one boundary condition and at least one initial condition to form a plurality of boundary value problems; calculating the electrical and magnetic response of the electronic design package at each of the nodes for each of a plurality of time steps or under each frequencies using an LSFEM method; providing output comprising the electrical and magnetic response at each node for each of the plurality of time steps or under each frequencies.
2. A system for simulating the electromagnetic response of an electronic design package comprising : a system for developing a layout model of the electronic design package; a mesher for dividing the layout model into a plurality of elements and for creating a mesh file including the location of each element defined by a plurality of nodes and a material characteristics of each element; an LSFEM solver for calculating the electromagnetic response at each node at each time step or under each freqeuncies; and a postprocessor for providing output to a user.
Please add new claims 3 - 20 as follows:
3. The method as defined in claim 1, wherein the physical description includes a physical layout, an electrical characterization, and a material characterization of an electrical circuit.
4. The method as defined in claim 1, further comprising the step of dividing the physical description into a fine mesh in at least one predetermined area of interest and into a coarse mesh in other areas.
5. The method as defined in claim 1, further comprising the steps of maintaining an error index which can be used to adaptively change the size of the mesh at the nodes.
6. The method as defined in claim 1, further comprising the steps of storing the output data in a database.
7. The method as defined in claim 1, wherein the characteristic data includes a material parameter.
8. The system as defined in claim 2, further comprising an interface to format input data for use by the LSFEM solver.
9. The system as defined in claim 2, wherein the interface accepts input data from a meshing program and formats the data for the LSFEM solver.
10. The system as defined in claim 3, wherein the interface postprocessor is a display.
11. The system as defined in claim 2, further comprising a partition module for dividing the layout module into a plurality of sections for parallel processing.
12. The system as defined in claim 2, further comprising a library including data to characterize the elements.
13. The system as defined in claim 2, wherein the mesh file further includes boundary condition data and initial timing data.
14. The system as defined in claim 2, further comprising a control module for selecting simulation conditions timing and /or frequency parameters.
15. The system as defined in claim 2, further comprising an interface for accepting a mesh file from an external device and for formatting the data in the mesh file for the LSFEM solver.
16. A simulation engine for modeling an electromagnetic response of a system, the engine comprising: an interface for receiving a mesh file of a design; a control module for receiving simulation variable instructions from an external source; a library including simulation parameter data; a least square finite element method solver; and an output interface.
17. The simulation engine of claim 16, wherein the library comprises at least one of a material library, an element library, a boundary condition library, and an initial condition library.
18. The simulation engine as defined in claim 16 wherein the interface formats data in the mesh file for use by the least square finite element method solver.
19. The simulation engine as defined in claim 16 wherein the output interface includes a communications port for transmitting output data to a postprocessor.
20. The simulation engine as defined in claim 16, wherein the simulation variable instructions include at least one of an initial time, an ending time, a time step, and an initial boundary condition or frequencies if frequency domain solutions are requested.
PCT/US2000/015994 1999-06-12 2000-06-09 Improved simulation system for modeling the electromagnetic response of electronic design packages WO2000077694A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU56044/00A AU5604400A (en) 1999-06-12 2000-06-09 Improved simulation system for modeling the electromagnetic response of electronic design packages

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33220899A 1999-06-12 1999-06-12
US09/332,208 1999-06-12

Publications (1)

Publication Number Publication Date
WO2000077694A1 true WO2000077694A1 (en) 2000-12-21

Family

ID=23297200

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/015994 WO2000077694A1 (en) 1999-06-12 2000-06-09 Improved simulation system for modeling the electromagnetic response of electronic design packages

Country Status (2)

Country Link
AU (1) AU5604400A (en)
WO (1) WO2000077694A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013173921A1 (en) * 2012-05-23 2013-11-28 Lumerical Solutions, Inc. Apparatus and method for transforming a coordinate system to simulate an anisotropic medium
CN109614732A (en) * 2018-12-21 2019-04-12 北京经纬恒润科技有限公司 A kind of the electromagnetic compatibility modeling method and device of object
CN112883681A (en) * 2021-03-25 2021-06-01 中国科学院微电子研究所 Electronic design automation EDA simulation method and device
CN114201883A (en) * 2021-12-15 2022-03-18 杭州电子科技大学 Broadband electromagnetic simulation method using efficient adaptive interpolation
CN118446145A (en) * 2024-07-05 2024-08-06 巨霖科技(上海)有限公司 Tetrahedral mesh construction method, tetrahedral mesh construction system, computer equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153721A (en) * 2017-01-03 2017-09-12 金陵科技学院 A kind of pungent Fdtd Method Electromagnetic Simulation method under moving target

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946479A (en) * 1995-05-25 1999-08-31 Matsushita Electric Industrial Co., Ltd. Method and device for generating mesh for use in numerical analysis
US5966524A (en) * 1997-07-24 1999-10-12 Lucent Technologies Inc. 3-D electromagnetic infinite element

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946479A (en) * 1995-05-25 1999-08-31 Matsushita Electric Industrial Co., Ltd. Method and device for generating mesh for use in numerical analysis
US5966524A (en) * 1997-07-24 1999-10-12 Lucent Technologies Inc. 3-D electromagnetic infinite element

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAMILTON C.H.: "Surveying the field of FEA modelers", COMPUTER - AIDED ENGINEERING, June 1995 (1995-06-01), pages 30, 32, 36-37, 40, XP002933843 *
JIANG ET AL.: "The origin of spurious solutions in computational electromagnetics", JOURNAL OF COMPUTATIONAL PHYSICS, vol. 125, 1996, pages 104 - 123, XP002933844 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013173921A1 (en) * 2012-05-23 2013-11-28 Lumerical Solutions, Inc. Apparatus and method for transforming a coordinate system to simulate an anisotropic medium
KR20150032255A (en) * 2012-05-23 2015-03-25 루머리컬 컴퓨테이셔널 솔루션스, 인크. Apparatus and method for transforming a coordinate system to simulate an anisotropic medium
US10095816B2 (en) 2012-05-23 2018-10-09 Lumerical Inc. Apparatus and method for transforming a coordinate system to simulate an anisotropic medium
KR102054928B1 (en) 2012-05-23 2020-01-22 루머리컬 인크. Apparatus and method for transforming a coordinate system to simulate an anisotropic medium
CN109614732A (en) * 2018-12-21 2019-04-12 北京经纬恒润科技有限公司 A kind of the electromagnetic compatibility modeling method and device of object
CN109614732B (en) * 2018-12-21 2023-05-19 北京经纬恒润科技股份有限公司 Electromagnetic compatibility modeling method and device for object
CN112883681A (en) * 2021-03-25 2021-06-01 中国科学院微电子研究所 Electronic design automation EDA simulation method and device
CN114201883A (en) * 2021-12-15 2022-03-18 杭州电子科技大学 Broadband electromagnetic simulation method using efficient adaptive interpolation
CN118446145A (en) * 2024-07-05 2024-08-06 巨霖科技(上海)有限公司 Tetrahedral mesh construction method, tetrahedral mesh construction system, computer equipment and storage medium

Also Published As

Publication number Publication date
AU5604400A (en) 2001-01-02

Similar Documents

Publication Publication Date Title
Cangellaris et al. Electromagnetic model order reduction for system-level modeling
Pinello et al. Hybrid electromagnetic modeling of noise interactions in packaged electronics based on the partial-element equivalent-circuit formulation
US6353801B1 (en) Multi-resolution adaptive solution refinement technique for a method of moments-based electromagnetic simulator
Saraswat et al. A fast algorithm and practical considerations for passive macromodeling of measured/simulated data
Yilmaz et al. A parallel FFT accelerated transient field-circuit simulator
US7149666B2 (en) Methods for modeling interactions between massively coupled multiple vias in multilayered electronic packaging structures
Kamon et al. Automatic generation of accurate circuit models of 3-D interconnect
US8165861B2 (en) Printed circuit analysis method and device
Heres Robust and efficient Krylov subspace methods for model order reduction
Zhang et al. Simulation and automated modeling of microwave circuits: State-of-the-art and emerging trends
Wu et al. Model-order reduction of finite-element approximations of passive electromagnetic devices including lumped electrical-circuit models
Kapur et al. A fast method of moments solver for efficient parameter extraction of MCMs
Cangellaris et al. Model order reduction techniques for electromagnetic macromodelling based on finite methods
WO2000077694A1 (en) Improved simulation system for modeling the electromagnetic response of electronic design packages
Boag et al. Adaptive nonuniform-grid (NG) algorithm for fast capacitance extraction
Romano et al. Anisotropic and optimized FFT-based iterative electromagnetic solver for the PEEC method
Lu A preconditioning approach for the domain decomposition simulation of high-speed circuits
Yu et al. Capacitance extraction
Zhu et al. Hierarchical multilevel potential preconditioner for fast finite-element analysis of microwave devices
Okhmatovski et al. Loop-tree implementation of the adaptive integral method (AIM) for numerically-stable, broadband, fast electromagnetic modeling
Hu et al. Fast on-chip inductance simulation using a precorrected-FFT method
JP4684188B2 (en) Circuit model creation program, computer-readable recording medium storing circuit model creation program, and circuit model creation device
Ioan et al. Complexity reduction of electromagnetic systems
Chew et al. Toward a more robust and accurate CEM fast integral equation solver for IC applications
Basel et al. Simulation of high speed interconnects using a convolution-based hierarchical packaging simulator

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP