AR# 71312

Virtex UltraScale+ HBM FPGA XCVU31P、XCVU33P、XCVU35P、XCVU37P ES983x – インタースタック チャネルでクロス スタック トランザクションがハングする

説明

問題の発生したバージョン: HBM v1.0

修正バージョン: (Xilinx Answer 69267) を参照

Virtex UltraScale+ HBM エンジニアリング サンプル デバイスを使用している場合、スタック間のチャネルでクロス スタック トランザクションが停止してしまう可能性があります。

これは次の条件がすべて満たされるときにのみ発生する可能性があります。
  • Virtex UltraScale+ HBM のエンジニアリング サンプル デバイスを使用している。
  • 両方の HBM スタックがイネーブルになっている。
  • AXI スイッチ グローバル アドレス指定がイネーブルになっている。
  • クロス スタック メモリ アクセスが発生する。

1 つの HBM スタックからもう 1 つの HBM スタックへの読み出しまたは書き込みコマンドが AXI スイッチを介して AXI ポートから送信されると、コマンドが伝搬されません。  

AXI ポートには、エラー フラグも標準応答もありません。

AXI ポートは、返されることのない応答を待つことになり、ハングします。

たとえデバイスが今まで問題なく機能しているからといって、この問題が発生しないわけではありません。この問題はどのクロス スタック トランザクションでも発生する可能性があります。

ソリューション

この動作は、プロダクション版の Virtex UltraScale+ HBM デバイスで修正されています。

エンジニアリング サンプル デバイスの場合は、クロス スタック トランザクションを出力しないようにすれば、この問題を回避できます。

両方のスタックはイネーブルにでき、クロス スタック トランザクションを実行しなければ、デバイスがハングすることはありません。

クロス スタック トランザクションが必要な場合は、次の回避策を利用してください。

  1. このアンサーに添付されているパッチをデザインに適用します。
    • これらのパッチは、2018.2、2018.3、および 2019.1 の Vivado リリースに適用できます。
  2. パッチ ファイルを適用すると、HBM スタックの AXI スイッチ クロックが BUFG では駆動できなくなります。
    • AXI スイッチ クロックが BUFG で駆動されるようになっている場合は (HBM IP のコンフィギュレーション GUI の HBM コンフィギュレーションを選択するページで設定)、このクロック パスから BUFG を削除します。
  3. パッチ ファイルを適用すると、APB クロックの 1/8 で新しいクロックが生成されるので、それを制約する必要があります。
    • これらのクロックのデフォルト名は o_APB_PCLK_by8_st0 および o_APB_PCLK_by8_st1 です。
    • これらのクロックには次の制約が必要です。デザインと一致するように名前を変更します。
set_clock_groups -logically_exclusive -group [get_clocks AXI_ACLK*_st0 ] -group [get_clocks o_APB_PCLK_by8_st0 ]
set_clock_groups -logically_exclusive -group [get_clocks AXI_ACLK*_st1 ] -group [get_clocks o_APB_PCLK_by8_st1 ]

改訂履歴

2018/11/06初版
2019/01/062018.3 のパッチ ファイルを含めて更新
2019/08/232019.1 のパッチ ファイルを含めて更新

添付ファイル

関連添付ファイル

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
69267 Virtex UltraScale+ HBM Controller - リリース ノートおよび既知の問題 N/A N/A
AR# 71312
日付 08/23/2019
ステータス アクティブ
種類 一般
デバイス
ツール
IP