[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: RFC: Towards a better symbol/package pin-mapping strategy



Bill Gatliff wrote:
> At the risk of going OT, I'll add that as I get better at following the
> above strategy--- which is particularly helpful with more complex parts
> like microcontrollers--- I get really frustrated at gschem's strong
> association between pin numbers on the symbol, and pin numbers on the
> footprint.  That's just... wrong.  It would be nice if there was an

agreed.

> Packages like SOT5 and DIP16 are used everywhere, not just for
> LittleLogic and 7400.  So just going to a "virtual pin naming
> convention" that's 7400-specific, like I just described, doesn't really
> solve any problems--- it just moves them around a bit.  What is REALLY
> needed is for footprints to use physical pin numbers as they do today,
> and then use a table (probably carried with the symbol) that does the
> ABY->pin mapping on a per-footprint basis.  Something like this:



> I think the above solution is pretty compelling, and it isn't a big step
> away from what we have today.  It's just an additional layer of
> abstraction above/replacing the slotdef= parameter.  I'm hardly the guy
> to talk about how hard it would be to implement, but it doesn't seem
> THAT hard...  :)

for things like transistors and IC's, I have already implemented exactly 
this for my own use.  I have an ASCII file that associates a complete 
vendor part number (including package code) with a symbol template, a 
footprint, and a mapping from symbol pin to footprint pin.

Then I have an awk script that reads in the database and produces a set 
of "heavy" symbols that have the correct pinout to match the footprint 
that goes with them.  So on my schematic, I see the correct pin number. 
  If I want to change from a part in a 16 pin DIP to a 20 pin PLCC, I 
pick the new part number with correct package code to instantiate.

The awk program is all of 64 lines long if you strip out comment and 
blank lines.  If you keep the whole thing its only 84 lines long.  Seems 
to work like a champ.  I've been able to very quickly fill out some 
familes of parts and transistors are trivial.  Plus I no longer worry 
about the "SOT-23 problem" (the one where different vendors number the 
physical pins differently.

The place where I'm not so happy is for things like standard resistors. 
  There I really don't want to create a massive pile of heavy symbols. 
I'd rather have a symbol that points to some callback code (probably in 
scheme since you'd want it loadable at run time) and it knows that once 
you pick a tolerance, you get to pick from a predefined list of values 
and you also get a predefined list of packages.

For transistors and IC's, I have no problems with the "enumerate them 
all" approach I've taken.

-Dan



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user