High Bandwidth Memory (HBM2) Interface Intel® FPGA IPユーザーガイド

ID 683189
日付 10/05/2020
Public
ドキュメント目次

4.2.1. High Bandwidth Memory (HBM2) Interface Intel FPGA IPのGeneralパラメーター

Generalタブでは、実装するチャネルおよびメモリーとファブリック・コアのクロック周波数の選択ができます。
図 7. Generalタブ
表 4.  GeneralタブのFPGA欄
表示名 説明
Speed Grade

FPGAデバイスのスピードグレードのほか、エンジニアリング・サンプル (ES) と量産デバイスのどちらかが表示されます。この値は、View > Device Familyで選択したデバイスに基づいて自動的に決定されます。デバイスを指定しない場合は、システムによって、スピードグレードが最速の量産デバイスを仮定します。IP生成中は、常に正しいターゲットデバイスを指定してください。正しいデバイスを指定しないと、生成されたIPがハードウェアで機能しない場合があります。

インテル® Stratix® 10 FPGAのスピードグレードを指定します。
HBM2 Location インテル® Stratix® 10 FPGA内のHBM2インターフェイスの位置を決定します。FPGAによって提供されるHBM2インターフェイスは、FPGAコアの上部と下部にあります。
HBM2 Device Type HBMデバイスタイプです。4GB/4Hは、合計デバイス集積度が4GBで4段StackのHBM2デバイスを指します。8GB8Hは、合計HBM2デバイス集積度が8GBで8段StackのHBM2デバイスを指します。
表 5.  GeneralタブのHBM2 Interface欄
表示名 説明
Channel 0 and 1 Interface Settings (HBM2 Channels 2と3、4と5、6と7に適用)  
Enable Channel 0 interface High Bandwidth MemoryコントローラーをUniversal Interface Blockのチャネル0に追加します。各コントローラーでは、HBM疑似チャネル2つを処理します。実装するHBM2メモリーチャネルを選択します。各HBM2チャネルは、64ビットPseudo Channelを2つ使用して、HBM2デバイスへの128ビット・インターフェイスをサポートします。HBM2コントローラーへのユーザー・インターフェイスでは、AXI4プロトコルを使用します。各コントローラーには、Pseudo Channelごとに1つのAXI4インターフェイス、またはチャネルごとに2つのAXI4インターフェイスがあります。
Enable Channel 1 interface High Bandwidth MemoryコントローラーをUniversal Interface Blockのチャネル1に追加します。各コントローラーでは、HBM疑似チャネル2つを処理します。実装するHBM2メモリーチャネルを選択します。各HBM2チャネルは、64ビットPseudo Channelを2つ使用して、HBM2デバイスへの128ビット・インターフェイスをサポートします。HBM2コントローラーへのユーザーインターフェイスでは、AXI4プロトコルを使用します。各コントローラーには、Pseudo Channelごとに1つのAXI4インターフェイス、またはチャネルごとに2つのAXI4インターフェイスがあります。
Interface Protocol

インターフェイス・プロトコルは、チャネルのペア (0と1、2と3、4と5、6と7) ごとに選択できます。

次のプロトコルがサポートされています。

  • AXI – AXIユーザー・インターフェイスを各Pseudo Channelに提供します。
  • AVMM – Avalon® メモリーマップド・ユーザー・インターフェイスを各Pseudo Channelに提供します。
Enable AXI Switch for channel 0 and 1 ソフトAXIスイッチロジックを追加して、各AXIマスターがHBM2 DRAMのChannel0および1のメモリー空間全体にアクセスできるようにします。ソフトAXIスイッチが使用できるのは、AXIインターフェイス・プロトコルを選択した場合のみです。AXIスイッチの使用についての情報は、ソフトAXIスイッチを参照してください。
注: 対応する4x4 AXIスイッチにアクセスするには、2つのHBM2チャネルをイネーブルする必要があります。
Master アービトレーション・スキームの選択をイネーブルして、各AXIマスターに効率的なメモリーアクセスを提供します。
Transaction Count アクセスが提供されたときにマスターで発行する予定の合計トランザクション数を提供します。各トランザクションの数は、単一のBL4または疑似BL8トランザクションを参照します。合計トランザクション数に含まれるのは、アクセスが提供されたときにマスターで発行する予定のすべてのPseudo Channelに対するトランザクション数です。デフォルト値は0です。HBM2 IPは、最大65535のトランザクションをサポートできます。トランザクション数が多いと、ファブリックのパフォーマンスが低下する可能性があることに注意してください。トランザクション数については、HBM2 IPカタログでのAXIスイッチの選択を参照してください。
Honor 他のマスターよりも高いプライオリティーを必要とするマスターを選択します。選択できるマスターは1つだけです。マスターを選択しない場合、すべてのマスターが同じプライオリティーを受け取り、ラウンド・ロビン・アービトレーションが実行されます。
表 6.  GeneralタブのAXI Interface欄
表示名 説明
Allow backpressure of AXI read data and write response channels FIFOをソフトロジックでインスタンス化して、AXIインターフェイス上の読み出しデータと書き込み応答をバッファー処理します。これが必要なのは、RREADY/BREADY信号がデアサートされた場合です。このオプションをディスエーブルすると、レイテンシーを短縮できます。ただし、RREADY/BREADYをインターフェイスのバックプレッシャーに使用していない場合のみです。バックプレッシャー機能が使用できるのは、AXIアンダーインターフェイス・フローでのみです。 Avalon®メモリーマップド・インターフェイス・フローでは使用できません。
Backpressure latency (clock cycles) 0から2までの値を選択します (0がデフォルトです)。

