AXI メモリ マップド (AXI-MM) インターフェイス - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 日本語

このセクションでは、AXI4 プロトコル インスタンスに特定のトランザクション表示機能を説明します。AXI4 インターフェイスのプロトコル インスタンスは、次の図に示すように、波形ウィンドウに波形オブジェクト階層と共に表示されます。

図 1. AXI-MM インターフェイス

最上位サマリ行の理解

AXI4 プロトコル インスタンスの波形オブジェクト階層の最上位は、最上位サマリ行です。このトランザクション波形は、次の規則に基づいて、AXI インターフェイスの読み出しおよび書き込みアクティビティを示します。

  • 1 つまたは複数の AXI 読み出しトランザクションが進行中の場合は、最上位サマリ行に読み出しトランザクション バーが紫色で表示されます。
  • 1 つまたは複数の AXI 書き込みトランザクションが進行中の場合は、最上位サマリ行に書き込みトランザクション バーがピンク色で表示されます。
  • 1 つまたは複数の AXI 読み出しおよび書き込みトランザクションが進行中の場合は、最上位サマリ行に読み出し/書き込みトランザクション バーが青緑色で表示されます。

AXI トランザクションは抽象的な概念であり、図で示されているトランザクション バーと混同しないようにしてください。AXI トランザクションは、アドレス、データ、およびオプションで応答フェーズを含む、AXI 信号を使用した完全なデータ交換です。

ヒント: パフォーマンスの理由から、波形ビューアーを縮小すると、トランザクション バーは異なる色では表示されなくなり、すべてのトランザクションが青緑色になります。読み出しトランザクションと書き込みトランザクションを区別するには、拡大表示する必要があります。

未処理の読み出し行と未処理の書き込み行の理解

AXI4 プロトコル インスタンスの波形オブジェクト階層の最上位の下に、未処理の AXI 読み出しトランザクションのグループと書き込みトランザクションのグループがあります。インターフェイス マスターで A*VALID または WVALID がアサートされ、最後のデータ フェーズまたはオプションの応答フェーズがまだ完了していない場合、AXI トランザクションは未処理となります。未処理の読み出し行には、未処理の AXI 読み出しトランザクションの現在の数が表示されるか、未処理の AXI 読み出しトランザクションがない場合は細い線でアクティビティがないことが示されます。未処理の書き込み行には、未処理の AXI 書き込みトランザクションの現在の数が表示されるか、未処理の AXI 書き込みトランザクションがない場合は細い線でアクティビティがないことが示されます。

トランザクション サマリ行の理解

未処理の読み出し行と未処理の書き込み行の下には、Row <n> (<n> は整数) というラベルの付いたトランザクション サマリ行があります。トランザクション サマリは、AXI トランザクションの最初のフェーズで開始し、最後のフェーズで終了する 1 つの AXI トランザクションを表すトランザクション バーです。1 つのトランザクション サマリが特定の数の行に割り当てられていることには特別な意味はなく、複数の未処理の AXI トランザクションが同じ行でオーバーラップしにないようにすることが目的です。

ヒント: シミュレーションが進行するにつれ、トランザクション サマリ行の数が増えることがあります。パフォーマンスの理由から、波形ウィンドウの行はプロトコル解析が完了するまでアップデートされません。シミュレーション全体が完了するまで待たずにシミュレーション中に行の最新状態を表示するには、シミュレーションを一時停止し、Loading… バーが消えるのを待ちます。

各トランザクション サマリには、シーケンス番号が表示されます。最初の AXI トランザクションはシーケンス番号 1、2 番目の AXI トランザクションにはシーケンス番号 2、のようになります。シーケンス番号の増加は読み出しと書き込みで別であり、ほかのプロトコル インスタンスの AXI トランザクションとも別です。たとえば、あるプロトコル インスタンスの AXI 読み出しトランザクションのシーケンス番号と、別の AXI 書き込みトランザクションのシーケンス番号がどちらも 16 であることもあります。

チャネル行の理解

チャネル波形オブジェクト グループは、デフォルトで展開が閉じられています。グループを展開すると、AXI インターフェイス クロックおよびリセット (存在する場合) の論理信号と、インターフェイスの各 AXI チャネルに対して 1 つのトランザクション行が表示されます。

注記: AXI インターフェイスに 5 つのチャネルすべてがあるとは限りません。読み出しのみのインターフェイスには、書き込みチャネルはありません。書き込みのみのインターフェイスには、読み出しチャネルはありません。書き込みチャネルを使用する AXI インターフェイスには、AXI マスターに応答情報が必要ないため、応答チャネルが含まれないものもあります。

各チャネル行には、その AXI チャネルの VALID から READY へのハンドシェイクを示すトランザクション バーが表示されます。ただし、複数の連続するデータ ビートは、1 つのトランザクション バーで示されます。AXI トランザクションのすべてのチャネル トランザクション バーを表示上でまとめるには、各チャネル トランザクション バーに対応するトランザクション サマリと同じシーケンス番号のタグを付けます。チャネル行を展開すると、そのチャネルの主要な AXI 信号が表示されます。

ヒント: 波形オブジェクト階層に含まれていないプロトコル インスタンス入力信号を表示する必要がある場合があります。信号を階層に追加することはできませんが、階層の前後に追加することは可能です。
ヒント: チャネル トランザクション バーは、対応する AXI 信号イベントの 1 サイクル後まで表示されます。AXI プロトコル解析では、クロックの立ち上がりエッジまたはその後に発生した AXI 信号イベントは、クロックの次の立ち上がりエッジで効果が現れると考慮されます。

チャネル トランザクション バー、関連性矢印、またはトランザクションの上にマウスを置くと、AXI トランザクションのアドレス フェーズからの情報 AXI アドレス チャネル信号の値がツール ヒントに表示されます。

注記: インターフェイスに AXI アドレス チャネル信号がない場合は、ツール ヒントに表示されません。

チャネル トランザクション バーを選択すると、そのトランザクション バーと同じ AXI トランザクションに関連するすべてのチャネル トランザクションの関連性矢印が表示されます。関連性矢印の後尾をクリックして、AXI トランザクションの進行状況をアドレスフェーズから応答フェーズまでたどることができます。関連性矢印のチェーンは、アドレス フェーズの前にデータ フェーズがくる場合でも、常にアドレス フェーズ トランザクションから開始します。

エラー状況

インターフェイスにハンドシェイク エラーがある場合、チャネル トランザクションのシーケンス番号がすべて 9 の文字列になることがあります。このシーケンス番号は、データまたは応答フェーズとアドレスまたはデータ フェーズが一致しないことを示します。このエラーの一般的な原因は、読み出し/書き込み ID タグが一致していないこと、および AXI フェーズが実行中にプロトコル アナライザーがリセットに保持される (ARESET または ARESETn 信号がアクティブ) ことです。

注意:
AXI インターコネクトはトランザクションのデバッグ用ではなくパフォーマンスを最適化するよう設定されていることがあるので、AXI インターコネクト内部の AXI インターフェイスにインターフェイスに接続されているリセット信号ではなくほかのリセット信号が適用され、波形ビューアーでトランザクション エラーとなることがあります。インターフェイスでトランザクション エラーが発生した場合は、インターコネクト外にあるインターフェイスを監視することをお勧めします。