← Back to team overview

kicad-developers team mailing list archive

Re: Schematic Symbol Philosophy?

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 06/08/2015 06:42 PM, Andy Peters wrote:
> 
>> On Jun 7, 2015, at 1:33 AM, Eldar Khayrullin
>> <eldar.khayrullin@xxxxxxx> wrote:
>> 
>>> What problem is this trying to solve?
> 
>> No copy sch symbols, no copy pcb footprints, more ready parts
>> with same sch symbol and footprint, but different pins
>> assignment.
> 
> I still don’t understand why you think there are problems.
> 
> Let’s talk op-amps for the moment.
> 
> Does your schematic library have a generic op-amp which you place
> on every design? Do you then go into the schematic and modify the
> symbol you placed so that it calls out TL072 and the correct unit,
> and then do you go in and also add the desired footprint?
> 
> If so, for the love of G-d, WHY? That is a recipe for disaster.
> 
> Why not just have in your library a few of your favorite op-amps:
> TL072ACD, OPA2134UA, OP275GSZ. Note the symbol names, which are the
> vendor part numbers and as such have the footprint encoded into
> them. And, each symbol has the correct footprint embedded in it.
> 
> Do you consider this “unnecessary duplication” in that each of
> these dual op-amps has the same symbol and uses the same footprint
> (SOIC-8)?
> 
> It is MUCH harder to make an expensive mistake if the symbol — the
> “component” — is “complete,” in that it has the correct pin-out
> which matches the footprint.
> 
> Your suggestion of a "components library” solves a problem which
> doesn’t actually exist.

The "components library" is the approach Eagle uses, and I have a bit
of Eagle experience, so let me try to explain...

In that approach, you do _not_ place just a symbol in a schematic, but
an entire component (maybe a TL072ACD) or a component for which there
are several variants (maybe a TL072A with the variants CD and DE, one
a SOIC8, the other a PDIP8, but same symbol).

This makes the creation of new components and variants very easy, as
long as the symbol and the package (Eagle speak for footprint) exist.
All you have to do is to give it a name and "connect" symbol pins to
footprint pads. This last step is basically what you used to do with
CVPCB, only you do it only once, when you create the component. You
don't have to do it for every TL072ACD in your schematic (where I
agree it's very error prone), and it's more flexible than CVPCB,
because it can connect pin 1 (symbol) to pin 3 (footprint) or pin E
(symbol) to pin 3 (footprint) - so you don't need the
TO220BCE/ECB/CBE/123 footprints.

So you have a single "canonical" version of each footprint and symbol.
No need to copy symbols for creating new components, no need to update
or even touch all your OP-Amps when the one you based your symbol on
shows a bug.

Or in other words: It takes your "library with a few of your favourite
OP-Amps, each with the correct footprint embedded" one step further:
The components only link to symbols and footprints. If you place a
component in a schematic, it shows the symbol linked from it, and
stores the information of available footprints to be used when you
create a PCB from the schematic. If you place a component on a PCB, it
shows one of the footprints it links to (or a selection dialogue).

Maybe this clears the mud a little?

Heiko
- -- 
Mein PGP-Key zur Verifizierung: http://pgp.mit.edu

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlV16sQACgkQ/Vb5NagElAVh+ACfQIRaQ6+LJqjxQFOYGQUA7ssp
zOsAn1tT8g+a+25dzAdqQ3nAH8muUksb
=hzJ/
-----END PGP SIGNATURE-----



Follow ups

References