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 #1274

Pullup / Pulldown on arrays causes internal crash

Added by Rob Stoddard 11 months ago. Updated 10 months ago.

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

0%


Description

I found this at first with a generate statement, so I thought it had to do with generate statements. But after creating the example (below) I discovered it had to do with arrays. Anyway, Verilator crashed with the following output:

%Error: Verilator internal fault, sorry. Consider trying --debug --gdbbt

I am running Verilator 3.907 devel rev verilator_3_906-11-g7b642bcbb

I have attached a log file from running the example (below) while debugging in the gibbet.


//`define USE_GEN

module IOBUF ( input T, input I, output O, inout IO );
        assign O = IO;
        assign IO = T ? 1'bz : I;
endmodule

module top (
        input [3:0] inlines,
        output [3:0] outlines,
        inout [3:0] iolines,

        input inctrl
);

`ifdef USE_GEN

genvar i;
generate for(i = 0; i < 8; i = i+1) begin: Gen_D

        IOBUF d ( .T(inctrl), .I(inlines[i]), .O(outlines[i]), .IO(iolines[i]) );
        pullup d_pup (iolines[i]);

        end
endgenerate

`else
        IOBUF d_0 ( .T(inctrl), .I(inlines[0]), .O(outlines[0]), .IO(iolines[0]) );
        pullup d_0_pup (iolines[0]);

        IOBUF d_1 ( .T(inctrl), .I(inlines[1]), .O(outlines[1]), .IO(iolines[1]) );
        pullup d_1_pup (iolines[1]);

        IOBUF d_2 ( .T(inctrl), .I(inlines[2]), .O(outlines[2]), .IO(iolines[2]) );
        pullup d_2_pup (iolines[2]);

        IOBUF d_3 ( .T(inctrl), .I(inlines[3]), .O(outlines[3]), .IO(iolines[3]) );
        pullup d_3_pup (iolines[3]);
`endif

endmodule

vericrash.txt View (6.74 KB) Rob Stoddard, 02/08/2018 07:00 PM

History

#1 Updated by Wilson Snyder 11 months ago

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

Two problems, first it should have printed an unsupported error. Then I presume you want it supported.

Both fixed in git towards 3.922.

#2 Updated by Wilson Snyder 10 months ago

  • Status changed from Resolved to Closed

In 3.922.

Also available in: Atom