[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
  SystemPerl
  Voneline
  WFH
General Info
  Papers

Issue #333

Loops not unrolling due to width mismatches?

Added by Joe Eiler over 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:03/10/2011
Priority:LowDue date:
Assignee:Wilson Snyder% Done:

0%

Category:Unsupported
Target version:-

Description

This might be intended behavior. I would have expected width mismatch warnings but was confused by the BLKLOOPINIT warnings. Below is a patch to the t_unroll_signed regression test that illustrates what I saw.


--- t_unroll_signed.v   2008-06-09 19:17:16.000000000 -0500
+++ t_jce_unroll.v      2011-03-10 14:50:02.000000000 -0600
@@ -118,6 +118,36 @@
           if (total != -28) $stop;
        end
        //===
+       10: begin
+          // mostly cover a small index
+          total = 0;
+          for (i3=0; i3<3'd7; i3=i3+3'd1) begin
+             total = total - {29'd0,i3} -1;
+             dly_to_insure_was_unrolled[i3[0]] <= 0;
+          end
+          if (total != -28) $stop;
+       end
+       //===
+       11: begin
+          // mostly cover a small index
+          total = 0;
+          for (i3=3'd0; i3<7; i3=i3+3'd1) begin
+             total = total - {29'd0,i3} -1;
+             dly_to_insure_was_unrolled[i3[0]] <= 0;
+          end
+          if (total != -28) $stop;
+       end
+       //===
+       12: begin
+          // mostly cover a small index
+          total = 0;
+          for (i3=3'd0; i3<3'd7; i3=i3+1) begin
+             total = total - {29'd0,i3} -1;
+             dly_to_insure_was_unrolled[i3[0]] <= 0;
+          end
+          if (total != -28) $stop;
+       end
+       //===
        19: begin
           $write("*-* All Finished *-*\n");
           $finish;

History

#1 Updated by Wilson Snyder over 2 years ago

  • Category set to Unsupported
  • Status changed from New to Resolved
  • Assignee set to Wilson Snyder

Thanks for the good test.

This wasn't really intentionally unsupported, but as you surmised a side effect of width problems so never uncovered before.

Fixed in git for 3.812+.

#2 Updated by Wilson Snyder about 2 years ago

  • Status changed from Resolved to Closed

In 3.812.

Also available in: Atom PDF