Property Low Tolerance settings can cause property errors in flat mode, while clean in hier

Version 1

    Symptoms

    • LVS run clean in hier mode, errors in flat mode.


     

    Solution

    For example, lets say that in your Source side, you have 3 devices, each with a different hardcoded value for NF:



    •      (in cell1)           c0 Vx VSS  w=5 l=3 nf=150
           (in cell2)           c0 Vx VSS  w=5 l=3 nf=2500
           (in topcell)        c0 Vx VSS  w=5 l=3 nf=5000


    • And, in your rules file you have this:

            LVS REDUCE C PARALLEL [ TOLERANCE L 0 W 0 NF 0 ...


    • The TOLERANCE argument for LVS REDUCE says that if a property value is beyond a certain tolerance of difference, do not allow reduction of that device with others. Since these three values are greater than 0% different, they are not reduced together.


    • This is not an issue in -hier because the caps nf value in each cell matches.


    • In -flat, they are all basically in the same cell, but cannot be reduced because of the 0 tolerance.


    • Changing it as follows:

             LVS REDUCE C PARALLEL [ TOLERANCE L 0 W 0 // NF 0 ..., commented out here, or changed to some suitable value for NF

      Enables a CORRECT flat run.