• 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. Deleting stacked micro-via

Stats

  • Replies 2
  • Subscribers 159
  • Views 13505
  • Members are here 0
More Content

Deleting stacked micro-via

Wale
Wale over 8 years ago

Hi All,

I have a 2-6-2 HDI board. the micro-vias are stacked (L1-L2, L2-L3 and L8-L9, L9-L10). The buried via is an staggered.

I would like to delete L1-L2 and L9-L10 micro-via (only) using a list of x,y co-ordinates of some micro-via locations. 

The problem i am having is that, my script deleted the stacked micro-vias in the x,y location . Its seeing the stacked microvias as a single via.(of course because they  re both at same coordinate location)

Can someone point me to how i can go about this? 

If there is a script out there that can do this, can someone please share.

Thanks

-Wale

  • Sign in to reply
  • Cancel
  • eDave
    eDave over 8 years ago
    axlClearSelSet()
    axlSetFindFilter(?enabled list("noall", "vias", "invisible"), ?onButtons list("noall", "vias"))
    axlAddSelectAll()
    axlDeleteObject(setof(via, axlGetSelSet(), axlGeoPointsEqual(loc) && car(via ->startEnd) == "ETCH/TOP" && cadr(via ->startEnd) == "ETCH/L2"))
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Wale
    Wale over 8 years ago
    Hi Dave,
    thanks for the assistance. I do appreciate it.
    However, i am not comparing the location of two micro-vias before i delete which is what axlGeoPointsEqual(loc) is supposed to do. Also, axlGeopointsEqual() should accept 2 arguments instead of 1. ( i encountered this error when i ran the below script <E- *Error* axlGeoPointsEqual: too few arguments (2 expected, 1 given) - ((-42.5 -19.85))>

    Goal: to delete a micro-via from L1(TOP) to L2. or from L10(Bottom) to L9. These micro-vias are stacked with the other micro-vias from L2 to L9. so they all have same coordinate location.

    Please take a look at the script i have below ( i referenced your code above as well), any help in the direction i should take?
    The script calls a .txt file that has the location of the micro-via to delete.
    ********************************************************************************
    axlCmdRegister("wale" 'RBG_replace_via_list ?cmdType "INTERACTIVE" )
    defun( RBG_replace_via_list ( @optional v_ps )
    prog( list(via_file l_loc t_padstk)
    mypopup = axlUIPopupDefine( nil (list (list "Done" `dvl_Done)))
    axlUIPopupSet( mypopup)

    unless(v_ps
    via_file = axlDMFileBrowse("ALLEGRO_TEXT" nil)
    if(isFile(via_file) then
    via_data = axlDMOpenFile("ALLEGRO_TEXT" via_file "r")

    when(via_data
    axlSetFindFilter(?enabled '(noall vias) ?onButtons '(vias))
    while(l_via = lineread(via_data)
    l_loc=nth(0 l_via)
    axlClearSelSet()
    axlSetFindFilter(?enabled list("noall", "vias", "invisible"), ?onButtons list("noall", "vias"))
    axlAddSelectAll()
    axlDeleteObject(setof(via, axlGetSelSet(), axlGeoPointsEqual(l_loc) && car(via ->startEnd) == "ETCH/TOP" && cadr(via ->startEnd) == "ETCH/L2"))

    );end while
    );end when
    );end if
    );end unless
    );end prog


    );end defun
    **************************************************************************************************************

    Thanks for your anticipated help
    • 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