(Solved) 5.1 Schematic that's Completely FUBAR in 7.0. What can I do?

I have an older project (5.1) that I’ve updated with new symbols and new routing.
But running ERC results in a firework of errors and warnings. Even the sheet title field throws errors! (Date and Title).
It seems to do with the bus connections, but redrawing some lines didn’t help. Perhaps I’m just incompetent, I dunno.

I attach the project. Any suggestions, please?
Sync_prog_Nbit_counter_CLA.zip (19.7 KB)

Thanks.

I’ve been looking a bit at your schematic.

First step was to disable some ERC warnings.

  1. “Both 12345 and P12 are attached to the same items, 12345 will be used in the netlist”
  2. "The Current configuration does not include the Library ‘0_74xx’

After that I was left with a lot of “Label not connected to anything”. I fixed that temporarily by duplicating them and attaching them to a connector:
image

These are because you abused labels as text strings. I disabled the warnings by connecting them to another connector and duplicating them, so they just connect two connectors, but you should turn them into text strings instead.

image

I also removed the P[0..3] label on the bus, I was not sure whether that interfered with anything.

After getting rid of nearly all the Errors / warnings It did not look too bad. So I went back to Schematic Editor / File / Schematic Setup / Electrical Rules / Violation Severity and I turned the Ignored back into warnings. This turned back a lot of the “Both 1234 and P12 are attached” warnings. For P0 though P11 are listed near the global labels, while for P12 through P19 are listed at the counters. These are informational messages / warnings, and no errors. Their use is (I presume) to check for spelling errors or other mislabeled labels. But there is nothing wrong by doing this intentionally.

Here is the schematic as I cleaned it up a bit. I see no big or severe problems with it. If you are still confused, then give a better description of the parts you are confused about. Put it in a specific example. Add a screenshot or copy & paste the exact text so others can narrow it down to a small part of your schematic.

2023-09-04_Sync_prog_Nbit_counter_CLA.zip (21.3 KB)

@paulvdh, first a big Thank You for your affort here.

Concerning:

Yes. This is because the parts are from my personal library.

Very likely. It’s an old design from my early days with KiCAD. Fixed now.

Yes. That was just a desperate idea from my side to see if “sub-buses” need labels as well. Not the solution.

I’m left with the bus errors, and I think it’s related to the global labels vs. the connection/bus labels.

The .zip you attached gives me a bit of trouble. Off to bed, back tomorrow.

You can use the highlight function (Back tick, just below the [Esc] key on a normal keyboard) to verify that KiCad sees the whole blue bus as a single connected entity.

Your library issues were also expected to be easy to resolve. I do not have your library, so I just mentioned it in my post.

As I already wrote in my previous post. This is not an error (if we’re talking the same thing here). It is just an informational message telling you that each of those wires has two labels, and only one of them can be used for the net name.

So I see nothing fundamentally wrong with your schematic. KiCad V7 does give a lot more ERC errors and warnings, but not all of them are real faults. It is just KiCad telling you: “Hey, I found something, are you sure you want it this way?”, and that is all. It’s not serious. You should verify those things, but then can set them to ignore, (by right clicking on the ERC warning, and selecting “Exclude this violation” from the popup menu)

And yes, I agree this s not very ergonomic, nor reliable, but it is also a relatively new feature. Maybe it would be a good idea if KiCad would keep a spreadsheet like list of different names which are verified to be the same physical net.

Thanks again. But I’m still in trouble.
The “connector” solution you proposed is a workaround, but not really a solution.
I’m in doubt whether I’ve completely misunderstood the concept of “Global Labels”.
To me, they’re a way of getting a signal onto (or off) a sheet.
I attach the schematic as screenshot, and also the first part of error report.


The first one that catches my eye is the top one, which relates to the input of the circuit. It makes no sense to me. I mean, isn’t an “input” Global Label automatically an “output” pin to the rest of the circuit?
The rest are pretty much the same (the bus inputs). Do the Global Labels have to have the same name as the nets they connect to?

Yes, of course it is a workaround.
I only have one sheet of the project, so I can not connect it to anywhere else. For the long connector on the left side, all those global labels are supposed to connect to a sheet that was not part of the partial project you uploaded.

Yes, that is correct, but I can not connect them to a sheet I do not have, and therefore I used the connector to get rid of the warnings (temporarily).

Those:

Input pin not driven by any Output pins

messages have nothing to do with labels, but with the way pins are defined. If you read the line below it:

Symbol U1 Pin 2 [CP, input Clock]

That is an input pin of your 74HC161 counter, and if it is not connected to an output pin then your counter can not count. That means that on another sheet, a global label with the name In must be defined, and connected to an output of some other IC.

Probably not. I am not entirely sure, but as far as I know they are just labels. Whether you use them as an input, output, bidirectional or passive, is (I think) just graphical. ERC looks at the pins of schematic symbols (inputs, outputs, etc). The labels are just names that connect wires.

When you connect a global label to a net, the net will always get the name of the global label. You get a warning about the other name, but this is just a warning. I suggest you start a new and simple KiCad project to experiment with this. And then only go back to this big project once you understand how the labels work. Wit a small project, it is also easier to zip and upload the whole project if you still have questions.

2 Likes

@paulvdh, Thanks again.
I actually had a misconception of the capabilities of the Global Labels. I thought they can be used as general-purpose entries to/exit from a sheet; the fact that they have to be driven from somewhere else had escaped me.
Replacing the “In” global label with a “Connector:Conn_01x01_Socket” solved the first error, I’ll fix the other inputs now.

Yay!! Zero errors and warnings after replacing with connectors! I’m happy.

4 Likes

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