ASITIC Documentation: Session


Command Reference Environmental Variables Installation Technology File Quickstart Sample Sessions FAQ

Contents:


Autocell: Use Automatic Mesh Generation

AutoCell <alpha> <beta>

Aliases: autocell,acell,cellauto

Example:

ACELL .01 .5 # Use auto cell generation with (alpha,beta) = (.01,.5)

Obsolete command, use the
set command instead.

The AutoCell command 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, use the cell and ccell commands.

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


Cat: List All Spirals Living in a File

Cat <filename>

Aliases: cat,head,contents

Summary: Display the names of all spirals in the <filename>.


Ccell: Set/View the Cell Size for Capacitance Matrix Calculations

CCell (<max length> <max width>)

Aliases: ccell,ccellsize,ccellunit,cmaxcell

Summary: Control capacitance meshing.

Example:

CCELL 10 1 # Set cell size to 10u by 1u

Obsolete command, use the
set command instead.

Without any arguments, print the current cell size. With arguments, set the maximum segment size mesh accordingly.

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

See also the autocell command for automatic cell size generation.

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 metallization is much wider and longer than thick. This assumption, though, is increasingly less valid for new metallization 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 cell command.

Note: If calculating `pi' parameters, the <max length> is determined by a combination of the <max length> 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.


Cell: Set/View the Cell Size for Inductance Matrix Calculations

Cell (<max length> <max width> <max thickness>)

Aliases: cell,cellsize,cellunit,maxcell

Summary: Control inductive meshing.

Example:

CELL 50 2 1 # Set cell size to 50u by 2u by 1u

Obsolete command, use the
set command instead.

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

Without any arguments, print the current cell size. With arguments, set the maximum segment size mesh accordingly.

A segment longer than <max length>, wider than <max width>, or thicker than <max thickness>, will be partitioned into a subcell. A subcell is assumed to carry a uniform current.

The dimensions of the arguments are in units of units, microns by default. This mesh size 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 command for automatic cell size generation.

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

Warning: Thickness meshing is currently under construction and gives unreliable results for thick metals. Please avoid meshing the thickness of the conductor and instead use high frequency equivalent sheet resistance for thick metals loss calculation.


Chip: Change Current Chip (Layout) Size

Chip (chipx) (chipy)

Aliases: chip,resizechip,redimchip

Specify new x and y dimensions in units of
units (default microns) to alter the current layout boundaries. All calculations that rely on this information, namely the capacitance engine, rely on the chip size in determining the smallest possible panel of charge as chip/FFT_size.

Eddy: Toggle Eddy Current Calculation Flag

CalcEddy (on|off)

Aliases: eddy,eddyon,calceddy

Obsolete command, use the
set command instead.

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.


Exec: Execute a Script or Log File

Exec <filename>

Aliases: exec,script,execute

Execute the commands stored in <filename>. Note that all commands must be specified so that no prompts are generated by ASITIC. If you use a script file generated by the LOG command, you will not encounter this problem. However, if you code a script file by hand, be sure to supply all required arguments. Otherwise, use the INPUT command to execute scripts that require user "intervention" in supplying parameters through prompts.

Gmd: Control Mutual Inductance GMD Approximation

GMD <normal|ignore_far|none|integrate>

Aliases: gmd,gmdmode,indgmd,indmode

Obsolete command, use the
set command instead.

With the geometric distance approximation, 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).

Specify <normal> for to use the geometric mean distance approximation (GMD), and <none> to use the filamental approximation where 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: On-line Help

Help (<command>|<category>)

Aliases: help,?

Without any arguments the help command displays a list of categories. With a <category> argument, the help command displays a list of commands in a given category. With a <command> argument, help displays help on a specific command. With an <online> argument, i.e. `help online', ASITIC will direct a running netscape browser to the online html help pages.

Input: Redirect the Standard Input From Keyboard to File

Input (<filename>) (<delay in secs>)

Aliases: input,redirect,readfrom

Redirect the standard input from the default keyboard to the file named <filename>. ASITIC will continue reading commands from <filename> until the end of the file at which time input control will be returned to the keyboard. With an optional delay argument, the execution of each line is paused as specified.

This command is a useful way to re-execute a previous session. A keyboard input file is generated automatically at each session and saved into the file asitic_i.LOG. This file can be processed by this command.


Listsegs: Print a List of Segments that Constitute a Structure

ListSegs <spiral>

Aliases: listsegs,psegs,printsegs

Summary: Display all the segments that make up <spiral>.

Investigate the individual segments, or wires, that make up a structure. In general, segments are defined by four vertices and two ports. The ports are located along two of the shorter segments where current is assumed to enter and leave the structure. This command only prints the location of the ports.

Load: Load Spirals from Disk into Memory

Load <filename> (<spiral>)

Aliases: load,read,get,ld

Example:

Load design1 # Load all spirals from file `design1' into memory

Load spirals from <filename> into memory. With no <spiral> argument, all spirals residing in <filename> are loaded into memory. Otherwise, if a particular <spiral> name is specified, only that spiral is loaded into memory. This operation fails if there is a name conflict between a spiral in memory and a requested spiral in the file.

To see a list of spirals residing in a particular file, use the cat command.


