UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
10,097 Views
Registered: ‎11-23-2009

xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

I try to replace VHPI by DPI in a vhdl design.

I've factored the interface such that I can use now VHPI (on a simulator supporting it) and DPI with xsim.

 

When building the test bench xelab crashes with

 

ERROR: [XSIM 43-3316] Signal SIGSEGV received.
Printing stacktrace...

[0] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x4f81db]
[1] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriBlockingAssign&)+0x54) [0x2abf01d26124]
[2] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::TraverseArray(Verific::Array const*)+0x46) [0x2abf01d24886]
[3] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriSeqBlock&)+0x54) [0x2abf01d268b4]
[4] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x4f6a9b]
[5] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriConditionalStatement&)+0x62) [0x2abf01d26592]
[6] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::TraverseArray(Verific::Array const*)+0x46) [0x2abf01d24886]
[7] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriSeqBlock&)+0x54) [0x2abf01d268b4]
[8] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x4f6a9b]
[9] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriEventControlStatement&)+0x62) [0x2abf01d26512]
[10] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x500a6c]
[11] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriAlwaysConstruct&)+0x42) [0x2abf01d25e02]
[12] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x4f63a6]
[13] .../Vivado/2015.4/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::TraverseArray(Verific::Array const*)+0x46) [0x2abf01d24886]
[14] .../Vivado/2015.4/bin/unwrapped/lnx64.o/xelab() [0x50538f]

 

That happens with vivado 2015.4, 2015.3, 2015.1 and 2014.4 under Ubuntu 14.04 LTS.

 

I've attached a reproducer.

The issue seems connected with DPI.

When local dummy functions are defined all is fine, to test simply

 

make realclean; make build_nodpi; make run

 

and see

 

put: 9
...
put: 19

 

When DPI is used one gets crash of xelab, to test simply

 

make realclean; make build_dpi

 

and see

 

ERROR: [XSIM 43-3316] Signal SIGSEGV received.
Printing stacktrace...

 

In case the DPI version really builds a 'make run' will hang because more is needed to run the test bench in this case.

 

There are other postings about xelab crashes, but this case seems to be different.

Any help or hint is very welcome.

 

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Explorer
Explorer
14,839 Views
Registered: ‎11-23-2009

Re: xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

This bug is apparently fixed in Vivado 2016.1.

 

xelab now builds a mixed language vhdl + systemverilog test bench with DPI interfaces to external C code.

Tags (3)
0 Kudos
4 Replies
Explorer
Explorer
10,048 Views
Registered: ‎11-23-2009

Re: xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

This bug in libxsimverific is apparentlty around since a long time.

See for reference the postings

 

  ERROR: [XSIM 43-3316] Signal SIGSEGV received
  Vivado 2015.4 XSim crashes with SIGSEGV

 

and the two 'solved' cases

 

  How to debug this error message

  Vivado Simulator 2014.1 segfaults

 

The later two cases were solved by avoiding certain language constructs.

The former two cases are still open, but are also suspected to be caused by certain language constructs.

 

My case is a bit different, it compiles and works when all is defined locally, but crashes when two functions are declared as

 

  import "DPI-C" function int ...

 

As said, all Vivado versions from 2014.4 on seem to be affected.

 

0 Kudos
Xilinx Employee
Xilinx Employee
9,949 Views
Registered: ‎09-25-2014

Re: xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

Hi,

 

This issue is because of SV with DPI being instantiated in vhdl.This has been reported to factory with CR 935895.

 

Thanks,

Srimayee

 

0 Kudos
Explorer
Explorer
9,868 Views
Registered: ‎11-23-2009

Re: xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

How old is this CR? Are there signs that the issue is fixed in the upcoming 2016.1 version of vivado ?

 

0 Kudos
Highlighted
Explorer
Explorer
14,840 Views
Registered: ‎11-23-2009

Re: xelab fails with [XSIM 43-3316] Signal SIGSEGV in a mixed vhdl systemverilog DPI use case

Jump to solution

This bug is apparently fixed in Vivado 2016.1.

 

xelab now builds a mixed language vhdl + systemverilog test bench with DPI interfaces to external C code.

Tags (3)
0 Kudos