• 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. Extract all symbols/nets from a design

Stats

  • Replies 16
  • Subscribers 160
  • Views 9503
  • Members are here 0
More Content

Extract all symbols/nets from a design

serpens
serpens over 12 years ago

Hi, I'm new with SKILL, I try to do some code and it works, but as I trying to go deeper I found some issues. I start to work with the database and as a exercise I want to extract all reference designators (or net names) from a board.

However, I was looking trough Allegro® User Guide: SKILL Reference but can not find nothing. I don't want from you to give me the code, I just need some advice in some methodology how to extract such things from database.

I found only this axlExtractMap (there is an example how to extract all net names) but if I understand it correctly it use already existing report files and I looking fore something without external files.\

Regards,

Miro

  • Sign in to reply
  • Cancel
  • D912349
    D912349 over 12 years ago

    Hi Serpens,

    use the following:

    for net dbids

    allNets = axlDBGetDesign()->nets

    for net names

     allNetsname = axlDBGetDesign()->nets~>name

    for symbol dbids

    allSymbols = axlDBGetDesign()->symbols

    for symbol refdes

     allSymbols = axlDBGetDesign()->symbols~>refdes

    Regards,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • serpens
    serpens over 12 years ago

    Thanks a lot, it works. I was trying this:

    allNets = axlGetParam("design")->nets

    but returns nil.

    One more question, regarding the example you give to me. It looks like it takes only placed symbols. For nets it works for all of them.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 12 years ago

    In the Allegro Skill Reference Manual see section 2 (Allegrp PCB Editor Database User Model). You want to look at the Design Attribute table. The symbol attribute reports the list of placed symbols while the component attribute reports all components whether its symbol is placed or not. Components match all of the parts referenced in the netlist and sport a REFDES.  If you place addtitional symbols (such as mechanical or format) that are not netlist they will show up on the symbol attribute but not in the component attribute.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • serpens
    serpens over 12 years ago

    Thanks, I was looking on the database user models and alway jumps into Design instead of Design Files. 

    Now I trying to get more info from the database, but I'm stuck again. I decided to write a small skill routine which will look at each net in the design and check if the net is connected to symbol with specific refdes eg. Rxxx

    I want to use this;

    axlDBGetDesign()->nets~>branches~>children~>objType

    to find if a dbid is a pin and if yes I will go deeper and try to find the parent of the pin and his ref des and compare it with some patern. Is this good way? Or is there something less complicated?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 12 years ago

    This would be eaier to do if you started from the component (e.g. the one with the RefDes). If you have a component dbid, it has an attribute containing a list of pins.You can then look at the at the net dbid attribute of each pin add create a list of nets that are connected to the symbol.

    • 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