|
1 INTRODUCTION |
LC is a tool for modeling the electromagnetic characteristics of three-dimensional interconnect systems. The application contains three basic components:
1.1 Applications
1.1.1 Time-Domain Analysis
The simulation is performed in the time domain, allowing for a simple analysis of the transient model response. Basic values such as voltage, current, electric charge, and magnetic flux at any point within the model can be displayed as the simulation progresses. These values can be algebraically combined and those results displayed as well.
In addition to these localized measurements, the overall electrodynamic performance can be visualized. Characteristics such as ground plane current paths, power flow, and charge distribution can be displayed as animated color-shaded images.
1.1.2 Parameter Extraction
The per-unit-length capacitance and inductance can be calculated for continuous segments of a signal path. Self and mutual capacitances and inductances can be obtained, as well as impedance and propagation delay.
1.1.3 S-Parameter Calculation
An arbitrary signal path can be modeled as a multiport network "black box" via scattering parameters. These power ratios can characterize the frequency domain response of a complex discontinuity. The basic calculation provides S-parameters for a 2-port network, and several calculations can be performed to obtain results for any number of ports.
1.1.4 Radiated Power
The total radiated power loss of a model can be calculated in the frequency domain. The behavior of a structure can be optimized to identify and reduce unwanted radiation, or enhance desired radiation. Magnitude, phase, real and imaginary components can be plotted versus frequency and scattering angle.
1.2 Model Building
A physical model in LC is composed of a number of geometry blocks. The blocks have two basic shapes: a rectangular cube or a cylinder. Each block is composed of a homogeneous material, and blocks may overlap to form more complex shapes.
1.2.1 Computation Domain
One of the first concerns in constructing a model is the size of the computational domain. The computational domain is the rectangular region of space that completely encloses the model. In cases where the model itself is not rectangular in shape, the undefined space is filled in with a default material, which is often air (or equivalently, empty space). The size of this domain, along with the mesh cell size, determines the size of the simulation, and how much memory will be required.
It is common practice to initially define the domain by creating a block of a default material to fill the space. Additional blocks added to the model will overwrite this first block due to the stacking order, as described later.
1.2.2 Boundary Conditions
The outer faces of the computational domain are subject to a boundary condition selected by the user. The default is an absorbing boundary condition. In this way, a signal following a conductor to the edge of the domain seems to be absorbed at the edge, rather than being reflected back inwards. Boundary conditions other than the default absorbing condition can be specified in the Define Model dialog.
Boundary conditions can lead to trouble with microstrip-type problems, where the top of the model is the microstrip conductor. The intended model is to have the microstrip of a finite thickness, but the boundary condition will extend the top of the microstrip. The solution is to add a layer of air on top of the microstrip, or use the technique described earlier by adding an initial block of default material to define a complete domain.
1.2.3 Stacking Order
The initial overlapping order is defined by the order in which the blocks are created. Geometry blocks added later will overwrite all or part of the blocks already in the model. This stacking order can be modified with the Edit Raise and Edit Lower menu items.
The stacking order is shown in the View Model Dialog, where higher priority (newer) blocks are drawn as overwriting the lower priority (older) blocks. This order is also shown in the View Blocks dialog. The lowest priority, older blocks are at the top of the list, and the highest priority, newest blocks are shown at the bottom. The stacking order only affects geometry blocks for the purpose of defining the material type of the region. The order of the other types of blocks has no effect on the simulation.
1.2.4 Translators
Translators from several common CAD file formats are available. Accepted input formats include GDS-II (Calma), Gerber artwork (RS-274D), NC drill, Movie geometry, and AutoCAD DXF.
1.3 Materials
Materials are defined by three parameters: relative electric permittivity, electric conductivity, and relative magnetic permeability. Materials are assumed to be isotropic, linear, and non-dispersive; that is, the material parameters do not vary with the direction of propagation, the intensity of electromagnetic fields, or the excitation frequency content.
The dielectric materials may be perfect (conductivity equal to zero), or lossy (non-zero conductivity). A PEC (perfect electric conductor, where the conductivity is infinite) cannot be modeled, but a near-perfect metal with a very large conductivity can be used instead.
LC provides two default materials: air, and metal. These materials may be modified, as well as new ones created, with the Define Materials dialog.
1.4 Sources
When the simulation starts at time step zero, all of the electromagnetic fields are initialized to zero. Source blocks are added to the model to force the fields within a region to a specified value as the simulation progresses. These source fields will excite other nearby fields, and waves will propagate throughout the grid.
1.4.1 Source Waveforms
A source can be given a variety of time-domain waveforms, including a user-defined waveform. Several common types, a gaussian, a linear ramp, a sinusoid, a modulated gaussian, and a gaussian first derivative are provided.
The gaussian and ramp pulse are defined by similar parameters: a rise and fall time, plus the duration of the pulse. The rise time is defined to be the time between when the source reaches 10% of its peak value, until it reaches 90% of its peak. Likewise, the fall time is from 90% to 10% of the peak. By default, the fall time is set equal to the rise time, and the duration is set to zero.
The sinusoid defined by its frequency. After it begins, it continues indefinitely.
The modulated gaussian is a gaussian pulse modulated by a sinusoid. This pulse is useful for broadband analysis. It is defined by its center frequency, which is the modulation frequency, and the higher frequency at which it drops to 1/e (37%) of its peak value. These two parameters define the source's bandwidth.
With the user-defined waveform, the user provides a file containing a time-domain waveform in X-Y plot format. The saved output of a point probe from a previous run works as input to a user-defined source. Linear interpolation is used to find the source values between those defined in the input file.
1.4.2 Source Placement and Types of Excitation
The excitation can be either a voltage or a current. For a voltage source, the electric field components in the direction of the source are set. For a current source, the magnetic fields in a loop around the source are set. The loop is in a plane orthogonal to the source direction, thus exciting current flow in the desired direction.
A voltage source is usually placed into the model between a ground, often a plane of metal, and a conductor, such as a wire or circuit board trace. The ground acts as the zero voltage reference for the source, so the potential set between the ground and the conductor is equal to the source voltage.
The voltage source can be ideal, or include a resistance.
A current source needs no ground reference, only a conductor. Normally a current source is wrapped around the conductor, so the excited magnetic fields will induce a current in the direction of the conductor. If a source is fit exactly to the surface of a conductive trace, then the magnetic fields in the loop one half of a cell outside of the trace are excited, as shown in the diagram below.
|
Figure 1. Voltage Source |
Figure 2. Current Source |
By default, the source excitation is made as a superposition of the electromagnetic fields present and the value of the waveform. This type of source is called a soft source, because it does not interfere with the natural field propagation.
Alternatively, a hard source can be used. In this case, the fields within the source region are overwritten by the source waveform. This is the strongest, most predictable type of excitation, although it can produce unwanted reflections from the source region.
A resistance value can be specified for a voltage source. If a resistance is given, then a load is simulated within the source region. This load can absorb energy propagating into the region, rather than letting it pass through (as in the case of a soft source), or reflect back (as in the case of a hard source). A resistance cannot be specified for a current source.
1.5 Probes
When the simulation is run, the electric and magnetic vector field values are calculated for each grid point at each time step. This amount of data is usually far beyond what can be easily manipulated or understood. Probes provide a flexible means to extract meaningful data from the simulation. The field values in a region of interest can be converted into other quantities via line and surface integrals.
1.5.1 Probe Outputs
Table 1 Probe Output Types
|
Output |
Calculated By |
Units |
|
Voltage |
Electric field line integral |
Volts |
|
Current |
Magnetic field closed loop integral |
Amps |
|
Charge |
Normal electric field closed surface integral |
Coulombs |
|
Magnetic Flux |
Normal magnetic field surface integral |
Webers |
|
Electric Intensity |
Known at every grid point |
Volts/meter |
|
Magnetic Intensity |
Known at every grid point |
Amps/meter |
|
Current Density |
Magnetic field cross product with normal |
Amps/meter2 |
|
Power Density |
Electric and magnetic field cross product |
Watts/meter2 |
1.5.2 Probe Forms
A probe's form defines its shape, which produces a view of the raw electromagnetic field data.
Point Probes
Point probes are the basic probe form, and summarize the output as a single value at each sampling time. By default, the samples are taken at each time step. The sampling in time can be reduced with the probe Time Factor.
When a point probe is displayed Show enabled), it is shown as an X-Y plot of the probe value versus simulation time. If it is saved, the values are written to a file in X-Y plot format, and can later be used by the analysis functions.
Line Probes
A line probe is like a line of point probes, one at each grid point along the line. If it is displayed Show enabled), it is shown as an X-Y plot of the probe value along the line. As the simulation runs, the line is animated with the probe values. The direction of the line is determined by the probe Orientation. If it is saved, it is written to an X-Y plot file, one curve for each time step.
As with the point probe, the sampling time can be reduced by the Time Factor. Also, the number of points along the line can be reduced by the probe Space Factor.
Plane Probes
A plane probe is like a two-dimensional array of point probes. If displayed Plot enabled), the probe values are mapped onto the probe block in the View Model... dialog. The values are shown as a color map, with red showing the highest values, and blue showing the lowest values. If no model viewports are active during the simulation run, then the probe is not displayed.
Like the line probe, the plane probe can sampling can be reduced by the Time Factor and Space Factor values. The color mapping can be adjusted by the Define Colors... dialog. By default, the minimum and maximum values, corresponding to blue and red, are determined dynamically each time the probe is displayed. These values can be fixed by the probe Range Min and Range Max. A third display modifier, Range Noise, is an absolute value below which the probe values are not displayed at all. This has the effect of leaving a hole in the probe for values below the noise floor.
If a plane probe is saved, the file name is set by the probe Output File, with "*" characters replaced by a sequence number, one for each image, starting at 0. Thus, if the file name is "plane***.out", then the actual file names will be "plane000.out", "plane001.out", and so on. If no "*" characters are given in the file name, then a suffix of ".***" is automatically added.
If saved in Movie.BYU format, the geometry of the plane probe is represented in Movie.BYU geometry format. The probe values are saved at each sampling time to a Movie.BYU scalar file. Also, an Ensight result file is also created. These files can be read into Ensight, and the results visualized.
If saved in an image format, such as GIF, Sun Rasterfile, or XWD, the plane probe values are scalaed linearly across a fixed color palette from blue (lowest value) to red (highest value). The image is written as one pixel for each value, so the files are quite compact, and the images are very small. The size of the image can be increased by setting the Scale Factor parameter. The Scale Factor will also increase the image file size. In the absence of an appropriate Scale Factor value, scaling is usually required before viewing the images. Tools such as ImageMagick's mogrify work well for this purpose.
As a special case, if the probe is saved in GIF format, and no "*" characters are present in the output file name, then a single file is written rather than a sequence of files. This file is in animated GIF format.
Surface Probes
Surface probes are similar to plane probes, only rather than a single plane, the surfaces of every block of geometry enclosed within the probe is a plane. The surfaces of other types of blocks, such as sources or loads, are not included in the probe output.
Surface probes are very useful for displaying surface current of conductors. The saved values are written like a plane probe.
Pointer Probe
The electromagnetic field values anywhere within the simulation space can be displayed using the Probe pointer mode within a model viewport. This type of probing is accomplished by a pointer (mouse) operation, rather than a probe block defined within the model. The pointer probe can be a point, line, or plane form, but cannot be a surface.
1.6 Loads
Loads are active regions similar to sources, except that loads can be complex circuits, instead of simple waveforms. Another difference is that load response can depend upon the electromagnetic fields in the load region, whereas sources are independent excitations.
In its simplest form with a single port interface, a load occupies one region of space. The load response is governed by an arbitrary SPICE circuit. The load region is used as input to a SPICE circuit node, and the node is in turn used as the output of the load.
It is also possible to define multiport loads. This type of load is defined by a group of zones in the model called ports. Port blocks are created within the model, and the multiport load definition groups the ports together with a SPICE circuit. Each port block corresponds to one SPICE circuit node, and all of the ports share the same circuit.
When a simulation is started that includes any loads, then SPICE is automatically run as a background process. As the simulation progresses, the electromagnetic simulation is interconnected with the SPICE circuit via the loads. The circuit simulation is performed by SPICE as a transient analysis in lock step with the FD-TD time stepping. After each FD- TD step is completed, the current through the load region is calculated and fed into the SPICE simulation. The SPICE simulation is run for one time step, and the resulting voltage is then sent back to the FD-TD simulation.

