next up previous contents index
Next: FastCap/FastHenry Interface Up: Xic Variables Previous: Custom Property Filtering   Contents   Index


Extraction Menu Commands

The !set keywords below affect the commands found in the Extract Menu.

EraseBehindTerms
Value: boolean or ``all''.
If set, the area inside the bounding box of terminals made visible by the Show Terminals command is erased, to promote visibility of the text. If set to ``all'', all terminals are erased behind, otherwise only the cell's formal terminals are erased behind.

This tracks the setting of the Erase behind physical terminals menu in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

TermTextSize
Value: integer 6-48.
This variable can be used to set the height, in pixels, of the text used in rendering terminals and cell labels in electrical mode. If not set, the default is 14.

This tracks the setting of the Terminal text pixel size entry in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

TermMarkSize
Value: integer 6-48.
This variable can be used to reset the pixel size of the cross used as a terminal mark. If not set, the default is 10.

This tracks the setting of the Terminal mark size entry in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

ExtractOpaque
Value: boolean.
When set, Xic will ignore the OPAQUE flag and perform extraction normally on cells with this flag set. The OPAQUE flag would otherwise suppress extraction on the contents of the cell. This flag is set in the Flags property of physical cells.

This tracks the setting of the Extract opaque cells, ignore OPAQUE flag check box in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

FlattenPrefix
Value: string.
This variable can be set to a string containing a space-separated list of words. The words are intended to match cell names or classes of cell names. Cells with names that match are not treated as individual cells extraction, instead they are treated as if instantiations are part of the containing cell, i.e., they are logically flattened. This applies to physical cells only, and such cells will have no recognized electrical counterpart.

Note: it is probably more convenient to set the Flatten property of physical cells that should be flattened into their parent during extraction. Setting this property with the Cell Property Editor will have the same effect as including the cell in the FlattenPrefix list, but is persistent when the cell is saved.

