Re: gnucap patches and article
Telford Tendys <[email protected]>
| Newsgroups | gmane.comp.gnu.gnucap.devel |
|---|---|
| Message-ID | <20021015123246.C8576@ikkyu> |
On Mon, Oct 14, 2002 at 08:34:14AM -0400, [email protected] wrote: > > what would the effort be to make this work with verilog, > http://icarus.com/eda/verilog/index.html is a nice one that is GPL, > instead of C? I'm no verilog expert (though I'm always willing to learn) but I wouldn't really consider not supporting C so if anything the verilog support might be as well as C. My reasoning works a bit like this... supporting C really means supporting the shared-object binaries that gcc produces, plus some C-style function call setup. Since the dlopen() command is available on Linux, it is very easy to grab a shared object binary and start running code out of it so the linkage into gnucap should be pretty minimal. Now gcc happens to be able produce shared objects for Java, C++ and FORTRAN so all of those languages are automatically supported too. Since those languages need a way to call libc and other system libraries, they all support the C-style function calls so that's OK too. With things like small Eiffel that can compile to JVM which in turn can go through gcc, the Eiffel is also supported (somewhat indirectly). The question then is whether verilog can be compiled into a shared-object in a native binary format. I suspect that icarus cannot do this but it can produce its own VM-style language "vvp assembly" so the most likely direction there is to rework their "vvp" shell command (probably written in C) into a shared-object which can act as an interpreter for assembly files. Possibly another approach would be to compile a "wrapper" for vvp which creates some pipes and runs the shell command in the background (messier but easier to do and probably easier to debug and safer). - Tel