PCI Express* 用のインテル® Stratix® 10 HタイルおよびLタイル Avalon® メモリー・マップド・ハードIPユーザーガイド

ID 683667
日付 6/03/2020
Public
ドキュメント目次

7.2.1.3. 高性能Avalon-MM 32ビットのスレーブモジュールのアドレスマッピング

アドレスマッピングにより、バーストAvalon-MMスレーブに接続されている64ビット未満のアドレスバスを備えたAvalon-MMマスターは、64ビット PCIe* アドレス空間全体にアクセスできます。 コンポーネントGUIの PCIe* Settingsタブでは、アドレスマッピングのページの数およびサイズを選択できます。このIPは、最大512のアドレスマッピングのページをサポートします。最小ページサイズは48 KBです。最大ページサイズは4 GBです。
アドレスマッピングをイネーブルすると、スレーブ・アドレス・バスの幅は、必要なアドレスマッピングのページに適合するのに必要な大きさになります。アドレスマッピングをディスエーブルすると、Avalon-MMスレーブ・アドレス・バスは、コンフィグレーション時にGUIで指定した値に設定されます。Avalon-MMアドレスは、結果の PCIe* TLPでそのまま使用されます。
アドレスマッピングがイネーブルの場合、Avalon-MMスレーブ・インターフェイスのバーストは、アドレスマッピングのページの境界を越えてはなりません。この制限は、次のことを意味します。
(address + 32 * burst count) <= (page base address + page size )

アドレス・マッピング・テーブル

アドレス・マッピング・テーブルには、Control および Status レジスターからアクセスできます。アドレス・マッピング・テーブルの各エントリーは64ビット (8バイト) 幅で、2つの連続したレジスターで構成されています。偶数アドレスレジスターはビット[31:0]を保持します。奇数アドレスレジスターはビット[63:32]を保持します。Avalon-MMアドレスの上位ビットは、アドレス・マッピング・ウィンドウを選択します。Avalon-MMの下位アドレスビットは変更されずにPCIe TLPに渡され、アドレス・マッピング・テーブルでは無視されます。

例えば、コンフィグレーション時にそれぞれ64 KBの16個のアドレス・マッピング・ウィンドウを定義し、アドレス0x1018および0x101Cのレジスターはそれぞれ0x56780000および0x00001234でプログラムされている場合、バーストAvalon-MMスレーブ・インターフェイス上のアドレス0x39AB0への読み出しまたは書き込みトランザクションは、PCIeアドレス0x0000123456789AB0にアクセスするメモリーの読み出しまたは書き込みTLPに変換されます。

パススルーされるLSBの数は、ページのサイズを定義し、コンフィグレーション時に設定されます。結果のPCIeアドレスのビット[63:32]がゼロの場合、32ビット幅のアドレスを備えたTLPが、PCI Express規格の要求に従って作成されます。
表 66.  Avalon-MM-to-PCI Expressアドレス変換テーブル、0x1000–0x1FFF

アドレス

名称

アクセス

説明

0x1000

A2P_ADDR_MAP_LO0

RW

Avalon-MM-to-PCI Expressアドレス・マップ・エントリー0の下位ビットです。

0x1004

A2P_ADDR_MAP_HI0

RW

Avalon-MM-to-PCI Expressアドレス・マップ・エントリー0の上位ビットです。

0x1008

A2P_ADDR_MAP_LO1

RW

Avalon-MM-to-PCI Expressアドレス・マップ・エントリー1の下位ビットです。

このエントリーは、アドレス変換テーブルエントリーの数が1より大きい場合にのみ実装されます。

0x100C

A2P_ADDR_MAP_HI1

RW

Avalon-MM-to-PCI Expressアドレス・マップ・エントリー1の上位ビットです。

このエントリーは、アドレス変換テーブルエントリーの数が1より大きい場合にのみ実装されます。