sv2v/test/core/interface_array_indirect.sv

24 lines
497 B
Systemverilog

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