ASITIC Documentation: Editing


Command Reference Environmental Variables Installation Technology File Quickstart Sample Sessions FAQ

Contents:


Befriend: Make Two Spiral `Friends'

Befriend <spiral> <spiral>

Aliases: befriend,friend

Example:

CP A B M2       # create a spiral on M3to layer M2

Two `friends' always move together. This is a useful way to create a transformer out of two separate spirals or to keep two spirals separated by a fixed distance as you move them about the layout.

Copy: Make a Copy of a Spiral

Cp <spiral1> <name> (<metal> <origin x> <origin y>)

Aliases: copy,cp,duplicate,dup

Summary: Make a copy of a spiral and optionally place it on a new metal layer.

Example:

Copy A B # Simply make a duplicate of A and name it B

Copy will make a new copy of <spiral> and place it in memory. You must give the new spiral a unique name. The next argument can optionally place the new spiral on a different metal layer. Note that if <spiral> resides on multiple metal layers, the new spiral will only resize on the new specified metal layer. You may also optionally place the new spiral at a new origin.

Erase: Erase a Spiral from Memory

Erase <spiral> (<spiral> ..)

Aliases: erase,del,delete,rm

This command will remove a spiral from memory. Once deleted, spirals cannot be undeleted. You can save spirals (
save) to disk for later retrieval.

Findi: Find Non-Edge Intersections Within a Spiral

Intersect (<spiral>)

Aliases: findi,intersect

Summary: Examine a spiral for any metal overlap.

A properly constructed structure should consists of a series interconnection of one or more shunt segments. Adjacent segments should have zero area of intersect, and thus connections can only occur along the edges. If these conditions are not satisfied, then the results of ASITIC may not be correct.

For instance, if two segments overlap, the area of intersection will contribute more capacitance than is physical. Also, if non-adjacent segments intersect, then there are multiple paths from the input of the spiral to the exit, and ASITIC only considers the path determined by the order of the segments.

This command checks for a subset of these conditions, namely the non-intersection of segments.


Flip: Flip the Order of the Spiral Segments

Flip (<spiral>)

Aliases: flip,reverse,rev,reorder

Summary: This command will reverse the list of segments of a spiral.

Reverse the list of segments of a spiral. Normally, the outermost segment of a spiral is the first segment and the innermost segment is the last segment of a spiral. By issuing this command one can reorder the list of spirals. You can see a list of segments that constitute a spiral with the
listsegs command.

This command is important as ASITIC assumes that current flows from one consecutive segment to the next and hence the relative order of segments is important for ASITIC as opposed to the geometric arrangement. Thus, ASITIC stores structures with a dual electric and geometric description. Furthermore, for a given segment, ASITIC assumes that current flows from one edge to the opposite edge where the direction is determined by the phase of the segment (see flipphase). To see this direction visually, issue the showdir command. This information is also given by the listsegs command.

Note: Contrast this command with flipv and fliph which operate on the geometry of the spiral.


Fliph: Flip or Mirror the Geometry of a Spiral Horizontally

FlipH (<spiral>)

Aliases: fliph,fliphorz,hflip,horzflip

You can reflect a spiral about the horizontal axis (x-axis) by issuing this command. The axis is defined by the center of the structure in question. Note that you cannot achieve the effect by rotation alone. See also the
rotate command.

Note: Contrast this command with flip command which operates on the electrical properties of a spiral but not on the geometry.


Flipphase: Set the Electric Phase of a Spiral

FlipPh <spiral> <spiral> ...

Aliases: flipphase,fph,fphase,flipph

The phase of a spiral indicates the direction of current flow within the spiral segments. A +1 phase indicates that current flows into the first segment edge of a spiral and exits from the last segment edge of a spiral. The order of segments is also important and can be viewed with the
listsegs command. A phase of -1 indicates that current flows in the opposite direction.

For wires the current flows from the left to the right by default but "left" and "right" can change if the wire is rotated or flipped. Use the showdir to be sure of the assumed current flow direction.

The phase of a spiral is only important in relation to the phase of other spirals. For instance, the coupling factor depends on the direction of the currents as magnetic fields can add or subtract depending on the relative direction of the currents. Phase is also important when joining spirals (join).


Flipv: Flip or Mirror the Geometry of a Spiral Vertically

FlipV (<spiral>)

Aliases: flipv,flipvert,vflip,vertflip

You can reflect a spiral about the vertical axis (y-axis) by issuing this command. The axis is defined by the center of the structure in question. Note that you cannot achieve the effect by rotation alone. See also the
rotate command.

Note: Contrast this command with flip command which operates on the electrical properties of a spiral but not on the geometry.


Geom: Display the Geometry of a Spiral

Geom (<spiral>)

Aliases: geom,geometry,info,finger

Display the data structure of a spiral. This will usually display the geometric dimensions of a spiral and its location. This command displays only geometric data whereas electric parameters can be obtained from other commands.

Hide: Hide A Spiral

Hide <spiral> (<spiral> ...)

Aliases: hide,ghost

Summary: Hide, but do not delete, a spiral from the display.

