Jump to content
Sign in to follow this  
sergiu

Questasim with Cygwin

Recommended Posts

I tried, for some now, to run a successful simulation in Cygwin using Makefiles. I got to a point where the compilation is without errors, only some warnings like:

uvm_sequence.svh(89): (qverilog-2283) Extra semicolon in $unit (global) scope (UVM1.0)

My problem comes after that. After the vsim command is issued, no printing appears on the screen and I can't write anything in the window anymore. The Questasim does its job, I can the log files but to run it again I have to close the Cygwin and reopen it. If someone could help it, I would really appreciate it. Thanks!

Share this post


Link to post
Share on other sites

Cygwin releases very frequently - the cygwin.dll has gone from 1.7.9 to 1.7.15 in the past two months. For this reason, Questa is not officially supported on this platform.

BTW, this just happened to me a week ago on my own laptop and I just uninstalled/re-installed Questa and the problem went away.

Share this post


Link to post
Share on other sites

Hi all,

Please help me in running uvm1.0pl with questasim1.0b in cygwin. My settings are as following :

1) $UVM_HOME set to /cygdrive/c/cygwin/home/chandan/uvm-1.0p1

2) $MTI_HOME set to /cygdrive/c/questasim_6.4c/win32/

Using make -f Makefile.questa all for hello_world program which has:

GCCCMD = $(GCC) \

-m$(BITS) \

-fPIC \

-DQUESTA \

-g \

-W \

-shared \

-I$(MTI_HOME)/include \

$(DPI_SRC) \

-o $(LIBDIR)/$(LIBNAME).so

---------------------------------------------------------

Messages are :

mkdir -p ../../../lib

g++ -m32 -fPIC -DQUESTA -g -W -shared -I/cygdrive/c/questasim_10.0b/include ../../../src/dpi/uvm_dpi.cc -o ../../../lib/uvm_dpi.so

../../../src/dpi/uvm_dpi.cc:1: warning: -fPIC ignored for target (all code is position independent)

/tmp/ccHgShgW.o: In function `uvm_hdl_max_width':

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:51: undefined reference to `_vpi_handle_by_name'

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:56: undefined reference to `_vpi_get_value'

/tmp/ccHgShgW.o: In function `uvm_hdl_set_vlog_partsel':

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:110: undefined reference to `_svGetPartselLogic'

/tmp/ccHgShgW.o: In function `uvm_hdl_get_vlog_partsel':

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:168: undefined reference to `_svGetBitselLogic'

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:169: undefined reference to `_svPutPartselLogic'

/tmp/ccHgShgW.o: In function `uvm_hdl_set_vlog':

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:203: undefined reference to `_vpi_handle_by_name'

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:206: undefined reference to `_vpi_handle_by_name'

/home/chandan/uvm-1.0p1/examples/simple/hello_world/../../../src/dpi/uvm_hdl.c:210: undefined reference to `_vpi_printf'

Thanks and Regards,

Chandan

Share this post


Link to post
Share on other sites

Thanks Dave. I have now:

1) $MTI_HOME as /cygdrive/c/questasim_10.0b

2)$UVM_HOME as /cygdrive/c/questasim_10.0b/verilog_src/uvm-1.0p1

But I am still getting error as :

$ vlog hello_world.sv

QuestaSim vlog 10.0b Compiler 2011.05 May 5 2011

-- Compiling module hello_world

-- Importing package mtiUvm.uvm_pkg (uvm-1.0p1 Built-in)

** Error: packet.sv(29): (vlog-2163) Macro `uvm_object_utils_begin is undefined.

** Error: packet.sv(29): near "(": syntax error, unexpected '(', expecting function or task

** Error: packet.sv(30): (vlog-2163) Macro `uvm_field_int is undefined.

** Error: packet.sv(31): (vlog-2163) Macro `uvm_object_utils_end is undefined.

Share this post


Link to post
Share on other sites

Thanks Dave. With `include "uvm_macros.svh" it works now. I am using :

vlog hello_world.sv -writetoplevels questa.tops

vsim -sv_lib /cygdrive/c/questasim_10.0b/uvm-1.0p1/lib/uvm_dpi -c -do "run -all; q" -f questa.tops

Is there any better option with switches or any modification needed?

Share this post


Link to post
Share on other sites

Hi Dave,

Coming back to this post again. How to compile the DPI library in questa 10.0b. If I use makefile provided in uvm1.0p1.

Messages are :

------------------------------------------

make -f Makefile.questa BITS=32 dpi_lib

make[1]: Entering directory `/home/chandan/uvm-1.0p1/examples/simple/hello_world'

mkdir -p /cygdrive/c/questasim_10.0b/uvm-1.0p1/lib

g++ -m32 -fPIC -DQUESTA -g -W -shared -I/cygdrive/c/questasim_10.0b/win32/include /cygdrive/c/questasim_10.0b/uv m-1.0p1/src/dpi/uvm_dpi.cc -o /cygdrive/c/questasim_10.0b/uvm-1.0p1/lib/uvm_dpi.so

/cygdrive/c/questasim_10.0b/uvm-1.0p1/src/dpi/uvm_dpi.cc:1: warning: -fPIC ignored for target (all code is position inde pendent)

/tmp/cc9FrhXe.o: In function `uvm_hdl_max_width':

/cygdrive/c/questasim_10.0b/uvm-1.0p1/src/dpi/uvm_hdl.c:51: undefined reference to `_vpi_handle_by_name'

/cygdrive/c/questasim_10.0b/uvm-1.0p1/src/dpi/uvm_hdl.c:56: undefined reference to `_vpi_get_value'

/tmp/cc9FrhXe.o: In function `uvm_hdl_set_vlog_partsel':

------------------------------------------etc

The earlier solution is working as you suggested.

Thanks and Regards,

Chandan

Edited by chandan

Share this post


Link to post
Share on other sites

Hi Dave,

I am getting the following errors :

 

/cygdrive/c/questasim_10.0b/gcc-4.2.1-mingw32vc9/bin/g++.exe  -g  -DQUESTA  -W  -shared  -Bsymbolic  -x c  -I/cygdrive/c/questasim_10.0b/include  ../../../src/dpi/uvm_dpi.cc  -o ../../../lib/uvm_dpi.dll  /cygdrive/c/questasim_10.0b/win32/mtipli.dll -lregex
In file included from ../../../src/dpi/uvm_dpi.cc:34:
../../../src/dpi/uvm_regex.cc:26:22: error: vpi_user.h: No such file or directory
 
Please help
 
Regards,
Chandan

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...