4

私は DPI 呼び出しを使用しようとはしていませんが、PLI を内部的に使用して C 言語で記述された関数を呼び出す単純な Verilog プログラムを使用しています。静的リンクについてはわかりません。私はedaplaygroundを使用しています。

Verilog と C の両方をリンクするには、どのシミュレーターを使用し、スイッチを渡す必要があるか教えてもらえますか? C ファイルを Verilog に含める必要がありますか?

サンプルコードは次のとおりです。

// C function implementation
#include <stdio.h>  
void hello() {
   printf ("\nHello world\n");
 }

// SV function call
module sv_pli ();

  initial begin
    $hello;
     #10  $finish;
  end

 endmodule

現在、pli コール hello が検出されないため、pli を登録する必要があるかどうかを知りたいです。

4

1 に答える 1

0

C コードを test.c という名前の新しいファイルに入れ、Verilog コードに SV-DPI を追加し、$hello タスクからドル記号を削除して DPI 呼び出しにしました。

シミュレーターの出力を確認すると、サンプル コードから期待される結果になるはずです。

于 2015-08-19T00:13:54.640 に答える