スペクトラム拡散クロック生成

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

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

スペクトラム拡散クロック生成 (SSCG) は、エレクトロニクス デバイスで生成される EMI のスペクトル密度を低減するためその製造者の間で広く使用されています。EMI 放出レベルは、近接するほかの電子デバイスの動作に影響を与えるレベルにならないようにする必要があります。たとえば、電話がビデオ ディスプレイの隣にあっても通話の質が落ちるようなことがあってはなりません。同様に、ディスプレイも電話使用中に影響を受けることがないようにします。

電磁適合性 (EMC) に関する規制は、こうした電磁妨害を引き起こすノイズや EMI を抑制するためのものです。EMC 要件に適合させるための一般的手段としては、高額なシールド、フェライト ビーズ、チョークなどを追加する方法があります。こうした方法は、PCB の配線を複雑にしたり、製品開発サイクルが長くなるなどして、最終製品のコストに影響する可能性があります。

SSCG は、電磁エネルギーを幅広い周波数帯域に拡散させ、狭い周波数の幅の中で計測された電磁界強度を効果的に抑制します。ある周波数でのピーク電磁エネルギーは SSCG 出力をモジュール化することで低減されます。

SS_EN が TRUE に設定されている場合、MMCME5 は固定周波数のオシレーターからスペクトラム拡散クロックを生成できます (下図参照)。MMCME5 内では、VCO 周波数は CLKFBOUT および CLKOUT[6:4,1,0] と共に変調されます。クロック出力 CLKOUT[3:2] は変調周期の制御に使用されますが、一般的な使用では利用できません。クロック周波数が低速で調整される限り、MMCME5 の周期ジッターがスペクトラム拡散の影響を受けることはありません。MMCM には 4 つの拡散モード、CENTER_HIGH、CENTER_LOW、DOWN_HIGH、および DOWN_LOW があります。HIGH と LOW は拡散幅を示します。CENTER は公称周波数の上側と下側に同じだけ拡散します。DOWN はより低い周波数にのみ拡散します。次の図に、これらのモードを示します。

図 1. センター拡散変調

変調周期 SS_MOD_PERIOD を調整することで、ユーザーは、ソフトウェア ツールが MMCME5 の設定に基づき最も近い変調周期を選択するように指定できます。変調周波数が 30kHz の可聴周波数帯域よりも高い間は、スペクトラム拡散変調によって EMI が低減されます。一般に、スペクトラム拡散の影響を最小限に抑えるためにより低い変調周波数が使用されます。周波数偏差を SS_MODE (CENTER_HIGH または DOWN_HIGH) で大きくすると、相対的な EMI が削減されますが、周波数帯域が広くなったことによってシステム全体の動作へ影響が及ばないように注意が必要です (下図参照)。

図 2. センター拡散変調 (CENTER_LOW および CENTER_HIGH)

デザインにおける別のトレードオフとして、センター拡散またはダウン拡散のいずれを使用するかを決定することが考えられます。SS_MODE (DOWN_HIGH、DOWN_LOW) を選択すると、次の図に示すように低い周波数への拡散が可能です。DOWN_HIGH は、CENTER_LOW と類似した周波数偏差となります。

図 3. ダウン拡散変調

センター拡散クロック (CENTER_HIGH、CENTER_LOW) を使用する場合、平均出力周波数は公称周波数とほぼ同じです。ダウン拡散クロックを使用する場合、平均出力周波数は公称周波数より低くなります。つまり、いずれの場合もスペクトラム拡散クロックでは長時間にわたってスペクトラム拡散クロックが異なります (変調周波数)。このため、クロス クロック ドメインとスペクトラム拡散クロック ドメインをまたぐすべてのデータ信号および非データ信号に対して、適切なクロック乗せ換え対策を取る必要があります。2 つのクロック ドメイン間でデータを転送するには、非同期 FIFO を使用します。FIFO の深さは、クロックの変調周波数によって異なります。変調周波数が低いほど、FIFO を深くする必要があります。



ダウン拡散クロック (DOWN_LOW または DOWN_HIGH) を使用する場合、出力周波数は元のクロック周波数より低いため、何らかの対策をとらなければ FIFO がフルになってオーバーランしてしまいます。これを回避するには、スロットル制御付きの FIFO を使用する必要があります。デザインでスペクトラム拡散クロックを使用する場合、周波数偏差内の最も高い周波数でタイミングを満たすように実装する必要があります。次に例を示します。

  • たとえば入力クロック 100MHz のデザインでスペクトラム拡散クロックを CENTER_LOW に設定した場合、クロック拡散は ±1.15% となります。この場合、クロックが 100MHz + 1.15% = 101.15MHz となった場合にもデザインがタイミングを満たすようにする必要があります。
  • 同じ入力クロック 100MHz でも、スペクトラム拡散クロックを DOWN_HIGH に設定した場合、クロック拡散は 2.44% となります。この場合、スペクトラム拡散クロックは最大 100MHz – (–2.44%) = 102.44MHz に達します。

したがって、スペクトラム拡散クロックを使用するデザインでは、最も高いクロック周波数に合わせてデザインのタイミング制約を調整する必要があります。Vivado ツールでスタティック タイミング解析を実行する際に、スペクトラム拡散クロッキングによる周波数偏差は自動的に考慮されます。スペクトラム拡散クロックを使用するデザインでは、スタティック解析ツールは次の式を使用します。



ここで
  • TSj = 全システム ジッター
  • Dj = ディスクリート ジッター
  • PE = 位相誤差
  • SS = スペクトラム拡散

SS パラメーターは、属性やクロッキング ウィザードの設定値などのデザイン入力情報に基づいて Vivado で計算されます。

MMCM 内のロジックは、与えられた入力周波数および SS_MOD_PERIOD に基づいてスペクトラム拡散変調を制御します。変調周波数は 25 ~ 250kHz の間とし、入力周波数は 25 ~ 150MHz の間とする必要があります。LOW BANDWIDTH のみがサポートされます。また、入力周波数によって M と D の設定値が制限されます。次の表に、これらの制限と拡散および許容周波数を示します。

注記: 実際のデバイスでは、センター拡散変調波形が理想的な三角形から逸脱する場合がありますが、公称周波数への影響はありません。