Re: [myhdl-list] [myhdl_hg] toVerilog unittest errors with Icarus Verilog
Brought to you by:
jandecaluwe
|
From: Günter D. <dan...@we...> - 2008-08-04 17:24:37
|
Jan Decaluwe wrote:
...
>
> I have found Icarus to be less reliable than cver. I am currently happy when
> the tests run without errors with cver. (Perhaps I should define a project
> to debug Icarus using the MyHDL tests; having cver I'm not very motivated
> to do that myself.)
I installed Cver on my x86_64 installation and noticed that
the makefile that comes with MyHDL to compile myhdl_vpi.so for Cver does
not work with an x86_64 installation. I attached a makefile, based on
the makefile.lnx in the cosimulation/cver folder that compiles the
library correct and what is more important, the library is loaded
properly by cver on a x86_64 installation.
The problem is that cver is compiled as a 32-bit application and the
makefile.lnx will compile the library as 64-bit library.
>
> With cver, I indeed found 2 errors that shouldn't be there. It shows that
> we should run all tests for any changes (although that may not be
> practical for those who haven't cosimulation installed.)
I tried to simplify the installation effort for doing cosimulation with
MyHDL by creating RPM packages for openSUSE, but haven't found out a
good way yet to do that in connection with Cver.
For Icarus Verilog for example I have created a RPM package myhdl-cosim
that contains the myhdl.vpi file in /usr/lib/ivl or on x86_64 in
/usr/lib64/ivl. That is the folder iverilog-vpi --install-dir reports as
the default folder for vpi modules. When installing a vpi module in that
folder, there is no need to specify the path to the module when calling
vvp. So the vvp call simplifies to:
vvp -m myhdl <sim_file>
By installing the python-myhdl, myhdl-cosim, and verilog RPM packages,
MyHDL can be used in connection with Icarus Verilog for cosimulation.
With Cver the first issue I see is that the pli_incs folder needs to be
in a common place. I have created a rpm package of Cver for openSUSE and
added the folder as /usr/include/pli_incs. However, I haven't figured
out a good way where to put the vpi module. As it is a shared library I
wonder whether Cver can load it from the standard library folders
without specifying the path to the library? That would allow to put it
in /usr/lib and not require to specify the path. The simplified call
would then look like this:
cver -q +loadvpi=myhdl_vpi:vpi_compat_bootstrap + <verilog source>
Guenter
BTW, the Cver package is available from http://software.opensuse.org/search
|