• 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. Pitch distance measure by Skill

Stats

  • Replies 6
  • Subscribers 159
  • Views 16181
  • Members are here 0
More Content

Pitch distance measure by Skill

archive
archive over 18 years ago

Hello All, I can provide to my Skill program some placed BGA RefDes ("U40" for example). How Skill program could measure this BGA balls pitch distance ? Any response appreciated Thanks, Shimon


Originally posted in cdnusers.org by shimon37
  • Sign in to reply
  • Cancel
  • archive
    archive over 18 years ago

    Hi Shimon,

    Try:

    symbol = car(axlSelectByName("REFDES" "U40")); Select the BGA
    axlClearSelSet()
    pins = symbol ->pins; Identify the BGA pins
    minPitch = nil; Declare the minimum pitch variable
    foreach(pin1, pins
    foreach(pin2, remove(pin1, pins)
    pitch = axlDistance(pin1 ->xy, pin2 ->xy); Measure the pin to pin pitch of every pin with every other pin
    minPitch = if(minPitch, min(minPitch, pitch), pitch); Compare pitch with minimum found so far.
    )
    )
    minPitch

    Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 18 years ago

    Hi Dave, Thank you very much for your response. It works perfectly. Thanks again, Shimon


    Originally posted in cdnusers.org by shimon37
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    Hi Dave,

    I am a beginner in SKILL routines. I know how to include a SKILL function in allegro.ilinit and execute it from allegro. But I don't know how to use the SKILL code directly in allegro(like the one you had in this post for reporting the BGA pitch) because it is not in the form of a skill function. I had tried to switch to the skill command window and paste this code in allegro. But it is not working. I know I am missing some thing. Please correct me if I am not going the right direction.

    Please bear with me for deviating from the original subject...

    Thanks in advance,

    Babu 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 17 years ago
    Hi Babu,

    Pasting all those lines into the Skill window won't work. The interactive command interpreter will only accept one Skill command at a time - and it must be all on one line.

    In the example you would have to paste each of these lines one by one:
    symbol = car(axlSelectByName("REFDES" "U40"))
    minPitch = nil
    foreach(pin1, pins foreach(pin2, remove(pin1, pins)
     pitch = axlDistance(pin1 ->xy, pin2 ->xy) minPitch = if(minPitch, min(minPitch, pitch), pitch)))
    minpitch

    Note how the foreach loop must be self-contained on one line.
    I will discuss this issue with Cadence at the next week's CDNlive conference. Other Lisp implementations that I have used do not have this limitation.

    Cheers, Dave
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

     Hi Dave,

    I got it worked. Thank you for your valuable inputs.

     Babu

    • 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