/* * Bug report: * * From: Hendrik * Subject: gEDA: Pass array element into module in iverilog 0.5 * To: geda-dev@seul.org * Date: Mon, 10 Sep 2001 11:53:04 +0800 */ module top; reg [6:0] x[2:0]; speak i0 (x[0], x[1], x[2]); initial begin #10 x[0] = 0; x[1] = 0; x[2] = 0; #100 x[0] = 1; #100 x[0] = 0; x[1] = 1; #100 x[1] = 0; x[2] = 1; #100 $finish; end endmodule module speak(x1, x2, x3); input [6:0] x1, x2, x3; always #100 $display ("%d: x1=%d, x2=%d, x3=%d", $time, x1, x2, x3); integer errors; initial begin errors = 0; #100 if (x1 !== 7'b0 || x2 !== 7'b0 || x3 !== 7'b0) begin errors = errors + 1; $display("FAILED"); end #100 if (x1 !== 7'b1 || x2 !== 7'b0 || x3 !== 7'b0) begin errors = errors + 1; $display("FAILED"); end #100 if (x1 !== 7'b0 || x2 !== 7'b1 || x3 !== 7'b0) begin errors = errors + 1; $display("FAILED"); end #100 if (x1 !== 7'b0 || x2 !== 7'b0 || x3 !== 7'b1) begin errors = errors + 1; $display("FAILED"); end if (errors === 0) $display("PASSED"); end endmodule