Local labels with multiple instances of hierarchical sheet

I am working on an isolated serial interface with several ports. So I decided to design the basic interface with its isolated DC/DC-converter a single time and put it into a hierarchical sheet:

  • Sheet: Channel1, File: IsolatedChannel.sh
  • Sheet: Channel2, File: IsolatedChannel.sh

The “parent” VIN (3V3) and GND are passed to the hierarchical sheet by using hierarchical pins “3V3_IN” and “GND_IN”. To ensure local (and in this way isolated) power levels for the multiple sheet instances I am not using power symbols (which are global by default), but local labels placed on the appropriate wires after the isolated DC/DC-converter.

However, the ERC raises some errors telling that the GND output pin of each single DC/DC-converter is connected to another one inside another hierarchical sheet. This is exactly what I wanted to prevent by using local GND wire labels instead of GND power symbols.

Any hint about how to solve that behavior in order to get “real” isolated GND levels for each of the DC/DC-converrter inside every hierarchical sheet is pretty much appreciated. Feel free to ask for further details if needed.

Parent Sheet, Hierarchical Sheet and ERC report window:

Your local label “GND” has the same name as your global “GND”. They are connected through the global label and therefore connected to all GND pins and each other.

To resolve the issue, rename your local GND and local 3V3 to non-global names. e.g. GND_LOCAL

power symbols are global labels. So if you use power symbols in sub sheets they are all connected.

I don’t see any hierarchical label in your screenshots. I assume the sub sheet is not shown?

I’m not sure if this is true. I thought that the sheet name was prepended to the local net names in order to keep them local.

I wonder if the behavior is exposing a bug/glitch somewhere. Because the sheets all have the same filename, might the prepended sheet name be the same? Where is (for example) U8? Same component on a different channel?

The OP might want to generate a netlist and carefully look at it to see what the net name at U2-7 is called.

I’ll respond briefly in case this question comes up in a future search. As of 4.0.x and 5.0rc1, the behavior I describe is accurate when matching local/global labels. You cannot have a local label with the same name as a global label without connecting the nets. Once the nets are matched, sheetnames are prefixed to prevent two local labels from conflicting.

This is not the case for hierarchical labels. These always have the sheet name prefixed even when matching.

This solved the problem. Renaming the local 3V3 resp. local GND to 3V3_ISO and GND_ISO did the job.

However, I am not able to connect the 3V3_ISO with the VCC-pin of the interface IC (pin 24 on MAX3243) since those seem to be different nets…

Then your schematic is wrong.

Actually, importing the updated net list seemed to be the problem :confused:.
As far as I can tell, everything is fine now…

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.