[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Ideas for fixing slotting, methodology discussion, NOT implementation details!
Steven Michalske wrote:
> What do we need to define?
> I will logically split a symbol and a component now, but we shouldn't
> make the assumption that the will be split in the final implementation.
>
I don't think we'll be happy with things if we don't keep them logically
split, since they are in fact two conceptually different entities.
Mixing them is how we ended up with slots, at least from my perspective.
> In a symbol:
> Specify what part of a slot(s) this symbol represents/requires.
> Specify what parts of a particular slot can be interchanged, e.g. pin
> swapping
> Specify what power domains are required for the part.
> - e.g. level shifters and pins to power domains
> - e.g. in a 3.3V and 5V system, which voltage is this symbol on
> Specify what clock domain a symbol is in
> - e.g. you can't move some parts across clock domains in VLSI
>
Ok, now I'm completely lost. :)
A symbol is an abstract entity that expresses a requirement for a
circuit. The symbol itself name can't match the circuit name, because I
can see the likelihood that differently-named symbols might represent
the same circuit (different ways to draw a NAND gate, for example). So
maybe the symbol name is arbitrary, but each symbol must have a circuit=
attribute that identifies the circuit that the symbol represents. (If
it doesn't have this attribute, then it must be a graphical element and
we can ignore it).
The pin names for symbols live in their own namespace, and in fact need
not be numeric. They can't be mapped to a pin number on a component
package until you know which circuit of which component the symbol
represents. That symbol-circuit-component association is roughly
equivalent to what we're calling a "slot" today--- but I propose we
deprecate that term altogether. I also think that symbol pin names
shouldn't be numeric, so that they can't be confused with package pin names.
Apart from a circuit= attribute and a unique identifier for each symbol
instance, I can't think of any mandatory attributes that symbols would
require. Additional attributes could capture the domain and other
information you mention.
As for pin swapping, I assume you are referring to two-terminal devices
like resistors and nonpolarized capacitors. No ideas on how to deal
with that.
> In a component
> Specify what slots this component provides.
>
No.
A component merely provides a collection of named circuits. Those
circuit names match the circuit= attributes that symbols use, and
circuit pin names map to symbol pin names once you know which circuit a
symbol is associated with. But the symbol and circuit pin names are not
package pin numbers yet, and the circuit pin names probably shouldn't be
numeric for that reason.
Finally, for each package that a component is available in, you have to
provide information that maps the pins of the component's circuit to
package pins. I don't yet know what the best way to handle this
information is, but your idea of components being named with a
manufacturer's base part number and then the packages identified by
suffixes seems at the outset to be a pretty good one.
b.g.
--
Bill Gatliff
bgat@xxxxxxxxxxxxxxx
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user