Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Issue #1044

Internal error when doing V3Simulate on for loop inside for loop

Added by Jie Xu over 1 year ago. Updated 7 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
TranslationError
% Done:

0%


Description

Error: Internal Error: xxx.sv:472: ../V3Simulate.h:177: No value found for node.
%Error: Internal Error: See the manual and http://www.veripool.org/verilator for more assistance.

Not able to reproduce this with a small test case yet. But in our code, we have two embedded for-loop where the error occurs when try to simulate the condition of inner loop.

t_unroll_forfor.v (774 Bytes) Wilson Snyder, 05/07/2016 12:04 PM

t_unroll_forfor.v - Updated test case (828 Bytes) Jan Egil Ruud, 11/29/2016 11:51 AM

History

#1 Updated by Johan Bjork over 1 year ago

Probably caused by my patch: Fix unrolling complicated for-loop bounds, bug677. [Johan Bjork] Please let me know if you can find a way to reproduce it, otherwise a run with debug for V3Simulate might help as well.

#2 Updated by Jie Xu over 1 year ago

We have something like this
   always @(posedge clk) begin
       int i;
       int j;
       for (i = 0; i < MASK_NUM; i ++)
       begin
       for (j = 0; j < MASK[i]; j ++)   // the line which causes the internal error
       begin
           out[i*4+j] <= in[i*4+j];
       end
       end
   end
In the log of V3Simulate, it first reports
V3Simulate.h:112:   Clear optimizable: Language violation: reference to non-function-local variable: VARREF
for variable j, then it report the internal error.

Hope this helps for your debugging.

#3 Updated by Wilson Snyder over 1 year ago

I took a look at this, is this still an issue? The attached doesn't seem to break, can you modify it to fail?

#4 Updated by Wilson Snyder over 1 year ago

  • Status changed from New to AskedReporter

#5 Updated by Jan Egil Ruud 11 months ago

We've finally set aside some time to create a small test case for this issue. It all seems to be related to the size of the signals. If we reduce the size to 64 bits the error disappear.

#6 Updated by Wilson Snyder 11 months ago

  • Subject changed from Internal error when doing V3Simulate to Internal error when doing V3Simulate on for loop inside for loop
  • Category set to TranslationError
  • Assignee set to Wilson Snyder

Thanks for the test case, straight forward now that I know where to look.

Fixed in git towards 3.891.

#7 Updated by Wilson Snyder 7 months ago

  • Status changed from AskedReporter to Closed

Fixed back in 3.892.

Also available in: Atom