• 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 24293
  • 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
  • Alice 2009
    Alice 2009 over 14 years ago

    Hi Leon,

    It works well. Thanks =)

    Regards,

    Alice 

     

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

    Hi leon,

     I used the same syntax to display the constraint value, but it did not works.

    MinL =50

    MinLString = sprintf( nil "%d" MinL )

    then axlDBCreateExternalDRC('("Minimum Cline Length" MinLString ) car(item->startEnd) "drc error class/layer2" nil nil clineLengthString)

    Result:

    LISTING: 1 element(s)

               < DRC ERROR >          

      Class:           DRC ERROR CLASS
      Subclass:        LAYER2
      Origin xy:       (7022.11 -4928.33)
      Constraint:      Externally Determined Violation
      Constraint Set:  Minimum Cline Length
      Constraint Type: DESIGN

      Constraint value: MinLString
      Actual value:     33.062585

      Properties attached to drc error
        EXTERNAL_DRC_VALUE  = MinLString
        EXTERNAL_VIOLATION_DESCRIPTION  = Minimum Cline Length

     

    Please advise. 

    Thanks,

    Alice

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

    Hi Alice,

    You have used the quote on the list incorrectly.

    Try:

    axlDBCreateExternalDRC(list("Minimum Cline Length" MinLString ) car(item->startEnd) "drc error class/layer2" nil nil clineLengthString)

    Regards,

    Dave

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

    Hi Dave,

    You are right, it works now =)

    Thanks,

    Alice 

     

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

    Hi,

    I am trying to append the form file into the skill file. However, some thing is wrong:-

    Result: E- *Error* axlFormDisplay: argument #1 should be any user-defined (other) type (type template = "o") - nil

    mincline_drc_form = axlFormCreate( (gensym) "mincline_drc_form" nil 'mincline_drc_form_Action t)

    axlFormDisplay(mincline_drc_form)

    ; create form

    ; ------------

    (defun mincline_drc_form ()

    ; Define the pop up

    LayerCountPopup=axlUIPopupDefine(nil

    list(

    list("2" '2)

    list("4" '4)))

    printf(mincline_drc_form "FILE_TYPE=FORM_DEFN VERSION=2\n")

    printf(mincline_drc_form "FORM toolwindow\n")

    printf(mincline_drc_form "FIXED\n")

    printf(mincline_drc_form "PORT 44 15\n")

    printf(mincline_drc_form "HEADER \"Minimum Line Width DRC\"\n\n")

    printf(mincline_drc_form "TILE\n")

    ;========== using LONGFILLIN

    printf(mincline_drc_form "TEXT \"Minimum Cline Width used in Top Layer: \"\n")

    printf(mincline_drc_form "FLOC 1 1\n")

    printf(mincline_drc_form "ENDTEXT\n\n")

    printf(mincline_drc_form "FIELD ClineWidthTop\n")

    printf(mincline_drc_form "FLOC 32 1\n")

    printf(mincline_drc_form "LONGFILLIN 10 15\n")

    printf(mincline_drc_form "ENDFIELD\n\n")

    ;========== END LONGFILLIN

    ;========== using LONGFILLIN

    printf(mincline_drc_form "TEXT \"Minimum Cline Width used in Bottom Layer: \"\n")

    printf(mincline_drc_form "FLOC 1 4\n")

    printf(mincline_drc_form "ENDTEXT\n\n")

    printf(mincline_drc_form "FIELD ClineWidthBottom\n")

    printf(mincline_drc_form "FLOC 32 4\n")

    printf(mincline_drc_form "LONGFILLIN 10 15\n")

    printf(mincline_drc_form "ENDFIELD\n\n")

    ;========== END LONGFILLIN

    ;========== using POPUP

    printf(mincline_drc_form "TEXT \"Layer Count: \"\n")

    printf(mincline_drc_form "FLOC 1 7\n")

    printf(mincline_drc_form "ENDTEXT\n\n")

    printf(mincline_drc_form "FIELD LayerCountPop\n")

    printf(mincline_drc_form "FLOC 10 7\n")

    printf(mincline_drc_form "ENUMSET 5\n")

    printf(mincline_drc_form "ENDFIELD\n\n")

    ;========== END POPUP

    ;========== using MENUBUTTON

    printf(mincline_drc_form "FIELD Run_button\n")

    printf(mincline_drc_form "FLOC 25 10\n")

    printf(mincline_drc_form "MENUBUTTON \"Run\" 7 3\n")

    printf(mincline_drc_form "ENDFIELD\n\n")

    printf(mincline_drc_form "FIELD Close_button\n")

    printf(mincline_drc_form "FLOC 35 10\n")

    printf(mincline_drc_form "MENUBUTTON \"Close\" 7 3\n")

    printf(mincline_drc_form "ENDFIELD\n\n")

    printf(mincline_drc_form "ENDTILE\n\n\n")

    printf(mincline_drc_form "ENDFORM\n")

    )

    ) ;end procedure mincline_drc_form

     

    Please advise if my popup variable definition is correct, or the create form portion has something wrong.

    Thanks,

    Alice

    • 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