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 制約の必須値です。
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 = (クロック パス + クロック到達 + ばらつき - ホールド要件) 未満にならないようにします。
FROM-TO では最大遅延しか制約できないため、これに制約をつけることはできません。つまり、ホールドは、TS_offset_in の FROM-TO 制約の下にあるホールド パスにレポートされている最速パス遅延を、上記で計算された M 値と比較して、確認する必要があります。
OFFSET OUT 制約の回避策
1. 最低速パス
OFFSET OUT の最低速パス スラックの式は次のようになります。
最低速パス スラック = 要件 - (クロック到達 + クロック パス + データ パス + ばらつき))
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;
AR# 51100 | |
---|---|
日付 | 06/07/2018 |
ステータス | アクティブ |
種類 | 既知の問題 |
ツール | |
Boards & Kits |