ユーザー・インターフェイスがコントローラーのREADY信号(AXI Write Address / Read Address / Write Data) に反応する時間を確保します。また、レイテンシーを増やさずにAXIユーザー・インターフェイスとHBM2 IP間のタイミングを向上させるためにも使用できます。

Automatically instantiate backpressure registers within the HBM2 IP このオプションは、 インテル® Quartus® Prime開発ソフトウェア・バージョン20.3以降で使用可能です。このオプションを使用すると、HBM2 IPにより、IP内でバックプレッシャー・レジスターを配置したり、レジスターを必要に応じて手動で配置したりできます。デザイン例では、バックプレッシャー・レジスターをHBM2 IP内に配置します。この機能の使用方法については、ユーザーロジックからHBM2 Controller AXI Interfaceへのタイミングの改善を参照してください。
注:

インテル® Quartus® Prime開発ソフトウェア・バージョン19.4から20.2では、バックプレッシャー・レジスターは、HBM2 IP内で内部生成されていました。19.4より前のリリースでは、バックプレッシャー・レジスターは、必要に応じて手動で実装することが必要でした。

Threshold temperature for AXI throttling このパラメーターでは、HBM2スタックの温度を摂氏で定義します。それを超えると、HBM2コントローラーによりAXIインターフェイス・トランザクションのスロットリングが行われます。温度設定は、すべてのAXI4インターフェイスに適用されます。ただし、この機能を各HBM2コントローラーの対応するコントローラー・タブでイネーブルしてください。スロットリングをイネーブルすると、HBM2コントローラーによってDRAMチャネルのトラフィック量が減らされます。
AXI throttling ratio AXIインターフェイス・スロットルが温度に基づいてイネーブルされている場合、このパラメーターでは、スロットル率をパーセンテージで定義します (0 =スロットリングなし、100 = フル・スロットリング)。スロットリングのイネーブルまたはディスエーブルは、個々のコントローラー・タブでできます。
表 7.  GeneralタブのReset欄
表示名 説明
Enable reset debounce イネーブルすると、リセット・デバウンス・ロジックが wmcrst_n_in 信号に追加されます。
Debounce period デバウンス期間をミリ秒単位で設定します。最小期間は20ミリ秒です。
表 8.  GeneralタブのClocks欄
表示名 説明
Memory clock frequency

メモリークロックの周波数 (MHz) です。HBM2インターフェイスのクロック周波数を指定します。サポートされる最大HBM2クロック周波数は、FPGAデバイスのスピードグレードによって異なります。

  • -1 Speed grade : 1 GHz
  • -2 Speed grade : 800 MHz
  • -3 Speed grade : 600 MHz
Use recommended PLL reference clock frequency チェックを付けると、PLLリファレンス・クロック周波数が自動計算されて、最良のパフォーマンスが得られるようになります。チェックを外すのは、独自のPLLリファレンス・クロック周波数を指定する場合です。PLLリファレンス・クロック周波数を自動計算して、最良のパフォーマンスが得られるようになります。このパラメーターをディスエーブルするのは、別のPLLリファレンス・クロック周波数を選択する場合です。
PLL reference clock frequency PLLリファレンス・クロック周波数です。これは、ユニバーサル・インターフェイス・バス (UIB) PLLリファレンス・クロックです。この周波数のクロックをメモリー・インターフェイスのPLLリファレンス・クロック入力に供給してください。このパラメーターをイネーブルするのは、Use recommended PLL reference clock frequencyをディスエーブルして、PLLリファレンス・クロック周波数を指定する場合のみです。可能な限り高速のPLLリファレンス・クロック周波数を使用することで、最良のジッター性能が実現できます。
Core clock frequency

ユーザーAXI4インターフェイスの周波数 (MHz) です。このクロックの提供元は、I/O PLL (HBM2 IPによってインスタンス化されていないもの) でなければなりません。コアI/O PLLを駆動するリファレンス・クロックを提供するオシレーターは、ボード上のUIB PLLリファレンス・クロックを特定のHBM2インターフェイスに対して供給するオシレーターと同じである必要があります。これは、最大限のパフォーマンスを実現するためです。

サポートされる最大コア周波数は、デバイスのスピードグレードとFPGA内のコア・インターフェイス・クロックのタイミング・クロージャーによって異なります。コアクロックの最小周波数は、HBM2インターフェイス周波数の4分の1です。

Use recommended example design core clock PLL reference clock frequency

PLLリファレンス・クロック周波数が自動計算され、最良のパフォーマンスが得られるようになります。チェックを外すのは、独自のPLLリファレンス・クロック周波数を指定する場合です。

デザイン例のコア・クロックPLLリファレンス・クロック周波数を自動計算して、最良のパフォーマンスが得られるようになります。このパラメーターをディスエーブルするのは、別のPLLリファレンス・クロック周波数を選択する場合です。
Reference clock frequency for example design core clock PLL PLLリファレンス・クロック周波数 (MHz) です。コアクロックを供給するPLL向けです。このパラメーターは、デザイン例のPLLでのみ使用されます。外部から提供されるリファレンス・クロック周波数をコアクロックPLLに対して指定します。