1

如何在verilog中调用模块内的函数,该函数具有参数,并为其定义参数?

对于一个简单的例子:

function automatic void inv();
  parameter W = 1;
  input logic [W:0] in;
  output logic [W:0] out;

  out = ~in;

endfunction

我将如何调用它并在调用中定义 W ?

4

2 回答 2

1

parameter调用 时不能覆盖值function。IEEE Std (1800-2009) 中没有为此指定语法。

于 2012-08-30T20:23:34.823 回答
1

由于所述参数是恒定的,并且在设计细化后不能更改。维度是数据类型的一部分,因此它们在设计细化过程中也必须保持不变。如果您的所有函数调用都在过程上下文之外,那么您可以通过传入一个常量作为参数来摆脱困境。我不建议这样做。

于 2012-08-31T03:48:10.737 回答