Abutment Event 2

In Event 2, the abutment engine updates the Pcell abutment parameters on both the Pcell instances based on the connectivity and physical characteristics of the Pcells. This parameter update may result in creation of new masters, which can replace the old ones.
After being called with Event 2, if abutFunction returns t, the abutment engine calls the abutment function again, this time with Event 1. On the other hand, if abutFunction returns a value of nil, the Pcells are considered as unabuttable.
The original Pcell parameter values, prior to the update, are stored to be used later during an unabut call.
Computing Connection Condition for Abutment Event 2
After the parameter adjustment, the abutFunction returns the figIDs of the dummy shapes that are actually to be abutted. The returned shapes are used to compute the connection condition for Abutment Event 2 to determine if the connection contacts should be retained or removed during the abutment.
The shapes that can be returned by the abutment function and their contact condition for Event 2 are as given below:
-
Both figs are pinFigs connected to the same upper-level net
In this case, the connection condition—whether the connection contacts should be kept or dropped—is based on the connectivity of the net at the upper level. -
Both figs are pinFigs connected to different upper-level nets
In this case, because the upper-level net connectivity for both the shapes is different, the abutment is aborted to prevent a short. -
Only one fig is a pinFig connected to an upper-level net
In this case, the connection condition—whether the connection contacts should be kept or dropped—is based on the upper-level net to which the pinFig is connected. -
Neither fig is connected to an upper-level net
In this case, the abutment engine returns shapes that are not pinFigs, or returns pinFigs that do not have their terminals connected to instance terminals or nets at a higher level. To determine the connection contact condition for this case, Virtuoso Layout Suite XL supports the following environment variables:
If the abutment Event 5 returns a value of nil, the abutment is aborted.
Related Topics
Return to top