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
- 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 です。