← Back to team overview

kicad-developers team mailing list archive

Re: Schematic Symbol Philosophy?

 

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

On 06/08/2015 10:41 PM, Andy Peters wrote:
> 
>> On Jun 8, 2015, at 12:19 PM, Heiko Rosemann
>> <heiko.rosemann@xxxxxx> wrote:
>> 
>> 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.
> 
> OK, so this “component” library is something that maps symbols
> (from a symbol library) and footprints (from a footprint library)
> into a third library, in much the same was as Altium does with
> their Integrated libraries.

Yes, it is for Eagle (although components, footprints and symbols were
all saved in the same file when I last used Eagle, but still during
the schematic and PCB design phase you only interact with components)
and I guess that's what Eldar tried to achieve too.

>> 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.
> 
> A given component should have exactly ONE available footprint. If
> your opamp comes in PDIP-8 and SOIC-8, those are two different
> components.

Why? There's a good point for the opposite: Making different PCBs (SMD
for series production/no SMD for prototyping/hobbyists or different
casings) from a single - consistent - schematic. Otherwise you are
going to run into trouble because you'll have multiple schematics of
the same system and you need to change something on the logical
(schematic) side.

Of course the different "variants" of a single component would also
need different BOM numbers, different 3D models etc. and stuff like
the BOM needs to be generated from the PCB, not from the schematic, in
this use case.

>> If you place a component on a PCB, it shows one of the footprints
>> it links to (or a selection dialogue).
> 
> Here’s a question: why would you place a component on a PCB? That
> component has no connectivity information, and Kicad won’t (and
> IMHO, shouldn’t) let you edit the netlist in pcbnew. (How should it
> regenerate the schematic when you do that?)

1) For very simple layouts, you may not need a schematic at all, but
need a PCB file for manufacturing the board, so you just place the
components and draw lines for tracks.
2) Other software (and maybe also kicad someday?) can do
back-annotation, i.e. netlist editing from the PCB editor. That's
where adding a component on a PCB really comes into play (and deleting
is still more relevant than adding)

> So I see what you’re saying … the “symbol” library should contain
> symbols only, and have no connection to a footprint, and you need a
> component library to map a symbol with a footprint (and a 3D model,
> and a custom part number for the BOM). The engineer doing the
> design interacts only with the component library; only the
> librarian needs to be concerned with the symbol and the footprint
> libraries.
> 
> Gotcha.

True, the big advantage would be on the librarian's side - much easier
to keep all the components correct and on the same up-to-date symbol
and footprint set when you only have to do pin-to-pad mappings instead
of copying/drawing symbols. Imagine just 20 OP-Amps, and then for some
reason you (or your customers) want a different font size in the
schematic - in a non-component-embedded-footprint-symbol approach
you'd need to touch every single symbol, in a
component-as-symbol-footprint-pin-pad-mapping approach there's only
one file to touch: The OP-Amp symbol.

> From the perspective of the user who considers each symbol to be a
> component (again, that is: embedded footprint, embedded custom part
> number, different symbols for TL072ACD and TL072ACP) and ignores
> the CvPCB crap, there’s not much benefit to a separate component
> library. That is especially true given the inability to edit a
> netlist in pcbnew.

If there was a library for every part the user would ever want to use,
that would be true. I have yet to meet a PCB designer who never
created any library components (as in: Choosing symbol, footprint,
doing pin association) though...

But this topic has crept up on this list about every other year (I'd
say) and nobody (me included) is putting any coding effort (or similar
contribution to kicad) behind it, so we might as well drop the
conversation here - I just wanted to drop in because I felt you and
Eldar weren't really discussing the same thing ;)

Good night from Germany,
Heiko
- -- 
Mein PGP-Key zur Verifizierung: http://pgp.mit.edu

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

iEYEARECAAYFAlV2COgACgkQ/Vb5NagElAUL4gCgoAWeazdFoUnB85HN/aQ20EYb
WRwAoI1ZsTrhAR0qlu14e2fpHoqc6y/A
=b0yI
-----END PGP SIGNATURE-----



Follow ups

References