Net labels and Bus Semantics

I’ve been trying to understand whether bus lines actually do anything. The wires that go to and from a bus have to have net labels, to show which links to which. The manual says that the bus entry lines are only cosmetic. But if they’re omitted KiCad has no way to know which bus line a wire is associated with. Finally, leaving both entries and bus lines out still works because wires with the same net label are considered connected together.

Have I missed something?

Its true. But if your schematic has too many such hanging wires, it may be difficult for someone else to trace the nets & read the schematic easily. Blue bus line provides better visual info as to how the signal flow is.
Also I’ll prefer a single hierarchical label in multi-sheet schematic named D[0…7] instead of having individual hierarchical labels for D0 to D7

OK, thanks for the confirmation.

As for the subsheet scenario, I am quite unable to get this to work, even for the most trivial example. Unfortuately, as a new user, I cannot upload my test case.

Level up. Try now. .

1 Like

Thanks Hermit.

file5DC6D95F.sch (1.3 KB) Test.sch (2.7 KB)

Just like your nets need labels, you will also need to label your bus.

There’s a really good post from Bald Engineer about the v5 bus labels at https://www.baldengineer.com/kicad-bus-labels-and-global-labels.html

In your case, you need the following label

3 Likes

Well, I’ve tried that, but I still can’t get it to work.

Does anyone have sch files for an example using hiearchical labels (and not global labels on the bus) that actually works?

Here are your two original files, converted to use bus labels. Exporting the netlist gives:

  (nets
    (net (code "3") (name "GND")
      (node (ref "R4") (pin "2"))
      (node (ref "R3") (pin "2"))
      (node (ref "V1") (pin "2")))
    (net (code "4") (name "/MB-1")
      (node (ref "R4") (pin "1"))
      (node (ref "R1") (pin "1")))
    (net (code "5") (name "/MB-2")
      (node (ref "R3") (pin "1"))
      (node (ref "R2") (pin "1")))
    (net (code "6") (name "Net-(R1-Pad2)")
      (node (ref "R1") (pin "2"))
      (node (ref "V1") (pin "1"))
      (node (ref "R2") (pin "2")))))

file5DC6D95F.sch (1.3 KB) Test.sch (2.6 KB)

Seth, thankyou for that.

So what I was missing was the need to use the bus name on the hierical label and associated pin.

I find that very unintuitive.