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# 67824

2016.2 Virtex UltraScale+ - クロック配線との PS8 ブロック干渉が適切に考慮されていないためクロック配置プログラムで UltraScale+ デザインを分割できない

説明

クロック配置プログラムで UltraScale+ デザインを正しく分割 (フロアプラン) できないため、次のようなクリティカル警告メッセージが表示され、最終的にデザインがエラーになります。

[Place 30-891] The clock root for clock net "clock_net" needs to be in clock region X0Y3 for best timing, however, this is not possible because some of the clock loads are locked/constrained to one or more clock regions in X0Y0:X3Y2. Clock region placer will choose a different region as the clock root. Please remove any user constraint on the clock loads in the above regions to resolve this issue.

[Place 30-678] Failed to do clock region partitioning: Cannot find an available clock routing track for clock net zynq_axi_i/zynq_axi_i/xxv_ethernet_0/inst/i_core_gtwiz_userclk_rx_inst_0/gen_gtwiz_userclk_rx_main.gtwiz_userclk_rx_active_out_reg_0 in its partition defined by a rectangle from clock region X0Y0 to clock region X3Y3. A clock partition is a rectangular area covering all clock loads and the clock region for its clock root. It may cover the clock source as well. Each clock net needs to use the same routing track across all clock regions of its partition. In this case, other clock nets are already using resources in one or more clock regions of this partition.
Number of clock sources in each region:

ソリューション

この問題は、PS8 ブロックに関するクロック配線制限がクロック配置プログラムで適切に考慮されていないために発生します。クロック ルートを割り当てるか、またはフロアプランすることによって、クロック信号が PS8 ブロックを通過しないようにすると、これを回避できます。

今後のリリースでは、自動クロック分割によってこの配線制限が正しく処理される予定です。

回避策:

PS8 ブロックの列 0 のクロック領域が X0Y0 で、配置プログラムによってクロック ルート X0Y5 が割り当てられたクロック ルートに対してクロック配線をブロックすると考えます。

この競合は、次のいずれかの方法で解決できます。

1) クロック ルートを別の列に移動します。

set_property USER_CLOCK_ROOT {X1Y3} [get_nets {clock_name}]

2) クロック ドメインをフロアプランし、PS8 ブロックが常駐する行にわたってクロックを配線させるロードをなくします。 

次の制約により、行 0 より上のクロック領域に対する clock_net クロック ネットのすべてのロードを制約する pblock が作成されます。

create_pblock {CLKAG_clock_net}
add_cells_to_pblock [get_pblocks {CLKAG_clock_net}] [get_cells -filter { PRIMITIVE_GROUP != I/O && IS_PRIMITIVE==1 && PRIMITIVE_LEVEL !=INTERNAL } -of_object [get_pins -filter {DIRECTION==IN} -of_objects [get_nets -hierarchical -filter {PARENT=="clock_net"}]]]
resize_pblock [get_pblocks {CLKAG_clock_net}] -add {CLOCKREGION_X0Y1:CLOCKREGION_X0Y1 CLOCKREGION_X0Y2:CLOCKREGION_X0Y2 CLOCKREGION_X0Y3:CLOCKREGION_X0Y3 CLOCKREGION_X0Y4:CLOCKREGION_X0Y4 CLOCKREGION_X1Y1:CLOCKREGION_X1Y1 CLOCKREGION_X1Y2:CLOCKREGION_X1Y2 CLOCKREGION_X1Y3:CLOCKREGION_X1Y3 CLOCKREGION_X1Y4:CLOCKREGION_X1Y4 CLOCKREGION_X2Y1:CLOCKREGION_X2Y1 CLOCKREGION_X2Y2:CLOCKREGION_X2Y2 CLOCKREGION_X2Y3:CLOCKREGION_X2Y3 CLOCKREGION_X2Y4:CLOCKREGION_X2Y4 CLOCKREGION_X3Y1:CLOCKREGION_X3Y1 CLOCKREGION_X3Y2:CLOCKREGION_X3Y2 CLOCKREGION_X3Y3:CLOCKREGION_X3Y3 CLOCKREGION_X3Y4:CLOCKREGION_X3Y4 CLOCKREGION_X4Y1:CLOCKREGION_X4Y1 CLOCKREGION_X4Y2:CLOCKREGION_X4Y2 CLOCKREGION_X4Y3:CLOCKREGION_X4Y3 CLOCKREGION_X4Y4:CLOCKREGION_X4Y4 CLOCKREGION_X5Y1:CLOCKREGION_X5Y1 CLOCKREGION_X5Y2:CLOCKREGION_X5Y2 CLOCKREGION_X5Y3:CLOCKREGION_X5Y3
CLOCKREGION_X5Y4:CLOCKREGION_X5Y4}
AR# 67824
日付 11/01/2016
ステータス アクティブ
種類 一般
デバイス
  • Virtex UltraScale+
ツール
  • Vivado Design Suite - 2016.2
このページをブックマークに追加