Icarus VerilogのVPI

VPIを使うと、自作のC関数をVerilog環境にtaskとして追加できます。Icarus VerilogにVPIでtaskを追加してシミュレーションを実行する手順は次の通りです。

  1. Cコードのコンパイル
  2. Verilogコードのコンパイル
  3. シミュレーション実行

1. Cコードのコンパイル

まず、自作のC関数を含んだCコードが必要です。この例では、$helloというtaskを記述したhello.cというCコードを作成しています。

Cコードはiverilog-vpiでコンパイルします。

hello.vpiというファイルが生成されます。

2. Verilogコードのコンパイル

$helloを呼び出すVerilogモジュールを作成します。この例では、hello.vというファイルにtopというモジュールを定義し、その中で$helloを呼び出しています。

Verilogコードはiverilogでコンパイルします。

helloというファイルが生成されます。

3. シミュレーション実行

vvpでシミュレーションを実行します。VPIを使う場合は、iverilogで生成されたhelloに追加して-mでVPIモジュールを指定します。

Icarus Verilogのインストール手順はこちら

スポンサーリンク







  • このエントリーをはてなブックマークに追加
スポンサーリンク