AR# 51100

タイミング - Zynq SoC デザインで FCLK に設定された OFFSET 制約が無視される

説明

Zynq SoC デザインで、FCLK に設定された OFFSET 制約が無視されます。 

次のような警告メッセージがコンソールに表示されます。

WARNING: ConstraintSystem:168 - Constraint <OFFSET = OUT 10 ns AFTER "system_i/processing_system7_0_FCLK_CLK_0<0>";> [system_top.ucf(5)]:
This constraint will be ignored because NET system_i/processing_system7_0_FCLK_CLK_0<0>"could not be found or was not connected to a PAD."

この問題の回避策を教えてください。

ソリューション

これは ISE Timing Analyzer の既知の問題です。 

PS クロックの 1 つを供給する入力/出力に対し、ISE Timing Analyzer はクロックを入力パッドとして認識できません。 

ですからオフセット制約はこの場合は機能しません。

この問題を回避するには、同じ解析を手動で実行する必要があります。 

UCF で FROM TO 制約を設定する必要があります。 

FROM-TO 制約を設定し、手動解析を実行するには、次の手順に従ってください。


OFFSET IN 制約の回避策

1. セットアップ解析

OFFSET IN セットアップ スラックの式は次のようになります。
セットアップ スラック = セットアップ要件 - (データ パス - クロック パス - クロック到達 + ばらつき))

セットアップ スラック >=0 になるには、データ パス遅延は N = (セットアップ要件 + クロック パス + クロック到達 - ばらつき)を超えることはできません。つまり、N は FROM-TO 制約の必須値です。

  • セットアップ要件: これは OFFSET IN 値です。
  • クロック パス: セットアップ解析では、クロック パス遅延の最小値を使用する必要があります。この遅延は、ユーザー指定のエンドポイント解析を実行し、ソースをクロック入力パッドに、デスティネーションを入力フリップフロップに設定することで、得られます。クロック パス遅延の最小値は、パス フィルター解析のホールド パスで指定されます。詳細は、(Xilinx Answer 2742) を参照してください。
  • クロック到達: 入力クロックが位相シフトされているかどうかで決まります。
  • ばらつき: クロックのばらつきは、fclk が同期パス (FF から FF など) にクロックを供給している場合、Timing Analyzer で見積もることができ、Timing Analyzer により上記の式にばらつきが追加されます。

FROM-TO 制約は入力パッドと入力レジスタの間で使用する必要があります。

net <input_pad_name> TNM = input_pad_grp;
inst <input_register_name> TNM = input_reg_grp;
TIMESPEC TS_offset_in = FROM input_pad_grp TO input_reg_grp N ns;


2. ホールド解析

OFFSET IN ホールド スラックの式は次のようになります。
ホールド スラック = ホールド要件 - (クロック パス + クロック到達 + ばらつき - データ パス)

ホールド スラック >=0 になるには、データパス遅延が M = (クロック パス + クロック到達 + ばらつき - ホールド要件) 未満にならないようにします。


  • ホールド要件: (VALID 値 - OFFSET IN 値)
  • クロック パス: ホールド解析ではクロック パスの最大値エンが使用されます。この遅延は、ユーザー指定のエンドポイント解析を実行し、ソースをクロック入力パッドに、デスティネーションを入力フリップフロップに設定することで、得られます。クロック パス遅延の最大値は、パス フィルター解析のセットアップ パスで指定されます。詳細は、(Xilinx Answer 2742) を参照してください。
  • クロック到達: 入力クロックが位相シフトされているかどうかで決まります。
  • ばらつき: クロックのばらつきは、fclk が同期パス (FF から FF など) にクロックを供給している場合、Timing Analyzer で見積もることができ、Timing Analyzer により上記の式にばらつきが追加されます。

FROM-TO では最大遅延しか制約できないため、これに制約をつけることはできません。つまり、ホールドは、TS_offset_in の FROM-TO 制約の下にあるホールド パスにレポートされている最速パス遅延を、上記で計算された M 値と比較して、確認する必要があります。

  • 最速パス遅延 >= M: 満たされている
  • 最速パス遅延 < M: 満たされていない


OFFSET OUT 制約の回避策

1. 最低速パス

OFFSET OUT の最低速パス スラックの式は次のようになります。


最低速パス スラック = 要件 - (クロック到達 + クロック パス + データ パス + ばらつき))

このスラックが >=0 になるには、データ パス遅延が N = (クロック到達 + クロック パス + ばらつき - 要件) を超えないようにします。つまり、N は FROM-TO 制約の必須値です。

  • 要件: これは OFFSET OUT 値です。
  • クロック パス: 最低速パス解析では、クロック パス遅延の最大値を使用する必要があります。この遅延は、ユーザー指定のエンドポイント解析を実行し、ソースをクロック入力パッドに、デスティネーションを出力フリップフロップに設定することで、得られます。クロック パス遅延の最大値は、パス フィルター解析のセットアップ パスで指定されます。詳細は、(Xilinx Answer 2742) を参照してください。
  • クロック到達: 入力クロックが位相シフトされているかどうかで決まります。
  • ばらつき: クロックのばらつきは、fclk が同期パス (FF から FF など) にクロックを供給している場合、Timing Analyzer で見積もることができ、Timing Analyzer により上記の式にばらつきが追加されます。

FROM-TO 制約は出力パッドと出力レジスタの間で使用する必要があります。

net <output_register_name> TNM = output_reg_grp;
inst <output_pad_name> TNM = output_pad_grp;
TIMESPEC TS_offset_out = FROM output_reg_grp TO output_pad_grp N ns;


2.最高速パス

OFFSET OUT 最速パス遅延の式は次のようになります。
 
最速パス遅延 = (クロック到達 + クロック パス + データ パス - ばらつき)

最高速パス遅延は手動で計算することができます。

  • クロック到達: 入力クロックが位相シフトされているかどうかで決まります。
  • クロック パス: 最高速パス解析では、クロック パス遅延の最小値を使用する必要があります。この遅延は、ユーザー指定のエンドポイント解析を実行し、ソースをクロック入力パッドに、デスティネーションを出力フリップフロップに設定することで、得られます。クロック パス遅延の最小値は、パス フィルター解析のホールド パスで指定されます。詳細は、(Xilinx Answer 2742) を参照してください。
  • データ パス: これは、TS_offset_out の FROM-TO 制約の下にあるホールド パスにレポートされている最高速のパス遅延です。
  • ばらつき: クロックのばらつきは、fclk が同期パス (FF から FF など) にクロックを供給している場合、Timing Analyzer で見積もることができ、Timing Analyzer により上記の式にばらつきが追加されます。
AR# 51100
日付 06/07/2018
ステータス アクティブ
種類 既知の問題
ツール
Boards & Kits