Can’t interface array be used for generic interface? I know interface array is used as follows.
interface bus_if();
...
modport mst_port(...);
...
endinterface
module top();
bus_if bus[10]();
sub i_sub( .bus );
//sub i_sub( .bus(bus .mst_port) ); // Not allowed for interface array.
//sub i_sub( .bus(bus[10].mst_port) ); // Not allowed for interface array.
...
endmodule
module sub(
bus_if.mst_port bus[10] // interface name and modport name specification
//interface bus[10] // Generic Interface
);
...
endmodule
In case of interface array, modport name connection in top module is not possible while it is necessary for generic interface.
How can we use generic interface with interface array?