ASITIC Quickstart
| Introduction | Command Reference | Environmental Variables | Installation | Technology File | Sample Sessions | FAQ |
ASITIC is relatively easy to use. Once inside ASITIC you will see the ASITIC> prompt and a blank graphics screen representing your chip layout. You can enter commands into ASITIC. If you want to see a list of commands, you can type help at the ASITIC prompt
ASITIC> help Type: helpType 'help <category>' to get a full listing on each category. Here is a brief summary of the more frequently used commands in each category.for a list of commands in one of the following categories Catagories: Create, Graphics, Session, Export, Edit, Calc, Optim
The Creation commands create new structures. To create a square spiral use the square command, or to create polygon spirals use the spiral command. Wires, vias, and rectangles can be created with the wire and via commands. Similarly, to create capacitors or transformers use the capacitor, trans, and balun commands. A multi-layer series and shunt (stacked) structure can be created with the SqMM and sqsh commands. Variations of the basic structures exist as well, such as the balanced versions of square and polygon spirals, SymSq and SymPoly. By typing 'help creation' at the prompt you will see a full list of commands in this category.
The Graphics commands allow you to change the viewport properties. For instance, the scale command changes the viewing scale of the viewport, allowing you to zoom in and out. The right button on the mouse can be similarly utilized to zoom in to a specified viewport (hold and drag). While the focus is on the graphics viewport the z key zooms out making the layout appear smaller whereas the Z key zooms in.
The origin command changes the viewport origin. Similarly, the pan, vpan,and hpan commands lets you move the origin of the viewing port to scroll horizontally and vertically (the arrow keys do the same thing while the focus is on the layout). The command BB (X key f for fit) scales and pans the display so that all devices in memory reside on the graphics screen. In other words, this command zooms to the 'bounding box'.
As mentioned parenthetically, the same results can be obtained by using the mouse and/or keyboard on the graphics window. Arrow keys pan the display, the key 'z' zooms out by a factor of 1.5, 'Z' zooms in by a factor of 1.5, 'F' finds the bounding box, and clicking the right mouse button and dragging will zoom into that window.
The metal command allows you to toggle the visibility of
metal layers. The grid command toggles the visibility
of the grid and changes the grid size. Again, type 'help
graphics' to see a full list.
The Session commands are your normal housekeeping commands, such as save, load, help, and quit. The who command lists the names of the spirals in memory and the cat command list the spirals residing in a file. To redirect keyboard input use the input command.
Newer versions of ASITIC automatically log everything you do into the files asitic.LOG and asitic_i.LOG. These files can grow large so you may want to purge or archive them after some time. To use alternate filenames, specify the root of the file name at the command prompt with the -l logname option. The default logging mechanism generates two log files, asitic.LOG and asitic_i.LOG. The second files only contains your keystrokes so you can invoke this file with the input command to redirect the input from the keyboard to the file.
The edit commands are used to modify existing structures. For instance, to move a spiral, use the move, movex, and movey commands. You can also select a structure with the left mouse button and then drag selected structures with the middle button to new locations on the layout. If you would like two spirals to always move together, such as two windings of a transformer, make the spirals friends. To copy a spiral, use the copy command. And you can always rename a spiral as well. To kill a spiral, simply delete it. To join two spirals to make a new spiral, use the join command. This is particularly useful when adding wire leads to a spiral inductor. Use the join command to build arbitrary connections of metal structures. The joinshunt command joins two structures in shunt. This is a nice way to create multi-metal layer spirals. You can also modify the orientation of a spiral with the rotate, flipv, and fliph commands. Think of the flip commands as picking up the spiral and rotating it vertically or horizontally about the axis and then placing it back on the layout, something you cannot accomplish with rotations in the plane.
Since the magnetic field depends on the direction of current flow, it is important to specify the phase of the spiral current. This will affect magnetic coupling calculations for more than one spiral. To change the electrical phase of a spiral, use the flipphase command. Another useful command when joining spirals is the flip command (not to be confused with the flipv and fliph commands); this will reorder the segments in a spiral. Use the psegs command to see the segments in a structure. Finally, if you want to see a listing of a spirals properties (in case you forget later on), type geom followed by the spiral name.
The Analysis commands are the meat (or vegetable as vegetarians would argue) of ASITIC. You can find out the DC inductance of a spiral with the ind command, the resistance with the res command, the quality factor with the Q command, the magnetic coupling with the k command, and the equivalent pi circuit with the pi command. These commands use approximate closed-form equations to compute the results. While fast, accuracy is not good for complicated geometries.
To get more accurate results at any frequency, use commands such as pix. These commands sub-divide each segment of the spiral for more accuracy at high frequency. By default, the cell sub-sectioning is performed automatically in the acell mode. The acell variable toggles the mode, and the variables alpha and beta control the meshing. These parameters specify that any segment length in excess alpha*wavelength should be subsectionaed and similarly for any width or thickness dimension in excess of beta*delta where detla is the skin depth at the frequency of analysis.
To explicitly specify how to break up segments, use the maxL, maxW, maxT and CmaxL, CmaxW variables to specify absolute frequency independent limits on the subsectioning for the inductance and capacitance matirx. Also type set acell=false to turn off the auto cell mode. The maxL, maxW, and MaxT arguments set the maximum length, width, and thickness of a unit segment. For instance, typing set maxL=30 maxW=1 maxT=.5 tells ASITIC that any segments longer than 30 microns, wider than 1 micron, or thicker than .5 microns, should be sub-divided in the calculation. The CmaxL, CmaxW variables control the length and width for the capacitance matrix calculation.
Many of these commands, such as pix, also give you the option to specify a ground spiral. A 'ground spiral' is any structure which is used to ground the substrate. You might simply use a simple substrate tap (a wire on a metal layer connected to the substrate, see The Technology File section). Or it might consist of a ring (halo) of substrate contacts surrounding the spiral. Whatever the case, in many simulations this can be an important parameter to specify since the substrate current is a strong function of the substrate potential and your substrate loss will depend on the location of substrate taps. If you are using a substrate with a non-conductive dielectric, or if the back-side of your substrate is not grounded, then it is essential for you to ground the substrate with a substrate tap to get accurate simulation results. To calculate device inductance or capacitance independently, use the indmat and cap commands. If the savemat flag is invoked, the inductance and capacitance matrix will be saved to disk in text-file format. Use the k2 freq spiral1 spiral2 ... to find the mutual coupling between a group of structures.
To perform analysis at a range of frequencies, use the 2portx command. You can generate 2-port data for a spiral structure over a frequency range with the output in s, y, z, or pi parameters. Many environmental variables can ease the typing on these multi-argument commands.
Note that while the pix command (which makes use of the maxL, maxW, maxT, CmaxL, CmaxW settings) work for arbitrary structures whereas the pi command is specialized and only works for planar structures. For instance, metal-metal spirals (created using sqmm for sqsh or with the joinshunt command), can only be analyzied using pix as the pi command will give incorrect results.
The calctrans command is used to get the equivalent circuit model for two spirals, any two spirals. This can be used to test the isolation of parasitically coupled spirals, or to actually design transformers. Similarly transs outputs the s-parameters of the device. There are several other miscellaneous commands, such as SelfRes for an estimate of the self-resonant frequency of a device, and Zin for the input impedance looking into a 2-port device either single-ended or differentially. The 3Port command can be used to analyze a balun.
The Optimization commands are used to design optimal structures, usually to maximize the Q factor. For instance, the optL command will optimize the geometry of a spiral inductor to produce maximum Q factor. You specify a range of geometric parameters to sweep, such as width, spacing, and turns, and the optimizer will find the best combination. Similarly, the optpoly command will optimize a polygon spiral. Other commands can be found by typing 'help opt'. The SweepOpt command will sweep the geometry of a device and save each structure meeting user specifed electrical constraints on Q and L.
The Exporting commands are used to interface ASITIC with other software platforms. Most important is the cifsave command, used to save the layout of the inductors in CIF format. The CIF file can be imported into most layout tools, such as Magic and Cadence. For more information read the ASITIC-Cadence application notes.