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