UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 61076

UltraScale Memory IP - MIG IP の複数のインスタンスにより「[Place 30-678] Failed to do clock region partitioning」というエラー メッセージが表示される

説明

問題の発生したバージョン: v5.0 Rev1

修正バージョン: (Xilinx Answer 58435) を参照

MIG UltraScale IP のインスタンスを複数使用すると、インプリメンテーション中に次のようなエラー メッセージが表示されることがあります。

ERROR: [Place 30-678] Failed to do clock region partitioning: Clock partitioning failed to resolve contention in clock region X2Y4. The following clock nets need to use the same clock routing track, as their clock buffer sources are locked to BUFGCE sites that use the same track. The initial regions, where loads of these clocks are placed at, intersect with each other, forcing the clock partitions for these clocks to overlap. This creates contention on the clock routing tracks, but clock region partitioning failed to resolve these contentions. If the clock buffers need to be locked, we recommend users constrain them to a clock region and not to a specific BUFGCE site. If clock sources should be locked to specific BUFGCE sites that share the same routing tracks, make sure loads of such clocks are not constrained to the same region(s). Clock nets in the congested region(s):
u_mig_0/inst/u_ddr4_mem_intfc/u_ddr4_phy/infrastructure/O1
u_mig_1/inst/u_ddr4_mem_intfc/u_ddr4_phy/infrastructure/O1

ソリューション

このエラーを回避するには、次の手順に従います。


1) エラー メッセージに示されている問題の MIG インスタンスの <mig_core_name>.xdc を開きます。

2) すべての MIG インスタンスについて、BUFGCE LOC 制約を確認します。 

次のようになっているはずです。

set_property LOC BUFGCE_X#Y## [get_cells -hier -filter {NAME =~ */u_ddr4_phy/u_infrastructure/mmcm_pll_loop[0].CENTER_MMCM.u_bufg_divClk}]

3) Y 座標のオフセットは 24 の倍数にできません。24 の倍数でオフセットされている BUFGCE を識別します。

例:

set_property LOC BUFGCE_X1Y93     [get_cells {u_mig_1/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[1].CENTER_MMCM.u_bufg_divClk}]
set_property LOC BUFGCE_X1Y117  [get_cells {u_mig_0/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[1].CENTER_MMCM.u_bufg_divClk}]

4) 2 つの Y 座標のうち小さい方を含む BUFGCE で Y# 座標を 1 デクリメントします。 

上記の例では、次のように文字列を置換します。

置換前:

set_property LOC BUFGCE_X1Y93 [get_cells -hier -filter {NAME =~ */u_ddr4_phy/u_infrastructure/mmcm_pll_loop[0].CENTER_MMCM.u_bufg_divClk}]

置換後:

set_property LOC BUFGCE_X1Y92 [get_cells -hier -filter {NAME =~ */u_ddr4_phy/u_infrastructure/mmcm_pll_loop[0].CENTER_MMCM.u_bufg_divClk}]

注記: インスタンスが 3 つ以上の場合、Y 座標が 24 の倍数でオフセットされないようにします。

24 の倍数でオフセットされている場合、手順 4 にあるように 2 つの座標のうち小さい方を 1 デクリメントします。

稀なケースですが、エラー メッセージが表示されないようにするため、MIG の各インスタンスのクロック供給構造全体に LOC 制約を付ける必要があることもあります。

次に、MIG DDR4 インスタンスの例を示します。

et_property LOC PLLE3_ADV_X0Y3 [get_cells{port_mem_inst/GEN_LAT1_DDR_MEM_IF_ON.MEM_IF/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[1].CENTER_MMCM.PLLE3_BASE_INST_CENTRE}]
set_property LOC PLLE3_ADV_X0Y1 [get_cells {port_mem_inst/GEN_LAT1_DDR_MEM_IF_ON.MEM_IF/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[0].OTHER_PLL.PLLE3_BASE_INST_OTHER}]
set_property LOC MMCME3_ADV_X0Y1 [get_cells {port_mem_inst/GEN_LAT1_DDR_MEM_IF_ON.MEM_IF/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[1].CENTER_MMCM.CENTER_MMCM_ADDN_CLK_ENABLE.mmcme3_adv_inst}]
set_property LOC BUFGCE_X0Y26 [get_cells {port_mem_inst/GEN_LAT1_DDR_MEM_IF_ON.MEM_IF/inst/u_ddr4_mem_intfc/u_ddr4_phy/u_infrastructure/mmcm_pll_loop[1].CENTER_MMCM.u_bufg_divClk_0}]
set_property LOC BUFGCE_X0Y45 [get_cells {port_mem_inst/GEN_LAT1_DDR_MEM_IF_ON.MEM_IF/inst/u_clk_ibuf/u_bufgce}]


改訂履歴
2014/09/09 - LOC 要件をアップデート

2014/07/22 - BUFGCE の手順をアップデート。
2014/06/10 - 初版

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
58435 UltraScale/UltraScale+ Memory IP - Master Release Notes and Known Issues N/A N/A
AR# 61076
日付 01/19/2018
ステータス アクティブ
種類 既知の問題
デバイス
ツール
IP
このページをブックマークに追加