• 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. Obtain all 'shorting' errors via skill

Stats

  • State Verified Answer
  • Replies 11
  • Subscribers 19
  • Views 6533
  • Members are here 0
More Content

Obtain all 'shorting' errors via skill

khuranav007
khuranav007 over 3 years ago

Hello,

Is there a way to filter 'shorting' errors from list of all DRCs in the design using Allegro Skill?  We short differently named nets together which leads to DRCs - is there a way to obtain a list of these errors (DRCs) as a result of shorting nets by the way of SKILL?  We do not add NET_SHORT property to suppress these DRCs.

Thanks!

  • Cancel
  • Sign in to reply
Parents
  • eDave
    0 eDave over 3 years ago

    You could certainly waive them using Skill

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • khuranav007
    0 khuranav007 over 3 years ago in reply to eDave

    Hi Dave,

    Waiving a DRC is not the goal.  The goal is to find 'shorting' errors by the way of Skill.

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • khuranav007
    0 khuranav007 over 3 years ago in reply to eDave

    Hi Dave,

    Waiving a DRC is not the goal.  The goal is to find 'shorting' errors by the way of Skill.

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • RFinley
    0 RFinley over 3 years ago in reply to khuranav007

    The code I shared iterates through DRC errors flagged by Allegro.  Do you want to calculate object spacing in SKILL? 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • eDave
    +1 eDave over 3 years ago in reply to khuranav007

    It's not difficult:

    drcs = setof(drc, axlDBGetDesign() ->drcs, drc ->type == "NET SPACING CONSTRAINTS" && zerop(axlMKS2UU(drc ->actual)))
    foreach(drc, drcs
    netnames = mapcar(lambda((vio), vio ->net ->name), drc ->violations)
    )

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • khuranav007
    0 khuranav007 over 3 years ago in reply to RFinley

    The goal is to find only those errors that are generated from shorting 2 differently named nets - then obtain net names of the 2 offending elements.

    I think I can use DavidHutchins suggestion for what I am after.  The intent of posting this question was to find out if there's any other way to finding only 'shorting' errors and based on DavidHutchins response there isn't.  That is, for each error figure out 'Net Spacing Constraint' type and if the actual constraint value is 0 and net names of 2 elements are different values then that error is due to shorting of nets.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • khuranav007
    0 khuranav007 over 3 years ago in reply to eDave

    Hi Dave,

    Thanks very much and brilliant as usual.  I am trying to decipher this code and may have questions.

    Varun

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify 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