• 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. PCB Design
  3. Move ports in symbol created for module

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 165
  • Views 16778
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Move ports in symbol created for module

PaoloUoB
PaoloUoB over 7 years ago

This is something that has bugged me for a while and I have not yet found a solution:

we often re-use schematics in the form of modules. Typically, we create the module following a procedure similar to the one described here and, in most of the cases, the result is acceptable if a bit ugly.

What I mean is that the symbol created automatically is often very messy, with pins scattered more or less randomly, apart for the convention "inputs on left, outputs on right, I/O on top".

As I say, in most cases I prefer not to touch anything but sometimes it is necessary to rearrange the ports in the symbol, and this is where headaches start, because if I move the ports, I am very likely to get the dreaded error "Schematic has port but port does not exist in the symbol. Either delete this port from the schematic or add this port in the symbol." Even though all I have done is move the ports around, not add/remove anything.

The procedure I am following at the moment is this (Allegro 17.2-2016):

- generate the module using tool > generate view. This produces a symbol that I can re-use but very messy from the graphical point of view

- tools > library tools > part developer: open the cell I just created, and go to symbols > sym_1, click on the Symbol Pins tab

- from here, I click on Edit in Symbol Editor, which opens a new window

- in the symbol editor I can, in principle, drag the ports around. However this is where things go wrong, for some reason. In particular, it seems the issue is with ports named like XXX_N. They are automatically created with the bubble that indicates a "active low port". If I try to move any of them (drag them), I can save the symbol but when I try to place it again, I will get the error mentioned above.

Can anyone shed some light in what is the correct procedure to move ports in the symbol created from a module using the generate view functionality?
Shall I not use _N for naming pins? Am I supposed to use a different program to edit the symbol?

As always, any help is greatly appreciated.

  • Cancel
  • PaoloUoB
    PaoloUoB over 7 years ago

    As a workaround, I have gave up with the idea of having ports named XXX_N.

    It seems that whenever a port is named like that, Allegro tries to do something clever. unfortunately, this cleverness results in being impossible to do any modification on the symbol. As soon as a port is touched, I get an error.
    It is worth noting that Allegro also automatically translates the name of those ports to XXX_* (i.e. the _N is replaced by a _*). I do not knot if this is the cause.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RMosig
    RMosig over 6 years ago

    Im brining up this topic again since I'm faced exactly the same problem. But just not having ports named XXX_N is not a valid solution in my case, I need inverted ports.

    Does anybody have a solution for this problem? Did someone learn something new with this topic?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • PaoloUoB
    PaoloUoB over 6 years ago in reply to RMosig

    Hi,

    as a workaround I started using _NEG instead of _N for some of my symbols. It is ugly but it works.
    Furthermore, I think that if you use _N and move the ports not by dragging them but by using the editor table where you can input the coordinates you can edit without incurring in the problem. With this latest method I had hit and miss results...

    I still hope someone more competent will shed some light on this.

    Good luck and please update the post if you get any further with this.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RMosig
    RMosig over 6 years ago in reply to PaoloUoB

    Thanks a lot for your quick response on this rather old thread.

    Did you use for your inverted ports the graphical pin representation with the circle? As far as I know, this can only be set in the graphical editor.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • PaoloUoB
    PaoloUoB over 6 years ago in reply to RMosig

    This is where it gets fuzzy for me, so apologies for any imprecise information.
    My understanding is that if you use the _N convention and let the editor to its clever stuff, you get a port with the circle. This is not merely a graphical feature but it has ramifications in the software. As I mentioned before, you can reposition these using the coordinate system with some chances of success.
    If you use the _NEG convention you do not get the pin&circle connector, just a plain pin, but then nothing stops you from editing the graphical symbol (in the editor) and adding a circle to it, to make it immediately obvious that it is a negative active port. Obviously in this case, the ramifications mentioned before are all lost: from the Allegro point of view that pin is active high, not low, so this might come back and bite you in the back at a later stage, depending on what features you use in the software...

    I hope this makes sense and it is of help.

    • Cancel
    • Vote Up 0 Vote Down
    • 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