次の図では、ボード クロックはポート sysclk
からデバイスに入力され、入力バッファーおよびクロック バッファーを介してパス レジスタに到達します。
- 周期: 10 ns
- デューティ サイクル: 50%
- 位相シフト: なし
図 1. プライマリ クロックの例
推奨: ボード クロックは、クロック バッファーの出力ではなく入力ポートに定義します。
対応する XDC:
create_clock -period 10 [get_ports sysclk]
sysclk
と同様に、ボード クロック devclk
は、ClkIn
ポートからデバイスに入力されます。
- 周期: 10 ns
- デューティ サイクル: 25%
- 位相シフト: 90 度
対応する XDC:
create_clock -name devclk -period 10 -waveform {2.5 5} [get_ports ClkIn]
次の図は、トランシーバー gt0 を示しています。このトランシーバーは、ボードの高速リンクからクロック rxclk
をリカバリします。クロック rxclk
の周期は 3.33 ns、デューティ サイクルは 50% で、デザイン用に補正されたクロックを複数生成する MMCM に配線されています。
GT0 の出力ドライバー ピンに rxclk
を定義すると、MMCM で駆動されるすべての生成クロックの起点は gt0/RXOUTCLK
になります。これらの間のパスのスラック算出には、正しいクロック レイテンシおよびばらつきの値が使用されます。
create_clock -name rxclk -period 3.33 [get_pins gt0/RXOUTCLK]
図 2. GT プライマリ クロックの例
次の図に、差動バッファーで PLL を駆動する例を示します。この場合、プライマリ クロックは差動バッファーの正の入力にのみ作成します。バッファーの正と負の両方の入力にそれぞれプライマリ クロックを作成すると、非現実的な CDC パスが作成されます。次に例を示します。
create_clock -name sysclk -period 3.33 [get_ports SYS_CLK_clk_p]
図 3. 差動バッファーにプライマリ クロックを設定する例