Интерфейс
Под интерфейсом понимается набор портов модулей и параметров функций. Если моделируется несколько модулей с одинаковым интерфейсом, то сам интерфейс можно описать отдельно и использовать его именованное определение в объявлении модулей. Для обозначения интерфейса используются ключевые слова interface
и endinterface
по аналогии с модулями.
Пример
interface slave_if (input logic clk, reset);
reg reset;
reg enable;
reg gnt;
endinterface
module d_slave (slave_if s_if);
always (s_if.enable & s_if.gnt) begin
...
end
endmodule
module d_top (input clk, reset);
slave_if slave_if_inst( .clk(clk), .reset(reset));
d_slave slave_0(.s_if(slave_if_inst));
d_slave slave_1(.s_if(slave_if_inst));
endmodule
Last updated