In the words, the forward slash character (`/') is special, and is used to indicate the type of matching. A word in the form ``name[/]'', where the trailing slash is optional, indicates prefix matching. Cell names whose leading characters match name will match. A word in the form ``/name'' indicates suffix matching, where if the trailing characters of a cell name match name, a match is indicated. Finally, a word in the form ``/name/'' implies a literal match. Only the cell name given in name will match.

This tracks the setting of the Cell flattening name keys entry in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

Note: in Xic releases prior to 3.1.8, this variable could be set to a single word only, and prefix matching was always employed. In releases of Xic prior to 2.5.19, this variable was named ``PnetFlattenPrefix''.

GroundPlaneGlobal
Value: boolean.
When set, every object in every cell on a clear-field ground plane layer is assigned to group 0. If not set, only the largest area group on this layer, in the top-level cell, is assigned to group 0.

This tracks the setting of the Assum clear-field ground plane is global check box in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

GroundPlaneMulti
Value: boolean.
When set, a layer specified as GroundPlaneClear in the technology file will be inverted, and the inverted version used for grouping and extraction. The MultiNet keyword which optionally follows GroundPlaneClear in the technology file effectively sets this variable. If this variable is unset, then no inversion takes place, and the absence of the GroundPlaneClear layer is taken to indicate ground (group 0). This variable has no effect unless a GroundPlaneClear layer exists.
Note: This replaces the HandleTermDefault variable which existed in earlier Xic releases.

This tracks the setting of the Invert dark-field ground plane for multi-nets check box in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

GroundPlaneMethod
Value: integer 0-2.
This sets the method used to invert the ground plane for grouping and extraction, if the MultiNet keyword has been applied to a GroundPlaneClear layer in the technology file. The possible values are integers 0-2, which have the same meaning as the integer that optionally follows MultiNet in the technology file (see 13.1.2).

This tracks the setting of the inversion method menu in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

KeepShortedDevs
Value: boolean.
By default, if an extracted device is found to have all terminals shorted together at the time the device is recognized, the device will be ignored. This will help reject spurious devices from test structures, etc.

If the KeepShortedDevs variable is set, then these devices will be kept (as in pre-2.5.69 releases). This flag may be needed for LVS to pass, if the schematic contains the shorted devices.

This tracks the setting of the Keep devices with terminals shorted check box in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

LvsFailNoConnect
Value: boolean.
During LVS analysis, the electrical (schematic) part of the design is used as the basis for recursion through the hierarchy. Thus, physical subcells that have no connection to the circuit will not be detected, and are basically ignored. However, an explicit test is performed for such cells, and those found will be listed in the LVS report. If this variable is set, the presence of such cells will force LVS failure, otherwise they are ignored for comparison purposes.

This variable tracks the state of the fail if unconnected physical subcells check box in the panel brought up by the Dump LVS button in the Extract Menu.

NoPermute
Value: boolean.
When this variable is set, the association algorithm will not attempt to iterate through the combinations when searching for a solution. Many circuits do not require a permutation search, however some circuits, and in particular circuits where the wiring is incomplete, may require a lot of time for the permutation search. Of course, if a permutation search is needed and not performed, LVS will fail. This variable is mostly for debugging, or for cases where association is not needed.

Permutes are also skipped if a device or subcircuit is found that can not possibly be associated.

This tracks the setting of the Skip device terminal permutations in association check box in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

NoMergeParallel
Value: boolean.
Setting this variable suppresses merging of parallel-connected devices during extraction. This applies to all devices, and supersedes the Merge directive in the device blocks or the technology file.

This tracks the setting of the Don't merge parallel devices check box in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

NoMergeSeries
Value: boolean.
Setting this variable suppresses merging of series-connected devices during extraction. This applies to all devices, and supersedes the Merge directive in the device blocks of the technology file.

This tracks the setting of the Don't merge series devices check box in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

NoMeasure
Value: boolean.
This turns off the extraction of parametric data for devices in the extraction system. This is mainly for debugging, but may save time if the user is interested in topology only. The measurements can be time consuming.

This tracks the setting of the Skip device parameter measurement check box in the Misc. Extraction Settings panel from the Misc Config button in the Extract Menu.

QpathGroundPlane
Value: integer 0-2.
This variable controls how the "Quick" Path command in the extraction Path Selection Control panel uses the inverted ground plane. Normally, during extraction, if the GroundPlaneClear keyword has been given, an inverted ground plane is created on a temporary layer for internal use. Since the "Quick" Path mode operates outside of the extraction system, the inverted ground plane may or may not be available. The choices are:

0
Use the inverted ground plane if available. This is the default. If an inverted ground plane has already been created and is current, it will be used when determining paths. If the ground plane does not have a current inversion, the absence of the layer will imply a ground contact, as in extraction without the MultiNet keyword. This choice avoids the sometimes lengthly inversion computation, but makes use of the inversion if it has already been done.

1
Create the inverted ground plane if necessary, and use it. If the extraction system would use an inverted ground plane, it will be created if not already present and current. The path selection will include the inverted layer.

2
The "Quick" Path mode will never use the inverted ground plane.

This variable tracks the state of the "Quick" Path ground plane handling menu in the Path Selection Control panel.

NoEnet
Value: boolean.
If set, the netlist is skipped when writing output in the Dump Elec Netlist command. This variable corresponds to the net check box available in that command, with inverse logic.

EnetSpice
Value: boolean.
If set, SPICE output is included in the file produced from the Dump Elec Netlist command. This variable corresponds to the spice check box available in that command.

EnetBottomUp
Value: boolean.
When set, the electrical netlist file (produced by the Dump Elec Netlist command) order will be leaf-to-root, i.e., subcells will be listed first. If not set, the reverse order is used.

NoPnet
Value: boolean.
If set, the extracted netlist listing is skipped in output from the Dump Phys Netlist command. This variable corresponds to the net check box available in that command, with inverse logic.

NoPnetDevs
Value: boolean.
If set, the extracted device listing is skipped in output from the Dump Phys Netlist command. This variable corresponds to the devs check box available in that command, with inverse logic.

NoPnetSpice
Value: boolean.
If set, the SPICE listing of extracted devices is skipped in output from the Dump Phys Netlist command. This variable corresponds to the spice check box available in that command, with inverse logic.

PnetBottomUp
Value: boolean.
When set, the physical netlist file (produced by the Dump Phys Netlist command) order will be leaf-to-root, i.e., subcells will be listed first. If not set, the reverse order is used.

PnetShowGeometry
Value: boolean.
If set, the net field (if activated) in the file produced from the Dump Phys Netlist command will include a listing of the objects that comprise the wire net. The listing is in modified CIF syntax where 1000 units per micron is used. This variable corresponds to the show geometry check box available in that command.

PnetIncludeWireCap
Value: boolean.
If set, the spice field (if activated) in the file produced from the Dump Phys Netlist command will include capacitors representing the computed wire net capacitance to ground. The Routing layers must have the Capacitance keyword applied in the technology file. The added capacitors have a special prefix ``C@NET'' which allows them to be subsequently recognized as wire net capacitors by Xic. This variable corresponds to the include wire cap check box available in that command.

PnetListAll
Value: boolean.
In files produced with the Dump Phys Netlist command, references to subcells that are flattened or wire-only are normally not listed. If this variable is set, these cells are included in the listing, which may be useful for debugging. This variable corresponds to the include all devs check box available in that command.

PnetNoLabels
Value: boolean.
From some tools, cell terminals may be indicated by the presence of a label on a ROUTING layer, positioned such that the label reference point touches an object on the same layer. Such labels, if found, will be used to generate a terminal list for the top-level cell in the extracted hierarchy, if the existing electrical cell contains no terminals (or the electrical cell doesn't exist). If this variable is set, these labels will be ignored by default when generating a netlist from a physical layout.

SourceAllDevs
Value: boolean.
In the Source SPICE command, ordinarily only devices which have fixed (user-specified) device names will have properties updated. This is to avoid errors, since the internally generated names can change, and may not match those in the SPICE file. If this variable is set, the default action is to update all devices. This variable corresponds to the all devs check box available in that command.

SourceCreate
Value: boolean.
In the Source SPICE command, if this variable is set, the default action is to create missing devices. Otherwise, device parameters may be updated, but no new devices are created. This variable corresponds to the create check box available in that command.

SourceClear
Value: boolean.
In the Source SPICE command, if this variable is set the default action is to discard the existing contents of the electrical part of the cell before updating. This variable corresponds to the clear check box available in that command.

SourceGndDevName
Value: string.
This variable specifies the name of the ground terminal device to use when devices are created and placed in the Source SPICE and (consequently) the Source Physical extraction commands. If not set, the name ``gnd'' will be assumed. If this variable is set to a name, a ground device of that name must appear in the device library file.

SourceTermDevName
Value: string.
This variable specifies the name of the terminal device to use when devices are created and placed in the Source SPICE and (consequently) the Source Physical extraction commands. If not set, the name ``tbar'' will be assumed, if that name is found for a terminal device in the device library. If not found, the name ``vcc'' will be assumed. If this variable is set to a name, that name must match the name of a terminal device in the device library file.

NoExsetAllDevs
Value: boolean.
In the Source Physical command, if this variable is set, only devices that have a permanent (user-supplied) name will be updated. If not set, all devices will be updated. This variable corresponds to the all devs check box available in that command, with inverse logic.

NoExsetCreate
Value: boolean.
The default behavior of the Source Physical command is to create missing devices. Setting this variable will change the default action to no device creation. This variable corresponds to the create check box available in that command, with inverse logic.

ExsetClear
Value: boolean.
When set, the electrical cells are cleared before updating with the Source Physical command. This implies create, i.e., new devices will be created since the cell is empty. This variable corresponds to the clear check box available in that command.

ExsetIncludeWireCap
Value: boolean.
When set, computed routing capacitors will be updated or created in the electrical database when using the Source Physical command. These capacitors have a name prefix of ``C@NET''. This variable corresponds to the include wire cap check box available in that command.

ExsetNoLabels
Value: boolean.
From some tools, cell terminals may be indicated by the presence of a label on a ROUTING layer, positioned such that the label reference point touches an object on the same layer. Such labels, if found, will be used to generate a terminal list for the top-level cell in the extracted hierarchy, if the existing electrical cell contains no terminals (or the electrical cell doesn't exist). If this variable is set, these labels will be ignored by default when extracting electrical data from physical layouts.

PathFileVias
Value: boolean or string.
This variable determines whether and how vias are included in the files produced with the Save path to file button in the Path Selection Control panel from the Net Selections button in the Extract Menu. It tracks (and sets) the state of the Path file contains vias and Path file contains check layers check boxes in the panel.

If not set, via layers will not be included in the file, only the conductors will appear. If set as a boolean (i.e., to no value), the via layers will be included, but not the check layers. If set to any text, the check layers will also be included.

RLSolverDelta
Value: floating point > = 0.01.
It this value is set, the resistance/inductance extractor will assume this grid spacing, in microns. The number of grid cells enclosed in the device will increase for physically larger devices, so that larger devices will take longer to extract. If this variable is set, the other RLSolver variables are ignored. Setting this variable may be appropriate if all resistors are ``small'' and dimensions conform to a layout grid.

This tracks the setting of the Set/use fixed grid size entry in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

RLSolverTryTile
Value: boolean.
If set, the extractor will attempt to use a grid that will fall on every edge of the device body and contacts. The device and contact areas must be Manhattan for this to work. If such a grid can be found, and the number of grid cells is a reasonable number, this will give the most accurate result.

This tracks the setting of the Try to tile check box in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

RLSolverGridPoints
Value: integer 10-100000.
When not tiling (RLSolverTryTile is not set), this sets the number of grid points used for resistance/inductance extraction. This number will be the same for all device structures, so that computation time per device is nearly constant. Higher numbers give better accuracy but take longer. The value used if not set is 1000.

This tracks the setting of the Set fixed per-device grid cell count entry in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.

RLSolverMaxPoints
Value: integer 1000-100000.
When tiling (RLSolverTryTile is set), the maximum number of grid cells is limited to this value. If the tile is too small, it will be increased in size to keep the count below this value, in which case the tiling will not have succeeded so there may be a small loss of accuracy. Using a large number of grid points can take a long time. The value used if not set is 50,000.

This tracks the setting of the Maximum tile count per device entry in the Device Extraction Settings panel, which is obtained from the Settings button in the Show/Select Devices panel from the Device Selections button in the Extract Menu.


next up previous contents index
Next: FastCap/FastHenry Interface Up: Xic Variables Previous: Custom Property Filtering   Contents   Index
Stephen R. Whiteley 2012-04-01