プライマリ クロックは、入力ポートまたはギガビット トランシーバー出力ピン (復元されたクロックなど) を介してデザインに入力されるボード クロックです。
プライマリ クロックは create_clock
コマンドでしか定義できません。
注記: プライマリ クロックは、ザイリンクス
7 シリーズ FPGA の場合にのみ、ギガビット トランシーバー出力に定義する必要があります。
UltraScale™
および
UltraScale+™
デバイスの場合、タイマーは GT 出力ポートでクロックを自動的に派生します。
プライマリ クロックは、ネットリスト オブジェクトに接続する必要があります。このネットリスト オブジェクトは、すべてのクロック エッジの起点を表し、ここからクロックがクロック ツリーのダウンストリームに伝搬されます。つまり、Vivado IDE でスラック値の算出に使用されるクロック レイテンシおよびばらつきを求めるときに、プライマリ クロックの起点が時間 0 になります。
重要:
Vivado IDE では、プライマリ クロックが定義されている起点よりアップストリームにあるセルからのクロック ツリー遅延は無視されます。デザインの中央にあるピンにプライマリ クロックを定義すると、タイミング解析では一部のレイテンシしか使用されません。このクロックがデザインのほかの関連クロックと通信する場合、クロック間のスキュー、そして結果的にスラックの値が不正確になる可能性があるので、これは問題です。
ほかのタイミング制約はプライマリ クロックを基準にすることが多いので、まずプライマリ クロックを定義する必要があります。