2.2.11.1. 自動スイッチオーバー
FシリーズおよびIシリーズのI/O PLLでは、フル・コンフィグレーション可能なクロック・スイッチオーバー機能をサポートします。
現在のリファレンス・クロックが存在しない場合、クロック・センス・ブロックは、I/O PLLリファレンスのバックアップ・クロックに自動で切り替わります。クロックソースをバックアップ・クロックとして選択するには、デザイン内のI/O PLLの inclk1 ポートに接続します。
クロック・スイッチオーバー回路では、I/O PLLから3つのステータス信号 (clkbad0、clkbad1、およびactiveclock) を送信し、カスタムのスイッチオーバー回路をロジックアレイに実装します。
自動スイッチオーバー・モードでは、clkbad0 信号および clkbad1 信号によって2つのクロック入力のステータスを示します。この2つの信号がアサートされると、クロック・センス・ブロックでは、対応するクロック入力によるトグルの停止を検出します。inclk0 と inclk1 の間の周波数の差が20% を超える場合、この2つの信号は無効です。
activeclock 信号では、2つのクロック入力 (inclk0 または inclk1) のうち、どちらがI/O PLLリファレンス・クロックとして選択されているかを示します。2つのクロック入力の周波数の差が20% を超える場合、activeclock 信号のみが、有効なステータス信号です。
I/O PLLへの現在のリファレンス・クロックがトグルしなくなった場合は、スイッチオーバー回路を使用して、inclk0 と inclk1 の間の自動切り替えを行います。inclk0 と inclk1 クロック間での切り替えは、このクロックの一方に障害が生じ、他方が使用可能な場合、何度でも可能です。
例えば、アプリケーションでリファレンス・クロックと同じ周波数の冗長クロックが必要な場合、スイッチオーバー・ステートマシンで生成する信号 (clksw) によって、マルチプレクサ選択入力を制御します。この場合、inclk1 はI/O PLLリファレンス・クロックになります。
自動クロック・スイッチオーバー・モードを使用する場合、次の要件を満たしている必要があります。
- FPGAのコンフィグレーション時に両方のクロック入力が実行中である。
- 2つのクロック入力の周期の差が20% 以下である。
- 入力クロックが入力ジッター仕様およびI/O標準仕様を満たしている。
入力クロックのグリッチが発生すると、入力クロック間の周波数差が20% 以上になる場合があります。
現在のクロック入力のトグルが停止し、他のクロックもトグルしていない場合、スイッチオーバーは開始されず、clkbad[0..1] 信号は無効になります。両方のクロック入力の周波数が異なり、その周期差が20% 以内である場合、クロック・センス・ブロックにより、クロックのトグル停止が検出されます。ただし、I/O PLLのロックはスイッチオーバーの完了後に失われ、再ロックには時間がかかる場合があります。