interface I; parameter WIDTH = 32; function compute_offset; return 1; endfunction localparam OFFSET = compute_offset(); logic [WIDTH-OFFSET:0] data = 0; modport P(input data); endinterface module M(i); parameter A = 1; I.P i; parameter B = 2; initial begin $display("A %b", A); $display("I.P %b", i.data); $display("B %b", B); end endmodule module top; I x(); I #(10) y(); M a(x); M b(y); M #(3, 4) c(x); M #(5, 6) d(y); endmodule