gnucap-devel
[Top][All Lists]
Advanced

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

Re: [Gnucap-devel] verilator


From: al davis
Subject: Re: [Gnucap-devel] verilator
Date: Tue, 14 Oct 2014 03:38:00 -0400
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

On Sunday 12 October 2014, Felix Salfelder wrote:
> > The timesteps of interest might be much slower than
> > the sigma delta modulator clock speed once the model of the
> > D2A is tested out. Then the verilator code output
> > bitstream(s) could be mathematically dumped into a D2A_OUT
> > variable used by gnucap to test the system for things like
> > signal gain is in range and not too large or too small...
> 
> you can inject signals into gnucap simulations easily. use
> the PWL model and feed in a list of control points. this
> often requires careful text preprocessing (awk, perl etc.).
> it is probably a good idea to develop plugins that simplify
> this issue. could be factored into reading in a waveform
> from a file (already there, somehow) and having a COMPONENT
> or just BM that replays them.

Better to use gnucap's digital interface and let the automatic 
conversion take care of it.

On Saturday 04 October 2014, Felix Salfelder wrote:
> what you want to do is compile/link the verilator output
> against an interface to gnucap (instead of a main()
> program). something very similar already exists for spice
> components. spice-wrapper.cc implements the interface which
> is then linked to spice object code. in your case, the
> wrapper will have to take care of the signal conversion
> and/or instanciate appropriate connectors, some work on the
> verilator side might be neccessary...

Yes ..

Verilator is a compiler.  The usual way to use it, you use it to 
compile your verilog code into C++.  Then you add a "main", link 
it and run the executable.

To interface to gnucap, a "verilator-wrapper" would substitute 
for that main, it would then generate a .so file that could be 
used as a plugin, similar to the spice models.  You only need to 
write verilator-wrapper once, then it should be simple to use 
verilator to generate plugins.

spice-wrapper is quite a mess, because of the messy job it has 
to do.  I am hoping verilator-wrapper will be less messy.

You can start by looking here:
http://gnucap.org/dokuwiki/doku.php?id=gnucap:manual:tech:plugins

But the digital interface isn't described there.  It's (sort of) 
in d_logic.h ...  A new logic primitive would most likely be a 
plugin derived from COMMON_LOGIC.  You need one for each output.

I just realized (been away from it a while ...) that logic is 
now parsed by "obsolete_callback", not by a dispatcher.  This 
needs to be fixed in order to make progress here.



reply via email to

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