Mail Archives: geda-user/2012/07/20/03:12:55
On Thu, Jul 19, 2012 at 02:30:17PM -0400, DJ Delorie wrote:
>
> Do what you think makes sense for your symbols; the device= attribute
> is not used rigourously by any of the scripts.
Huh? It is heavily used by the netlisters.
Actually, since I'm going to have the layout a board subcontracted
and the person doing it uses CadStar. She does not know anything
else so I had to write a Cadstar netlister and found it a bit painful.
Here is a summary of the few things I had to do:
- set he output encoding to ISO8859-1 so that CadStar
would see my gEDA's "µ" as Windows "µ". I believe
it only works with guile-2.0 or later so it's not
compatible (yet) with gEDA's minimal requirements.
(IMHO a good reason to not submit the netlister yet).
- I set the device attribute to match her library
(typically this includes a package name, like XC3S200AFT256).
- For many devices which have too many variants, the text
I put on the schematics is only a subset of the device part.
Personnaly I hate the standard symbol like 7400, since
I have to modify it to, say 74HC00 or 74LVC00 (not that
I use standard 14/16 pins TTL like part any more, but quite
a few single gate parts). For voltage regulators and references
I have, say, device=LP2985-? in the symbol, a visible
attribute that I call variant=LP2985-?. When the symbol
is instantiated, I put for example device=LP2985AIM5-3.3
but variant (which is only for display) is "LP2985-3.3"
or "LP2985A-3.3" if I want a A grade. I've found that
with question mark in these attributes I can automate
producing warnings in the netlister. The problem is that,
if I change my mind, both attributes have to be modified
to be kept in sync, but it seems to be a hard problem.
- I don't use the value attribute in the above because
the value attribute is reserved for passive components
for which is makes more sense. The cadStar layout library
of the subcontractor literally has thousands of parts like
R0603_1k, C1206_3µ3 and so on. So for the parts that have
a value attribute the part name becomes footprint_value,
(or even footprint_value_suffix) when there is a (hidden)
suffix attribute on the schematics for things like 1% for
resistors or 25V for capacitors.
- She wanted to have attributes like routing_code and
bus_name to transmit information about controlled impedance
and differential pairs. I found that it was impossble
to get net attributes in the netlister except for net=
which gives the net name. I ended up defining graphical
symbols and using the concisely named
gnetlist:graphical-objs-in-net-with-attrib-get-attrib
function. I'm not sure that this is the best solution but
it works, provided the graphical symbol is attached to the
topmost sheet on which the net appears. Otherwise it is never
found, which could be construed as a netlister bug.
(I tried briefly to debug it but got lost, I must miss
something since I can't understand why the netlister
is so complex).
- There are probably other points I forget, the project
was interrupted in April by more urgent things. However
it will restart in September so I may find time to dive
into the code a bit more and come up with followups on
this rant^Wsubject.
Regards,
Gabriel
- Raw text -