6
\$\begingroup\$

I want to connect bus-lines via several-sheets in KiCAD 5.0 But I don't know whether I got that right. Please consider the following design: connecting the bus

connecting the sheets

Shown in Figure 1 you can see my connection from the chips output to the signal-bus. I added hierarchical labels to each bus. Those were added with the following function: Label-function

Figure 2 shows the parent-sheet in which the network-logic- and the plug-sheet live. There I then added the hierarchical pin with the following function: Pin-function

I added the label and the bus on the plug side the same way, as shown in picture below. Plug-sheet

Question:

  1. Is my bus now connected correctly, or am I using the idea of labels wrong?
  2. Do labels work with busses the same way the do with single wires?
  3. Is it correct, that every line from a bus that has the same name, will be connected in the net-list?
\$\endgroup\$
3
  • 1
    \$\begingroup\$ I'm not 100% sure, as I'm a bit of a newbie with kicad myself, but my understanding is that the labels attached to wires that enter/exit bus must have the bus name as a prefix, and a numeric suffix, so in your example the wires would have to be called Eth11 and Eth12. Which isn't exactly helpful for understanding the circuit, but seems to be what kicad expects... \$\endgroup\$
    – Jules
    Commented Aug 1, 2018 at 12:03
  • \$\begingroup\$ do you have a resource for that? \$\endgroup\$ Commented Aug 1, 2018 at 12:20
  • 1
    \$\begingroup\$ I don't know if Kicad has the facility but in OrCad, if I select a net (say LED1) I can highlight the whole net with a drop down menu specific command. If you can do this then you can prove there is connectivity. Alternatively, do a netlist and see if it connects the net to all the parts in the ascii file it creates. \$\endgroup\$
    – Andy aka
    Commented Aug 1, 2018 at 12:41

2 Answers 2

5
\$\begingroup\$
  1. Is my bus now connected correctly, or am I using the idea of labels wrong?

Local labels (in your example, these are LED1, LED2) will all be connected. So in your first image, the pin for LED1_0 and LED2_0 will be connected. This is probably not what you want. You should prefix each wire in a bus with the same string. So ETH1_LED1 and ETH1_LED2 for bus ETH1 and ETH2_LED1 and ETH2_LED2 for bus ETH2.

  1. Do labels work with busses the same way the do with single wires?

No. There are some bus-specific label requirements (see https://docs.kicad.org/5.1/en/eeschema/eeschema.html#connections-buses)

  1. Is it correct, that every line from a bus that has the same name, will be connected in the net-list?

Wires connected to buses need to have a local label attached to them identifying which bus member they are connecting. Each bus member needs to have the same alpha-numeric prefix (e.g. ETH1_LED) and a numeric suffix.

\$\endgroup\$
5
\$\begingroup\$

Beginning with KiCad 6.0 it's possible to solve this in a multisheet friendly way.

Busses may have names and those names may be aliased to each other. To access a net in one bus it's done by writing BUSNAME.NETNAME. To satissfy the ERC check however the hierarchy pin needs to be defined as a bus containing the correct nets, eg SPI{CLOCK MISO MOSI}. Thankfully this can be shortened by Bus Definitions for large busses found under Tools to SPI{SPI_def}.

One Example:

enter image description here enter image description here

P1: P2:

All pictures were taken with the same net selected. The resistors are there to show which peripheral is currently open.

\$\endgroup\$
3
  • \$\begingroup\$ Can you depict the bus creation inside the MCU as well, to demonstrate the labelling when nesting buses inside buses? (I am still a bit confused at that step, as SPI1{SPI} does not appear as SPI1{SPI{CLOCK MISO MOSI}}.) \$\endgroup\$
    – kando
    Commented Jul 18, 2023 at 17:29
  • 1
    \$\begingroup\$ You create the Bus Alias in the Schematic Setup Panel. SPI just gets replaced with CLOCK MISO MOSI. So without the alias it would be SPI1{CLOCK MISO MOSI}. But it's best to label things properly especially for big busses live ethernet or a pciex16 bus. \$\endgroup\$
    – Steven
    Commented Jul 19, 2023 at 18:19
  • \$\begingroup\$ Thanks for the above. Can you additionally add a newline between the blocks image and the SPI1 breakout image? They appear to be one consolidated schematic. \$\endgroup\$
    – kando
    Commented Jul 29, 2023 at 1:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.