BLI のフロアプランとアライメント - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

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

Versal デバイスの境界ロジック インターフェイス (BLI) タイルは、XPIO ロジック リソースとプログラマブル ロジック (PL) の間を送受信される信号に使用可能な追加のレジスタ段です。BLI レジスタ段は、インターフェイスのタイミングの最適化に役立ちます。

BLI タイルは、場所によって複数サイトで使用できます。

  • XPIO_NIBBLE タイルの XPHY および XPIOLOGIC サイト。
  • DDRMC
  • CMT_XPLL タイルの XPLL サイト。
  • CMT_DPLL タイルの DPLL サイト。
  • CLK_REBUF_BUFGS_HSR_CORE タイルの BUFGCE サイト。
  • CMT_MMCM タイルの MMCM サイト。

BLI は、BLI を使用する各サイト タイプに位置が揃えられるため、DFX フローでは BLI が Pblock の範囲のタイルに基づいて自動的に取り込まれます。次に、BLI 範囲をリコンフィギャラブル Pblock に追加する際の規則をいくつか示します。

  • BLI タイルは、Pblock の範囲に上記のタイルが追加されていなくても、リコンフィギャラブル Pblock の範囲に個別に追加できます。
  • XPIO タイルが RP に指定されている場合、接続されている BLI は配置フットプリントに含まれます。
  • BUFG または MMCM などのクロックリソースがリコンフィギャラブル Pblock に指定されている場合、接続されている BLI が自動的に配置フットプリントに含まれます。
  • AIE_PL または AIE_NOC サイトがリコンフィギャラブル Pblock に指定されている場合、接続されている BLI は自動的に RP Pblock 範囲に含まれます。
  • 競合があるために BLI の自動取り込みが実行できない場合は、DRC でレポートされます。これは、異なるリコンフィギャラブル パーティションに含まれる 2 つのタイルが同じ BLI を使用しようとしている場合に発生します。DRC メッセージには、競合を回避するために該当するタイルを Pblock から削除するよう表示されます。

次の図では、CMT_MMCM タイル (赤紫でマーク) が pblock_rp1rm1 に、XPIO タイル (緑でマーク) が pblock_rp2rm1 に含まれます。BLI タイル (赤でマーク) が、HSR 配線 (黄色でハイライト) のため、両方の RP の配置フットプリントに追加されます。

図 1. BLI の共有とフロアプランのアライメント

この結果、BLI が 2 つの異なる RP のタイルで共有されるため、DRC のメッセージが表示されます。

HDPR-39- Error
Reconfigurable Pblocks must not lead to overlap of footprints in same frame tile  
Overlapping tile : BLI_CLE_BOT_CORE_1_X29Y0 
	- Is in PLACEMENT footprint of reconfigurable pblock 'pblock_rp1rm1'
	  Footprint Expansion Path : 
		 - BLI_CLE_BOT_CORE_1_X29Y0 tile in PLACEMENT footprint  for HSR_ROUTING
		 - CMT_MMCM_X14Y0 tile in PBLOCK
	- Is in PLACEMENT footprint of reconfigurable pblock 'pblock_rp2rm1' 
	  Footprint Expansion Path : 
		 - BLI_CLE_BOT_CORE_1_X29Y0 tile in PLACEMENT footprint  for HSR_ROUTING
		 - XPIO_NIBBLE_SC_X29Y0 tile in PBLOCK
Resolution : Resize pblock to avoid overlaps in footprint using following tcl commands
	 * resize_pblock
	 * get_sites -of [get_tiles <tile in PBLOCK>]

これを解決するには、共有するタイルの 1 つを削除して DRC でレポートされた問題を解決し、2 つの RP で同じ BLI が共有されないようにします。Pblock のサイズは、オーバーラップしないように変更する必要があります。解決策の 1 つは、pblock_rp1rm1 から競合する CMT_MMCM タイルを削除し、隣接する CMT_MMCM タイルを追加することです。

resize_pblock pblock_rp1rm1 -remove [get_sites -of_objects [get_tiles CMT_MMCM_X14Y0]]

resize_pblock pblock_rp1rm1 -add [get_sites -of_objects [get_tiles CMT_MMCM_X4Y0]]

オーバーラップするタイルを視覚化するには、次のコマンドを使用して、2 つの RP の配置フットプリントをハイライトし、マークします。

highlight_objects -color yellow [get_dfx_footprint -place -of_objects [get_cells <RP1_cellname>]]

mark_objects -color blue [get_dfx_footprint -place -of_objects [get_cells <RP2_cellname>]]

次の例では、オーバーラップ タイルは黄色と青色 (赤い丸で囲まれた部分) で表示されます。

図 2. オーバーラップ タイルの例

XPIO の使用に関する注意事項

XPIO をリコンフィギャラブル パーティション内に含める場合、使用量が最も多いリコンフィギャラブル モジュールを親コンフィギュレーションに含める必要があります。この初期コンフィギュレーションで未使用のままの XPIO サイトは、シリコン要件を満たすためにグラウンドに接続されています。これらのタイオフはスタティックと扱われ、それ以降のコンフィギュレーションでも残るため、これらのサイトは子コンフィギュレーションの RM では使用できません。Vivado ツールは、使用できないサイトに PROHIBIT 制約を自動的に挿入します。これらのサイトに I/O を割り当てようとすると、エラーになります。次に例を示します。
ERROR: [DRC HDPR-29] Reconfigurable logic illegally placed: Reconfigurable logic 'design_top/pl_top/instance_1' is placed at site 'IOB_X52Y0' outside reconfigurable Pblock 'my_dynamic_pblock'.

推奨されるストラテジは、ワースト ケース (使用量が最大) を構築することで、親コンフィギュレーションで宣言されるため、後続のすべての RM の使用量は同等かそれ以下になります。ハードウェアでは、部分的な画像を任意の順序で生成できます。