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

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

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

パラメーター・エディターには、Generalタブで指定した各メモリーチャネルにControllerタブが1つ含まれます。ControllerタブでHBM2コントローラー・オプションを選択し、それをイネーブルします。
図 9. Controllerタブ
表 10.  ControllerタブのController Configuration 0欄
注: AXI Switchオプションをイネーブルする場合は、対応する2つのHBM2チャネルのコントローラーのコンフィグレーションは、同じAXI Data ConfigurationとEnable Re-order Bufferオプションを使用する必要があります。
表示名 説明
Is clone of このオプションを設定すると、このコントローラーは、選択したコントローラーのクローンになります。パラメーターは、指定したコントローラーからコピーされます。このパラメーターが適用されるのは、HBM2コントローラーを1つ以上選択した場合です。このパラメーターを設定するのは、あるコントローラーを別のコントローラーと同じ設定にする場合です。
Interface Protocol AXIまたはAVMM ( Avalon® メモリーマップド) が、Generalタブでチャネルに対して選択したインターフェイス・プロトコルに基づいて表示されます。
Enable AutoPrecharge Control このパラメーターを選択して、コントローラーのトップレベルの自動プリチャージ制御をイネーブルします。読み出しまたは書き込みバーストの要求中に自動プリチャージ・コントロール信号をアサートすると、現在開いているページを読み出しまたは書き込みバーストの終了時にコントローラーによって閉じる (自動プリチャージする) かどうかを指定できます。これにより、同じバンクの別のページへの将来のアクセスがより速くなる可能性があります。適用されるのは Avalon® -MMチャネルのみです。
Enable Command Priority Control このパラメーターを選択すると、ユーザー要求コマンドのプライオリティー制御がコントローラーのトップレベルでイネーブルされます。このパラメーターによるコントローラーへの指示で、読み出しまたは書き込み要求が高プライオリティーとして扱われます。コントローラーは、プライオリティーの高い要求をより早く満たして、レイテンシーを短縮しようとします。このインターフェイスをロジックブロックのコンジットに接続すると、読み出しまたは書き込み要求をプライオリティーの高いコマンドとして処理するタイミングが外部メモリー・インターフェイスIPにより決定されます。適用されるのはAvalon-MMチャネルのみです。
Enable Re-order buffer 読み出しデータの順序を変更して、トランザクションが発行される順序と一致するように指定します。この機能をディスエーブルすると、Read Dataは、AXIインターフェイスで提供されている場合、Read Requestの発行順序と同じにならないことが予想されます。データの並べ替えは、トランザクションのAXI読み出しIDに基づいて行います。

このパラメーターが適用されるケースは、複数のAXIトランザクションIDを持つ場合です。異なるAXI読み出し/書き込みIDを使用することで、HBM2コントローラーによるトランザクションの並べ替えを許可し、効率が向上します。同じAXI IDをすべてのトランザクションに対して使用すると、コントローラーでは、コマンドをメモリーに対して発行します。その順序はメモリーの到着順です。この場合、並べ替えバッファーのイネーブルは不要です。

Enable AXI interface throttling based on temperature 温度ベースのスロットリングをこのチャネルに対してイネーブルします。しきい値温度とスロットリング率の指定は、Generalタブで行います。AXIサーマル・スロットリングを特定のHBM2コントローラーに対してイネーブルします。サーマル・スロットリングのトリガー温度を設定するパラメーターは、Generalタブにあります。HBM2スタックの温度がGeneralタブで設定したHBM2スロットリングのしきい値温度に達すると、HBM2コントローラーではユーザー要求のスロットリングを開始します。
Address reordering AXIアドレスからHBMアドレスへのマッピングを記述します。AXIインターフェイスからHBM2メモリーデバイスへのマッピングのパターンを指定します。正しいアドレス並べ替えコンフィグレーションを選択すると、ユーザーのトラフィック・パターンに基づいて、HBM2メモリーデバイスへのアクセスの効率が向上します。HBMCでは、次の3種類のアドレス並べ替えをサポートしています。

アドレス順序 (32Bアクセス: 疑似BL8はディスエーブル):

SID-BG-BANK-ROW-COL[5:1] SID-ROW-BANK-COL[5:1]-BG ROW-SID-BANK-COL[5:1]-BG COL[0]=0 

アドレス順序 (64Bアクセス: 疑似BL8はイネーブル):

SID-BG-BANK-ROW-COL[5:1] SID-ROW-BANK-COL[5:2]-BG-COL[1] ROW-SID-BANK-COL[5:2]-BG-COL[1] COL[1:0] = {00}) 

SIDが適用されるのは8GB/8H HBM2デバイスのみです。4GB/4Hデバイスには使用できません。

User Read Auto-Precharge Policy 自動プリチャージ発行の決定ポリシーを記述します。FORCEDは、コントローラーがユーザーの自動プリチャージ要求に厳密に従うことを示します。HINTは、ページヒットの検出時に自動プリチャージ要求をディスエーブルすることによって、コントローラーで自動プリチャージ要求をオーバーライドする可能性があることを示します。(つまり、コントローラーでは、コマンドを2つ (1つは同じページへの自動プリチャージ付き、もう1つは同じページへの自動プリチャージなし) を受信すると、最初のコマンドの自動プリチャージを0に変更します。これにより、2番目のコマンドによるページのアクセスに、ページを再度開く必要がなくなります。) プリチャージ要求の発行は、readコマンドと一緒にすることができます。これには axi_x_y_aruser 入力を使用します。ここで x はHBM2チャネル番号 (0-7) を示し、y はHBM2 Pseudo Channel番号 (0/1) を示します。

