AR# 68266

|

2016.4 Vivado タイミング/スピード ファイル - UltraScale - 新しいスピード ファイルを使用したときに発生する BITSLICE_CONTROL 上の RIU_CLK と PLL_CLK 間のスキュー違反を修正する方法

説明

Kintex UltraScale FPGA および Virtex UltraScale FPGA の (Xilinx Answer 68169) に、すべてのデザインに必要な新しい最小プロダクション スピード仕様 (スピード ファイル) について詳細に記載されています。

この新しいスピード ファイルを使用してタイミングを実行し、RIU_CLK と PLL_CLK の間でスキュー違反が発生した場合は、このアンサーに添付されているスクリプトを使用してスキュー違反を修正してください。

ソリューション

複数のソリューションがあります。

  • 推奨されるソリューション: プロジェクトを Vivado 2016.4 に移行し、通常の合成およびインプリメンテーション フローを実行します。
    Vivado 2016.4 での配置および配線により、BITSLICE_CONTROL クロックのスキュー要件を満たすため、BITSLICE_CONTROL クロック配線制約が自動的に追加されます。
  • ソリューション 2: プロジェクトに以前の Vivado のリリースを引き続き使用し、合成およびインプリメンテーションを含めたフローを実行します。
    このアンサーに添付されている Tcl スクリプト (reportBSC.tcl) を使用して、次のインプリメンテーション run に追加する BITSLICE_CONTROL クロック配線制約を生成します。
    制約の生成方法、および Vivado 2016.4 を使用して既存の配線済み DCP のスキュー違反を修正する方法は、下の手順を参照してください。
    Vivado 2016.4 を使用して配線済み DCP に対してタイミング サインオフ (report_timing_summary) を実行し、セットアップ/ホールド違反を修正します ((Xilinx Answer 68267) を参照)。
  • ソリューション 3: 以前の Vivado リリースを対応するスピード ファイル パッチ (一部の Vivado リリースに限定、請求により入手可能) と共に使用し、合成およびインプリメンテーションを含めたフローを実行します。
    このアンサーに添付されている Tcl スクリプト (reportBSC.tcl) を使用して、次のインプリメンテーション run に追加する BITSLICE_CONTROL クロック配線制約を生成します。
    制約の生成方法、および以前のリリースを使用して既存の配線済み DCP のスキュー違反を修正する方法は、下の手順を参照してください。

配線 DCP の BITSLICE_CONTROL スキュー違反の修正

1) 添付されている reportBSC.tcl スクリプトをダウンロードし、プロジェクトの作業ディレクトリに保存します。

2) 配線済みデザイン チェックポイント (DCP) を開きます。

3) Tcl コンソールに次を入力します。

# Source Tcl procs
source reportBSC.tcl -notrace

set riuClkPins [reportBSC]
# reportBSC parses report_pulse_width and returns a list of BITSLICE_CONTROL/RIU_CLK pins with skew violations
set bscClkNets [constrainBSC $riuClkPins]
# generates bsc.xdc file and returns a list of nets that need re-implemented

4) Tcl コンソールに次のコマンドを入力し、違反の発生しているクロック ネットを再インプリメントします。

route_design -unroute -nets [get_nets $bscClkNets]
read_xdc bsc.xdc
update_clock_routing
# Valid command for Vivado 2016.1 and newer. For older releases, use "place_design" instead
route_design -nets [get_nets $bscClkNets]

5) Vivado 2016.4 を使用している場合は、report_pulse_width -max_skew または report_timing_summary (パルス幅セクション) を使用して、すべてのスキュー違反が修正されたことを確認します。

以前の Vivado リリースを使用している場合は、reportBSC を実行してログ ファイルを確認します。 

セットアップまたはホールド違反が発生している場合は、(Xilinx Answer 68267) を参照してください。

Vivado リリース 2015.3 ~ 2016.3 用の BITSLICE_CONTROL クロック配線制約の生成

1) 添付されている reportBSC.tcl スクリプトをダウンロードし、プロジェクトの作業ディレクトリに保存します。

2) 配線済みデザイン チェックポイント (DCP) を開きます。

3) Tcl コンソールに次を入力します。

# Source Tcl procs
source reportBSC.tcl -notrace
constrainBSC
# generates bsc.xdc file for MIG IPs that require the BITSLICE_CONTROL skew check

4) bsc.xdc ファイルを次のインプリメンテーション run で使用されるようにデザイン制約に追加します。

5) Vivado 2016.4 を使用している場合は、report_pulse_width -max_skew または report_timing_summary (パルス幅セクション) を使用して、すべてのスキュー違反が修正されたことを確認します。

以前の Vivado リリースを使用している場合は、reportBSC を実行してログ ファイルを確認します。


改訂履歴

2016/12/12 - 初版

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
reportBSC.tcl 12 KB TCL

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

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

AR# 68266
日付 12/20/2016
ステータス アクティブ
種類 一般
デバイス
ツール
People Also Viewed