label string [position [layer]]
where string is the text of the label, position may be any valid direction in magic, and layer may be any valid layer in the technology.label string [font [size [rotation [offsetx offsety [position [layer]]]]]
where string is the text of the label, font is the name or number of a font, size is the integer size of the font, in standard distance units; rotation is the rotation (in degrees) of the font, offsetx and offsety are the distance of the printed text relative to the reference position (in quarter units of distance); position may be any valid direction in magic, and layer may be any valid layer in the technology. This usage is only available in magic version 8.0 and above. See the setlabel command for details on each of the label options. setlabel -default can be used to set default values for all of the optional properties when they are not present on the label command line.
The label command places a label on the layout. The label is marked by a point, line, or rectangle, depending on the size of the cursor box. If the area under the cursor box contains exactly one type, the label will be "attached" to that type; that is, the label will name the network of the node containing that type. If the area under the cursor box contains multiple layers, one will be chosen for attachment to the label. If there are multiple network nodes under the cursor box, the result may not be what the user intended; in such cases, the user should specify which layer the label should be attached to, so that the appropriate network node will be labeled.The label text is placed to one side of the marker in the direction indicated by the position argument. For example, "label text north" will draw the label string "text" to the north (above) the marker.
In versions of magic prior to 8.0, labels cannot be directly modified; modifications should be handled by first erasing the label with "erase label" and then redrawing. Versions 8.0 and higher use the setlabel command to modify selected labels.
Versions of magic from 8.0.139 allow the layer name to have a dash ("-") in front (e.g., "-metal1") to indicate a "sticky label", that is, one that is attached to the specified layer type layer, and which cannot be reattached to another layer.
Attribute labels:A handful of labels are referred to as "attribute" labels. These label types are placed on devices and affect how the device is extracted.
A label that is placed inside a device (e.g., a MOSFET gate) which ends with the character "^" is a gate attribute. A gate attribute in the form of "name=value^" specifies an extra parameter to be passed to the device in addition to the standard parameters calculated for that device. This is used to capture parameters which cannot easily be inferred from the layout. For example, an RF device model might be distinguished from a non-RF device model by a parameter such as rfmode=1. Whether or not a device is intended for RF use is not easily guessed from the layout, and so "tagging" the gate with the parameter allows the correct model parameters to be used for the device.
A gate attribute that is not in the form of a parameter will be used as the device's instance index in the netlist; e.g., a label of "1^" on a MOSFET gate extracted as a MOSFET device would be an entry "M1" in the netlist. This can be used to better track device indexes between a schematic and layout.
A label that is placed on the edge a device, specificlly a MOSFET gate, and which ends with the character "$", is a terminal attribute. The only terminal attributes recognized by magic are S$ and D$, which specify which side of the gate is to be considered the source and which is to be considered the drain. Generally, MOSFET devices are symmetric, and their use in a simulation does not depend on which side is in the position of the "source" and which is in the position of the "drain". To the extent that it matters, the terminal attributes can be used to ensure that the source and drain connections appear in the netlist in their intended orientation.
Labels ending with "@" are node attributes. There is currently no functional application for node attributes. When one is applied, it will appear in the output netlist in a SPICE comment line indicating the node and attribute. This could be used, say, by a post-processing script, but as it is in a comment line, it has no impact on simulation or LVS.
label is implemented as a built-in command in magic.
setlabel
port

| Return to command index |
Last updated: March 17, 2021 at 11:11am