SLR をまたぐレジスタの使用 - 2023.2 日本語

FPGA および SoC 用 UltraFast 設計手法ガイド (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 日本語

UltraScale+ SSI テクノロジ デバイスをターゲットとする場合は、SLR をまたぐレジスタからレジスタへの接続を Laguna RX_REG を駆動する Laguna TX_REG に直接マップできます。このタイプの接続は、Vivado 配線でローカル プログラマブル クロック遅延を設定することによりホールド タイム違反を修正可能な UltraScale+ デバイス ファミリでのみ可能です。パイプライン レジスタ間の接続に TX_REG から RX_REG への SLR をまたぐトポロジを使用すると、次のようなパフォーマンスの利点があります。

  • SLR をまたぐ配置が垂直方向に分散され、SLR 境界での配線の密集が削減します。
  • レジスタを Laguna サイトに配置すると、遅延見積もりの精度が向上し、タイミング QoR が高くなります。
  • SLR をまたぐ部分のパフォーマンスが高速でより一貫したものになります。
注記: UltraScale SSI テクノロジ デバイスをターゲットとする場合は、SLR をまたぐネットには Laguna TX_REG または RX_REG のいずれかのみを使用可能であり、両方を同時に使用することはできません。パフォーマンスの利点は先ほどリストしたものと同様です。

SLR の境界に配置されると予測されるレジスタに USER_SLL_REG プロパティを設定して、Laguna レジスタ サイトに配置されるようにできます。レジスタの D および Q ピンが SLR の境界をまたがないネットまたは複数の SLR に配置されるロードを駆動するネットに接続されている場合は、USER_SLL_REG 制約は place_design で無視されます。次に例を示します。

set_property USER_SLL_REG TRUE [get_cells {reg_A reg_B}]

SLR をまたぐレジスタを Laguna にマップするのに確実な方法は、BEL および LOC 制約の両方をレジスタに適用し、配置を固定する方法です。LOC 値は Laguna サイトを指定し、BEL 値はそのサイト内の特定の Laguna レジスタ (6 個の TX_REG レジスタまたは 6 個の RX_REG レジスタのいずれか) を選択します。Laguna の SLR をまたぐレジスタは一定の距離で配置されており、直接接続のため各 TX_REG レジスタは RX_REG レジスタとペアになっています。

次の例では、レジスタ間の接続を TX_REG から RX_REG への接続に手動で配置します。パイプライン レジスタ reg_A は、ロードがレジスタ reg_B のみの 1 つのファンアウトを駆動します。ターゲット デバイスが VU9P の場合、次の XDC 制約を適用し、TX_REG から RX_REG への直接接続を使用して SLR2 の reg_A が SLR1 の reg_B を駆動するようにしています。

set_property BEL TX_REG3 [get_cells reg_A]
set_property BEL RX_REG3 [get_cells reg_B]
set_property LOC LAGUNA_X2Y480 [get_cells reg_A]
set_property LOC LAGUNA_X2Y360 [get_cells reg_B]

まず BEL を割り当て、レジスタ位置 (0、1、... 5) が TX_REG と RX_REG の間 (この例では 3) に一致するようにします。ペアとなっている Laguna サイトの間の距離は 120 行です。レジスタ reg_A は、SLR2 Laguna 列の 1 番下の行から SLR1 Laguna 列の 1 番下の行を駆動します。Laguna の BEL および LOC 制約を作成する際は、同じクロック、クロック イネーブル、リセットを使用するレジスタをグループ化し、制御セットの互換性の問題が発生しないようにしてください。