テストベンチの必須条件 - 1.1 日本語

AXI Verification IP v1.1 LogiCORE IP 製品ガイド (PG267)

Document ID
PG267
Release Date
2017-10-04
Version
1.1 日本語

AXI VIP のテストベンチをコーディングする際は、次の要件を満たしている必要があります。これらを満たさない場合、AXI VIP は動作しません。これらの要件はすべての VIP に当てはまります。

1. 一般的な SystemVerilog テストベンチ同様、モジュール テストベンチを作成します。

module testbench();

endmodule

2. 2 つの必須パッケージ axi_vip_pkg <component_name>_pkg をインポートします。 <component_name>_pkg には、AXI VIP 用のエージェント クラスとそのサブクラスが含まれます。各 VIP インスタンスにはコンポーネント パッケージがあり、これは出力の生成時に自動的に生成されます。このコンポーネント パッケージには、パラメーターで指定されるエージェントの typedef クラスが含まれます。VIP をリコンフィギュレーションしてもテストベンチには影響しないため、このパッケージをインポートすることを推奨します。 この図 に、スタンドアロン AXI VIP から <component_name>_pkg を取得する方法を示します。

図 6-5: スタンドアロンの場合の <component_name>_pkg

X-Ref Target - Figure 6-5

axi-vip-tb-comp-name-standalone.png

この図 に、IP インテグレーター デザインから <component_name>_pkg を取得する方法を示します。まず VIP をクリックし、 [Block Properties] ウィンドウで [Properties] をクリックします。このビューの [CONFIG] 欄にある [Component_Name] を確認します。

図 6-6: IP インテグレーターの場合の <component_name>_pkg

X-Ref Target - Figure 6-6

axi-vip-tb-comp-name-ipi.png

3. エージェントを宣言します。1 つの AXI VIP につき、1 つのエージェントを宣言する必要があります。エージェントを宣言する際は、AXI VIP インターフェイス モードに応じた種類の typedef クラスを呼び出す必要があります。

名称

説明

<component_name>_mst_t

マスター VIP

<component_name>_slv_t

スレーブ VIP (メモリ モデルなし)

<component_name>_slv_mem_t

スレーブ VIP (メモリ モデルあり)

<component_name>_passthrough_t

パススルー VIP (メモリ モデルなし)

<component_name>_passthrough_mem_t

パススルー VIP (メモリ モデルあり)

4. エージェントに対して new を作成し、この new 関数に IF の正しい階層パスを渡します。エージェントを new に設定する前に、空のテストベンチを使用してシミュレーションを実行し、AXI VIP インスタンスの階層パスを確認します。次のようなメッセージが表示されたら、このパスを new 関数に渡します ( この図 参照)。

agent = new("my VIP agent", <hierarchy_path>.IF);