Maxnw: Set Maximum Width Divisions

SetMaxNW (<integer>)

Aliases: maxnw,setmaxnw

Example:

SetMaxNW 5  # Allow a maximum of 5 sub-divisions along the width

Obsolete command, use the
set command instead.

For very wide metallization, 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.


Modifytechlayer: Modify Technology Parameters on the Fly

ModifyTechLayer <rho|t|eps> <layer number> <value>

Aliases: modifytechlayer,techlayer,teklayer

Modify the thickness, conductivity, or permitivity of substrate layers. The units are in ohms-cm and microns.

To avoid unnecessary disk activity, turn off the tekio flag to prevent writing new FFT data to disk.


Opengl: Toggle Visibility of 3D Viewport

OpenGL (<true|false>)

Aliases: opengl,useopengl,use3d,show3d

Obsolete command, use the
set command instead.

Pause: Pause and Wait for Keyboard Input

Pause

Aliases: pause,wait,presskey,waitkey

This command will pause and wait for keyboard input before continuing. This is useful for pausing a batch file to examine results before continuing.

Print:

Print (<spiral>) (<filename>) (<scalex> <scaley>) (<true|false>)

Aliases: print,eps,pr,dump2eps

Arguments: Generate an encapsulated postscript (EPS) file of a spiral. With <scales> set at unity, a 1u by 1u square (or any default length unit square) translates into a 1 point by 1 point unit square.

If visual analysis has been performed on a spiral with the `piv' command, the current density plot can be saved to a color EPS file by setting the last argument to <true>.


Save: Save Spirals From Memory to Disk

Save <filename> (<spiral>) (<overwrite=false|true>)

Aliases: save,write,put,store

Example:

Save design3 sp3 # save spiral sp3 into the file `design3'

Save spirals from memory to disk. Without a <spiral> argument, all current spirals residing in memory are saved to disk in an ASCII format. To see a list of currently living spirals, use the
who command. With a <spiral> argument, save the named spiral onto a disk file <filename>, appending the spiral to any existing spirals in <filename>. If <filename> is empty, a new file will be generated. The path of <filename> is assumed to be the current directory (where ASITIC is invoked). ASITIC concatenates .spi to the filename.

Save fails if the named spiral does not exist in memory, or if a spiral by the same name already appears in <filename>. Another condition for failure relates to the user's ability to save files in the current directory based on write permissions.


Savemat: Save Intermediate Matrix Data to Disk

SaveMat (<true|false>)

Aliases: savemat,svmat,dumpmat,savematrix

Obsolete command, use the
set command instead.

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.


Set: Set and Display the Value of Environmental Variables

set (<env_variable=value> (<env_variable=value> ...))

Aliases: set,setenv,define,let

Example:

set eddy=true gmd=normal

Environmental variables (
environmental variables) are used to control many aspects of the ASITIC execution environment. To see a list of currently defined variables, type 'set' without any arguments. The meaning of the build-in environmental variables is explained in the environmental variables section.

User defined environmental variables can also be defined and used as arguments to many commands. For instance, as a shortcut, we can define a long and descriptive name to a short variable:

set a=square_100_10_5_3

and use $a in place of the 'name' argument for a 'square' command.


Tekio: Control Technology File FFT Data Storage

TechIO (<true|false>)

Aliases: tekio,techio,techreadwrite,tekrw

Summary: Prevent disk writes when regenerating FFT data.

When ASITIC computes the capacitance matrix, it uses pre-computed FFT frequency-dependent data related to the underlying Green function. If this information is found on mass storage, it is read from disk. Otherwise, the data is generated on the fly before computing the FFT. Then the information is stored to disk for later retrieval.

Since many users repeat commands at the same frequency, this is a useful feature that can save considerable time since the FFT computation needs to be performed only once for a given technology file. On the other hand, if the technology file is not constant or not needed in future sessions, such as changes made with the modifytechlayer command, then this options prevents unnecessary disk IO by skipping the save step.


Time: Display the Timing of Computations

Timer (<true|false>)

Aliases: time,timing,usetiming,timer

Obsolete command, use the
set command instead.

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.


Units: Specify Default Scale Units for Session

Units (<len_units> <frq_units>)

Aliases: units,unit,uni,u

Obsolete command, use the
set command instead.

Without any arguments, the current unit scale factors are displayed.

Optional Arguments:

The default length and frequency units are in microns and GHz. An appropriate scale factor can be entered to work more naturally with common units such as mils or inches.

Ver: Print ASITIC Version Number

Version

Aliases: ver,version,build,date

Display the build and release date code for ASITIC. If you have any questions about ASITIC, let me know the version you are running. The current version is 3.19.00.

Verbose: Toggle Verbosity of ASITIC

Verbose (true|false)

Aliases: verbose,verbal,quiet,talk

Summary: Instruct ASITIC to be less verbose.

Obsolete command, use the
set command instead.

Who: Display a List of Spirals in Memory

Who (<spiral>)

Aliases: who,finger,list

Display the names of all spirals in memory. For multi-spiral structures constructed from joining spirals, only the `head' name is displayed.

Given an argument, the geom command is invoked to display specific information about the device.