Figure 3. Load Calculations
As a special case, a simple resistive load can be simulated directly by FD-TD, without using SPICE. This type of load is equivalent to a resistive voltage source with a zero volt excitation.
1.7 Pulses And Frequency Domain Analysis
Because the simulation is performed in the time domain, and the probe values are recorded in the time domain, it is necessary to use a Fourier transformation to obtain frequency domain data. In order to accomplish this accurately, the signals of interest must be separated in the time domain. Pulse definitions are used to specify the start and end points in the recorded probe data to window a pulse of interest.
A pulse is defined from a set of one or more probes, each measuring a different quantity, plus the start and end times. The definitions are made in the Define Pulses dialog, and made be set up beforehand, or during the post-simulation analysis. Four basic probe output types are used: voltage, current, charge, and magnetic flux. From these values, the impedance, power, capacitance, and inductance of a region can be calculated.
It's not uncommon to use a single set of probes to measure both the pulse incident on a discontinuity, as well as the reflection. The pulses are separated in the time domain with non- overlapping start and end times.
Once the pulses are defined and the simulation output is available, the Plot Pulses dialog can be used to plot the time domain and frequency domain results. Step Pulses can be used to display the numeric pulse values at any time step or frequency, and the S-Parameters dialog is used to compare several pulses in the form of frequency domain scattering parameters.
1.8 Calculations Using Probe Data
User-defined calculations involving probe data are allowed in two ways. Either the calculation can be entered when the model is created, or after the simulation ad-hoc calculations can be performed.
Calculations can be set up before a simulation with the Define Calculations dialog. The calculation to be performed can be expressed as an algebraic equation involving probes and other calculations. The calculation can be displayed as the simulation progresses and saved to a file for later inspection, just like probe data. After the simulation is complete, the results can be displayed with the (somewhat misnamed) Plot Probes dialog.
Alternatively, or in addition to predefined calculations, the Plot Calculator dialog can be used to manipulate probe data in a similar way. Expressions can be entered in terms of probes and predefined calculations, and the results plotted and saved.
One interesting use of probe calculations is with a model such as the microstrip over a perforated ground plane. In this case, it isn't possible to define a voltage or magnetic flux probe in the region where the microstrip passes over the hole in the ground plane. Both of these calculations require closed integrals, over a line and a surface, respectively. The solution is to break down the measurement into two probes for each quantity, one measuring the value vertically from the edge of the hole up to the microstrip level, the other from the top of the first probe to the microstrip horizontally. These two probes can be summed by either probe calculation technique. This method was described by Gravrok, et. al., in the 1995 IEEE 4th Topical Meeting on the Electrical Performance of Electronic Packaging.
Saved probe data can be played back and analyzed after the simulation is complete. The Plot Probes dialog can display point probes, calculations, and sources as X-Y plots. Line probes can be displayed as animated X-Y plots. Plane and surface probes can be visualized and animated in a model viewport.