gEDA-dev: Fwd: google soc
John Doty
jpd at wispertel.net
Mon May 28 15:03:42 EDT 2007
On May 28, 2007, at 9:45 AM, al davis wrote:
> On Monday 28 May 2007, John Doty wrote:
>>>> "A program should do one thing well."
>>>
>>> The plugins are like separate programs. The simulator will
>>> call it to read any format. The simulator core will have
>>> no file reading capability.
>>
>> But for your ambitions, it needs:
>>
>> 1. An internal data representation for *any* data any EDA
>> tool might use.
>>
>> 2. A plug-in interface capable of passing such data.
>
> That is what I am working on. The simulator core is just a
> core, like the kernel of an operating system. Everything else
> is plugins, like drivers and applications.
We already have operating systems. We don't need another.
>
> Each driver and application is like a separate program. In the
> context of a simulator, that means models, commands, and
> interfaces are like separate programs.
>
> The power of this system is incredible.
You are trying as hard as possible to convince me that this is all
vapor, aren't you?
> Now the DC analysis is
> a separate program, the AC analysis is a separate program,
> Each model is a separate program, Each file format read or
> written is a separate program. ...
>
> With a good interface, and the core providing the needed
> services, all these become much easier. With a few wrapper
> modules, it becomes possible to use modules designed for
> something else.
>
> The model and command interfaces have been working for a while,
> and fully pluggable for a few months. I am now working on the
> interface for getting raw data (circuit descriptions) in and
> out. Next will be a way to get analysis data in and out.
>
> With models as plugins, many more become available. It can use
> unmodified spice C models as plugins. The model compiler (a
> group of separate programs) will enable the use of models
> written in languages like Verilog-AMS,
I blew $100 on that Verilog-AMS book you recommended. Yuck. Too much
hype, too little substance (this seems the defining characteristic of
the Verilog-AMS community). The authors seem clueless about actual
mixed-signal design. It isn't just computer programming...
> VHDL-AMS, Spectre,
> Saber, IBIS, and eventually others. Anyone can develop and add
> models, without digging into the core. This is possible only
> because of the plugin system, and making the model compilers
> separate programs.
>
> With commands as plugins, it becomes possible to do scripting
> beyond what any other simulator can do, and provide any user
> interface you might want. Anyone can develop and add, without
> digging into the core. Again, it is possible only because of
> the plugin system.
>
> Having the net reader/writer as a plugin makes it possible to
> read many netlist formats. The Spectre reader took only about
> an hour to do. It's a plugin, not part of the simulator. The
> hardest one is Spice. There are many variants, and all are
> very irregular. They can all be plugins, not part of the
> simulator, yet appear to be part of the simulator. Anyone can
> do this, without digging into the core.
>
>> That's not a focus on simulation: it's a focus on things the
>> simulator should not be dealing with.
>
> The idea here is that with old style architecture, simulators do
> need to deal with this.
No they don't. The simulator does not need to see my telephone number
from the title frame. It needs to see the stuff gnetlist extracts.
> That is what limits what Spice can do.
SPICE put my dreams into space and my kids through college. It's easy
to criticize, but hard to beat.
> Every new model adds a new set of name clashes. The irregular
> format is built in, and hard to change. It's a real headache
> for simulator developers.
I'm mostly a simulator user. It appears to me that simulator
developers don't even understand what gives users headaches.
>
> So the purpose of the plugin system is exactly what you say is
> needed .. so the simulator won't need to deal with those
> interface issues. It all moves to plugins.
No it doesn't. In your approach, the simulator has to deal with the
*union* of all the plugin data structures. How is this better than
gnetlist? gnetlist is radically flexible and very effective at its
one job.
>
> To a user, you don't need to carry the bloat of features you
> don't use.
gnetlist isn't bloated.
>
> Back to the original question .. Dario asked what he can do ...
> I suggested some plugins that will provide functionality that
> is needed. I want someone else to do it so I can go back to
> real simulation work.
>
> Another related need is for plugins mimicing some of the
> proprietary variants of Spice.
>
> I am excited about the new capability the plugin system is
> enabling. It is turning out to be much more effective than I
> expected.
Quit the hype and design a real circuit, show us how it's done. Then
maybe you'll convince skeptics like me.
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd at noqsi.com
More information about the geda-dev
mailing list