Интерфейс

Под интерфейсом понимается набор портов модулей и параметров функций. Если моделируется несколько модулей с одинаковым интерфейсом, то сам интерфейс можно описать отдельно и использовать его именованное определение в объявлении модулей. Для обозначения интерфейса используются ключевые слова 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