Timing Constraints ウィザードでは、入力ポートからのパスがすべて解析され、それらのパスのデザイン内でのデスティネーション クロックとアクティブ エッジが特定されます。この情報を基に、Vivado IDE で提供される XDC テンプレートに基づいて基本的なシステム同期入力遅延制約が推奨されます。テンプレートの詳細は、XDC テンプレートを参照してください。[Recommended Constraints] で制約エントリを選択すると、選択されたテンプレートに関連付けられている波形がウィザード ウィンドウ下部にある [Waveform] タブに表示されます。
次の図に、ウィザードで推奨される入力制約の例を示します。これらは部分的にユーザーが変更できます。
ボードの実際のインターフェイス タイミングに対応する波形を指定するため、各制約に対して次の 3 つの特性を編集できます。
- [Synchronous]
- クロックとデータの関係を指定します。
- [System] (システム同期インターフェイス用)
- データが送信されて、1 周期または ½ 周期ずれたクロック エッジでキャプチャされる場合に使用します。
- [Source] (ソース同期インターフェイス用)
- データが同じクロック エッジで開始されてキャプチャされる場合に使用します。
- [Alignment]
- アクティブ クロック エッジに対するデータ遷移アライメントを指定します。
- システム同期インターフェイスの場合のみ:
- [Edge]
- クロックとデータが同時に遷移する場合に使用します。
- ソース同期インターフェイスの場合のみ:
- [Center]
- データ有効ウィンドウの真ん中でクロックが遷移する場合に使用します。
- [Edge Direct]
- データ有効ウィンドウの最初でクロックが遷移する場合に使用します。
- [Edge MMCM]
- データ有効ウィンドウの終わりでクロックが遷移する場合に使用します。
- システム同期インターフェイスの場合のみ:
- [Data Rate and Edge]
- テンプレートで制約が設定されているアクティブ クロック エッジを指定します。ウィザードで推奨されるデフォルト値は、キャプチャ シーケンシャル セルのアクティブ クロック エッジに基づきます。
- [Single Rise]
- 立ち上がりクロック エッジでのみ FPGA の外部にデータが送信される場合に使用します。
- [Single Fall]
- 立ち下がりクロック エッジでのみ FPGA の外部にデータが送信される場合に使用します。
- [Dual]
- 立ち上がりおよび立ち下がりクロック エッジの両方で FPGA の外部にデータが送信される場合に使用します。
推奨されるクロックは、通常、入力パスのシーケンシャル セルに関連付けられているボード クロックです。入力パスの内部クロックが MMCM/PLL 生成クロックの場合、MMCM/PLL を駆動するボード クロックが入力制約の基準クロックとして使用されます。ただし、次のように内部クロック波形とボード クロック波形が異なる場合は例外です。
- 周期が異なる場合
- 入力制約は、内部クロックと同じ波形の仮想クロックを基準とするので、セットアップ解析は 1 サイクル パス要件で実行されます。仮想クロックは自動的に作成されます。
- 正の位相シフト クロックの場合
- 仮想クロックが基準クロックとして使用されます。仮想クロックは、ボード クロックと同じ波形を使用して自動的に作成されます。また、仮想クロックと内部クロック間のマルチサイクル パス制約も指定され、デフォルトの解析が 1 周期 + セットアップの位相シフト分に調整されます。仮想クロックとマルチサイクル パスの制約の組み合わせにより Vivado Design Suite タイマーで処理しやすい簡単な制約が提供され、仮想クロックを参照する入力ポートにのみ影響します。
負の位相シフトの場合、デフォルトのセットアップ パス要件は 1 サイクルから位相シフト分を引いた周期なので、仮想クロックとマルチサイクル パス制約は必要ありません。
ウィザード内では、制約に対して選択された基準クロックを変更できません。これには、ウィザード終了後に XDC ファイルを手動で編集するか、[Timing Constraints] ウィンドウを使用して編集する必要があります。
適切なテンプレートを選択したら、ウィザード右側の [Delay Parameters] パネルに遅延パラメーター値を入力し、[Apply] をクリックして入力内容を適用します。
入力遅延の式は、遅延パラメーター フィールドの下に表示されます。次の図に、DDR システム同期インターフェイス テンプレートの [Delay Parameters] パネルを示します。
クロックとテンプレートが同じ複数の制約を選択して編集すると、遅延パラメーターの入力時間を短縮できます。
制約を入力して適用したら、該当する Tcl 構文を Tcl Command Preview タブで確認し、Next をクリックしてに進みます。