cvpcb incorrectly counts pin in multipart component

Bug #1363874 reported by Lorenzo Marcantonio
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Won't Fix
Low
Unassigned

Bug Description

The filter for pin count in cvpcb doesn't work when a multipart component is partially used. This in today bzr.
To reproduce:
- Create an eeschema design with a multipart component (like a resistor quad pack) and instantiate every subpart of the component.
- cvpcb filter correctly in this case

- As before but instancing only *some* of the subparts: cvpcb only counts the pin in the used subpart; example: for a 4-resistor packs, you only place 3 of these -> it shows 6 pin components, not 8 pin components

Tags: cvpcb
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

How do you partially use a component? You cannot put 3/4's of a quad op-amp on a board. You have to put the whole chip on the board. I would think leaving unconnected logic gates and op-amps on a board would be a bad idea. I guess we could force the full component pin count weather or not all of the sub-units are used in the schematic or not. Although I'm not sure that is a good idea. Maybe it would be better for Eeschema to raise an ERC error.

Revision history for this message
Lorenzo Marcantonio (l-marcantonio) wrote : Re: [Bug 1363874] Re: cvpcb incorrectly counts pin in multipart component

On Tue, Sep 02, 2014 at 04:49:10PM -0000, Wayne Stambaugh wrote:
> How do you partially use a component? You cannot put 3/4's of a quad
> op-amp on a board. You have to put the whole chip on the board. I
> would think leaving unconnected logic gates and op-amps on a board would
> be a bad idea. I guess we could force the full component pin count
> weather or not all of the sub-units are used in the schematic or not.
> Although I'm not sure that is a good idea. Maybe it would be better for
> Eeschema to raise an ERC error.

That would be a good solution; the netlister already do sanity checks
on components (like 'every subpart uses the same package') so the 'all
subpart must be instantiated' should be quite easy to add.

That would force to put somewere the 'spare' remaining parts... for some
things that would be a good idea anyway as you said. Lets see:

- Passive and TVS/diode arrays: Could be a nuisance to have spares...
- Switches and relays: unused contacts *should* listed as spares (for many
  technical/safety reasons). And usually you don't use more contacts
  than needed :D
- Discrete logic: now that CMOS is the rule you *must* tie unused inputs
  somewhere (usually ground) otherwise hell will freeze;
- Opamp/comparators: ditto, unused inputs to ground;

Also in some kind of subcomponent the component is usefully instantiated
only when *all* the subpart are drawn (example: big ICs, FPGA/CPLD with
I/O banks as subparts, even discrete logic if you use the power port as
a subpart)

So I completely agree. I can't find a good reason to *not* force full
component instantiation (other than having some spare resistor pack
pieces lying in a corner...)

--
Lorenzo Marcantonio
Logos Srl

Revision history for this message
jean-pierre charras (jp-charras) wrote :

I fully agree with the fact a good schematic must include unused units (and some other things like mechanical holes)

Well: 'all subpart must be instantiated' should be quite easy to add.
I also fully agree, but who is volunteer to add a ERC warning message if it is not the case?

By the way:
Opamp/comparators: ditto, unused inputs to ground;
I do not agree: inputs are analog inputs, not logic inputs.
the best way, if the op amp is stable at gain 1: input + to ground, input- to output
otherwise it is not inside its linear range and the supply current often increase.
And, if it is inside its linear range (very low risk) , it certainly oscillates.

Revision history for this message
Lorenzo Marcantonio (l-marcantonio) wrote :

On Tue, Sep 02, 2014 at 06:20:56PM -0000, jean-pierre charras wrote:
> Opamp/comparators: ditto, unused inputs to ground;
> I do not agree: inputs are analog inputs, not logic inputs.
> the best way, if the op amp is stable at gain 1: input + to ground, input- to output
> otherwise it is not inside its linear range and the supply current often increase.
> And, if it is inside its linear range (very low risk) , it certainly oscillates.

Yep, you're correct. I was thinking more of comparators than opamp. And
since I mostly use either dual supply or rail to rail, so the common mode
usually includes ground... technically very ancient opamps are not
stable at unity gain followers but I think that anything made in, say,
last 15 years is:P (phase reversal is also fun :D)

Btw, strange: I sometime have spare comparators but never had a spare
opamp (maybe because it's not difficult to find *something else* which
can be usefully buffered or amplified:P:P:P)

--
Lorenzo Marcantonio
Logos Srl

xzcvczx (xzcvczx)
Changed in kicad:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.