AR# 52913

Vivado タイミング - 出力バス スキューを計算およびパッケージ フライト タイムを無効にする方法

説明

ソース出力クロック信号に対するものとなる、ソース同期インターフェイスの出力スキューを Vivado で計算する方法を教えてください。

パッケージ トレースのフライト タイムが有効または無効の出力スキューがレポートされますか。

ソリューション

Vivado 2012.3 およびそれ以前のバージョンを使用する場合

ソース同期の出力スキューは、Propagation delays to output ports with regard to clocks (出力ポートまでのクロックの伝搬遅延) テーブルを使用して手動で計算できます。このテーブルは、report_datasheet コマンドの実行時に生成されます。 

テーブルはデフォルトで、入力クロック パッケージ ボールから各出力信号パッケージ ボールまでの時間 (フライト タイムを含む) を提供します。

スキューを計算するには、バスの各データ ビット ポートの遅延から、ソース クロック出力ポートの遅延を差し引きます (データ遅延 - クロック遅延)。

適切な Propagation delays to output ports with regard to clocks テーブルを生成するために適用しなければならない XDC 制約は、入力クロック周期については create_clock、バス信号については set_output_delay のみです。

次に例を示します。

create_clock -name clk -period 5.0 [get_ports <input clock port name>]
set_output_delay -clock clk 0.0 [get_ports *]


クロック誤差の計算には、set_output_delay 制約が必要です。 

set_output_delay 制約が提供されない場合、Vivado で出力のクロック誤差が計算されません。

出力ポート遅延内のフライト タイムのレポートを無効にするには、report_datasheet を実行する前に次の Tcl コマンドを実行します。

set_param sta.disableFlighttime true


Vivado 2012.4 およびそれ以降のバージョンを使用する場合

report_datasheet のグループ スイッチを使用し、ソース クロック出力ポートを含むデータ バスの全ポートを共にグループ化することで、Vivado でソース同期出力スキューが自動的に計算されます。

必要条件として、ソース クロックの出力ポートをグループ リストの最初に置きます。

次に例を示します。

report_datasheet -file <output file name> -group {{clock_port} {data_bit[0]} {data_bit[10]} {data_bit[2]}}

結果として得られるテーブルでは、フライト タイムは有効となっています。 

フライト タイムを無効にするには、次の Tcl コマンドを使用する必要があります。

config_timing_analysis -disable_flight_delays true

AR# 52913
日付 03/18/2015
ステータス アクティブ
種類 一般
ツール