cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
GP
Observer
Observer
200 Views
Registered: ‎04-30-2020

[BUG] xelab crashes with a stack trace

Hello!

I ran into this issue, and tried to reduce the use case as much as I can. It seems like removing anything from the below code avoids the crash, so it must be some strange interaction of language features that triggers it. The minimal code fragment is:

typedef logic[7:0] Foo;

module Bar(input Foo a, b);
    always_comb begin
        string LOGS[$];

        if (a) begin
        end else if (a == b + Foo'(1)) begin
        end else begin
            LOGS[$+1] = $sformatf("Message");
        end
    end
endmodule

module Top;
    Bar bar(.a(0), .b(0));
endmodule

When compiled with the 2020.2 xvlog/xelab, it just:

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

[0] /home/.../xilinx/Vivado/default/bin/unwrapped/lnx64.o/xelab() [0x6e464a]
[1] /home/.../xilinx/Vivado/default/lib/lnx64.o/libxsimverific.so(Verific::VeriVisitor::Visit(Verific::VeriBinaryOperator&)+0x101) [0x7f0bc118a091]
...
[29] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f0bbfca6e0b]
[30] /home/.../xilinx/Vivado/default/bin/unwrapped/lnx64.o/xelab() [0x51e3b7]

Done

 I hope the developers can investigate further than this. Cheers.

0 Kudos
0 Replies