Re: gEDA-user: wishful UI
Hi All, We can all agree that the current gEDA(Gschem/Gnetlist) need to accomodate more than just the netname attribute attached to a net. In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. And that Gnetlist front end will present similar functions to the backend Scheme procedures, so that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, etc) Scheme procedures can decipher net attributes particular to that backend. Note that I stress the ANY word above, because one of the most powerful features of gEDA is its architectural capabilities of supporting ANY attributes as ANY backend dictates. How the symbol and net attributes are handled should be up to the particular backend's Scheme procedure. I am familiar with the gEDA codes (both the C and Scheme). I can see that it is not too difficult to add the ANY net attributes feature., since it fits similar pattern as processing of symbol's ANY attributes. It is on my list of TO DO for gEDA, but we just don't have the time to do it yet. I am hoping someone will beat me to it. Best Regards, Paul Tan -Original Message- From: John Doty j...@noqsi.com To: gEDA user mailing list geda-user@moria.seul.org Sent: Fri, Aug 13, 2010 5:09 pm Subject: Re: gEDA-user: wishful UI On Aug 13, 2010, at 5:49 PM, Stefan Salewski wrote: On Fri, 2010-08-13 at 19:28 -0400, DJ Delorie wrote: I guess it would be no great deal for smart (but very busy) people like Peter C. and DJ, to implement the basic concept. For people not familiar with the internals of gschem and PCB like me it may take very long... I'm quite willing to teach people PCB internals, if it means having more PCB developers. In my opinion writing some basic documentation about the internal work of PCB would be really a good idea. (I can remember that I looked at the PCB source code about two years ago: I was very positive surprised about the fact that the code was very compact, but I was not able to see the basic concepts...) The same problem applies to gschem/gnetlist. Unfortunately, some of our developers take the attitude that dumbing down the (almost supernaturally productive) UI is the way to attract more developers. But from where I sit, the real problem is that the internals of gschem, gnetlist, and especially libgeda are poorly documented. This is especially problematic at the guile scripting interface (code for guile functions in C is pretty obscure). I've nibbled at this from outside, deducing function from behavior and writing some of my findings up, but it would really help if the experts would put in some effort here. Developers who'd be attracted by a dumbed-down UI are exactly the folks I do not want to see working on gEDA. 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 ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: GPL-v3 for Open CAD
On Sat, 14 Aug 2010 09:53:55 +0800, Steven Michalske smichal...@gmail.com wrote: To make this point clear to get companies like IBM to support GPL V3 they had to put in clauses that excepted them from the IP rules. [citation needed]. This is pure FUD. Also see this clause http://en.wikipedia.org/wiki/GNU_General_Public_License#Compatibility_and_multi-licensing you cant link a GPL v3 library into non GPL v3 work this is bull. But you couldn't link a GPLv2+ library (e.g. libgeda) into a non GPLv2+ work either. I am a stonch proponent of open software, but when the licence makes inroads to invalidate the authors rights that are not part of the software they developed It's going tooo far. I support licenses like BSD, Apachee, Apple open software, GPL V2 and MIT, and other permissive licenses. I'm never, ever coming to you for advice on software licensing. If you want to licence something as GPL v3 you need do a dual release with a closed license like QT is dual licensed. Cause frankly no sane business with any IP should develop GPL V3 code. By your definition, Red Hat is either insane or has no IP. Personally, I quite like the idea of being able to develop a library of useful code that only Free software can use. If you want to allow non-Free code to link against your library, you can use the LGPLv3, which specifically permits linking. As far as linking restrictions go, there is no change between the LGPLv2 and LGPLv3, or between the GPLv2 and GPLv3. The issue has been around for 20 years. It seems like the anti-GPL FUD is disturbingly strong on this list. Peter -- Peter Brett pe...@peter-b.co.uk Remote Sensing Research Group Surrey Space Centre ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Commercial CAD, land pattern generators report
On Sat, 14 Aug 2010 00:23:10 +0200, Armin Faltl armin.fa...@aon.at wrote: I want to contribute or give away what I want to and keep my own what I want to keep and if this is not possible with a GPL-license on my own library liked to my own app, I just won't use GPL! If you want to distribute non-Free software that uses Free software components, I have no sympathy for you whatsoever. You want to have your cake (use high-quality libraries for which you get source code and don't have to pay a penny to distribute as part of your software) and eat it too (not have to comply with the request that you make your software Free as well). Why are you surprised that you can't use Free software to write non-Free software? The *whole point* of the GPL is to not only preserve but expand the Free software ecosystem. Have you been asleep for the last 20 years? Peter -- Peter Brett pe...@peter-b.co.uk Remote Sensing Research Group Surrey Space Centre ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Fri, 13 Aug 2010 18:09:08 -0600, John Doty j...@noqsi.com wrote: Unfortunately, some of our developers take the attitude that dumbing down the (almost supernaturally productive) UI is the way to attract more developers. Who? This is especially problematic at the guile scripting interface (code for guile functions in C is pretty obscure). I've nibbled at this from outside, deducing function from behavior and writing some of my findings up, but it would really help if the experts would put in some effort here. As I've said before, the Guile API in gschem is fundamentally broken, due to the way that the invisible state is stored and accessed. It has inconsistent naming and calling conventions, and it's possible to write perfectly valid code that leaves the gschem instance in an inconsistent state. This is partly because it was initially introduced just as a convenient way to specify options, keybindings and menu layout in a declarative manner, but has had some extra things bolted on in an organic manner. I've made a start on trying to build a more consistent Guile API, but it's been pretty hard going, and unfortunately for a number of reasons I don't have a huge amount of time for gEDA at the moment. I don't know about the Guile API for gnetlist, but last time I checked it suffered from *some* of the same problems, but not nearly to the same extent. There's some problems with gnetlist backends -- for example, some of them are written in a non-tail-recursive style, which causes stack exhaustion on large designs, but that's not too difficult to fix. Peter -- Peter Brett pe...@peter-b.co.uk Remote Sensing Research Group Surrey Space Centre ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
Paul Tan wrote: Hi All, We can all agree that the current gEDA(Gschem/Gnetlist) need to accomodate more than just the netname attribute attached to a net. In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. And that Gnetlist front end will present similar functions to the backend Scheme procedures, so that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, etc) Scheme procedures can decipher net attributes particular to that backend. Note that I stress the ANY word above, because one of the most powerful features of gEDA is its architectural capabilities of supporting ANY attributes as ANY backend dictates. How the symbol and net attributes are handled should be up to the particular backend's Scheme procedure. I am familiar with the gEDA codes (both the C and Scheme). I can see that it is not too difficult to add the ANY net attributes feature., since it fits similar pattern as processing of symbol's ANY attributes. It is on my list of TO DO for gEDA, but we just don't have the time to do it yet. I am hoping someone will beat me to it. Best Regards, Paul Tan agree 100% ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Free software and the GPL
Peter TB Brett wrote: Um, sorry? Are you trying to argue that people who develop libraries and release them under the GPL are trying to have their cake and eat it? I don't see it -- I think you need to explain further. I don't recall anyone holding a gun to your head and forcing you to use GPL libraries. If you don't intend to comply with the license, don't use the code. You have the choice. Are you trying to persuade me that *I* shouldn't release *my* code under the GPL? If so, your arguments are really not having the desired effect. Care to try again? No. I just reserve the right to licese a library that I write with LGPL or BSD and use it in support of software I choose not the licese freely at all. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Aug 14, 2010, at 1:17 AM, Paul Tan wrote: Hi All, We can all agree that the current gEDA(Gschem/Gnetlist) need to accomodate more than just the netname attribute attached to a net. In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. And that Gnetlist front end will present similar functions to the backend Scheme procedures, so that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, etc) Scheme procedures can decipher net attributes particular to that backend. Note that I stress the ANY word above, because one of the most powerful features of gEDA is its architectural capabilities of supporting ANY attributes as ANY backend dictates. Yes, yes, yes! How the symbol and net attributes are handled should be up to the particular backend's Scheme procedure. Remember that there's also a middle layer (gnetlist.scm and gnetlist-post.scm). It would be good if we made better use of it. Right now, the primitives are at too high a level, giving back ends access to specific design data, but not all of it. This simplifies back ends when it's the right thing, but it's a barrier when the back end needs more. Having these interfaces in the middle layer, based on lower level primitives (a primitive that returned a list of every object with its properties and attributes would be a great foundation), would increase our flexibility without impacting existing back ends. A back end writer would then be able to exploit the simplifying assumptions behind the middle layer interface, but would not be bound by them. I am familiar with the gEDA codes (both the C and Scheme). I can see that it is not too difficult to add the ANY net attributes feature., since it fits similar pattern as processing of symbol's ANY attributes. Except that it's slightly broken in the symbol case. Symbols are looked up by refdes, but a component may be represented by multiple symbols with the same refdes. Also, there may be more than one attribute with the same name, but the code only finds one at most. The code in gnetlist:get-package-attribute apparently looks in the the first matching symbol it finds for the first matching attribute (if any). This problem would be worse for nets, since multisegment nets are very common, and multiple attributes of the same name would be a reasonable way to express multiple net properties. It is on my list of TO DO for gEDA, but we just don't have the time to do it yet. I am hoping someone will beat me to it. I'm hoping you'll find time. You'll do it right. 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: Commercial CAD, land pattern generators report
On Aug 14, 2010, at 4:05 AM, Armin Faltl wrote: Maybe as long as I don't sell my non-free code but just use it in house to compute results GPL doesn't bite, but I don't want to be restricted in that way either. GPL does not restrict your use of my code, but if you wish to distribute my GPL code under the GPL terms, you must abide by those terms. But the GPL does not restrict the owner of code in any way. If you wish to distribute my code under other terms, you can negotiate with me. My code is my code: I can do as I please with it. I can grant you any kind of license to use my code (and I would if the price was right). Your code is your code: you can do as you please with it. GPL does not, and cannot, take any rights whatever from the owner of the code. Like any other license, it is merely a vehicle for the owner of the code to grant rights to others. It does not exclude the use of other vehicles. 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: wishful UI
On Sat, 14 Aug 2010 10:01:44 -0600, John Doty j...@noqsi.com wrote: Not important. The quick fix (make the stack bigger) is known and should be incorporated in the distributed system-gnetlistrc. The problem is a consequence of dropping a functional language into a procedural culture: it will continue to crop up as we get additional contributions of back ends (and hopefully plugins). The quick fix may be unaesthetic, but it doesn't cause additional problems. I'm sorry, but I think we're going to have to agree to disagree on this point. I believe that we should actually fix the problems, and enjoy the increased performance, rather than whack band-aids on them and pretend they're not there. In my opinion, gnetlist backends and (eventually) plugins that get accepted into the gEDA repository should be written to work on arbitrarily large designs. If that means that contributors need to learn how to think functionally, so be it. There are plenty of excellent resources on the web to help with programming efficiently in Lisp-like languages. I'd never seen Lisp-like syntax before I started hacking on gEDA, and if a Bear of Very Little Brain like myself can learn it, why shouldn't others be able to? Peter -- Peter Brett pe...@peter-b.co.uk Remote Sensing Research Group Surrey Space Centre ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: edge4way rules in magic
Oliver King-Smith wrote: I am trying to get some rules programmed into my magic tech file. In particular I want to require metal to encompass the vias by 2um if the metal is wide metal (10um x 10um). Otherwise I only need to encompass the vias by 0.8um. Does anyone know how to specify this in the drc section? Oliver This sounds specific to magic. We might be able to help with netlist output for magic, but most on this list don't have a running copy of magic to refer to. I don't think the two or so chip designers here use magic. John ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote: ...In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. I agree, but I'm not sure this would be useful until we find a way to split nets up into subnets - which is a much more complicated change. Otherwise, certain nets (such as power or ground nets), which often have vastly different characteristics in different sections, would be difficult to describe. Andrew ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Aug 14, 2010, at 10:51 AM, Peter TB Brett wrote: On Sat, 14 Aug 2010 10:01:44 -0600, John Doty j...@noqsi.com wrote: Not important. The quick fix (make the stack bigger) is known and should be incorporated in the distributed system-gnetlistrc. The problem is a consequence of dropping a functional language into a procedural culture: it will continue to crop up as we get additional contributions of back ends (and hopefully plugins). The quick fix may be unaesthetic, but it doesn't cause additional problems. I'm sorry, but I think we're going to have to agree to disagree on this point. I believe that we should actually fix the problems, and enjoy the increased performance, rather than whack band-aids on them and pretend they're not there. If you're going to make that argument, you need to be quantitative: how much increased performance? There isn't much to be had, I think. For my current large design (24 top level schematics plus 14 hierarchical schematics), gnetlist with the drc2 back end needs the increased stack to avoid crashing. Even so it only takes 2.2 seconds, while with efficient back ends it needs 1.4 seconds (on my MacBook). So with this large design, the time to be saved is at most 0.8 seconds per drc2 run. In my opinion, gnetlist backends and (eventually) plugins that get accepted into the gEDA repository should be written to work on arbitrarily large designs. I agree, but I think they already do for all practical purposes. It seems to me that the only barrier to doing designs with hundreds of schematic pages is my limited human capacity. If that means that contributors need to learn how to think functionally, so be it. There are plenty of excellent resources on the web to help with programming efficiently in Lisp-like languages. I'd never seen Lisp-like syntax before I started hacking on gEDA, and if a Bear of Very Little Brain like myself can learn it, why shouldn't others be able to? There is a specific problem with tail recursion in Guile: its optimization only works in certain special cases. To be sure, these are pretty common cases, but the user needs a bit of extra knowledge to guarantee that tail recursion will actually be optimized. The point of scripting is to put the power of the toolkit in the hands of those with specific problems to solve. You as a developer cannot accurately anticipate what these problems are. Some users already perceive Guile to be a barrier here: do we really want to put extra unnecessary restrictions on their use of it? A big stack isn't a problem. 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: wishful UI
On Aug 14, 2010, at 11:34 AM, Andrew Poelstra wrote: On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote: ...In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. I agree, but I'm not sure this would be useful until we find a way to split nets up into subnets - which is a much more complicated change. Not so much. We already draw nets as segments, and attributes are actually attached to segments, not nets. Might need to modify the segment merging rules, but that's about it. And one could argue that the automatic segment merging is already a case of the tool inappropriately trying to outsmart the user. 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: edge4way rules in magic
What do folks use for ASIC layout here? I do have gnetlist producing the .mag and .net files for magic. I can't say I am wild about using guile. It would be nice to have the option to use ruby or some other scripting language. Oliver __ From: John Griessen j...@ecosensory.com To: gEDA user mailing list geda-user@moria.seul.org Sent: Sat, August 14, 2010 10:15:38 AM Subject: Re: gEDA-user: edge4way rules in magic Oliver King-Smith wrote: I am trying to get some rules programmed into my magic tech file. In particular I want to require metal to encompass the vias by 2um if the metal is wide metal (10um x 10um). Otherwise I only need to encompass the vias by 0.8um. Does anyone know how to specify this in the drc section? Oliver This sounds specific to magic. We might be able to help with netlist output for magic, but most on this list don't have a running copy of magic to refer to. I don't think the two or so chip designers here use magic. John ___ geda-user mailing list [1]geda-u...@moria.seul.org [2]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user References 1. mailto:geda-user@moria.seul.org 2. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Sat, Aug 14, 2010 at 12:14:58PM -0600, John Doty wrote: On Aug 14, 2010, at 11:34 AM, Andrew Poelstra wrote: On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote: ...In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. I agree, but I'm not sure this would be useful until we find a way to split nets up into subnets - which is a much more complicated change. Not so much. We already draw nets as segments, and attributes are actually attached to segments, not nets. Might need to modify the segment merging rules, but that's about it. And one could argue that the automatic segment merging is already a case of the tool inappropriately trying to outsmart the user. I see. We do do this in gschem - but not in pcb, nor in the .net file coming out of gsch2pcb. So PCB would need a breaking change in its .net and .pcb formats, no? Andrew ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Commercial CAD, land pattern generators report
On Saturday 14 August 2010, Armin Faltl wrote: I think I have the following options then: a) fix the bug myself and reinvent your convenience function which is questionable b) re-release my library under LGPL and ask you to resubmit the patch with same license c) open source or shred my application d) contact the author of the patch and ask if it is ok for you to use in your proprietary version. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Commercial CAD, land pattern generators report
al davis wrote: On Saturday 14 August 2010, Armin Faltl wrote: I think I have the following options then: a) fix the bug myself and reinvent your convenience function which is questionable b) re-release my library under LGPL and ask you to resubmit the patch with same license c) open source or shred my application d) contact the author of the patch and ask if it is ok for you to use in your proprietary version. you mean give me a written and signed permission, i.e. a different license, and that for everyone that may contribute something in the future? Licenses is all about lawyers and suing - never ever ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
Hi John Doty, On Aug 14, 2010; 08:49am, John Doty wrote: Except that it's slightly broken in the symbol case. Symbols are looked up by refdes, but a component may be represented by multiple symbols with the same refdes. Also, there may be more than one attribute with the same name, but the code only finds one at most. The code in gnetlist:get-package-attribute apparently looks in the the first matching symbol it finds for the first matching attribute (if any). Is the case you mentioned above relates to the problem of slotting in PCB? I don't design PCB myself, but occasionally I was curious about the slotting problems people complained about it here. As I remember, a year ago, it occurred to me, by briefly looking at how the PCB backend processes the packages (the term used in gEDA Scheme code), I suspected that the solution might be in how the packages are interpreted by the PCB backends. Correct me if I am wrong here (I only briefly looked at the PCB backend codes and I don't know what PCB's requirements are) : The PCB backend could have interpreted the package item in Scheme functions not directly as the final PCB's refdes, but a prefixed refdes for a logical symbol in the Gschem, such as Uxx_yy, where Uxx is the final PCB_refdes and the Uxx_yy is the logical refdes assigned to a logical symbol by the users or hook script in Gschem. The yy number may refer to a pinnumber or pinseq of a PCB's physical package, or from the slot definition, which the user or auto refdes hook can use to auto assign them in Gschem. If what I suspected is true, then it is not necessary to make changes to the Gnetlist frontend C codes to solve the problem, but just fix it in the PCB Scheme backend code. Not sure if this is the exact case for the PCB's netlist problem though, just a thought. This problem would be worse for nets, since multisegment nets are very common, and multiple attributes of the same name would be a reasonable way to express multiple net properties. Could be. If absolutely necessary, I might expose some forms of parsed NETLIST's nid or even the OBJECT's sid, with appropriate prefix, to the Gnetlist generic backend. Best Regards, Paul Tan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
Well, as you suggest below, Groups are essentially a way of tagging different parts, so they would be completely independent of the physical layers - and the connectivity checker. ** Confusingly, PCB already has layer groups, which consist of multiple layers. A layer group is what ends up physically as a plane of copper in your produced board. Your terminology reverses the meaning, with a layer group consisting of logically grouped parts spanning multiple physical layers. I presume you intend to get rid of PCB's existing layer group functionality (good riddance IMO), however it would be less confusing to pick a new name. Perhaps logical group. Yes, absolutely! But I cannot think of a good name :) logical group is too long and ambiguous. Right now I am using Group, but that's even less useful. First I thought functional group would be good, but what you describe - a construct of functional interdependence spread on several layers in mechanical CAD is in many cases called a block or module. The concepts of layers + layer groups (hierarchical layers in mech-CAD) is orthogonal to blocks. E.g. you can turn visibility on and off for each independently. For the sake of visual collision detection in the case of EDA 3 levels of visibilty as suggested may be in order: coloured/saturated, greyed out and invisible. Esp. useful I envision the possibility to grey out blocks one does not work on while they stay visible. Being able to reuse a block independently of the layout it was created it, like in mechanical CAD would be very welcome here as well (did I miss something?) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: edge4way rules in magic
On Aug 14, 2010, at 1:28 PM, Oliver King-Smith wrote: What do folks use for ASIC layout here? I do schematic-level ASIC design and simulation for Osaka University with gEDA/ngspice, but I don't do layout. Another company (in Japan) does that. I believe they use Mentor Graphics tools for layout. Their tools operate on stripped-down SPICE files, easy to export from gEDA. I get back monstrous SPICE files extracted from the layout to use for verification. 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: wishful UI
On Sat, Aug 14, 2010 at 10:28:09PM +0200, Armin Faltl wrote: Well, as you suggest below, Groups are essentially a way of tagging different parts, so they would be completely independent of the physical layers - and the connectivity checker. ** Confusingly, PCB already has layer groups, which consist of multiple layers. A layer group is what ends up physically as a plane of copper in your produced board. Your terminology reverses the meaning, with a layer group consisting of logically grouped parts spanning multiple physical layers. I presume you intend to get rid of PCB's existing layer group functionality (good riddance IMO), however it would be less confusing to pick a new name. Perhaps logical group. Yes, absolutely! But I cannot think of a good name :) logical group is too long and ambiguous. Right now I am using Group, but that's even less useful. First I thought functional group would be good, but what you describe - a construct of functional interdependence spread on several layers in mechanical CAD is in many cases called a block or module. The concepts of layers + layer groups (hierarchical layers in mech-CAD) is orthogonal to blocks. E.g. you can turn visibility on and off for each independently. For the sake of visual collision detection in the case of EDA 3 levels of visibilty as suggested may be in order: coloured/saturated, greyed out and invisible. Esp. useful I envision the possibility to grey out blocks one does not work on while they stay visible. Being able to reuse a block independently of the layout it was created it, like in mechanical CAD would be very welcome here as well (did I miss something?) Thank you! Unless someone objects, I will run with block. Your idea of saving blocks independently is interesting - I was planning this, sort of. My idea was to make components and blocks convertable between each other, so that editing and saving components would be more intuitive. Another idea would be for PCB to recognize identical blocks - so that if you selected a group of components for a GPIO, say, it would recognize other GPIOs and offer to create more blocks and link them such that any re-arrangements of one would be reflected in the others. There a lot of things we could do if we could structure PCBs as groups of blocks. For now I am working out what such a structure would look like - as well as learning the PCB source. Andrew ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Commercial CAD, land pattern generators report
On Aug 14, 2010, at 1:33 PM, Armin Faltl wrote: John Doty wrote: GPL does not restrict your use of my code, but if you wish to distribute my GPL code under the GPL terms, you must abide by those terms. If I'm using your library licensed with GPL in a proprietary application of mine, this is forbidden, right? You can *use* it all you want. GPL forbids *distribution* with applications that don't follow certain rules. But you can negotiate with me for different license terms. Or you can leave my property out of your product. 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
gEDA-user: gEDA/gaf and PCB on OS X
I've just ordered a new laptop and have gone over to the Dark Side. What's the latest best-practice for building and/or running gEDA/gaf and pcb on OS X? From my minimal knowledge, my options are: 1) VirtualBox an Ubuntu guest OS. This is my fallback, and is how I've been running gEDA on WinXP for the last couple of years. I know I can make this work and am comfortable with it. 2) Fink. I think John Doty uses this, and there is still a link to Jon Schneider's build instructions using Fink on the wiki 3) Macports. I don't know much about this. 4) something I haven't thought of. Any hard or anecdotal data appreciated. Cheers Gareth ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: gEDA/gaf and PCB on OS X
On Aug 14, 2010, at 3:03 PM, Gareth Edwards wrote: 2) Fink. I think John Doty uses this, and there is still a link to Jon Schneider's build instructions using Fink on the wiki You don't need to build it unless you want to run a development version. Charles Lepple does a great job of packaging the releases in a timely way. The only real problem with Fink is that it gets itself tied in knots occasionally. Every couple of years, I have to rm -rf /sw and reinstall the whole thing. 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: wishful UI
John Doty wrote: On Aug 8, 2010, at 4:51 PM, kai-martin knaak wrote: No it is not. Even simple things like footprint names have a pretty rigid syntax to adhere to. The workflow breaks in cryptic ways if they are not obeyed. This is a pure pcb limitation, not a gEDA limitation in general. Isn't a chain as strong as it's weakest link ? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: gEDA/gaf and PCB on OS X
I'm the maintainer of the geda-gaf port on MacPorts and it should install pretty well under both gtk-x11 and gtk-quartz. Actually, let me know if it does not work. Mark On Sat, Aug 14, 2010 at 5:16 PM, John Doty j...@noqsi.com wrote: On Aug 14, 2010, at 3:03 PM, Gareth Edwards wrote: 2) Fink. I think John Doty uses this, and there is still a link to Jon Schneider's build instructions using Fink on the wiki You don't need to build it unless you want to run a development version. Charles Lepple does a great job of packaging the releases in a timely way. The only real problem with Fink is that it gets itself tied in knots occasionally. Every couple of years, I have to rm -rf /sw and reinstall the whole thing. 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 ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Aug 14, 2010, at 3:29 PM, Armin Faltl wrote: John Doty wrote: On Aug 8, 2010, at 4:51 PM, kai-martin knaak wrote: No it is not. Even simple things like footprint names have a pretty rigid syntax to adhere to. The workflow breaks in cryptic ways if they are not obeyed. This is a pure pcb limitation, not a gEDA limitation in general. Isn't a chain as strong as it's weakest link ? It's not a chain. gEDA can export design data to a wide variety of tools, a major strength. 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: wishful UI
On Sat, 2010-08-14 at 23:29 +0200, Armin Faltl wrote: Isn't a chain as strong as it's weakest link ? There is no chain! gschem - ... - PCB is one workflow, amongst multiple. OK, maybe the one most people use currently. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Aug 14, 2010, at 2:18 PM, Paul Tan wrote: Is the case you mentioned above relates to the problem of slotting in PCB? No. It can happen whenever you have multiple symbols with the same refdes, regardless of the back end. Slotting is a particular case of this, but not the only one. It's a pure gnetlist problem, having nothing to do with pcb. Here are two minimal files that demonstrate the problem. Don't bother opening them in gschem: they contain no graphics. But they each contain a single component, represented by two embedded symbols with the same refdes. The only difference is the order of the two symbols. [Hikyuu:/tmp] jpd% gnetlist -g partslist1 foobar.sch Loading schematic [/private/tmp/foobar.sch] [Hikyuu:/tmp] jpd% cat output.net .START ..refdesdevice value footprint quantity thing unknown unknown unknown 1 .END [Hikyuu:/tmp] jpd% gnetlist -g partslist1 barfoo.sch Loading schematic [/private/tmp/barfoo.sch] [Hikyuu:/tmp] jpd% cat output.net .START ..refdesdevice value footprint quantity thing unknown unknown horse 1 .END Note that in the case of foobar.sch the footprint is unknown, while in the case of barfoo.sch, the footprint is horse. 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: wishful UI
Oops, forgot the attachments! barfoo.sch Description: Binary data foobar.sch Description: Binary data On Aug 14, 2010, at 3:45 PM, John Doty wrote: On Aug 14, 2010, at 2:18 PM, Paul Tan wrote: Is the case you mentioned above relates to the problem of slotting in PCB? No. It can happen whenever you have multiple symbols with the same refdes, regardless of the back end. Slotting is a particular case of this, but not the only one. It's a pure gnetlist problem, having nothing to do with pcb. Here are two minimal files that demonstrate the problem. Don't bother opening them in gschem: they contain no graphics. But they each contain a single component, represented by two embedded symbols with the same refdes. The only difference is the order of the two symbols. [Hikyuu:/tmp] jpd% gnetlist -g partslist1 foobar.sch Loading schematic [/private/tmp/foobar.sch] [Hikyuu:/tmp] jpd% cat output.net .START ..refdes device value footprint quantity thing unknown unknown unknown 1 .END [Hikyuu:/tmp] jpd% gnetlist -g partslist1 barfoo.sch Loading schematic [/private/tmp/barfoo.sch] [Hikyuu:/tmp] jpd% cat output.net .START ..refdes device value footprint quantity thing unknown unknown horse 1 .END Note that in the case of foobar.sch the footprint is unknown, while in the case of barfoo.sch, the footprint is horse. 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 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: wishful UI
On Aug 13, 2010, at 7:51 PM, kai-martin knaak wrote: The utter failure of early efforts to base AI on classification of objects should surely have taught that to us. The success of mathematics and biology to conquer their vast fields with hierarchical classification is telltale. Just as often it causes unnecessary controversy and balkanization of knowledge. Why do we inflict the silly OBAFGKM classification on astronomy students? The physical variable here is simply temperature: why don't we use it? Sloppy and stupid. Why was the recent removal of planet status from Pluto so controversial? Pluto's still there, with the same mass, composition, orbital elements, etc. as it had before. The classification has no meaning: changing it did nothing to change our understanding of Pluto's nature. 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: help with gwave svn-REV2444
On Friday 13 August 2010 18:14:17 Stefan Salewski wrote: You may look at a few (old) bug reports of gentoo bug database: http://bugs.gentoo.org/buglist.cgi?quicksearch=ALL+gwave This one was one very demanding: http://bugs.gentoo.org/show_bug.cgi?id=293397 yes thanks I also came across this:- http://linux.derkeiler.com/Mailing-Lists/Fedora/2009-08/msg02864.html ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
Hi Andrew Poelstra, On Aug 14, 2010; 10:34am, Andrew Poelstra wrote: On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote: ...In fact, I would like to see that gEDA can process ANY attributes attached to a net in similar fashion as it process ANY attributes attached to a symbol currently. I agree, but I'm not sure this would be useful until we find a way to split nets up into subnets - which is a much more complicated change. Otherwise, certain nets (such as power or ground nets), which often have vastly different characteristics in different sections, would be difficult to describe. If the split nets means BUS, such as addrBus[63:0] which can be split into addrBus[12:0], addrBus[15], etc; or even the notion of Compound BUS such as addrBus[63:0],ALE,CTRL, it can all be done with the backend scheme code. It really depends on the particular backend netlister implementation. gnet-verilog.scm is the Verilog netlister, which already handle merging and splitting busses, and hierarchy. An example schematic files with generated Verilog netlist can be found in the attached zip file at: http://archives.seul.org/geda/user/Jan-2009/msg00056.html As you can see from the example, the Verilog netlister (gnet-verilog.scm, Gnetlist backend for Verilog, and the helper shell script) takes advantage of lots of the powerful features presented by the gEDA Gnetlist frontend C/SCM functions, and it is able to do much more than other backends in the area of BUS and non-flatten Hierarchy. Hope the above helps. Best Regards, Paul Tan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Sat, 2010-08-14 at 18:57 -0400, Paul Tan wrote: Hi Andrew Poelstra, On Aug 14, 2010; 10:34am, Andrew Poelstra wrote: Otherwise, certain nets (such as power or ground nets), which often have vastly different characteristics in different sections, would be difficult to describe. If the split nets means BUS, such as addrBus[63:0] which can be split into addrBus[12:0], addrBus[15], etc; or even the notion of Compound BUS such as addrBus[63:0],ALE,CTRL, it can all be done with the backend scheme code. It really depends on the particular backend netlister implementation. I think he cares about touching net segments, same as I, see for example http://ssalewski.de/gEDA-Netclass.html.en the Power and Bypass segment. I think John Doty got it: Not so much. We already draw nets as segments, and attributes are actually attached to segments, not nets. Might need to modify the segment merging rules, but that's about it. And one could argue that the automatic segment merging is already a case of the tool inappropriately trying to outsmart the user. John Doty ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
On Aug 14, 2010, at 4:57 PM, Paul Tan wrote: If the split nets means BUS, such as addrBus[63:0] which can be split into addrBus[12:0], addrBus[15], etc; or even the notion of Compound BUS such as addrBus[63:0],ALE,CTRL, it can all be done with the backend scheme code. It really depends on the particular backend netlister implementation. No, the issue here is that different segments of the same (single conductor) net may have different properties. Power nets are especially troublesome here. The segment between an IC and its bypass capacitor needs to be short. The segment at the output of the power regulator needs high current capacity... Combining busses with net segment properties is probably beyond comprehension... 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: wishful UI
On Aug 14, 2010, at 4:57 PM, Paul Tan wrote: gnet-verilog.scm is the Verilog netlister, which already handle merging and splitting busses, and hierarchy. An example schematic files with generated Verilog netlist can be found in the attached zip file at: http://archives.seul.org/geda/user/Jan-2009/msg00056.html You and DJ need to talk. He has his own proposal (http://www.delorie.com/pcb/bus-pins.html). But I like your use of the power of the existing tools. 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: wishful UI
I just looked through Paul's examples, and it looks just like what I'm proposing except for the GUI details and where in the flow they're converted. Paul's examples even look like mine. I reused the existing BUS graphic to represent a bus, so that the NET graphic could remain a net, where Paul used the NET graphic for both nets and busses, and the BUS graphic still does nothing. If you reuse nets for busses, you still must use a bus graphic to connect the nets, because connected nets have to have the same name, which means you *must* name all the nets - the connection to the bus doesn't provide a default name. In my proposal, it's possible to have an unnamed bus as long as all the bus pins have the same number of nets. While I applaud his results (yay!) I think it would be better if a bus were a bus and a net were a net, so that DRC and gnetlist could be a little smarter about detecting errors and resolving conflicts. One example: a single-signal net with two name attributes is an error, but a multi-signal bus with two name attributes is intentional, as long as (in my examples) there's at least one N2-way intersection between them. Also, it means that you can have an unfettered syntax for net names, and a separate fettered syntax for nets that are in busses. I think it would also be useful to the user if single-signal nets and multi-signal busses were visually distinct. It would help them understand the schematic faster. Also, my proposal is to have the busses converted to multiple independent nets in the common parts of gnetlist, so that you don't have to tweak every single backend to add support for them. You can still support magic net names that the backends understand, if you want, but it seems to me a common concept like bus should be done in common code and be consistently applied across all the backends. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: wishful UI
Hi ALL, On Aug 14, 2010; 04:33pm, DJ wrote: While I applaud his results (yay!) I think it would be better if a bus were a bus and a net were a net, so that DRC and gnetlist could be a little smarter about detecting errors and resolving conflicts. One example: a single-signal net with two name attributes is an error, but a multi-signal bus with two name attributes is intentional, as long as (in my examples) there's at least one N2-way intersection between them. Also, it means that you can have an unfettered syntax for net names, and a separate fettered syntax for nets that are in busses. I think it would also be useful to the user if single-signal nets and multi-signal busses were visually distinct. It would help them understand the schematic faster. Yes, the Gnetlist frontend has passed all the relevent info to the Gnetlist backend, what the backend needs to do with those info is up to the backend. A visual NET or BUS in Gschem can be assigned any attributes and be presented to the backends, it is up to the backends to decide what is legal or not, and warn user appropriately. I fully agree that a common backend can be used to share functions among similar backends. Nothing should prevent us from having mutiple common backends, each of which can be applied for different CAE/CAD disciplines, such as Verilog AMS, CASE, Mechanical, etc. where a visual BUS or NET could mean different things. As long as we try not to put contraint in Gschem and Gnetlist frontend C code (except plug-in), then we are safe. Best Regards, Paul Tan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb: experience with import-schematics
Seems to work, I pushed it to master tree. Thanks! ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb: experience with import-schematics
More generally: What config files does import schematics look at? Importing uses pcb's internal paths, not gafrc. Gnetlist simply passes the list of elements to pcb and lets pcb load them. You can point pcb's m4 library at a non-existing directory, I suppose. Look at make_footprint_hash() in src/buffer.c Maybe we need to read the menus in reverse order? I'm not sure we ever had a rule about what the priorities were if two libraries had the same element, as from within pcb you always specified the library too. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: gEDA/gaf and PCB on OS X
On Aug 14, 2010, at 2:16 PM, John Doty wrote: The only real problem with Fink is that it gets itself tied in knots occasionally. Every couple of years, I have to rm -rf /sw and reinstall the whole thing. The only *other* problem with Fink is that is doesn't always play well with MacPorts. For my part, I pretend Fink doesn't exist. I use MacPorts, which is very much like the BSD ports system, or simply build from a source tarball. OS X is BSD underneath, after all, and for the most part Apple hasn't h0rk3d it up too badly. gEDA runs swell on OS X. -dave ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb: experience with import-schaematics
This should be documented in the manual. Done. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: [PATCH] Add a keyboard shortcut to pcb's close without saving option
Applied, thanks! ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user