gEDA-dev: Diode symbols in GSchem and PCB

Peter TB Brett peter at peter-b.co.uk
Tue Dec 12 09:19:21 EST 2006


On Tuesday 12 December 2006 12:55, Bernd Jendrissek wrote:
> On Tue, Dec 12, 2006 at 11:50:48AM +0200, Tomaz Solc wrote:
> > I think this inconsistency is quite dangerous.
>
> [...]
>
> > Or am I missing something here?
>
> Now consider that there are parts like 1N1183 and 1N1183R where the only
> difference is which electrode is connected to the nice big metal body.
>
> It's becoming increasingly clear to me that gEDA needs another level of
> abstraction if we want to avoid having a symbol library consisting of
> one symbol for each and every part and its variants.  (And I think we
> should avoid that.)
>
> I'd like to be able to place a DIODE symbol on my schematic and only
> figure out later which PART I need.  The pins should only get their
> footprint numbers once one has chosen a specific orderable part with
> which one wants to implement the function.  I don't like the idea of
> having to delete a 16C2550 PLCC from my schematic just so I can re-add a
> 16C2550 TQFP.
>
> I wish I could show something more concrete but for now I can only do
> some handwaving while I try to piece together exactly what I think I
> need.

This is something I considered in abstract form over the summer.  Basically, 
you have a library of "symbols" which you put on your schematic, and a 
library of "footprints", which you put on your PCB layout.

A "part" is something that maps the pins on a symbol to the pins on a 
footprint.  The part may have several variants, and may have metadata 
associated with it (vendor name/stock id, documentation URL, etc).

So, for instance, the "STPS2L40U" part would map the pins on the "diode" 
symbol to the pins on the "DO-214AA" package.

Similarly, there are about a million op-amps out there, and many of them have 
different pinouts despite being in the same package.  What you want to do is 
to have a "op-amp" symbol with pins V+, V-, IN+, IN-, OUT and then when 
you've done your schematic and decided which actual parts you're going to 
use, create the part definitions to match.


------ EXAMPLE PART FILE (AD8615.gprt)------

++METADATA++
description="20 MHz, Rail-to-Rail Input/Output Op-Amp"
documentation=http://www.analog.com/UploadedFiles/Data_Sheets/AD8615_8616_8618.pdf

++MAP++
id=1
numslots=2

:1	OUT[0]
:2	-IN[0]
:3	+IN[0]
:4	V-
:5	+IN[1]
:6	-IN[1]
:7	OUT[1]
:8	V+

++PACKAGE++
footprint=MSOP8
map=1

++PACKAGE++
footprint=SOIC8
map=1

--------------------------------------------


So:

 *  Symbols no longer use "pinnumber" or "pinseq" attributes.

 *  As instantiated, no part is associated.  Attempting to netlist or select 
slot fails with an error, unless the symbol has "graphical=1".

 *  A part should be selected.  In this case, the part would be "AD8616".  
This is still not enough to specify the part fully.

 *  Now gschem will have read "AD8616.gprt", and the user can select a 
specific footprint. Having done so, gschem will now allow the user to select 
slots.

 *  Combination of symbols by refdes still works, except that all symbols thus 
combined must have the same part/footprint associated.

Comments?  This is far too much work to ever get implemented, but I think that 
it solves the problem.

Peter


-- 
Fisher Society committee                    http://tinyurl.com/o39w2
CUSBC novices, match and league secretary   http://tinyurl.com/mwrc9
CU Spaceflight                              http://tinyurl.com/ognu2

v3sw6YChw7$ln3pr6$ck3ma8u7+Lw3+2m0l7Ci6e4+8t4Gb8en6g6Pa2Xs5Mr4p4
  hackerkey.com                                  peter-b.co.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.seul.org/pipermail/geda-dev/attachments/20061212/d888683e/attachment.pgp


More information about the geda-dev mailing list