我需要实例化一些在过程块中弹出需求的模块。但我不允许在过程块内部实例化。还有其他地方应该实例化这些模块我可以在程序块中访问它们。为什么我不能在Verilog中的程序块内部实例化
我只需要1个实例,因此,我不使用产生statement.I很简单地使用实例吧... Center data_cent(.clk(clk),.dummy_4(dummy_6));
但在检查它给出了一个错误,指出“data_cent不是一个任务”的语法。我无法弄清楚这个问题。如果有人能提供帮助,我会很高兴。
我需要实例化一些在过程块中弹出需求的模块。但我不允许在过程块内部实例化。还有其他地方应该实例化这些模块我可以在程序块中访问它们。为什么我不能在Verilog中的程序块内部实例化
我只需要1个实例,因此,我不使用产生statement.I很简单地使用实例吧... Center data_cent(.clk(clk),.dummy_4(dummy_6));
但在检查它给出了一个错误,指出“data_cent不是一个任务”的语法。我无法弄清楚这个问题。如果有人能提供帮助,我会很高兴。
您可以在模块内但在任何程序块之外实例化它。如果你想访问你的子实例的内部网络,你可以使用层级说明符。例如,如果您的实例包含一个名为foo
内部网:
module top;
Center data_cent(.clk(clk),.dummy_4(dummy_6));
initial begin
$display(data_cent.foo);
end
endmodule
的SystemVerilog还提供了bind
结构。
从你的描述,我能想到的两种可能性:
这是用于合成还是模拟? – 2011-08-21 14:32:35
请在你的问题中加入一些代码,以便我们看到你想要做的事情。 – George