[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Flexibility and capability



On Sep 30, 2009, at 2:29 AM, spuzzdawg wrote:

>
>> >    I'm not sure why it's apparently irrelevant that the accepted  
>> predominant >    workflow is from gschem to pcb So what? What are  
>> all those other back ends for? Aren't they important? > or that  
>> pcb is a member project of the > geda project. If member projects  
>> and affiliated projects aren't > considered part of gEDA then I'm  
>> curious as to what you define > as gEDA > and what topics you  
>> define as appropriate for this list. The issue isn't what topics  
>> are appropriate. The issue is keeping the interfaces clean and  
>> flexible. To do that, you have to remember what the interfaces are.
>
> What other backends? Are you referring to netlister and others?  
> Most of them exist to modify schematic files to get it ready for a  
> pcb.

Yes and there are *many* ways to get from a set of gEDA schematics to  
a PCB. "pcb" is only one of them. The support for many paths is a  
great strength of gEDA, one of the things that make it superior to  
other toolkits.

> Otherwise I guess you could mean spice or other simulators.

There are four working ASIC chip designs I created with gEDA. How do  
you suppose that happened?

> Either way, other backends are not particularly relevant to the  
> discussion.

No, they are *essential*, because they represent one of the things  
that makes gEDA special. And they give the lie to the notion that pcb  
limitations are gEDA limitations.

> The discussion was about
> why others consider pcb to be a part of gEDA.
>
> To keep the interfaces clean and flexible you have to remember what  
> the interfaces are? I have no idea what you are trying to say.

Don't treat gEDA/pcb as just another integrated tool. The world is  
infested with those. Remember that gEDA is better because, with its  
clean interfaces, it can work with other toolkits. To a lesser extent  
that true of pcb, too (as we have heard from an xcircuit user).

>
> The OP said:
>>
>> > What's the current and planned state of support for blind and/or  
>> > buried > vias in the gEDA system? That's like asking "what's the  
>> state of support for driving Phillips head screws with a handsaw?".

> Another patronising analogy. I think last time you used a chainsaw.  
> Pretty much everyone else on this list includes pcb in the geda  
> name, those who don't know that
                 ^^^^^^^^^^^

That's almost certainly because pcb doesn't have its own list. I have  
the impression that users have a lot more questions about pcb than  
gEDA, so the list is dominated by pcb-centric concerns.

> others do. It's obvious from context what the question meant  
> regardless of what your stance is on gEDA terminology. I think that  
> all things considered, your response was deliberately antagonistic.

*You* call *me* antagonistic? Come on, now.

The question implied a limitation in gEDA. There is no such  
limitation. Is is good to allow such misinformation to tar gEDA's  
reputation?

> >
>>
>> >    "Currently, the gEDA project offers a mature suite of free  
>> softwareapplications for electronics design, including schematic  
>> capture, > attribute management, bill of materials (BOM)  
>> generation, > netlisting > into over 20 netlist formats, analog  
>> and digital simulation, and > printed circuit board (PCB) layout."  
>> I don't know who wrote that. gEDA and PCB are separate,  
>> independently  developed projects. They have different source  
>> trees and conventions. They were not originally designed for each  
>> other. That they play well   together is a testimony to the power  
>> of clean interface design. Let's not forget that, because if we do  
>> we will lose that power.
> It comes from the gEDA front page http://www.gpleda.org/
>
> That they play well is a testament to the fact that the netlister  
> was written specifically for use with pcb

Nope. gsch2pcb was written for pcb, but gnetlist is a nice, clean,  
pretty neutral general-purpose tool. I see no pcb-specific code at  
all in gnetlist outside of the pcb back end. If anything, gnetlist is  
specialized for Verilog: there is some undocumented Verilog-specific  
code in the front end, and if we ever actually get around to  
refactoring gnetlist, that should be moved to the back end, and the  
back end data access limitations that pushed that stuff into the  
front repaired.

> and that the pcb project is affiliated with the gEDA project.  
> http://en.wikipedia.org/wiki/GEDA#History

If you look in the dictionary, "affiliated" does not mean "the same"  
or "a part of".

>
> >From the same wiki article:
> Loosely speaking, the term "gEDA Suite" refers to all free software  
> projects and applications that have voluntarily associated  
> themselves with the gEDA Project via the geda-dev/geda-user mailing  
> lists. These include:
>
> gEDA/gaf - gschem and friends (the original project)
> PCB - PCB layout program   <------ take note of this one
> Gerbv - Gerber file viewer
> ngspice - a port of Berkeley SPICE
> GnuCap - A modern electronic circuit simulation program
> gspiceui - A GUI front end for ngspice/GnuCap
> gwave - An analog waveform viewer
> Icarus Verilog - A Verilog simulator
> GTKWave - A digital waveform viewer
> wcalc - Transmission line and electromagnetic structure analysis
>
> Within the gEDA Suite, gEDA/gaf ("gaf" stands for "gschem and  
> friends") is the smaller subset of tools grouped together under the  
> gEDA name and maintained directly by the gEDA project's founders.  
> GEDA/gaf includes:
>
> gschem - A schematic capture program
> gnetlist - A netlist generation program
> gsymcheck - A syntax checker for schematic symbols
> gattrib - A spreadsheet program for editing symbol attributes on a  
> schematic.
> libgeda - Libraries for gschem, gnetlist, and gsymcheck
> gsch2pcb - Forward annotation from schematic to layout using pcb
> Assorted utility programs

And I think this gives a wrong impression, since gEDA works with a  
*very* much wider universe of tools than this list suggests.

>
>
> > Anyone who brings up a point about how
>>
>> > geda/gaf/pcb could be more useful, more user friendly etc More  
>> useful and friendly to *what kind* of user? The kind that would  
>> prefer spending an hour mousing around to solve a problem once, or  
>> 15 minutes writing a script to solve it for all time?
>
> This is the line of argument I really have an issue with. I mean  
> making it easier to use by someone who doesn't want to command line  
> everything.

Does every tool have to be dumbed down to serve the computer- 
illiterate? This is what really worries me. Finally, I have access to  
a tool that makes it possible to actually use the power of the  
computer to help a computer-literate part-timer like me be really  
productive, and some people want to dumb it down to be like all the  
other tools.

> For someone who likes to be able to use the program

I hate to waste time using the program. I'd rather program the  
computer to do the work for me. That's another reason why I like gEDA  
so much: many of the time-wasting "features" that sell the cool tools  
are absent.

> instead of spending all their time researching non-existent  
> documentation.

You ever used the big commercial tools? Voluminous documentation that  
goes nowhere. It can take you all day to discover that the  
information you seek isn't there. gEDA's documentation is actually  
pretty complete by those standards, and as it is concise it doesn't  
waste time. Of course, documentation can always be improved.

> For someone who would like to have their program to have functions  
> that are accessible, rather than have commands hidden away.

We have different notions of accessible. Hiding functions behind  
menus is the opposite of "accessible", even when the immediate  
bindings are documented. What a script writer needs is generally deeper.

> You seem to assume that all users of gEDA are capable or want to  
> write a script to solve a problem and that it takes an hour to find  
> anything through a GUI interface.

No, that's not my assumption. Users who desire the ease and low  
productivity of a complex point and click interface have many other  
options. But those of us who need a high productivity scripted flow  
are starved for choices: gEDA is basically it, as far as I can see.  
Hurray for Ales!

> I can assure you that anyone wanting to write scripts for the first  
> time will spend days searching for documentation.

But the computer literate already know this stuff. There are lots of  
books, tutorials, examples, etc. around on scripting. Anybody  
actually wants to harness the power of computers should study this  
(not just gEDA users). Does every tool have to be dumbed-down to  
serve the computer illiterate?

>
> Why does your concept of scripted flexibility and my thoughts on  
> GUI ease-of-use have to be mutually exclusive? Gui accesible  
> function could still be accessed through scripts if required.

It's an old idea that has nothing wrong with it except that it never  
works for an extended time. The GUI always takes over. The shallow  
easily scriptable transparency of NextStep 1.0 evolves into the  
opaque totalitarian GUI regularity of the difficult-to-script Cocoa.  
And that has its place (I'm typing on a Mac here). There are no  
universal solutions. But we must appreciate the strengths of our  
tools or we will lose them.

>
> I disagree. The abuse of terminology here is dangerous, because it
>>
>> encourages the delusion that gEDA and pcb would be better if they  
>> were more integrated. Integrated tools may be easier to use in  
>> some sense, but they don't have gEDA's productivity potential.
> Altium announced that having separated modules for schematic  
> capture, layout and simulation was the biggest problem in their  
> program.

That's their opinion. There are no universal solutions. If all tools  
choose the same path, the user will have no meaningful choice.  
Altium's priority seems to be selling to managers, not liberating  
designers.

> It stands in the way of simple forward and back annotation for  
> example.

Can they export a netlist to an ASIC layout program? Or a dozen  
competitors' PCB layout programs? Or a computer algebra system for  
symbolic circuit analysis?

> I'm really at a loss to understand where your concept of gEDA's  
> superior productivity potential comes from. Other than saying it's  
> better often, you don't say too much on the topic.


Revision-control-friendly file formats make managing changes a snap.

Scriptable data flow means that a simple "make" can rebuild all  
project data products, without requiring that the designer remember  
the details of a flow from years ago. At the same time, one can adapt  
the flow to the project's needs, not some narrow channel the tool  
requires. The Makefile formally documents many of the details of the  
project's structure and flow (of course informal comments are also  
helpful, and the Makefile is a good place to collect them, too).

Simple, transparent file formats mean that "textutils" processing of  
files is easy and very effective. It only took me a few minutes to  
write my pins2gsch script, but it has already saved me many hours of  
work.

Revision control, text processing, and scripting tools are also, of  
course, widely used to build software. Many projects involve mixtures  
of hardware and software. Since gEDA works with such tools in much  
the same way software development tools operate, it is ideal for such  
mixed projects.

And if you choose scripting-friendly documentation tools, you can  
integrate that activity too.

Flexible, scriptable netlisting means that gEDA can be easily adapted  
to whatever layout program the layout designer is familiar with. Also  
whatever simulator you need.

And gnetlist can do a lot more. It is really easy to extract and  
reformat design information from the schematics using gnetlist. The  
gEDA->Mathematica flow for symbolic analysis only took me an  
afternoon to code.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx




_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user