• 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. Centering Clines Within BGA

Stats

  • Replies 18
  • Subscribers 160
  • Views 20088
  • Members are here 0
More Content

Centering Clines Within BGA

eddieb1
eddieb1 over 11 years ago

 Hello experts,

Is there a function that I can use to center only the clines inside the BGA area?

If so how do go I about it?

For instance, what skill code can I use to shove/move single clines or dual clines in between (or in the middle of) the BGA vias?

  - where if there are two clines in between vias, the air gap is 1x or 2x of the trace width.

Below is a simple illustration:

 

Single cline centered in between BGA vias:

o I o I o I o

Dual CLine centered in between BGA vias::

o IxI o IxI o

 

Where:

o = via

I = Cline

x = air gap between two clines.

 Note:

In some areas of the BGA, the vias are in-line while in some areas (at the periphery) the via pitch is mixed, that is a combination of 10mm and 8mm  - stagered pitch.

 Thanks,

Eddie

  • Sign in to reply
  • Cancel
  • eDave
    eDave over 11 years ago
    I don't have any existing code but I'll see if I can knock up a few lines to test the idea and get you started.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eddieb1
    eddieb1 over 11 years ago

     Thanks Dave!

     Can't wait to see it.

     BTW - I tried the one that's in the Glossing Controler > Center lines between pads. It didn't work and made things worst as it moved the clines loop around pads and made them longer. It also introduced new errors by crossing clines.

     

    Eddie.

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

    Well, this code sort of works. However it's not of much use to you without a lot of work. I'm only handling a single cline. You will need to use complex grid settings for multiple clines.

    defun( DE_BGAClineCentre (via1, via2, clineSeg)

    via1xy = via1 ->xy

    via2xy = via2 ->xy

     

    ; Set grids:

    layer = clineSeg ->layer

    grid = axlDBGridGet(layer)

    originalGrid = copy(grid)

    grid ->xOrigin = car(via1xy)

    grid ->yOrigin = cadr(via1xy)

    if(axlGeoEqual(car(via1xy), car(via1xy)); I'm assuming that the vias are on orthogonal locations. Otherwise this method will not work.

    then grid ->yGrids = axlDistance(via1xy, via2xy) / 2.0; The shoved cline needs to be centered on the y grid

    else grid ->xGrids = axlDistance(via1xy, via2xy) / 2.0; The shoved cline needs to be centered on the x grid

    )

    axlDBGridSet(grid)

     

    ; Shove the cline segment

    shoveMode = 0

    cornerType = 45

    gridded = 1

    params = list(shoveMode cornerType gridded)

    axlShoveSetParams(params)

    axlShoveItems(list(clineSeg))

     

    ;Restore the original grid.

    axlDBGridSet(originalGrid)

    ) 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eddieb1
    eddieb1 over 11 years ago

     Thanks Dave.

     

    It's a start. I'll give a whirl and let you know if it's something I can use.

    BTW, is there a function when vias in diagonal formation, as in staggered formation?

     

    Eddie.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 11 years ago
    Yes, it's only a start - and then just an idea.

    It would be possible to use the same method for (45 degree) staggered vias but the grid calculations would get slightly more complicated
    • 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