(57)【要約】【課題】少ない待ち時間で非同期のオシレータ信号間を切換えるオシレータ伝送切換回路を提供する。【解決手段】好ましくは、高速の切換回路３００は、１次オシレータ３１０のエッジに続いて直ちにブリッジ入力を入力することによって１次オシレータ３１０から２次オシレータ３１２への遷移をトリガし、２次オシレータ３１２の同じエッジが検出されるまでブリッジ入力にとどまり、２次オシレータ３１２へ切換える。好ましくは、ブリッジ入力は、１次オシレータ信号３１０が論理０または論理１でスタックしている状態に対応するように選択可能である。オシレータの変更は、障害検出回路３０６または外部信号によってトリガされてもよい。【選択図】図３
2005004739.tif 000002
【特許請求の範囲】
【請求項１】
オシレータ切換回路であって、
選択論理回路であって、前記選択論理回路からの出力として、１次オシレータ入力，２次オシレータ入力，およびブリッジ入力のうちの１つを選択し、前記１次オシレータ入力および２次オシレータ入力は非同期である選択論理回路と、
前記選択論理回路へ接続され、前記１次オシレータ入力から前記２次オシレータ入力への前記選択論理回路の出力の変更を制御する伝送制御論理回路と、を備え、
前記選択論理回路からの出力としての前記１次オシレータ入力の選択から前記選択論理回路からの出力としての前記ブリッジ入力の選択への第１の遷移によって前記選択論理回路の出力の変更が実行され、前記第１の遷移は前記ブリッジ入力が前記１次オシレータ入力と同じ論理レベルにある期間に行われ、前記第１の遷移は前記２次オシレータ入力の論理レベルから独立して実行され、
前記選択論理回路からの出力としての前記ブリッジ入力の選択から前記選択論理回路からの出力としての前記２次オシレータ入力の選択への第２の遷移によって前記選択論理回路の出力の変更がさらに実行され、前記第２の遷移は前記ブリッジ入力が前記２次オシレータ入力と同じ論理レベルにある期間に行われ、前記第２の遷移は前記１次オシレータ入力の論理レベルから独立して実行されるオシレータ切換回路。
【請求項２】
前記伝送制御論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更を制御し、
前記選択論理回路からの出力としての前記２次オシレータ入力の選択から前記選択論理回路からの出力としての前記ブリッジ入力の選択への第３の遷移によって、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更が実行され、前記第３の遷移は前記ブリッジ入力が前記２次オシレータ入力と同じ論理レベルにある期間に行われ、前記第３の遷移は前記１次オシレータ入力の論理レベルから独立して実行され、
前記選択論理回路からの出力としての前記ブリッジ入力の選択から前記選択論理回路からの出力としての前記１次オシレータ入力の選択への第４の遷移によって、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更がさらに実行され、前記第４の遷移は前記ブリッジ入力が前記１次オシレータ入力と同じ論理レベルにある期間に行われ、前記第４の遷移は前記２次オシレータ入力の論理レベルから独立して実行される請求項１に記載のオシレータ切換回路。
【請求項３】
前記伝送制御論理回路は、前記ブリッジ入力の論理レベルを選択的に設定するブリッジ入力切換論理回路を含む請求項１に記載のオシレータ切換回路。
【請求項４】
前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記伝送制御論理回路へ与える障害検出回路を、さらに備える請求項１に記載のオシレータ切換回路。
【請求項５】
前記オシレータ切換回路は、少なくとも１つの外部のオシレータ障害信号に応答してオシレータを切換える請求項１に記載のオシレータ切換回路。
【請求項６】
前記選択論理回路は第１，第２および第３の２入力マルチプレクサ回路を含み、前記第１および第２のマルチプレクサ回路は個々の入力を受信し、前記第１および第２のマルチプレクサ回路のそれぞれが個々の単一の出力を作り出し、前記第３のマルチプレクサ回路が前記第１および第２のマルチプレクサ回路の出力を受信して単一の出力を作り出し、前記第１および第２のマルチプレクサ回路がバランスされる請求項１に記載のオシレータ切換回路。
【請求項７】
前記伝送制御論理回路は、
前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記選択論理回路へ与える状態マシンと、
前記複数の記憶素子への入力を決定するための記憶素子入力論理回路と、を含む請求項１に記載のオシレータ切換回路。
【請求項８】
前記状態マシンの前記複数の記憶素子は複数の２ステージ・ラッチを含み、前記複数の２ステージ・ラッチの２ステージ・ラッチのそれぞれの個々のステージがクロック信号の異なった位相において入力を受信し、前記複数の２ステージ・ラッチのためのそれぞれのクロック信号が共通ソースから導出される請求項７に記載のオシレータ切換回路。
【請求項９】
前記１次オシレータ入力および２次オシレータ入力のうちの１つが前記共通ソースから導出される請求項８に記載のオシレータ切換回路。
【請求項１０】
前記共通ソースを入力として受信し、前記１次オシレータ入力および前記２次オシレータ入力のうちの１つを出力として作り出す周波数分割回路を、さらに備える請求項９に記載のオシレータ切換回路。
【請求項１１】
前記複数の状態は、少なくとも２つのブリッジ状態を含み、前記少なくとも２つのブリッジ状態は、前記ブリッジ入力が第１の固定論理レベルで保持される第１のブリッジ状態と、前記ブリッジ入力が第２の固定論理レベルで保持される第２のブリッジ状態とを含み、前記第２の固定論理レベルは前記第１の固定論理レベルと異なる請求項７に記載のオシレータ切換回路。
【請求項１２】
前記伝送制御論理回路は、高速の遷移論理回路をさらに含み、前記高速の遷移論理回路は、前記記憶素子の出力を一時的にバイパスして少なくとも１つの入力を前記選択論理回路へ直接与える請求項７に記載のオシレータ切換回路。
【請求項１３】
前記高速の遷移論理回路は、選択的に使用可能にできる請求項１２に記載のオシレータ切換回路。
【請求項１４】
オシレータ切換回路であって、
１次オシレータ入力および２次オシレータ入力と、
出力と、
前記１次および２次オシレータ入力と前記出力とに接続されたオシレータ切換論理回路であって、前記１次オシレータ入力および前記２次オシレータ入力を前記出力へ選択的に伝送し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の変更を制御し、第１の遷移およびこれに続く第２の遷移を実行することにより、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の前記変更を制御するオシレータ切換論理回路と、を備え、
前記第１の遷移は、前記出力への前記１次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第１の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第１の遷移は前記２次オシレータ入力と非同期で実行され、
前記第２の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第２の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第２の遷移は前記１次オシレータ入力と非同期で実行されるオシレータ切換回路。
【請求項１５】
前記オシレータ切換論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更をさらに制御し、第３の遷移およびこれに続く第４の遷移を実行することにより、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更を制御し、
前記第３の遷移は、前記出力への前記２次オシレータ入力の伝送から前記出力への前記内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは、前記第３の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第３の遷移は前記１次オシレータ入力と非同期で実行され、
前記第４の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記１次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第４の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第４の遷移は前記２次オシレータ入力と非同期で実行される請求項１４に記載のオシレータ切換回路。
【請求項１６】
前記オシレータ切換論理回路は、前記内部生成されたブリッジ・レベルの論理レベルを選択的に設定する請求項１４に記載のオシレータ切換回路。
【請求項１７】
前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記オシレータ切換論理回路へ与える障害検出回路を、さらに備える請求項１４に記載のオシレータ切換回路。
【請求項１８】
前記オシレータ切換論理回路は、
前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記オシレータ切換論理回路へ与える状態マシンと、
前記複数の記憶素子への入力を決定するための記憶素子入力論理回路と、を含む請求項１４に記載のオシレータ切換回路。
【請求項１９】
オシレータ切換回路であって、
１次オシレータ入力および２次オシレータ入力と、
出力と、
前記出力への前記１次オシレータ入力および２次オシレータ入力の伝送を選択的に制御し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の遷移を制御する切換制御論理回路と、を備え、前記切換制御論理回路は、前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力としてブリッジ論理レベルを選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記切換制御論理回路へ与える状態マシンと、前記複数の記憶素子への入力を決定する記憶素子入力論理回路とを含み、
前記状態マシンは、前記１次オシレータ入力から前記２次オシレータ入力への出力の前記遷移の際に、前記出力として前記１次オシレータ入力を選択している状態，少なくとも１つの前記ブリッジ状態，および前記出力として前記２次オシレータ入力を選択している状態をトラバースするオシレータ切換回路。
【請求項２０】
前記切換制御論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の遷移をさらに制御し、
前記状態マシンは、前記２次オシレータ入力から前記１次オシレータ入力への出力の前記遷移の際に、前記出力として前記２次オシレータ入力を選択している状態，少なくとも１つの前記ブリッジ状態，および前記出力として前記１次オシレータ入力を選択している状態をトラバースする請求項１９に記載のオシレータ切換回路。
【請求項２１】
前記複数の状態は少なくとも２つのブリッジ状態を含み、前記少なくとも２つのブリッジ状態は、前記ブリッジ入力が第１の固定論理レベルで保持される第１のブリッジ状態と、前記ブリッジ入力が第２の固定論理レベルで保持される第２のブリッジ状態とを含み、前記第２の固定論理レベルは前記第１の固定論理レベルと異なる請求項１９に記載のオシレータ切換回路。
【請求項２２】
前記切換制御論理回路は、前記２次オシレータ入力と非同期で、前記出力への前記１次オシレータ入力の伝送から前記出力への前記ブリッジ・レベルの伝送への遷移を実行し、
前記切換制御論理回路は、前記１次オシレータ入力と非同期で、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移を実行する請求項１９に記載のオシレータ切換回路。
【請求項２３】
前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記切換制御論理回路へ与える障害検出回路をさらに備える請求項１９に記載のオシレータ切換回路。
【請求項２４】
前記状態マシンの前記複数の記憶素子は複数の２ステージ・ラッチを含み、前記複数の２ステージ・ラッチの２ステージ・ラッチのそれぞれ個々のステージがクロック信号の異なった位相において入力を受信し、前記複数の２ステージ・ラッチのためのそれぞれのクロック信号が共通ソースから導出される請求項１９に記載のオシレータ切換回路。
【請求項２５】
前記１次オシレータ入力および２次オシレータ入力のうちの１つが前記共通ソースから導出される請求項２４に記載のオシレータ切換回路。
【請求項２６】
周波数分割回路をさらに備え、前記周波数分割回路は、前記共通ソースを入力として受信し、前記１次オシレータ入力および前記２次オシレータ入力のうちの１つを出力として作り出す請求項２５に記載のオシレータ切換回路。
【請求項２７】
前記切換制御論理回路は、高速の遷移論理回路をさらに含み、前記高速の遷移論理回路は、前記記憶素子の出力を一時的にバイパスし、少なくとも１つの入力を前記切換制御論理回路へ直接与える請求項１９に記載のオシレータ切換回路。
【請求項２８】
前記高速の遷移論理回路は、選択的に使用可能にできる請求項２７に記載のオシレータ切換回路。
【請求項２９】
ディジタル・データ処理装置のための集積回路であって、
前記ディジタル・データ処理装置の少なくとも１つの機能を実行するための複数の論理回路と、
前記複数の論理回路の少なくとも一部へオシレータ信号を与えるためのオシレータ切換回路とを備え、前記オシレータ切換回路は、
１次オシレータ入力および２次オシレータ入力と、
出力と、
前記１次および２次オシレータ入力と、前記出力とへ接続されたオシレータ切換論理回路とを含み、前記オシレータ切換論理回路は、前記１次オシレータ入力および前記２次オシレータ入力を前記出力へ選択的に伝送し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の変更を制御し、第１の遷移とこれに続く第２の遷移とを実行することにより、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の前記変更を制御し、
前記第１の遷移は、前記出力への前記１次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第１の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第１の遷移は前記２次オシレータ入力と非同期で実行され、
前記第２の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第２の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第２の遷移は前記１次オシレータ入力と非同期で実行される集積回路。
【請求項３０】
前記オシレータ切換論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更をさらに制御し、第３の遷移とこれに続く第４の遷移とを実行することにより、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更を制御し、
前記第３の遷移は前記出力への前記２次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第３の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第３の遷移は前記１次オシレータ入力と非同期で実行され、
前記第４の遷移は前記出力への前記ブリッジ・レベルの伝送から前記出力への前記１次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第４の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第４の遷移は前記２次オシレータ入力と非同期で実行される請求項２９に記載の集積回路。
【請求項３１】
前記オシレータ切換論理回路は、前記内部生成されたブリッジ・レベルの論理レベルを選択的に設定する請求項２９に記載の集積回路。
【請求項３２】
前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記オシレータ切換論理回路へ与える障害検出回路を、さらに備える請求項２９に記載の集積回路。
【請求項３３】
前記オシレータ切換論理回路は、
前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記オシレータ切換論理回路へ与える状態マシンと、
前記複数の記憶素子への入力を決定する記憶素子入力論理回路とを含む請求項２９に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル・データ処理ハードウェアに関し、特に、ディジタル・データ処理システムのコンポーネントにクロック信号を伝送する伝送回路の設計に関する。
【背景技術】
【０００２】
２０世紀の後半に情報革命として知られる現象が始まった。情報革命は、どの出来事または事件よりも広範囲の歴史的な発展であるが、ディジタル電子計算機以上に情報革命を象徴するに至った装置はない。コンピュータ・システムの発展は、確かに革命であった。毎年、コンピュータ・システムがより高速になり、より多くのデータを格納し、より多くのアプリケーションをユーザに提供した。
【０００３】
現代のコンピュータ・システムは、一般的に、中央演算処理装置（ＣＰＵ）と、情報を格納、検索、および転送するために必要なサポート・ハードウェア例えば通信バスおよびメモリとを含む。コンピュータ・システムは、また、外部世界（outside world）と通信するために必要なハードウェア、例えば入出力コントローラまたはストレージ・コントローラ、およびこれらに接続された装置、例えばキーボード，モニタ，磁気テープ・ドライブ，ディスク・ドライブ，ネットワークに接続された通信回線などを含む。ＣＰＵは、コンピュータ・システムの心臓部である。ＣＰＵはコンピュータ・プログラムを構成する命令を実行し、他のシステム・コンポーネントの動作を指示する。
【０００４】
コンピュータのハードウェアの観点からは、大部分のシステムは、基本的に同じように動作する。プロセッサは、算術，論理比較およびあるロケーションから他のロケーションへのデータの移動のような非常に単純な演算の限定されたセットを実行できる。しかしながら、それぞれの演算は極めて短時間に実行される。膨大な数のこれらの単純な演算を実行するようコンピュータに指示するプログラムは、コンピュータが複雑なことを行っているという錯覚を与える。コンピュータ・システムの新たなもしくは改良された機能としてユーザによって認められるものは、非常に単純な演算の同じセットを基本的に実行するが、それをはるかに高速で行うことによって可能になる。したがって、コンピュータ・システムに対する改良を持続するためには、これらのシステムを常により高速にすることが要求される。
【０００５】
ディジタル・データ処理装置は、“クロック（clock）”として一般的に知られている定周波発振器からの信号によって状態変更が統制される逐次的（sequential）状態マシンである。実際に、大規模コンピュータ・システムは、複数のクロックを有し得る。コンピュータ・システムの全体の速度（スループットとも呼ばれる）は、時間単位ごとに実行される演算の数として大まかに測定可能である。概念上、システム速度に対する全ての可能な改良のうちで最も単純なものは、様々なコンポーネントのクロック速度、特にプロセッサのクロック速度を上げることである。例えば、全てが２倍の速さで実行され、それ以外の点では正確に同じように作動する場合には、システムは、一定のタスクを半分の時間で実行することになる。
【０００６】
クロック速度は、様々な設計パラメータによって制限されるが、特に、クロック・ラインの伝送長さによって多くの場合制限される。集積回路チップ内部のみに配布されるクロック信号は、比較的高周波で動作することができる。しかしながら、物理的により遠隔のコンポーネント、例えば電子回路カード・アセンブリ上の複数のチップ、または共通マザーボードに接続された複数のカード・アセンブリ、あるいは個別のパッケージ・ユニット内の複数のカード・アセンブリもしくは同種のデバイスへクロック信号が配布される時に、クロックの速度を遅くすることが一般的に不可避である。複数の個別のコンポーネントから構成された初期のコンピュータ・プロセッサは、コンポーネントのサイズを縮小し、コンポーネントの数を減らし、最終的には単一チップ上の集積回路として全体のプロセッサをパッケージすることにより、著しい速度の向上が可能であった。サイズの縮小は、プロセッサのクロック速度の増加を可能にした。
【０００７】
大規模コンピュータ・システムは、一般的に、複数の物理的なコンポーネントを含み、これらのコンポーネントの一部は、異なった電子回路カード・アセンブリ内または異なったハウジング内に物理的に配置されることがある。加えて、全ての単一ディジタル・コンポーネントの内部の設計（および最高クロック周波数）は変化し得る。共通の汎用（universal）クロック周波数が全体のシステムに対して使用される場合には、汎用クロック周波数はシステムの最も遅い要素に対応するために十分に遅くなければならず、より高速のコンポーネントの速度を遅くさせてこの共通周波数に一致させることが必要になる。さらに、複数の異なるタイプのコンポーネントの接続をサポートすることが望ましいので、全てのシステム要素の特性を予め知ることは困難であることもある。これらの理由で、コンピュータ・システムの様々なコンポーネントは、コンポーネント自身によって一般に生成される異なった個々の内部クロック周波数に基づいて動作するように一般的に設計される。
【０００８】
異なるコンポーネントにおける個別の非同期クロックは、それぞれのコンポーネントが他のコンポーネントに留意せずに自身の機能を実行する限り問題ないであろう。しかしながら、あるコンポーネントから他のコンポーネントへデータを伝送すべき場合には、少なくともある程度の同期が通信のために一般的に必要とされる。これは、コンポーネントのうちの少なくとも１つが、バスのような通信媒体に対してタイミングを調節するために外部で生成されたクロック信号を受信することになるということを意味する。コンポーネント内部の内部論理回路の多くは、この外部クロック信号を使用しないことになるが、外部通信インターフェースに関連したディジタル論理回路の少なくとも一部は、外部クロック信号によって駆動されることになる。
【０００９】
様々な理由で、外部クロック信号が使用できないまたは信頼できないことがある。例えば、システムの初期のパワーアップおよび／または自己診断テストの際に、外部クロック信号を生成することを予定されたコンポーネントよりも前に外部クロック信号を受信することを予定されたコンポーネントが作動可能になることがある。代わりに、外部クロック信号を生成するコンポーネント上で実行されるサービスおよび保守動作が、クロック信号を一時的に脱落または破損させることがある。他のデバイス特に同じ通信バスを共用するデバイス上でのサービスまたは保守動作を含む様々な他のノイズ源からのノイズは、同種の効果を有することがある。
【００１０】
理論上、脱落または劣化した外部クロック信号の影響は、信号が同期させる通信媒体に限られる。しかしながら、これは必ずしも事実とは限らない。脱落または劣化したクロック信号は、インターフェース論理回路に対する予測できない影響を有することがあり、これは、一部のケースにおいて、外部クロック信号に同期していないコンポーネントの一部に予期しない問題を生じさせ得る。
【００１１】
単一システム環境において様々な異機種のデバイスをサポートする必要性が大きくなるにつれて、およびシステムの不変の可用性および並行保守に対する要求が大きくなるにつれて、配布されたクロック信号が脱落または劣化し得る状況がさらに非常に多くなることが予想できる。システムがクロック信号の脱落または劣化からできる限り安全に（gracefully）リカバリすることが望ましい。しかしながら、ますます増大するシステム・コンポーネントの異種性と環境の多様性とが、脱落または劣化したクロックの結果の全てを予測することをますます困難にする。したがって、劣化したクロック信号の結果を阻止または軽減する改良された手法に対する必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
オシレータ伝送切換回路は、少ない待ち時間で非同期のオシレータ信号間を切換える。
【課題を解決するための手段】
【００１３】
好適な実施の形態の一側面において、切換回路は動作モードを有し、それによって１次オシレータから２次オシレータへの遷移の際に、切換回路は、１次オシレータのエッジに続いて直ちにブリッジ入力へ最初に遷移し、２次オシレータの同じエッジが検出されるまでブリッジ入力において出力を保持し、この時点で、出力が２次オシレータへ切換わる。
【００１４】
好適な実施の形態の他の側面において、切換回路の制御部は、状態を記録する好ましくは２ステージ・ラッチである複数の記憶素子における状態マシンとして実施され、このラッチは、１次オシレータ入力，２次オシレータ入力，およびブリッジ入力の間で選択するために選択論理回路へ制御入力を与える。好ましくは、高速の遷移回路（高速のセット／リセット論理回路と呼ばれる）は、ある状態から他の状態へのより高速の遷移のために一定の条件のもとでラッチ出力をバイパスする機能を与える。
【００１５】
好ましくは、ブリッジ入力の論理レベルは、１次オシレータ信号が論理０または論理１でスタックしている状態に対応するように選択可能である。
【００１６】
好適な実施の形態において、障害検出回路は１次オシレータ信号の損失または劣化を検出し、オシレータ伝送切換回路を使用して代わりのオシレータ信号への切換を自動的にトリガする。検出回路は、また、１次オシレータ信号が復元された時に１次オシレータ信号への復帰をトリガすることができる。好ましくは、別個の外部信号が、同様に、あるオシレータから別のオシレータへの切換をトリガすることができる。
【００１７】
本発明の好適な実施の形態に係るオシレータ伝送切換回路は、したがって、様々な異なった非同期の環境およびその原因となる状態のもとで、あるオシレータ信号から別のオシレータ信号への比較的シームレスで高速の切換をサポートし、オシレータ信号に依存する下流の論理回路に対する中断を最小化する。
【００１８】
本発明の構成および動作に関する詳細は、同じ符号が同じ部分を示す添付の図面を参照して最も良く理解することができる。
【発明を実施するための最良の形態】
【００１９】
同じ符号が種々の図面を通して同じ部分を示す図面を参照すると、図１は、本発明の好適な実施の形態に係るオシレータ切換および伝送装置を利用するコンピュータ・システム１００の主要なハードウェア・コンポーネントのハイレベル図である。機能レベルにおいて、システム１００の主要なコンポーネントが破線で図１に略述して示され、これらのコンポーネントは、１つ以上の中央演算処理装置（ＣＰＵ）１０１，メイン・メモリ１０２，サービス・プロセッサ１０３，端末インターフェース１０６，ストレージ・インターフェース１０７，Ｉ／Ｏデバイス・インターフェース１０８，および通信／ネットワーク・インターフェース１０９を含み、これらの全ては、１つ以上のバス１０５によってコンポーネント間通信のために接続される。
【００２０】
ＣＰＵ１０１は、メモリ１０２に格納された命令を実行する１つ以上の汎用プログラマブル・プロセッサであり、システム１００は、単一のＣＰＵもしくは複数のＣＰＵ、あるいは図１の機能ＣＰＵ１０１によって集合的に表される代わりのＣＰＵを含むことができ、１つ以上のレベルのオンボード・キャッシュ（図示せず）を含むことができる。一般的には、複数のパワー・ドメインを有する比較的大規模なシステムは、複数のＣＰＵを含むことになる。メモリ１０２は、データおよびプログラムを記憶するためのランダム・アクセス半導体メモリである。メモリ１０２は、概念的には単一のモノリシック・エンティティであり、メモリは、キャッシュと他のメモリ・デバイスとから成る階層構造で多くの場合構成されることが分かっている。加えて、メモリ１０２は、様々ないわゆるＮＵＭＡ（non-uniform memory access）コンピュータ・システム・アーキテクチャのいずれかにおけるように、特定のＣＰＵまたはＣＰＵのセットおよび特定のバスに関連した部分に分けることができる。
【００２１】
端末インターフェース１０６は、１つ以上のユーザ端末１２１Ａ〜１２１Ｃ（包括的に１２１と称される）の取付けのための接続を提供し、様々な方法で実施可能である。多くの大規模サーバ・コンピュータ・システム（メインフレーム）は、一般に１つ以上の電子回路カード上にある端末インターフェースＩ／Ｏプロセッサによって複数の端末の直接接続をサポートする。代わりに、インターフェース１０６は、端末１２１が接続されたローカル・エリア・ネットワークへの接続を提供してもよい。様々な他の代案が可能である。データ・ストレージ・インターフェース１０７は、１つ以上のデータ・ストレージ・デバイス１２２Ａ〜１２２Ｃ（包括的に１２２と称される）へのインターフェースを提供し、これらのデータ・ストレージ・デバイス１２２は、好ましくは回転磁気ハード・ディスク・ドライブ装置であるが、他のタイプのデータ・ストレージ・デバイスを使用することもできる。Ｉ／Ｏおよび他のデバイスのインターフェース１０８は、様々な他の入出力デバイスまたは他のタイプのデバイスのいずれかへのインターフェースを提供する。２つのこのようなデバイスであるプリンタ１２３およびＦＡＸ装置１２４が図１の代表的な実施形態に示される。異なるタイプとすることができる多くの他のこのようなデバイスが存在し得ることが理解される。通信インターフェース１０９は、システム１００から他のディジタル・デバイスおよびコンピュータ・システムへの１つ以上の通信パスを提供する。このような通信パスは、例えばインターネット，ローカル・エリア・ネットワーク，または他のネットワークのような１つ以上のネットワーク１２６を含んでもよく、あるいは、リモート・デバイス通信回線，ワイヤレス接続などを含んでもよい。
【００２２】
バス１０５は、様々なシステム・コンポーネントの間に通信パスを提供する。単一の概念的バス・エンティティ１０５が図１に表されるが、一般的なコンピュータ・システムは、多くの場合複雑なトポロジで構成された複数のバス、例えば階層型，スター型もしくはウェブ型構成の二地点間リンク，複数の階層型バス，パラレル・パスおよび冗長パスなどを含み得ることが理解でき、個別のバスが、アドレス情報またはステータス情報のような一定の情報を通信するために存在し得ることが理解できる。
【００２３】
物理的に、主要な機能ユニットは、１つ以上の現場交換可能ユニット（ＦＲＵ）から一般的に構成される。多くの場合、このような現場交換可能ユニットは、電子回路カード・アセンブリである。しかしながら、物理装置は電子回路カード・アセンブリである必要はない。物理装置は、代わりに、ディスク・ドライブ・ストレージ・デバイス１２２，端末１２１，電源装置などのようなコンポーネントであってもよい。加えて、単一の物理装置は、自身の内部に１つ以上のＦＲＵを含むことができる。より大規模のシステムについては、ＣＰＵ１０１またはメモリ１０２のような単一の主要な機能コンポーネントが、多くの場合、電子回路カード・アセンブリの形式で複数の現場交換可能ユニットを含むことになるが、代わりに、１つよりも多くの主要な機能コンポーネントが単一のＦＲＵに存在することが可能である。図１において、４つの回路カード（ＦＲＵ）１１１Ａ〜１１１Ｄを含むようにＣＰＵ１０１が示され、４つの回路カード（ＦＲＵ）のそれぞれは、１つ以上のプロセッサを含むことができる。６つの回路カード１１２Ａ〜１１２Ｆを含むようにメモリ１０２が示され、単一の回路カード１１３を含むようにサービス・プロセッサ１０３が示され、３つの回路カード１１５Ａ〜１１５Ｃを含むようにバス１０５が示され、３つの回路カード１１６Ａ〜１１６Ｃを含むように端末インターフェース１０６が示され、２つの回路カード１１７Ａ〜１１７Ｂを含むようにストレージ・インターフェース１０７が示され、２つの回路カード１１８Ａ〜１１８Ｂを含むようにＩ／Ｏおよび他のインターフェース１０８が示され、２つの回路カード１１９Ａ〜１１９Ｂを含むように通信インターフェース１０９が示される。
【００２４】
図１は、ハイレベルにおける代表的なシステム１００の典型的な主要なコンポーネントを示すことが意図され、個々のコンポーネントは図１に示されるものよりも複雑であってもよく、このような機能ユニットおよび物理装置の数，タイプ，および構成は著しく変化してもよいことを理解されたい。さらに、図１に示される全てのコンポーネントが個別のコンピュータ・システムに存在するわけではないことがあり、図１に示すものに加えて他のコンポーネントが存在してもよいことを理解されたい。複数の端末を有する複数ユーザ・システムとしてシステム１００が示されるが、代わりに、システム１００は、単一のユーザ・ディスプレイおよびキーボード入力のみを一般的に含む単一ユーザ・システムであってもよく、あるいは、直接的なユーザ・インターフェースをほとんどまたは全く有さないが、他のコンピュータ・システム（クライアント）からの要求を受信するサーバもしくは同種のデバイスであってもよい。
【００２５】
図２は、好適な実施の形態に係るコンピュータ・システム１００内の物理装置の階層構造の簡略図である。図２に示されるように、電子回路カード・アセンブリ２０１は、複数の集積回路チップ・モジュール２３１〜２３４と他のコンポーネントとを含む。“カード（card）”が図２に示されてこの実施の形態で説明されるが、階層構造のこのレベルにおけるハードウェア・ユニットはカード以外のものでもよいことを理解されたい。例えば、ハードウェア・ユニットは、回転ディスク・ドライブ・ストレージ装置または他のハードウェア・コンポーネントとすることができる。複数のカード２０１〜２０５が、ここでは“ドロワ（drawer）”と称される単一のカード・フレーム・アセンブリ２１１内に収容される。複数のドロワ２１１〜２１４が単一の“ラック（rack）”２２１内に収容される。好適な実施の形態において、ラックは、複数のドロワと補助コンポーネント例えば電力配分システムおよび冷却システムを収容する大容量自立式キャビネット（large freestanding cabinet）である。ドロワは、アクセスのためにラックから引き出すことができる物理的ドロワである。好適な実施の形態に係る物理装置の階層構造は、大規模コンピュータ・システムについての１つの物理的パッケージ設計の実施例にすぎず、階層構造のハードウェア・コンポーネントのレベルの数は変化してもよく、個々のハードウェア・コンポーネントの設計は変化してもよく、多くの他の変形が可能であることを理解されたい。
【００２６】
代表的な実施形態において、システム１００は複数のパワー・ドメインを含む。すなわち、複数の電源機構が物理的システム・コンポーネントの個別のセットに電力を供給する。特に、好適な実施の形態において、それぞれのラック２２１〜２２８は、独自の電力供給および電力配分ハードウェア（図示せず）を有する。パワー・ドメインは別々に設定されてもよく、例えば、それぞれのドロワが独自のパワー・ドメインを有してもよいことが理解できる。さらに、本発明に係るオシレータの切換を使用するコンピュータ・システムは、単一の共通パワー・ドメインのみを有してもよいことが理解できる。
【００２７】
オシレータは、様々な物理コンポーネントによる使用のために様々な物理レベルにおいて生成されてもよい。例えば、個々の集積回路モジュール２３１〜２３４は独自のローカル・オシレータを含んでもよく、それぞれのカード２０１〜２０５は、全てのカード・コンポーネントによる使用のためのオシレータを含んでもよく、それぞれのドロワ２１１〜２１４またはラックは、組み込まれたコンポーネントによる使用のためのオシレータを含んでもよく、最後に、コンポーネントの１つは、全体のシステムによる使用のためのマスタ・オシレータ信号を生成してもよい。異なるオシレータ信号が異なる目的で使用される。例えば、集積回路チップ内部のローカル・オシレータは、当該チップ内部の内部論理回路のためのみに用いられてもよい。複数のコンポーネントによって共用されるオシレータは、コンポーネント間通信のために使用でき、ローカルに生成されたオシレータをよりグローバルなクロック信号に同期させるために使用できる。
【００２８】
様々な条件のもとで、コンポーネント内部の一定の論理回路を駆動するために一般に用いられる比較的グローバルなオシレータ信号が使用不可であると同時に、比較的ローカルな信号がバックアップとして使用可能であることが起こり得る。例えば、複数のパワー・ドメインが存在する場合に、グローバルなオシレータが、初期化シーケンスの際に未だパワーアップされていないかもしくは動作中にパワーを失った異なるパワー・ドメイン内で生成されることがある。代わりに、並行保守（concurrent maintenance）動作が、一部のコンポーネントへのパワーをシャットオフさせてオシレータの損失を生じさせることがあり、あるいは、オシレータの一時割り込みもしくはオシレータのための配分ライン（distribution line）上のノイズを生じさせることがある。これらのおよび他の状態において、グローバルな信号が使用可能になるまで、バックアップ・オシレータ・ソース（一般的には起源がローカルである）へシームレスに切換可能であることが望ましい。したがって、好適な実施の形態によれば、オシレータ切換回路が集積回路モジュールに埋め込まれ、代わりのオシレータ・ソースへの少ない待ち時間のシームレス切換を提供し、１次オシレータ・ソースが使用可能になったときに１次オシレータ・ソースに再び切換わる。
【００２９】
図３は、本発明の好適な実施の形態に係る少ない待ち時間のオシレータ切換回路３００の主要なコンポーネントを示すハイレベル回路図である。回路３００は、４つの主要な信号ライン入力、すなわち、１次オシレータ入力ライン（PriOsc）３１０，１次オシレータ・パワー・グッド・ライン（PriPGood）３１１，２次オシレータ入力ライン（SecOscIn）３１２，および２次オシレータ・パワー・グッド・ライン（SecPGood）３１３を受信する。PriOsc３１０およびSecOscIn３１２は、２つの入力オシレータ信号である。好適な実施の形態において、PriOsc３１０およびSecOscIn３１２はそれぞれおよそ５０％のデューティ・サイクルを有するが、ここで述べる切換回路は、微調整により、異なるオシレータ・パラメータによって使用できることが仮定される。PriPGoodライン３１１およびSecPGoodライン３１３は、それぞれ、１次オシレータ・パワー・ドメインおよび２次オシレータ・パワー・ドメインにおいてパワーが安定していることを示すステータス・ラインである。PriPGoodライン３１１は、１次パワー・ドメインにおける差し迫ったパワー中断、あるいは１次オシレータにおける他の実際のもしくは差し迫った障害状態を報知するためにも使用できる。
【００３０】
選択論理回路３０１は、出力ライン３１４上の切換出力として３つの入力ラインのうちの１つを選択するマルチプレクサとして機能する。選択論理回路３０１への３つの入力は、PriOsc３１０と、SecOscIn３１２から導出されたオシレータ信号と、あるオシレータ信号から他のオシレータ信号へ状態を切換えるときに用いられるブリッジ信号とである。選択論理回路３０１は、伝送切換制御論理回路３０２によって制御される。好ましくは、制御論理回路３０２は、ブリッジ・スイッチ３０３と、伝送状態マシン３０４と、高速のセット／リセット論理回路３０５とを含む。ブリッジ・スイッチ３０３は、選択論理回路３０１へのブリッジ信号の状態を決定する。このブリッジ状態は、標準的に論理‘１’であるが、スタック‘０’障害が存在する場合には、論理‘０’がブリッジ状態として用いられる。伝送状態マシン（ＴＳＭ）３０４は、入力ラインのステータスをモニタし、定義済み入力に応答して状態を切換え、選択論理回路３０１によって行われるライン選択のシーケンスを制御する。高速のセット／リセット論理回路３０５は、最小の待ち時間でブリッジ状態を通過する遷移をトリガする。
【００３１】
一般的な環境において、１次オシレータ（PriOsc）３１０は外部のパワー・ドメイン内の外部ソースからのラインであり、２次オシレータ（SecOscIn）３１２は、ローカル・パワー・ドメイン上のローカルに生成されたオシレータ・ソースであるが、これは必ずしも事実である必要はない。この環境において、１次オシレータ（PriOsc）３１０は外部ソースへの同期のために標準動作モードで使用され、２次オシレータ（SecOscIn）信号３１２はバックアップとしての使用に利用できる。２次オシレータ（SecOscIn）３１２は、１次オシレータ（PriOsc）３１０に対するバックアップ以上の追加の目的のためにシステム内部で用いることもできる。例えば、集積回路チップのような論理モジュールは、当該論理モジュール内部の一定の内部論理回路をクロックする標準の動作の際に２次オシレータ(SecOscIn)３１２を使用し、他の論理モジュールとの通信を同期させるインターフェース論理回路のために１次オシレータ(PriOsc)３１０を使用することができる。このような場合には、１次オシレータ(PriOsc)３１０を標準的に使用するインターフェース論理回路は、２次オシレータ(SecOscIn)３１２によって部分的な（劣化するが）機能をなお保持できる。したがって、好適な実施の形態において、１次オシレータ(PriOsc)信号３１０は、使用可能かつ信頼できるとみなされるときはいつでもスイッチを通過し、１次オシレータ(PriOsc)信号３１０に障害があるときのみ、２次オシレータ(SecOscIn)信号３１２がスイッチを通過するという仮定のもとに回路３００が動作する。
【００３２】
任意の周波数分割器３０７を用いて２次オシレータ入力（SecOscIn）信号３１２の周波数を分割し、選択論理回路３０１への入力でありここではSecOscDivと示されるオシレータ信号３１５を作り出す。１次オシレータ(PriOsc)信号３１０は、２次オシレータ(SecOscIn)信号３１２より遠隔のソースから生じており、より広範囲に伝えられ、より異機種のデバイスのセットへ伝えられ得ることが一般的に仮定されるので、１次オシレータ(PriOsc)信号３１０は、２次オシレータ入力（SecOscIn）３１２より著しく低い周波数になることがある。回路３００は、同一の周波数の２つのソースを必要としないが、様々な理由で、周波数の大きい相違を避けることが望ましく、したがって周波数分割器３０７を使用して、１次オシレータ(PriOsc)信号３１０の周波数に近づくことができる。しかしながら、回路が許容するのと同程度高速で伝送制御論理回路３０２を動作させることが一般的に望ましく、こういう理由で、この論理回路３０２を動作させるために使用されるクロック、特にＴＳＭ３０４内の状態変更をトリガするために使用されるクロックは、周波数分割を用いずにSecOscIn３１２から直接得られる。周波数分割器３０７が使用されない場合には、SecOscDiv３１５はSecOscIn３１２と同一である。
【００３３】
任意の検出論理回路３０６は、着信信号をモニタし、オシレータ信号障害を検出して、伝送切換制御論理回路３０２へ適切な信号を与える。代わりに、切換回路３００の外部にある検出器を備えることが可能であり、また、外部制御信号に応答して独占的に切換回路３００をトリガすることが可能である。好適な実施の形態において、検出器３０６は、障害の指示について独立して１次オシレータ・ライン３１０およびPriPGoodライン３１１双方をモニタする。PriPGoodライン３１１は、１次オシレータ(PriOsc)信号３１０の差し迫った損失または潜在的損失を報知するために外部論理回路によって使用され、１次オシレータ(PriOsc)３１０が実際に故障する前にスイッチが動作することを可能にする。例えば、１次オシレータ(PriOsc)信号３１０の割り込みを生じさせ得る並行保守がコンピュータ・システム１００の一部のコンポーネント上で実行されるべき場合には、このイベントを予め報知して、動作が完了するまで様々なシステム・コンポーネントがそれぞれの２次オシレータへ切換えることが可能である。代わりに、実際の１次オシレータ障害，差し迫った１次オシレータ障害，または潜在的な１次オシレータ障害を伝えるために複数の外部信号ラインを与えることができる。
【００３４】
任意の構成／ステータス・インターフェース論理回路３０８は、切換回路を調整するために有用な構成パラメータ、例えば周波数，遅延パラメータなどを含み、パラメータを所望の値に設定するための外部インターフェースを与える。好適な実施の形態において、構成／ステータス・インターフェース論理回路３０８は、また、本明細書においてより完全に説明される高速のセット／リセット論理回路３０５を使用可能にするために用いられる高速のセット／リセット使用可能状態ビットを含む。インターフェース論理回路３０８は、さらに、オシレータの切換状態と、着信信号の検出された状態とを読み取るための外部インターフェースを与える。
【００３５】
図４は、好適な実施の形態に係る選択論理回路３０１の実施例をより詳細に説明する。選択論理回路３０１は、好ましくは、図４に示されるように配列された、３つの２入力マルチプレクサ４０１〜４０３を含む。マルチプレクサ４０３は、マルチプレクサ４０１および４０２の出力を入力として受信し、S1Sel制御ライン４１４の状態に従って、出力ライン３１４上の出力としてこれらの入力のうちの１つを選択する。マルチプレクサ４０２は、オシレータ信号SecOscDiv３１５と、ブリッジ状態スイッチ３０３の出力であるブリッジ状態４１１とを入力として受信し、S0L2制御ライン４１３の状態に従って、出力としてこれらのラインのうちの１つを選択する。S0L2とS1Sel（制御ライン４１３，４１４）の双方は、本明細書においてより詳細に説明される伝送状態マシン３０４の出力である。マルチプレクサ４０１は、１次オシレータ・ライン３１０を入力として受信し、出力としてこのラインを選択するように永続的に設定されている。マルチプレクサ４０１は、したがって、マルチプレクサ４０２のパフォーマンスに整合（match）するようにのみ機能し、選択論理回路３０１による伝搬遅延をバランスさせる。任意の遅延ドライバ４０４，４０５は、本明細書においてより詳細に説明される高速のセット／リセットの一定の状態の際の出力スパイク（output spike）を阻止することを意図された同一の遅延ドライバである。マルチプレクサ回路の固有の伝搬遅延が高速のセット／リセット論理回路３０５より大きい場合には、遅延ドライバ４０４，４０５は不要である。マルチプレクサを実施するためにあらゆる適切な技術が使用できるが、マルチプレクサ４０１は、マルチプレクサ４０２をバランスさせることを意図されているので、双方が同一の設計で実施されることが望ましい。しかしながら、異なった回路設計を用いてマルチプレクサ４０３を実施することがおそらく可能である。
【００３６】
図５は、好適な実施の形態に係るブリッジ状態スイッチ３０３の実施例をより詳細に説明する。ブリッジ状態スイッチ３０３は、好ましくは、単純な２入力ＸＯＲゲート５０１として実施され、この入力は、検出器３０６によって生成された１次オシレータの０スタック（PriStuck0）信号５１１と、伝送状態マシン３０４によって生成されたS2L2状態ライン５１２とである。出力のブリッジ状態４１１は、PriStuck0５１１が論理‘０’であるかまたはS2L2５１２が論理１である場合に論理‘１’となる。（PriStuck0＝‘０’およびS2L2＝‘１’は決して同時に発生せず、したがって、この状態は“don't care”である）。
【００３７】
図６，７および８は、好適な実施の形態に係る伝送状態マシン（ＴＳＭ）３０４の実施例をより詳細に説明する。ＴＳＭ３０４は、３つの主要なセクション、すなわち、状態を保持する３つのラッチ６０１〜６０３のセットと、ラッチへの入力を与える組合せ論理回路６０４（両者は図８に示される）と、ラッチへの様々なクロックおよびスキャン入力を生成するための論理回路（図６および７に示される）と、を含む。
【００３８】
伝送状態マシン３０４は、切換回路３００の外部にあるソースから生じるPriOsc信号３１０，SecOscIn信号３１２，SecOscDiv信号３１５，およびSecPGood信号３１３を入力として受信する。ＴＳＭ３０４は、また、１次オシレータ(PriOsc)３１０内の検出されたまたは差し迫った障害状態を示すために用いられるPriFault信号６２３と、１次オシレータ(PriOsc)３１０が０の論理レベルまたは１の論理レベルでスタックしている特殊な場合を示すためにそれぞれ用いられるPriStuck0信号５１１およびPriStuck1信号６２４とを受信する。PriFault信号６２３，PriStuck0信号５１１，およびPriStuck1信号６２４は、本明細書においてより十分に説明されるように検出器３０６によって生成される。ＴＳＭ３０４は、さらに、２次または１次オシレータへの切換状態の高速のセット／リセットを開始するためにそれぞれ用いられるSetS1信号６２２，S1DSet信号６３８およびRstD信号６２１を受信する。SetS1信号６２２、S1DSet信号６３８およびRstD信号６２１は、本明細書においてより十分に説明されるように高速のセット／リセット論理回路３０５によって生成される。
【００３９】
伝送状態マシン３０４は、それぞれがラッチ６０１〜６０３の第２ステージの出力である出力制御ラインS0L2４１３，S1L2６２５，およびS2L2５１２を生じさせる。ＴＳＭ３０４は、さらに、S1L2６２５およびSetS1６２２から導出された出力制御ラインS1Sel４１４を生じさせる。制御ラインS2L2５１２およびS1Sel４１４は、選択論理回路３０１による使用可能な入力の選択を制御する。制御ラインS2L2５１２は、ブリッジ状態スイッチ３０３を制御する。制御ラインS0L2４１３およびS1L2６２５は、高速のセット／リセット論理回路３０５へ付加的にフィードバックされて高速の状態切換えを制御する。伝送状態マシン３０４は、さらに、出力S1D６３７を生じさせる。S1D６３７およびS1L2６２５の双方は、高速のセット／リセット論理回路３０５によって入力として使用され、本明細書において説明されるように、切換状態の高速のセットまたはリセットを開始する。
【００４０】
全体として常に状態を記録するラッチ６０１〜６０３は、状態マシン３０４の心臓部である。好適な実施の形態において、ラッチ６０１〜６０３は、後述するように機能する複数のクロック入力を有する同一のスキャン可能２ステージ・ラッチである（他のタイプのラッチまたは他の形式の論理回路を伝送状態マシン３０４を実施するために代わりに使用できることが理解される）。第１のラッチ・ステージは入力Ｉ，Ａ，ＤおよびＣを受信する。ＡおよびＣはクロックとして示される。入力ＩおよびＤは、それぞれクロック信号ＡおよびＣに基づいて第１のラッチ・ステージへクロックされる。第１のラッチ・ステージの出力（Ｌ１）はクロック入力Ｂに基づいて第２ステージへクロックされる。第２のラッチ・ステージの出力はＬ２と示され、ラッチ回路の外部出力として一般的に使用される。このタイプのラッチは、一般的に二重モードで使用でき、それによって、クロック信号Ａに基づいてデータをラッチへスキャンするためのスキャン・ラインとして入力Ｉを使用することが可能となり、クロック信号Ｃに基づいて受信される標準データ入力ラインとして入力Ｄを使用することが可能になる。ラッチの動作を以下の表に要約する。
【００４１】
【表１】
2005004739.tif 000003
【００４２】
上記の表を参照すると、一般的なスキャンイン・モード（スキャン−Ａ）において、クロックＡがアクティブにされて入力ラインＩ上のデータを第１のラッチ・ステージへスキャンする。第２のラッチ・ステージ内の値が保持される。フラッシュ・モードにおいて、双方のクロックＡおよびＢが同時にハイになり、入力ラインＩ上のデータを双方のラッチ・ステージを通してフラッシュさせる。キャプチャ・モードにおいて、クロックＣがアクティブにされて入力ラインＤ上のデータを第１のラッチ・ステージへスキャンし、第２のラッチ・ステージ内の値が保持される。リリース・モードにおいて、Ｂクロックがアクティブにされて第１のラッチ・ステージ内の値を第２のラッチ・ステージへ伝える。ＡおよびＣクロックは、決して同時にアクティブにされることはなく、その結果は定義されていない。クロックＢおよびＣが同時にオンである場合、競合状態が存在する。
【００４３】
好適な実施の形態において、Ａクロック入力を使用して、ラッチをフラッシュして初期状態を設定する、またはデフォルト状態への高速のリセットを実行する。ローカル・オシレータ（SecOscIn信号３１２およびその導出されたSecOscDiv信号３１５）がPriOsc信号３１０より前に使用可能になるであろうことが仮定されるので、Ａクロックによってフラッシュすることによってラッチ６０１〜６０３が論理１へ初期化され、マルチプレクサ４０２，４０３に、出力３１４までSecOscDiv信号３１５を伝送させる。ラッチ６０３は、次に、論理０へ復帰するが、これは出力に影響を与えない。PriOsc信号３１０が使用可能であることを入力が示す場合、切換回路は、デフォルト出力としてPriOsc信号３１０を自動的に復元することになる。高速のリセットを実行するとき、Ａクロックはラッチを通して論理０をフラッシュし、ラッチをデフォルト（PriOsc伝送）状態に設定する。Ａクロックは標準的に０（非アクティブ）であり、しばらくの間のみアクティブにされてラッチをフラッシュする。
【００４４】
図６を参照すると、SecPGood３１３をSecOscIn３１２によってクロックされる１対のラッチ６０５に通過させることによって同期した２次パワー・グッド信号（SecPGoodSync）６３４が作られ、SecOscIn３１２がアクティブになった後にSecPGoodSync６３４が立ち上がることを保証し、SecOscIn３１２から生成されたクロックのパルスチョッピング（pulse-chopping）を回避する。AClk６２８は、SecPGoodSync６３４の補数と、デフォルトへの高速リセットをトリガするために用いられるTransRst信号６３５との論理ＯＲゲートであるゲート６０６によって作られる。初期化において、SecPGoodSync６３４は最初にローであり、AClk６２８をハイにしてラッチをフラッシュする。RstD６２１の最初の値にかかわらず、ラッチをフラッシュすることは、最終的にRstD６２１を立下がらせ、ＮＯＲゲート６０７の出力（すなわちS(0)ScanIn６２９）をハイにし、ラッチが論理１で安定する。SecPGoodSync６３４が安定した後に、AClk６２８が降下した場合、ラッチが１の値へ初期化される。初期化の後、ＯＲゲート６０８によって作られるTransRst信号６３５が標準的に０になり、しばらくの間だけハイになって本明細書においてより十分に説明されるように、高速リセットの間にAClk６２８を駆動する。
【００４５】
図７を参照すると、チューナブル・クロック回路６１２は、ラッチ６０１〜６０３へのＢ／Ｃクロック入力をSecOscIn３１２から作り出す。SecPGoodSync６３４およびTransRst６３５は、それぞれが標準的に論理１および０である使用可能化信号として機能し、さまざまなＢ／Ｃクロックを使用可能にする。NCClk６３０と示されるラッチ６０１および６０２へのＣクロック入力は、SecOscIn３１２によって立ち上がる２次オシレータ周期の約１／４の長さのパルスである。NBClk６３１と示されるラッチ６０１および６０２へのＢクロック入力は、基本的にNCClk入力６３０の補数である。それぞれCClk６３２およびBClk６３３と示されるラッチ６０３へのＣおよびＢクロック入力は、NCClk６３０およびNBClk６３１と１８０度位相が異なる。図７に示されるクロック回路６１２は概念的な説明であり、実際には、ＢおよびＣクロック間に小さいギャップ（典型的に１０〜３０psec）を自動的に作り出してラッチ内の可能な競合状態を回避するチョッパ（chopper）またはスプリッタ（splitter）回路を用いて異なったＢ／Ｃクロック位相が生成される。
【００４６】
図９は、SecOscIn３１２に対する様々なＢ／Ｃクロックのタイミングを示すタイミング図であり、SecOscIn３１２は、全てのこれらの信号のソースである。図９を参照すると、SecOscIn３１２のそれぞれの立上がりエッジ７０１と同時にNCClk６３０が立上がりNBClk６３１が立下がる。一方、SecOscIn３１２のそれぞれの立下がりエッジ７０２と同時にCClk６３２が立上がりBClk６３３が立下がる。
【００４７】
チューナブル遅延回路６１３を使用して、NCClk６３０のパルスおよびCClk６３２のパルスの長さを調節し、SecOscIn３１２のクロック・サイクルの残存部分において適切な時間を使用可能にし、状態マシンの組合せ論理回路およびラッチを通過する信号の伝搬を可能にすることを保証することができる。好ましくは、この遅延はSecOscIn３１２の約１／４のサイクルであるが、この遅延は、クロックの速度に対する論理回路の速度に従って調節されてもよい。ラッチ６０２へのＢ／Ｃクロックは、１８０度位相が異なり、本明細書においてより詳細に説明するように、サイクルの中間での０から１へのブリッジ状態遷移を使用可能にする。
【００４８】
チューナブル回路６１６は、組み合せ論理回路６０４への入力となるSecRise信号６２６を作り出す。SecRise信号６２６は、SecOscDiv３１５の立上がりエッジと同期した振動信号であるが、わずかに短いパルス幅を有する。図７に示されるように、SecRise信号６２６は、様々な状態マシンのクロックを作るために用いられるSecOscIn信号３１２とは対照的に、SecOscDiv信号３１５から作られる。SecOscDiv３１５がハイのときのみ生じるSecRise信号６２６は、マルチプレクサ４０２へのSecOscDiv入力３１５とブリッジ状態との間の特定の遷移を使用可能にする。チューナブル遅延回路６１７を用いてSecRise６２６のパルスの長さを調節して、SecRise６２６のパルスの長さをSecOscDiv３１５のパルスより十分短くしてSecOscDiv３１５が立下がるより前に論理回路が遷移するために適切な時間を可能にする。チューナブル遅延６１７は、好ましくは、様々なクロック信号を作り出すために用いられる遅延６１３例えばSecOscInの約１／４のサイクルの整数倍である。遅延６１７を遅延６１３の整数倍として構成して、チューニング・パラメータの数を低減させ、実施を単純化する。SecOscDiv信号３１５がSecOscIn信号３１２と同一である（任意の周波数分割器３０７が存在しない）場合、NCClk信号６３０の立下がりがSecOscDiv３１５のパルスの中間で発生することが保証され、回路６１６は不必要となる。この場合には、SecOscDiv信号３１５を組合せ論理回路６０４への入力であるSecRise６２６へ直接通過させることが安全である。遅延回路およびＡＮＤゲートの出力は、PriStuck1６２４と論理ＯＲされ、スタック１障害の場合はSecRise６２６がハイに保持されることになり、それが非同期クロックによって取り込まれることが保証される。
【００４９】
好ましくは、SecRise回路内の遅延は、SecRise６２６のパルスがSecOscDiv３１５のパルスよりSecOscIn３１２の約１／４サイクルの長さ分短くなるように設定される。すなわち、SecOscIn信号３１２とSecOscDiv信号３１５とが同一の信号である場合、SecRise信号６２６はNCClk信号６３０と同じタイミングを有する。（この場合には、SecRise信号６２６とNCClk信号６３０とが同時に立下がり、組合せ論理回路６０４による伝搬遅延が、SecRise信号６２６がNCClk６３０の立下がりによって取り込まれることを保証するために一般的に十分となる。これが十分でない場合には、追加の小さい固定遅延が、SecRise６２６のパルスを作り出すために遅延回路６１７へ加えられてもよい。）SecOscDiv信号３１５とSecOscIn信号３１２とが同一でない場合（すなわち、SecOscDiv信号３１５が多少低い周波数である場合）、SecRise６２６は、NCClk６３０の倍数のサイクルにわたってもよい。図９は、SecOscDiv’およびSecOscDiv”と示されるより低い周波数でのSecOscDiv信号３１５の２つの追加の例と、それぞれSecRise’およびSecRise”と示されるこれらの対応するSecRise信号６２６とを示す。
【００５０】
図６を再び参照すると、チューナブル回路６１４は、PriRise信号６２７を作り出す。PriRise信号６２７は、PriOsc信号３１０と同期した振動信号であり、PriOsc３１０のサイクルの１／４の幅のパルスを有する。短くされたパルス幅の信号は、状態マシン３０４およびセット／リセット論理回路３０５への入力として用いられ、PriRise６２７の立上がり（すなわちPriOsc３１０の立上がり）によってトリガされる遷移が、PriOsc３１０が立下がるより前に論理回路を通ってマルチプレクサ４０２，４０３まで伝搬し得ることを保証する。
【００５１】
図８は、ラッチ６０１〜６０３および組合せ入力論理回路６０４を含む状態マシン３０４の中心部分を表す。論理回路６０４は、６つの入力値からラッチ６０１〜６０３に対するＤ入力を作り出す。６つの入力値は、すなわち、S0L2４１３およびS1L2６２５（それぞれラッチ６０１および６０２の現在の状態である）、PriFault６２３およびPriStuck0５１１（検出論理回路３０６によって生成された障害信号）、およびSecRise６２６およびPriRise６２７（それぞれSecOscDiv３１５およびPriOsc３１０へ同期し、上述したように内部状態マシン回路から導出された短くされたパルス幅の信号）である。組合せ論理回路６０４の出力ラインS0D，S1D６３７およびS2Dは、それぞれ、ラッチ６０１〜６０３へのＤ入力に対応する。しかしながら、S1D６３７の場合には、このラッチ入力はラッチ６０２へ直接送られるのではなく、本明細書においてより詳述されるように、高速のセット／リセット論理回路３０５を最初に通過する。
【００５２】
図１０は、好適な実施の形態に係る伝送状態マシン３０４の動作を示す状態表である。図１０の表は、組合せ論理回路６０４の６つの入力と３つの出力とを示す。すなわち、様々な状態条件について、図１０の状態表は、６つの入力ライン上の指示された入力に応答して、出力ラインS0D，S1D６３７，およびS2D上に作り出されるべき出力を示す。この状態表は、したがって、組合せ論理回路６０４によって実行される関数の定義になる。図８に示された組合せ論理回路６０４は、状態表によって定義されるように、６つの入力から３つの出力を論理的に生成する関数の１つの可能な実施例にすぎない。論理ゲートと入力の種々の組合せを、状態表によって定義された論理関数を実行するために使用できることが理解されるであろう。所定の環境における最適の実施例は、論理ゲートを実施するために用いられる技術，回路レイアウト・ツールなどを含む多くの要素に依存することになる。
【００５３】
伝送状態マシン３０４は、あるオシレータから他のオシレータへ切換えるときに論理１ブリッジ状態を使用するように設計される。論理０ブリッジ状態から論理１ブリッジ状態への遷移は、１次オシレータのスタック０障害からの切換という特殊な場合に実行される。PriOsc３１０が０でスタックしていない（PriOsc３１０が少なくとも一部の時間において論理１にある）というより一般的な場合には、PriOsc３１０からSecOscDiv３１５へ切換わるときに以下のイベントのシーケンスが生じる。すなわち、（１）論理１におけるPriRise６２７（すなわち、PriOsc３１０のパルスの先行の半分）がNCClk６３０によって認められる。（２）ブリッジ状態（論理１）がNBClk６３１の立上がりと同時に入力される。（３）NCClk６３０の次の立上がり、それに続くNBClk６３１の次の立上がりが、ブリッジ状態（論理１）から同様に論理１にあるSecOscDiv３１５へ切換える。
【００５４】
図１０を参照すると、表の行１〜６は、PriOsc３１０からSecOscDiv３１５への遷移を表す。第１行は、PriOsc３１０が安定（PriFault＝０）であり、スイッチ３０１によって伝送されている状態すなわちデフォルト状態を表す。デフォルト状態において、全てのラッチ入力および全てのラッチ出力は０である。ラッチ出力S1L2６２５が事実上ラインS1Sel４１４を０へ設定し、マルチプレクサ４０３に、１次オシレータ(PriOsc)信号３１０を出力３１４へ伝送させる。
【００５５】
第２行は、１次オシレータ(PriOsc)障害（スタック０障害以外の）がPriFaultライン６２３上で報知されている状態を示す。すなわち、この障害は、検出器３０６によって検出されたスタック１障害であってもよく、あるいは、パルス幅障害または差し迫った障害状態のような外的に伝えられた障害であってもよい。行２において、状態マシン３０４はPriRise６２７の立上がりを待つ。行３において、PriRise６２７の立上がりが検出され、S1D６３７（事実上ラッチ６０２へのＤ入力）を論理１にする。行３から行４への遷移を実行するために、PriRise６２７の立上がりが、PriRise６２７およびS1D６３７が立下がる前にNCClk６３０によって取り込まれなければならない。行４において、ラッチ６０２の出力（S1L2）が１へ立上がり、状態マシンはSecRise６２６が立上がるのを待つ。S1L2６２５の立上がりは、S1Sel４１４を立上がらせ、マルチプレクサ４０３がマルチプレクサ４０２の出力へ切換わる。S0L2４１３は依然として０であるので、マルチプレクサ４０２はブリッジ状態４１１（この場合には論理１である）を選択する。したがって、SecRise６２６の立上がりより前のPriOsc３１０の次の立下がりは、出力に影響を与えないことになる。というのは、出力はブリッジ状態においてハイに保持されるからである。行５において、SecRise６２６の立上がりが検出され、S0Dを立上がらせる。行６において、ラッチ６０１の出力（S0L2）が、S0Dの立上がりに応答して立上がる。S0L2４１３の立上がりは、マルチプレクサ４０２を、ブリッジ状態からSecOscDiv３１５へ切換えさせる。この切換回路は、この時点でSecOscDiv信号３１５を安定状態で伝送している。
【００５６】
一般に、SecOscIn３１２の周波数がPriOsc３１０の周波数とほぼ等しいかまたはこれよりも高いことが予想される。SecOscIn３１２の周波数がPriOsc３１０の周波数よりはるかに低い場合には、NBClk/BClkサイクル上のデータ伝搬時間が制限される必要があることがある。この場合において、PriOsc３１０は、状態マシンの応答より前に状態を切換えてもよい。すなわち、PriRise６２７の立上がりがNCClk６３０で認められて（行３）S1D６３７を立上がらせた後、S1D６３７がラッチ６０２を通ってS1L2６２５へ伝搬してS1Sel４１４を立上がらせる（行４）前に、PriOsc３１０が立下がってPriOsc３１０の立下がりと論理１におけるブリッジ状態への切換との間に論理０におけるチョップされたパルスを生じさせる可能性がある。この状態は、遅延回路６１３をチューニングして、NCClk６３０をほぼ全SecOscIn３１２のパルス幅まで拡張して、PriOsc３１０の約１／４の周期の短いデータ伝搬周期（NCClk６３０の立下がりとSecOscIn３１２の立下がりとの間）のみを残すことによって回避できる。SecOscIn３１２の周波数が、PriOsc３１０の周波数とほぼ等しいかまたはこれより高い場合には、この問題は存在しない。
【００５７】
この表の行７〜１１は、１次オシレータ(PriOsc)３１０が０でスタックしている特殊な場合におけるPriOsc３１０からSecOscDiv３１５への遷移を表す。この場合には、遷移は論理０のブリッジ状態を通して行われる。行７は、PriOsc３１０が安定（PriFault＝０）でありスイッチ３０１によって伝送されている状態を表し、これは行１において表される状態と同一である。行８は、PriFaultライン６２３およびPriStuck0ライン５１１によって報知されるスタック０の１次オシレータ(PriOsc)障害が検出されている状態を示す。この場合には、PriOsc３１０は必然的に０であるが、組合せ論理回路６０４はそれを“don't care”とみなす。スタック０状態の検出は、ラッチ６０２へのS1D入力６３７を立上がらせる。行９において、S1D入力６３７における論理１は、ラッチ６０２を通ってその出力S1L2６２５へ伝搬し、SecRise６２６がローになる。状態マシンはSecRise６２６が立上がるのを待つ。S1L2６２５の立上がりはS1Sel４１４を立上がらせ、マルチプレクサ４０３がマルチプレクサ４０２の出力へ切換える。S0L2４１３が依然として０であるので、マルチプレクサ４０２はブリッジ状態４１１を選択する。この場合には、PriStuck0５１１が論理１でありS2L2５１２が依然として論理０であるので、ブリッジ状態は論理０である。これはPriOsc３１０の状態と同じであり、ブリッジ状態への切換によって不連続が発生しない。S1L2６２５の立上がりは、また、ラッチ６０３へのS2D入力を立上がらせる。このS2Dにおける論理１は、S1L2６２５の立上がりから１／２サイクル後にラッチ６０３によってクロックされ（ラッチ６０２および６０３に対するクロックは１８０度位相が異なる）、S2L2出力５１２をハイにする。これは、続いて、ブリッジ状態を論理‘１’へ切換える。行１０において、SecRise６２６の立上がり（SecOscDiv３１５の立上がり）が検出され、S0Dを立上がらせる。行１１において、S0Dの論理１はラッチ６０１を通って出力S0L2４１３へ伝搬する。S0L2４１３の立上がりは、マルチプレクサ４０２を、ブリッジ状態からSecOscDiv３１５へ切換えさせ、S2D入力信号をオフに切換える。切換回路は、この時点で、SecOscDiv信号３１５を安定状態で伝送している。
【００５８】
この表の行１２〜１７は、スイッチをSecOscDiv３１５からPriOsc３１０へ復元する遷移を表す。行１２は、SecOscDiv３１５がスイッチ３０１によって伝送されている状態を表し、これは行１１および６と同じである。ラッチ出力S0L2４１３およびS1L2６２５は論理１であり、ラッチ出力S2L2５１２は論理０である。スイッチは、PriFaultライン６２３上の論理１の存在によって、デフォルト状態（PriOsc３１０を伝送する）への切換を抑止される。行１３において、PriFault６２３が０へ降下し、PriOsc３１０がこの時使用可能であることを示す。状態マシンは、SecRise６２６の立上がり（すなわちSecOscDiv３１５の立上がり）を待つ。行１４において、SecRise６２６の立上がりが検出され、S0D入力（ラッチ６０１に対する）を論理０へ降下させる。行１５において、ラッチ６０１の出力（S0L2）は、S0D入力の変化に応答して０へ立下がり、状態マシン３０４はPriOsc３１０が立上がるのを待つ。S0L2４１３の立下がりは、マルチプレクサ４０２に、ブリッジ状態４１１（この場合には論理１）を選択させる。したがって、PriOsc３１０の立上がりより前のSecOscDiv３１５の次の立下がりは、出力に影響を与えないことになる。というのは、出力が、ブリッジ状態においてハイに保持されるからである。行１６において、PriOsc３１０の立上がりが検出され、S1D６３７を立下がらせる。行１７において、ラッチ６０２の出力（S1L2）がS1D６３７の立下がりに応答して立下がる。S1L2６２５の立下がりは、S1Sel４１４を立下がらせ、これは、マルチプレクサ４０３を、マルチプレクサ４０２の出力（ブリッジ状態）からマルチプレクサ４０１の出力（PriOsc３１０）へ切換えさせる。切換回路は、この時点で、PriOsc信号３１０を安定状態で伝送している。
【００５９】
SecOscIn３１２の周波数がPriOsc３１０の周波数とおよそ等しい場合、上述した切換回路が、１つのオシレータ・ソースから他のオシレータ・ソースへ変更するために著しい数のサイクルを必要とするという事実が存在することになる。具体的には、行２から行３への状態遷移または行１５から行１６への状態遷移を行うために、伝送状態マシン３０４は、PriOsc３１０がNCClk６３０の立下がりと同時にハイになるまで待機しなければならない。２つのクロックがほぼ同じ周波数であり、十分に位相が異なる場合は、状態遷移をトリガするために十分な一致（alignment）が発生するまでに多くのサイクルになる可能性がある。好適な実施の形態において、追加の高速のセット／リセット回路３０５を使用して、PriOsc３１０の最初の立上がりと同時に状態遷移をトリガし、ブリッジ状態へ直ちにジャンプさせる（行４、PriOsc３１０からSecOscDiv３１５への切換の場合）、あるいは、PriOsc３１０の安定状態へ直ちにジャンプさせる（行１７、SecOscDiv３１５からPriOsc３１０への切換の場合）。
【００６０】
図１１は、好適な実施の形態に係る高速のセット／リセット論理回路３０５の実施例を詳細に示す回路図である。図１１に示されるように、高速のセット／リセット論理回路３０５は、入力として、S0L2４１３  S1L2６２５ SID６３７およびPriRise６２７（ＴＳＭ３０４からの）、検出回路３０６からのPriFault６２３、および高速のセット／リセット使用可能ライン（FastRstEn）６３６を受信する。高速のセット／リセット論理回路３０５は、３つの出力すなわち、SetS1６２２，S1DSet６３８およびRstD６２１を作り出す。
【００６１】
FastRstEn６３６は、高速のセット／リセット論理回路３０５を使用可能にするかまたは使用不可にするように選択的に構成される使用可能化ラインである。FastRstEn６３６は、好ましくは、構成／ステータス・インターフェース論理回路３０８内のレジスタ・ビットから導出される。FastRstEn６３６が０へ設定される（高速のセット／リセット論理回路３０５が使用不可になる）場合には、出力ラインSetS1６２２およびRstD６２１がＡＮＤゲート９０３，９０４によって論理０で保持され、出力S1DSet６３８は、単に、S1D６３７をＯＲゲート９０５およびＡＮＤゲート９０６に通過させる。一般に、FastRstEn６３６が高速のセット／リセット論理回路３０５を使用可能にするように設定され、したがって、論理回路が一般的に使用可能になることが仮定される場合に、切換回路が低減された待ち時間で動作することになる。しかしながら、回路設計者がこのフィーチャを使用不可にすることを望む例外的な状況が存在する可能性があり、そういう理由で、このフィーチャを選択的に使用可能または使用不可にする機能が含まれる。代案として、使用可能化ラインを除去して単に高速のセット／リセット論理回路３０５を常時使用可能にすることができる。
【００６２】
FastRstEn６３６がハイ（使用可能）である場合、高速のセット／リセット論理回路３０５が以下のように作動する。SetS1６２２およびRstD６２１双方が標準的に論理０で静止し、この状態で、S1D６３７は、単にゲート９０５，９０６を変化せずに通過して出力S1DSet６３８まで伝わる“高速のセット（Fast Set）” （すなわち、PriOsc３１０からSecOscDiv３１５への遷移）を実行するとき、S0L2４１３およびS1L2６２５は双方とも最初に０である（PriOsc３１０が選択論理回路３０１を通って伝送される）。PriFault６２３が立上がって障害を報知する。ＡＮＤゲート９０７がPriOscによってトリガされることになり、ＯＲゲート９０１およびＡＮＤゲート９０３をトリガし、信号SetS1６２２を立上がらせる。SetS1６２２の立上がりは、さらに、ＯＲゲート９０５およびＡＮＤゲート９０６をトリガし、S1DSet６３８を立上がらせる。S1DSet６３８からＯＲゲート９０１の入力へのフィードバック・ループが、次に、S1L2６２５が立上がってＡＮＤゲート９０３をシャットオフするまでSetS1６２２およびS1DSet６３８を論理１で保持する。ＡＮＤゲート９０７に対するトリガ条件は、図１０の状態表の行３において存在するものと同一である。しかしながら、SetS1６２２およびS1DSet６３８は、SecOscIn３１２のクロックまたはこれから導出されたいずれのクロックからも独立して動作し、したがって、SecOscIn３１２から導出されたクロックのいずれかとの同期を必要としない。これは、複数のサイクルを必要とし得る、PriOsc３１０のパルスの最初の半分がNCClk６３０によって取り込まれるのを待つことなしに、SetS1６２２およびS1DSet６３８が立上がり、ブリッジ状態への状態遷移を生じさせ得ることを意味する。SetS1６２２がＯＲゲート６１８へ直接供給されて、SecOscIn３１２のクロックの状態にかかわらず、S1Sel４１４を立上がらせる。S1Sel４１４の立上がりは、マルチプレクサ４０２，４０３にブリッジ状態を選択させる。
【００６３】
同時に、S1DSet６３８はラッチ６０２へのＤ入力である（図８参照）。ラッチ６０２は、Ｄ入力がこのラッチにストアされ出力S1L2６２５へ進むことができるより前にNCClk６３０の立下がりエッジをなお待たなければならない。しかしながら、S1DSet６３８の状態がＯＲゲート９０１へのフィードバック・ループによってロックされるので、NCClk６３０が立下がる前にPriRise６２７が立下がった（そしてＡＮＤゲート９０７がシャットオフする）場合でさえ、ラッチ６０２へのＤ入力の立上がりがNCClk６３０の次の立下がりと同時にストアされることになる。
【００６４】
ラッチ６０２へのＤ入力がNCClk６３０の立下がりによってラッチへクロックされた後、S1L2６２５が立上がってＡＮＤゲート９０３をシャットオフし、SetS1６２２がその静止状態（論理０）に戻ることを可能にする。しかしながら、S1L2６２５は既に立上がっているので、S1Sel４１４（ＯＲゲート６１８の出力）はハイにとどまる。SetS1６２２（およびRstD６２１）が静止状態にある場合には、S1DSet６３８がS1D６３７と再び同じとなる。
【００６５】
“高速のリセット（Fast Reset）” （すなわち、SecOscDiv３１５からPriOsc３１０への遷移）を実行するとき、S0L2４１３およびS1L2６２５は双方とも最初に１であり（SecOscDiv３１５が選択論理回路３０１によって伝送される）、PriFault６２３がハイである。PriFault６２３が立下がり、PriOsc３１０が現在使用可能であることを報知する。SecOscDiv３１５はNCClk６３０と同期しているので、状態マシンは長い待ち時間を伴わずにSecRise６２６と同時にブリッジ状態へ遷移する（すなわち、図１０の表の行１３から行１５まで遷移する）、ブリッジ状態において、S0L2４１３は０でありS1L2６２５は１である。ＡＮＤゲート９０８が次にPriRise６２７によってトリガされ、ＯＲゲート９０２およびＡＮＤゲート９０４をトリガし、出力信号RstD６２１を立上がらせる。いったんトリガされると、ＯＲゲート９０２へのフィードバック・ループが、S1L2６２５が立下がるまでRstD６２１を論理１に保持する。トリガ条件は図１０の状態表の行１６に存在するものと同一である。しかしながら、RstD６２１は、SecOscIn３１２のクロックまたはこれから導出された全てのクロックから独立して動作し、PriRise６２７がNCClk６３０と一致するのを待たずに、PriOsc３１０の安定状態への即時の遷移を与える。RstD６２１は、TransRstライン６３５上で長い論理１パルスをトリガし、S(0)ScanInライン６２９上で長い論理０パルスをトリガする。遅延回路６０９，６１０および６１１は、S(0)ScanIn６２９上の論理０パルスがTransRst６３５のパルスよりわずかに幅が広くなるように設定される。例えば、遅延回路６０９，６１０および６１１は、それぞれ、２６０psec，１０psecおよび２５０psecに設定されてもよい。TransRstライン６３５上のパルスは、AClk６２８上の対応するパルスをトリガし、一方、Ｃクロック（NCClk６３０およびCClk６３２）は、論理０で一時的に保持され、Ｂクロック（NBClk６３１およびBClk６３３）は、論理１で一時的に保持される。AClk６２８上のパルスは、ラッチ６０１〜６０３によってS(0)ScanIn６２９上の論理１をスキャンし、事実上全てのラッチを論理１へ設定する。ラッチ６０２内の論理１によって、S1L2６２５がハイになってRstD６２１をシャットオフし、図１０の状態表の行１７によって示されるように、回路がデフォルト状態で安定するのを可能にする。
【００６６】
高速のリセット論理回路は、状態表内の一定の状態遷移を事実上バイパスする。この一定の状態遷移は、さもなければ、SecOscIn信号３１２から導出されたクロックと同期してイベントが発生することを必要とする。SecOscInクロック３１２と非同期でイベントが発生することを可能とすることは、障害を引き起こす可能性を含む。好適な実施の形態の高速のセット／リセット論理回路を用いるときに潜在的なチョップされた出力パルスを回避するために、以下の２つのタイミング・ルールが認められる必要がある。すなわち、（１）PriStuck0５１１の変化の結果であるマルチプレクサ４０３への入力におけるブリッジ状態遷移の伝搬遅延は、マルチプレクサ４０３へのS1Sel制御入力４１４に対する高速のセット／リセット論理回路３０５の伝搬遅延より少なくなければならない。（２）マルチプレクサ４０３へのS1Sel制御入力４１４に対する高速のセット／リセット論理回路３０５の伝搬遅延は、マルチプレクサ４０３へのPriOsc信号３１０の伝搬遅延より少なくなければならない。
【００６７】
第１の条件は、PriOscスタック０障害が検出されているとき（状態表の行８）、S1Sel４１４がマルチプレクサ４０３を切換えてマルチプレクサ４０２からの出力を受信する前に、標準的にハイであるブリッジ状態が、PriStuck0５１１がハイになる結果として０へ立下がることを保証する。この条件が満たされない場合、ブリッジ状態が依然としてそのデフォルト論理１状態にある間にマルチプレクサ４０３がマルチプレクサ４０２の出力へ切換わり、論理０（PriOsc３１０が論理０でスタックしている）から論理１ブリッジ状態への非常に短時間の出力遷移を生じさせ、PriStuck0５１１がハイになる結果としてブリッジ状態が立下がるときに論理０へ再度戻る。論理回路レイアウト内の固有の遅延が、第１の条件が満たされることを保証するために不十分である場合には、図１１に示されるように、任意の遅延ドライバ９０９をＡＮＤゲート９０７および９０８へのPriFault入力６２３において挿入してもよい。
【００６８】
第２の条件は、PriOsc３１０からSecOscDiv３１５への切換を実行するときに、PriOsc３１０が立下がり得るより前に高速のセット／リセット論理回路３０５がマルチプレクサ４０３をブリッジ状態（ハイ）へ切換えることを保証する。具体的には、PriOsc３１０が論理１パルスのほぼ終端でありPriFault６２３が立上がる（例えば、外部信号の結果として）場合には、高速のセット／リセット論理回路３０５は、ゲート９０７，９０１，９０３および６１８をトリガして、マルチプレクサ４０３を論理１におけるブリッジ状態へ切換えさせることにより、PriFault６２３の立上がりに応答することになる。PriFault６２３が立上がった後直ちにPriOsc３１０が立下がる場合には、可能な競合状態が存在し、それによって出力が、マルチプレクサ４０３が切換わるより前にPriOsc３１０の立下がりを経験し得る。第２の条件は、これが生じないことを保証する。論理回路レイアウト内の固有の遅延が、第２の条件が満たされることを保証するために不十分である場合には、任意の遅延ドライバ４０４，４０５をオシレータ信号の入力パス内に挿入してもよい。任意の遅延ドライバ４０５は、この場合に厳密に必須というわけではなく、下流の制御および分析の平易のために、タイミング遅延をバランスさせるためにのみ追加される。
【００６９】
図１２〜１５は、一定の切換状態のもとでの好適な実施の形態の回路における様々な信号のタイミングを説明する。図１２〜１５の例において、SecOscIn信号３１２はSecOscDiv信号３１５と同じであり（両者は単に“SecOsc”と示される）、上述したように、これは必ずしも事実ではないということが理解される。SecOscIn３１２がSecOscDiv３１５より高い周波数にある場合、一部の状態遷移がこの例において説明されるよりも急速に生じることがある。さらに、図１２〜１５の例において、SecOscDiv３１５はPriOsc３１０のおよそ２分の１の周波数にある。説明の明確さのために異なった周波数をこの例において使用し、一方または他方から導出された信号を識別することを容易にする。一般的に、SecOscDiv３１５はPriOsc３１０の周波数に近くなることが予想される。しかしながら、好適な実施の形態の回路は、この例に示されるものを含む様々な入力条件のもとで機能し得る。
【００７０】
図１２〜１５の例において、SecRise信号６２６はNCClk６３０と同一であると仮定され、独立しては示されていない。加えて、PriStuck0５１１は図１２，１３および１５の例において不変の０である。図１４の例において、PriStuck0５１１はPriFault６２３と同一である。これらの理由で、PriStuck0５１１は同様に図面から省略される。
【００７１】
図１２は、PriOsc３１０が論理０でスタックしておらず、かつFastRstEn６３６が０へ設定されている（高速のセット／リセット論理回路３０５を使用不可にする）場合の、PriOsc３１０からSecOscDiv３１５への切換動作を表すタイミング図である。状態マシン３０４は、最初に、PriFault６２３およびPriStuck0５１１が論理０であるようにS0L2４１３，S1L2６２５およびS2L2５１２が論理０である図１０の状態表の行１によって表される状態にある。時刻１００１において、PriFault６２３が立上がって障害を報知する。これは状態表において行２として表される。PriFault６２３が立上がった後に、状態マシン３０４は、PriRise６２７が、S1ラッチ６０２によって取り込まれるのを待つ。PriRise６２７の立上がりは、状態表の行３として表される。しかしながら、PriRise６２７は、PriRise信号６２７と非同期であるNCClk６３０の立下がりエッジにおいてS1ラッチによって取り込まれる必要がある。PriRise６２７がNCClk６３０の立下がりによって取り込まれない場合、状態マシン３０４は状態表の行２へ事実上遷移し、次のPriRise６２７サイクルを待つ。一定の条件のもとで、取り込みは複数のサイクルを必要とし得る（実際に、限られた期間内に取り込みが発生することは保証されない）。図１２に示されるように、時刻１００１におけるPriFault６２３の立上がりの後すぐにPriRise６２７が発生するが、NCClk６３０は、PriRise６２７が立下がった後まで立下がらない。PriRise６２７は、PriFault６２３の立上がりの後の７番目のPriRise６２７のサイクルである時刻１００２までS1ラッチによって取り込まれない。S1ラッチによるPriRise６２７の取り込みは、時刻１００２における状態表の行４への遷移を生じさせる。S1L2６２５およびS1Sel４１４が立上がり、マルチプレクサ４０３を出力においてブリッジ状態へ切換える。状態マシン３０４は、続いて、SecRise６２６がS0ラッチによって取り込まれるのを待つ。SecRise６２６およびNCClk６３０は共通ソースへ同期しているので、取り込みは限られた時間内に生じることを保証される。時刻１００３において、SecRise６２６が発生し、S0D入力を立上がらせる。これは、状態表の行５として表される。時刻１００４において、NCClk６３０が立下がりSecRise６２６を取り込み、S0L2出力４１３を立上がらせる。これは状態表の行６として表される。S0L2４１３の立上がりは、マルチプレクサ４０２を、ブリッジ状態からSecOscDiv３１５の伝送へ切換えさせる。ブリッジ状態は時刻１００２〜時刻１００４にわたることを留意されたい。SecOscDiv３１５は、この時点で、出力において安定している。
【００７２】
図１３は、PriOsc３１０が論理０にスタックしておらず、かつ、FastRstEn６３６が１へ設定されている（高速のセット／リセット論理回路３０５を使用可能にする）場合に、PriOsc３１０からSecOscDiv３１５への切換動作を表すタイミング図である。図１２に示される例におけるのと同様に、状態マシン３０４は、最初に、S0L2４１３，S1L2６２５，S2L2５１２，PriFault６２３およびPriStuck0５１１が論理０にある図１０の状態表の行１によって表される状態にある。時刻１１０１において、PriFault６２３が立上がって障害を報知する。これは状態表において行２として表される。PriOsc３１０が既にハイであるので、ＡＮＤゲート９０７が直ちにトリガされ、これがゲート９０１，９０３，９０５および９０６を順にトリガし、SetS1６２２およびS1DSet６３８を立上がらせる。SetS1６２２の立上がりはS1Sel４１４を立上がらせ、マルチプレクサ４０３をブリッジ状態（PriOsc３１０と同じ論理１である）へ切換えさせる。これらのラインは、ＯＲゲート９０１へのフィードバックのために論理１にロックされ、PriOsc３１０が立下がった後でさえ論理１にとどまる。時刻１１０２におけるNCClk６３０の次の立下がりと同時に、S1DSet６３８がS1ラッチ６０２へクロックされ、S1L2６２５を立上がらせる。これは状態表の行４として表される。S1L2６２５の立上がりはＡＮＤゲート９０３をシャットオフし、SetS1６２２を立下がらせるが、S1L2６２５がこの時ＯＲゲート６１８を駆動しているので、マルチプレクサ４０３の状態に変化はない。状態マシン３０４は続いて、SecRise６２６がS0ラッチによって取り込まれるのを待つ。SecRise６２６が時刻１１０３において発生し、S0D入力を立上がらせる。これは、状態表の行５として表される。時刻１１０４において、NCClk６３０が立下がり、SecRise６２６を取り込み、S0L2出力４１３を立上がらせる。これは、状態表の行６として表される。S0L2４１３の立上がりは、マルチプレクサ４０２を、ブリッジ状態からSecOscDiv３１５の伝送へ切換えさせる。ブリッジ状態は時刻１１０２〜時刻１１０４にわたることに留意されたい。SecOscDiv３１５はこの時点で安定している。図１２のタイミングを図１３のタイミングと比較すると、PriRise６２７がNCClk６３０の立下がりと一致するのを待つことが必須でないため、高速のセット／リセット論理回路３０５が切換待ち時間を著しく低減させることが観察されるであろう。
【００７３】
図１３のタイミング図において、状態マシン３０４がSecOscIn３１２の２つのサイクルをわずかに上回る間ブリッジ状態において出力ハイを保持することが観察されるであろう。この長さのパルスが問題である場合、同じサイクル上でS1ラッチおよびS0ラッチの遷移を強制することによってパルスを短くすることが代わりに可能である。すなわち、時刻１１０２において、SecOscDiv３１５がハイであり、したがって、時刻１１０３まで待つよりむしろS0ラッチの遷移を強制することが安全である。これは様々な方法のうちのいずれか、例えば、組合せ論理回路６０４内のS0D生成部へ追加の入力を与えてS0Dを適切な条件のもとでハイにすることによって達成できる。
【００７４】
図１４は、PriOsc３１０が論理０においてスタックしており、かつ、FastRstEn６３６が１へ設定されている場合の、PriOsc３１０からSecOscDiv３１５への切換動作を表すタイミング図である。先の例におけるのと同様に、状態マシン３０４は、最初に、S0L2４１３，S1L2６２５，S2L2５１２，PriFault６２３およびPriStuck0５１１が論理０にある図１０の状態表の行７によって表される状態にある。PriStuck0５１１は図１４に示されないが、この例においては、これはPriFault６２３と同一に動作する。時刻１２０１において、PriFault６２３およびPriStuck0５１１が立上がり、スタック０障害を報知する。これは状態表の行８によって表される。PriStuck0５１１の立上がりはブリッジ状態４１１を立下がらせ、マルチプレクサ４０２はブリッジ状態ライン４１１を選択するように設定されているので、論理０がマルチプレクサ４０２によって出力される。同時に、PriStuck0５１１の立上がりがS1D６３７を立上がらせ、高速のセット／リセット論理回路３０５のゲート９０５，９０６，９０１および９０３をトリガし、S1DSet６３８およびSetS1６２２を立上がらせる。SetS1６２２の立上がりはＯＲゲート６１８をトリガし、S1Sel４１４を立上がらせ、マルチプレクサ４０３を切換えさせてマルチプレクサ４０２の出力を選択する。上述したように、ブリッジ状態伝搬遅延はセット／リセット論理回路３０５の伝搬遅延より小さくなければならず、マルチプレクサ４０３が切換わるとき、マルチプレクサ４０２の出力が既に論理０にありPriOsc３１０の論理レベルに一致する。NCClk６３０の次の立下がりにおいて（時刻１２０２において）、S1DSet入力６３８がS1ラッチ６０２へクロックされ、S1L2６２５を立上がらせ、SetS1６２２をシャットオフする。S1L2６２５の立上がりはS2D入力を立上がらせる。状態マシン３０４は、この時、状態表の行９によって表される状態にある。S2D入力は、CClk６３２の次の立下がり（時刻１２０３）、すなわち、NCClk６３０の立下がりの２分の１クロック・サイクル後において、S2ラッチ６０３へクロックされ、S2L2５１２を立上がらせる。これは状態表の行１０によって表される。S2L2５１２の立上がりは、ブリッジ状態４１１を論理１へ切換え、これは、論理１への出力３１４の変化として観察される。状態マシン３０４は、続いて、SecRise６２６がNCClk６３０によって取り込まれるのを待つ。SecRise６２６はS0Dを立上がらせ、これは時刻１２０４においてNCClk６３０によってS0ラッチ６０１に取り込まれ、S0L2４１３を立上がらせ、マルチプレクサ４０２をSecOscDiv３１５へ切換える。選択論理回路３０１は、この時、SecOscDiv信号３１５を伝送している。これは、行１１として状態表に表される。
【００７５】
高速のセット／リセット論理回路３０５が使用可能でなく、PriOscスタック０障害が発生している場合には、SetS1６２２（およびS1Sel４１４）が直ちにはトリガされないということを除いて、タイミングは同様である。スタック０障害は、S1D６３７を立上がらせて保持し（状態表の行８）、これは、NCClk６３０の次の立下がりにおいてS1ラッチ６０２へクロックされ、S2L2６２５を立上がらせ、マルチプレクサ４０３を切換える（状態表の行９）。マルチプレクサ４０３の出力は、時刻１２０１の代わりに時刻１２０２において切換わることになるが、出力信号は同一である。
【００７６】
図１５は、FastRstEn６３６が１へ設定される（高速のセット／リセット論理回路３０５を使用可能にする）場合の、SecOscDiv３１５からPriOsc３１０への切換動作を表すタイミング図である。状態マシン３０４は、最初に、S0L2４１３，S1L2６２５，およびPriFault６２３が論理１にあり、SecOscDiv信号３１５が選択論理回路３０１によって出力されている図１０の状態表の行１２によって表される状態にある。時刻１３０１において、PriFault６２３が立下がってPriOsc３１０がこの時使用可能とみなされていることを報知する。これは行１３として状態表に表される。状態マシン３０４は、続いて、SecRise６２６を待つ。というのは、遷移が論理１と同時に生ずる必要があるからである。時刻１３０２において、SecOscDiv３１５が立上がり、SecRise６２６を立上がらせ、S0D入力を立下がらせる。これは、行１４として状態表に表される。S0D入力は、時刻１３０３におけるNCClk６３０の次の立下がりと同時にS0ラッチへクロックされる。これは行１５として状態表に表される。S0D入力の取り込みはS0L2４１３を立下がらせ、マルチプレクサ４０２をブリッジ状態へ切換える。S0L2４１３がローである状態で、高速のセット／リセット論理回路３０５のＡＮＤゲート９０８がPriOsc３１０のハイによってトリガされることになる。PriOsc３１０が時刻１３０４において立上がり、ＡＮＤゲート９０８をトリガし、ＯＲゲート９０２およびＡＮＤゲート９０４をトリガし、RstD信号６２１をアクティブにする。RstD６２１のアクティベーションは、ACLK６２８，S(0)ScanIn６２９およびTransRst６３５上にパルスを生成させ、ラッチ６０１〜６０３をフラッシュし、それらを直ちに論理０状態にさせる。ラッチを論理０にさせることが、S1L2６２５を立下がらせ、S1Sel４１４を立下がらせ、マルチプレクサ４０３をPriOsc３１０へ切換える。リセット・パルスの終端において、PriOsc３１０が選択論理回路によって伝送されている。これは、状態表の行１７として表される。
【００７７】
高速のセット／リセット論理回路３０５が使用可能でなく、かつ、SecOscDiv３１５からPriOsc３１０への遷移が行われる場合には、タイミングは、時刻１３０３（状態表の行１５）に至るまで同様である。この時点から、状態マシン３０４は、PriRise６２７（S1D６３７を立上がらせる）がNCClk６３０の立下がりエッジによって取り込まれるまで待たなければならない。上述したように、NCClk６３０はPriRise６２７と非同期であり、したがって、取り込みは不定数のサイクルを必要とすることがある。いったん取り込まれると、S1L2６２５が立下がってマルチプレクサ４０３をPriOsc信号３１０へ切換える。
【００７８】
図１６は、好適な実施の形態に係る検出回路３０６の実施例をより詳細に示す回路図である。検出回路３０６は、１次オシレータ信号３１０内の一定の障害を検出する。２次オシレータ３１２（一般的にはローカル・オシレータ）が使用可能であることが仮定される。検出回路３０６は、スタック障害（論理０または論理１）を、外部でのこれらの検出を必要とせずに、自動的に検出するよう設計されているが、他のタイプのオシレータ障害（例えば、スペック外（out-of-spec）周波数，ノイズなど）を必ずしも検出しなくてもよい。他のタイプのオシレータ障害は一般的でなく、検出するのがはるかに困難であり、スタック障害だけのための比較的単純な検出回路は、最大のコスト利益（cost benefit）をもたらすということが考えられる。加えて、検出回路３０６は、外部ステータス信号（PriPGood）３１１を使用して障害を判断する。適切な検出回路が外部に存在すると仮定すると、外部ステータス信号を使用してこれらの他のタイプのオシレータ障害を検出することができる。しかしながら、差し迫った潜在的な障害状態が発生する前にこれを報知するために、PriPGood外部ステータス信号３１１は特に有用であろう。例えば、１次オシレータ(PriOsc)信号３１０を中断させる可能性がある一定の並行保守動作を実行するときに、PriPGood３１１を使用して、１次オシレータ(PriOsc)３１０を使用する全てのデバイスに対して、それらが一時的にバックアップ・オシレータへ切換えるべきであることを報知してもよい。
【００７９】
図１６を参照すると、PriOsc３１０およびその補数が、整合した（matched）対のパルサ回路１４０１，１４０２への入力であり、パルサ回路のそれぞれが、パルサ回路の入力のリーディング・エッジと同期した短いパルスを作り出す。パルサ回路は、PriRise信号６２７を生成するために用いられる回路６１４（図６に示される）と同じであってもよく、短い固定の遅延またはチューナブル遅延を有してもよい。パルサ回路１４０１，１４０２の出力は、２ステージ・ラッチ１４０３，１４０４に対するクロック信号として機能し、ラッチ１４０４の第２ステージの反転出力がラッチ１４０３へのデータ入力としてフィードバックされている。したがって、論理１’ｓおよび論理０’ｓの変化パターンは、PriOsc３１０の半サイクルごとに、ラッチ１４０３，１４０４によってシフトされる。
【００８０】
ラッチ１４０３，１４０４のそれぞれのラッチ・ステージの出力（合計４つの出力）は、それぞれのバンクがクロック１４０７の異なった位相によってクロックされるラッチの個別のバンク１４０５，１４０６への入力である。ラッチ・バンク１４０５，１４０６は、単一ステージだけが使用されるが、一貫性のために２ステージ・ラッチとして示される。これらは、代わりに、単一ステージ・ラッチとしてもよい。２つのラッチのバンクの出力はコンパレータ１４０８によって比較され、ラッチのバンクの全ての内容が同一である場合にラッチ１４０９への論理１入力が生成される。
【００８１】
動作時に、ラッチ１４０３，１４０４の内容が続けて循環し、したがって、ラッチ・バンク１４０５，１４０６はサイクルの異なった位相を常に経験することになり、したがって、ラッチ・バンク１４０５，１４０６は決して同一にならない。しかしながら、PriOsc３１０がスタックする場合には、ラッチ１４０３，１４０４の内容が固定され、ラッチ・バンク１４０５，１４０６が同じになる。クロック１４０７はPriOsc３１０から独立していなければならず、好ましくはSecOscInオシレータ信号３１２から導出される。クロック１４０７はSecOscIn３１２と同じであってもよく、または任意の周波数分割器（図示されない）の結果であってもよい。しかしながら、図１６に示される検出回路において、クロック１４０７はPriOsc３１０より低い周波数を有さなければならず、さもなければ、ラッチの２つのバンク１４０５，１４０６がPriOsc３１０の同じ位相を取り込み、障害を誤って報知する可能性がある。
【００８２】
ラッチ１４０９の出力は、検出されたスタック障害状態を報知する。これは、ＯＲゲート１４１０においてPriPGood信号３１１と論理ＯＲされてPriFault信号６２３を作り出す。ラッチ１４０９の出力は、また、反転したPriOsc信号と共にＡＮＤゲート１４１１への入力であり、PriStuck0信号５１１を作り出す。ラッチ１４０９の出力は、これとは別に、PriOsc信号と共にＡＮＤゲート１４１２への入力であり、PriStuck1信号６２４を作り出す。
【００８３】
図１６の回路は、障害検出回路の１つの可能な実施例にすぎず、複数の代わりの障害検出回路を利用できることが理解されるであろう。また、本発明に係るオシレータ切換回路は検出回路を全く含まず、外部信号に完全に依存してオシレータ出力が切換えられるべきであることを示してもよいことが理解されるであろう。さらに、好適な実施の形態において、１次オシレータ(PriOsc)３１０のための検出回路のみが存在するが、２次オシレータ（SecOscIn）３１２内の障害または双方のオシレータ入力内の障害を検出する検出回路を有することが代わりに可能である。
【００８４】
任意の構成／ステータス・インターフェース論理回路３０８を使用して、切換回路３００内の遅延または他の値を構成してもよく、エラー状態およびステータス状態を記録してもよい。好ましくは、構成／ステータス・インターフェース論理回路３０８は、構成データおよびステータス・データを保持する複数のレジスタと、レジスタから値を読み取り、および／またはレジスタへ値を書き込むためのインターフェースとを含む。インターフェースは、例えば、レジスタの内容を順次入力または順次出力するためのシリアルのクロック・ラインおよびデータ・ラインのセットであってもよい。構成レジスタはめったに変更されないことが予想されるので、高速インターフェースは不必要である。レジスタは、好ましくは、高速のセット／リセット使用可能ビットを保持し、このビットはFastRstEnライン６３６上の高速のセット／リセット論理回路３０５への出力である。構成レジスタは、好ましくは、チューナブル遅延回路６１３，６１５および６１７に対する遅延パラメータ値も保持する。ステータス・レジスタは、検出器３０６によって検出されたステータス（例えばPriFaultライン６２３またはPriStuck0ライン５１１の状態）、状態マシン３０４の状態（ラッチ６０１〜６０３によって判断されるような）、あるいは他のステータス情報を保持してもよい。構成／ステータス論理回路３０８は、切換回路３００へより大きな柔軟性を与える追加の構成パラメータを含むことができる。例えば、任意の周波数分割器３０７は、多数の周波数設定（setting）のうちの１つに対して構成可能にしてもよく、構成の設定は、構成論理回路３０８内の値によって決定されてもよい。
【００８５】
ここで述べたオシレータ切換回路は、クロックを生成する位相ロック・ループ（ＰＬＬ）回路と共に用いられてもよく、あるいは共に用いられなくてもよい。１つの応用例において、切換回路３００の出力３１４はＰＬＬの基準入力へ接続されてもよい。構成／ステータス回路３０８内のデータをＰＬＬへ与えて目標クロック周波数を指示してもよい。第２の応用例において、ＰＬＬの出力を使用して１つ以上の入力クロック信号を切換回路３００へ与えてもよい。第３の応用例において、オシレータ切換回路は、ＰＬＬなしで独立してもよい。好ましくは、ＰＬＬがある場合には、ＰＬＬは、オシレータ切換回路と同じ集積回路チップ上に実装されることになる。
【００８６】
好適な実施の形態の回路は、ここに述べたように一定の障害状態を検出して応答する能力を有するが、全ての物理装置は環境に制限され、ここに述べた回路は必ずしも全ての可能なオシレータ状態に応答するように設計されないということが理解されるであろう。特に、障害状態内に急速な変化が生じることはないことが仮定され、したがって、状態マシン３０４は、全ての変化に応答するために十分な時間を有し、別の変化が発生するより前に、１次オシレータかまたは２次オシレータ出力において安定することになる。例えば、PriFaultライン６２３上で障害が報知され、２次オシレータへの遷移が完了する前にPriFaultライン６２３が立下がる場合には、切換回路３００は安定する前にチョップされたパルスを出力する可能性がある。システムの設計者は、適切な環境条件が満たされることを保証する責任がある。
【００８７】
好適な実施の形態に係るオシレータ切換回路は、同種の機能動作を使用して、どちらの方向（１次から２次へあるいはその逆）にも切換可能であるが、このような回路は、代わりに、片方向切換のためだけに設計されてもよい。例えば、パワーオンまたはリセット・タイプのイベントにおいてのみこのような回路を使用してローカル一時オシレータ・ソースからリモート・グローバル・オシレータ・ソースへ切換えてもよい。
【００８８】
伝送切換制御論理回路を本明細書で詳細に説明してきたが、本発明に係るオシレータ切換回路は、論理回路の多数の変形を用いて実施できることが理解されるであろう。上述した変形に加えて、種々の変形を、限定としてではなく例としてここで述べる。ブリッジ状態は個別のブリッジ状態スイッチで実施される必要はなく、選択論理回路および／または伝送制御論理回路と組み合わせることができる。例えば、伝送制御論理回路の制御のもとで選択される個別のハイおよびローのブリッジ状態入力をマルチプレクサに与えることができる。高速のセット／リセット論理回路３０５を、様々な代わりの方法で組み合せ入力論理回路６０４と組み合せて、状態ラッチへ入力を与えることができる。他のまた追加の状態ラッチを与えて、他の状態への遷移または他の状態を通過する遷移を容易にすることができる。異なったタイプのラッチを使用することができる。異なった形式の入力を与えて障害状態を報知することができる。
【００８９】
本発明の特定の側面に係る伝送制御論理回路を、状態を集合的に記録する複数の２ステージ・ラッチで実施される状態マシンとして本明細書で説明してきたが、本発明の一部の側面に係るオシレータ切換回路は、クロック・ラッチを含む状態マシンとして実施される必要はなく、ここに述べそして請求するように機能する他の形式のディジタル論理回路を含んでもよいことが理解されるであろう。
【００９０】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）オシレータ切換回路であって、選択論理回路であって、前記選択論理回路からの出力として、１次オシレータ入力，２次オシレータ入力，およびブリッジ入力のうちの１つを選択し、前記１次オシレータ入力および２次オシレータ入力は非同期である選択論理回路と、前記選択論理回路へ接続され、前記１次オシレータ入力から前記２次オシレータ入力への前記選択論理回路の出力の変更を制御する伝送制御論理回路と、を備え、前記選択論理回路からの出力としての前記１次オシレータ入力の選択から前記選択論理回路からの出力としての前記ブリッジ入力の選択への第１の遷移によって前記選択論理回路の出力の変更が実行され、前記第１の遷移は前記ブリッジ入力が前記１次オシレータ入力と同じ論理レベルにある期間に行われ、前記第１の遷移は前記２次オシレータ入力の論理レベルから独立して実行され、前記選択論理回路からの出力としての前記ブリッジ入力の選択から前記選択論理回路からの出力としての前記２次オシレータ入力の選択への第２の遷移によって前記選択論理回路の出力の変更がさらに実行され、前記第２の遷移は前記ブリッジ入力が前記２次オシレータ入力と同じ論理レベルにある期間に行われ、前記第２の遷移は前記１次オシレータ入力の論理レベルから独立して実行されるオシレータ切換回路。
（２）前記伝送制御論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更を制御し、前記選択論理回路からの出力としての前記２次オシレータ入力の選択から前記選択論理回路からの出力としての前記ブリッジ入力の選択への第３の遷移によって、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更が実行され、前記第３の遷移は前記ブリッジ入力が前記２次オシレータ入力と同じ論理レベルにある期間に行われ、前記第３の遷移は前記１次オシレータ入力の論理レベルから独立して実行され、前記選択論理回路からの出力としての前記ブリッジ入力の選択から前記選択論理回路からの出力としての前記１次オシレータ入力の選択への第４の遷移によって、前記２次オシレータ入力から前記１次オシレータ入力への前記選択論理回路の出力の変更がさらに実行され、前記第４の遷移は前記ブリッジ入力が前記１次オシレータ入力と同じ論理レベルにある期間に行われ、前記第４の遷移は前記２次オシレータ入力の論理レベルから独立して実行される上記（１）に記載のオシレータ切換回路。
（３）前記伝送制御論理回路は、前記ブリッジ入力の論理レベルを選択的に設定するブリッジ入力切換論理回路を含む上記（１）に記載のオシレータ切換回路。
（４）前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記伝送制御論理回路へ与える障害検出回路を、さらに備える上記（１）に記載のオシレータ切換回路。
（５）前記オシレータ切換回路は、少なくとも１つの外部のオシレータ障害信号に応答してオシレータを切換える上記（１）に記載のオシレータ切換回路。
（６）前記選択論理回路は第１，第２および第３の２入力マルチプレクサ回路を含み、前記第１および第２のマルチプレクサ回路は個々の入力を受信し、前記第１および第２のマルチプレクサ回路のそれぞれが個々の単一の出力を作り出し、前記第３のマルチプレクサ回路が前記第１および第２のマルチプレクサ回路の出力を受信して単一の出力を作り出し、前記第１および第２のマルチプレクサ回路がバランスされる上記（１）に記載のオシレータ切換回路。
（７）前記伝送制御論理回路は、前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記選択論理回路へ与える状態マシンと、前記複数の記憶素子への入力を決定するための記憶素子入力論理回路と、を含む上記（１）に記載のオシレータ切換回路。
（８）前記状態マシンの前記複数の記憶素子は複数の２ステージ・ラッチを含み、前記複数の２ステージ・ラッチの２ステージ・ラッチのそれぞれの個々のステージがクロック信号の異なった位相において入力を受信し、前記複数の２ステージ・ラッチのためのそれぞれのクロック信号が共通ソースから導出される上記（７）に記載のオシレータ切換回路。
（９）前記１次オシレータ入力および２次オシレータ入力のうちの１つが前記共通ソースから導出される上記（８）に記載のオシレータ切換回路。
（１０）前記共通ソースを入力として受信し、前記１次オシレータ入力および前記２次オシレータ入力のうちの１つを出力として作り出す周波数分割回路を、さらに備える上記（９）に記載のオシレータ切換回路。
（１１）前記複数の状態は、少なくとも２つのブリッジ状態を含み、前記少なくとも２つのブリッジ状態は、前記ブリッジ入力が第１の固定論理レベルで保持される第１のブリッジ状態と、前記ブリッジ入力が第２の固定論理レベルで保持される第２のブリッジ状態とを含み、前記第２の固定論理レベルは前記第１の固定論理レベルと異なる上記（７）に記載のオシレータ切換回路。
（１２）前記伝送制御論理回路は、高速の遷移論理回路をさらに含み、前記高速の遷移論理回路は、前記記憶素子の出力を一時的にバイパスして少なくとも１つの入力を前記選択論理回路へ直接与える上記（７）に記載のオシレータ切換回路。
（１３）前記高速の遷移論理回路は、選択的に使用可能にできる上記（１２）に記載のオシレータ切換回路。
（１４）オシレータ切換回路であって、１次オシレータ入力および２次オシレータ入力と、出力と、前記１次および２次オシレータ入力と前記出力とに接続されたオシレータ切換論理回路であって、前記１次オシレータ入力および前記２次オシレータ入力を前記出力へ選択的に伝送し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の変更を制御し、第１の遷移およびこれに続く第２の遷移を実行することにより、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の前記変更を制御するオシレータ切換論理回路と、を備え、前記第１の遷移は、前記出力への前記１次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第１の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第１の遷移は前記２次オシレータ入力と非同期で実行され、前記第２の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第２の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第２の遷移は前記１次オシレータ入力と非同期で実行されるオシレータ切換回路。
（１５）前記オシレータ切換論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更をさらに制御し、第３の遷移およびこれに続く第４の遷移を実行することにより、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更を制御し、前記第３の遷移は、前記出力への前記２次オシレータ入力の伝送から前記出力への前記内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは、前記第３の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第３の遷移は前記１次オシレータ入力と非同期で実行され、前記第４の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記１次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第４の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第４の遷移は前記２次オシレータ入力と非同期で実行される上記（１４）に記載のオシレータ切換回路。
（１６）前記オシレータ切換論理回路は、前記内部生成されたブリッジ・レベルの論理レベルを選択的に設定する上記（１４）に記載のオシレータ切換回路。
（１７）前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記オシレータ切換論理回路へ与える障害検出回路を、さらに備える上記（１４）に記載のオシレータ切換回路。
（１８）前記オシレータ切換論理回路は、前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記オシレータ切換論理回路へ与える状態マシンと、前記複数の記憶素子への入力を決定するための記憶素子入力論理回路と、を含む上記（１４）に記載のオシレータ切換回路。
（１９）オシレータ切換回路であって、１次オシレータ入力および２次オシレータ入力と、出力と、前記出力への前記１次オシレータ入力および２次オシレータ入力の伝送を選択的に制御し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の遷移を制御する切換制御論理回路と、を備え、前記切換制御論理回路は、前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力としてブリッジ論理レベルを選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記切換制御論理回路へ与える状態マシンと、前記複数の記憶素子への入力を決定する記憶素子入力論理回路とを含み、前記状態マシンは、前記１次オシレータ入力から前記２次オシレータ入力への出力の前記遷移の際に、前記出力として前記１次オシレータ入力を選択している状態，少なくとも１つの前記ブリッジ状態，および前記出力として前記２次オシレータ入力を選択している状態をトラバースするオシレータ切換回路。
（２０）前記切換制御論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の遷移をさらに制御し、前記状態マシンは、前記２次オシレータ入力から前記１次オシレータ入力への出力の前記遷移の際に、前記出力として前記２次オシレータ入力を選択している状態，少なくとも１つの前記ブリッジ状態，および前記出力として前記１次オシレータ入力を選択している状態をトラバースする上記（１９）に記載のオシレータ切換回路。
（２１）前記複数の状態は少なくとも２つのブリッジ状態を含み、前記少なくとも２つのブリッジ状態は、前記ブリッジ入力が第１の固定論理レベルで保持される第１のブリッジ状態と、前記ブリッジ入力が第２の固定論理レベルで保持される第２のブリッジ状態とを含み、前記第２の固定論理レベルは前記第１の固定論理レベルと異なる上記（１９）に記載のオシレータ切換回路。
（２２）前記切換制御論理回路は、前記２次オシレータ入力と非同期で、前記出力への前記１次オシレータ入力の伝送から前記出力への前記ブリッジ・レベルの伝送への遷移を実行し、前記切換制御論理回路は、前記１次オシレータ入力と非同期で、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移を実行する上記（１９）に記載のオシレータ切換回路。
（２３）前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記切換制御論理回路へ与える障害検出回路をさらに備える上記（１９）に記載のオシレータ切換回路。
（２４）前記状態マシンの前記複数の記憶素子は複数の２ステージ・ラッチを含み、前記複数の２ステージ・ラッチの２ステージ・ラッチのそれぞれ個々のステージがクロック信号の異なった位相において入力を受信し、前記複数の２ステージ・ラッチのためのそれぞれのクロック信号が共通ソースから導出される上記（１９）に記載のオシレータ切換回路。
（２５）前記１次オシレータ入力および２次オシレータ入力のうちの１つが前記共通ソースから導出される上記（２４）に記載のオシレータ切換回路。
（２６）周波数分割回路をさらに備え、前記周波数分割回路は、前記共通ソースを入力として受信し、前記１次オシレータ入力および前記２次オシレータ入力のうちの１つを出力として作り出す上記（２５）に記載のオシレータ切換回路。
（２７）前記切換制御論理回路は、高速の遷移論理回路をさらに含み、前記高速の遷移論理回路は、前記記憶素子の出力を一時的にバイパスし、少なくとも１つの入力を前記切換制御論理回路へ直接与える上記（１９）に記載のオシレータ切換回路。
（２８）前記高速の遷移論理回路は、選択的に使用可能にできる上記（２７）に記載のオシレータ切換回路。
（２９）ディジタル・データ処理装置のための集積回路であって、前記ディジタル・データ処理装置の少なくとも１つの機能を実行するための複数の論理回路と、前記複数の論理回路の少なくとも一部へオシレータ信号を与えるためのオシレータ切換回路とを備え、前記オシレータ切換回路は、１次オシレータ入力および２次オシレータ入力と、出力と、前記１次および２次オシレータ入力と、前記出力とへ接続されたオシレータ切換論理回路とを含み、前記オシレータ切換論理回路は、前記１次オシレータ入力および前記２次オシレータ入力を前記出力へ選択的に伝送し、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の変更を制御し、第１の遷移とこれに続く第２の遷移とを実行することにより、前記１次および２次オシレータ入力が非同期である場合に前記１次オシレータ入力から前記２次オシレータ入力への出力の前記変更を制御し、前記第１の遷移は、前記出力への前記１次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第１の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第１の遷移は前記２次オシレータ入力と非同期で実行され、前記第２の遷移は、前記出力への前記ブリッジ・レベルの伝送から前記出力への前記２次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第２の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第２の遷移は前記１次オシレータ入力と非同期で実行される集積回路。
（３０）前記オシレータ切換論理回路は、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更をさらに制御し、第３の遷移とこれに続く第４の遷移とを実行することにより、前記２次オシレータ入力から前記１次オシレータ入力への出力の変更を制御し、前記第３の遷移は前記出力への前記２次オシレータ入力の伝送から前記出力への内部生成されたブリッジ・レベルの伝送への遷移であり、前記ブリッジ・レベルは前記第３の遷移の時における前記２次オシレータ入力の論理レベルと同一であり、前記第３の遷移は前記１次オシレータ入力と非同期で実行され、前記第４の遷移は前記出力への前記ブリッジ・レベルの伝送から前記出力への前記１次オシレータ入力の伝送への遷移であり、前記ブリッジ・レベルは前記第４の遷移の時における前記１次オシレータ入力の論理レベルと同一であり、前記第４の遷移は前記２次オシレータ入力と非同期で実行される上記（２９）に記載の集積回路。
（３１）前記オシレータ切換論理回路は、前記内部生成されたブリッジ・レベルの論理レベルを選択的に設定する上記（２９）に記載の集積回路。
（３２）前記１次オシレータ入力の障害を検出し、障害を示す少なくとも１つの信号を前記オシレータ切換論理回路へ与える障害検出回路を、さらに備える上記（２９）に記載の集積回路。
（３３）前記オシレータ切換論理回路は、前記オシレータ切換回路の状態を記憶するための複数の記憶素子を含む状態マシンであって、前記状態は複数の状態のうちの１つであり、前記複数の状態は、出力として前記１次オシレータ入力を選択している状態と、出力として前記２次オシレータ入力を選択している状態と、出力として前記ブリッジ入力を選択している少なくとも１つのブリッジ状態とを含み、前記記憶素子は制御入力を前記オシレータ切換論理回路へ与える状態マシンと、前記複数の記憶素子への入力を決定する記憶素子入力論理回路とを含む上記（２９）に記載の集積回路。
【図面の簡単な説明】
【００９１】
【図１】本発明の好適な実施の形態に係る、オシレータ切換装置を利用するコンピュータ・システムの主要なハードウェア・コンポーネントのハイレベル・ブロック図である。
【図２】好適な実施の形態のコンピュータ・システム内の物理装置の階層の簡略図である。
【図３】好適な実施の形態に従って、少ない待ち時間のオシレータ切換回路の主要なコンポーネントを示すハイレベル回路図である。
【図４】好適な実施の形態に従って、いくつかの信号のうちの１つを出力として選択する選択論理回路の主要なコンポーネントを詳細に示す回路図である。
【図５】好適な実施の形態に従って、選択論理回路へのブリッジ状態を判断するブリッジ状態スイッチの実施例を詳細に示す回路図である。
【図６】好適な実施の形態に従って、切換イベントのシーケンスを制御する伝送状態マシンの実施例を詳細に示す回路図である。
【図７】好適な実施の形態に従って、切換イベントのシーケンスを制御する伝送状態マシンの実施例を詳細に示す回路図である。
【図８】好適な実施の形態に従って、切換イベントのシーケンスを制御する伝送状態マシンの実施例を詳細に示す回路図である。
【図９】好適な実施の形態に従って、状態マシンのラッチについての様々なクロックおよび入力のタイミングを示すタイミング図である。
【図１０】好適な実施の形態に従って、伝送状態マシンの演算を説明する状態表である。
【図１１】好適な実施の形態に従って、高速のセット／リセット論理回路の実施例を詳細に示す回路図である。
【図１２】一定の切換状態のもとでの好適な実施の形態の回路における様々な信号のタイミングを説明するタイミング図であり、高速のセット／リセット論理回路が使用可能でない場合の１次オシレータから２次オシレータへの切換動作を示す図である。
【図１３】一定の切換状態のもとでの好適な実施の形態の回路における様々な信号のタイミングを説明するタイミング図であり、高速のセット／リセット論理回路が使用可能である場合の１次オシレータから２次オシレータへの切換動作を示す図である。
【図１４】一定の切換状態のもとでの好適な実施の形態の回路における様々な信号のタイミングを説明するタイミング図であり、１次オシレータが０においてスタックしている場合の１次オシレータから２次オシレータへの切換動作を示す図である。
【図１５】一定の切換状態のもとでの好適な実施の形態の回路における様々な信号のタイミングを説明するタイミング図であり、高速のセット／リセット論理回路が使用可能である場合の、２次オシレータから１次オシレータへの切換動作を示す図である。
【図１６】好適な実施の形態に従って、一定のオシレータ障害を検出する検出回路の実施例を詳細に示す回路図である。
【符号の説明】
【００９２】
１００  コンピュータ・システム
１０１  ＣＰＵ
１０２  メイン・メモリ
１０５  バス
１０６  端末インターフェース
１０７  ストレージ・インターフェース
１０８  Ｉ／Ｏデバイス・インターフェース
１０９  通信／ネットワーク・インターフェース
１１１，１１２，１１５，１１６，１１７，１１８，１１９  回路カード
１２１  ユーザ端末
１２２  データ・ストレージ・デバイス
１２３  プリンタ
１２４  ＦＡＸ装置
１２６  ネットワーク
２０１，２０２，２０３，２０４，２０５  電子回路カード・アセンブリ
２１１，２１２，２１３，２１４  カード・フレーム・アセンブリ
２２１，２２２，２２３，２２４，２２５，２２６，２２７，２２８  ラック
２３１，２３２，２３３，２３４  集積回路チップ・モジュール
３００  切換回路
３０１  選択論理回路
３０２  伝送切換制御論理回路
３０３  ブリッジ・スイッチ
３０４  伝送状態マシン
３０５  高速のセット／リセット論理回路
３０６  検出論理回路
３０７  周波数分割器
３０８  構成／ステータス・インターフェース論理回路
４０１，４０２，４０３  マルチプレクサ
４０４，４０５  遅延ドライバ
５０１  ２入力ＸＯＲゲート
６０１，６０２，６０３  ラッチ
６０４  組合せ論理回路
６０５  １対のラッチ
６０６  論理ＯＲゲート
６０７  ＮＯＲゲート
６０８  ＯＲゲート
６０９，６１０，６１１  遅延回路
６１２  チューナブル・クロック回路
６１３，６１５，６１７  チューナブル遅延回路
６１４，６１６  チューナブル回路
６１８，９０１，９０２，９０５，１４１０  ＯＲゲート
９０３，９０４，９０６，９０７，９０８  ＡＮＤゲート
９０９  遅延ドライバ
１４０１，１４０２  パルサ回路
１４０３，１４０４  ２ステージ・ラッチ
１４０５，１４０６  ラッチ・バンク
１４０８  コンパレータ
１４０９  ラッチ
【図１】
2005004739.tif 000004
【図２】
2005004739.tif 000005
【図３】
2005004739.tif 000006
【図４】
2005004739.tif 000007
【図５】
2005004739.tif 000008
【図６】
2005004739.tif 000009
【図７】
2005004739.tif 000010
【図８】
2005004739.tif 000011
【図９】
2005004739.tif 000012
【図１０】
2005004739.tif 000013
【図１１】
2005004739.tif 000014
【図１２】
2005004739.tif 000015
【図１３】
2005004739.tif 000016
【図１４】
2005004739.tif 000017
【図１５】
2005004739.tif 000018
【図１６】
2005004739.tif 000019