(57)【要約】【課題】  直接ディジタル合成を用いて、スペクトルに関して純粋でアジャイルなクロックを発生する検査システムを提供する。【解決手段】  自動検査システムにおいて、クロックをアナログおよびディジタル計器内で用いる。ＤＤＳ回路は、システム・クロックから発生するＤＤＳクロックによって駆動されるので、これはテスタのシステム・クロックに同期する。並列アキュミュレータを用い、システム・クロックに関して蓄積位相を追跡することによって、蓄積位相誤差を減少させる。一致点において、ＤＤＳアキュミュレータ内の蓄積位相を、システム・アキュミュレータ内の値に設定し直す。【選択図】  図４
2005190482.tif 000002
【特許請求の範囲】
【請求項１】
ＤＤＳ周波数で駆動されるＤＤＳ回路を第１クロックに、前記ＤＤＳの第１位相増分を前記第１クロックの周期に対して指定することによって、同期させる方法であって、
ａ）前記第１クロックからＤＤＳ周波数においてクロックを発生し、
ｂ）前記ＤＤＳクロックの周波数と前記第１クロックの周波数との間の比率に比例して前記第１位相増分をスケーリングすることによって、ＤＤＳ位相増分を生成し、
ｃ）前記ＤＤＳ周波数のクロックによって駆動される前記ＤＤＳ回路内部にあるＤＤＳアキュミュレータに、前記ＤＤＳ位相増分を蓄積する、
ことを含む方法。
【請求項２】
請求項１記載の方法において、更に、
ａ）前記第１位相増分を第２アキュミュレータに蓄積し、前記第２アキュミュレータを前記第１クロックで駆動し、
ｂ）前記ＤＤＳアキュミュレータ内の値を、前記第２アキュミュレータ内の値で周期的に置換する、
ことを含む方法。
【請求項３】
請求項２記載の方法において、前記ＤＤＳアキュミュレータ内の値を周期的に置換することは、前記ＤＤＳ周波数と前記第１クロックの周波数との間の比率によって決定される間隔で、前記値を置換することを含む方法。
【請求項４】
請求項３記載の方法において、前記間隔は、前記第１クロックの周期と、前記第１クロック周波数および前記ＤＤＳ周波数の最大公約数で前記第１クロックの周波数を除算した値との積の整数倍数である方法。
【請求項５】
請求項２記載の方法において、前記ＤＤＳアキュミュレータ内の値を周期的に置換することは、前記ＤＤＳクロックおよび前記第１クロックが名目上一致したときに前記値を置換することを含む方法。
【請求項６】
請求項２記載の方法において、更に、前記ＤＤＳ周波数でクロックを発生することは、周波数スケーリング回路内においてクロックを発生することを含み、前記周波数スケーリング回路は、前記ＤＤＳアキュミュレータ内の値を置換するときにリセットされる、方法。
【請求項７】
請求項２記載の方法において、更に、前記第１クロックに同時した時点において、前記第１位相増分を変更することを含む、方法。
【請求項８】
周期的信号を発生する装置であって、
ａ）第１周波数を有する第１クロックと、
ｂ）制御入力と、
ｃ）入力と出力とを有する周波数変換回路であって、前記入力が前記第１クロックに結合され、前記出力が第２周波数の第２クロックである、周波数変換回路と、
ｄ）入力と出力とを有する演算回路であって、前記入力および出力双方がディジタル値として表され、前記出力が前記入力に比例する値を有し、その比例度が前記第１周波数と前記第２周波数との比率によって規定される、演算回路と、
ｅ）制御入力とクロック入力とを有する直接ディジタル合成回路であって、前記制御入力が前記演算回路の出力に接続され、前記クロック入力が前記第２クロックに接続されている、直接ディジタル合成回路と、
を備えた装置。
【請求項９】
請求項８記載の装置において、更に、前記直接ディジタル合成回路は、制御入力を有するアキュミュレータ・レジスタを備えており、前記装置は、更に、前記制御入力に結合された出力を有する制御回路を備えている装置。
【請求項１０】
請求項９記載の装置において、前記制御回路の出力は、前記第１クロック周波数を、前記第１クロック周波数と前記第２クロック周波数との最大公約数で除算した値に比例する周期的間隔でアサートする、装置。
【請求項１１】
請求項９記載の装置において、前記アキュミュレータ・レジスタは、入力および出力を有し、前記装置は、更に、加算器とセレクタとを備えており、前記加算器は少なくとも２つの入力と、出力とを有し、前記セレクタは少なくとも２つの切換可能入力と、制御入力と、出力とを有し、前記アキュミュレータ・レジスタの出力は、前記加算器の入力の１つに結合され、前記加算器の出力は、前記セレクタの切換可能入力の１つに結合され、前記セレクタの出力は前記アキュミュレータ・レジスタの入力に結合されている、装置。
【請求項１２】
パターン発生器を有する自動検査システムに組み込まれた請求項９記載の装置であって、前記パターン発生器が、前記第１クロックと同期するクロックによって駆動される、装置。
【請求項１３】
自動検査システムであって、
ａ）第１クロックと、該第１クロックに関して指定された第１位相制御値とを収容するシステム制御ユニットと、
ｂ）直接ディジタル合成回路によってディジタル・クロックを発生する少なくとも１つのアナログ計器であって、前記直接ディジタル合成回路が、
ｉ）入力と出力とを有する周波数変換回路であって、前記入力が前記第１クロックに結合され、前記出力が第２クロックを供給し、該第２クロックが前記第１クロックに同期する、周波数変換器回路と、
ｉｉ）前記第２クロックの周期毎に所定量を増加させるアキュミュレータであって、前記所定量が第１位相制御値から得られる、アキュミュレータと、
を有するアナログ計器と、
を備えた自動検査システム。
【請求項１４】
請求項１３記載の自動検査システムにおいて、前記アナログ計器は任意波形発生器を備えている自動検査システム。
【請求項１５】
請求項１３記載の自動検査システムにおいて、前記アナログ計器はディジタイザを備えている自動検査システム。
【請求項１６】
請求項１３記載の自動検査システムにおいて、前記直接ディジタル合成回路は、更に、前記第１クロックの周期毎に、前記第１位相制御値だけ増加させるシステム・アキュミュレータを備えている、自動検査システム。
【請求項１７】
請求項１３記載の自動検査システムにおいて、更に、前記システム・アキュミュレータの値を前記アキュミュレータに周期的間隔で切り換える制御回路を備えている、自動検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、信号の発生に関し、更に特定すればフレキシブルな態様で周期的信号を発生することに関する。
【背景技術】
【０００２】
ディジタル信号合成（「ＤＤＳ：Direct Digital Synthesis」）は、１つ以上の信号に対する制御が望まれる場合に周期的な信号を発生するために用いられる技法である。アナログ信号は、ＤＤＳによって制御した周期または波形のいずれかで発生することができる。
【０００３】
図１は、正弦波を発生し、次いでこれを二値クロックに変換する際に用いられる、ＤＤＳ１００を備えた従来のＤＤＳアーキテクチャを示す。ＤＤＳ１００は、アキュミュレータ・クロックＣＬＫＡＣＣと、位相増分（インクリメント）を示すディジタル入力信号ΦＩｎｃとを受ける。ＤＤＳは、信号ＦＯＵＴを出力する。ＦＯＵＴの周波数は、ＣＬＫＡＣＣの周波数を変化させることにより、および／または位相増分ΦＩｎｃを変化させることによって設定することができる。
【０００４】
動作において、アキュミュレータ１１０は、ＣＬＫＡＣＣの各サイクル上で新たな出力値ΦＡｃｃを生成する。各新しい値を生成するために、アキュミュレータ１１０は、ΦＩｎｃをその現在の内容に加算する。図１に示すように、アキュミュレータ１１０は、加算器１１０ａとレジスタ１１０ｂとで構成することができる。
【０００５】
アキュミュレータ１１０内の値は、サイン・ユニット１１２への制御入力として機能する。サイン・ユニット１１２は、各位相値ΦＡｃｃを対応する振幅値に変換する。図では、ＤＤＳ信号発生器は、正弦波を生成しており、したがって、振幅値は、関数ｓｉｎ（ΦＡｃｃ）によって値ΦＡｃｃに関係付けられる。サイン・ユニット１１２は、マス・エンジン(math engine)、即ち、入力信号に対して特定的な数学的関係を有する出力信号を生成するように構成された回路を用いて、必要な出力を発生することができる。あるいは、サイン・ユニットを実現するには、制御入力の値毎に必要な出力値を予め計算することによっても可能である。これら予め計算した出力値は、次に、制御入力によってアドレスされたメモリ内の位置に格納（記憶）される。動作においては、制御入力がアドレスとしてメモリに印加されると、その結果ｓｉｎ（ΦＡｃｃ）の要求出力値が、入力として印加されたΦＡｃｃ毎に、メモリから読み出される。
【０００６】
サイン・ユニット１１２の出力は周期的である。周期性が得られるのは、アキュミュレータ１１０のオーバーフローのためである。アキュミュレータ１１０内に格納される値は、ＣＬＫＡＣＣのクロック毎に増加（または、ΦＩｎｃの負の値が用いられる場合には減少）する。結果的に、アキュミュレータ１１０内の値はオーバーフロー（または、ΦＩｎｃの負の値が用いられる場合にはアンダーフロー）する。アキュミュレータの最大目盛値は、２πラジアンの位相に対応して選択される。ΦＩｎｃを加算したことによって、ΦＡｃｃの値が量ｘだけ２πラジアンを超過し、オーバーフローの後、アキュミュレータは値ｘだけを格納する。その結果、アキュミュレータのオーバーフローは、周期的波形の新たなサイクルを開始するのと同じ効果を有し、１サイクルの終了と次のサイクルの開始との間に適切な位相関係が維持される。
【０００７】
波形Ｆｏｕｔの１クロックの持続期間は、アキュミュレータ１１０がオーバーフローする時間を変化させることによって制御することができる。この時間は、クロックＣＬＫＡＣＣの周波数を変化させることによって制御することができる。また、この時間は、ΦＩｎｃの値を変化させることによっても制御することができる。
【０００８】
次に、ｓｉｎ（ΦＡｃｃ）を表すディジタル値をＤＡＣ１１４に供給し、ＤＡＣ１１４はこれらを量子化アナログ信号に変換する。大抵の場合、ディジタル−アナログ変換器の出力にフィルタを取り付け、量子化信号を平滑化する。正弦波が必要な場合、フィルタは大抵バンドパス・フィルタである。何故なら、バンドパス・フィルタが、その通過帯域に正弦波の所望の周波数を含むと、信号の「スペクトル純度」(spectral purity)を高めるからである。クロックのようなディジタル信号が望まれる場合、アナログ信号を比較器（コンパレータ）１１８に供給しこの信号を正方形にする。このように、ＤＤＳ信号発生器は、周波数を制御したクロックを発生する便利な機構を備えている。
【０００９】
波形Ｆｏｕｔの周波数はＣＬＫＡＣＣの周波数による影響を受けるので、ＣＬＫＡＣＣの周波数を任意に設定することはできない。ＤＤＳの使用が望まれる用途にはいくつかあるが、ＤＤＳは他の周波数のクロックで動作する回路と互換性がなければならない。このような用途の一例は、自動検査機器である。図７は、非常に簡略化した形態で、半導体チップを検査する際に用いることができる形式の自動検査システム８００のブロック図を示す。このようなシステムの一例は、米国マサチューセッツ州、ボストンのTeradyne, Inc.が販売するＴｉｇｅｒ（商標）検査システムである。
【００１０】
検査システムは、当該検査システム８００を制御するワーク・ステーション８１０を含む。ワーク・ステーション８１０は、検査プログラムを実行して、テスタ本体８１２内のハードウェアをセットアップし、検査の結果を読み出す。また、ワーク・ステーションは、人間オペレータとのインターフェースも備えているので、オペレータは、個々の種類の半導体デバイスを検査するためのコマンドまたはデータを供給することができる。例えば、ワーク・ステーション８１０上で実行するプログラムは、ΦＩｎｃの値を保持している、テスタ本体８１２内部のレジスタの値を変化させ、検査システム内部のクロックの周波数を変更することもできる。
【００１１】
多くの種類のデバイスを完全に検査するためには、アナログおよびディジタル双方の検査信号を発生し測定しなければならない。テスタ本体８１２内部には、ディジタル「ピン」８２０およびアナログ計器８１８がある。双方とも被検査デバイス８５０に接続されている。ディジタル・ピンとは、ディジタル信号またはＤＣ電圧および電流を発生し測定する回路である。対照的に、アナログ計器は、アナログ信号を発生し測定する。
【００１２】
パターン発生器８１６が、制御入力をディジタル・ピン８２０およびアナログ計器８１８に供給する。これらの制御入力は、双方の値、および検査信号を発生または測定すべき時刻を規定する。正確な検査を確保するためには、ディジタル・ピンおよびアナログ計器の動作を同期させなければならないことが多い。タイミング発生器８１４は、タイミング信号を供給し、テスタ本体８１２内部にある種々の構成機器の動作を同期させる。
【００１３】
自動検査機器はプログラム可能に製作されているので、多くの異なる種類のデバイスを検査することができる。多くの場合、自動検査機器内部で、プログラム可能な周波数のディジタル・クロックを発生できることが望ましい。このような用途の一例に、任意波形発生器（ＡＷＧ）と呼ばれるものがある。ＡＧＷ８２２が発生する波形は、制御可能な周波数を用いて、殆どの任意形状にプログラムすることができる。従来技術では、ＤＤＳ信号発生器は、ＡＷＧ用のクロックとして用いられていた。
【００１４】
また、自動検査機器は、ディジタイザと呼ばれるアナログ計器を内蔵することもある。ディジタイザ８２３もクロックを基準としており、好ましくは、このクロックはプログラム可能であるとよい。
【００１５】
ＤＤＳはクロックＣＬＫＡＣＣによって駆動されるので、困難が生じている。パターン発生器８１６またはタイミング発生器８１４は、異なる周波数のコマンドまたは制御信号を出力する場合があり得る。異なる周波数のクロックによって駆動されていても、ＤＤＳにシステムの他の部分と容易にインターフェースさせることができれば、非常に望ましいであろう。
【００１６】
自動検査システムでは、アナログ計器およびディジタル・ピン内の信号間で時間を制御することが重要な場合が多い。この理由のために、テスタ内の全計器をあるタイミング基準に同期させることが望まれている。ＤＤＳ回路がシステムの他の部分とは異なるクロック周波数で動作していても、ＤＤＳ内で用いられるクロックを、システム全体のタイミングを制御するために用いられるクロックに同期させることも望ましい。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明の目的は、外部回路と同期するＤＤＳ回路を提供することである。  
【課題を解決するための手段】
【００１８】
前述の目的およびその他の目的は、第１周波数で動作するアキュミュレータと、第２周波数で動作するアキュミュレータとを有するＤＤＳ回路において達成される。これら周波数間の関係に基づいて、クロック間に名目上の一致点が発生する。これらの一致点において、一方のアキュミュレータに他方のアキュミュレータの値をロードする。
【００１９】
好適な実施形態では、第１周波数でクロック（クロック駆動）する中央制御回路と、この第１周波数とは異なるＤＤＳクロック周波数で動作するＤＤＳ回路とを有する自動検査機器において、ＤＤＳ回路を用いる。
【発明を実施するための最良の形態】
【００２０】
図２は、ＤＤＳ回路とは異なる周波数を用いるシステムにおいて動作するディジタル合成回路の簡略ブロック図を示す。ＤＤＳ２１４は、ＦＯＵＴを発生する。ＤＤＳ２１４は、従来技術において示したようなＤＤＳ回路とすればよい。あるいは、ＤＤＳ２１４は、本願と同日に出願した、「HIGH RESOLUTION SYNTHESIZER WITH IMPROVED SIGNAL PURITY」（信号純度を高めた高分解能シンセサイザ）と題する、同時継続中の特許出願において示すような回路でもよい。この内容は、ここで引用したことにより、本願にも援用されるものととする。ＤＤＳ２１４の正確な構成には関係なく、ＤＤＳ２１４をクロック駆動する周波数は、ＦＯＵＴの周波数に影響を及ぼす。
【００２１】
ＤＤＳ２１４は、クロックＣＬＫＡＣＣによって駆動される。ＣＬＫＡＣＣの周波数は、例示の目的上、７５ＭＨｚとする。実際の周波数は、ＦＯＵＴの所望の特性によって異なる。また、以下で説明するが、ＣＬＫＡＣＣは、周波数逓倍器２１２によって発生する。周波数逓倍器２１２の精度は有限であるので、ＣＬＫＡＣＣは正確に所望の周波数を有さない場合もあり得る。したがって、本例では、ＣＬＫＡＣＣは「名目上（ノミナル）」８５ＭＨｚの周波数を有することとする。
【００２２】
周波数逓倍器２１２は、システム・クロックＣＬＫＳｙｓから入力を受け取る。好適な実施形態では、ＤＤＳ２１４を、検査システム８００のＡＷＧ８２２のような自動検査システムのアナログ計器内で用いており、ＣＬＫＳｙｓは、タイミング発生器８１４によって発生されるクロックである。ＣＬＫＳｙｓは、パターン発生器８１６やディジタル・ピン８２０のような、検査システムの他の部分を駆動するために用いられる。
【００２３】
ＡＷＧ８２２のようなアナログ計器にとって、検査システムの他の部分と同期を取ることが重要なことが多いので、ＣＬＫＡＣＣは、図２に示すように、ＣＬＫＳｙｓから得ることが望ましい。
【００２４】
また、検査システム８００は、ＣＬＫＳｙｓに関してプログラムされている。したがって、ＣＬＫＳｙｓのサイクル毎に要求されるＤＤＳ２１４の位相増分を指定することは有利である。図２では、ＣＬＫＳｙｓのサイクル毎の位相増分をΦＩｎｃ＿Ｓｙｓで示す。しかしながら、動作においては、アキュミュレータ１１０は、ＣＬＫＡＣＣによって駆動されるアキュミュレータと用いるのに適したΦの値を受け取らなければならない。乗算器２１０は、ΦＩｎｃ＿ＳｙｓをΦＩｎｃに変換する。
【００２５】
周波数逓倍器２１２および乗算器２１０双方は、ＣＬＫＳｙｓとＣＬＫＡＣＣとの間の比率に基づいて、それらの倍率を決定する。乗算器２１０は、当技術分野では公知のディジタル回路とすることができる。例えば、乗算器２１０は、ディジタル乗算器およびディジタル分周回路を直列に用い、必要な分数で乗算した入力を表す出力を計算することができる。整数で乗算または除算する回路を構成することは比較的簡単である。したがって、スケールファクタ（倍率）は、整数でないものであっても、スケールファクタを整数の比として表すことによって、容易に適用することができる。非整数量でスケーリングする１つの回路を作成するよりも、整数で除算し次いで乗算することによって要求スケールファクタに到達する回路を構成する方が容易である。この原理は、クロックの周波数をスケーリングするには特に有用であるが、ΦＩｎｃ＿ＳｙｓをΦＩｎｃに変換するというように、数値をスケーリングする際にも適用できる。このような回路は当技術分野では既知である。
【００２６】
周波数逓倍器２１２は、当技術分野では既知の周波数逓倍器とすればよい。これは、分周器、およびその後段にある周波数逓倍器を用いて、入力信号に対して要求周波数比を有する出力周波数を有する出力信号を生成するために用いることができる。
【００２７】
図２の回路は、要求特性を有する出力ＦＯＵＴを生成する名目値を有するΦＩｎｃおよびＣＬＫＡＣＣのために信号を生成する。例えば、ΦＩｎｃ＿Ｓｙｓは５の値を有し、乗算器２１０の出力は、５×（１００ＭＨｚ／７５ＭＨｚ）に等しい。
【００２８】
図３は、図２のシステムの実用的な実施態様における結果を示す。曲線４１０は、ΦＩｎｃ＿Ｓｙｓによって供給され、クロックＣＬＫＳｙｓで駆動されるアキュミュレータを駆動することによって得られる、蓄積位相値を示す。図からわかるように、アキュミュレータ内の値は、ＣＬＫＳｙｓのサイクル毎に均一な量だけ増加している。
【００２９】
曲線４１２は、ΦＩｎｃによって供給され、クロックＣＬＫＡＣＣで駆動されるアキュミュレータにおける蓄積位相値の曲線を示す。この例では、ＣＬＫＳｙｓとＣＬＫＡＣＣとの間の比率は、１００対７５（即ち、４：３）である。ＣＬＫＳｙｓの４サイクル毎に、３サイクルのＣＬＫＡＣＣがある。一致点３１０Ａ、３１０Ｂおよび３１０Ｃは、ＣＬＫＳｙｓの４サイクル毎を示す。これらの点において、ＣＬＫＳｙｓおよびＣＬＫＡＣＣは名目上同時に切り替わる。これらのクロックは、これらの点において名目上一致するということができる。また、これらの点において、両アキュミュレータ内の蓄積位相値は等しいはずである。しかしながら、図３は、２つの値が真に一致しておらず、一致点において同一でないことを示す。これらの差は、ΦＩｎｃの値がその名目値とは異なるという事実に起因する。また、遅延やその他の歪みがあるために、ＣＬＫＡＣＣが所望通り正確に時間に合っていないこともあり得る。
【００３０】
前述の例では、ＣＬＫＳｙｓの４サイクル後に、名目上ＣＬＫＡＣＣの３サイクルがある。この時点において、蓄積位相値は、３×（５×（４／３））＝２０となるはずである。名目上の結果は、ΦＩｎｃ＿ＳｙｓをＣＬＫＳｙｓの４サイクルの各々においてアキュミュレータに加算した場合と同一である。しかしながら、実際のシステムでは、正確に正しい値を出力する乗算器２１０を製作することは不可能である。この例では、ΦＩｎｃの値は、５×（４／３）として計算しており、これは６．６６６６６．．．に等しい。この値を表すことができるディジタル回路を構成することはできない。ΦＩｎｃの値を保持するレジスタ、および計算に用いられる回路は、有限数のビットを有する。例えば、５×（４／３）の値を格納する代わりに、ΦＩｎｃは実際には６．６の値を有する場合もある。
【００３１】
用途によっては、６．６と５×（４／３）との間の差は非常に小さいので、ＤＤＳ回路の動作には実際の影響はない場合もある。図３の例では、蓄積された位相は、一致点３１０Ａでは２０ではなく、１９．８である。しかしながら、他の用途では、この差が重大となる場合もあり、ＤＤＳ回路を更に改良することもあり得る。
【００３２】
例えば、図３は、曲線４１０と４２０との間の差が連続する一致点毎に増加することを示す。この差を、蓄積位相誤差と呼ぶ。ＤＤＳを実行する時間期間が長くなる程、蓄積位相誤差も増える。
【００３３】
図４は、位相誤差の増大を抑えるように改良したＤＤＳ回路４００を示す。ＤＤＳ回路４００は、レジスタ１１０ｂおよび加算器１１０ａから成るアキュミュレータを含む。加算器１１０ａへの一方の入力は、レジスタ１１０ｂ内の値である。他方の入力は、図２に関連して前述した乗算器２１０におけるΦＩｎｃ＿Ｓｙｓから得られる、ΦＩｎｃである。レジスタ１１０Ｂの出力は、サイン・ユニット１１２への位相制御入力として機能する。サイン・ユニット１１２は、ＤＡＣ１１４、バンドパス・フィルタ１１６、および比較器１１８に結合されており、前述のように信号ＦＯＵＴを発生する。
【００３４】
アキュミュレータ・レジスタ１１０ｂは、信号ＣＬＫによって駆動される。信号ＣＬＫは、周波数逓倍器２１２によってＣＬＫＳｙｓから得られる。
ＤＤＳ回路４００は、アキュミュレータ・レジスタ４１０ｂおよび加算器４１０ａを有する、第２アキュミュレータを含む。加算器４１０ａへの入力の一方は、ΦＩｎｃ＿Ｓｙｓである。他方の入力は、アキュミュレータ・レジスタ４１０ｂの内容である。
【００３５】
曲線４１０（図３）は、アキュミュレータ・レジスタ４１０ｂの内容を表す。補正をしないと、曲線４１２は、アキュミュレータ・レジスタ１１０ｂの内容を表す。しかしながら、ＤＤＳ回路４００は、コントローラ４１４を含み、コントローラ４１４は、アキュミュレータ・レジスタ１１０ｂの内容をアキュミュレータ・レジスタ４１０ｂと周期的に再同期させる。
【００３６】
コントローラ４１４は、アキュミュレータ・レジスタ１１０ｂ内の値を、アキュミュレータ・レジスタ４１０ｂ内の値と、周期的に再同期させる。コントローラ４１４は、ＣＬＫが名目上ＣＬＫＳｙｓと一致したときに、再同期を行う。図３に示すように、ＣＬＫは、ＣＬＫＳｙｓの４サイクル毎に、ＣＬＫＳｙｓと名目上一致する。
【００３７】
更に一般的には、名目上の一致点は、各クロックの周波数を、２つの周波数の最大公約数で除算することによって、決定することができる。本例では、１００および７５の最大公約数は２５である。したがって、名目上の一致点は、１００ＭＨｚクロックの４サイクル毎および７４ＭＨｚクロックの３サイクル毎に現れる。
【００３８】
再同期は名目上の一致点毎に行う必要はない。アキュミュレータを再同期させる頻度は、サイクル毎に生じる誤差の量と、このような誤差に対する用途全体の許容度によって異なる。
【００３９】
コントローラ４１４は、名目上の一致点間に通過しなければならない、必要な数のＣＬＫＳｙｓのパルスを格納する。この数は、ＣＬＫの所望の周波数を制御する値に基づいて、コントローラ４１４内の回路によって計算することもできる。あるいは、この数値は、例えばワーク・ステーション８１０内において計算し、コントローラ４１４にロードすることもできる。この値は、レジスタまたはカウンタのような、プログラマブル・ディジタル格納場所に格納することが好ましい。動作においては、コントローラ４１４が制御信号を出力するのは、アキュミュレータ・レジスタ１１０ｂをアキュミュレータ・レジスタ４１０ｂと再同期させるべきときである。
【００４０】
再同期させるには、コントローラ４１４は、セレクタ４１２への制御ラインをアサートする。セレクタ４１２は、２つの切換可能な入力を有する。切換可能な入力の一方は、加算器１１０ａの出力に接続されている。同期の合間に、セレクタ４１２は、加算器１１０ａの出力をアキュミュレータ・レジスタ１１０ａの入力に切り換える。
【００４１】
セレクタ４１２の他方の切換可能入力は、アキュミュレータ・レジスタ４１０ｂの出力に接続されている。再同期時に、セレクタ４１２は、アキュミュレータ・レジスタ４１０ｂの内容を、アキュミュレータ・レジスタ１１０ｂの入力に切り換える。このように、アキュミュレータ・レジスタ１１０ｂは、周期的に再同期され、蓄積位相誤差は、図３に示すように増大し続けない。
【００４２】
前述のように、名目上の一致点において、ＣＬＫおよびＣＬＫＳｙｓは同時に現れるはずである。しかしながら、信号ＣＬＫの発生における低精度のために、ＣＬＫおよびＣＬＫＳｙｓが位相外れになる可能性もある。この低精度に伴うあらゆるタイミング誤差を回避するために、レジスタ１１０ｂは、コントローラ４１４が発生するリセット入力を収容する。コントローラ４１４は、しかるべく時点にこのリセット入力をアサートして、アキュミュレータ・レジスタ４１０ｂからアキュミュレータ・レジスタ１１０ｂに値をロードする。
【００４３】
リセット・コマンドをアキュミュレータ・レジスタ１１０ｂに発する前に、セレクタ４１２を切り換え、その出力を安定にしなければならない。加えて、ＣＬＫＳｙｓおよびＣＬＫ双方がそれらの名目上の一致点に達したことを確認しなければならない。ＣＬＫＳｙｓがその一致点に達する前に値をアキュミュレータ・レジスタ１１０ｂにロードすると、レジスタ１１０ｂにロードした値が正しくない値となり、一致点以前のアキュミュレータ４１０ｂにおける値を反映する。逆に、ＣＬＫがその一致点に達する前に値をレジスタ１１０ｂにロードすると、アキュミュレータ・レジスタにロードされた値は、最初は正しい値であるが、ＣＬＫが一致点に到達したときに、この値は増分されてしまい、したがって正しくない値に変わってしまう。
【００４４】
コントローラ４１４のような、他の信号の発生を条件とした時点で制御信号を発生するコントローラは、当技術分野では既知である。従来の設計技法を用いても、レジスタ１１０ｂの更新が所望の時点で確実に行えるようにすることができる。
【００４５】
代替実施態様では、ＦＩＦＯを用いて、アキュミュレータ４１０ｂからの値を正確にアキュミュレータ１１０ｂにロードすることの確証を得るようにする。例えば、コントローラ４１４は、ＣＬＫＳｙｓのパルスをカウントする回路を含むことができる。ＣＬＫＳｙｓが一致点に達したときに、アキュミュレータ４１０ｂの値をＦＩＦＯに押し込む。コントローラ４１４は、ＣＬＫのパルスもカウントする。ＣＬＫがその一致点に達したときに、ＦＩＦＯから値をポップして、アキュミュレータ１１０ｂにロードする。このようにすれば、適切な値を適切な時点でアキュミュレータ・レジスタ１１０ｂにロードすることになる。
【００４６】
ＦＩＦＯのサイズは、大きい必要はない。格納位置が２つあるＦＩＦＯであれば適当であろう。
【００４７】
また、ＣＬＫをＣＬＫＳｙｓと同期させることも望ましい。図５は、周波数逓倍器２１２を、分周器５１０と、その後段にある周波数逓倍器５１２とによって実施することが好ましいことを示す。分周器５１０は、同期に用いられるリセット入力を有する。リセット入力をアサートしそしてアサート解除(deassert)すると、次の入力パルスによって出力パルスが発生する。その後、出力パルスは、分周したレートで生成される。例えば、分周器５１０を４で分周するようにプログラムすると、入力における４つのクロック・パルス毎に、分周器５１０の出力には１つのパルスが得られる。
【００４８】
図示した実施形態では、分周器５１０の出力は周波数逓倍器５１２に供給される。ここで示す周波数逓倍器は、逓倍位相ロック・ループ（ＰＬＬ）として実施されている。逓倍ＰＬＬ５１２に入力されるパルス毎に、多数のパルスが発生する。しかしながら、最初の出力パルスは、分周器５１０から出力されるパルスに応答して発生する。分周器５１０の出力は、リセット後にはシステム・クロックに同期しているので、逓倍ＰＬＬ５１２からの最初のパルスも、リセット後にはシステム・クロックに同期している。
【００４９】
周波数逓倍器の同期は、好ましくは、ＤＤＳ回路４００を初期化して新たな信号を発生するときに行うとよい。オプションとして、これを名目上の一致点において行うと、いかなる誤差が生じても、クロックを同期から外させないことを確保することができる。
【００５０】
図６は、ＤＤＳ回路の動作方法のフロー・チャートを示す。ステップ６１０において、位相増分を調整（スケーリング）して、ＤＤＳ回路に適した位相増分を得る。スケールファクタは、その分子としてＤＤＳの動作周波数を有し、分母として入力を与えるシステムの動作周波数を有する分数である。
【００５１】
ステップ６１２において、ＤＤＳの所望の周波数を有するクロックを発生する。好ましくは、このクロックは、システム・クロックの周波数を調整することによって発生する。
ステップ６１４および６１６において、位相値を蓄積する。ステップ６１４では、位相値がシステム・クロック周波数で蓄積されることを示す。この蓄積は、システム周波数に関して指定した位相増分を用いて行われる。ステップ６１６において、ステップ６１０において計算した蓄積位相増分を、ステップ６１２において決定したＤＤＳクロックの周波数で蓄積する。
【００５２】
ステップ６１８において、ＤＤＳクロックおよびシステム・クロックが名目上一致すべきか否かについてチェックを行う。前述のように、この判断は、システム・クロックまたは発生したＤＤＳクロックのパルスをカウントすることによって、行うことができる。代替案として、ＤＤＳクロックとその名目値との間の差が小さい場合、２つのクロックが小さな幅即ち誤差以内で一致したときを観察して、名目上の一致点を検出することも可能である。この時点で、クロックが一致したと想定してもよい。別の代替案として、ステップ４１４おおび４１６において判定した蓄積位相を監視することによって一致を検出することも可能である。蓄積位相が小さな誤差以内で一致する場合、その時点でクロックは一致し、蓄積値が同期すると判定してもよい。
【００５３】
どのようにして名目上の一致点を検出するかには関係なく、あるサイクルの間に一致が検出されない場合、処理はステップ６１４および６１６に戻り、更に位相増分を蓄積する。しかしながら、蓄積位相が名目上一致した場合、処理はステップ６２０に進む。
【００５４】
ステップ６２０において、システム・クロック周波数で蓄積した位相を、ＤＤＳ周波数で蓄積した位相と交換（置換）する。このステップの一部として、ＤＤＳクロックもシステム・クロックに再同期させることもできる。
【００５５】
前述のように、スペクトルに関して純粋な信号は、信号の周波数を変更できる（即ち、信号はアジャイル（機敏)である）やり方で発生することができる。このようなクロックを用いると、純粋でアジャイルなクロックを必要とする自動検査システムまたはその他の用途において、アナログまたはディジタル計器を駆動することができる。
【００５６】
前述のシステムを用いると、ＤＤＳの精度を高め、ＤＤＳがシステム・クロックと同期したままでいることを確保することができる。また、システムからのコマンドに基づいて、ＤＤＳのプログラミングを変更する簡単な方法も得られる。例えば、パターン発生器８１６は、ＤＤＳが発生する信号の周波数を変更するコマンドを供給することができる。このようなコマンドは、ΦＩｎｃ＿Ｓｙｓの新しい値という形態で出現する。新たなプログラムした設定値への変更は、パルス増分コマンドを変更することによって行うことができる。次の再同期間隔において、いずれの誤差も自動的に補正される。
【００５７】
例えば、ＦＩＦＯを用いてアキュミュレータ・レジスタ４１０ｂの出力をバッファし、その値をアキュミュレータ・レジスタ１１０ｂに格納するのに適した時点までバッファしておくことを先に述べた。適切な制御により、レジスタは、これらの値をバッファするように接続し、単一ワードのＦＩＦＯとして作用することもできる。
【００５８】
名目上の一致点は、ＣＬＫＳｙｓのパルスをカウントすることによって検出することを述べた。ＣＬＫはＣＬＫＳｙｓから得られるので、ＣＬＫのパルスをカウントすることによっても、結果を得ることができる。
【００５９】
更に、種々の量の間の数学的関係についても説明した。前述の回路および方法は、これらの数値の計算が不正確であっても、またはその値を近似しても動作することは認められるべきである。
【００６０】
また、ある機能性は、ハードウェアで実施するものとして示した。しかし、その機能性の一部は、回路の設定の一部として、ソフトウェアで実施することもできる。
【図面の簡単な説明】
【００６１】
【図１】図１は、従来技術のＤＤＳ回路を示す。
【図２】図２は、従来のＤＤＳ回路とは異なる周波数で駆動されるシステムにおいて動作するＤＤＳ回路を示す。
【図３】図３は、蓄積位相誤差を理解する際に有用なグラフである。
【図４】図４は、従来のＤＤＳ回路とは異なる周波数で駆動されるシステムにおいて動作するＤＤＳ回路の改良である。
【図５】図５は、図４の回路に用いることができる周波数逓倍器のブロック図である。
【図６】図６は、図４の回路の動作を理解する際に有用なフロー・チャートである。
【図７】図７は、従来技術の自動検査システムの簡略ブロック図である。
【図１】
2005190482.tif 000003
【図２】
2005190482.tif 000004
【図３】
2005190482.tif 000005
【図４】
2005190482.tif 000006
【図５】
2005190482.tif 000007
【図６】
2005190482.tif 000008
【図７】
2005190482.tif 000009
【外国語明細書】
2005190482000001.pdf