接口的含義就是一組信號,可以理解爲一個類,interface裏面的信號就是類的成員,其本質和類並無區別
全部使用時可以直接用來替換端口,
例如:
module a(input i_0, ouput_o_1);
endmodule
可以替換爲如下:
interface intf();
logic i_0;
logic o_0;
endinterface
module a(intf my_if);
endmodule
假如interface中的信號沒有被全部使用的話,並不能體現出其優勢
例如
module b(ouput i_0);
endmodule
此時使用interface並無優勢,但是也可以使用 b(intf my_if_b) 此時就相當於在端口上多申明的幾個端口。
假如端口方向是在信號列表中的括號中定義的,那麼使用interface將會丟失port的方向信息
所以引入了modport