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.