Class 生成内部的SystemVerilog类

Class 生成内部的SystemVerilog类,class,parameters,verilog,generate,Class,Parameters,Verilog,Generate,我想在 使用如下参数生成if语句: N是一个输入参数 generate begin if(N == 144) fft_144 fft = new; else if(N == 180) fft_180 fft = new; end endgenerate 这样我就可以在代码中使用fft。Vivado给出了一个错误 谢谢。Verilog不允许您在程序块之外创建动态对象(即类)。因此,您缺少了一些内容,如initial fft=new 以下是一个例子: class A; func

我想在 使用如下参数生成if语句:

N是一个输入参数

generate begin
   if(N == 144) fft_144 fft = new; 
  else if(N == 180) fft_180 fft = new;  
end
endgenerate
这样我就可以在代码中使用fft。Vivado给出了一个错误


谢谢。

Verilog不允许您在程序块之外创建动态对象(即类)。因此,您缺少了一些内容,如
initial fft=new

以下是一个例子:

class A;
  function new();
  endfunction
endclass
class B;
  function new();
  endfunction
endclass

module C#(int N = 0)();
  A a;
  B b;
  if (N == 0)
    initial a = new;
  else 
    initial b = new;
endmodule

显示错误消息。显示示例中所有内容的声明。