システム Verilog DPI 呼び出しに取り組んでいます。ファイルのコンパイル中C++
に、次のようなエラーが発生します。
エラー: 代入で 'bool' を 'svLogic*' に変換できません
ここsvLogic
に 4 状態変数があります。
VCS シミュレーターには、DirectC メソッドvc_putScalar
で事前定義された関数があり、vc_putScalar は「スカラー reg またはビットの値を参照によって vc_handle に渡します」です。vc_handle は、関数の入力変数または出力変数です。VCS では、以下を使用できます。vc_putScalar(mem_req_rdy, mm->req_cmd_ready());
私たちは、Modelsim questa シミュレーターに取り組んでいるため、DirectC は機能しません。vc_putScalar
DPI IEEE Std 1800-2012標準に合わせて変更するのは大変です。定義済みの関数ロジックを次のように変更しました。
mem_req_rdy = mm->req_cmd_ready();
ここで、mem_req_rdy は svLogic であり、req_cmd_ready は bool です。