Multiple instantiations & bus labels

Hi there,
I’m currently facing an issue involving hierarchical sheets, multiple instantiations, and bus connections. I have a single schematic file, Ethernet.kicad_sch, which I’ve instantiated three times in my top-level schematic: once for the Ethernet interface, and twice for two EtherCAT ports (P0 and P1).
Of course I can’t use the same bus label twice or 3 time within one hierarchical sheet so I tried to define bus aliases for ETH, ECAT_P0, and ECAT_P1.
While this reduces the number of DRC warnings at first glance, it ends up connecting all instances to the same bus :frowning:

One potential solution would be to split each instance into its own schematic file. However, I’m concerned that this approach might conflict with the multi-channel functionality I plan to use later during PCB layout.

ETH, ECAT_P0 and ECAT_P1 include the identical bus signals.

Any suggestions on how to handle this?

(post deleted by author)

After playing around with a test project, I found a way to manage or work around the problem: on the hierarchical sheet that needs the ETH bus multiple times, I added an individual prefix to the bus label. At least in my test project, this seems to work.


BusTest.zip (16.9 KB)

A few years ago I made an example with buses routed through a hierarchy. From what I remember, you have to give the buses a name in the top level to keep them separated, but buses can be renamed in sub levels.

But I don’t really use buses of this complexity in my own projects, and I forgot further details. You can find my test project in the link to below.