cancel
Showing results for 
Search instead for 
Did you mean: 

AXI の基礎 2 - AXI Verification IP (AXI VIP) を使用した AXI インターフェイスのシミュレーション

Xilinx Employee
Xilinx Employee
2 0 15K

本ブログは英語版のAXI-Basics Blogを翻訳したものです。

 

AXI Verification IP (AXI VIP) の概要:

ザイリンクス AXI Verification IP (AXI VIP) は、AXI4 および AXI4-Lite をシミュレーションするための IP です。AXI プロトコル チェッカーとしても使用できます。

この IP はシミュレーション用なので合成されず、パススルー コンフィギュレーション ワイヤに置き換えられます。

AXI VIP コアは、次の目的で使用できます。

  • マスター AXI コマンドおよび書き込みペイロードの生成
  • スレーブ AXI 読み込みペイロードおよび書き込み応答の生成
  • AXI トランザクションのプロトコル準拠チェック

次の 5 つの構成がサポートされます。

  • AXI マスター VIP
  • メモリ モデルなしの AXI パススルー VIP
  • メモリ モデルを含む AXI パススルー VIP
  • メモリ モデルなしの AXI スレーブ VIP
  • メモリ モデルを含む AXI スレーブ VIP

AXI VIP コアの詳細は『AXI Verification IP 製品ガイド』 (PG267: 英語版日本語版)、VIP API の詳細はこのリンクからダウンロード可能な ZIP ファイルに含まれる資料を参照してください。

AXI4 VIP のサンプル デザイン

AXI VIP のサンプル デザインが Vivado に含まれています。

AXI VIP のサンプル デザインを生成するには、次の手順に従います。

  1. 新規プロジェクトを開き、[IP Catalog] をクリックします。
  2. AXI Verification IP を検索します。IP をダブルクリックし、IP を設定して生成します。
  3. IP を右クリックし、[Open IP Example Design] をクリックします。

 

AXI VIP のサンプル デザインには 3 つの AXI VIP が含まれており、それぞれマスター、パススルー、およびスレーブとして設定されています。

AXI2_1.png

 

プロジェクトには、AXI VIP を異なる組み合わせで使用する複数のテストベンチが含まれています。

AXI2_2.png

 

注記: すべてのテストベンチ ファイルは SystemVerilog で記述されています。AXI VIP のすべての機能を活用するには、この IP SystemVerilog テストベンチに含める必要があります。

 

AXI インターフェイス トランザクションの解析:

Vivado シミュレーションの便利な機能に、プロトコル インスタンスがあります。これを波形に追加すると、信号をトランザクション レベルで表示できます。

ここでは、sim_basic_mst_active_pt_mem__slv_passive シミュレーション セットを使用する手順を示します。

このシミュレーション セットを使用するには、[Sources] ウィンドウでシミュレーション セットを右クリックし、[Make Active] をクリックします。

AXI2_3.png

 

このシミュレーション セットでは、マスター AXI VIP とパススルー AXI VIP (メモリ レベルでスレーブとして動作) のみが使用されます。

シミュレーションを実行するには、Flow Navigator [Run Simulation] をクリックします。

デフォルトでクロック信号とリセット信号のみを含む波形が開きます。

AXI2_4.png

次に、マスター AXI VIP とパススルー AXI VIP の間に AXI インターフェイスを追加します。

[Scope] ウィンドウで [DUT]   [ex_design] の下にあるマスター AXI VIP (axi_vip_mst) を選択します。[Objects] ウィンドウに IP のすべてのポートが表示されます。M_AXI インターフェイス オブジェクトを右クリックし、[Add to Wave Window] をクリックします。

AXI2_5.png

 

波形ウィンドウに AXI トランザクションが表示されます。

AXI2_6.png

 

シミュレーションの開始からシミュレーション時間 1 us までの間に、読み出しトランザクションと書き込みトランザクションの両方が発生しています。

波形ウィンドウで M_AXI を展開表示すると、これらのトランザクションの詳細が表示されます。

AXI2_7.png

チャネル上の数値はトランザクション番号です。読み出しチャネル (紫) では 5 つのトランザクションが発生し、書き込みチャネルでは 4 つのトランザクションが発生しています。

特定のトランザクションをクリックすると、トランザクションがどのように発生したのかがわかります。たとえば、書き込みチャネルの最初のトランザクションをクリックすると、これがバースト トランザクションであることがわかります。

  1. トランザクションは、書き込みアドレス チャネルでアドレスが設定されて開始します。
  2. その後、データのバーストが書き込みデータ チャネルで送信されます。
  3. 書き込みが成功すると、書き込み応答チャネルでスレーブからの応答が送信されます。

AXI2_8.png

 

 

Tags (1)