This command helps to avoid cluttering the display by hiding spirals not currently under examination. The spiral will be listed with the
who command and will remain hidden until this command is re-invoked with the given spiral.

Join: Join Multiple Spirals in Series

Join <spiral1> <spiral2> (<spiral3> ...)

Aliases: join,add,mate,couple

You can use the Join command to interconnect multiple spirals in series. Series connections lengthen the structure whereas shunt connections increase the effective thickness of the structure (see
joinshunt). Be sure that the phase of the spirals match so that current flows continuously from one spiral to the next (see flipphase, flip, listsegs, and showdir).

Calls to Join and joinshunt can be used to build relatively arbitrary structures with as many segments as memory permits.

Note: The mmsquare structure can automatically create series joined Multi-Metal structures.


Joinshunt: Join Multiple Spirals in Shunt

JoinShunt <spiral1> <spiral2> (<spiral3> ...)

Aliases: joinshunt,addshunt,mateshunt,shunt

Whereas the
join command joins spirals in series, from segment end to segment head, join places spiral segments in shunt, at least electrically. Note you should not include vias in the join process as ASITIC assumes, quite magically, that the spiral ends are connected, even if no such connection or metal overlap exists. Thus, you must use this command with caution.

Note that metal segments are not connected continuously but only at the ends. To simulate the effect of multiple via connections, break the segment into smaller parts. This is in fact done automatically if you use pix and set the cell size smaller than the length of the longest segment.


Metalarea: Calculate the Metal Area of a Spiral

MetArea <spiral>

Aliases: metalarea,areametal,metarea,areamet

Summary: Calculate the area occupied by the metal of a spiral structure in microns squared.


Move: Move `Relatively'

Move <spiral> <delta_x> <delta_y>

Aliases: move,mv

Example:

Move A 3 4 # Displace A by 3 microns east and by 4 microns north

Move a spiral to a new position offset by <delta_x> and <delta_y> from its current position. The offset parameters can be positive or negative. To move a spiral using absolute coordinates, use the
moveto `Newton Version' command. Also see the movex and movey commands.

Moveto: Move a Spiral to an `Absolutely' New Location

MoveTo <spiral> <x> <y>

Aliases: moveto,mvto,setorig,setorigin

Move a spiral to a new position specified by <x> and <y>. These coordinates are absolute coordinates relative only to the chip origin. You can use the `Einstein Version'
move command for relative shifts. See also the movex and movey commands.

Movex: Displace in the X-Direction

MoveX <spiral> <delta_x>

Aliases: movex,mvx

Displace a spiral in the x-direction by <delta_x> relative to the current position.

Movey: Displace in the Y-Direction

MoveY <spiral> <delta_y>

Aliases: movey,mvy

Displace a spiral in the y-direction by <delta_y> relative to the current position.

Rename: Rename a Spiral

Rename <spiral> <new_name>

Aliases: rename,ren,newname,name

Rename a spiral named <spiral> to <new_name>. The spiral name must be unique and not conflict with other existing spirals. You can use the Who command to see a list of currently living spirals, including hidden spirals (
hide).

Rotate: Rotate a Spiral by Specified Degrees

Rotate <spiral> <degrees>

Aliases: rotate,rot,turn

Rotate a spiral about its origin the specified number of degrees counter-clockwise. For clockwise rotations specify negative degrees. You can also flip a spiral vertically or horizontally (
fliph, fliph).

Select: Select a Given Spiral

Select (<spiral>)

Aliases: select,highlight,choose,favorite

Selecting a Spiral is usually performed by simply left-clicking on a spiral.

Sptowire: Convert A Spiral into Segments (Wires)

SpToWire <spiral>

Aliases: sptowire,demolish,sp2wire,breakup

Summary: Completely `break' a spiral into its component parts.

To break a spiral at a specified boundary, use the
unjoin command. To completely convert all spiral segments into individual wires, use this command. Each segment will be named numerically according to its location in the spiral.

Stretch: Stretch Segments in Spirals

Stretch <spiral> <index> <begin|end> <length>

Aliases: stretch,str,lengthen,expand

Summary: Extend or Shorten Length of Segments.

Arguments: Usually this command is applied to either the first or last segment of a spiral as application of this command to any other segments will break the edge to edge intersection of the segments. A good application of this command is to lengthen the exit segment of a spiral.

Unfriend: Break the `Friendship' Between Two Spirals

Unfriend <spiral> <spiral>

Aliases: unfriend,defriend

This command will remove any association between two spirals. See
befriend command for more details.

Unjoin: Split a Spiral into Two Spirals

Split <spiral> <index> <name>

Aliases: unjoin,split,break,cut

Example:

SPLIT A 0 B        # split a spiral down the middle

You can use the Split command to break a spiral into two separate spirals. The <index> argument specifies the location of the break. If <index> is equal to 0, then the spiral is split down the middle. If n = <index> is negative, then the n'th segment counting from the last is the point of fracture.

See the stretch command for resizing individual segments of a spiral.


Unselect: Deselect a Selected Spiral

Unselect

Aliases: unselect,unhighlight,unchoose,unfavorite

Unselecting of a spiral can also be performed by clicking anywhere on the display not occupied by the currently selected spiral.