Re: gEDA-user: subcircuit definition and channelised design
On Tue, 2011-03-22 at 10:51 +1100, Geoff Swan wrote: > > Lots is possible, but I'm not sure how you would best go about > it. > gEDA's bus support is almost non-existent... it is just a > graphical > nicety, and relies upon named nets. (I vaguely recall that > Altium buses > can work like this too if you want) > > I haven't really used busses properly in Altium - as you described, > I've primarily used them just as a graphical nicety while explicitly > naming all the connected nets. There may have been a few cases where I > named the bus and then connected nets were given the bus prefix, or > something like that. But at the time I was just experimenting and > didn't really need or find this sort of functionality added much > value. (I imagine with a number of 32/64 bit busses something that > removed the need to individually name nets would be handy though) > > In terms of the channelisation functionality my current thought is > that I may be able to augment the gnetlist pcb backend to recognise > something similar to a bus notation and recognise when a > symbol/subcircuit needs to be replicated. (btw - I haven't yet started > looking through the gnetlist backend sourcode or doco so if this > sounds like something impossible - feel free to give me a heads up :) It might be possible, but I'm not as familiar with gnetlist as with other parts of the suite. I mostly do rendering / UI stuff (in gschem and PCB). I vaguely recall that the verilog backend does something with nets named "something[12-9]" (or whatever the verilog bus syntax is), but that just maps onto the data-types used when producing the netlist, not the structure of the schematic. I'm fairly sure you cannot dynamically instantiate channels within gnetlist though (short of implementing a lot of hackery in the netlist backend). When I've done channels in the past, I've kept them on separate schematic pages, then used a makefile and some simple bash / sed / awk scripting to increment component numbers and spit out each channel as a new page. I would then create a symbol which represents all the channels (in a hierarchical design), then wire that into the schematic. If we supported buses properly, this could even be done with bus pins - but we don't at present. Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me) signature.asc Description: This is a digitally signed message part ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
Lots is possible, but I'm not sure how you would best go about it. gEDA's bus support is almost non-existent... it is just a graphical nicety, and relies upon named nets. (I vaguely recall that Altium buses can work like this too if you want) I haven't really used busses properly in Altium - as you described, I've primarily used them just as a graphical nicety while explicitly naming all the connected nets. There may have been a few cases where I named the bus and then connected nets were given the bus prefix, or something like that. But at the time I was just experimenting and didn't really need or find this sort of functionality added much value. (I imagine with a number of 32/64 bit busses something that removed the need to individually name nets would be handy though) In terms of the channelisation functionality my current thought is that I may be able to augment the gnetlist pcb backend to recognise something similar to a bus notation and recognise when a symbol/subcircuit needs to be replicated. (btw - I haven't yet started looking through the gnetlist backend sourcode or doco so if this sounds like something impossible - feel free to give me a heads up :) cheers, Geoff Swan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
On Tue, 2011-03-15 at 15:50 +1100, Geoff Swan wrote: > I have been describing multiple channels in gschem by turning a >subcircuit into a symbol that I can then add multiple times as >required. > >This works well, however I have been wondering if it may be plausible >to create a script or plugin that allows you to add the symbol > >once and then indicate the replication and connections through >something like bus notation? > >Eg: > >I have a subcircuit with one control input. > >The micro that connects to the subcircuit is given netnames on the >appropriate pins SS1, SS2, SS3, SS4. > >The control input pin on the subcircuit symbol is given the netname >SS[1:4] FWIW, Altium Designer supports this. A friend who uses Altium showed me the feature, and described it as "special magic". He was using it though, so it was obviously useful for him. Altium's "harnesses" are incredibly close to what a number of us have talked about wishing to support in regards heterogeneous arbitrarily nested buses. Altium's buses are homogeneous, and I'm not sure how the above feature would work if the sub-designs had a bus input. I can't recall if this was replicated onto a bus of busses (I'm not sure if Altium supports this anyway), or if they had to be wired up individually. [snip] >(This may sound familiar to folks who have used altium - I suspect I am >ripping off their notation) Ah - you're familiar with the Altium feature. >I am relatively new to gEDA - so I thought I would find out if this is >theoretically possible (or been done before) before I start trying to >write my own script... Lots is possible, but I'm not sure how you would best go about it. gEDA's bus support is almost non-existent... it is just a graphical nicety, and relies upon named nets. (I vaguely recall that Altium buses can work like this too if you want) -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me) signature.asc Description: This is a digitally signed message part ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
John Doty writes: > On Mar 15, 2011, at 2:50 PM, Stephan Boettcher wrote: > >> There should be some way to disable hierarchy-traversal from the >> commandline, is there? >> >> Or at least a local gafrc, but even that would push it out of reach for >> me. > > You have to put a little bit of Scheme in some gnetlistrc someplace to > control it from command line, but it can be done: > > http://archives.seul.org/geda/user/Nov-2008/msg00489.html I had a peek at the man page: -c string Pass the specified string to the guile interpreter. This allows you to execute arbitrary guile scripts from the command line. Be sure to surround the string with either single or double quotes to satisfy your shell. The string is execute before any init or netlist backend scheme code is loaded or executed. How about: gnetlist -c '(hierarchy-traversal "disabled")' > > John Doty Noqsi Aerospace, Ltd. > http://www.noqsi.com/ > j...@noqsi.com > > > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
On Mar 15, 2011, at 2:50 PM, Stephan Boettcher wrote: > There should be some way to disable hierarchy-traversal from the > commandline, is there? > > Or at least a local gafrc, but even that would push it out of reach for > me. You have to put a little bit of Scheme in some gnetlistrc someplace to control it from command line, but it can be done: http://archives.seul.org/geda/user/Nov-2008/msg00489.html John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ j...@noqsi.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
Krzysztof Kościuszkiewicz writes: > Dnia 2011-03-15 o godzinie 21:03 Bert Timmerman napisał(a): > >> http://www.xs4all.nl/~ljh4timm/downloads/geda_sch2sym.tar.gz >> >> #!/bin/bash >> # gEDA - GNU Electronic Design Automation >> # geda_sch2sym.bsh >> # Copyright (C) 2007 Andrew Tan >> >> Says it all. > > It is also waiting for review here: > https://bugs.launchpad.net/geda/+bug/698670 > IMPORTANT NOTE: > In order to run geda_sch2sym.bsh, users must make sure the > "hierarchy-traversal" is "disabled" in the "system-gnetlistrc" file > (usually located in the "/usr/share/gEDA" folder). There should be some way to disable hierarchy-traversal from the commandline, is there? Or at least a local gafrc, but even that would push it out of reach for me. -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
Dnia 2011-03-15 o godzinie 21:03 Bert Timmerman napisał(a): > http://www.xs4all.nl/~ljh4timm/downloads/geda_sch2sym.tar.gz > > #!/bin/bash > # gEDA - GNU Electronic Design Automation > # geda_sch2sym.bsh > # Copyright (C) 2007 Andrew Tan > > Says it all. It is also waiting for review here: https://bugs.launchpad.net/geda/+bug/698670 -- Krzysztof Kościuszkiewicz "Simplicity is the ultimate sophistication" -- Leonardo da Vinci ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
Hi > -Original Message- > From: geda-user-boun...@moria.seul.org > [mailto:geda-user-boun...@moria.seul.org] On Behalf Of > Kai-Martin Knaak > Sent: Tuesday, March 15, 2011 3:12 PM > To: geda-u...@seul.org > Subject: Re: gEDA-user: subcircuit definition and channelised design > > Geoff Swan wrote: > > > I am relatively new to gEDA - so I thought I would find out > if this is > > theoretically possible (or been done before) before I start > trying to > > write my own script... > > What you describe seems like the sub sheet wizard which is on > the wish list of many users. Yes, this sounds useful and very > much so. Seems to me, that it has not been done before -- at > least not in a way that has been described in gpleda.org. > > Looking forward to your solution, > > ---<)kaimartin(>--- > -- > Kai-Martin Knaak tel: > +49-511-762-2895 > Universität Hannover, Inst. für Quantenoptik fax: > +49-511-762-2211 > Welfengarten 1, 30167 Hannover > http://www.iqo.uni-hannover.de > GPG key: > http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmk&op=get > > FWIW, I have saved this shell script for generating schematic pages into symbols. To be found at: http://www.xs4all.nl/~ljh4timm/downloads/geda_sch2sym.tar.gz #!/bin/bash # gEDA - GNU Electronic Design Automation # geda_sch2sym.bsh # Copyright (C) 2007 Andrew Tan Says it all. Kind regards, Bert Timmerman. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: subcircuit definition and channelised design
Geoff Swan wrote: > I am relatively new to gEDA - so I thought I would find out if this is > theoretically possible (or been done before) before I start trying to write > my own script... What you describe seems like the sub sheet wizard which is on the wish list of many users. Yes, this sounds useful and very much so. Seems to me, that it has not been done before -- at least not in a way that has been described in gpleda.org. Looking forward to your solution, ---<)kaimartin(>--- -- Kai-Martin Knaak tel: +49-511-762-2895 Universität Hannover, Inst. für Quantenoptik fax: +49-511-762-2211 Welfengarten 1, 30167 Hannover http://www.iqo.uni-hannover.de GPG key:http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmk&op=get ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: subcircuit definition and channelised design
I have been describing multiple channels in gschem by turning a subcircuit into a symbol that I can then add multiple times as required. This works well, however I have been wondering if it may be plausible to create a script or plugin that allows you to add the symbol once and then indicate the replication and connections through something like bus notation? Eg: I have a subcircuit with one control input. The micro that connects to the subcircuit is given netnames on the appropriate pins SS1, SS2, SS3, SS4. The control input pin on the subcircuit symbol is given the netname SS[1:4] The magic script/plugin is used to make sure that gsch2pcb/gnetlist knows that the subcircuit needs to be replicated 4 times with connections to the micro on SS1, SS2, SS3 and SS4. (This may sound familiar to folks who have used altium - I suspect I am ripping off their notation) I am relatively new to gEDA - so I thought I would find out if this is theoretically possible (or been done before) before I start trying to write my own script... cheers, Geoff Swan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user