Advanced eXtensible Interface
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仕様そのままの信号線が得られるとは限らない。
脚注
- ^ “AMBA | Documentation”. Arm Holdings. 2020年10月25日閲覧。
- ^ “AMBA AXI and ACE Protocol Specification”. Arm Holdings. 2020年10月25日閲覧。
- ^ Arm Holdings. “AMBA AXI and ACE Protocol Specification” (English). developer.arm.com. pp. 23-24. 5 July 2019閲覧。
- ^ “AMBA AXI4 Interface Protocol” (英語). www.xilinx.com. Xilinx Inc. 2020年10月25日閲覧。
- ^ “AXI4 IP” (英語). www.xilinx.com. Xilinx Inc. 2020年10月25日閲覧。