The command line interface through the prompt area provides an interface to operating system commands, as well as to a number of internal commands which are often rather specialized and are not associated with a menu button. Each of these commands starts with an exclamation point ``!'', and may be entered when no other command is active, or inside of many commands. These key presses are not recorded in the ``keys'' area below the side menu. If the command entered matches one of the internal commands listed below, that command is executed. Otherwise, an operating system shell and associated window is produced to execute the command, with the exclamation mark stripped.
Special Form: !
Entering a single exclamation point with no other text will produce an
interactive (xterm) window in which the user can issue operating
system commands. When the user is finished, typing ``exit''
will close the window. If any text follows the exclamation point, and
that text does not match an internal command, the exclamation point
will be stripped, the remaining text sent to the operating system for
execution, and the result will be displayed in a pop-up window. The
shell which is used to execute operating system commands can be
selected by the user, through the Shell variable and the !set command.
Special Form: !!
If a line starts with ``!!'', the rest of the line is taken as a
script, and executed by the script parser. This is how to map script
interface functions into a macro. For example, below is a macro to reset
the current transform:
!!SetTransform(0,0,1) Ctrl-Return
Special Form: !?
Entering ``!?'' will bring up help about the `!' commands.
Special Form: !#
The last six commands given are saved, and can be recalled with the
form ``!#[n]'', that is, an exclamation point and a
pound sign followed by an optional integer. The n is an
optional integer 0-5, and if not given (the square brackets indicate
``optional'' and are not literal) a value of 0 is taken. The n'th previous command will be printed in the prompt area, where it
can be edited and re-executed. If no matching command is found, there
is no action.
Each `!' command given, including those from `!#', will be pushed onto the history list in the 0 position if it is not identical to the previous command given.
The following table summarizes the internal commands available. These commands are described in detail in the following sections.
Conversions | |
!assemble | Merge archive files |
---|---|
!sced2xic | Convert from sced format |
!gzip | Apply compression to file |
!gunzip | Uncompress a file |
Current Directory | |
!cd | Change working directory |
!pwd | Print working directory |
Diagnostics | |
!logfiles | Browse the log files |
!compare | Compare geometry in files |
!empties | Check for empty symbols |
!checkgrid | Check object for off-grid vertices |
!checkover | Report cells that overlap |
!dups | Select coincident identical objects |
!check | Check electrical input for consistency |
!regen | Regenerate damaged file |
!polycheck | Check polygon characteristics |
!polymanh | Select Manhattan polygons |
!polyfix | Fix polygon errors |
!polynum | Show polygon vertex indices |
!bincnt | Database diagnostic |
!setflag | Set cell flags |
!summary | Print summary info of current hierarchy |
!fileinfo | Print info about archive file in console |
!time | Print elapsed run time in seconds in console |
!xdepth | Print transform stack depth in console |
Design Rule Checking | |
!showz | Show DRC partitioning |
!errs | Rebuild errors database |
!errlayer | Create error polygons on some layer |
Extraction | |
!source | Update schematic from SPICE file |
!exset | Update schematic from physical data |
!addcells | Add missing cells |
!find | Find devices |
!ptrms | Physical terminal manipulations |
!terms | Update electrical terminals |
!ushow | Show unassociated elements |
!fx | Control FastCap/FastHenry interface |
!fxcell | Create cell from FastCap/FastHenry interface |
Fonts | |
!dumpfont | Dump label font to file |
!dumplogofont | Dump logo font to file |
!logofont | Set font for logo command |
Graphics | |
!setcolor | Set attribute color |
!display | Display graphics in a foreign X window |
Grid | |
!sg | Save the current grid |
!rg | Restore saved grid |
Help | |
!help | Call the help system |
!helpfont | Set help base font family |
!helpfixed | Set help fixed font family |
!helpreset | Clear help topic cache |
Layers | |
!layer | Create logical layers |
!ltab | Manipulate layer table |
!lal | Manipulate layer alias table |
!ltsort | Alphanumerically sort layer table |
Libraries | |
!mklib | Create or append to a library file |
Memory Management | |
!clearall | Clear all memory |
!vmem | Windows only, print virtual memory statistics |
!mmrecycle | Assert or vacate recycle mode |
!mmclear | Clear recycle mode free lists |
!mmstats | print memory manager statistics |
Operations | |
!mo | Move objects |
!co | Copy objects |
!ro | Rotate objects |
!rename | Rename subcells |
!sa | Save current cell |
!sqdump | Save selections as native cell |
!cont | Read contents of native cell |
!svq | Save selections in register |
!rcq | Recall selections from register |
Physical | |
!box2poly | Convert boxes to polygons |
!path2poly | Convert wire paths to polygons |
!poly2path | Convert polygon boundaries to wires |
!bloat | Expand/contract object |
!area | Measure object area |
!join | Join objects into polygon |
!split | Split polygon into trapezoids |
!manh | Convert to Manhattan polygons |
!polyrev | Reverse polygon winding |
!noacute | Eliminate acute angles |
!togrid | Move selected object vertices to grid |
!tospot | Condition object for spot size |
!bb | Print bounding box of current cell |
!origin | Set origin of current cell |
!import | Import structures into the current cell |
Rulers | |
!dr | Delete rulers |
Scripts | |
!script | Add a script to the User Menu |
!exec | Execute a script |
!lisp | Execute a Lisp script |
!tk | Execute a Tcl/Tk script |
!listfuncs | Pop-up list of saved functions |
!rehash | Re-read script libraries and rebuild User Menu |
!rmfunc | Delete a saved function |
Selections | |
!select | Select objects |
!desel | Deselect objects |
!zs | Zoom to selected objects |
Symbol Table | |
!symtab | Manipulate symbol tables |
Variables | |
!set | Set/examine variables |
!unset | Unset variables |
Window Cells | |
!cc | Load cell into window |
!sw | Swap cells in main and subwindow |