[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: blue sky ideas - written down finally
> Component
> A specific instance of an physical part.
That's an instance of a component. There may be many instances of the
same component in a project, e.g. your usual bypass capacitor, your
medium power NPN, etc. It is important to capture this fact in the
automation. The fact that we don't is the main problem with gattrib,
making it a very inefficient tool when there are many instances of
the same component.
> Symbol
> A graphical representation of the functionality of a component.
> Note that there are global symbol files, which apply to all symbols
> of that type, and specific symbol instances in a schematic, which
> apply to a single component. Where it matters, it will be
> specified which is meant.
> Footprint
> A pattern of copper to which a component is soldered.
>
Missing concept: "package". A given electrical component may be
available in multiple packages. The package only partly determines
the footprint: design rules and manufacturing have their say, too. A
given component may be available in several packages.
> So, the problem is... how heavy should a symbol be? If the symbol
> is too light, the user must do extra work to associate a symbol
> with a component accurately, and the risk of getting it wrong is
> higher
Actually, the risk is lower, since if the user does it it is likely
to be right, while there are so many variables that a heavy library
symbol is almost certain to be wrong.
> (a common problem is getting the pinouts on transistors right -
> hence the "transistor problem" name). If a symbol is too heavy,
> making changes to the design becomes more complicated (for example,
> to change an op-amp, you need to change the symbol in the schematic
> - despite both symbols looking identical).
It's a symptom of a missing layer of abstraction: if your symbols are
things like "bypass_capacitor", "low_power_opamp", etc. you change
one symbol to change all instances. The gEDA tools do not encourage
such factored design: you have to work at it a little bit up front
(but it saves much time later). At least the tools don't prevent a
factored approach yet, but I fear for the future, given the
tremendous pressure to grease the skids to the low productivity path.
> My idea for the database is that it is a plug-in for gschem and
> gattrib.
Ugh. That sounds like you intend a "hand-cranked" per-instance
solution, massively inefficient for big projects. A minor clerical
convenience, no more. Now, if to change all my bypass capacitors from
0402 to 0603 I could change one line of text somewhere and type
"make" to propagate, *that* would be a serious timesaving
improvement. Of course, with some planning and a project symbol
library, gEDA comes close here. But it would be nice if it was easier
to refactor the design: it's not as easy as it should be to rebase an
instance on a project component.
Design the bicycle first, then put on training wheels. Don't design
the bicycle around the training wheels. If you think GUI from the
start, you will *never* achieve effective automation.
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user