Passive Devices
Passive devices, such as resistors, capacitors, short, and diodes are considered as special cells and registered in the setup depending upon how they are placed in the design.
Resistors as Short Devices
Resistors are registered in setup as short devices. You can short the terminals of devices that have more than two terminals.
In a setup file, the short device registration is represented as shown below:
short (
("analogLib" "res" nil)
("myLib" "wireshortcell" nil (nil shortedTerminalMap (("t1" "t2")("t3" "t4" "t5") )))
)
Ensure that you register passive devices associated to a condition as mentioned in the setup file. For example, certain configurations in designs might require the resistors not to be registered as short devices.
The multi-term shorting of devices under the Short category is considered only during macro model extraction. However, it is not considered while netlisting, which is a part of CLP integration. Therefore, it leads to an error during CLP verification.
Connectors
You can register cells under the connectors in the following scenarios:
- While relating power nets with ground nets for establishing power ground net pairing. When the extractor traces the power to the ground paths in order to pair power and ground nets, if there is a connector instance in the path, the related terminals of the registered connector instance (a multi-terminal cell) help to continue tracing from one end to the other end.
- While backtracing the data path from the control pins of the special cells to the macro or design ports to generate the enable or shutoff condition for low power rules or power domains.
In a setup file, the connector registration is represented as shown below:
connector (
(nil "stdBuf*" nil)
("ALIB" "PMU" nil (nil shortedTerminalMap (("p" "q") ("o" "y"))))
)
Capacitors used in the data path mostly for the purpose of AC coupling are treated as connectors. The capacitors that are directly connected to power or ground for the purpose of blocking DC signal are treated as ignored or open. These are blocked for supply/ground tracing. The multi-terminal capacitors are also registered as devices.
In a setup file, the capacitor registration is represented as shown below:
cap (
(nil "cap" nil)
(nil "mimcap" nil
(nil
shortedTerminalMap (("PLUS" "MINUS"))
)
)
)
Diodes can be used in the design for the different purpose like in an antenna or ESD clamp structures. Their registration in a setup is specific to the polarity configuration in which they are connected.
In a setup file, the diode registration is represented as shown below:
diode (
("analogLib" "diode" nil (nil pTerm "PLUS" nTerm "MINUS"))
)
A diode is referred to as an antenna diode if the nTerm of diode is connected to power and pTerm of diode is connected to a pin. Or, pTerm of diode is connected to ground and nTerm of diode is connected to a pin.
Antenna diode-specific attributes are printed for input & inout terms connected to the antenna diode.
pin (MyInput) {
antenna_diode_related_power_pins : "VDD";
...
}
pin (MyInput) {
antenna_diode_related_ground_pins : "VSS";
...
}
pin (MyInput) {
antenna_diode_related_power_pins : "VDD";
antenna_diode_related_ground_pins : "VSS";
...
}
A parasitic diode is formed between the source or drain terminal of a MOS device and the bulk terminal. Here is an example of a PMOS device and a parasitic diode.

For a PMOS device, a diode that has the anode connected to the signal net and the cathode connected to the power supply is extracted. In this case, it is a power type diode.
antenna_diode_related_power_pins : "VDD";

For an NMOS device, a diode that has the cathode connected to signal net and the anode connected to ground supply is extracted. In this case, it is a ground type diode.
antenna_diode_related_power_pins : "VSS";
Related Topics
Backtrace Enable Signals of Special Cells
Terminal Name Registration for Devices
Return to top