[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Re: Minor details (was Re: Hm...not much improvement)
Patrick Doyle wrote:
>
> I'm looking forward to implementing a set of scripts again, this time
> for a CAD tool for which documentation is available on the file
> formats :-)
>
> So far, I have dealt with that by not using off page connectors :-)
>
========================
Hi Patrick,
I'm not getting much use from them either.
I just sent this to the -dev list:
I've done a little testing on a fairly recent checkout of geda using gnetlist
after putting some hierarchical schematics and symbols together with the
attribute source=tmote-revb.sch attached the symbol of the same name,
tmote-revb.sym placed in a higher schematic.
Asking for drc or PCB target, gnetlist suggests using a IO with refdes having
the signal name to do a connection to the higher schematic. That will put all
wires and pins in a net list if the top schematic wire has an attribute attached
netname=ADC7, for example.
It seems we're close to being able to add connectivity of unlabeled wires, but
it's not there yet.
To make a system with signal connections we the usual suspects: thru and SMT
coax connectors, SMT and thru hole power connectors, SMT flat flex cable
connectors. Flex cables can be used repeatedly without huge prices, and they
can easily have twenty wires each, so checking that the system is hooked
together right from separately designed modules is something valuable in
general, and I have it coming up soon.
Here's what I've observed about the state of gnetlist and what seem the next
steps for hierarchy. The below considers one net and the pins it touches
in my system of boards and cables:
If I make the symbol pin number be alphanumeric J28-2 and don't use
source=tmote-revb.sch
I run gnetlist to get:
unnamed_net2 J1-4 U1-J28-2
where U1 is the placed symbol with pins. gnetlist creates a name by adding a
dash then the pin number. (Which I have extended with alphabet chars)
I attach source=tmote-revb.sch to the symbol in the top schematic,
then I run gnetlist to get:
U1/ADC7/DAC1/SVSin U1/U0-6 U1/J28-2
and further down,
unnamed_net2 J1-4
the J1-4 connector pin is not associated with the ADC7/DAC1/SVSin net even
though J28-2 and J1-4 are wired together on the top schematic.
I propose that IO connectors are good for flat connectioin of multipage
schematics, but we should specify some association method for symbols and
schematics of the same name so we can create a hierarchical netlist.
Even if it will bog down before we get to do programmable chips with 7000 modules...
It's valuable now for small systems of boards and cables to avoid the
end-swapped connector mistake that could trash a layout and pcb fab cycle.
To make a hierarchic symbol, we could use an attribute attached to it and its
pins, (with a little help from a gattrib modified to edit symbols with placed
pins as well as schematics with placed parts). It could be as simple as
attaching source=tmote-revb.sch and port=J28-2. The same port attribute with
a special value could be used in schematics to designate the hierachic IO's.
(I think adding IO connectors with required detailed editing with signal names
on each is high effort/low value for this purpose -- best used as a multipage
connector only,)
The to do list for that seems to be:
1. process schematics looking for attribute port=hier attached to symbols
2. For each symbol found with port=hier, create a connection to the hierarchic
symbol for this schematic by this recipe:
create net name from connector refdes, (such as J28) plus a dash
plus connector pin number for each pin. Look up the hierarchic
symbol and match this name to one of its pins and add its refdes in
front, (such as U1/J28-2)
3. Merge any unnamed nets that contain J28-2 in the top schematic into the list
for this one net. Does not depend on netname=ADC7/DAC1/SVSin, and continues even
if there is a different netname on that level of hierarchy.
There we have it. The useful for checking netlist with signal names listed even
if they don't match -- which can be cause for action to correct or just OK as is...
John Griessen
PS Let's talk about the merging of hierarchical signal names in a different
thread, OK?
_______________________________________________
geda-dev mailing list
geda-dev@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user