ASITIC Documentation: Environmental Variables
| Command Reference | Environmental Variables | Installation | Technology File | Quickstart | Sample Sessions | FAQ |
Variables: CmaxL,CmaxW
Summary: Control capacitance meshing.
Example:
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:
, 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
Variables: autocell,alpha,beta
Example:
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.
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.
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.
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.
Variable: freq
The scale of freq is controlled through the freq_scale variable.
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.
Variable: freq_scale
Example:
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.
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.
Variable: help_path
Example:
set help_path=file:///home/asitic/help/
By default, the path is set to http://www.eecs.berkeley.edu/~niknejad/asitic/doc/, 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.
Variable: len_scale
Example:
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.
Variables: maxL,maxW,maxT
Summary: Control inductive meshing.
Example:
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:
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.
Variable: maxNW
Example:
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.
Variable: mesh
The actual mesh generated by ASITIC is used by displaying equivalent charge panels and current filaments during a 'pix' style of analysis.
Variable: ofile
Example:
set ofile=${name}_${code}.s
The N-port family of commands generate output into this file.
Variable: opengl
By engaging this option, if your platform supports OpenGL, then a new window is opened that displays the layout in 3D.
Variable: polar
Complex impedance are reported in polar format in the '2-port' family of commands.
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.
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.
Variable: spiral
Often many calculations are repeated for the same structure. To avoid re-typing the name, use this variable.
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.
Variable: style
N-port data is output in the desired style, S-parameters (scattering), Y-parameters (admittance), or Z-parameters (impedance).
Variable: tech_path
Example:
set tech_path=/tmp
By default, the path is set in the techfile.
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.
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.
Variable: verbose
Summary: Instruct ASITIC to be less verbose.