AR# 34564

11.5 EDK - Clock_Generator v3.00.a と v3.02.a、Virtex-6 MMCM CLKFBOUT_MULT_F = 2、3、4 は無効

説明

Clock Generator v3.00.a

Virtex-6 デバイスをターゲットにしている場合、Clock Generator v3.00.a では MMCM にマップされる PLL が使用されます。

Clock Generator v3.02.a

MMCM カウンタ設定、位相シフト、および可変ファイン位相シフトのすべての設定の組み合わせによっては、ハードウェアで CLKOUTn 位相シフトが不正になることがあります。 詳細は (ザイリンクス アンサー 33849) を参照してください。この問題は、CLKFBOUT_MULT_F の値が 2、3、または 4 である Virtex-6 クロック ジェネレータ デザインに特に影響します。クロック ジェネレータでは、CLKFBOUT_MULT_F パラメータを使用して MMCM 内部の VCO 周波数が FPGA のスピード グレードに応じて最大になるようにします。VCO 周波数を高くすると、出力クロックのジッタが削減します。上位パラメータ設定の組み合わせによっては、クロック ジェネレータで CLKFBOUT_MULT_F が 2、3、または 4 に設定されます。たとえば、クロック ジェネレータの入力クロックの周波数が次の場合です。

表 1 : CLKFBOUT_MULT_F = 4

FPGA スピード グレードFrom (MHz)To (MHz)
-1240300
-2288360
-3320400


表 2 : CLKFBOUT_MULT_F = 3

FPGA スピード グレードFrom (MHz)To (MHz)
-1300400
-2360480
-3400533.3


表 3 : CLKFBOUT_MULT_F = 2

FPGA スピード グレードFrom (MHz)To (MHz)
-1400600
-2480720
-3533.3800


ISE 11.4 ツールではエラーが生成されず、ハードウェアで問題が検出されます。ISE 11.4.1 デザイン ツールでは、DRC エラーが生成されます。

ソリューション

Clock Generator v3.00.a

PLL が MMCM に自動的にマップされてしまう問題を防ぐには Clock Generator v3.02.a をできる限り使用してください。

Clock Generator v3.02.a

この問題を回避するには、CLKFBOUT_MULT_F パラメータが MMCM に対しても 2、3、4、に設定されないようにするため、Clock Generator の下位パラメータを使用して MMCM パラメータを手動で修正する必要があります。VCO 周波数、MMCM パラメータの値は、『Virtex-6 FPGA Clocking Resources User Guide』 (UG362) に従いそのままにしておきます。次の回避策は、CLKFBOUT_MULT_F = 4 と想定した例です。値が 2 および 3 の場合も同じ手順になります。

回避方法の手順 :

手順 1 : Clock Generator で生成されている MMCM での設定が CLKFBOUT_MULT_F = 4 に¥なっているかどうかを確認します。

XPS でデザインを開き、図 1 にあるように Clock Generator のコンフィギュレーションのダイアログ ボックスで [Insert low-level parameters in MHS file] チェック ボックスをオンにし、[OK] をクリックします。

図 1. Clock Generator のコンフィギュレーション ダイアログ ボックスの [Low-Level Parameter]

- MHS ファイルを開き、clock_generator インスタンス内でパラメータ C_MMCMn_CLKFBOUT_MULT_F (n = 0, ..., 3) を検索します。値が 4 になっている場合手動で変更する必要がありますが、そうでない場合は変更する必要はありません。

手順 2 : MHS ファイルで CLKFBOUT_MULT_F の値を変更します。

手動の変更が必要な場合は、clock_generator インスタンスで次のパラメータを検索します。

PARAMETER C_MMCMn_CLKFBOUT_MULT_F = 4.0
PARAMETER C_MMCMn_DIVCLK_DIVIDE = 2
PARAMETER C_MMCMn_CLKOUT0_DIVIDE_F = 2.0
PARAMETER C_MMCMn_CLKOUTm_DIVIDE = 2

ここで、n = 0, ..., 3 および m = 1, ..., 6 です。M と D、M と DO の比が保持されるようにパラメータを変更します。上記の例では、次のようになります。

PARAMETER C_MMCMn_CLKFBOUT_MULT_F = 8.0
PARAMETER C_MMCMn_DIVCLK_DIVIDE = 4
PARAMETER C_MMCMn_CLKOUT0_DIVIDE_F = 2.0
PARAMETER C_MMCMn_CLKOUTm_DIVIDE = 2

手順 3 : MHS ファイルで C_CLK_GEN の値を変更します。

手動の変更が必要な場合は、clock_generator インスタンスで次のパラメータを検索します。

PARAMETER C_CLK_GEN = UPDATE

値が UPDATE に設定されているか、MHS ファイルで指定されていません。この値を PASSED に変更します。

PARAMETER C_CLK_GEN = PASSED

これにより、手動で変更した clock_generator の下位パラメータ値が XPS フローで上書きされるのを回避できます。

clock_generator の下位パラメータ値を手動で変更した後は、XPS で clock_generator のコンフィギュレーション ダイアログ ボックスを開かないようにしてください。ダイアログ ボックスを開くと、clock_generator の下位パラメータ値が自動的に上書きされます。

AR# 34564
日付 03/15/2010
ステータス アクティブ
種類 一般
デバイス 詳細 概略
ツール
IP