lxSwapSDFunction
layoutXL lxSwapSDFunction string "user_Defined_SKILL_Function"
Description
Sets the name of a user-defined SKILL function that swaps the S and D pins. This environment variable is read after setting lxCanSwapSDFunction.
The user-defined SKILL function is passed the database ID of the instance for which chaining needs to swap the S and D pins. The function must update a Pcell parameter on this instance, to perform the S and D pin swap, and then return t. If for some reason, the S and D pin swap cannot done for this instance, the function should return nil.
lxSwapSDFunction is called only if no permute rule exists. If a permute rule exists, chaining will permute using these rules. Additionally, the S and D pins can be swapped using the Pcell parameter only when both lxCanSwapSDFunction and lxSwapSDFunction are defined.Additional Information
The Pcell parameter that swaps the S and D pins must be specified as IGNORE for GENERATE or IGNORE for CHECK. One way to do this is in the library and attributes mapping (LAM) file entry for this Pcell. If the parameter is not marked as ignored, then CAS will report any difference in that parameter value between the bound layout instance and its corresponding schematic instance. In this case, when you update the layout parameters, the layout parameter value will be updated to match the schematic value, which will break the chains and cause shorts. This is why, marking the parameter as ignored ensures that the Update Components and Nets or Update Layout Parameters commands do not overwrite the value of the parameter that has been swapped in the layout during chaining.
GUI Equivalent
Example
envGetVal("layoutXL" "lxSwapSDFunction")
envSetVal("layoutXL" "lxSwapSDFunction" 'string "swapSD")
Related Topics
List of Layout XL Environment Variables
Return to top