next up previous contents index
Next: Help System Up: Xic Variables Previous: Capacitance Extraction Interface   Contents   Index


Inductance/Resistance Extraction Interface

The following variables apply to the inductance/resistance extraction (FastHenry interface). Most of these are associated with entry fields in the LR Extraction panel, which is brought up with the Extract LR button in the Extract Menu.

FhArgs
Value: string.
This value can be set to a string, which will be included in the argument list when FastHenry is initiated with the Run FastHenry button in the LR Extraction panel Run page. The variable is most conveniently manipulated with the text entry field in the LR Extraction panel Run page.

FhDefaults
Value: string.
If set to a string, the value will be used in a .DEFAULT line in the FastHenry input file created by the interface. The variable is most conveniently manipulated with the text entry field in the LR Extraction panel Run page. See the FastHenry documentation describing the syntax and options for the applicable text.

FhDefNhinc
Value: integer 1 - 20.
Provide a default value for the nhinc parameter as used by FastHenry. This is overridden by values specified with the FH_nhinc technology keyword for layers, unless the FhOverride variable is set, in which case the this variable has precedence. This tracks the FhDefNhinc entry in the Params page of the LR Extraction panel.

FhDefRh
Value: real 0.5 - 4.0.
Provide a default value for the rh parameter as used by FastHenry. This is overridden by values specified with the FH_rh technology keyword for layers, unless the FhOverride variable is set, in which case the this variable has precedence. This tracks the FhDefRh entry in the Params page of the LR Extraction panel.

FhForeg
Value: boolean.
If this variable is set, then the Run FastHenry button in the LR Extraction panel Run page will initiate a FastHenry run in the foreground. If not set, jobs are run in the background, so that the user can continue using Xic while the run is in progress.

It is not clear why there would be any reason to run in the foreground, except possibly for debugging.

This variable controls, and is controlled by, the setting of the Run in foreground check box in the Run page of the LR Extraction panel from the Extract Menu.

FhFreq
Value: string.
This variable can be used to specify the evaluation frequencies used for FastHenry, as included in a generated input file, or when initiating a run. The format is the same as is used in the FastHenry input format:
fmin=start_freq fmax=stop_freq [ndec=num]
The frequencies are floating point numbers given in hertz, and the ndec parameter, if given, specifies the number of intermediate frequencies to evaluate. If the third field is not set, evaluation is at the start and stop frequencies only, or at the single frequency if both are the same. If the variable is not set, the evaluation is at a single frequency of one kilohertz. This variable is most conveniently manipulated with the text entry fields in the LR Extraction panel Run page.

FhLayerName
Value: string.
The inductance/resistance extraction interface uses a special layer for masking of objects to be included in the extraction run. By default, this layer is named ``FHRY''. If any shapes exist on this layer in the current cell hierarchy, all objects will be clipped by these shapes before inductance/resistance extraction. If no shapes are found on this layer, then all objects in the current cell hierarchy will be included in extraction.

If this variable is set to the name of an existing layer name in the layer table, that layer will do the clipping.

FhManhGridCnt
Value: real number 1e2-1e5.
When a non-Manhattan polygon is ``Manhattanized'' for FastHenry, it is converted to an approximating Manhattan polygon. This variable can be used to set the minimum rectangle width and height used in the decomposition. This value is given by
sqrt(area_of_interest/FhManhGridCnt)
If not set, a value of 1000 is used. Larger values are more accurate but slow processing, sometimes dramatically. The area_of_interest is the layout area being processed for input to FastHenry.

This variable is most conveniently manipulated with the text input field in the LR Extraction panel Params page.

FhMonitor
Value: boolean.
If the variable is set, then the standard output from the running FastHenry program is printed in the console, in addition to being saved in a file. The console is the shell window from which Xic was started. This allows the user to monitor the run, and abort if something isn't correct.

This will also apply if the program is being run in the foreground, however operation is a bit different. In this case, a ``| tee'' is added to the command string ahead of the output file name. There are two implications: the text will be block buffered, and therefor won't appear in the window immediately, and in Windows, there is no native tee command so that the operation may fail. However, a tee command is provided with the Cygwin tools, and there are other sources. In the normal case of running in the background, output will again be block buffered under Windows, but there is no requirement for a tee command.

This variable mirrors the state of the Out to console check box in the Run page of the LR Extraction panel from the Extract Menu.

FhOverride
Value: boolean.
When set, values of the FhDefNhinc and FhDefRh variables will override values provided by FH_nhinc and FH_rh technology layer parameters to use for nhinc and rh parameters in FastHenry input. This tracks the state of the Override Layer NHINC, RH button in the Params page of the LR Extraction panel.

FhPath
Value: directory path string.
This variable can be set to a full path to the FastHenry executable.

If this is not set, Xic will attempt to use ``/usr/local/bin/fasthenry'' as the FastHenry program (or ``/usr/local/bin/fasthenry.exe'' in Windows). If this executable does not exist, Xic will attempt to find ``fasthenry'' (or ``fasthenry.exe'' in Windows) in the shell search path when running in the foreground, and background runs will fail.

This tracks the setting of the text entry field in the Run page of the LR Extraction panel.

FhUnits
Value: units string.
This variable can be used to specify the length units used in generated FastHenry input files. The variable can be set to a string consisting of one or the abbreviations ``m'' (meters), ``cm'' (centimeters), ``mm'' (millimeters), ``um'' (microns), ``in'' (inches), and ``mils''. The long form word will also be accepted. This variable is most conveniently manipulated with the choice menu found in the LR Extraction panel Params page.

FhUseFillament
Value: units boolean.
If set, FastHenry will decompose segments into filaments according to the given nhinc and rh parameters. If not set, the interface will automatically slice segments according to the same parameters, without further refinement by FastHenry. This tracks the state of the Use FastHenry Internal NHINC, RH button in the Params page of the LR Extraction panel.

FhVolElMin
Value: units real 0 - 1.0, default 0.1.
The minimum rectangle edge length is this factor multiplying the maximum edge length. This tracks the FhVolElMin entry in the Params page of the LR Extraction panel.

FhVolElTarget
Value: real number 1e2 - 1e5, default 1e3.
This controls refinement for FastHenry. The total volume of all conductors is divided by this value, and the cube root taken to provide a length. Volume elements are split so that no edge is longer than this length. The total number of volume elements is approximately the value of this variable. Each volume element contains six segments, connecting the center node to each face node.

FhVolEnable
Value: boolean.
Enable segment refinement. This tracks the state of the Enable button in the Params page of the LR Extraction panel.


next up previous contents index
Next: Help System Up: Xic Variables Previous: Capacitance Extraction Interface   Contents   Index
Stephen R. Whiteley 2022-05-28