Why is Logic Gate pin swapping acceptable in some cases?

Version 1

    Given a design with analog and std-cell based blocks, the preference is to set the "LVS RECOGNIZE GATES" variable to "NONE".


    In a non-mixed environment using logic only, ALL/SIMPLE is a perfectly valid choice, as logically speaking, in most cases it does not matter whether pins A and B are swapped. Using this setting also speeds up performance when it is allowable.


    In Analog situations, pin swapping may not be allowed, therefore NONE is the appropriate choice.


    Some may infer from this the need for two different LVS decks for a mixed-environment (one for Analog with "NONE" and the other for top-level with "ALL/SIMPLE"). Instead of separate decks, you could use preprocessor directives (conditionals) to select the proper setting based on the presence or absence of a Calibre or shell environment variable.


    Refer to the SVRF manual section "Pre-processor Directives", or search for "Pre-processor Directives".