次の2つの値のうちの1つをこのパラメーターに対して選択します。

  • RDAP_FORCEDモードの場合、HBM2コントローラーでは、ユーザー要求の自動プリチャージ・コマンドを実装します。
  • RDAP_HINTモードの場合、コントローラーによる自動プリチャージ・コマンドの発行タイミングの決定が、ユーザーが発行した自動プリチャージ入力と指定されたアドレスに基づいて行われます。(適用されるのは、AXIユーザー・インターフェイス・モードのみ)
User Write Auto-Precharge Policy 自動プリチャージ発行の決定ポリシーを記述します。FORCEDは、コントローラーがユーザーの自動プリチャージ要求に厳密に従うことを示します。HINTは、ページヒットの検出時に自動プリチャージ要求をディスエーブルすることによって、コントローラーで自動プリチャージ要求をオーバーライドする可能性があることを示します。(つまり、コントローラーでは、コマンドを2つ (1つは同じページへの自動プリチャージ付き、もう1つは同じページへの自動プリチャージなし) を受信すると、最初のコマンドの自動プリチャージを0に変更します。これにより、2番目のコマンドによるページのアクセスに、ページを再度開く必要がなくなります。) プリチャージ要求の発行は、writeコマンドと一緒にすることができます。これには axi_x_y_awuser 入力を使用します。ここで x はHBM2チャネル番号 (0-7) を示し、y はHBM2 Pseudo Channel番号 (0/1) を示します。

次の2つの値のうちの1つをこのパラメーターに対して選択します 。

  • WRAP_FORCEDモードの場合、HBM2コントローラーでは、ユーザーが要求した自動プリチャージ・コマンドを実装します。
  • WRAP_HINTモードの場合、コントローラーによる自動プリチャージ・コマンドの発行タイミングの決定が、ユーザーが発行した自動プリチャージ入力と指定されたアドレスに基づいて行われます。(適用されるのは、AXIユーザー・インターフェイス・モードのみ)
Power Down Enable アイドル時にコントローラーがパワーダウンします。
Refresh mode 高帯域幅メモリーに対するリフレッシュの制御方法を指定します。ユーザー・リフレッシュ・モードの開始は、Advanced Periperal Bus (APB) のアクセスによります。次の3つの値のうちいずれか1つをこのパラメーターに対して選択します。
  • デフォルト値のController refresh allにより、コントローラーでは、リフレッシュ要求の発行タイミングを決定することができます。
  • User refresh allモードでは、コマンドの発行をHBM2 Pseudo-Channelに対応するすべてのバンクに対して行います。User refresh allはAPBプロトコルに従います。要求のアドレス指定は、一度に1つのPseudo-Channelにしてください。ユーザー制御のリフレッシュ例がデザイン例でイネーブルになるのは、User refresh allモードを選択した場合です。
  • User refresh per-bankモードでは、コマンドの発行をHBM2 Pseudo-Channelに対応する特定のバンクに対して行います。User refresh per-bankはAPBプロトコルに従います。要求のアドレス指定は、一度に1つのPseudo-Channelにしてください。
Enable AXI Burst length of more than 2 このオプションをイネーブルすると、HBM2 IPによりシーケンシャル・バースト・トランザクションがAXIインターフェイスでサポートされます。この機能が適用されるのは、AXIチャネルのスイッチがイネーブルされていない場合のみです。このオプションを使用すると、AXIインターフェイスのAWLEN/ARLEN入力を使用して、シーケンシャル・バースト・トラフィックを発行することができます。バーストサイズを定義する値は、バースト長4モードでAWLEN/ARLENによって提供されます。このオプションを選択できるのは、BL4モードをHBM2 DRAMで使用している場合のみです。
AXI Maximum burst length enable more than 2 Burst length オプションがイネーブルされている場合、最大256がサポートされます。 このオプションがディスエーブルの場合、デフォルト値の1が設定されます。最大バースト長の値によってawid/aridの幅が決まります。詳細については、AXIインターフェイス信号のセクションを参照してください。
Enable Pseudo BL8 for performance

イネーブルすると、データアクセス粒度は64B (BL8のPseudo-Channelごとに64ビット) になり、効率が向上します。それ以外の場合、データアクセスの粒度は32B (BL4のPseudo-Channelごとに64ビット) です。

コントローラーによるメモリー・トランザクションのバースト長の設定は、この設定に基づいて行われます。AXIインターフェイスのユーザー駆動信号 axi_awsize および axi_arsize に提供される入力は無視します。

Data width per Pseudo-Channel

Pseudo Channelごとのデータ幅。使用可能なデータ幅は次のとおりです。

256ビット: AXIインターフェイスでの256ビットのデータ転送を指します。ECCまたは書き込みデータマスクのオプションが使用できるのは、このデータ幅モードでのみです。

288ビット: AXIインターフェイスでの288ビットのデータ転送を指します。このモードでは、ECCまたは書き込みデータマスクのオプションは使用できません。このデータ幅オプションを選択するときは、独自のECCロジックを実装してください。

Memory channel ECC generation and checking/correction

メモリーチャネルECCの生成とチェック/訂正。HBM2コントローラーは、シングルビット・エラー訂正とダブルビット・エラー検出をサポートします。この機能が使用できるのは、256ビットのデータ幅モードを選択した場合のみです。

コントローラーでは、ECC生成モードでの書き込みデータマスクはサポートしません。

Write data mask enable HBM2 DRAMへの書き込みデータマスク (DM) 入力をイネーブルします。

DMピンを使用する場合、ECCは使用できません。この機能が使用できるのは、256ビットAXIデータ幅モードを選択した場合のみです。