[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