我需要實例化一些在過程塊中彈出需求的模塊。但我不允許在過程塊內部實例化。還有其他地方應該實例化這些模塊我可以在程序塊中訪問它們。爲什麼我不能在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