この付録では、AXI BFM を使用した Vivado ® デザインから AXI VIP への移行について説明します。
1. Vivado IP インテグレーターの BD デザインで、BFM を AXI VIP で置き換えて AXI VIP をコンフィギュレーションします。たとえば置き換え前の BFM がスレーブ モードの AXI4 の場合、AXI VIP プロトコルを AXI4、インターフェイス モードをスレーブにセットアップします。
2. テストベンチで BFM に関連するすべてのタスクを削除し、次のコードを追加します。
° 2 つのパッケージをインポートします。 <component_name>_pkg の取得方法は、 テストベンチ を参照してください。
import <component_name>_pkg::*
import axi_vip_pkg::*;
° エージェントを宣言します。要件は、 テストベンチ を参照してください。
ここでは移行を目的としており、BFM はパススルー モードをサポートしていないため、パススルー エージェントを宣言することはありません。
° エージェントを作成します。
- マスター モードの AXI VIP の場合:
mst_agent = new("master vip agent",<hierarchy path to AXI VIP instance> inst.IF);
階層パスの確認方法は、 デザイン フローの手順 を参照してください。
° エージェントを開始します。
- マスター モードの AXI VIP の場合:
mst_agent.start_master();
° 既存の BFM WRITE/READ_BURST を VIP WRITE/READ_BURST で置き換えます。
- AXI VIP が AXI4 の場合:
AXI4_WRITE/READ_BURST
- AXI VIP が AXI3 の場合:
AXI3_WRITE/READ_BURST
- AXI VIP が AXI4LITE の場合:
AXI4LITE_WRITE/READ_BURST