AHBとAXIはどちらもバスマスターです。これらのバスマスターは両方とも、AMBA(Advanced Microcontroller Bus Architecture)バスの一部です。これは、高性能、帯域幅、および周波数のシステム設計を目指す目標です。両方のバスマスターは相互に関連していますが、多くの点で異なり、その違いについては以下のこの記事で説明します。
AHB vs AXI
AHBとAXIの主な違いは、AHBはシングルチャネルバスであるのに対し、AXIはシングルチャネルバスではないことです。 AXIは、マルチチャネルの読み取りおよび書き込みに最適化されたバスです。また、AHBは、AXIと比較して、ASIC検証およびオンチップ通信でより使用可能なプロトコルです。
Advanced High-performance Busは、ARMの非常に人気のあるプロトコルであるシングルチャネルバスです。バスマスターごとに単一の未処理のトランザクションをサポートします。 AHBのバス遅延は、16バイトのトランザクションから始まります。 AHBのいくつかの機能は、シングルエッジクロックプロトコル、スプリットトランザクション、大きなバス幅、ロックされた転送です。
AXIは、データの読み取りチャネル、データの書き込みチャネル、アドレスの読み取りチャネル、アドレスの書き込みチャネル、応答の書き込みチャネルの5つのチャネルを備えたマルチチャネルバスです。 AXIは複数の未処理のトランザクションをサポートします。 AXIのバス遅延は、64バイトのトランザクションから始まります。 AXIの機能には、QoS、書き込みストロボ、全二重通信モードなどがあります。
AHBとAXIの比較表
比較のパラメータ | AHB | AXI |
完全形 | 高度な高性能バス | Advanced Extensible Interface |
チャネル | シングルチャンネルバスです。 | マルチチャンネルバスです。 |
特徴 | バーストの早期終了、転送のロック | QoS、書き込みデータインターリーブ、非整列データ転送、バイト不変性。 |
単一のスレーブに割り当てられたアドレス空間 | AHBの場合は1KBです。 | AXIの場合は4KBです。 |
バースト長 | AHBのバースト長は1、2、6、16です(INCRタイプを除く) | バースト長は、AXI3の場合は1〜16、AXI4の場合は1〜256です。 |
AHBとは何ですか?
AHBはAdvancedHigh-performanceBusの略です。これは、1つのアドレスチャネル、読み取りデータチャネル、および書き込みデータチャネルを持つ共有バスでもあるシングルチャネルバスです。 AHBの各バスマスターは、シングルチャネル共有バスに接続します。 AHBには、単純なトランザクション、アドレスフェーズ、および後続のデータフェーズの2つのバスサイクルしかありません。 AHBのバス幅は広いです。
AHBでは、ユーザーがタイミング要件を満たすことができない場合、そのパスに登録されるパイプラインをサポートしません。また、パイプラインレジスタの挿入をサポートできないため、より高い周波数を有効にせず、代わりにデザインの最大周波数を制限します。
AHBは、QoS機能、書き込みストロボ、および排他的サポートをサポートしていません。ロックされた転送のみをサポートします。消費電力が低く、スループットが制限されています。また、AHBのバースト長は固定されています。 INCRの場合を除いて、1、2、6、16です。 INCRでは、バーストの長さは共有されませんが、バーストの長さは任意です。また、4Kを超えなくなるまで、任意の長さにすることができます。
AHBはARM有限会社によってAMBAversion2で導入され、新しいバージョンのAXIが導入されない限り、非常に人気のあるプロトコルでした。
AXIとは何ですか?
AXIはAdvancedeXtensibleInterfaceの略です。オンチップ通信用に設計されたマルチチャネルバスです。これは、高性能、高周波、全二重モードの通信インターフェースです。 AXIには5つのチャネルがあり、それぞれが互いに独立しています。チャネルは、書き込みアドレスチャネル(AW)、書き込みデータチャネル(W)、読み取りデータチャネル(別名R)、読み取りアドレスチャネル(AR)、および書き込み応答チャネル(B)です。
AXIには5つの並列チャネルが実行されているため、レイアウトの敷設には多くのワイヤが使用されます。ユーザーは、いずれかのチャネルのパスのどこにでもパイプラインレジスタを挿入できます。そのため、AXIはより高い周波数の操作を可能にします。
AXIの機能には、アラインされていないデータ転送(ストローブを使用)、個別のアドレス/制御、データフェーズ、バイト不変性、開始アドレスが発行されたバーストベースのトランザクション、QoS、順不同のトランザクション完了、書き込みデータインターリーブ、およびアトミックです。オペレーション。実際、AXIにはAxRegionやAxUserなどの追加のシグナリングメカニズムがあります。
AXIでは、1つのリクエストに対して複数のデータ転送が行われる可能性があります。これは、バーストベースのプロトコルであることを意味します。特定のパターンのアドレスとの間で大量のデータを転送する必要がある場合に、これにより簡単になります。 AXIには、FIXED、INCR、およびWRAPの3種類のバーストがあります。これらのバーストの長さは最初からわかっており、AXI3の場合は1〜16、AXI4の場合は1〜256にすることができます。
AHBとAXIの主な違い
結論
AXIとAHBはどちらも、AMBA(Advanced Microcontroller Bus Architecture)バスの一部です。 Advanced High-Performance Bus、別名AHBは、各バスマスターがシングルチャネル共有バスに接続する必要があるシングルチャネルバスです。 AHBバスマスターは全二重モードをサポートしていません。
AXIは、マルチチャネルバスであるAdvanced ExtensibleInterfaceの略です。 5つの独立したチャネルがあります。複数のチャネルがあるため、AHBは通信サポートバスマスターの全二重モードです。 AXIは、非整列データ転送(ストロボを使用)、QAS、セマフォ動作モード、バイト不変性、書き込みデータインターリーブなどの機能をサポートします。アムバの第3世代です。