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 |
Startup | |
DatabaseResolution | Set internal units |
---|---|
NetNamesCaseSens | Net names are case-sensitive |
Subscripting | Set net name subscripting character |
DrfDebug | Report undefined layer attribute names |
Paths and Directories | |
Path | Design data file search path |
LibPath | Startup file and library search path |
HelpPath | Help file search path |
ScriptPath | Script file search path |
NoReadExclusive | Don't move stripped path to front of search path |
AddToBack | Add stripped path to back of search path |
DocsDir | Directory containing release documentation |
ProgramRoot | Set to the program's installation directory |
TeePrompt | Copy messages to given filename or ``stdout'' |
General Visual | |
MouseWheel | Set mouse wheel rate parameters |
ListPageEntries | Maximum entries per page in list pop-ups |
NoInstnameLables | Don't use instance names in unexpanded instances |
NoLocalImage | Don't compose images locally |
NoPixmapStore | Don't use screen backing memory |
NoDisplayCache | Don't use multi-object rendering for boxes |
LowerWinOffset | Pixel spacing of pop-up windows above prompt line |
PhysGridOrigin | Set the origin of the grid displayed in physical mode |
ScreenCoords | Show window pixel coordinates |
PixelDelta | Cursor selection proximity is screen pixels |
NoPhysRedraw | When set, don't redraw physical windows after layer visibility change |
NoToTop | Don't move obscured windows to top |
`!' Commands | |
Shell | Path to shell used for external commands |
OpenAccess Interface | |
OaLibraryPath | Set location for hidden libraries |
OaDefLibrary | Default library name |
OaDefTechLibrary | Default technology attachment library |
OaDefLayoutView | Default layout view name |
OaDefSchematicView | Default schematic view name |
OaDefSymbolView | Default symbol view name |
OaDefDevPropView | Default device property view name |
OaDmSystem | Set design management system |
OaDumpCdfFiles | Dump CDF data to a file |
OaUseOnly | Restrict to physical/electrical data |
Parameterized Cells | |
PCellAbutMode | Control pcell auto-abutment |
PCellHideGrips | Hide stretch handles if set |
PCellGripInstSize | Instance size threshold for stretch handles |
PCellKeepSubMasters | Include pcell sub-masters in file output |
PCellListSubMasters | Include pcell sub-masters in modified cells list |
PCellScriptPath | Search path for pcell scripts |
PCellShowAllWarnings | Show warnings during pcell evaluation |
Standard Vias | |
ViaKeepSubMasters | Include standard via sub-masters in file output |
ViaListSubMasters | Include standard via sub-masters in modified cells list |
Scripts | |
LogIsLog10 | The log function returns base-10 when set |
Selections | |
MarkInstanceOrigin | Show origin of selected instances |
MarkObjectCentroid | Show centroids of selected physical objects |
SelectTime | Set delay (msec) to activate move |
NoAltSelection | Use legacy click-selection logic |
MaxBlinkingObjects | Maximum number of objects shown blinking |
Side Menu Commands | |
MasterMenuLength | Maximum masters in Cell Placement Control menu |
DevMenuStyle | Set presentation style of device menu |
LabelDefHeight | Default text label height in microns |
LabelMaxLen | Max length of displayed label string |
LabelMaxLines | Max lines of displayed label string |
LabelHiddenMode | Set scope for hidden labels |
LogoEndStyle | End style for logos: 0 flush, 1 round, 2 extend |
LogoPathWidth | Path width for logos, 1 - 5 |
LogoAltFont | Specify alternate font for logos |
LogoPrettyFont | Name of system font to use for logos |
LogoPixelSize | Specify the ``pixel'' size for logos |
LogoToFile | Create subcell for logos |
NoConstrainRound | No DRC constraints creating round objects |
RoundFlashSides | Number of sides to use in physical round objects |
ElecRoundFlashSides | Number of sides to use in electrical round objects |
SpotSize | Set mask resolution |
SPICE Interface | |
SpiceListAll | Include unconnected devices in Spice output |
SpiceAlias | Device key aliases for Spice output |
SpiceHost | Name of WRspice server |
SpiceHostDisplay | X display string to use on remote host |
SpiceInclude | Add include file to SPICE netlist |
SpiceProg | Path name of WRspice executable, supersedes below |
SpiceExecDir | Directory containing WRspice executable |
SpiceExecName | Name of WRspice executable |
SpiceSubcCatchar | Character used by WRspice in subcircuit expansion |
SpiceSubcCatmode | Mode for WRspice subcircuit expansion |
CheckSolitary | Report unconnected terminals in netlist |
NoSpiceTools | Do not show WRspice toolbar |
File Menu - Printing | |
NoAskFileAction | Don't ask before file actions in File Selection pop-up |
DefaultPrintCmd | Default print command (printer name in Windows) |
NoDriverLabels | Don't use driver text for hard copy labels |
RmTempFileMinutes | Set up temporary file removal |
Cell Menu Commands | |
ContextDarkPcnt | Control illumination of context in Push command |
Editing General | |
AskSaveNative | Prompt to save modified native cell when editing new cell |
Constrain45 | Constrain polygon and wire angles to 45-degree multiples |
NoMergeObjects | Suppress merging new boxes, polygons |
NoMergePolys | Clip/merge boxes only when merging |
NoFixRot45 | Don't ``fix'' vertex locations after non-Manhattan rotation |
Edit/Modify Menu Commands | |
UndoListLength | Number of operations saved in the undo list |
MaxGhostDepth | Maximum subcell expansion depth in ghosting |
MaxGhostObjects | Maximum number of objects shown in ghosting |
NoWireWidthMag | Don't change the width of magnified wires |
CrCellOverwrite | Allow Create Cell to overwrite memory cells |
LayerChangeMode | Specify layer change during move/copy |
JoinMaxPolyVerts | Upper bound of vertices in polygons from join (def. 600) |
JoinMaxPolyGroup | Limit number trapezoids per poly in join (def. 300) |
JoinMaxPolyQueue | Limit number trapezoids to form polys in join (def. 1000) |
JoinBreakClean | Manhattan split polygons with too many vertices |
JoinSplitWires | Include wires in join/split operations |
PartitionSize | Partition grid size in microns for layer operations |
Threads | Number of helper threads to employ |
View Menu Commands | |
InfoInternal | Use internal coordinates in info windows |
PeekSleepMsec | Per-layer delay in peek command, milliseconds |
LockMode | Don't allow physical/electrical mode change |
XSectNoAutoY | Disable cross-section automatic Y scaling |
XSectYScale | Set cross-section Y scale factor |
Attributes Menu Commands | |
TechNoPrintPatMap | Use hex format for stipple maps when writing tech file |
TechPrintDefaults | Set printing of default values in tech file update |
BoxLineStyle | Line style mask for highlighting box |
EraseBehindProps | Erase behind phys properties in props command |
PhysPropTextSize | Pixel text height used in props command |
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 |
ShowDots | Control electrical connections display |
FullWinCursor | Enable full-window cursor |
CellThreshold | Min size in pixels of displayed subcell, integer > = 0 |
GridNoCoarseOnly | Don't show coarse grid without fine grid |
GridThreshold | Minimum visible grid spacing pixels |
Convert Menu - General | |
ChdFailOnUnresolved | Halt CHD operation if unresolved cell |
ChdCmpThreshold | Set CHD compression block size threshold |
MultiMapOk | Allow non-1-1 mapping of Xic layers and GDSII layer/datatypes |
NoPopUpLog | Don't pop up log file if warnings or errors |
UnknownGdsLayerBase | Base number for generated GDSII layers |
UnknownGdsDatatype | Datatype for generated GDSII layers |
NoStrictCellnames | Allow white space in cell names |
NoFlattenStdVias | Keep standard via instances when flattening |
NoFlattenPCells | Keep parameterized cell instances when flattening |
NoFlattenLabels | Ignore labels in subcells when flattening |
NoReadLabels | Ignore text labels when reading physical cell data |
KeepBadArchive | Don't delete failed conversion output archive file |
Convert Menu - Input and ASCII Output | |
ChdLoadTopOnly | Load requested cell from CHD only, create reference |
ChdRandomGzip | Use random-access table for gzipped files |
AutoRename | Automatically change clashing cell names when reading |
NoCreateLayer | Don't create new layers when reading |
NoMapDatatypes | New layers take all datatypes in GDSII read |
NoAskOverwrite | Suppress prompting for overwrite instructions |
NoOverwritePhys | Don't overwrite phys memory cells when reading |
NoOverwriteElec | Don't overwrite elec memory cells when reading |
NoOverwriteLibCells | Don't overwrite library cells when reading |
NoCheckEmpties | Skip checking for empty cells while reading |
NoPolyCheck | Skip polygon reentrancy tests when reading |
DupCheckMode | Check for duplicate items when reading |
EvalOaPCells | Attempt to create sub-master for OpenAccess pcell instances |
NoEvalNativePCells | Don't attempt to create sub-master for native pcell instances |
MergeInput | Merge boxes and coincident objects when reading |
LayerList | Layer list for conversion input filtering |
UseLayerList | How to use layer list, skip or use only |
LayerAlias | List of name=alias pairs |
UseLayerAlias | Map layers using layer alias list |
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 |
CifLayerMode | CIF layer resolution method, 0-2 |
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 |
WriteMacroProps | Include deprecated macro properties in output |
KeepLibMasters | Write library cells when creating archive file |
SkipInvisible | Do not write invisible layers to output |
NoCompressContext | Don't compress instance lists in archive context |
RefCellAutoRename | Use auto-rename when writing reference cell data |
UseCellTab | Enable use of the cell override table in CHD access |
SkipOverrideCells | Skip cells in override table in CHD access |
OutAllCells | Output all cells in symbol table, not only current |
Out32nodes | Use old 3.2 node property syntax in output |
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 |
CifOutExtensions | CIF output extension flags |
CifAddBBox | Add bounding box comment to objects in CIF output |
GdsOutLevel | GDSII release level conformance code (0-2) |
GdsMunit | Modify M-UNITS value in GDSII output file |
GdsTruncateLongStrings | Cut strings too long for record |
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 |
OasWriteRndWireToPoly | Convert rounded-end wires to polygons |
OasWriteNoGCDcheck | Don't look for common divisors in repetitions |
OasWriteUseFastSort | Use faster but less effective sorting |
OasWritePrptyMask | Don't write certain properties |
Custom Property Filtering | |
PhysPrpFltCell | Physical cell property filter string |
PhysPrpFltInst | Physical instance property filter string |
PhysPrpFltObj | Physical object property filter string |
ElecPrpFltCell | Electrical cell property filter string |
ElecPrpFltInst | Electrical instance property filter string |
ElecPrpFltObj | Electrical object property filter string |
Design Rule Checking | |
Drc | Enable interactive rule checking |
DrcNoPopup | Suppress violation reporting pop-up |
DrcLevel | Set violation reporting level |
DrcMaxErrors | Quit testing when this many violations found |
DrcInterMaxObjs | Maximum number of objects to test interactively |
DrcInterMaxTime | Maximum milliseconds for interactive test |
DrcInterMaxErrors | Maximum violation count for interactive test |
DrcInterSkipInst | Skip expensive instance check in interactive test |
DrcChdName | Name of CHD for batch test |
DrcChdCell | Name of top cell in CHD to test |
DrcLayerList | List of layer names for filtering |
DrcUseLayerList | Use only or skip layers in list |
DrcRuleList | List of rule names for filtering |
DrcUseRuleList | Use only or skip rule in list |
DrcPartitionSize | Partition grid size in microns |
Extraction Tech | |
AntennaTotal | Default input for !antenna command |
Db3ZoidLimit | Trapezoid limit for the 3-D database |
LayerReorderMode | Default layer sequencing option |
NoPlanarize | When set, no layers are assumed planarizing |
SubstrateEps | Relative dielectric constant of substrate |
SubstrateThickness | Assumed thickness of substrate in microns |
Extraction General | |
ExtractOpaque | Ignore the OPAQUE flag in extraction |
FlattenPrefix | Cell name prefix to flatten in extraction |
GlobalExclude | Layer expression to exclude objects during 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 |
KeepSortedDevs | Include devices with terminals shorted |
MaxAssocLoops | Maximum loop count for association |
MaxAssocIters | Maximum iteration count for association |
NoMeasure | Suppress measuring parameters of devices |
UseMeasurePrpty | Read and update cached measurement results property |
NoReadMeasurePrpty | Don't read cached measurement results from property |
NoMergeParallel | Never merge parallel devices |
NoMergeSeries | Never merge series devices |
NoMergeShorted | Never merge devices with all terminals shorted |
IgnoreNetLabels | Ignore labels found in nets |
UpdateNetLabels | Create or update net labels after association |
FindOldTermLabels | Search for old-style ``term labels'' |
MergeMatchingNamed | Merge nets with the same logical net name |
MergePhysContacts | Merge contacts for split-net handling |
NoPermute | Skip permutation search in association |
PinLayer | Name of layer for net labels |
PinPurpose | Name of purpose for net labels |
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 |
SubcPermutationFix | Apply post-association permutation fix |
VerbosePromptline | Print info on prompt line during extraction |
ViaCheckBtwnSubs | Check connectivity between subcircuit nets by via |
ViaSearchDepth | Cell hierarchy depth to search for vias |
ViaConvex | Assume all vias are convex polygons |
Extract Menu Commands | |
QpathGroundPlane | "Quick" Path, use of inverted ground plane, 0-2 |
QpathUseConductor | "Quick" Path, allow Conductor objects in net |
EnetNet | Print net, enet command |
EnetSpice | Do include SPICE listing, enet command |
EnetBottomUp | Use leaf-to-root ordering in electrical netlist |
PnetNet | Print extracted net list, pnet command |
PnetDevs | Print extracted device list, pnet command |
PnetSpice | 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 |
PnetNoLabels | No net names from labels in pnet command output |
PnetVerbose | Print more information in pnet command output |
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 |
SourceGndDevName | Name of ground device used with sourc command |
SourceTermDevName | Name of terminal device used 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 |
ExsetNoLabels | No net names from labels in exset command output |
LvsFailNoConnect | Force LVS failure if unconnected physical instance |
PathFileVias | Include vias in wire net files |
Capacitance Extraction Interface | |
FcArgs | Capacitance extractor command line arguments |
FcForeg | Run capacitance extractor in foreground if set |
FcLayerName | Capacitance extractor masking layer name |
FcMonitor | Capacitance extractor output appears in console window if set |
FcPlaneTarget | Refined element count target |
FcPath | Path to capacitance extractor executable |
FcPlaneBloat | Capacitance extractor substrate bloat dimension |
FcUnits | Capacitance extractor file units: m, cm, mm, um, in, mils |
Inductance/Resistance Extraction Interface | |
FhArgs | FastHenry command line arguments |
FhDefaults | Text for .DEFAULT line in FastHenry input |
FhDefNhinc | Default for nhinc in FastHenry input |
FhDefRh | Default for rh in FastHenry input |
FhForeg | FastHenry run in foreground if set |
FhFreq | FastHenry frequency specification |
FhLayerName | FastHenry interface masking layer name |
FhManhGridCnt | Manhattanization grid cell count |
FhMonitor | FastHenry output appears in console window if set |
FhOverride | Override nhinc, rh in FastHenry input |
FhPath | Path to FastHenry executable |
FhUnits | FastHenry file units: m, cm, mm, um, in, mils |
FhUseFilament | Use FastHenry filaments |
FhVolElMin | FastHenry volume element minimum size factor |
FhVolElTarget | FastHenry volume element count target |
FhVolEnable | Enable segment refinement. |
Help System | |
HelpDefaultTopic | Suppress or set the default help topic |
HelpMultiWin | Use separate windows for help references |