(57)【要約】基準クロックから複数のクロックを生成するように自動検査システムを構成するシステムおよび方法は、ユーザ・インターフェースと、ソフトウェアとを含む。ユーザ・インターフェースは、複数のクロックの所望の周波数を指定する複数の入力を受ける。ユーザ・インターフェースからのコマンドに応答して、ソフトウェアは、基準クロックに結合されている分周器の分周値を計算し、基準クロックから所望の周波数の各々を派生する。一実施形態によれば、所望の周波数は、コヒーレンスを満足するために満たさなければならない比率を形成する。分周値を計算する際、ソフトウェアは、必要な比率を正確に保存しつつ、周波数誤差を極力抑える。
2005518543.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックから、該基準クロックに結合されている分周器によって複数のクロックを生成するように自動検査システムを構成するシステムであって、
前記複数のクロックの所望の周波数を指定する複数の入力を有するインターフェースと、
前記インターフェースに応答して動作し、前記複数のクロックの所望の周波数を確立するための分周値を計算するソフトウェアと、
を備えているシステム。
【請求項２】
請求項１記載のシステムにおいて、前記インターフェースは、前記複数のクロックの内少なくとも１つの周波数を、前記複数のクロックの少なくとも１つの他のクロックの関数として指定する、少なくとも１つの入力を備えている、システム。
【請求項３】
請求項１記載のシステムにおいて、前記インターフェースは、前記検査システムの計器のタイミング特性を指定する入力を備えている、システム。
【請求項４】
請求項３記載のシステムであって、更に、前記計器の指定したタイミング特性を、前記計器の能力を示す格納データと比較する、エラー・チェック・コードを備えている、システム。
【請求項５】
請求項４記載のシステムにおいて、前記インターフェースは、更に、前記指定したタイミング特性が前記計器の能力と適合性がないことに応答して、前記エラー・チェック・コードが発生するエラー・メッセージを表示するウィンドウを含む、システム。
【請求項６】
請求項３記載のシステムであって、更に、前記計器のタイミング特性の入力に応答して、前記複数のクロックの少なくとも１つの所望の周波数を計算するコードを備えている、システム。
【請求項７】
請求項１記載のシステムにおいて、
前記ソフトウェアは、前記分周器の計算値を示す出力を生成し、
前記インターフェースは、更に、前記分周器の計算値のディスプレイを備えている、
システム。
【請求項８】
請求項７記載のシステムにおいて、前記インターフェースは、更に、前記分周器の計算値の素因数のディスプレイを備えている、システム。
【請求項９】
請求項１記載のシステムにおいて、前記インターフェースは、更に、前記複数のクロックの異なるものを、コヒーレンシを維持しなければならないグループに割り当てる入力を備えている、システム。
【請求項１０】
基準クロックから複数のクロックを生成するように自動検査システムを構成する方法であって、
前記複数のクロックの所望の周波数を指定する複数の入力を受け、
前記受けた入力に応答して、前記基準クロックに結合されている分周器の分周値を計算し、前記複数のクロックの所望の周波数を確定する、
ことを含む方法。
【請求項１１】
請求項１０記載の方法であって、更に、前記複数のクロックの少なくとも１つの所望の周波数を、前記複数のクロックの内少なくとも１つの他のクロックの関数として指定することを含む、方法。
【請求項１２】
請求項１０記載の方法であって、更に、検査システムの少なくとも１つの計器のタイミング特性を指定することを含む、方法。
【請求項１３】
請求項１０記載の方法において、前記タイミング特性は、計器のサンプリング・レート、対象周波数、分周値、周波数乗算値、および周波数分解能のいずれかを含む、方法。
【請求項１４】
請求項１３記載の方法において、タイミング特性を指定する入力は、計器のサンプリング・レートを、別の計器のタイミング特性の関数として指定する少なくとも１つの入力を含む、方法。
【請求項１５】
請求項１３記載の方法において、タイミング特性を指定する前記入力は、計器の対象周波数を、別の計器のタイミング特性の関数として指定する少なくとも１つの入力を含む、方法。
【請求項１６】
請求項１３記載の方法において、タイミング特性を指定する前記入力は、計器の周波数分解能を、別の計器のタイミング特性の関数として指定する少なくとも１つの入力を含む、方法。
【請求項１７】
請求項１２記載の方法であって、更に、計器に対して指定した前記タイミング特性を、前記計器の能力を示す格納データと比較することを含む、方法。
【請求項１８】
請求項１７記載の方法であって、更に、前記指定したタイミング特性が前記計器の能力と適合性がないことに応答して、前記比較するステップにおいて発生したエラー・メッセージを表示することを含む、方法。
【請求項１９】
請求項１３記載の方法であって、更に、計器の入力タイミング特性に基づいて、当該計器を駆動するための所望のクロック周波数を計算することを更に含む、方法。
【請求項２０】
請求項１０記載の方法であって、更に、前記分周器の計算値を示す出力を表示することを含む、方法。
【請求項２１】
請求項２０記載の方法であって、更に、前記分周器の計算値の素因数を表示することを含む、方法。
【請求項２２】
請求項１０記載の方法において、所望のクロック周波数は、コヒーレントな検査を確保する比率によって関係付けられ、更に、前記検査システムが前記所望の周波数において入力比率を満たすことができない場合、前記所望のクロック周波数を変更し、前記比率を正確に維持することを含む、方法。
【請求項２３】
請求項２２記載の方法であって、更に、
前記複数のクロックの異なるクロックをグループに割り当て、
同じグループに割り当てられたクロックの所望の周波数を変更して、同じグループにおけるクロック周波数間で、前記入力した比率を正確に維持する、
ことを含む方法。
【請求項２４】
請求項１０記載の方法において、前記受けるステップは、前記所望の周波数の各々について、有理分母によって除算された有理分子の形式で、入力を受けることを含む、方法。
【請求項２５】
請求項１０記載の方法であって、更に、前記自動検査システム内において前記複数の分周器をプログラムし、前記計算値を決定する検査プログラム・コードを発生することを含む、方法。
【請求項２６】
請求項２５記載の方法であって、更に、前記検査プログラム・コードを検査プログラムに格納し、前記自動検査システム上で実行することを含む、方法。
【請求項２７】
自動検査システムであって、
基準クロックと、
前記基準クロックに結合され、該基準クロックから派生する複数のクロックを発生する複数の分周器と、
前記複数のクロックの所望の周波数を指定する複数の入力を有するユーザ・インターフェースと、
前記ユーザ・インターフェースに応答して、前記複数の分周器の分周値を計算し、前記基準クロックから前記所望のクロック周波数の各々を確定するように動作するソフトウェアと、
を備えている自動検査システム。
【請求項２８】
請求項２７記載の自動検査システムであって、更に、前記ユーザ・インターフェースに応答して、前記自動検査システム内において複数の分周器を構成して前記計算値を決定する検査プログラム・コードを発生するように動作する構成発生コードを備えている、自動検査システム。
【請求項２９】
基準クロックと、該基準クロックから複数のクロックを派生させる複数の分周器とを有する自動検査システムにおいて被検査デバイス（ＤＵＴ）を検査する方法であって、
前記複数のクロックの所望の周波数を指定する複数の入力を受け、
前記複数の入力を受けたことに応答して、前記分周器の分周値を計算し、前記所望のクロック周波数の各々を確定し、
前記所望のクロック周波数を供給するように前記複数の分周器を構成し、
前記複数のクロックの第１クロックの制御の下で、前記ＤＵＴに信号を印加し、
前記複数のクロックの第２クロックの制御の下で、前記ＤＵＴからの信号をサンプリングし、
前記サンプリング値を予測値と比較して、前記ＤＵＴが合格かまたは不合格か判定する、
ことを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、電子回路の自動検査機器（ＡＴＥ：automatic test equipment）に関し、更に特定すれば、自動検査システムにおいて多数のクロックをプログラムする技術に関する。
【背景技術】
【０００２】
ＡＴＥシステムは、通例、多数のクロックを用いて電子デバイスを検査（テスト）する。通常の検査過程では、３つ以上のクロック、例えば、ディジタル・クロック、ソース（供給）クロック、およびキャプチャ（捕捉）クロックを用いることがある。ディジタル・クロックは、ディジタルＩ／Ｏがディジタル信号を被検査デバイス（ＤＵＴ：device under test）に印加する際、またはＤＵＴからのディジタル信号をサンプリングする際のレートを規定する。ソース・クロックは、任意波形発生器（ＡＷＧ：arbitrary waveform generator）のようなアナログ源がＤＵＴに印加するアナログ信号の出力レベルを変化させるレートを規定する。キャプチャ・クロックは、ディジタイザがＤＵＴからのアナログ信号をサンプリングするレートを規定する。
【０００３】
デバイスの検査では、一般に、検査システムの異なるクロックの調和を取る必要がある。ＤＡＣ（ディジタルーアナログ変換器）を検査する場合、ディジタル・クロックとキャプチャ・クロックの調和を取り、ＤＡＣ入力コードに関係付けられた既知の点において、ディジタイザがＤＡＣの出力をサンプリングすることを確実にする。同様に、ＡＤＣ（アナログーディジタル変換器）を検査するとき、ディジタル・クロックは、ＡＤＣからのディジタル・リードバック(digital readback)を、アナログ入力信号に沿った既知の点に確実に関係付けるようにする。
【０００４】
特に重要なことは、クロックの調和を取って「コヒーレンス」を達成することである。シグナルがコヒーレントであるのは、当該信号における各トーンがサンプル・ウィンドウ内において整数回のサイクルを完了するときである。数学的には、コヒーレンスが達成されるのは、Ｆｓ／Ｎ＝Ｆｉｋ／Ｍｋのときである。ここで、
・Ｆｓは、計器のサンプリング・レート、
・Ｎは、サンプル・ウィンドウにおけるサンプル数（供給または捕捉）、
・Ｆｉｋは、Ｋ番目のトーンの対象周波数（出力または期待値）、
・Ｍｋは、サンプル・ウィンドウ内でｋ番目のトーンが完了するサイクル数である。
【０００５】
コヒーレントの必要性が生じるのは、１回の検査に２つ以上のクロックを伴うときであり、例えば、１つのクロックが入力信号の供給(ソーシング：sourcing)を制御し、他方のクロックが、入力信号と同じ周波数を有する出力信号の捕捉を制御するときである。調和を取らないと、Ｆｓ／Ｎ＝Ｆｉｋ／Ｍｋとなることを保証することができず、したがって、コヒーレンスを保証することができない。
【０００６】
コヒーレンスは、「漏洩」を防止するために重要である。漏洩とは、切頭トーン(truncated tone)を供給またはサンプリングしたことの数学的結果である。漏洩は、供給した信号に高調波歪みを付加し、サンプリングした信号のＤＦＴ（離散フーリエ変換）を歪ませる。したがって、漏洩は、検査システムのデバイス特性を精度高く検査する能力を低下させる。
【０００７】
検査技術者は、従来、検査システムのクロッキング・システムおよび計器に関する彼らの知識を応用して、手作業でクロック周波数を確認している。クロッキング・システムおよび計器は、過度に複雑であるが、様々な制約があり、タイミングを規定（指定）することができる柔軟性には限界がある。したがって、検査技術者は、従来、検査システムのクロックを的確に構成できるようになるには、高度の熟練度を有することが必要であった。
【０００８】
検査システムのクロックを規定する場合、検査の設定にコヒーレンスが必要となる場合には、一層困難となる。コヒーレンスは、テスタ内の２つ以上のクロックが固定の周波数比率を有さなければならないという更に別の制約を付加する。多くの場合、クロッキング・システムまたは計器における制約のために、検査技術者が使用を望む特定の周波数においてこの比率を得ることができない。これらの制約に対処するために、検査技術者は、一般に、検査システムが生成することができ、要求比率も満たす、近くの周波数を求める。この作業は、多くの場合、時間のかかる試行錯誤のプロセスとなる。加えて、この手作業の手法では、最終的に用いた周波数が、比率の制約を満たし、元来所望していた周波数に最も近い実現可能な周波数であるという確証が得られない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
自動検査システムにおいてクロックをプログラムする手法の簡略化および高精度化が求められている。
以上の背景を念頭において、本発明の目的は、自動検査システムにおいて、多数のクロックの構成を簡便に規定することである。
【課題を解決するための手段】
【００１０】
前述の目的、ならびにその他の目的および利点を達成するために、基準クロックから複数のクロックを生成するように自動検査システムを構成する手法は、複数のクロックの所望の周波数を指定する複数の入力を受けるユーザ・インターフェースを含む。ユーザ・インターフェースからのコマンドに応答して、ソフトウェアが、基準クロックに結合されている分周器に対する分周値を計算し、基準クロックから所望の周波数の各々を導き出す。
【００１１】
本発明の一実施形態によれば、所望の周波数は、コヒーレンスを満足するためには満たさなければならない比率を形成する。分周値を計算する際、ソフトウェアは、必要な比率を正確に維持しつつ、周波数誤差を極力抑える。
【００１２】
本発明の更に別の目的、利点、および新規な特徴は、以下の図面を参照した説明を考慮することにより明白になるであろう。
【発明を実施するための最良の形態】
【００１３】
図１は、クロックを構成するシステムと共に用いることができる、クロッキング・システムの簡略化した等価ブロック図である。クロッキング・システム１００は、マサチューセッツ州、ボストンのTeradyne, Inc.が製造する、Catalyst（登録商標）検査システムのそれに対応する。クロッキング・システムの内部では、１０ＭＨｚ水晶発振器１１０の周波数が、位相ロック・ループ１１２によって逓倍され、１００ＭＨｚの基準クロックを生成する。基準クロックの周波数は、Ｋ乗算器１１４によって逓倍され、超高分解能光学基準クロック（ＯＲＣ：optical reference clock）を生成する。ＯＲＣは、固定モードおよび可変モード双方を有する。固定ＯＲＣモードでは、Ｋ＝５００，０００，０００であり、５０，０００ＴＨｚのＯＲＣ周波数に対応する（１テラヘルツ＝１０１２Ｈｚ）。可変ＯＲＣモードでは、Ｋは２２８ないし２２９の間で変化することが可能である。これは、約２６，８４４ＴＨｚないし５３，６８７ＴＨｚの間の範囲にあるＯＲＣに対応する。これは丸めた数値を用いるので、固定ＯＲＣモードの方が、一般に、可変ＯＲＣモードよりもプログラムが簡単である。しかしながら、可変ＯＲＣモードの方が柔軟性は高いので、正確に所望の周波数においてコヒーレント解(coherent solution)を得る頻度は可変ＯＲＣモードの方が高い。
【００１４】
ＯＲＣは、事実上、ディジタル・クロッキング・システム１１６を１つ以上のアナログ・クロッキング・システム１２２に分岐する。ディジタル・クロッキング・システム１１６は、タイミング・パスから成り、このタイミング・パスは、第１分周器１１８を含み、ＯＲＣを整数「Ｄ」で除算して、第１ディジタル出力クロックＣ０を生成する。第２分周器１２０は、第１ディジタル出力クロックＣ０を整数「Ｊ」で分周し、第２ディジタル出力クロックＴ０を生成する。次いで、ディジタル・クロックＣ０およびＴ０は、ＤＵＴに印加されるディジタル・ベクトル、またはＤＵＴからサンプリングされるディジタル・ベクトルのタイミングを制御するために用いることができる。アナログ・クロッキング・システム１２２は、４つのタイミング・パスを含む。各タイミング・パスは、それぞれのアナログ・マスタ・クロック（ＡＭＣ０〜ＡＭＣ３）を発生する第１分周器１２４（ＤＭＣ０〜ＤＭＣ３）、第１分周器の出力を送出するマルチプレクサ（１２６ａ〜１２６ｄのいずれか）、およびそれぞれの出力クロック（Ａ０〜Ａ３）を発生する第２分周器１２８を含む。出力クロックＡ０〜Ａ３は、計器バスを通じて送信され、計器バス上では、これらは、個々の計器（機器）が使用するためにアクセス可能となっている。
【００１５】
Catalystクロッキング・システムは、ＯＲＣがＫ＊１００ＭＨｚで動作しているかのように、それを動作させることができる内部アーキテクチャ（図示せず）を採用している。しかしながら、その物理的実施態様では、基準クロックは１００ＭＨｚに固定されたままである。とはいえ、この詳細は、動作上はトランスペアレント（透過的）である。ディジタル・クロックＣ０、Ｔ０およびアナログ・クロックＡ０〜Ａ３をプログラムするには、ＯＲＣが単純に分周（除算）値で分割されるかのように、各タイミング・パス毎に第１および第２分周値に対して分周値を単に規定（指示）するだけでよい。
【００１６】
図２は、本発明を用いることができるテスタ環境を示す。ユーザ２１０、例えば、検査技術者は、ワークステーションまたはその他のコンピュータ２１２を操作する。ワークステーション２１２は、テスタ２２０内においてクロックを構成するコンピュータ・プログラム２１３を実行する。テスタ２２０は、図１のクロッキング・システム１００に対応するクロッキング・システム２２２を含む。また、テスタ２２０は、クロックＣ０またはＴ０の制御の下でＤＵＴ２２８からディジタル信号を受けて(source)、サンプリングするディジタルＩ／Ｏ２２４と、アナログ・クロックＡ０〜Ａ３の制御の下でアナログ信号を受けてサンプリングするアナログ計器２２４とを含む。
【００１７】
コンピュータ・プログラム２１３は、ここでは「クロック・マネージャ」と呼ぶが、ソフトウェア２１６と通信するグラフィカル・ユーザ・インターフェース（ＧＵＩ）２１４を含む。好適な実施形態では、クロック・マネージャは、ＰＣ互換コンピュータまたは、Microsoft（登録商標）のVisual Basic（登録商標）を用いるワークステーション上に実装する。ＧＵＩ２１４は、ユーザ入力を受け、出力を表示し、コマンドを受けるためのフィールドおよび制御部を含む。ソフトウェア２１６は、入力およびコマンドに応答して動作し、クロッキング構成（コンフィギュレーション）データを発生する。クロッキング構成データは、クロッキング・システム（即ち、分周器およびＫ乗算器）をどのように構成して、ユーザが指定した所望のクロック周波数に一致させるかを指定する。
【００１８】
ＧＵＩ２１４は、好ましくは、ユーザが対話処理することができるフォームを含む。図３は、クロック・マネージャ・フォーム３００を示し、これは、ユーザが最初にクロック・マネージャ・プログラムを立ち上げたときに表示することが好ましい。クロック・マネージャ・フォーム３００は、ユーザに、検査システムのクロッキング・システムのグラフィック・モードを提示する。このモデル内では、１００ＭＨｚ基準の表現３１０は、モデル化した「Ｋ乗算器（K Multiplier）」３１２で周波数を逓倍し、ＯＲＣ３１４を生成したように見える。ＯＲＣ３１４は、ディジタル部３１６およびアナログ部３１８に分岐して表示される。
【００１９】
ディジタル部では、フィールド３２０および３２４は、それぞれ、クロッキング・システム１００の第１および第２分周器（divider）１１８および１２０に対応し、フィールド３２２および３２６は、それぞれ、ディジタル・クロックＣ０およびＴ０の周波数に対応する。アナログ部では、ＯＲＣが４つのタイミング・パスに分岐している。各タイミング・パスは、第１および第２分周器３２８および３３２のフィールドを有する。これらは、それぞれ、クロッキング・システム１００の分周器１２４ａ〜１２４ｄおよび１２８ａ〜１２８ｄに対応する。また、各タイミング・パスは、それぞれ、アナログ・マスタ・クロック（ＡＭＣ０〜ＡＭＣ３）およびアナログ・クロック（Ａ０〜Ａ３）に対応するフィールドを有する。
【００２０】
また、アナログ部３１８は、ＡＭＣをどのように第２分周器３３２に分配してアナログ・クロックａ０〜ａ３を発生するか指定する、ラジオ・ボタン３３６およびチェックボックス３３８も含む。これらのラジオ・ボタンおよびチェックボックスは、図１のマルチプレクサ１２６ａ〜１２６ｄの切替機能を表す。ラジオ・ボタン３３６を選択し、いずれかの数のチェックボックス３３８をチェックすることによって、ユーザは、事実上、選択したＡＭＣを、チェックボックスによって選択した各タイミング・パスの第２分周器３３２の入力に「接続した」ことになる。一旦確定したなら、異なるラジオ・ボタンまたはチェックボックスが選択されても、接続はそのまま残る。新たな接続は、古い接続を上書きする。
【００２１】
図３のクロック・マネージャ・フォームへの入力は、空白フィールドで示され、出力は陰影（シェーディング）フィールドで示されている。クロック・マネージャ・フォーム３００を操作するには、ユーザは、所望のクロック周波数を、Ｃ０、Ｔ０、およびＡ０〜Ａ３のフィールド（それぞれ、フィールド３２２、３２６、および３３４）のいずれかに入力する。次に、ユーザは、「分周器発見（Find Dividers）」ボタン３５２または「固定ＯＲＣ発見（ORC Fixed Find）」ボタン３５４のいずれかをクリックする。これらのボタンのいずれかのクリックに応答して、ソフトウェア２１６は、自動的に、ユーザが所望の周波数を入力したクロックを生成するために必要な全ての分周器に対して、分周値を計算する。ユーザが「分周器発見」ボタンをクリックした場合、ソフトウェア２１６は、可変ＯＲＣモードのために、分周値および乗数Ｋを計算する。ユーザが「固定ＯＲＣ発見」ボタンをクリックした場合、ソフトウェア２１６は、固定ＯＲＣモードのために分周値を計算する（即ち、Ｋ＝５００，０００，０００）。
【００２２】
図４は、可変ＯＲＣモードに対するクロック・マネージャ・フォーム３００の出力を示す。ユーザは、既に１００ＭＨｚをＴ０フィールドに入力し（３２６）、５００ＫＨｚをＡ０フィールドに入力し、１５０ＫＨｚをＡ１フィールドに入力してある（３３４）。更に、ユーザは、「分周器発見」ボタン３５２をクリックしてある。これに応答して、ソフトウェア２１６は、Ｋ乗算器３１２、第１および第２分周器（ディジタル・クロックＡ０およびＡ１のため）、ならびにＣ０  ３２２の値を計算し出力してある。（Ｃ０は、入力または出力のいずれでも可能である。入力が規定されていない場合、ソフトウェアはＪが１に等しいと仮定し、Ｃ０をＴ０に等しく設定する）。
【００２３】
ソフトウェア２１６は、Ｋ乗算器および分周器の値を決定し、ユーザが要求した所望の周波数を正確に得るができたことに着目することは重要である。ソフトウェアは所望の周波数を正確に当てることができるので、Ｔ０およびＡ０間、Ｔ０およびＡ１間、ならびにＡ０およびＡ１間の比率は、正確にユーザが規定したものである。これらの比率がコヒーレンスのために必要な場合、これらの比率を維持して、コヒーレンスを確保する。
【００２４】
図５は、固定ＯＲＣモードに対するクロック・マネージャ・フォーム３００の出力を示す。ユーザは、図４におけると同様、既に同じ周波数を入力してあるが、「固定ＯＲＣ発見」ボタン３５４をクリックした。以前と同様、ソフトウェア２１６は、Ｔ０、Ａ０、Ａ１に対する第１および第２分周値を計算し出力してある。しかしながら、ソフトウェアは、乗数Ｋを５００，０００，０００に固定するという制約の下で動作した。この制約によって、タイミング・システムの柔軟性が制限され、この場合、ソフトウェアが正確に目標周波数に合致させるのを妨げた。その探索（サーチ）を中止したり、あるいは単にエラーを発生するのではなく、ソフトウェア２１６は、規定の比率に合った、所望の目標周波数に最も近い周波数を見つけ出す。表示されたＴ０、Ａ０、およびＡ１の周波数の比率は、元来規定した目標周波数の比率と同じなので、コヒーレンスは引き続き確保されている。
【００２５】
尚、固定ＯＲＣモードによって発生した周波数誤差は、非常に小さく、この場合０．１ＰＰＭ未満であることは注目される。この誤差は、検査システムにおいて通例見られるその他の誤差よりもはるかに小さく、一般に無視することができる。したがって、クロック・マネージャ・プログラムによって、検査技術者は、周波数の精度を著しく犠牲にすることなく、固定ＯＲＣモードに対してコヒーレントなクロックを得ることが可能となる。これは、検査技術者にとっては大きな利点である。何故なら、固定ＯＲＣモードは、一般に、可変ＯＲＣモードよりも使い易いからである。
【００２６】
可変ＯＲＣモードおよび固定ＯＲＣモードの動作について、目標周波数を２つのみにして例示した。しかしながら、検査での必要性に応じて、より多くの目標周波数を規定することもできる。
【００２７】
検査によっては、コヒーレントなクロックを必要としなかったり、検査のために規定したクロック全てがコヒーレントである必要がない場合もある。他の検査では、異なる複数のコヒーレント・クロック集合を必要とする場合もある。コヒーレンスは、ソフトウェアの目標周波数に合致させる能力（特に、固定ＯＲＣモードにおいて）を制限する制約であるので、必要でなければ、ＧＵＩ２１４は、ユーザにこの制約を除去させることが好ましい。「グループ化（Grouping）」ボタン３５０を押下することによって、ＧＵＩはコヒーレンシ・グループ化フォーム（Coherency Grouping Form）６００を表示し、ユーザに、異なる複数のクロックを共にグループ化させるか、あるいは複数のクロックを異なる複数のグループに分離する。
【００２８】
図６は、コヒーレンシ・グループ化フォーム６００を示す。１から５まで付番されている１組６１０のラジオ・ボタンが、クロック・マネージャ・フォーム上に示したＣ０／Ｔ０およびアナログ・クロックの各々に設けられている（Ｔ０およびＣ０は、１つのクロックとして扱われる。何故なら、これらは本来的に一緒にグループ化されているからである）。ユーザは、グループ番号のラジオ・ボタンをクリックすることによって、クロックをグループに割り当てる。各クロック毎に、１つのグループ番号だけが選択可能である。ユーザは、同じグループ番号を与えることによって、異なるクロックを同じグループに割り当てるか、あるいは異なるグループ番号を与えることによって、異なるクロックを異なるグループに割り当てる。「分周器発見」または「固定ＯＲＣ発見」ボタンをクリックすると、ソフトウェアは、各グループ内で所望の周波数の比率を保存する分周値（および可変ＯＲＣモードでは、Ｋ乗算器の値）を計算する。ソフトウェアは、異なるグループに割り当てたクロック間で、必ずしも比率を保存している訳ではない。
【００２９】
コヒーレンシは、クロック間で入力された比率を保存することだけでなく、比率が正確であることも要求する。このために、クロック・マネージャ・プログラムは、正しくコヒーレント捕捉を規定する際にユーザを補佐するために計器フォーム７００を含む。ユーザは、クロック・マネージャ・フォーム３００上の特定のクロックに対するクロック割り当てボタン３５６をクリックすることによって、そのクロックの計器フォーム７００を呼び出す。異なるクロック割り当てボタンが、各アナログ・クロックＡ０〜Ａ３に設けられている。
【００３０】
図７は、計器フォーム７００を示す。計器フォーム７００は、ａＮクロック・フィールド７１０を含み、これはアナログ入力クロック（Ａ０〜Ａ３）の周波数を指定する。ラベル７１２は、選択したクロックの数を示す（ここでは、クロックａ０に対して「０」）。ユーザは計器フォーム７００を操作する際、まず計器フィールド７１４から１つの計器を選択する。計器フィールド７１４は、コンボ・ボックスとして実施することが好ましい。ユーザが計器フィールドをクリックすると、フィールドは、フォームが構成することができる、全計器のリストを表示する。ユーザがリストから所望の計器を選択すると、計器フィールドは、選択された計器の名称を表示する。次いで、ユーザは、選択した計器を構成するために、タイミング特性を指定することができる。
【００３１】
タイミング特性は、各計器種別毎に特定的である可能性があるが、一般に、サンプリング・レート（Ｆｓ）、サンプル数（Ｎ）、対象周波数（Ｆｉ）、および対象周波数のサイクル数（Ｍ）を含む。これらのタイミング特性は、ソースおよび測定計器双方に適用される。例えば、ＡＷＧでは、Ｆｓは、ＡＷＧが出力サンプルを発生するレートを指定し、Ｎは発生するサンプル数を指定し、Ｆｉは出力周波数を指定し、ＭはＦｉで発生するサイクル数を指定する。ディジタイザでは、Ｆｓはディジタイザのサンプリング・レートであり、Ｎはサンプル・ウィンドウの間に取得したサンプル数であり、Ｆｉは測定対象の予測周波数であり、ＭはＦｉにおいてサンプル・ウィンドウの間に完了するサイクル数である。
【００３２】
計器フォーム７００は、Ｆｓ、Ｎ、ＦｉおよびＭの各々に合わせたフィールドを含む（それぞれ、７１６、７１８、７２０、および７２２）。また、これは、周波数分解能Ｆｒｅｓのフィールド７２４も含む。周波数分解能は、式Ｆｒｅｓ＝Ｆｓ／Ｎ＝Ｆｉ／Ｍに基づき、ＦｓおよびＮ、あるいはＦｉおよびＭに依存する。ディジタイザでは、Ｆｒｅｓは、その取得したサンプルから取ったＤＦＴのビン幅を表す。ＡＷＧでは、Ｆｒｅｓは、ＡＷＧをプログラムすることができる最小周波数増分値（インクリメント）を表す。ユーザはタイミングをＦｒｅｓに関して指定することを選ぶ場合が多いので、計器フォーム７００は、ユーザが、Ｆｒｅｓを別個に構成することを可能にする。
【００３３】
計器フォーム７００は、異なる計器が選択された場合、各計器の個々の要件に応じて、ユーザに異なるフィールドを提示する。例えば、ユーザが低精度周波数源（ＰＬＦＳＲＣ：Precision Low-Frequency Source）を選択した場合、計器フォームは、前述のフィールド（図７参照）のみを提示する。しかし、ユーザが低精度周波数ディジタイザ（ＰＬＦＤＩＧ：Precision Low-Frequency Digitizer）を選択した場合、計器フォームは、２つの追加のフィールド、１つはａＮクロックを乗算するため、１つはａＮクロックを分周してＦｓを得るためのフィールドを表示する（図８参照）。
【００３４】
図７に戻って、計器フォーム７００は、種々のフィールドの値を計算する際にユーザを補佐する矢印ボタン７３４ａ〜７３４ｈを含む。ユーザがこれらの矢印ボタン７３４ａ〜７３４ｈのいずれかをクリックすると、ソフトウェアは、矢印ボタンが指し示すフィールドの値を、フォーム上の他のフィールドの１つ以上に基づいて計算する。ボタン７３４ｃをクリックすると、以前に入力したＦｓおよびＮの値に基づいてＦｒｅｓを計算する（Ｆｒｅｓ＝Ｆｓ／Ｎ）。逆に、ボタン７３４ｅをクリックすると、以前に入力したＦｒｅｓおよびＮの値に基づいて、Ｆｓを計算する。ボタン７３４ｄをクリックすると、以前にＦｓおよびＦｒｅｓの値が入力されていれば、Ｎの最良値を見出す。Ｆｓ／Ｆｒｅｓが整数ならば、ソフトウェアは単にＮ＝Ｆｓ／Ｆｒｅｓに代入する。Ｆｓ／Ｆｒｅｓが整数でないなら、ソフトウェアはチェックボックス７３２の状態に応じて、２つの方法の一方で動作する。チェックボックス７３２がチェックされている場合、ソフトウェアは、Ｎの最良値を計算する際、Ｆｒｅｓを一定に保持する。チェックボックス７３２がチェックされていない場合、ソフトウェアはＮを計算する際Ｆｓを一定に保持する。いずれの場合でも、ソフトウェアは、一定に保持するように命令されていないタイミング特性、即ち、ＦｓまたはＦｒｅｓの変化を最も小さく抑えるようなＮの値を選択する。ボタン７３４ｆ，７３４ｇ、および７３４ｈは、Ｆｒｅｓ＝Ｆｉ／Ｍという制約に基づいて、それぞれ、ボタン７３４ｃ、７３４ｄ、および７３４ｅと同様に作用する。
【００３５】
また、計器フォーム７００は、計算（Calculate）ボタン７４２も含む。計算ボタンをクリックすると、ソフトウェアに、以前に入力したＦｓおよびＦｉの値に基づいて、Ｆｒｅｓ、Ｍ、およびＮを計算するように指令する。式Ｆｓ／Ｆｉ＝Ｎ／Ｍが与えられている場合、ソフトウェアは、まず、分数Ｆｓ／Ｆｉを最も単純な項に約する(reduce)ことによって、ＮおよびＭを計算しようとする。ソフトウェアは、変形した分数の分子をＮに代入し、分母をＭに代入する。次いで、Ｆｓ＊ＮとしてＦｒｅｓを計算する。Ｎが許容されるよりも大きい場合（即ち、計器が余りに多くのサンプルを取り込むことを入力値が要求する場合）、ソフトウェアはＦｉを小さな増分値ずつ連続的にシフトして、ＭおよびＮを許容範囲に入れるＮおよびＭの最小の整数値を求める。入力したＦｉと実際のＦｉとの間に結果的に生じた不一致は、概ね非常に小さい。
【００３６】
計器フォーム上で矢印ボタン７３４ａをクリックすることにより、ＧＵＩはＦｓの値をａＮクロック・フィールド７１０に転送する。ユーザは、キャンセル・ボタン７４６またはリターン・ボタン７４４をクリックすることによって、計器フォーム７００を閉じることができる。キャンセル・ボタン７４６をクリックすると、計器フォームが中断され、制御をクロック・マネージャ・フォーム３００に戻す。リターン（Return）ボタン７４４をクリックすると、計器フォーム７００の状態が格納され、フォームを閉じる。また、ａＮクロック・フィールド７１０の内容を、選択したクロック、即ち、ユーザが最初にクロック割り当てボタン３５６をクリックしたときのクロックＡ０〜Ａ３に対するクロック・マネージャ・フォーム３００のアナログ・クロック・フィールド３４４に送る。
【００３７】
先に示したように、計器構成は、本来、Ｆｓ／Ｎ＝Ｆｉ／Ｍという制約を受ける。この式をＦｓ／Ｆｉ＝Ｍ／Ｎと書き換えることができ、こうすると、分数Ｍ／Ｎを最も単純な項(term)に変形し、計器が冗長データを発生または取得するのを防止しなければならないことが明らかとなる。冗長データを回避するために、計器フォーム７００は、「Ｎ＆Ｍ」ステータス・インディケータ７３８を含む。このインディケータは、Ｍ／Ｎが最も単純な関係にある場合（即ち、ＭおよびＮが互いに素数）緑色になり、それ以外の場合インディケータは赤になる。
【００３８】
計器フォーム７００は、有効インディケータ７３６および診断フィールド７４０も含む。計器の能力は、タイミング特性を構成することができる柔軟性を制限する。例えば、ＡＷＧは、限られた範囲のサンプリング・レートでのみ動作し、限られた帯域幅のみで入力信号を受けるように設計されている。ソフトウェアは、計器データベースを含み、計器毎に入力されたタイミング特性を計器の能力に確実に合わせるようにしている。計器データベースは、計器フォーム７００を用いて構成可能な各計器毎にプログラミング上の制約を格納している。ユーザがタイミング・フィールド（例えば、フィールド７１６〜７２４）のいずれかにデータを入力したことに応答して、ソフトウェアは有効性判断ルーチンを実行する。有効性判断ルーチンは、入力されたタイミング特性を、計器データベースに格納されているプログラミング上の制約と比較する。入力されたタイミング特性が、計器のプログラミング上の制約のいずれかに違反している場合、有効インディケータ７３６は赤に変わり、診断フィールド７４０に診断メッセージが表示される。診断メッセージは、一般に、違反しているタイミング特性を識別し、タイミング特性をプログラムすることができる許容範囲を指定する（図８参照）。時には、タイミング特性のある組み合わせに適合性がないために、計器構成が無効になることもある。これらの場合、診断メッセージは、タイミング特性を変更する示唆を含むことが好ましい。入力されたタイミング特性が、計器データベースに格納されているプログラミング上の制約のいずれにも違反していない場合、有効インディケータ７３６は緑になり、診断フィールド７４０は消去される。
【００３９】
前述したように、コヒーレンスは、一般に、テスタにおける異なるクロック間の調和を必要とする。テスタが特定の周波数において増幅器の利得を測定する場合について検討する。ＡＷＧは、周波数Ｆｉを有する刺激（スティミュラス：stimulus)を増幅器の入力に印加し、ディジタイザは、増幅器の出力から増幅された応答を取り込む。増幅器の出力周波数もＦｉであるので、ディジタイザはＦｉのサイクルを整数個含むサンプル・ウィンドウにおいてＤＵＴの応答をサンプリングしなければならない。したがって、この場合、ディジタイザのＦｉは、コヒーレンスを確保するためには、ＡＷＧのＦｉに等しくなければならない。
【００４０】
計器フォーム７００は、コヒーレンスを確保する作業を簡略化するに当たり、１つの計器のタイミング特性を別の計器のタイミング特性の関数としてユーザに構成させる。計器フォーム上のボタン３２６、３２８、および３３０をクリックすると、フォームは、それぞれ、Ｆｓ、Ｆｉ、およびＦｒｅｓに対するタイミング依存性を構成するための追加フィールドを表示する。
【００４１】
図９は、ユーザがＦｉ依存性（dependence）のボタン７２８をクリックした後の計器フォーム７００を示す。図９に示すように、計器フォームは、これまで隠されていた計算領域９００を表示する。計算領域９００は、分子フィールド９１０および分母フィールド９１２を含む。また、アナログ分岐（analog branch）領域９１４、ソース（source）領域９１６、および値取得（Get value）ボタン９１８も含む。ユーザは、Ｆｉのクロック依存性を指定する際、分子および分母をフィールド９１０および９１２に入力し、アナログ分岐領域９１４からクロックを選択し、選択したクロックに対するタイミング特性の１つをソース領域９１６から選択する。領域９１４および９１６は、各領域から１つの項目のみを選択させるラジオ・ボタンを含む。図９の例に表示されている設定値は、アナログ・クロックａ１に対して指定したＦｓ周波数の３／２に等しいＦｉ周波数に対応する。計算領域９００に示すように、図示したタイミング特性に対して、システム内の別のクロックのいずれに基づいても、Ｆｉを構成することができる。ユーザは、一旦フィールド９１０、９１２、９１４、および９１６を設定したなら、値取得ボタン９１８をクリックすることができる。このボタンをクリックすると、入力された設定値に基づいてＦｉの値を計算し、Ｆｉフィールド７２２に計算値を戻す。
【００４２】
計算領域９００の内容は、押されたボタンに基づいて計算領域の名称が変化することを除いて、ボタン３２６、３２８、または３３０の内どれがクリックされたかに拘わらず、実質的に同一である。ボタン７２６がクリックされたときには、名称は「Ｆｓ依存性（Fs Dependence）」と表示され、ボタン７２８がクリックされたときには「Ｆｉ依存性（FiDependence）」、ボタン７３０がクリックされたときには「Ｆｓ依存性」と表示される。
【００４３】
図１０および図１１は、可変ＯＲＣモード（図１０）および固定ＯＲＳモード（図１１）に対してテスタのクロッキング・システムを構成するための、本発明によるアルゴリズムの一例を示す。好ましくは、このアルゴリズムは、ソフトウェア２１６によって実行され、ＧＵＩ２１４からのユーザ入力またはコマンドに応答して動作する。ソフトウェア２１６は、ユーザがクロック・マネージャ・フォーム３００に所望の周波数を入力し、分周器発見ボタン３５２または固定ＯＲＣ発見ボタン３５４のいずれかをクリックしたときにはいつでも、これらのアルゴリズムの１つを実行することが好ましい。一時的に図１を参照すると、最初に、クロッキング・システム１００の要素を以下のように数学的に関連付ける。
【００４４】
［数１］
Ｃ０＊Ｄ＝ＯＲＣ                                           （１）
ＡＬ＊ＤＡＬ＊ＤＭＣＬ＝ＯＲＣ、Ｌ＝０，１，２，および３   （２）
１００ＭＨｚ＊Ｋ＝ＯＲＣ                                   （３）
分周器（例えば、カウンタ）を用いて所望の周波数を実現するために、Ｋおよび以下の除数(divider)、Ｄ、ＤＡＬ、およびＤＭＣＬの各々が整数となる解集合を求める。
【００４５】
最初に図１０を参照すると、可変ＯＲＣモード用アルゴリズムは、最初に、所望の周波数とマスタ・クロックの周波数の最小公倍数（ＬＣＭ）、即ち、Ａ０〜Ａ３、Ｃ０および１００ＭＨｚのＬＣＭの決定を求める（ステップ１０１０）。ユーザがクロック・マネージャ・フォームのフィールド全てに所望の周波数を入力しなかった場合、ステップ１０１０では、空白のフィールドを無視し、ユーザが所望の周波数を入力したフィールドのみのＬＣＭを求める。得られたＬＣＭは、所望の周波数およびマスタ・クロックの各々が均等に分割される最小の数値である。このように分割（除算）可能であることは、カウンタまたは他の整数に基づく分周器を用いて、ＯＲＣから各所望の周波数を発生できることを意味する。また、これは、Ｋを整数として実現し、マスタ・クロックからＯＲＣを発生できることも意味する。
【００４６】
ＬＣＭが、所望の周波数およびマスタ・クロックの「最小」公倍数であって、他のいずれの公倍数でないことは重要である。ＬＣＭを「最小」公倍数とすることによって、アルゴリズムが、クロック・システム内にある異なる分周器の配列（即ち、第１分周器１２４および第２分周器１２８）間に除算を分散することができる柔軟性が、最大に高められる。これが重要なのは、Catalyst検査システムにおけるアナログ・マスタ・クロック（ＡＭＣ０〜ＡＭＣ３）には周波数の上限値および下限値があるからである。したがって、所望の周波数ＦＤＥＳ−Ｌに第２分周値ＤＡＬを乗算した結果がＡＭＣの許容範囲内に収まるように、第２分周器（ＤＡＬ）を選択しなければならない。加えて、ＬＣＭが最大許容ＯＲＣ（２２９）よりも大きい場合、クロッキング・システムに所望の周波数を正確に生成させることができる解集合はない。したがって、「最小」公倍数を求めることは、アルゴリズムにその最高の成功確率を与えることになる。
【００４７】
ステップ１０１２において、アルゴリズムは、ＤＡＬ分周器１２８の値を決定する。このステップは、２つの制約の下で処理される。第１に、各ＤＡＬ＊ＦＤＥＳ−Ｌの積は、それぞれのＡＭＣの許容範囲に収まらなければならない。第２に、ＤＡＬの値は、好ましくは、ＬＣＭに加算する因数(factor)をできるだけ少なく（理想的には無）しなければならない。これは、可能な限り最大の範囲で、ＤＡＬ分周器の因数は、ＬＣＭの因数の部分集合であるべきことを意味する。以前と同様、因数を極力少なくすることにより、クロッキング・システムを構成する際の柔軟度が高くなり、適切な設定が得られる可能性が高まる。
【００４８】
ステップ１０１２ａ〜１０１２ｃは、ステップ１０１２の詳細を展開している。各アナログ・タイミング・パス毎に、アルゴリズムは、ＡＭＣＬをその許容範囲に収めるＤＡＬの下限（ＬＬ）および上限（ＵＬ）を計算する。つまり、
【００４９】
［数２］
ＬＬ＝ＡＭＣＭＩＮ／ＦＤＥＳ−Ｌ                              （４）
ＵＬ＝ＡＭＣＭＡＸ／ＦＤＥＳ−Ｌ                              （５）
ＬＬおよびＵＬが確実に範囲内に収まるために、ＬＬを切り上げ、ＵＬを切り捨てる。次に、アルゴリズムは、ＬＬからＵＬまで各整数を試験し、その因数を決定する。ＬＣＭに新たな因数を追加しない整数が発見されたなら、アルゴリズムはその整数の値をＤＡＬに割り当て、探索（サーチ）を停止する。それ以外の場合、アルゴリズムは、ＬＣＭに追加する付加因数が最も少ない整数の値をＤＡＬに割り当てる。このプロセスを、各アナログ・タイミング・パス毎に繰り返す。
【００５０】
ステップ１０１４において、アルゴリズムは、各ＡＭＣＬをＦＤＥＳ−Ｌ＊ＤＡＬとして計算する。また、アルゴリズムは、「ＬｕｍｐＬＣＭ」と呼ぶ、更新ＬＣＭも計算する。これは、元のＬＣＭの全ての因数に、ＤＡＬ分周器を実現するために必要なあらゆる追加の因数も加えたものを含む。
【００５１】
ステップ１０１６において、アルゴリズムは、積ｐ＊ＬｕｍｐＬＣＭがＯＲＣの許容範囲、ここでは２２８〜２２９に収まるように、別の整数「ｐ」を求める。この制約が与えられると、ｐはＯＲＣＭＩＮ／ＬｕｍｐＬＣＭおよびＯＲＣＭＡＸ／ＬｕｍｐＬＣＭの間のいずれかの整数とすることができる。この範囲におけるｐの中間値を後続の処理に用いる。しかしながら、ｐの選択は任意であり、指定した範囲内に収まる値であれば、どれでも用いることができる。
【００５２】
一旦ｐがわかったなら、残りのクロック設定値は確実に収まる（ステップ１０１８）。即ち、
【００５３】
［数３］
ＯＲＣ＝ｐ＊ＬｕｍｐＬＣＭ                                   （６）
Ｋ＝ＯＲＣ／１００ＭＨｚ                                     （７）
Ｄ＝ＯＲＣ／Ｃ０                                             （８）
ＤＭＣＬ＝ＯＲＣ／ＡＭＣＬ                                   （９）
ステップ１０１８の終了時には、アルゴリズムは、可変ＯＲＣモードに対するクロッキング構成データを計算し終えている。アルゴリズムは、所望の周波数に正確にヒット（一致）したか、あるいはＬｕｍｐＬＣＭが最大許容ＯＲＣよりも大きいために、設定（セットアップ）し損ねたかのいずれかである。
【００５４】
可変ＯＲＣモードでは、コヒーレンシのグループ化を考慮する必要はない。何故なら、ＯＲＣを変化させる柔軟性があるので、丸め処理の必要性がないからである。周波数が丸められないので、コヒーレンスが要求されるか否かに拘わらず、全てのクロックにおいて周波数比率が保存される。
【００５５】
これより図１１を参照すると、固定ＯＲＣモードの最初の３つのステップ１１１０〜１１１４は、図１０のステップ１０１０〜１０１４に密接に関係がある。ステップ１１１０において、アルゴリズムは、以前と同様、所望の周波数とマスタ・クロックの周波数の最小公倍数（ＬＣＭ）、即ち、Ａ０〜Ａ３、Ｃ０、および５０，０００ＴＨｚのＬＣＭを求めようとする。しかしながら、ステップ１１１１でも、アルゴリズムは、所望の周波数とＯＲＣの、更に大きな最小公倍数（ＢｉｇＬＣＭ）、即ち、Ａ０〜Ａ３、Ｃ０、および５０，０００ＴＨｚのＬＣＭも求めようとする。次に、ステップ１１１２においてＢｉｇＬＣＭを用い、既にＢｉｇＬＣＭに含まれている因数以外の新たな因数を最少に抑える第２分周器を選択する。ＢｉｇＬＣＭの因数は、ＬＣＭのそれらとは異なり、関連があるので、アルゴリズムは、可能なときはいつでも、所望の周波数を正確に算出する分周値を得ることができる（即ち、丸めることなく。以下を参照）。尚、ＢｉｇＬＣＭは、ステップ１０１２において新たな因数を最少に抑えるためにのみ用いられることが注目される。新たな因数があり、一旦決定されたなら、アルゴリズムは、ＬｉｍｐＬＣＭを、ＬＣＭと、第２分周器を実現するために必要な追加の因数との積として計算する。
【００５６】
ステップ１１１４において、アルゴリズムは、ステップ１１１２において決定した第２分周器を用いて、ＡＭＣを計算する。このステップにおいて行われる動作は、図１０のステップ１０１２において行われるものと実質的に同一である。
【００５７】
次にステップ１１１６に進み、アルゴリズムは、値ｎ＝ＯＲＣＦＩＸＥＤ／ＬｕｍｐＬＣＭを計算する。ここでＯＲＣＦＩＸＥＤは公称５０，０００ＴＨｚである。ｎは必ずしも整数とは限らないので、アルゴリズムはｎを最も近い整数ｎｒに丸めて、カウンタまたはその他の整数を元にした分周器によって確実にクロッキング・システムを構成できるようにする。ステップ１１１８において、アルゴリズムは、ＤＭＣ分周器１２４ａ〜１２４ｄおよびＤ分周器１１８を次のように計算する。
【００５８】
［数４］
ＤＭＣＬ＝ｎｒ＊ＬｕｍｐＬＣＭ／ＡＭＣＬ、
Ｌ＝０、１、２、および３            （１０）
Ｄ＝ｎｒ＊ＬｕｍｐＬＣＭ／Ｃ０                          （１１）
ｎが元々整数でなかった場合、ｎを丸めてｎｒを得ると、丸め誤差ｎｒ／ｎが生じ、ＡＭＣおよび所望の周波数に影響を及ぼす。ステップ１１２０において、アルゴリズムは、実際の周波数を計算する際に、以下のように、この丸め誤差を考慮する。
【００５９】
［数５］
ＡＭＣＬ＝ＯＲＣＦＩＸＤ／ＤＭＣＬ、Ｌ＝０、１、２、および３    （１２）
ＦＤＥＳ−Ｌ＝ＡＭＣＬ／ＤＡＬ、Ｌ＝０、１、２、および３        （１３）
Ｃ０＝ＯＲＣＦＩＸＥＤ／Ｄ                                      （１４）
ステップ１１２０の終了時には、アルゴリズムは、固定ＯＲＣモードに対するクロッキング構成データの計算を終えている。
【００６０】
尚、所望の周波数およびＣ０の各々は、その本来規定された値から係数ｎｒ／ｎ（ｎｒ≠ｎと仮定する）だけ外れていることを注記しておく。この係数は、クロッキング・システムが生成する全ての周波数に存在するので、異なる周波数間の比率は保持される。したがって、正確な目標周波数が常に得られる訳ではないという事実にも拘わらず、コヒーレンスが確保される。
【００６１】
この技法によって生ずる周波数誤差は、非常に小さい。ＬｕｍｐＬＣＭ内の因数の数を最少に抑えることに重点を置くことによって、一般に、ｎが大きな数値であることが確実となる。したがって、係数ｎｒ／ｎは通常１に近くなり、実際の周波数がそれらに元来規定した値に非常に近いことが確実となる。ＬｕｍｐＬＣＭが最小化されるので、アルゴリズムは、周波数誤差を極力抑え、クロッキング・システムが達成可能な理論的最小値としつつ、なおもコヒーレンスを確保する。これらの周波数誤差は、検査システムにおいて一般に生ずるその他のタイミング誤差よりも小さい場合が多く、実際には、非常に小さいので一般には無視することができる。
【００６２】
コヒーレンシ・グループ化は、固定ＯＲＣモードには重要である。何故なら、丸め誤差が周波数値を歪ませるからである。固定ＯＲＣモードでは、アルゴリズムは、単に、異なるコヒーレンシ・グループを、これらが異なるクロッキング・システムに属するかのように扱う。したがって、異なるグループは、異なるＬｕｍｐＬＣＭおよび異なるｎの値を有することが許される。あるグループではｎを丸める必要があるが、他のグループにはそれが不要という場合もあり得る。したがって、一部のグループは周波数誤差を有するが、他は有さないこともあり得る。
【００６３】
前述の説明では、マルチプレクサ１２６ａ〜１２６ｄの各々が、その出力までの各タイミング・パスに向けて、ＡＭＣを通過させる。即ち、マルチプレクサ１２６ａはＡＭＣ０を通過させ、マルチプレクサ１２６ｂはＡＭＣ１を通過させる等である。しかしながら、先に示したように、クロックを構成するシステムは、この構成に限定される訳ではない。好適な実施形態では、アルゴリズムは、実際の接続に基づいて分周値を計算することによって、切換（スイッチング）を考慮に入れている。
【００６４】
ここに記載したシステムは、検査システムにおいて多数のクロックを構成する作業を大幅に簡略化する。これは、ユーザが指定した周波数に基づいて、自動的にクロッキング構成データを発生し、入力をクロッキング・システムおよび計器の能力と突き合わせてチェックすることによって、有効な構成を指定するようにユーザを導く。また、本システムは拡張可能である。本システムは、計器フォーム７００および計器データベースの更新によって、新たな計器にも対応することができる。加えて、前述のアルゴリズムは、追加のクロックも容易に処理することができる。何故なら、アルゴリズムを実行するために必要な時間は、クロックの数にしたがって線形に増減するからである。
代替案
一実施形態について説明したが、多数の代替実施形態または変形も得ることができる。例えば、クロック・マネージャ・プログラムは、ここでは、Catalyst検査システムに関連付けて説明した。本発明は、しかしながら、この検査システムと共に使用することに限定される訳ではない。本発明は、基準クロック、分周器をおよび／または乗算器を用いてこれから派生したいかなる数のクロックを有するいずれの検査システムとでも使用することができる。
【００６５】
ここに記載した実施形態は、２列の分周器、例えば、分周器１２８を含む第１列、および分周器１２４を含む第２列を含む。しかしながら、前述のことから、本アルゴリズムは、２列よりも多い分周器を有するクロッキング・システムと共に使用するために拡張可能であることは明白である。即ち、アルゴリズムは、連続する各列毎に、ステップ１０１２および１０１４（または、ステップ１１１２および１１１４）を繰り返すことによって、拡張することができる。分周器の連続する各列の値は、周波数範囲の要件を満たすように、そしてＬＣＭに加える因数をできるだけ少なくするように選択する。
【００６６】
前述の説明では、基礎となるアルゴリズムの理解に到達するために、数式を用いた。このアルゴリズムは、しかしながら、これら特定の数式に限定されることはない。当業者はわかっているように、数学は、定量的概念を多種多様の形態で表現する高い柔軟性を備えている。したがって、本発明は、多種多様の実質的に等価な数学的形態を用いて実質的に同じ結果が得られるアルゴリズムも包含するものと解釈すべきである。
【００６７】
クロックを構成するシステムは、本明細書での記載では、ＰＣコンパチブル・コンピュータ上で実行するVisual Basic（登録商標）として実施されている。本発明は、しかしながら、この実施態様に限定される訳ではない。当業者には理解されるように、多くの異なるソフトウェアおよびハードウェア環境を用いても、本発明によるシステムを実現することができる。
【００６８】
クロックを構成するシステムは、単一のコンピュータ・プログラム自体として提供する必要はない。異なるソフトウェア・モジュール、ソフトウェア・ライブラリ、または互いに通信し合うコンピュータ・プログラムと共に、というように無数の方法でパッケージ化することができる。更に、本システムと通信するインターフェースは、必ずしもＧＵＩである必要はない。代わりに、他のソフトウェア・コンポーネントと通信するソフトウェア・インターフェースとすることもできる。
【００６９】
クロックを構成するシステムは、必ずしもテスタ上で実行する必要はない。開発用ステーション、または検査プログラムを開発し、デバッグし、試験するいずれのコンピュータ上でも実行することができる。また、デモンストレーションやトレーニングの目的にも用いることができる。
【００７０】
構成データを発生することに加えて、クロックを構成するシステムは、テスタのクロッキング・システムを直接プログラムするためにも用いることができる。例えば、クロック・マネージャのＧＵＩは、追加の制御部を含むことができ、起動すると、ソフトウェアに、クロッキング構成データにしたがってテスタを設定させることもできる。このように、クロックは「ライブ」モード(live mode)で動作し、個々の検査状況に合わせて検査またはトラブルシューティングを行うことができる。更に別の代替案では、ＧＵＩは、検査プログラム・コードを発生する制御部を含むことができる。起動すると、この制御部は、ソフトウェアに、検査プログラム・コードを生成させ、検査プログラムに含ませる。検査プログラム・コードは、テスタのネーティブ言語でも、共通の検査言語でも可能であり、後者では、テスタに特定のコードに後から変換することができる。検査プログラムを後で実行するとき、プログラム・コードは、所望の構成を確立するためのクロッキング構成データにしたがってテスタを構成する。
【００７１】
これらの代替案および変形、ならびにその他の各々は、本発明者によって既に想起されており、本発明の範囲に含まれるものである。したがって、以上の説明は一例であり、本発明は、特許請求の範囲の精神およびその範囲によってのみ限定されるものと理解すべきである。
【図面の簡単な説明】
【００７２】
【図１】図１は、クロックを構成するシステムと共に用いることができる、クロッキング・システムの簡略ブロック図である。
【図２】図２は、ユーザがクロックを構成するシステムを採用することができる検査環境を示す簡略ブロック図である。
【図３】図３は、クロックを構成するシステムのグラフィカル・ユーザ・インターフェースの一部をなすクロック・マネージャ・フォームを示す図である。
【図４】図４は、システムを可変ＯＲＣモードで動作させた後の、図３のクロック・マネージャ・フォームを示す図である。
【図５】図５は、システムを固定ＯＲＣモードで動作させた後の、図３のクロック・マネージャ・フォームを示す図である。
【図６】図６は、クロック・マネージャ・フォームに対する制御によってアクセスすることができるコヒーレンシ・グループ化フォームを示す図である。
【図７】図７は、クロック・マネージャ・フォームに対する１回以上の制御によってアクセスすることができる、計器フォームを示す図である。
【図８】図８は、図７において選択した計器とは異なる計器の選択を示す、図７の計器フォームの図である。
【図９】図９は、周波数依存性を計算する計算部を示す、図７の計器フォームの図である。
【図１０】図１０は、可変ＯＲＣモードを用いてクロッキング・システムに分周値を決定するアルゴリズムを示すフローチャートである。
【図１１】図１１は、固定ＯＣＲモードを用いて、クロッキング・システムに分周値を決定するアルゴリズムを示すフローチャートである。
【図１】
2005518543.tif 000003
【図２】
2005518543.tif 000004
【図６】
2005518543.tif 000005
【図７】
2005518543.tif 000006
【図８】
2005518543.tif 000007
【図９】
2005518543.tif 000008
【図１０】
2005518543.tif 000009
【図１１】
2005518543.tif 000010
【図３】
2005518543.tif 000011
【図４】
2005518543.tif 000012
【図５】
2005518543.tif 000013
【国際調査報告】
2005518543.tif 000014
2005518543.tif 000015
2005518543.tif 000016