分数分周による周波数合成

Versal アダプティブ SoC クロッキング リソース アーキテクチャ マニュアル (AM003)

Document ID
AM003
Release Date
2023-05-16
Revision
v1.5 日本語

UltraScale および UltraScale+ デバイスの分数分周 (解像度 0.125) は、Versal アダプティブ SoC ではフィードバック パスの分数シグマデルタ変調器 (SDM) に置き換えられました。6 ビット分解能の分周器が追加されたことで、UltraScale デバイスよりも細粒度の出力クロックを生成できます。MMCM のジッター性能は、整数モードで使用した場合に最大となります。M+F の小数部を 0 に設定すると、自動的に整数モードが選択されます。MMCM を分数モードで動作させる場合、VCO をアプリケーションで可能な最大周波数で動作させる必要があります。次に、このメカニズムの説明としていくつかの例を示しますが、分数出力周波数が必要な場合はクロッキング ウィザードを使用すると自動的に計算が実行されます。分数分周の場合は、次の属性を使用します。

CLKFBOUT_FRACT : integer := 0;
CLKFBOUT_MULT : integer := 42;

ここでは分数分周の説明に主眼を置いているため、次の例では M、D、およびその他の値の計算手順は省略しています。

例 1

FCLKIN = 27MHz に対し、目標周波数を FCLKOUT = 296.703MHz とする場合。

  • D = 10、M = 109




  • 次式より、FVCO = 2967.046875MHz


  • すなわち、FCLKOUT = 296.7046875MHz (丸め後の値は 296.705MHz)

上記の計算で使用した VCO 周波数の値は、出力クロック周波数 296.703MHz を生成可能な VCO 周波数の最大値ではありません。そこで、VCO 周波数が最大となるように再計算します。

  • D = 14、M = 153




  • FVCO= 4153.78125MHz
  • すなわち、FCLKOUT = 296.69866MHz (丸め後の値は 296.699MHz)

最初の計算結果は 296.7046875MHz で、2 番目の計算結果は 296.69866MHz です。いずれの設定も、目標周波数 296.703MHz に対して少し誤差がありますが、これは分数モードの分解能に理由があります。周波数の誤差を小さくするには、より高い基準クロック周波数を使用する必要があります。

例 2

FCLKIN = 30MHz に対し、目標周波数を FCLKOUT = 335MHz とする場合。
  • D = 1、M = 100、O = 9




  • 次式より、FVCO = 3015MHz

すなわち、FCLKOUT = 335MHz

例 3





  • FCLKIN = 50MHz に対し、目標周波数を FCLKOUT = 212.3457MHz とする場合。
  • FVCOmax = 4320MHz
  • O が次の値の場合の、最大 VCO 周波数を求めます。
  • rounddown(3420/212.3457) = 20




  • D = 1 とすると




  • F は整数値とする必要があるため、rounddownFIDEAL すなわち F=60

実際の FCLKOUT を求めるため、再計算します。





目標周波数は 212.3457MHz です。