Verilog中的函数重用

时间:2013-04-21 16:46:26

标签: function design-patterns verilog code-reuse

我有一个函数f(),在verilog模块M1中定义。我想在不同的模块M2中重用这个相同的功能,无论如何这样做而不重新定义M2中的功能?

  --- M1.v ---
  module M1();
     function f;
        //do stuff
     endfunction
  endmodule

  --- M2.v -----
  module M2();
  // Use f() here
  endmodule

1 个答案:

答案 0 :(得分:3)

您可以将该函数放入单独的文件中,并使用`include 编译器指令将该函数包含在两个模块中:

  --- M1.v ---
  module M1();
     `include "functions.v"
  endmodule

  --- M2.v -----
  module M2();
     `include "functions.v"
     // Use f() here
  endmodule