DPI-C 経由でいくつかのタスクを C プログラムにエクスポートしようとしています。タスクは、モジュール「my_subm」で次のように定義されています。
module my_subm;
task mytask1(...);
...
endtask
task mytask2(...);
...
endtask
endmodule
そして、私のメイン モジュール「main_mod」では、「my_subm」がインスタンス化されます。
module main_mod;
my_subm my_subm_i ();
`include "dpic_exports.svh"
initial begin
...
end
endmodule
「dpic_exports.svh」は次のとおりです。
`ifndef DPIC_EXPORTS
`define DPIC_EXPORTS
export "DPI-C" task my_subm_i.mytask1;
export "DPI-C" task my_subm_i.mytask2;
`endif
コンパイルしようとすると、「dpic_exports.svh」の my_subm_i が階層名の不正な場所であるというエラーが表示されます。
私は何を間違っていますか?
これらのタスクにアクセスする C タスクはそのモジュールから呼び出されるため、これらのタスクを「main_mod」のスコープから使用できるようにする必要があります。