仕事も含めて、DPI-CでVerilog-HDLとC++を接続して使うというのは良くやってたんだけど、どうやら最新のマニュアルを読むと、最近の事情はだいぶ変わっているようだ。
- ModelSimの場合は、DPI-Cを使う場合にはまず-dpiexportobjでスケルトンのようなオブジェクトを作成し、GCC側でC++のプログラムをコンパイル時にそれも一緒に指定、vlog時にオブジェクトを再度指定していた。
http://www.microsemi.com/document-portal/doc_view/131619-modelsim-user
Legacy use flows may be in use for certain designs from previous versions of ModelSim. These customized flows may have involved use of -dpiexportobj, -dpiexportonly, or -nodpiexports, and may have been employed for the following scenarios:
えー、このフローって、既に古いフローなんだ。。。
最近のフローは、もうCのファイルを直接ファイルリストに指定してコンパイルするそうだ。
確かに、このようにより簡単になるのは、驚くには値しないが。。。 僕の場合は、libbfdと接続して使いたんだな。。。Cygwinの環境では、オブジェクトの種類が異なるためlibbfdがうまく接続してくれない。こりゃ、検証環境を構築するだけで大分時間がかかりそうだな。。。