• 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 SKILL
  3. How to enforce schematic rule checker

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 14082
  • 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

How to enforce schematic rule checker

twen
twen over 8 years ago

Is there any way that I can ask the admin to put a piece of skill code in the library to enforce the following schematic rules?

1. Set all Verilog AMS Check rules to error in the Schematic Rules Checks Setup form and disallow users from changing it.

2. Force users to give a net or an instance an explicit name instead of the default net1234 or I1234 names.

3. Force users to use little endian bus notation B<msb:lsb> and lsb is always 0, i.e. B<5:0> is valid but not B<6:1> nor B<0:5>.

4. Force users to choose or avoid the pin/net/instance names from a customized pattern list.

I am using "@(#)$CDS: virtuoso version 6.1.6-64b 12/07/2015 20:18 (sjfbm186) $"

Thank you,

TJ

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Some of these things can be partly done via cdsenv variable settings:

    1. These can be done with schSetEnv("checkSupportAMS" t) to turn the section on, and then:
      envSetVal("amsDIrect.vlog" "allowIllegalIdentifiers" 'cyclic "no")
      envSetVal("amsDIrect.vlog" "allowNameCollisions" 'cyclic "no")
      envSetVal("amsDIrect.vlog" "allowDeviantBuses" 'cyclic "no")
      envSetVal("amsDIrect.vlog" "allowSparseBuses" 'cyclic "no")
      I don't believe you can disallow users from changing the settings though.
    2. Maybe this could be done with:
      envSetVal("schematic" "srcNetNameExpr" 'string "whatever") ; need to write a regular expression
      envSetVal("schematic" "srcNetNameSyntax" 'cyclic "error")
      Similarly srcInstNameSyntax/srcInstNameExpr.
      However, it might need writing some SKILL code
    3. This I think needs some SKILL code
    4. This might be the regular expression syntax as in point 2 (also srcTermNameSyntax/srcTermNameExpr). However, probably a SKILL trigger.

    For the SKILL code approach, see this example in a previous post.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • twen
    twen over 8 years ago

    Hi, Andrew,

    Thank you for the naming convention skill code template. I'll see if the skill code can be more effective than the guidelines and rules on a piece of paper that everyone throws away.

    TJ

    • 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