[Top][All Lists]

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

Re: [Gnucap-devel] commands in verilog mode.

From: al davis
Subject: Re: [Gnucap-devel] commands in verilog mode.
Date: Sat, 1 Dec 2007 00:57:26 -0500
User-agent: KMail/1.9.7

On Friday 30 November 2007, Nathan Kohagen wrote:
> Related to adding support of Verilog-AMS, I think something
> that would be great is support for a digital simulator (such
> as Icarus Verilog) to control the gnucap analog kernel. When
> performing mixed-signal simulations there is usually large
> amounts of digital with one analog portion that you are
> targeting for the test and other analog blocks to support the
> test.

I think I am ahead of you on this one.  

"Which is king" should be reversed.  Gnucap already has some 
mixed mode, including the first ever correct implementation of 
the concept of the Verilog-AMS "connectmodule".  I need to 
update the language now.  The digital part for now just does 
gates, and is not as fast as pure digital, but is already ahead 
of most others.  It is crippled by the language. (and some 20 
year old messed up code).

I have had a few chats with Steve about Icarus Verilog and 
Gnucap working together, but we have not yet worked out the 

> Support for Verilog-AMS could be accomplished as a
> preprocessor script to split into the digital (Icarus Verilog
> = Verilog-D) and analog (gnucap = Verilog-A/SPICE) kernels
> and link the whole mess together. Verilog-AMS is really a
> superset, so I think we should be take pieces that already
> good by themselves (Icarus and gnucap) and make them work
> together.

How primitive......  They were doing it that way 25 years ago.

> An interesting paper is on creating a mixed signal
> environment with SystemC is:
> EXTENSIONS" by H Aljunaid and T J Kazmierski in ISCAS 2004.

You should read some of the papers from the 80's.  I recall the 
names of a few authors ..  Hugo DeMan, Karem Sakallah, Resve 
Saleh, Richard Newton, Alberto.....  and some other 
words ...  "Diana",  "Calevaras Algorithm", ....

Quick check .. the method you describe was described in 1978.

G. Arnout and H. DeMan, "The use of boolean controlled elements 
for macro-modeling of digital circuits", 1978 ISCAS, p 522.

GA and HD, "The use of threshold functions and boolean 
controlled network elements for macromodeling of LSI circuits", 
IEEE J Solid State Circuits SC-13 (1978) p 326.

I think we can do better than SEAMS.  I remember reading about 
it, possibly reviewing it for a conference .. probably BMAS  (Note who is on the committee.)

> It describe the lock-step execution that needs to take place
> between the digital and analog kernels - rewinding the
> time-step, etc.

Like I say, 25 years old.  I think that part was background.

> If gnucap was made to work with Icarus Verilog it would be
> also be controllable from SystemC and we would be effectively
> recreating SEAMS from the paper. I thought SEAMS was a
> parallel simulator that supported VHDL and later VHDL-AMS. Is
> this the same enviroment?

The interface between the analog and digital parts is 
nontrivial.  It's an analog feature, so the analog simulator 
needs to be in charge.

What I would like to do is to use Icarus Verilog to generate 
plugins.  I think it is just a matter of picking the correct 
subset of what is in an Icarus compiled file, and adding a 
wrapper like the spice model wrapper.

Remember .... The original purpose of the plugin system, which 
is not complete yet, is for on-the-fly compiled models.

reply via email to

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