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 |