AR# 60480

MIG 7 Series - CLOCK_DEDICATED_ROUTE が BACKBONE に設定されていてもバックボーン リソースが使用されないと「ERROR: [Drc 23-20]」というエラー メッセージが表示される

説明

問題の発生したバージョン : MIG 7 Series v2.0 Rev 2
修正バージョン : (ザイリンクス アンサー 54025) を参照

2013.4 では問題なくビット ファイルを生成できたデザインで、CLOCK_DEDICATED_ROUTE 制約が正しく適用されていても BACKBONE 配線に関する次のようなエラー メッセージが表示されることがあります。

ERROR: [Drc 23-20] Rule violation (RTRES-1) Backbone resources - 1 net(s) have CLOCK_DEDICATED_ROUTE set to BACKBONE but do not use backbone resources. The problem net(s) are clk_in1.


ソリューション

この問題は、MIG インターフェイスと同じバンク内に SYS_CLK がないデザインで発生することがあります。

例として、1 つの SYS_CLK を共有している 2 つの MIG インターフェイスや、異なるバンクに SYS_CLK がある 1 つの MIG インターフェイスが挙げられます。

バックボーンに割り当てられたネットをバックボーン配線に配置できないようにデザインが配線されている場合 (受け取る DRC は正しい)、競合が発生する可能性があります。 

しかし、このコンフィギュレーションはツールで処理できるべきなので、これは問題です。

注記 : 以前のバージョンのソフトウェアでも配線が間違っていましたが、2014.1 では DRC が新しくなっています。

この解決策は、2013.4 以前のリリースでも必要です。

DRC がフラグされない以前のバージョンのソフトウェアにてネットがバックボーンに正しく配置されているかどうかを確認するには、開いているインプリメント済みデザインで次のコマンドを実行します。

get_property route [get_nets clk_in1]
{ IOB_IBUF0 LIOI_I0 LIOI_ILOGIC0_D IOI_ILOGIC0_O IOI_LOGIC_OUTS18_1 INT_INTERFACE_LOGIC_OUTS_L18 WW2BEG0 NR1BEG0 LV18 LV18 { LV18 LV18 LV18 LV18 SW6BEG0 ER1BEG1 CLK0 CMT_R_LOWER_B_CLK_IN1_INT CMT_LR_LOWER_B_MMCM_CLKIN1 }  SW6BEG0 ER1BEG1 CLK1 CMT_TOP_R_UPPER_T_PLLE2_CLK_IN1_INT CMT_TOP_R_UPPER_T_PLLE2_CLKIN1 } 

配線プロパティに BB が使用されているべきですが、表示されていないので、バックボーンが使用されていないことがわかります。

バックボーン配線を必要とするネットに配線プロパティを直接適用すると、この問題を回避できます。

これは、次の手順に従って行います。

  1. インプリメントされたデザインを開き、Tcl コンソールから次を実行します。
    • report_drc -file pre_wa_drc_chk.rpt
      DRC チェックが実行され、write_bitstream によってレポートされた DRC が表示されます。
    • route_design -unroute
      デザイン全体が配線解除されます。
    • route_design -nets [get_nets clk_in1]
      DRC エラーでレポートされたネットのみが配線されます。
    • set_property IS_ROUTE_FIXED 1 [get_nets clk_in1]
      ネットがロックされます。
    • route_design
      デザインの残りが配線されます。
    • report_drc -file post_wa_drc_chk.rpt
      DRC エラーがレポートされなくなります。
  2. 次に、配線制約を作成して XDC ファイルに追加し、ツールによってデザインが配線され、この clk ネットが必要に応じてバックボーン配線に配置されるようにします。

    get_property route [get_nets clk_in1]
    { IOB_IBUF0 LIOI_I0 LIOI_ILOGIC0_D IOI_ILOGIC0_O LIOI_I2GCLK_TOP0 HCLK_CMT_MUX_OUT_FREQ_REF0 HCLK_CMT_FREQ_REF_NS0 MMCM_CLK_FREQ_BB_REBUF0_NS PLL_CLK_FREQ_BB0_NS { CMT_TOP_R_UPPER_T_FREQ_BB0 CMT_TOP_R_UPPER_T_PLLE2_CLKIN1 } MMCM_CLK_FREQ_BB_REBUF0_NS PLL_CLK_FREQ_BB0_NS CMT_R_LOWER_B_CLK_FREQ_BB3 CMT_LR_LOWER_B_MMCM_CLKIN1 }

    ここでは、clk_in1 ネットの接続が表示されています。名前で BB が参照されているので、バックボーンが使用されていることがわかります。

  3. この回避策をフローのプッシュ ボタンにするには、XDC 制約を次のように追加する必要があります。

  4. set_property route 
    { IOB_IBUF0 LIOI_I0 LIOI_ILOGIC0_D IOI_ILOGIC0_O LIOI_I2GCLK_TOP0 HCLK_CMT_MUX_OUT_FREQ_REF0 HCLK_CMT_FREQ_REF_NS0 MMCM_CLK_FREQ_BB_REBUF0_NS PLL_CLK_FREQ_BB0_NS  { MMCM_CLK_FREQ_BB_REBUF0_NS PLL_CLK_FREQ_BB0_NS CMT_R_LOWER_B_CLK_FREQ_BB3 CMT_LR_LOWER_B_MMCM_CLKIN1 }  CMT_TOP_R_UPPER_T_FREQ_BB0 CMT_TOP_R_UPPER_T_PLLE2_CLKIN1 } [get_nets clk_in1]


これを追加すると、デザインがインプリメントされ、ビットストリーム生成が可能になります。

このアンサーは 2013.4 デザインにも適用されます。

改訂履歴

2014/05/07 - 初版


AR# 60480
日付 06/19/2014
ステータス アクティブ
種類 既知の問題
ツール
IP