interface arb_if #(num_agents = 2) (input clk);
logic reset;
logic [num_agents-1 : 0] req;
logic [num_agents-1 : 0] gnt;
genvar i;
generate
for (i=0; i<num_agents;i++) begin:gen
modport arb (input creq (req[i]), clk, reset, output .cgnt(gnt[i]))
modport tb (output creq (req[i]), input clk, reset, .cgnt(gnt[i]))
end
endgenerate
endinterface
module ctrl(arb_if.arb b);
reg mem;
initial begin
mem = 'd1;
end
endmodule
module interface_modport_expression();
logic clk;
initial begin
clk = 0;
end
always #1 clk++;
arb_if arbif(clk);
ctrl c(arbif);
initial begin
#100 $finish;
end
endmodule