3 module top(a, b, y1, y2, y3, y4);
6 output [7:0] y1, y2, y3, y4;
8 // this version triggers a bug in Icarus Verilog
9 // submod #(-3'sd1, 3'b111 + 3'b001) foo (a, b, y1, y2, y3, y4);
11 // this version is handled correctly by Icarus Verilog
12 submod #(-3'sd1, -3'sd1) foo (a, b, y1, y2, y3, y4);
17 module submod(a, b, y1, y2, y3, y4);
19 parameter [7:0] d = 0;
21 output [7:0] y1, y2, y3, y4;