ASITIC Documentation: Environmental Variables

Command Reference Environmental Variables Installation Technology File Quickstart Sample Sessions FAQ


CmaxL,CmaxW: Set the Cell Size for Capacitance Matrix Calculations

set CmaxL=<length> CmaxW=<length>

Variables: CmaxL,CmaxW

Summary: Control capacitance meshing.


set CmaxL=10 CmaxW=1 # Set cell size to 10u by 1u

Meshing is performed automatically by ASITIC if the autocell environmental variable is set (default behavior). However, in some circumstances, it is important to have direct control over the meshing routines.

The two relevant variables are:

A segment longer than CmaxL or wider than CmaxW will be partitioned into a subcell. The dimensions of the arguments are in units of len_scale, microns by default. The mesh size in turn affects how many matrix entries are generated in the capacitance matrix and can thus have an adverse effect on performance and accuracy.

Note: The thickness does not enter into the capacitance calculation as all metals are assumed infinitely thin. This approximation is valid if the charge distribution does not vary along the thickness of a conductor. This is the case when metalization is much wider and longer than thick. This assumption, though, is increasingly less valid for new metalization processes that allow relatively thick metal layers with a pitch smaller than the thickness (say a .4u pitch with 1u thickness). If this introduces a significant error, two or more adjacent metal layers can be used to construct the structure by using the joinshunt command.

Note: This command only alters sub-sectioning for the capacitance matrix. To set the cell size for the inductance matrix, use the maxl variable.

Note: If calculating `pi' parameters, the maxL is determined by a combination of the maxL parameter from the capacitance and inductance cell size by choosing the minimum of the two. This constraint is introduced in order to solve the node equations to derive the 2-port parameters of the device.

See Also: autocell

autocell,alpha,beta: Use Automatic Mesh Generation

set autocell=<true|false> alpha=<float> beta=<float>

Variables: autocell,alpha,beta


set autocell=true alpha=.01 beta=.5 # Use auto cell generation with (alpha,beta) = (.01,.5)

The autocell variable is used for automatic cell size generation. When in auto cell mode, the cell size is adjusted according to two parameters, alpha and beta. These parameters control the cell size in the following fashion: The length of a segment is sub-partitioned if it is larger than <alpha>*lambda and the width/thickness of a segment are partitioned into sub-cells if they exceed <beta>*delta. Lambda is the wavelength calculated in the dielectric oxide layer at the particular frequency of interest. Delta is the skin depth calculated in the metal segment at the particular frequency of interest. The segment metal is assumed to be non-magnetic so the magnetic permeability is assumed as unity. For capacitance calculations, the cell size must be larger than Chip_Size/FFT_Size, and this is automatically satisfied by selecting the smallest possible cell (see fftsize).

Auto cell generation is very convenient as it frees the user from worrying about the cell size to select. By default, <alpha>=.05 and <beta>=.8; these values give consistent results for most simulations. In other words, decreasing the cell size beyond these values does not lead to significantly different results.

To return to manual cell size generation, set the variable to false and adjust the maxl and cmaxl variables.

Note: At present time, uniform cell size is used for the calculation.

eddy: Toggle Eddy Current Calculation Flag

set eddy=<on|off>

Variable: eddy

If the eddy current flag is set, then structures with Manhattan geometries will pass through the eddy current calculation engine to include the effects of substrate induced eddy current losses (but not reflected inductance). The eddy current engine assumes a single or two layer semi-infinite conductive substrate in performing the calculation. The results of substrate losses are added to the Inductance matrix. Vias are ignored in the calculation.

Note: To enable eddy currents, you must also define and specify the conductive substrate layers in the techfile.

exact_ind: Enable A More Accurate 'Exact' Inductance Calculation

set exact_ind=<true|false>

Variable: exact_ind

The partial self-inductance of a rectangular slab can be derived exactly under the uniform current approximation. The expression, though, is quite unwieldy and time-consuming. A very accurate approximate expression yields nearly identical results. By default, therefore, this variable is false.

fast: Enable 'Fast' Calculation Mode

set fast=<true|false>

Variable: fast

Some commands can run in 'slow' or 'fast' mode. Slow mode is in general more accurate than 'fast' mode. In 'fast' mode, special structures are analyzed in an approximate manner at a fraction of the speed. This mode is sometimes useful for optimization. For instance, the 'fast' mode is fairly good at predicting the inductance of a structure, but not the loss. Hence, 'fast' mode can be used to optimize the geometry for a given desired inductance value in order to greatly limit the geometric range of the search in a two-step process.

freq: The Default Frequency of Analysis

set freq=<float>

Variable: freq

The scale of freq is controlled through the freq_scale variable.

freq1,freq2,fstep: The Default Starting Frequency of Analysis

set freq1=<float> freq2=<float> fstep=<float>

Variables: freq1,freq2,fstep

The scale s controlled through the freq_scale variable. These variables are used by the various 'Nport' commands to generate data at a frequency range (freq1,freq2) discretized by the given size specified.

freq_scale: Specify Default Frequency Scale Units for Session

set freq_scale=<float>

Variable: freq_scale


set freq_scale=1e6          # use MHz as default scale

Multiply each frequency argument by this constant scaling factor. The default frequency scale is in GHz.

gmd: Control Mutual Inductance GMD Approximation

set gmd=<normal|ignore_far|none|integrate>

Variable: gmd

The default <normal> mode uses the geometric distance approximation, where the averaging of the mutual inductance is accomplished without numerical integration by assuming the coupling is occurring in a logarithmic fashion (essentially a two-dimensional approximation).

Otherwise, if <none> is specified, the filamental approximation is used. All segments are assumed to couple as equivalent filaments of current running along the length of the segment (from port to port). As segments are sub-divided into more sub-segments, this approximation is increasingly valid.

If <integrate> is specified, then the mutual inductance is averaged over the cross section of the conductors by using numerical integration. This option is not currently available.

With the <ignore_far> option, the GMD is only computed for structures geometrically in close proximity and a filamental approximation is used for distant coupling. This is equivalent to saying that for far coupling the detailed current distribution does not significantly alter the interaction of segments.

help_path: The Path To Follow to Find the Help Files

set help_path=<pathname>

Variable: help_path


set help_path=file:///home/asitic/help/

By default, the path is set to, the on-line website containing up to date files. However, if Internet access is not available, specify the path locally, such as in the above example.

len_scale: Specify Default Length Scale Units for Session

set len_scale=<float>

Variable: len_scale


set len_scale=1e-3          # use millimeters as default scale

Multiply each length argument by this constant scaling factor. The default length is in microns.

maxL,maxW,maxT: Set the Cell Size for Inductance Matrix Calculations

set maxL=<length> maxT=<length> maxW=<length>

Variables: maxL,maxW,maxT

Summary: Control inductive meshing.


set maxL=50 maxW=2 maxT=1 # Set cell size to 50u by 2u by 1u

Meshing is performed automatically by ASITIC if the autocell environmental variable is set (default behavior). However, in some circumstances, it is important to have direct control over the meshing routines.

The three relevant variables are:

A segment longer than maxL, wider than maxW, or thicker than maxT, will be partitioned into a subcell. A subcell is assumed to carry a uniform current.

The dimensions of the arguments are in units of len_scale, microns by default. The mesh size in turn affects how many matrix entries are generated in the partial inductance matrix and can thus have an adverse effect on performance and accuracy.

See also the autocell variable for automatic cell size generation.

Note: This variable only alters meshing for the partial inductance matrix. To set the cell size for the capacitive matrix, use the cmaxl command.

maxNW: Set Maximum Width Divisions

set MaxNW=<integer>

Variable: maxNW


set MaxNW=5  # Allow a maximum of 5 sub-divisions along the width

For very wide metalization, or at high frequencies where the skin depth is much smaller than the physical width of a conductor, ASITIC generates very large partial inductance matrices. In many cases the extra complexity is not accompanied by a corresponding improvement in accuracy. To avoid unnecessary sub-divisions by the autocell meshing routines, set this parameters accordingly.

Note: For best accuracy, use odd numbers.

mesh: Display Mesh During Complex Calculations

set showmesh=<true|false>

Variable: mesh

The actual mesh generated by ASITIC is used by displaying equivalent charge panels and current filaments during a 'pix' style of analysis.

ofile: The Data Output Filename

set ofile=<pathname>

Variable: ofile


set ofile=${name}_${code}.s

The N-port family of commands generate output into this file.

opengl: Toggle Visibility of 3D Viewport

set opengl=<true|false>

Variable: opengl

By engaging this option, if your platform supports OpenGL, then a new window is opened that displays the layout in 3D.

polar: Output Complex Numbers in Polar Form

set polar=<true|false>

Variable: polar

Complex impedance are reported in polar format in the '2-port' family of commands.

save_matrix: Save Intermediate Matrix Data to Disk

set save_mat=<true|false>

Variable: save_matrix

When computing N-port parameters of a structure, such as with the `pix' command, ASITIC computes the capacitance and partial inductance matrix. Normally this data is discarded after the necessary information has been extracted. With this option, users can save these matrices to disk in ASCII format for further examination.

