Advanced eXtensible Interface (AXI) は、ARM Advanced Microcontroller Bus Architecture英語版 3 (AXI 3) および4 (AXI 4) 仕様[1]の一部であり、主にオンチップ通信用に設計されたパラレル高性能、同期、高周波、マルチマスター、マルチスレーブ通信インターフェイスである。

AXIは2003年にAMBA 3仕様で導入された。2010年、AMBAの新しいリビジョンであるAMBA 4によって、AXI 4、AXI 4-Lite、AXI 4-Streamプロトコルが定義された。AXIはロイヤリティ・フリーであり、その仕様はARMから無償で入手できる。

AXIは、次のような機能を持つ。

  • アドレス/制御とデータフェーズを分離
  • アラインメントされていないデータアクセスに対応
  • 開始アドレスを一度送信するだけでの、バースト・ベースの転送
  • 個別の独立した読み取りおよび書き込みチャネル
  • 未処理のトランザクションのサポート
  • 同じマスターポート上で異なるスレッドIDを持つトランザクションの順不同トランザクション完了のサポート
    • 同じスレッドIDを持つ同じマスターポートでのトランザクションは順序を保証するが、異なるマスターポート間ではアウト・オブ・オーダー実行としても構わない。
  • アトミック操作のサポート
  • パイプライン処理による複数転送の並行化
  • 最大1024ビットのデータ幅

AMBA AXIは多くのオプション信号を規定しているが、これは設計の特定の要件に応じてオプションで含めることができ[2]、AXIを多くのアプリケーションのための汎用バスにしている。

AXIバスを介した通信は単一のマスターと単一のスレーブ間で行われるが、仕様にはN:M相互接続を含めるための詳細な説明と信号が含まれている。これにより、より多くのマスターとスレーブを備えたトポロジにバスを拡張できる[3]

AMBA AXI4、AXI4-Lite、およびAXI4-Streamは、ザイリンクスおよびそのパートナーの多くによって、彼らの製品の主要な通信バスとして採用されている[4][5]

AXIの仕様はしばしば「AXIプロトコル」と呼ばれる。PCI Express等がバスの物理的な仕様まで定義しているのとは対照的に、AXIはオンチップバス向けであることからその仕様はHDLなど抽象度が高いレベルにおける、通信端点となる各デバイスの挙動が中心であることに依る。論理合成を実行すると回路制約や最適化により、必ずしもAXI仕様そのままの信号線が得られるとは限らない。

脚注

編集
  1. ^ AMBA | Documentation”. Arm Holdings. 2020年10月25日閲覧。
  2. ^ AMBA AXI and ACE Protocol Specification”. Arm Holdings. 2020年10月25日閲覧。
  3. ^ Arm Holdings. “AMBA AXI and ACE Protocol Specification” (English). developer.arm.com. pp. 23-24. 5 July 2019閲覧。
  4. ^ AMBA AXI4 Interface Protocol” (英語). www.xilinx.com. Xilinx Inc. 2020年10月25日閲覧。
  5. ^ AXI4 IP” (英語). www.xilinx.com. Xilinx Inc. 2020年10月25日閲覧。