• 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. Virtuoso Constraints SKILL code: correct my cstFindFirstConstraint...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 8327
  • 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

Virtuoso Constraints SKILL code: correct my cstFindFirstConstraint syntax

dfink
dfink over 3 years ago

I'm trying to get the ConstraintID of a particular constraint in the tech file foundry CG:

orderedSpacings(
( minOppExtension "METAL5" "VIA45" (0.020 0.11) 'ref "Mn.EN.1 Mn.EN.2" )

)

my skill code:

techdb = techGetTechFile( ddGetObj("tsmc13rf"))

FoundryID = cstFindConstraintGroupIn(techdb "foundry")

ConstID = cstFindFirstConstraint(FoundryID "minOppExtension" list("METAL5") list(0.02 0.11)

println(ConstID)

Running this code in the CIW gives:

*WARNING* (CST-300016): Constraint def 'minOppExtension' is not a layer constraint registry.

nil

t

The cstFindFirstConstraint is failing with ConstID having a nil value. 

Why is this warning happening?  Please help me understand how to properly format the t_constraintDefName in the cstFindFirstConstraint.

  • Cancel
  • dfink
    dfink over 3 years ago

    correction:  the ConstID variable set command does have the 2nd closing parenthesis in my code, just missed it when copying it to this post:

    ConstID = cstFindFirstConstraint(FoundryID ConstDef list("METAL5") list(0.02 0.11))

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dfink
    dfink over 3 years ago

    I found a solution. 

    I'm guessing that because minOppExtension is 2 layer check, the cstFindFirstConstraint expects tx_layer... to be a list of the 2 layers from the minOppExtension ordered spacing.  It fails if only 1 layer is provided to cstFindFirstConstraint.  

    cstFindFirstConstraint works after I provided the list of both layers:

    ConstID = cstFindFirstConstraint(FoundryID "minOppExtension" list("METAL5" "VIA45") )

    specifying the extension parameter numbers also works:

    ConstID = cstFindFirstConstraint(FoundryID "minOppExtension" list("METAL5" "VIA45") list(list(0.020 0.11)))

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dfink
    dfink over 3 years ago

    The content of this warning leaves much to be desired:

    *WARNING* (CST-300016): Constraint def 'minOppExtension' is not a layer constraint registry.

    It is not descriptive of the issue at all and even a bit misleading..

    • 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