I am working on a project with 15 schematic pages and I am wondering how to interconnect a higher density microcontroller with its peripherals without creating too much chaos in the schematic. All pins I would like to connect are either on one page(the function of the local label would be perfect here) or across hierarchical pages. The hierarchical case is easy to draw. But if I need just a local label, I have to do without the rendering of the signal direction. If I use the hierarchical label for an local interconnection the ERC complains and I have ca. 150 ERC errors/warnings because it doesn’t find the hierarchical pin on the schematic in the level above.
The workaround I am using now is to use global labels which A: have a direction and B: don’t cause ERC errors. But even this is not ideal: I am afraid to create unwanted connections across other sheets.
Do you have a hint how I can:
A: prevent ERC errors/warnings for hierarchical labels if there are no corresponding hierarchical pins or
B: get a direction symbol for my local label or
C: make a global label local?
thank you very much about your opinions and hints.
You could try to use the NC marker in the parent schematic (blue X). But i never tried to use this on a hierarchical label.
You could encode the direction information in your naming scheme for local labels.
I don’t think there is a way to do that.
Why are global labels not the best idea for hierarchical designs?
If you use them you can not instantiate the same sheet multiple times. (why? well global labels are global. Which means you would connect stuff that you probably did not mean to connect.)
This reduces the reusability of your schematic modules.
Another danger is that you by accident give two labels the same name over different sheets and create a problem this way.
The programmer needs to know the function of the circuit, the direction should be obvious from that. Eg. an LED is an output, a switch is probably an input.
As a programmer, I’ve looked at many schematics, and would never rely on the labels, they are too often wrong. The CAD does not check the labels, and the electrons unfortunately do not know about the label
To help the programmer, I would suggest using a scheme such as type_name_direction. For example BTN_STANDBY_IN or LED_STANDBY_OUT. This was from a real example, where the circuits were labelled something like PA13_STANDBY and PA17_STANDBY.