This is a tutorial for LC. It covers some of the basic modeling procedures, highlights a few more advanced ones, and also notes the many handy features available. Some tips are presented, and pitfalls noted.
The circuit board to be studied has four layers.
Layers 1 and 2 form a pair, as do 3 and 4. The layers of a pair are separated by a laminate dielectric material, and the assembled pairs are separated by a prepreg dielectric.
Only a small portion of the circuit board containing a single via will be analyzed, along with its associated pads and signal traces.
Thin metallic traces are used to conduct signals horizontally within a circuit board within a signal layer. When a multi-layer circuit board is created, vertical interconnects must also be added. These interconnects are vias, and are usually round (because they are drilled). Pads are placed at the ends of the traces to provide a large spot to connect the via.
When a ground or power (solid metal) layer is created, a special techinque is used to propagate signals through the layer, rather than shorted to the layer. Relief (or isolation) pads are etched out of the metal for this purpose. The space left after removing the metal is eventually filled in with a prepreg material (sort of a circuit board glue).
The first step in creating the model is to decide what measurement units and gridding system will be used. The default is a 1 millimeter grid. While it is possible to create a model in an unitless, abstract space of cells, most models correspond to some physical problem to be solve, and thus these modeling parameters are a given.
The significance of the gridding is that all parts of the model are automatically snapped to grid, meaning that the coordinates of the part is rounded to the nearest grid point. This is convenient to the human creating a model, since nominal measurements are often specified, but it is paramount when an electromagnetic simulation is run. The first step of the simulation converts the model into a discrete space of uniformly-sized cells. Thus, it's always best to set up the model so that the geometry is not modified during this mapping.
In this model, we will use a half mil grid. Select the Model item of the Define menu to bring up the Define Model dialog. Enter 0.5 for the Minor Grid Spacing, 20 for the Major Grid Factor (corresponding to 10 mils) and choose mil for the Measurement Units. Press Ok to save the changes.
|
The Define Model Parameters dialog. Generally, the Cell Width field is left blank (or zero), indicating the default should be used for the FD-TD mesh cell size. The default is the Minor Grid Spacing. Since the model coordinates are automatically rounded to this value, the resulting geometry will be perfectly aligned with the FD-TD mesh when the simulation is run (except, of course, for round blocks, which are staircased). If the problem domain technique described below is used, then the Default Material is not important. In any case, if this field is left blank, it defaults to the first material defined, which is normally air (free space). |
Since the simulation size (in terms of the amount of memory required) is proportional to the size of the model, it is important to reduce the model to its minimum proportions which allow the required analysis to be performed.
By stacking the layers required to build up the circuit board, the thickness of the model can be determined. We add space above and below the model to providea medium in which the electromagnetic wave can propagate.
|
|
The total board thickness is 8.5 mils, and the total model thickness is 18.5 mils.
The width of the model is determined by the diameter of the pads (since they are the widest features, at 20 mils). Add 5 mils to each side for propagation space, and the total is 30 mils.
The largest dimension of the model is the length, which is determined by the length of the traces. For analysis purposes, the input trace must be at least half the length of the input signal pulse width. This constraint allows the (fabricated) source region to be removed from the model before any reflection from the via reaches it, and also provides spacing to separate the incident pulse from the reflected pulse. This, we shall see later, is a requirement for frequency domain analysis.
Although it's not required, it is convenient to begin the model creation process by defining a bounding box, providing a problem domain as well as a default material.
Create a geometry block of air (more precisely, free space) 150 x 30 x 18.5 mils. Enter a name of domain, set block type of geometry (this is default), and a blank (outline-only) fill type. Enter (0,0,0) for the min and (150,30,18.5) for the max. Select material air and a cube for the shape (these are the defaults). The cube shape is really a rectangular box, technically called a parallelpiped. Press Add to create the domain block.
Since air (free space) and metal are already defined, only two new materials need be created: laminate, and prepreg. To simplify the simulation a bit (and save some computer cycles), we will use the unlikely relative permittivity of 1 for both. This allows us to use a simple absorbing boundary condition (first order Mur), and iterate for the fewest number of time steps. We could, of course, use more typical dielectric constants, along the PML absorbing boundary condition and more time steps for a more realistic simulation.
|
Display the Define Materials dialog. Since air is already selected, change the name to laminate, select a new color (color 8 is nice), and press Add. Now change the name to prepreg, select a new color (perhaps number 28), and press Add to create the last material. We retained the material parameters for air for each new material. |
Display a View Model dialog (a model viewport). Right now, the model geometry is very simple: just a block of air. As we're adding to the model, more blocks will appear. Choose a +X view in the viewport, and it should look like the image given with the sections below.
|
Select material metal, and a transparent fill pattern for the planes. Create block ground with min of (0,0,7) and max of (150,30,7.5). Create block power with min of (0,0,11) and max of (150,30,11.5). |
|
Select material prepreg, and a transparent fill pattern for the dielectric layers. Create block prepreg 1 with min of (0,0,7) and max of (150,30,11.5). Select material laminate. Create block laminate 1 with min of (0,0,11.5) and max of (150,30,13). Create block laminate 2 with min of (0,0,5.5) and max of (150,30,7). |
|
Select material prepreg, shape cylinder, and orientation Z. Create block relief 1 with min of (122.5,5,7) and max of (142.5,25,7.5). Create block relief 2 with min of (122.5,5,11) and max of (142.5,25,11.5). |
|
Select material metal, the solid fill pattern, and shape cube. Create block pad 1 with min of (122.5,5,5) and max of (142.5,25,5.5). Create block pad 2 with min of (122.5,5,13) and max of (142.5,25,13.5). |
|
Create block trace 1 with min of (0,13,5) and max of (122.5,17,5.5). Create block trace 2 with min of (142.5,13,13) and max of (150,17,13.5). |
|
Select shape cylinder, and orientation Z. Create block via with min of (127.5,10,5) and max of (137.5,20,13.5). |
|
|
So far we have defined the passive model geometry, including its material composition. Before running a simulation, we need to add a source of input to the model (an excitation), and a way to save the results of the simulation (using probes).
A source block is an input port for a signal waveform. Sources come in two types of excitation: voltage and current. A voltage source forces a line of electric fields to a value. A current source forces a closed loop of magnetic fields to a value. For microstrip excitation, such as the input trace in the via model, a current loop works nicely.
Select block type source, waveform gaussian pulse, direction +X, and excitation current. Set the rise time to 1e-11 (10 picoseconds). The fall time, if not specified, defaults to the rise time.
Set Hard and Trunc to use a time-limited hard source. The default source type is a soft source which incrementally updates the fields within the source region. By contrast, a hard source overwrites the fields. Thus, the soft source automatically matches the impedance of the region, while the hard source has zero impedance. One reason for using the hard source is that soft sources placed directly adjacent to the grid boundary interact with the absorbing boundary condition. We use a truncated source to avoid the problem of the impedance mismatch causing a reflection when the pulse returns to the source.
Create the source with name source 1, min of (0,13,5) and max of (0,17,5.5). This wraps the current source around the far end of the input trace.
The Source Waveforms dialog of the View menu can be used to display interesting information about the sources defined in a model.
|
A time-domain view of the source waveform. The pulse was defined with a (10% to 90%) rise time of 10 picoseconds. |
|
A frequency-domain view of the source waveform. The pulse energy content falls off past 100 gigahertz, so frequency-domain analysis will be limited to this bandwidth. |
|
The source mesh density exceeds 100 cells per wavelength for all frequency content. It is important that the source waveform be meshed to at least 20 cells per wavelength, or it will be highly distorted. |
Select block type probe, voltage output, and direction -Z. Create voltage probe v1 with min of (10,15,5.5) and max of (10,15,7). This probe will measure the voltage from the ground plane to the input trace.
Select direction +Z. Create voltage probe v2 with min of (148,15,11.5) and max of (148,15,13). This probe will measure the voltage from the power plane to the output trace (the power plane in this simulation is at 0 volts, so it can act as a voltage reference).
Select current output, set the plot toggle button, and direction +X. Create current probe i1 with min of (10,13,5) and max of (10,17,5.5). This probe will measure current flowing in the input trace.
Create current probe i2 with min of (148,13,13) and max of (148,17,13.5). This probe will measure current flowing in the output trace.
At this point it would be prudent to use the Save As dialog of the File menu to save the model.
|
The finished model. The light-blue outline is the domain, and the dark blue slabs are the power and ground layers. The traces are purple, the signal pads are pink, the relief pads are green, and the via is yellow. |
|
Top view of the model. The source excitation can be seen as a small red mark at the left end of the input (long) trace. The voltage and current probes are the small green bands near the ends of both traces. |
|
A close-up of the via, with the layers removed. The green current (wrapped around the trace) and voltage (hanging down beneath the trace) probes can be seen. |
|
Bring up the Run Simulation dialog. This is the easiest part of the process (easy for you, tough for your computer). Press Start, which will display a prompt dialog. Enter 3000 for the number of time steps, and press Ok. Now sit back and relax, be entertained by the simulation output, as this may take some time. If you happen to be running on a Cray, this shouldn't take too long at all. You can speed up the simulation by using several processors in parallel. This is done by setting the NCPUS (UNICOS) or MP_SET_NUMTHREADS (IRIX) environment variable to the number of processors desired (before starting LC). If the processors are available, the simulation should run significantly faster. |
|
The raw data saved by the probes can be plotted with the Plot Probes dialog of the Analysis menu. Time-domain plot of the voltage measured on the input trace. The incident pulse is the first (70 volt) peak, and the reflection returns from the via around 25 picoseconds. |
|
Time-domain plot of the voltage measured on the output trace. This is the transmitted pulse, reduced from 70 to 50 volts after negotiating the via. |
The raw (time-domain) probe data needs to be windowed in time before it can be converted into frequency domain data. This windowing identifies the pulses recorded by the probes. To calculate two-port S-parameters, three pulses need to be defined: incident, reflected, and transmitted. Each pulse can group four types of probes: voltage, current, charge,and magnetic flux. In this case, we only have voltage and current probes.
A start and end time step must be set for each pulse to define the time window. Note that time steps (integers) are used, rather than time in seconds. This is a hold-over from the good-old days, and may change in the future.
|
Display the Define Pulses dialog. Enter inc for the name, then select v1 for the voltage and i1 for the current. Press Add to create the pulse. Ignore the warning message that may pop up. Press the Guess From Data button. This automatically sets the pulse start and end time steps via a pulse identification algorithm. Press Replace to save the calculated times. Create the reflected pulse definition by modifying inc. Change the name to ref, make the Pulse Start equal to the Pulse End value, and change Pulse End to 3000 (the end of the simulation). Press Add to save the pulse. Create the transmitted pulse definition by modifying ref. Change the name to trans, then select v2 for the voltage and i2 for the current. Press Add to create the pulse. Ignore the warning message that may pop up. Press the Guess From Data button. In this case the pulse end guess is incorrect, because the algorithm does not anticipate the pulse spread due to the via discontinuity. Change the Pulse End to 2500 and press Replace. |
Since defining the pulses changes the model, the modified model should be saved again. This time use File Save instead of File Save As to save the model under the same file name as before.
|
The pulses extracted from the probe data can be plotted with the Plot Pulses dialog of the Analysis menu. This is the time-domain plot of the voltage pulses. |
|
This is the frequency-domain plot of the voltage pulses. Nearly all of the low frequency content of the incident pulse goes through the via, but much of the high frequency content is reflected. |
|
Using the data from the three pulses, the S-parameters of the via can be calculated with the S-Parameters dialog of the Analysis menu. Conveniently, the dialog assumes that the first pulse defined is the incident, the second is the reflected, and the third is the transmitted. Since we defined the pulses in that order earlier, then the defaults can be used. Also, since both the voltage and current data was saved by the probes, the power (V*I) can be used to calculate the S-parameters. If only the voltage or the current was available, V**2 or I**2 could be used. |