PCIeソリューションに向けた Arria V Avalon-MMインターフェイス: ユーザーガイド

ID 683773
日付 5/21/2017
Public
ドキュメント目次

PCI Express-Avalon‑MMブリッジは、一般的には最大64ビットのシステムレベルの物理アドレスをアプリケーション層のAvalon‑MMスレーブ・コンポーネントが必要とする非常に小さなアドレスに変換します。

注: Quartus® Prime開発ソフトウェアのバージョン13.0より、PCI Express‑Avalon‑MM間のブリッジは、32ビットと64ビットの両方のアドレスをサポートしています。64ビット・アドレッシングを選択する場合、ブリッジはアドレス変換を実行しません。インターコネクト・ファブリックに指定されたアドレスをドライブします。Avalon-MMスレーブ・コンポーネントによって使用されるアドレスビットの数は、実際に必要となるサイズにAvalon-MMスレーブ・コンポーネントのパラメーター・エディターで指定することができます。

Base Address Register (BAR) and Expansion ROM Settingsに記載されているように、PCI Express用ハードIPをカスタマイズする際、アドレス変換に対し最大6つのBARを指定することが可能です。32ビットのアドレスを指定する場合、Avalon-MM-to-PCI Express Address Translation Algorithm for 32-Bit Addressingに記載されているように、PCI Express Avalon‑MMブリッジはアプリケーション層のアドレスもシステムレベル物理アドレスに変換します。

次の図は、双方向アドレスの上位レベルの図を表しています。

エンドポイントのTXおよびRX方向のアドレス変換
注: ルートポートとしてコンフィグレーションする場合、1つのRX Avalon-MMマスターがすべてのRX TLPをPlatform Designerインターコネクトに転送します。

Avalon-MM Rxマスター・モジュール・ポートは、64ビットモードの8バイト・データパスと128ビットモードの16バイト・データパスを備えています。 Platform Designerインターコネクトファブリックは、不一致のポート幅を透過的に管理します。

メモリー要求TLPがPCIeリンクから受信されると、PCI仕様で説明されているように、BARマッチングで最上位ビットが使用されます。 BARマッチング・プロセスで使用されない最下位ビットは、そのBARのRXマスターポートに向けてAvalon-MMアドレスとして変換されることなく渡されます。

たとえば、パラメーター・エディターでBase Addressレジスターを使用して指定された次のようなコンフィグレーションを見てみましょう。

  1. BAR1:0は、64ビットのプリフェッチ可能なメモリーで、4Kバイト -12ビットです。
  2. システム・ソフトウェアは、BAR1:0のベースアドレスが0x0000123456789000となるようにプログラミングします。
  3. TLPは、アドレス0x0000123456789870で受信されます。
  4. 上位52ビット(0x0000123456789)はBARマッチング・プロセスで使用されるため、この要求が一致します。
  5. 下位12ビットの0x870は、Rxm_BAR0 Avalon-MMマスターポートでAvalonアドレスとして渡されます。BARマッチング・ソフトウェアは、アドレスの上位20ビットをAvalon-MMベースアドレスに置き換えます。