• 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. How to check BGA minimum pitch using Allegro Skill lang...

Stats

  • State Suggested Answer
  • Replies 1
  • Answers 1
  • Subscribers 19
  • Views 48
  • Members are here 0
More Content

How to check BGA minimum pitch using Allegro Skill language

BZ202408076026
BZ202408076026 18 hours ago

I want to check BGA minimum pitch. If BGA pitch is less than 0.5mm, need to highlight these BGA in PCB layout. Does anyone have experience to write script to do the check?

  • Cancel
  • Sign in to reply
Parents
  • Hoangkhoipcb
    0 Hoangkhoipcb 11 hours ago
    Hi BZ202408076026,

    I hope this will be helpful 
    axlCmdRegister("min_pitch_bga" 'min_pitch_bga )
    defun( min_pitch_bga ()
        let((tmp_list)
            pins = car(setof(e axlDBGetDesign()->symbols e->refdes =="BGA"))->pins
            if(length(pins) > 0 then
                foreach(pin pins
                    tmp = nil
                    foreach(item setof(e pins e != pin) push(list( axlDistance(pin->xy item->xy) item) tmp))
                    push(append1( car(sortcar(tmp 'lessp)) pin) tmp_list)
                )
                tmp_list = sortcar(tmp_list 'lessp)
                printf("Min pitch: %.3f\n " caar(tmp_list))
                axlHighlightObject(cdr(car(tmp_list)))
            )
        )
    )
    BR

    HoangKhoi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • Hoangkhoipcb
    0 Hoangkhoipcb 11 hours ago
    Hi BZ202408076026,

    I hope this will be helpful 
    axlCmdRegister("min_pitch_bga" 'min_pitch_bga )
    defun( min_pitch_bga ()
        let((tmp_list)
            pins = car(setof(e axlDBGetDesign()->symbols e->refdes =="BGA"))->pins
            if(length(pins) > 0 then
                foreach(pin pins
                    tmp = nil
                    foreach(item setof(e pins e != pin) push(list( axlDistance(pin->xy item->xy) item) tmp))
                    push(append1( car(sortcar(tmp 'lessp)) pin) tmp_list)
                )
                tmp_list = sortcar(tmp_list 'lessp)
                printf("Min pitch: %.3f\n " caar(tmp_list))
                axlHighlightObject(cdr(car(tmp_list)))
            )
        )
    )
    BR

    HoangKhoi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
No Data
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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information