• 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. Allegro X Scripting - Skill
  3. Differentiate drcs: Symbol Vs Design

Stats

  • State Suggested Answer
  • Replies 5
  • Answers 1
  • Subscribers 20
  • Views 990
  • Members are here 0
More Content

Differentiate drcs: Symbol Vs Design

SambaKantipudi
SambaKantipudi 4 months ago

Hello All,

I have symbols in my library that were intentionally created to violate DRC rules.

After logic import, they are transferred to the layout editor, along with their DRCs.

The command axlDBGetDesign()->drcs gives me all the DRCs in the design.

Which SKILL commands or functions can differentiate between Symbol DRCs and Design DRCs?

Thank you very much in advance.

BR

Samba

  • Sign in to reply
  • Cancel
  • Elecguy
    0 Elecguy 4 months ago

    Can you give an example of a "Design DRC"?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • SambaKantipudi
    0 SambaKantipudi 4 months ago in reply to Elecguy

    Hello Elecguy ,

    Before logic import, I see the following DRCs in my design:

    • Copper Features: Void Slivers

    • Copper Spacing: Non-signal shape to Non-signal shape

    • Shape to Shape Spacing

    After logic import, I get the following DRCs:

    • Pin Drill Hole to Pin Spacing

    • Pin Drill Hole to Shape Spacing

    • Thru-Pin to Shape Spacing

    • Thru-Pin to Thru-Pin Spacing

    • Thru-Pin to Route Keepout Spacing

    As mentioned earlier, some symbols were intentionally created to violate DRC rules. My goal is to waive the DRCs that are part of the symbol(s).

    Thanks

    BR

    Samba

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • andakConsultingLtd
    0 andakConsultingLtd 4 months ago

    Hi Samba,

    This is an interesting question. You can check this by looking at the 2 entities generating the error. There is a DRC_ID->violations property that returns the list of figures causing error. By looking at their entity_id->parent and up you can figure out if they are coming from the same symbol or not.

    However, please note that in layout, you can attach a property to the Symbol (via Edit-> Object Properties), named Nodrc_Sym_Same_Pin = True that helps you get rid of these errors for good. This assumes you know very well what library is doing.

    Visit my page

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • SambaKantipudi
    0 SambaKantipudi 4 months ago in reply to andakConsultingLtd

    Hello andakConsultingLtd 

    violations~>parent~>type

    violations~>parent~>objType

    I tried the same, but was unsuccessful.

    For an example:

    Shape to Shape drc error, part of symbol was shown as design drc.

    Doesnt know how to proceed further!!

    Thanks

    BR

    Samba

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • andakConsultingLtd
    0 andakConsultingLtd 4 months ago in reply to SambaKantipudi

    Try the code below, it should give you a starting point. I am sorry, parent indeed didn't set you in the right direction.

    ; the code below works in my case for a pin to pin DRC. You might adjust your code a bit to cover all scenarios
    axlSetFindFilter(?enabled `("NOALL" "DRCS") ?onButtons `("DRCS"))
    ; after entering next line, you must click on an error to move on
    mySymbol = car(axlGetSelSet(axlSingleSelectPoint()))
    parentList = mySymbol->violations
    first = car(parentList)
    myComponent = first->component
    mySymbol = myComponent->symbol
    myRefDes = mySymbol->refdes
    axlClearSelSet()

    the output, after entering this line by line is shown below, as you can see, it shows the RefDes at the end.:

    note: last lines can be optimiezed into this:

    myRefDes = first->component->symbol->refdes

    Visit my page

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Cadence Guidelines

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