gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] New Developer


From: al davis
Subject: Re: [Gnucap-devel] New Developer
Date: Tue, 20 May 2014 00:51:22 -0400
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

On Monday 19 May 2014, Aidan Macdonald wrote:
> I would like to develop for Gnucap. I have several years
> experience programming in many languages including C and
> C++. I have designed a small hardware emulator for GPIB
> Controllers. I am a Computer Engineering and Physics student
> at UC San Diego.

That's great .. welcome.

Where to start?  It depends on what you can do, and what you 
want to do.

I think mostly you should look in the direction of "increase 
functionality".  One side of this is that there are a lot of 
features other simulators have.  It would be great to have them 
here too.  This could be porting existing code to the gnucap 
architecture, or something totally new.  Another side of this is 
original research that nobody else has.


Felix mentioned a couple of things as "code cleanup".  I will 
fill in some details and add one more.  These are likely to be 
more difficult.

Gnucap makes serious use of plugins, and places a very high 
emphasis on code modularity, minimalism, and thorough testing.

It didn't always use plugins, so there is still some work in 
transition.

The first he mentioned "get rid of obsolete_* functions" refers 
to changes in support of parsing different formats, the 
"language" plugins.  Device code is designed so each device 
knows nothing about syntax, because it all comes from the 
language plugins.  The transition is not complete.  There is 
some lingering code from the old way, mostly in the bm_* 
plugins, marked with long names including the word "obsolete" or 
"obsolete_callback".  What we a referring to here is to finish 
the job.  The issue .. it isn't just changing to the new form.  
There are syntax issues that don't quite work in the new form.  
The most prominant one is specifying arrays of data, a syntax 
feature used by Spice compatible functions like PWL.  That is 
why I haven't already done it.

The second he mentioned is "rearrange output plugins".  It's not 
just rearrange.  There are not output plugins, but we need them.  
The output here is displaying the results of an analysis.  In 
the old code, it's in with the ac/dc/tran code.  It needs to be 
plugins.  Very important!!

One more I will add is to make the logic device code pluggable.  
There are modularity issues here.  Gnucap is the first simulator 
ever to properly support the concept that Verilog-AMS calls a 
"connectmodule", but it isn't plugable and has its own syntax.  
It predates Verilog-AMS by many years.


This is just a few.  .. fairly big ones.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]