function - 在 2 个 Verilog 模块中重用相同的函数

标签 function design-patterns verilog system-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

最佳答案

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

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

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

关于function - 在 2 个 Verilog 模块中重用相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133610/

相关文章:

javascript - 无法获取数据: this.函数名不是函数(ReactJS)

c++ - 清除/重置 qt 中的模型(删除所有行)

verilog - verilog 中的总线表示法

database - 由于缺乏 ENUM 支持,CakePHP 的数据库表过多

verilog - 使用创建的 ALU 来制作更大的 ALU

embedded - Verilog 中 1 和 1'b1 的区别

swift - 如何访问函数变量并将其从 super View 中删除?

r - 对来自与 rowname 匹配的两个数据帧的数据求和

javascript - React - 无法从子 Prop 中获取功能

c++ - 相互友情指点 : What Pattern or anti-pattern is this?