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

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

3.2. インテル® Stratix® 10 UIBのアーキテクチャー

インテル® Stratix® 10デバイスのアーキテクチャーには、ユニバーサル・インターフェイス・バス (UIB) サブシステム (UIBSS) が含まれています。UIBSSには、FPGAコアをHBM2 DRAMに接続するために必要なロジックが含まれています。

各UIBサブシステムには、HBM2ハード化コントローラーおよびユニバーサル・インターフェイス・バスが含まれています。これを構成するハード化された物理インターフェイスとI/Oロジックは、各HBM2 DRAMデバイスとのインターフェイスに必要です。AMBA AXI4プロトコルでは、コアロジックとのインターフェイス接続にユニバーサル・インターフェイス・バス・サブシステムを使用します。オプションのソフト・ロジック・アダプターがFPGAファブリックに実装され、これにより、ユーザーロジックからHBM2ハード化コントローラーへのインターフェイス接続が効率的に行われます。 インテル® Quartus® Prime開発ソフトウェア・バージョン20.2以降では、オプションの Avalon®メモリーマップド・インターフェイスが、各Pseudo Channelに対してサポートされています。

次の図で示すのは、 インテル® Stratix® 10 HBM2ユニバーサル・インターフェイス・バス・サブシステムのハイレベルのブロック図です。UIBサブシステムには、次のハード化されたロジックが含まれています。

  • レートマッチングFIFO。ロジックをユーザー・コア・クロックからHBM2クロックドメインに転送します。
  • HBM2メモリー・コントローラー (HBMC)。
  • UIB PHY。UIB物理層とI/Oが含まれます。
図 3.  インテル® Stratix® 10 HBM2実装のブロック図

(* Avalon®メモリーマップド・インターフェイス は、 インテル® Quartus® Prime開発ソフトウェア・バージョン20.2以降でサポートされています。)

ユーザー・コア・クロックで駆動するロジックを緑色で、UIBクロックで駆動するロジックを青色で表示しています。UIBクロックでは、HBM2インターフェイス・クロックも駆動します。ユーザーロジックの動作速度は、HBM2インターフェイスよりも最大で1~4倍遅くなります。

ソフトロジックAXIアダプター

HBM2 IPに含まれているソフト・ロジック・アダプターは、FPGAコアロジックに実装されています。ソフト・ロジック・アダプターでは、ユーザーValid信号 (write address validwrite data valid、およびread address valid) のゲートに、HBM2コントローラーからの対応パイプライン化Ready信号を使用します。ソフト・ロジック・アダプターでも、HBM2コントローラーからの出力 (AXI書き込み応答およびAXI読み出しデータチャネル) を一時保存します。これは、AXI Ready信号がない場合です。一時保存ロジックをディスエーブルできるのは、ユーザーロジックで、HBM2 IPの生成時にHBM2コントローラーからの出力をパラメーター・エディターを介して受け入れる準備が常時できている場合です。

HBM2 DRAM

次の表で示すHBM2信号は、UIBにインターフェイス接続します。UIBでは、HBM2信号を駆動し、HBM2から受信したデータをデコードします。この信号へのアクセスは、AXI4 User Interfaceからはできません。

表 2.  チャネルごとの信号の概要
信号名 信号幅
Data 128 チャネルごとに128ビット双方向DQ
Column command/address 8 8ビット幅のカラム・アドレス・ビット
Row command/address 6 6ビット幅のロウ・アドレス・ビット
DBI 16 8DQあたり1DBI
DM_CB 16 8DQあたり1DM。このピンは、DMまたはECCに使用できますが、両方には使用できません。
PAR 4 32DQあたり1パリティービット
DERR 4 32DQあたり1データエラー
Strobes 16 読み出しおよび書き込みストローブ用の個別ストローブ。読み出しおよび書き込み用に32DQごとに1つの差動ペア。
Clock 2 クロックアドレスおよびコマンド信号
CKE 1 クロックイネーブル
AERR 1 アドレスエラー

次の表で示すHBM2信号は、各HBM2インターフェイスのすべてのPseudo Channelに共通です。HBM2コントローラーは、次の信号とインターフェイス接続します。この信号は、AXI4ユーザー・インターフェイスでは使用できません。

