• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Substrate is connected to nodes other than VDD or VCC

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 17751
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Substrate is connected to nodes other than VDD or VCC

csst
csst over 11 years ago


Dear All

In a standard cell library,  VBP and VBN is used for substrate in schematic
but  layout uses only VDD VSS and you have to add normal well taps.
I get this error in LVS

Rule No.   20 : Please Note that NWEL is connected to nodes other than VDD or VCC
Rule No.   19 : Please Note that PSUB is connected to nodes other than GND or VSS

How it can be fixed?
Same error when i pass, in netlist, VDD in VBP, and VSS in VBN

IC sub-version 5.10.41.500.6.143
Assura sub-version 4.1_USR4

Regards

  • Cancel
  • csst
    csst over 11 years ago

    I've noticed that compare.rul file has these lines

    PWR1 = "*VDD*"
    PWR2 = "*VCC*"
    GND1 = "*GND*"
    GND2 = "*VSS*"


    ; Check if  NWEL is connected to VDD or VCC.
     wela = geomGetNet( wel PWR1 PWR2 )
     wel_wrong = geomAndNot( wel wela )
     errorLayer( wel_wrong "Please Note that NWEL is connected to nodes other than VDD or VCC" )

    ; Check if  PSUB is connected to GND or VSS.
     psuba= geomGetNet( PSUB GND1 GND2 )
     psub_wrong = geomAndNot( PSUB psuba )
     errorLayer( psub_wrong "Please Note that PSUB is connected to nodes other than GND or VSS" )

     
    in geomGetNet() i added "VBP" for NWEL  and "VBN" for PSUB but i'm still getting the same error


    ; Check if  NWEL is connected to VDD or VCC.
     wela = geomGetNet( wel  PWR1 PWR2  "VBP" )
     wel_wrong = geomAndNot( wel wela )
     errorLayer( wel_wrong "Please Note that NWEL is connected to nodes other than VDD or VCC" )

    ; Check if  PSUB is connected to GND or VSS.
     psuba= geomGetNet( PSUB GND1 GND2  "VBN")
     psub_wrong = geomAndNot( PSUB psuba )
     errorLayer( psub_wrong "Please Note that PSUB is connected to nodes other than GND or VSS" )

    i've also tried to directly change PWR and GND variables.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    I think it's best to contact customer support or the foundry that supplied you with these rules. Hard to debug without seeing the data and the complete rule deck. Note that you originally reported it showing "Rule No. 20" etc in the rule message, but that doesn't appear in the code  you modified - so maybe you edited the wrong place?

    Regards,

    Andrew. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • csst
    csst over 10 years ago

    I've found the solution

    In folder RuleDecks/Assura/LVS

    edit these rule files

    1. In EXTRACT rule file

    ;Detect ptap connected to POWER, please change the power node name if yours is different from VDD and VCC.

    ptap99= geomAvoiding( geomGetNet(ptap, "VDD" "VCC" "VBP" "VDD!")  geomOr( DSYMBOL SEALRMARK PCAPGATE_12 PCAPGATE_18 ) )

    ;Detect ttap connected to POWER, please change the power node name if yours is different from VDD and VCC.

    ttap99= geomAvoiding( geomGetNet(ttap, "VDD" "VCC" "VBP" "VDD!") geomOr( DSYMBOL SEALRMARK PCAPGATE_12 PCAPGATE_18 ) )

    ;Detect ntap connected to GROUND please change the ground node name if yours is different from VSS and GND.

    ntap99= geomAvoiding( geomGetNet(ntap, "GND" "VSS" "VBN" "VSS!") geomOr( DSYMBOL NWR MISIMPBK varmis_rf12 NCAPGATE_12 NCAPGATE_18 ) )  

    ; Check if  NWEL is connected to VDD or VCC.

    wela = geomGetNet( wel "VDD" "VCC" "VBP" "VDD!")

    wel_wrong = geomAndNot( wel wela )

    errorLayer( wel_wrong "Please Note that NWEL is connected to nodes other than VDD or VCC" )

    ; Check if  PSUB is connected to GND or VSS.

    psuba= geomGetNet( PSUB "GND" "VSS" "VBN" "VSS!")

    psub_wrong = geomAndNot( PSUB psuba )

    errorLayer( psub_wrong "Please Note that PSUB is connected to nodes other than GND or VSS" )

    2. In COMPARE rule file

    schematic(

         setPower( all "*VCC*" )    

         setPower( all "*VBP*" )

         setPower( all "*VDD!*" )

         setPower( all "*VDD*" )

         setGround( all "*GND*" )

         setGround( all "*VSS*" )      

         setGround( all "*VBN" )  

         setGround( all "*VSS!*" )

    .....

    layout(

         setPower( all "*VCC*" )    

         setPower( all "*VBP*" )

         setPower( all "*VDD!*" )

         setPower( all "*VDD*" )

         setGround( all "*GND*" )

         setGround( all "*VSS*" )      

         setGround( all "*VBN" )  

         setGround( all "*VSS!*" )

    .....

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information