説明
問題の発生したバージョン:
- DMA/Bridge Subsystem for PCI Express v3.1 (Rev. 1) - (Vivado 2017.2)
- UltraScale+ PCI Express Integrated Block v1.2 (Rev. 1) - (Vivado 2017.2)
修正バージョンおよびその他の既知の問題: DMA Subsystem for PCI Express (Xilinx Answer 65443)/UltraScale+ PCI Express Integrated Block (Xilinx Answer 65751)
これらの問題は、前のバージョンのコアでも発生していた可能性があります。
このアンサーで提供されている緊急パッチでは、次に示す問題の修正および改善点が含まれています。
DMA/Bridge Subsystem for PCI Express v3.1 (Rev. 1) - (Vivado 2017.2)
次に示す問題のリストは、DMA Mode および Bridge Mode の両方が対象です。
- バグの修正: Include GT Wizard in example design モードに不足していたポートを追加
- バグの修正: UltraScale+ デバイス ファミリの GT DRP アドレスを修正
- バグの修正: Include GT Wizard in example design モードで発生するPIO エラーを修正
- バグの修正: GT Wizard QPLL 属性をアップデート
- バグの修正: Include GT Wizard in example design モードに CPLL CAL を追加
- バグ修正: MSI-X 表サイズを 'h1F (32 ベクター) に訂正。
- 機能の改善: sys_clk に外部 BUFG_GT/SYNC をイネーブルにするオプションを追加
- 機能の改善: Include GT Wizard in example design モードを使用するときにサポート ラッパーに含まれている phy_clk モジュールを移動
- 機能の改善: 新しい GT 共有モード - サンプル デザインに GT Common を追加
リストされている問題はすべてブリッジ モードのみを対象にしています。
- バグ修正: MSIX 制御レジスタの MSI-X イネーブル ビットが 0 の間に、MSI-X テーブルおよび
PBA レジスタをプログラムをできるように修正
UltraScale+ PCI Express Integrated Block v1.2 (Rev. 1) - (Vivado 2017.2)
- バグの修正: GT Wizard QPLL 属性をアップデート
- バグの修正: Include GT Wizard in example design モードに CPLL CAL を追加
- バグの修正: Include GT Wizard in example design モードで発生するPIO エラーを修正
- 機能の改善: sys_clk に外部 BUFG_GT/SYNC をイネーブルにするオプションを追加
- 機能の改善: Include GT Wizard in example design モードを使用するときにサポート ラッパーに含まれている phy_clk モジュールを移動
- 機能の改善: 新しい GT 共有モード - サンプル デザインに GT Common を追加
このアンサーは、PCI Express ソリューション センターの一部です。
(Xilinx Answer 34536) PCI Express ソリューション センター
ソリューション
この問題は、このコアの次のバージョンで修正される予定です。Vivado 2017.1/2017.2 を使用している場合は、次の手順に従ってパッチをインストールしてください。
方法 1:
- $XILINX_VIVADO/patches ディレクトリに移動します。このディレクトリが存在しない場合は作成します。
- 「AR69405」という名前で始まるディレクトリに ZIP アーカイブを解凍します。
注記: ほとんどの解凍ツールでは、ZIP ファイルと同じ名前のディレクトリが解凍時に自動的に作成されます。 - 元のインストール場所から Vivado を実行します。
方法 2:
- パッチ ファイル用のディレクトリを別に作成します。
- ZIP ファイルの内容をパッチ ディレクトリに解凍します。
- MYVIVADO 環境変数をこのパッチ ディレクトリをポイントするように設定します。
次に例を示します。
set MYVIVADO=C:\MYVIVADO\vivado-patch-AR69405vivado\ - 元のインストール場所から Vivado を実行します。
IP 外部に BUFG_GT/BUFG_GT_SYNC をインスタンシエートする IP プロパティを設定:
PCI Express IBUFDS_GTE4 の sys_clk を複数のコンポーネントで共有するときにデザインが配線できない問題が修正されます。
これは、[Open Example Design] の前に実行する必要があります。このパッチを使用すると、手順 3 および 4 が自動的に実行されます。
- Vivado Tcl コンソールで DMA Subsystem for PCI Express または PCI Express Integrated Block に次のプロパティを設定します。
- IP インテグレーター以外 (ブロック デザイン以外) のフローの場合:
set_property CONFIG.ext_sys_clk_bufg true [get_ips <ip_name>]
- IP インテグレーター (ブロック デザイン) フローの場合:
set_property CONFIG.ext_sys_clk_bufg true [get_bd_cells <ip_name>]
- 新しい設定をデザインに適用するには、IP またはブロック デザインの出力ファイルをリセットして出力ファイルを再生成します。
- 次に示すようにデザインに BUFG_GT および BUFG_GT_SYNC をインスタンシエートします。
wire sys_clk_bufg;
wire sys_clk_ce_out;
wire sync_sc_ce;
wire sync_sc_clr.
BUFG_GT bufg_gt_sysclk (.CE (sync_sc_ce), .CEMASK (1'd0), .CLR (sync_sc_clr), .CLRMASK (1'd0), .DIV (3'd0), .I (sys_clk), .O (sys_clk_bufg));
BUFG_GT_SYNC sys_sys_clk (.CESYNC(sync_sc_ce), .CLRSYNC (sync_sc_clr), .CE(sys_clk_ce_out), .CLK(sys_clk), .CLR (1'b0));
- DMA Subsystem for PCI Express または PCI Express Integrated Block IP のインスタンシエーションで次のポートを追加または置換します。
.sys_clk ( sys_clk_bufg ),
.sys_clk_ce_out (sys_clk_ce_out)
サンプル デザインでの GT Common の共有:
この機能は、2 つの異なる IP で同じ MGT クワッドを使用する必要があるため GT COMMON を共有するときに使用します。
以前は、GT Common を共有するデザインに Include GT Wizard in example design モードが必要でしたが、Include GT COMMON in example design モードにより簡易化されました。
選択するアーキテクチャによりそれぞれ個別の設定が必要です。特定のアーキテクチャでの正しい設定の確認にサポートが必要な場合は、ザイリンクス テクニカル サポートまでお問い合わせください。
