Electrical rules check on global labels

Using the electrical rule ladybird I get errors on the global labels. For example, I have a processor with GPIO pins and a DAC with input pins. On the processor, I have “GA_0” set as output and on the DAC, I have “GA_0” set as input. I get the green arrow on one of them. I get pin connected to some others pins but no pin to drive it.

Also on my DAC there are two adjacent pins that are neither input or output but need to be tied together. I get a similar error there also.

What is the electrical type of your processor pin? What is the electrical type of or DAC pin?

What is the electrical type of these two pins? (What is set in the symbol?)
What is the exact requirement of your application? (What do you want to achieve with these two pins?)

I have the feeling you do not fully understand what the electrical type means in kicad. I made a post some time ago that explains them:

1 Like

sda (and scl) of i2c are open drain outputs. Just making sure of the recommendation that they should be set to bidirectional. Seems like open drain is more accurate based on their circuit wiring and function.

There are 12 (digital 3.3v) pins connected between the CPU and ADC.
The CPU is a digital output. The “pendants” are pointing out.
The ADC is digital input. The "pendants are pointing in.

The GPIO pins are bidirectional but in this application they are output. I built and put my CPU and ADC components in libraries. I did not see a configuration for the pins. The only configuration I noticed is the shape of the global label.

Verify the direction by editing with library editor:

  1. right click, Properties > Edit with Library Editor or
  2. hover over and type Ctrl-e

Electrical Type is a different selection than Graphic Style.

Silly me. I overlooked this parameter. The video I watched also appeared to overlook this parameter.

I can see that the KiCAD vocabulary is confusing on this matter. The shape of the graphic box drawn around a label has absolutely no effect on its function, direction of signal flow, electrical source/sink behavior, etc. In spite of this, the dialog box that appears when creating a label uses the terms “Input”, “Output” and “Bidirectional”. This seems like an error in the ergonomics of the user interface design.

I can’t suggest more accurate terms off the top of my head but this is a detail that deserves some attention.

(Does that confusion remain when KiCAD is localized to languages other than English? Perhaps a set of more accurate terms already exists in another language.)

Dale

3 Likes

Thank you. It appears to work now. Although my vocabulary is gooder that some, it can also use improvement.

In my experience, the great majority of microcontroller (uC) pins are electrically bidirectional as far as the basic chip is concerned - but typically become inputs or outputs when the uC executes its start-up code. This creates a problem when drafting the schematic symbol: labeling the pins as “bidirectional” in the library symbol may allow circuit design errors to pass through the ERC undetected when the symbol is used in a particular application. This, in turn, leads to a false sense of security when a circuit design passes ERC.

I’ll suggest that the documentation, “Help” files, tool-tips, etc, should emphasize that a successful ERC is a necessary - but not sufficient - condition for design integrity.

Dale

1 Like

Now that I am changing my pin configurations, I see the open/collector/emitter is a great idea. On my first PCB, I forgot those damn pull-up 10K resistors.

A native English speaker may find your vocabulary unusual, or even amusing, but that is not the problem here. The difficulty is a basic ambiguity in the English language, so basic that it can be a problem even for native speakers.It may become a challenge to our creativity and intelligence to find a solution to the problem but engineers are accustomed to solving difficult problems with their intelligence and creativity.

In the sacred writings of the Hebrews and Christians there is a story about a time when all people spoke the same language. The engineers were happily engaged with creating homes and cities, inventing useful things, and generally making life more pleasant. Then the managers appeared and decided that everybody should go to work at making them (i.e., the managers) look important and impressive. This displeased God, who made people start to speak different languages, and technical communication has never recovered from the setback.

Dale

+1
ERC failure is a warning
ERC success is just one test passed

1 Like