cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
529 Views
Registered: ‎11-07-2012

Vivado 2019.2 compile_simlib issues with systemc modules

Hi All,

I am using Vivado 2019.2 with Xcelium 19.03.009.

compile_simlib of the tool fails on systemc modules (like xtlm).

Using -verbose I saw that the tool is looking for some non existing path of Xcelium 19.03.005 (???)

 

Error details :

- Attached screenshot

- Cmd used :

compile_simlib -simulator xcelium -simulator_exec_path {PATH/Cadence/xcelium/19.03.009/tools.lnx86/bin} -family all -language all -library all -dir {OUTPUT_PATH/generated_simlib} -force -verbose

- From the Verbose - Identified vivado was adding strange .so to execution cmd from wrong xcelium version:

/tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libscBootstrap_sh.so /tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libxmscCoroutines_sh.so /tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libsystemc_sh.so 

 

Thanks in advance !

Yoti

Tags (2)
xilinx_support_vivado_2019_2.JPG
0 Kudos
7 Replies
Highlighted
Observer
Observer
477 Views
Registered: ‎03-02-2015

Re: Vivado 2019.2 compile_simlib issues with systemc modules

@yotam I came here to report the same problem.  I'm using Vivado 2019.2 and either Xcelium 19.03.001 or 19.09.005 (have tested with both, same results). I see the same nonexistent path and .so names in my logs:

g++: error: /tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libscBootstrap_sh.so: No such file or directory
g++: error: /tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libxmscCoroutines_sh.so: No such file or directory
g++: error: /tools/dist/xlm/19.03.005/tools/systemc/lib/64bit/gnu/libsystemc_sh.so: No such file or directory

It seems like the script or other code which invokes GCC to link together some systemc object files is hardcoded to expect the Xcelium installation to exist at /tools/dist/xlm/19.03.005.

I "fixed" this by using 'mkdir' and 'ln' to create a softlink at /tools/dist/xlm/19.03.005 pointing at the actual Xcelium 19.03 installation path. This reduced the error count from 14 libraries to 3.  Here's what I found with respect to the remaining 3 libraries:

  1. When trying to link libaxi_tg_sc_v1.0 (SystemC AXI traffic generator):
    • /usr/bin/ld: cannot find -lstdc++fs
  2. Many compilation errors while attempting to compile debug_tcp_server_v1, starting with:
    • /tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/debug_tcp_server/debug_tcp_server_v1/src/RdWrTCPSocket.cpp: In member function 'void RdWrTCPSocket::DataTransfer()':
      /tools/Xilinx/Vivado/2019.2/data/systemc/simlibs/debug_tcp_server/debug_tcp_server_v1/src/RdWrTCPSocket.cpp:271:38: error: expected unqualified-id before '&' token
      catch (const std::invalid_argument& e) {
  3. Because debug_tcp_server_v1 failed to compile, we get a link error in librwd_tlmmodel_v1.so, which depends on it:
    • /usr/bin/ld: cannot find -ldebug_tcp_server_v1

I'm trying to do all this on CentOS Linux release 7.6.1810.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
467 Views
Registered: ‎07-16-2008

Re: Vivado 2019.2 compile_simlib issues with systemc modules

There does seem to be something wrong with the path.

Let me confirm and get back to you.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
423 Views
Registered: ‎12-05-2019

Re: Vivado 2019.2 compile_simlib issues with systemc modules

Hi. having axactly the same issue.

Any updates on this?

 

thanks

0 Kudos
Xilinx Employee
Xilinx Employee
403 Views
Registered: ‎07-16-2008

Re: Vivado 2019.2 compile_simlib issues with systemc modules

There’s a bug in compile_simlib. These hard-coded paths are coming from that. A CR has been filed.

The dev team will try to get this fixed in 2019.2.2.

If these IPs are not utilized in your design, you can ignore the errors. Otherwise a possbile workaround is to manually modify the auto-generated compile script and re-run it.

Take XTLM IP for example,

go to <pre-compiled lib location>/xtlm/.cxl.systemc.xtlm.xtlm.lin64.cmd, modify the path for 'xmsc' and 'g++' compilers.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Observer
Observer
376 Views
Registered: ‎03-02-2015

Re: Vivado 2019.2 compile_simlib issues with systemc modules

@graces What should the path to 'g++' be? When I try to run compile_simlib, every invocation of g++ in the generated *.cmd files uses the Linux distribution's default compiler, /usr/bin/g++. For example, would it be correct to modify *.cmd to use the Cadence bundled GCC at (Xcelium install dir)/tools.lnx86/cdsgcc/gcc/bin/g++?

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
315 Views
Registered: ‎07-16-2008

Re: Vivado 2019.2 compile_simlib issues with systemc modules

compile_simlib will pick the g++ from the PATH. So if the PATH is pointing to /tools.lnx86/cdsgcc/gcc/bin first, then g++ will be picked from here. In your case it looks /usr/bin/g++ is pointed to first in the PATH.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Observer
Observer
305 Views
Registered: ‎03-02-2015

Re: Vivado 2019.2 compile_simlib issues with systemc modules

After combining a workaround for the 2019.2 bug previously discussed with fixing my $PATH so cdsgcc comes first, I'm able to run compile_simlib with 0 errors. Thanks!

0 Kudos