MBUFG 最適化 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: インプリメンテーション (UG904)

Document ID
UG904
Release Date
2023-11-01
Version
2023.2 日本語

Versal デバイスには、新しいマルチクロック バッファー (MBUFG) が含まれており、クロック入力の 1、2、4、8 分周クロックを O1、O2、O3、O4 出力から供給できます。MBUFG クロック出力はすべて、同じグローバル クロック配線リソースを使用して配線され、BUFDIV_LEAF ルートスルー BEL に到達してから分周されます。MBUFG で駆動されるクロックは、使用される配線リソースが少なく、共通ノードがソースおよびデスティネーションに近いので、同じ MBUFG で駆動されるクロック間の同期 CDC パスのクロック スキューを最小限に抑えることができます。

MBUFG 最適化は、共通のドライバーまたは MMCM、DPLL、XPLL などの MBUFG クロック調整ブロック (CMB) で駆動される並列クロック バッファーを変換します。この変換は、並列クロックの分周係数が共通クロックの 1、2、4、8 分周である場合に実行されます。CMB で駆動されるクロックは、位相シフト 0、デューティ サイクル 50% である必要があります。BUFG で駆動されるクロック ネットに CLOCK_DELAY_GROUP や USER_CLOCK_ROOT などの競合する制約がある場合、変換は実行されません。変換は、タイミング制約を破損せずに安全にできる場合にのみ実行されます。次の変換がサポートされています。

  • CMB に接続されている並列 BUFGCE を MBUFGCE に変換。
  • 共通クロック ドライバーに接続されている並列 BUFGCE_DIV を MBUFGCE に変換。
  • 共通クロック ドライバーに接続されている並列 BUFG_GT を MBUFG_GT に変換。

-mbufg_opt オプションを使用したグローバル最適化に加え、選択した BUFG を MBUFG_GROUP プロパティを使用して MBUFG に変換することもできます。MBUFG_GROUP 制約は、クロック バッファーに直接接続されたネット セグメントに設定する必要があります。次に、クロック バッファーで直接駆動される 2 つのクロック ネットにプロパティを設定する例を示します。

set_property MBUFG_GROUP grp1 [get_nets -of [get_pins {BUFG_inst_0/O BUFG_inst_1/O}]

次の図に、MMCM で複数の BUFGCE バッファーを駆動する例を示します。CLKOUTn で駆動されるクロックは、CLKOUT1 で駆動されるクロックを 1、2、4、8 で整数分周したものです。MBUFG 最適化後、4 つの BUFGCE が 1 つの MBUFGCE に変換され、CLKOUT1 で駆動されるクロックは MBUFGCE の I ピンに接続されます。BUFGCE で駆動されていたロードは、MBUFGCE の O1、O2、O3、O4 ピンに接続されます。

図 1. MBUFG 最適化