• 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. axlDBCreateVia

Stats

  • Replies 6
  • Subscribers 158
  • Views 14518
  • Members are here 0
More Content

axlDBCreateVia

archive
archive over 17 years ago

Hello all.

I have a lot of unconnected vias. they have no connect line, they are only vias to interconnect negatives shapes together through the cross section.
I want them to be connected to a net. By hand, I have to connect from something (a shape for example) and then put the connection to the via.

I wrote a little routine to this.
I cannot use the axlChangeNet (not allowed for vias).
So i use a workaround:
I extract via xy and name and then use axlDBCreateVia to create a new one at the same point, with the same name but another net.
It works perfectly. all my vias are finally connected. I save the BRD file, reopen it. They are still connected to what I wanted..
But, after some commands in Allegro, they came back to unconnected vias!
I tried to add a axlDBRefreshId on new vias (not really necessary, they are new ;-), run a dbdoctor on the BRD, not better!

Whatever I did, they finish to be unconnected.

Any ideas to fix it?

Thanks in advance.


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

    Here are a couple of things I've tried:
    1) Add a small shape (size of via pad or smaller) with the proper net at the via location. I also fix the via and put a comment on it "stiching via". Downside is if you need to move it, you have to remember to move both the via and the shape.
    or
    2) Create a single pin part in the schematic for a stiching via with a physical symbol that has a pin the size of a via. Downside is you have to put them in the schematic and you might have some issues if your spacing rules are different for pins vs. vias.


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

    What you suggested is a workaround but not very convenient.

    In fact I have other vias that have the same goal (interconnect all shapes of the same net) that are connected and stay connected. So this way to put vias is "allowed". If I copy one these connected vias, the new one will be connected (if I check the "Retain net of vias" in Options tab.
    So, these "already connected" vias and copies always stay connected whatever I do.

    Only vias created by skill lose the connection. So I think that there is something to do bu Skill.

    I tried to select vias when one of the shapes is visible (by default negative planes are not displayed).
    But it has the same result: vias came back to unconnected.

    Then I tried to slide one these "stupid" via and put it back to ix 0 0.
    In this case, when all others came back to unconnected, the "slided" one stay connected to the wanted net!
    So I can add skill code to slide each via but it will be the last solution... jut before adding small piece of shapes.. ;-)

    Thanks for reply.


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

    the same via has 3 different dbid number:

    unconnected via dbid:117964928
    the connected via dbid:135767588
    the via after a dbdoctor dbid:135768336

    It is clear that the first and the second one are different (via delete and via creation) but the second and third should be the same!


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

    solved.

    I like SKILL language but I hate its strange behaviour sometimes...

    It was due to the code:

    previous code:
    Select the via, create a new one using oldvia->name and oldvia->xy then delete the oldvia.
    this does not work. In fact it works but the via does not stay connected.

    New code:
    extract the via. store xy and name in variables, delete the via, then create a new one using variables.
    This works perfectly...

    If somebody can explain this... I like rational explanations ;-)


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

    The problem you had makes sense:

    1. When creating a new via at the same xy, the existing (floating) via connects to your new via.
    2. Next, when you delete the original via, any connected objects need to be updated. (your new via)
    3. Since there is no other connected object to keep the new via on the desired net, the new via becomes floating when the update occurs.

    Here is a speed tip when re-creating objects:
       Save the data for the new objects in a single variable.
       Delete the original objects if needed.
       Create a single procedure to create objects; pass in all the data using the one variable
       Use axlDBCloak on the call to create the objects
       (only add the axlDBCloak when you know the code works, it has error catching and will not show any errors if they occur which will make it difficult to debug)


    Originally posted in cdnusers.org by natebizu
    • 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