表 3.  グローバルHBM2信号の概要
信号名 信号幅
Reset 1 リセット入力
TEMP 3 HBM2からの温度出力
Cattrip 1 破局的温度センサー

インテル® Stratix® 10 HBM2 IPでサポートするのは、HBM2仕様のPseudo Channelモードのみです。Pseudo Channelモードには次の機能が含まれます。

  • Pseudo Channelモードでは、単一のHBM2チャネルを分割して64ビットI/Oの個別のサブチャネル2つにします。
  • 両方のPseudo Channelで、チャネルのロウおよびカラムのコマンドバス、CK、およびCKE入力を共有しますが、コマンドをデコードしたり実行したりするのは別々です。
  • Pseudo Channelモードで必要なバースト長は4です。
  • アドレスBA4では、コマンドをPseudo Channel 0 (BA4 = 0) またはPseudo Channel 1 (BA4 = 1) に送ります。HBM2コントローラーでは、Pseudo Channelのアドレス指定要件を処理します。
  • パワーダウンとセルフ・リフレッシュは、両方のPseudo Channelに共通です。これは、CKEピンを共有しているためです。両方のPseudo Channelでは、チャネルのモードレジスターも共有します。

ユーザーAXIインターフェイス

インテル® Stratix® 10 HBM2インターフェイスでは、最大8つのHBM2チャネルをサポートします。各HBM2チャネルには、2つのAXI4インターフェイスがあり、Pseudo Channelごとに1つずつです。各AXI4インターフェイスには、Pseudo Channelごとに256ビット幅のWrite DataおよびRead Dataインターフェイスが含まれています。次の図では、ユーザーロジックからUIBSSを介したHBM2 DRAMへのデータフローを示しています。このとき選択しているのは、HBM2チャネル0および7です。

図 4. UIBSSを介してHBM2 Channel 0および7を使用した インテル® Stratix® 10 HBM2インターフェイス

(* Avalon®メモリーマップド・インターフェイス は、 インテル® Quartus® Prime開発ソフトウェア・バージョン20.2以降でサポートされています。)

AXIユーザー・インターフェイス

AXIインターフェイスは、Pseudo Channelごとに1つあります。各AXIインターフェイスでは、HBM2コントローラー間で、256ビット幅のWrite Dataインターフェイスおよび256ビット幅のRead Dataインターフェイスをサポートします。AXI4プロトコルでは、HBM2コントローラーへの同時書き込みおよび同時読み出しを処理します。また、サイドバンド・ユーザー・ポートがユーザーチャネルのペアごとにあります。これは、Advanced Peripheral Bus (APB) に準拠しています。サイドバンドでは、ユーザー制御機能へのアクセスを提供しています。これには、リフレッシュ・リクエスト、ECCステータス、Power Downステータス、HBM2温度読み出し、 Avalon® メモリーマップド・ユーザー・インターフェイス、キャリブレーション・ステータス、User割り込みなどがあります。

Avalon® Memory-Mappedインターフェイス

インテル® Quartus® Prime開発ソフトウェア・バージョン20.2以降は、256ビット Avalon®メモリーマップド・インターフェイスがPseudo Channelごとにサポートされています。

ソフトAXIスイッチ

インテル® Quartus® Prime開発ソフトウェア・バージョン20.1以降では、HBM2 IPによりソフト4x4 AXIスイッチがサポートされます。これにより各AXIマスターからHBM2 DRAM内の対応するHBM2 Channel 2つ、またはHBM2 Pseudo Channel 4つ (HBM2チャネル1つ = HBM2疑似チャネル2つ) のメモリースペースにアクセスできるようになります。スイッチ機能は、 Avalon®メモリーマップド・インターフェイスフローではサポートされていません。AXIスイッチについて詳しくは、ソフトAXIスイッチを参照してください。

インテル® Stratix® 10 HBM2コントローラーによってサポートされているAXIプロトコル機能について詳しくは、High Bandwidth Memory (HBM2) Interface Intel FPGA IPのインターフェイス を参照してください。