クロックの配線、ルート、および分配 - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語

Versal デバイスのクロッキング機能とデザインのクロッキングの使用を理解するには、クロック配線で専用配線リソースがどのように使用されるかを知っておくことが重要です。

  • クロック バッファーからクロック ルートまでは、クロック信号は垂直方向配線および水平方向配線の 1 つまたは複数セグメントを通過します。各セグメントは、同じトラック ID (0 ~ 23) を使用する必要があります。
  • クロック ルートでは、クロック信号が配線トラックから同じトラック ID の分配トラックに遷移します。クロック ルートは通常、スキューを削減するため、クロック拡張ウィンドウの中央に配置されているクロック領域にあります。クロック拡張ウィンドウは、クロック ネットのロードが配置されるクロック領域すべてを含む長方形のエリアです。クロック ネットのクロック拡張ウィンドウを判断するため、CLK_EXPANSION_WINDOW プロパティ (読み出し専用) が読み出されます。次に例を示します。
    get_property CLK_EXPANSION_WINDOW [get_nets -of [get_pins BUFGCE_inst/O]]
    => CLOCKREGION_X5Y2:CLOCKREGION_X6Y3
  • クロック信号は、クロック ルートからロードが配置されている CLB 列に向かって、まず垂直方向 (必要に応じてデバイスの上下両方の方向) に分配された後、水平方向 (必要に応じてデバイスの左右両方の方向) に分配されます。
  • CLB 列は、水平方向分配リソースの上下にある 2 つの半分に分割されます。CLB 列の半分にはそれぞれ、水平方向の分配トラックのいずれかで到達可能な複数の最下位クロック配線リソースが含まれます。Versal デバイスの最下位クロック配線リソースでは、MBUFG* プリミティブを使用して最下位レベルのクロック分周を実行することにより、クロック トラック リソースの使用率の削減、電力効率の向上、同期クロック ドメイン間のスキューの削減を達成できます。

場合によっては、クロック バッファーでクロック分配トラックを直接駆動できます。これは通常、クロック ルートがクロック バッファーと同じクロック領域にある場合、またはクロック バッファーがクロック以外のピン (ファンアウトの大きいネットなど) のみを駆動する場合に発生します。

クロック配線リソースはセグメントに分割されるので、クロック領域を横切るため、およびクロックをクロック拡張ウィンドウ全体に分配するために使用される配線セグメントおよび分配セグメントのみが消費されます。

次の図に、クロック領域 X3Y0 にあるクロック バッファーがクロック拡張ウィンドウ (長方形で囲まれた X5Y2 から X6Y3 のクロック領域) 内にあるロードに到達するところを示します。

図 1. Versal アダプティブ SoC でのドライバーからロードまでのクロック配線

次の図に、デバイスのほぼ全体に分配されるグローバル クロックの例の配線済みデバイス表示を示します。ネットワークを駆動するクロック バッファーは、クロック領域 X2Y0 に青色で示されており、そのクロック領域内の水平方向配線を駆動し、XPIO バンクを介して X7Y0 を駆動します。この後ネットは水平方向配線からクロック領域 X5Y1 の垂直方向配線に遷移し、クロック領域 X5Y2 のクロック ルートに到達します。すべてのクロック配線は青色で示されています。クロック ルートは、クロック領域 X5Y2 に赤色で示されています。X5Y2 のクロック ルートからは、ネットが垂直分配に遷移した後、水平方向分配に遷移し、クロックの最下位ピンに到達します。分配レイヤーと CLB 列の最下位クロック配線リソースは、赤色で示されています。

図 2. 配線済みクロック ネットワークを示す Versal アダプティブ SoC の [Device] ウィンドウ