The properties described in this section provide user-specified information to device and subcircuit instances, and to device and cell definitions. In many cases, the property applied to a device definition will supply a default for a similar property created in the new instance when the device is instantiated. The instance property can be subsequently modified by the user.
The name property described in the next section, plus the devref, model, value and param properties discussed below, translate into fields of device definition lines when generating SPICE output, and in order to set these properties proficiently, the user must have familiarity with the SPICE syntax.
The strings for these properties may contain special escape sequences indicating hypertext references or other characteristics. These are described in D.4.
5 1 model_name;The model_name is arbitrary, but a corresponding entry should exist in a model library file.
5 2 value;The value is a string which may, for example, represent a floating point number specifying the component value, e.g., in ohms for a resistor. In general, any string can appear, and it may include hypertext references. A complex string would be necessary for a voltage source with functional dependence, for example.
5 3 string;The string will be appended to the device line when a SPICE file is created. It can contain initial condition data or other parameters significant to the device, which are syntactically expected to the right of the model or value.
The parameter definitions in a param property string have the form
name1=value1 name2=value2 ...
There may be white space around the `=' character. The name tokens are parameter names, which are alphanumeric words starting with an alpha character. The value token can not be empty, and must be a single text token. This means that if the value string contains white space, it must be single or double quoted. Be aware that the interpretation of single quoted ('word') and double quoted ("word") differs fundamentally. Double quoting implies a manifest string type. The string will be assigned verbatim to the parameter, which will be of string type. No further processing will be done. Single quoting implies an expression which reduces to a number when evaluated. If a value is not quoted, it will be evaluated as an expression if necessary, otherwise it will be taken as a numeric value. Generally, parameter assignment failures are silently ignored.
5 4 string;
In order to actually simulate a circuit that has been extracted from the physical layout, it is necessary to add sources and perhaps other devices, which have no counterparts in the physical layout. In general, this will cause LVS errors in subsequent LVS runs. The nophys property can be added to the additional devices to avoid these errors.
By ``ignoring'' these devices, the device terminals are considered as open circuits. However, there are times when it would be useful to consider these devices as shorted. For example, suppose that one wishes to include parasitic series inductance in a resistor during simulation. However, this inductance would cause LVS to fail, since the series inductor added to the schematic has no explicit physical counterpart.
It is possible to configure the nophys property to indicate that when the electrical netlist is generated for use by the extraction system, the corresponding devices will be forced such that all terminals connect to the same net, i.e., the terminals are effectively shorted together. Thus, the inductor in the example above, if given this property, would disappear properly during LVS.
The numerical value of the property is 5. The property string is either ``nophys'' or ``shorted''. The latter indicates that the shorting feature is to be used. Xic will always set the property string to one of these values. Devices inherit this property from cell definitions in the device library file. The format is
5 5 nophys; or
5 5 shorted;
Devices with the nophys property applied will be rendered using a different color than other devices.
This is a method for including ``foreign'' subcircuits within the Xic/WRspice framework.
The numerical value of the property is 6. The property string is ``virtual''. Xic will always set the property string to this value. This property applies only to electrical cell definitions (subcircuits). The format is
5 5 virtual;
The property number is 8, and the property string consists of two non-negative integers, the starting and ending values of the subscripting range. The property applies only to non-terminal device instances and subcell instances.
While reading input, if a macro property is read, a window appears reminding the user to set WriteMacroProps if backwards compatibility is needed. The message can be avoided by either of the following:
It is no longer possible to (conveniently) create macro properties in Xic, for example with the Cell Property Editor.
The macro flag (or property) applies to device master cells. When present, its only effect is that in SPICE output, an `X' is prepended to the device name in instantiation lines of the device. Thus, SPICE will treat the device instance as a subcircuit call. These instances must have a model property giving a name that will match a .subckt definition somewhere, likely from a PDK device model file.
This accounts for devices that are likely the electrical part of parameterized cells, that implement nonlinear behavior through a network of controlled sources expressed as a subcircuit in the SPICE model definitions file. MOS capacitors and poly resistors are devices that are frequently modeled this way.
If the macro flag is set and the name prefix already begins with X or x, the device is taken as a macro, meaning that Xic will not output a subcircuit definition for the cell, and a model property will provide the name of a subcircuit definition expected to be found in the model library or elsewhere.
The property supports hypertext, and the reference name should be added as a hypertext reference, so that the correct device is referenced if the name should change. That is, when editing the property string on the prompt line, click on the device to reference. The device name will be entered in the line using colored text, indicating a hypertext entry. Unlike plain test, the hypertext entry will still be correct if the referenced device name changes.
There is no default, and a missing property will produce a syntax error in a generated SPICE file.