Xic maintains an internal list of keyword/value associations. Although this list can be used for general purposes, there are a number of special keywords, or ``variables'', whose value will affect Xic operation. Variables are set with the !set command, and can be unset with the !unset command. The script functions Set, Unset, SetExpand, and Get also provide an interface to this database. Variables can be set from the technology file, and a number of the buttons in menus and various pop-ups really do nothing more than control the state of one of these variables.
Any variable name can be set with the !set command. The variables and constructs that have meaning to Xic are summarized in the table below. These are described more fully in the sections that follow.
Special Constructs | |
!set | List variables currently set |
!set ? | List these variables |
@devname.property | Set device property |
Paths and Directories | |
Path | Symbol file search path |
---|---|
LibPath | Startup file and library search path |
HelpPath | Help file search path |
ScriptPath | Script file search path |
DocsDir | Directory containing release documentation |
TeePrompt | Copy messages to given filename or ``stdout'' |
General Visual | |
FullWinCursor | Enable full-window cursor |
CellThreshold | Min size in pixels of displayed subcell, integer > = 0 |
LayerTable | Layer table presentation: ``compact'' or ``tiny'' |
MaxPrpLabelLen | Max length of displayed prpty string |
NoPixmapStore | Don't use screen backing memory |
NoDisplayCache | Don't use multi-object rendering for boxes |
PhysGridOrigin | Set the origin of the grid displayed in physical mode |
`!' Commands | |
JoinMaxPolyVerts | Upper bound of vertices in polygons from join (def. 600) |
JoinMaxPolyGroup | Limit number trapezoids per poly in join (def. 100) |
JoinMaxPolyQueue | Limit number trapezoids to form polys in join (def. 1000) |
JoinBreakClean | Manhattan split polygons with too many vertices |
LayerPartSize | Partition grid size in microns for layer operations |
NoSnapToEdges | Disable edge snapping in object creation commands |
Shell | Path to shell used for external commands |
SpotSize | Set mask granularity |
Selections | |
SelectTime | Set delay (msec) to activate move |
NoAltSelection | Use legacy click-selection logic |
Side Menu Commands | |
LogoEndStyle | End style for logos: 0 flush, 1 round, 2 extend |
LogoPathWidth | Path width for logos, 1 - 5 |
LogoManhattan | Use internal Manhattan font for logos |
LogoPretty | Use system font for logos |
LogoPrettyFont | Name of system font to use for logos |
LogoToFile | Create subcell for logos |
NoMergeBoxes | No box merging, ever |
MaxRoundSides | Maximum sides used to approximate round objects |
NoConstrainRound | No DRC constraints creating round objects |
PictorialDevs | Use pictorial device menu |
ShowDots | Show electrical connections |
SPICE Interface | |
NoAsyncSpice | Use synchronous WRspice interface |
SpiceListAll | Include unconnected devices in Spice output |
SpiceAlias | Device key aliases for Spice output |
SpiceHost | Name of WRspice server |
SpiceProg | Path name of WRspice executable, supersedes below |
SpiceExecDir | Directory containing WRspice executable |
SpiceExecName | Name of WRspice executable |
CheckSolitary | Report unconnected terminals in netlist |
NoSpiceTools | Do not show WRspice toolbar |
File Menu - Printing | |
NoDriverLabels | Don't use driver text for hard copy labels |
PSlineWidth | Set line width for postscript line draw |
Edit Menu Commands | |
MasterMenuLength | Max. entries in master pull-down menu |
NoReadExclusive | Don't move stripped path to front of search path |
AddToBack | Add stripped path to back of search path |
UndoListLength | Number of operations saved in the undo list |
NoWireWidthMag | Don't change the width of magnified wires |
CrsymOverwrite | Allow Create Cell to overwrite memory cells |
View Menu Commands | |
InfoInternal | Use internal coordinates in info windows |
PeekSleepMsec | Per-layer delay in peek command, milliseconds |
XSectThickness | Xsect layer thickness, internal units, deflt 500 |
RulerSnapToGrid | Rulers snap to grid by default |
LockMode | Don't allow physical/electrical mode change |
Attributes Menu Commands | |
EraseBehindProps | Erase behind phys properties in props command |
PhysPropTextSize | Pixel text height used in props command |
Convert Menu - General | |
NoPopUpLog | Don't pop up log file if warnings or errors |
Convert Menu -- Input and ASCII Output | |
AutoRename | Automatically change clashing cell names when reading |
NoAskOverwrite | Suppress prompting for overwrite instructions |
NoOverwritePhys | Don't overwrite phys memory cells when reading |
NoOverwriteElec | Don't overwrite elec memory cells when reading |
MergeInput | Merge boxes and coincident objects when reading |
NoPolyCheck | Skip polygon reentrancy tests when reading |
NoCoincCheck | Skip coincident object tests when reading |
NoCheckEmpties | Skip checking for empty symbols while reading |
NoReadLabels | Ignore text labels when reading physical cell data |
LayerList | Layer list for conversion input filtering |
UseLayerList | How to use layer list, skip or use only |
UseLayerAlias | Map layers using layer alias table |
InToLower | Map lower case cell names to upper in archive read |
InToUpper | Map upper case cell names to lower in archive read |
InUseAlias | Use alias file when reading archive |
InCellNamePrefix | Cell name translation prefix for archive read |
InCellNameSuffix | Cell name translation suffix for archive read |
NoMapDatatypes | New layers take all datatypes in GDSII read |
CifLayerMode | CIF layer resolution method, 0-2 |
SkeletonMode | Use skeleton mode reading archive files |
SkelSaveNum | Skeleton mode save geometry threshold |
NumToTxtCells | When converting to text, stop after this many cells |
OasReadNoChecksum | Ignore checksum in OASIS input file |
OasPrintNoWrap | Use one line per record in OASIS ascii output |
OasPrintOffset | Add file offsets to OASIS ascii output |
Convert Menu -- Output | |
StripForExport | Strip all format extensions from output file |
SkipInvisible | Do not write invisible layers to output |
KeepBadArchive | Don't delete failed conversion output archive file |
OutToLower | Map lower case cell names to upper in archive write |
OutToUpper | Map upper case cell names to lower in archive write |
OutUseAlias | Use alias file when writing archive |
OutCellNamePrefix | Cell name translation prefix for archive write |
OutCellNameSuffix | Cell name translation suffix for archive write |
CifOutStyle | CIF output dialect and extensions specifier |
CifAddBBox | Add bounding box comment to objects in CIF output |
CifOldWire | Output old wire style syntax for backward compatibility |
GdsOutLevel | GDSII release level conformance code (0-2) |
GdsMunit | Modify M-UNITS value in GDSII output file |
NoGdsMapOk | Ignore unmapped layers in GDSII/OASIS output |
OasWriteCompressed | Compress records in OASIS output |
OasWriteNameTab | Use string table referencing in OASIS output |
OasWriteRep | Try to combine similar objects in OASIS output |
OasWriteChecksum | Compute and add checksum to OASIS output |
OasWriteNoTrapezoids | Don't convert polys to trapezoids |
OasWriteWireToBox | Convert wires to boxes when possible |
OasWriteNoGCDcheck | Don't look for common divisors in repetitions |
Extract Menu Commands | |
EraseBehindTerms | Erase behind physical mode terminals marks |
TermTextSize | Pixel height of text used in terminal marks |
TermMarkSize | Pixel width of cross used for terminal marks |
LayerSearchUp | Iterate layers bottom to top in paths command |
ExtractOpaque | Ignore the OPAQUE flag in extraction |
FlattenPrefix | Cell name prefix to flatten in extraction |
GroundPlaneGlobal | Ground all pieces of clear-field ground plane |
GroundPlaneMulti | Handle nets in dark-field ground plane |
GroundPlaneMethod | Set ground plane inversion method 0-2 |
NoMergeParallel | Never merge parallel devices |
NoMergeSeries | Never merge series devices |
NoMeasure | Suppress measuring parameters of devices |
QpathGroundPlane | Quick Paths, use of inverted ground plane, 0-2 |
NoEnet | Don't print net, enet command |
EnetSpice | Do include SPICE listing, enet command |
EnetBottomUp | Use leaf-to-root ordering in electrical netlist |
NoPnet | Don't print extracted net list, pnet command |
NoPnetDevs | Don't print extracted device list, pnet command |
NoPnetSpice | Don't print extracted SPICE list, pnet command |
PnetBottomUp | Use leaf-to-root ordering in physical netlist |
PnetShowGeometry | Include wire geometry in netlist file, pnet command |
PnetIncludeWireCap | Include routing caps in SPICE netlist, pnet command |
PnetListAll | List ignored and flattened subcells, pnet command |
SourceAllDevs | Update internal-named devices in sourc command |
SourceCreate | Create devices in sourc command even if not empty |
SourceClear | Clear cell before updating with sourc command |
NoExsetAllDevs | Don't use internal-named devices in exset command |
NoExsetCreate | Don't create devices in exset command |
ExsetClear | Clear cells before updating in exset command |
ExsetIncludeWireCap | Include routing capacitance in exset command |
NoPermute | Skip permutation search in association |
RLSolverDelta | Overriding grid spacing for resistance/inductance extraction |
RLSolverTryTile | Attempt to use tiling grid for resistance/inductance extraction |
RLSolverGridPoints | Grid points per device when not tiling |
RLSolverMaxPoints | Maximum grid points per device when tiling |
FastCap/FastHenry Interface | |
FxMinRectSize | Minimum rectangle dimension for Manhattanization |
FxPlaneBloat | Overhang of interface planes and dark-field conductors |
FxUnits | FastCap/FastHenry file units: m, cm, mm, um, in, mils |
FxForeg | FastCap/FastHenry run in foreground if set |
FcPartMax | Maximum FastCap top/bottom panel dimension |
FcEdgeMax | Maximum FastCap edge panel dimension |
FcThinEdge | FastCap outside edge panel width |
FcPath | FastCap executable directory path |
FcArgs | FastCap command line arguments |
FhPath | FastHenry executable directory path |
FhArgs | FastHenry command line arguments |
FhFreq | FastHenry frequency specification |
Help System | |
HelpMultiWin | Use separate windows for help references |
NoHelpDefault | Suppress default help window |
There are a few more variables listed in the table below. These allow setting the colors used peripherally in certain pop-ups and elsewhere. The value is the name of a color.
Variable | Default | Use |
---|---|---|
pop_color_no | red | Merge Control, Empties, Modified Cells |
pop_color_yes | darkgreen | Merge Control, Empties, Modified Cells |
pop_color_hl1 | red | Debugger, Keys Pressed "INSERT", DRC Rules |
pop_color_hl2 | darkblue | Modified Cells, Properties |
pop_color_hl3 | darkviolet | Modified Cells |
pop_color_hl4 | sienna | DRC Rules, Extract Param, Convert Param, Properties, Cell Properties |
pop_color_dvbg | gray90 | Pictorial device menu background |
pop_color_dvfg | black | Pictorial device menu foreground |
pop_color_dvhl | blue | Pictorial device menu highlight |
pop_color_dvsl | gray80 | Pictorial device menu selection |