• 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 PCB Editor
  3. Skill to check minimum cline segment

Stats

  • Replies 24
  • Subscribers 161
  • Views 24289
  • Members are here 0
More Content

Skill to check minimum cline segment

Alice 2009
Alice 2009 over 14 years ago

Hi,

I am trying to write an skill to check cline segment length and show DRC if it violate the minimum cline segment.

Does anyone have similar skill that I can refer? please share.

Thanks,

Alice. 

  • Sign in to reply
  • Cancel
  • leonlee
    leonlee over 14 years ago

    Hi Alice,

     I'd like to share you the idea:

    MinL = 0.5 ; the minimum length you set
    axlVisibleLayer( "etch" t )
    axlClearSelSet()
    axlSetFindFilter( ?enabled "Clinesegs" ?onButtons "Clinesegs" )  
    allClinesegs = axlGetSelSet( axlAddSelectAll())
    ;To get the violated cline segments, which length is less than your minimun value.
    violateSegs = setof( item, allClines, axlDBGetLength( item ) < MinL )

    Then you can use axlDBCreateExternalDRC to create DRC mark for eatch items in the list violateSegs.

    FYI.

    Leon

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Alice 2009
    Alice 2009 over 14 years ago

    Hi Leon,

    Thanks for the idea. I manage to create the DRC. However, I still have some Q:-

    #1. Is there syntax to clear the DRC created by axlDBCreateExternalDRC() ? If not, any other manual way to remove created DRC?

    #2. Can I use a variable instead of actual value for the last argument of this axlDBCreateExternalDRC() ?

    axlDBCreateExternalDRC('("Minimum Cline Length" "50um") 1500:1900 "drc error class/layer2" nil nil variable)

    If not, is there a way to show the variable value in the DRC created?

    Thanks,

    Alice

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • leonlee
    leonlee over 14 years ago

     

    #1 To delete external DRC:

         axlDeleteObject(setof(item, axlDBGetDesign()->drcs, item->name=="Externally Determined Violation"))

    #2, Of course, you can use variant as the value.

    Try it~~

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Alice 2009
    Alice 2009 over 14 years ago

    Hi Leon,

     When I use variable "clineLength" as show below, it gives me warning and the DRC did not appear. Please advise.

    clineLength=axlDBGetLength( item )

    axlDBCreateExternalDRC('("Minimum Cline Length" "50um") 1500:1900 "drc error class/layer2" nil nil clineLength)

    W- *WARNING* (axlDBCreateExternalDRC): Invalid string - 33.06258

     

    Thanks,

    Alice

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • leonlee
    leonlee over 14 years ago

    Hello Allice,

     It just need a string. You can replace a line to convert the variant into string:

       clineLength = sprintf( nil "%n" axlDBGetLength( item ) )

    Hope it works.

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