snap: Snap Coordinates to Specifed Grid Size

set snap=<true|false> snap_size=<length>

Variable: snap

In 'snap' mode, all movements are forced to fall on the specified grid size. The units are set through the len_scale variable.

spiral: The Default Spiral Name for Analysis

set spiral=<name>

Variable: spiral

Often many calculations are repeated for the same structure. To avoid re-typing the name, use this variable.

strict_join: Require Metal Overlap for Conduction

set strict_join=<true|false>

Variable: strict_join

To facilitate analysis, ASITIC by default will assume that a series interconnection of segments are electrically connected, even if they do not intersect or overlap. This KCL violation is reported as a warning but the calculations are performed unless in strict_join mode, where an actual geometric connection is required.

Note: The functionality of this variable has not been implemented.

style: The Default N-Port Output Format

set style=<s|z|y>

Variable: style

N-port data is output in the desired style, S-parameters (scattering), Y-parameters (admittance), or Z-parameters (impedance).

tech_path: The Path To Follow to Find the Technology Data Files

set tech_path=<pathname>

Variable: tech_path


set tech_path=/tmp

By default, the path is set in the techfile.

tekio: Control Technology Data File Generation

set tekio=<true|false>

Variable: tekio

During the capacitance matrix calculation, ASITIC evaluates the Green Function through knowledge of the DCT (Discrete Cosine Transform) data. This data is precomputed and stored to disk every time a new frequency point is specified in the analysis. If this variable is set to false, the data is not stored to disk and the DCT is re-computed at each frequency point.

timing: Display the Timing of Computations

set timer=<true|false>

Variable: timing

If the timer is engaged, then ASITIC computations are timed. This is useful for gauging how long computations take as the cell size is varied.

verbose: Toggle Verbosity of ASITIC

set verbose=<true|false>

Variable: verbose

Summary: Instruct ASITIC to be less verbose.