2
\$\begingroup\$

I have a error in my schematic "Contains floating input pins":

enter image description here

This error cause an issue apparently, the issue is that, When I update the Schematic to see the footprints in the PCB, the footprint of R23 is not in the PCB and I get this message: enter image description here

Any idea how can I fix it?

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Could it be that the net is not properly connected to the resistor? \$\endgroup\$ Commented Jul 1 at 10:50

1 Answer 1

5
\$\begingroup\$

Schematic ERC is a, somewhat archaic mechanism nowadays, but its purpose is to ensure connectivity in a logic design.

Back in the day, sheets of logic, making enormous boards full of chips, was the only way to make advanced designs. As CAD tools advanced, ERC was developed to facilitate schematic capture -- ensuring that all logic inputs are driven, no outputs are shorted together, etc.

Jump forward to today:
Verifying Your Design Project | Altium Designer
Altium's connectivity matrix provides the same mechanism (among others: not just pins, but port and harness objects too) to verify connectivity.

But we largely do not construct vast systems of logic today. The average user probably sticks together some peripherals and an MCU, and various power and support bits. Analog circuits rarely benefit from ERC; while op-amp inputs and outputs can (and should!) be checked in this way, the frequent use of resistors, capacitors, etc. inbetween ICs makes this at best tedious to follow. Also, bus connections are less common, with point-to-point routes being preferred (effectively, trading interface and internal (on-chip) complexity for simplicity of wiring). Checking direction doesn't really matter here, just simple connectivity (well, and polarity when that matters, or SDA/SCL, or RX/TX, but you know).

Here, U2-7 has been set as input type. The resistor pins are probably set as passive type. No output type pin drives the net, therefore ERC determines it to be floating (indeterminate logic level). To fix this, the resistor pin can be set as output (preferably it would take a "weak high" or "weak low" type ala IEEE-1164, but Altium's ERC isn't this subtle), the IC pin set to passive, or the rule downgraded to a warning or non-error.

As for R23 not showing up in PCB, check that it is set as normal type (not graphical or whatever), has a footprint linked and verified, all pins match, and there are no errors in the ECO.


As commented below, the resistor pin should show in the SCH error/warning when compiled. As demonstration (ab)using some stock parts in a schematic I have open...

enter image description here

I have changed IC7-2 to input type, and connected it to R43-1 (passive type). Both are enumerated in the net, and the project identifies it as an un-driven net. Disconnecting R43,

enter image description here

generates a floating net error.

You may find it helpful to work at 5 or 10 grid, by default, and use comparably sized and positioned pins in symbols. Components off grid, or using too fine of a grid, can generate connectivity issues. Or maybe the resistor isn't drawn correctly at all (does it have pins in the obvious places?).

The error is also produced if R43 is positioned correctly but set to ComponentType = 'Graphical'.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ The list in the right-hand of the screenshot ought to include one pad of the resistor. There really is a connection problem. Last paragraph of the answer is the most likely to solve it. \$\endgroup\$
    – Ben Voigt
    Commented Jul 1 at 18:16
  • \$\begingroup\$ It's not clear to me if the list isn't showing more entries, or is actually absent, but this would indeed be another hint. \$\endgroup\$ Commented Jul 1 at 18:20

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