• 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 6532
  • 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
  • khuranav007
    0 khuranav007 over 3 years ago in reply to DavidJHutchins

    OK thanks David

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

    I need to re-write my description as this process is layout driven or it won't be useful. 

    I was using the skill "find" command to iterate through all pad-to-pad DRCs, extract the associated net names, and write a back annotation file provided one of the two nets associated has a "TEMP" prefix.  Otherwise, skip.

    In order for this to work, you need to add temporary single pin pads to nets in the schematic to go to layout and cause DRC errors.   

    The end-result is driven by placing these temp pads to cause intentional shorts.  An annotated schematic with updated net-aliases to make connections for clean, optimized routing is the intended result.

    Wanted to save you hours of time searching for the secret method of reading netnames from a DRC error instance as this is something SKILL iLS training and the rest of their support website is strangely silent on, finding the net name associated with... anything.

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