interface Interface; integer x; endinterface module Single(intf); Interface intf; initial #1 $display("Single %0d", intf.x); endmodule module Group(intfs); parameter WIDTH = 1; Interface intfs [WIDTH]; initial $display("Group %0d", WIDTH); for (genvar i = 0; i < WIDTH; ++i) Single s(intfs[i]); endmodule module top; Interface intfs[8](); for (genvar i = 0; i < 8; ++i) initial intfs[i].x = i ** 3; Group #(.WIDTH(8)) g(intfs); endmodule