(57)【要約】  本発明は、異なる速度で動作するように構成された論理回路に関連する異なる周波数の２つのそれぞれのクロック信号に応答して、２クロック・パルス列を生成する遅延故障テスト回路であって、第２のクロック・パルスの立ち上がりエッジが整列させられるように構成される遅延故障テスト回路を提供し、この回路は、基準カウント値を生成するカウント手段と、前記カウント値が第１の閾値に達したとき、２つのクロック・パルスの第１のパルスを開始する手段と、前記カウント値が第２の閾値に達したとき、２つのクロック・パルスの第１のパルスを終了する手段と、前記カウント値が第３の閾値に達したとき、２つのクロック・パルスの第２のパルスを開始する手段と、前記カウント値が第４の閾値に達したとき、２つのクロック・パルスの第２のパルスを終了する手段と、を備え、第３の閾値は、入力クロック信号の両方に共通であり、第１、第２、および第４の閾値はクロック信号のそれぞれの周波数に基づいている。
2007518976.tif 000002
【特許請求の範囲】
【請求項１】
異なる速度で動作するように構成された論理回路に関連する異なる周波数の２つのそれぞれのクロック信号に応答して、２クロック・パルス列を生成する回路であって、第２のクロック・パルスの立ち上がりエッジが整列させられるように構成される遅延故障テスト回路において、
基準カウント値を生成するカウント手段と、
前記カウント値が第１の閾値に達したとき、２つのクロック・パルスの第１のパルスを開始する手段と、
前記カウント値が第２の閾値に達したとき、２つのクロック・パルスの第１のパルスを終了する手段と、
前記カウント値が第３の閾値に達したとき、２つのクロック・パルスの第２のパルスを開始する手段と、
前記カウント値が第４の閾値に達したとき、２つのクロック・パルスの第２のパルスを終了する手段と、を備え、
第３の閾値は、入力クロック信号の両方に共通であり、第１、第２、および第４の閾値は、クロック信号のそれぞれの周波数に基づいている遅延故障テスト回路。
【請求項２】
前記第１、第２、第４の閾値は、テスト下の論理回路に関連するクロック周波数に対する最速クロック周波数の比率の関数を含む請求項１に記載の遅延故障テスト回路。
【請求項３】
前記第１、第２、第４の閾値は、前記比率の最大値の関数である請求項２に記載の遅延故障テスト回路。
【請求項４】
第１の閾値は、前記最大比率値とテスト下の論理回路に関連するクロック信号の比率値との差から導き出される請求項３に記載の遅延故障テスト回路。
【請求項５】
テスト下の論理回路に関連するクロック信号の比率値が偶数である場合に、第２の閾値は、前記最大比率値と前記比率値の半分との差に基づいて決定される請求項３または４に記載の遅延故障テスト回路。
【請求項６】
テスト下の論理回路に関連するクロック信号の比率値が奇数である場合に、第２の閾値は、前記最大比率値と前記比率の半分に１を加えた値との差に基づいて決定される請求項３または４に記載の遅延故障テスト回路。
【請求項７】
第４の閾カウント値は、有利には、最大比率とテスト下の論理回路に関連するクロック信号の前記分周率（division ratio）の半分との和に基づいて決定される請求項４、５または６の何れかに記載の遅延故障テスト回路。
【請求項８】
前記比率がカウンタによって実施される比率生成器（ratio generator）を備える請求項１ないし７の何れかに記載の遅延故障テスト回路。
【請求項９】
前記比率の各々を計算するために２つのカウンタを利用する請求項１ないし８の何れかに記載の遅延故障テスト回路。
【請求項１０】
前記２つのカウンタのうちの第１のカウンタは、最速クロック信号が供給されるように構成されると共に、前記２つのカウンタのうちの他方のカウンタによって生成されたイネーブル信号を受信するように構成される請求項１ないし９の何れかに記載の遅延故障テスト回路。
【請求項１１】
第２のカウンタは、分周率がそれに関して計算されるべきクロック信号が供給されるように構成される請求項１０に記載の遅延故障テスト回路。
【請求項１２】
前記第２のカウンタの最低位ビットは、前記第１のカウンタに送られるイネーブル信号を含み、前記第２のカウンタの最高位ビットは、必要とされる比率が決定されたことを示す信号を含む請求項１１に記載の遅延故障テスト回路。
【請求項１３】
前記最大比率に関連して画定されるウィンドウ内でイネーブル信号が生成される最速クロック・パルス生成器を備える請求項３ないし７の何れかに記載の遅延故障テスト回路。
【請求項１４】
異なる速度で動作するように構成された論理回路に関連する異なる周波数の２つのそれぞれのクロック信号に応答して、２クロック・パルス列を含む信号を生成する方法であって、第２のクロック・パルスの立ち上がりエッジが整列させられる、遅延故障テスト方法において、
基準カウント値を生成するステップと、
前記カウント値が第１の閾値に達したとき、２つのクロック・パルスの第１のパルスを開始するステップと、
前記カウント値が第２の閾値に達したとき、２つのクロック・パルスの第１のパルスを終了するステップと、
前記カウント値が第３の閾値に達したとき、２つのクロック・パルスの第２のパルスを開始するステップと、
前記カウント値が第４の閾値に達したとき、２つのクロック・パルスの第２のパルスを終了するステップと、を備え、
第３の閾値は、入力クロック信号の両方に共通であり、第１、第２、および第４の閾値は、クロック信号のそれぞれの周波数に基づく、遅延故障テスト方法。
【請求項１５】
請求項２ないし１３の何れかに記載の遅延故障テスト回路の回路構成にしたがって導かれるステップを含む請求項１４に記載の遅延故障テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抵抗故障および／または容量故障について集積回路をテストする際に使用される、遅延故障テスト回路および関連方法に関する。
【背景技術】
【０００２】
そのような構成は、米国特許出願第２００３／０１０１３９６Ａ１号によって知られており、同出願は、異なる適用速度で動作する集積回路内の論理ブロック間でデータ転送テストを可能にするため、入力クロック信号に基づき２パルス列を生成するように構成された遅延故障テスト回路を開示している。
【０００３】
回路は、適用周波数でそのとき発生する２パルス列の各々における第２のパルスの立ち上がりまたはポジティブ・エッジが整列させられるように構成される。
【０００４】
しかし、上記の参考文献内の２つのパルスが生成される方法は、不都合なことに、性能上の制限を示す。２つの適用周波数クロック・パルスが求められるリクエストが行なわれた場合、そのようなパルスを生成するのに比較的長い時間が取られる。この時間遅延は一般に、テスト下の回路で必要とされるクロックの周波数にも依存する。同文献で開示される構成は、クロック発生器への入力が入力クロック・パルスの各々の第２のエッジが整列させられるイベントを実際に体験した後、そのようなイベントを出力に渡すことを可能にするためにそのようなイベントを再び待つ必要があるケースの発生に依存する。
【０００５】
そのようなイベントが再発しないならば、その場合、いかなるケースでもその構成は失敗する。また、さらなる制限として、上記の米国特許出願の主題は、テスト下の回路で生じる最速クロックの時間周期の奇数倍である時間周期を有するクロックに使用されることができない。これは、故障テスト中に、最速時間周期の奇数倍である時間周期を有するそのようなクロックは、最も近い偶数倍に等しい時間周期をもつように再発生されなければならないことを意味する。例えば最速クロック周波数が「ｆ」、時間周期がＴ＝１／ｆであり、クロックの１つが周波数＝ｆ／３（時間周期＝３Ｔ）を有するならば、その場合、故障テスト中に、ｆ／３の代わりに、ｆ／４（時間周期４Ｔ）周波数のクロックが発生されなければならず、それは必要とされる仕様に忠実ではないことを意味する。その場合、遅延故障テストは、不都合なことに、所望時間周期の３Ｔの代わりに、時間周期４Ｔを有するより低速のクロックで行なわれる。
【０００６】
最後に、この知られた設計は、５０％のデューティ・サイクル（duty cycle）を有するあるクロック周波数に対しては機能せず、したがって、デューティ・サイクルが変更される必要がある。これは、この知られた構成のさらなる特に不都合な制限を提示する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、知られた上記の回路および方法にまさる利点を有する、遅延故障テスト回路および関連方法を提供することを試みる。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、異なる速度で動作するように構成された論理回路に関連する異なる周波数の２つのそれぞれのクロック信号に応答して、２クロック・パルス列を生成する遅延故障テスト回路であって、第２のクロック・パルスの立ち上がりエッジが整列させられるように構成される遅延故障テスト回路が提供され、前記回路は、
基準カウント値を生成するカウント手段と、
前記カウント値が第１の閾値に達したとき、２つのクロック・パルスの第１のパルスを開始する手段と、
前記カウント値が第２の閾値に達したとき、２つのクロック・パルスの第１のパルスを終了する手段と、
前記カウント値が第３の閾値に達したとき、２つのクロック・パルスの第２のパルスを開始する手段と、
前記カウント値が第４の閾値に達したとき、２つのクロック・パルスの第２のパルスを終了する手段と、を備え、
第３の閾値は、入力クロック信号の両方に共通であり、第１、第２、第４の閾値は、クロック信号のそれぞれの周波数に基づいている。
【０００９】
好ましくは、前記第１、第２、第４の閾値は、テスト下の論理回路に関連するクロック周波数に対する最速クロック周波数の比率の関数を含む。さらに、前記第１、第２、第４の閾値は、前記比率の最大値の関数でもある。
【００１０】
この場合、第１の閾値は、前記最大比率値とテスト下の論理回路に関連するクロック信号の比率値との差から導き出されることができる。
【００１１】
またさらに、テスト下の論理回路に関連するクロック信号の比率値が偶数である場合、第２の閾値は、前記最大比率値と前記比率値の半分との差に基づいて決定されることができる。
【００１２】
その代替として、テスト下の論理回路に関連するクロック信号の比率値が奇数からなる場合、第２の閾値は、前記最大比率値と前記比率の半分に１を加えた値との差に基づいて決定されることができる。
【００１３】
第４の閾カウント値は、有利には、最大比率とテスト下の論理回路に関連するクロック信号の前記分周率（division ratio）の半分との和に基づいて決定される。
【００１４】
前述の比率がカウンタによって実施される比率生成器（ratio generator）が好ましくは備えられる。
【００１５】
有利には、前記回路は、前述の比率の各々を計算するために２つのカウンタを利用することができる。
【００１６】
このようにして、２つのカウンタのうちの第１の方は、最速クロック（fastclk）信号によって供給されるように構成されることができ、また２つの前記カウンタのうちの他方によって生成されたイネーブル信号を受信するように構成されることができる。
【００１７】
さらに、第２のカウンタは、分周率がそれに関して計算されるべきクロック信号によって供給されるように構成されることができる。
【００１８】
前記第２のカウンタの最低位ビットは好ましくは、前記第１のカウンタに送られるイネーブル信号を含み、前記第２のカウンタの最高位ビットは好ましくは、必要とされる比率が決定されたことを示す信号を含む。
【００１９】
本発明は、必要とされる２つの適用周波数クロック・パルスが、必要に応じ、必要な時に、ほとんど直ちに発生できる点で特に有利である。特に、第２の立ち上がりエッジが整列させられた２つの適用周波数クロック・パルスは、関係するクロック信号の実際の周波数とは独立の方法で生成される。本発明は有利には、クロック信号への入力の特性に関わらず、また第２のクロック・パルスの立ち上がりエッジが整列させられるイベントが入力クロックで以前に発生したかどうかに関わらず、２つの整列させられたクロック・エッジを生成する。
【００２０】
さらなる利点として、本発明は、テスト下の回路内の最速クロック時間周期の奇数倍に相当する時間周期を有するクロックとともに容易に機能することができ、またさらに、上記の従来技術文献で生じたデューティ・サイクル制限は、本発明では生じない。
【００２１】
本発明の別の態様によれば、異なる速度で動作するように構成された論理回路に関連する異なる周波数の２つのそれぞれのクロック信号に応答して、２クロック・パルス列を含む遅延故障テスト信号を生成する方法であって、第２のクロック・パルスの立ち上がりエッジが整列させられる方法が提供され、前記方法は、
基準カウント値を生成するステップと、
前記カウント値が第１の閾値に達したとき、２つのクロック・パルスの第１のパルスを開始するステップと、
前記カウント値が第２の閾値に達したとき、２つのクロック・パルスの第１のパルスを終了するステップと、
前記カウント値が第３の閾値に達したとき、２つのクロック・パルスの第２のパルスを開始するステップと、
前記カウント値が第４の閾値に達したとき、２つのクロック・パルスの第２のパルスを終了するステップと、を備え、
第３の閾値は、入力クロック信号の両方に共通であり、第１、第２、および第４の閾値は、クロック信号のそれぞれの周波数に基づく。
【００２２】
前記方法は有利には、上で説明されたようなさらなる特徴を提供するために、さらなる態様を含むことができる。
【００２３】
本発明は、添付の図面を参照しながら、例としてのみ以下でさらに説明される。
【発明を実施するための最良の形態】
【００２４】
最初に図１Ａおよび図１Ｂを参照すると、Ｆ  ＭＨｚの周波数を有する、テスト下の回路内で生じる最速クロック信号に相当する「最速クロック（ｆａｓｔｃｌｋ）」信号に加えて、３つのクロック信号ｃｌｋ（０）、ｃｌｋ（１）、ｃｌｋ（２）がここには示されている。図１Ａは、そのようなクロック信号を示し、図１Ｂは、４つのクロック信号の各々に基づき生成され、それぞれｆａｓｔｃｌｋｏｕｔ、ｃｌｋｏｕｔ（０）、ｃｌｋｏｕｔ（１）、およびｃｌｋｏｕｔ（２）として識別され、２パルス列の各々で第２のパルスの整列を示す遅延故障テスト信号を示している。
【００２５】
そのような出力信号は、上記の従来技術文献において、生じることが知られているが、それらの発生に関して、先に説明された特定の不都合が生じ、それらは、例えば図１Ｂに示されるカウント値「ｃｏｕｎｔｅｒ＿ｐ」を生成する制御カウンタを参照することによって、本発明に従って克服されることができる。
【００２６】
確認のため説明すると、ｃｌｋ（０）はＦ／２の周波数、ｃｌｋ（１）はＦ／３の周波数、ｃｌｋ（２）はＦ／４の周波数をもつことを理解されたい。
【００２７】
ここで図２に移ると、本発明を実施する遅延故障パルス発生器１０のピンアウトが示されている。
【００２８】
遅延故障パルス発生器ブロックは、適用周波数クロックを発生させるクロック発生器とクロック発生器からクロックを受け取るように構成されたデジタル・ブロックとの間に導入される。パルス発生器１０は、必要な場合には、その中を通過する各クロックに基づき第２の立ち上がりエッジが整列された２つの適用周波数パルスを生成するように構成される。それ以外の場合には、発生器は、クロックを変更せずに単に通過させる。
【００２９】
再び図２を参照すると、「ｆａｓｔｃｌｋ」は周波数Ｆをもつ最速クロックであり、その他のすべてのクロックｃｌｋ（ｉ）は、以下のような周波数ｆｃｌｋ（ｉ）を有する。
【００３０】
Ｆ／ｆｃｌｋ（ｉ）＝すべてのｉについて整数
以下に示す真理表の表１は、遅延故障ブロックの機能を与える。
【表１】
2007518976.tif 000003
【００３１】
さらなる要件および利点は、クロック出力が０ｐｓのスキューをもち、リクエストが行なわれた後、パルスを出力するために、最短遅延しか示されないことである。発生器が使用可能モードにない場合のクロック信号の遅延も最短となるべきである。
【００３２】
Ｆ  ＭＨｚの周波数を有する「ｆａｓｔｃｌｋ」に加えて、３つのクロックｃｌｋ（０）、ｃｌｋ（１）、ｃｌｋ（２）が存在する一例は、以下のようになる。
Ｃｌｋ（０）はＦ／２の周波数をもち、
Ｃｌｋ（１）はＦ／３の周波数をもち、
Ｃｌｋ（２）はＦ／４の周波数をもつ。
【００３３】
入力クロックは、図１Ａに示されたクロックであり、出力クロックは、図１Ｂに示されたクロックである。図１Ｂの出力クロックは、第２の立ち上がりエッジが整列させられており、各出力クロック上にそれぞれの適用周波数で２つ存在していることが見てとられ得る。
【００３４】
本発明によって実施される概念は、特に図５を参照して説明され、各入力クロックに対応する２つのクロック・パルスを人工的に発生させるためのものである。これに基づき、入力クロックと出力クロックは、位相関係をもたない。各クロックで２つのパルスが必要とされるだけなので、出力クロックｃｌｋｏｕｔ（ｉ）は、リセット後にカウントを開始する基準カウンタ「ｃｏｕｎｔｅｒ＿ｐ」を参照することによって生成されることができる。各出力クロックｃｌｋｏｕｔ（ｉ）は、「ｃｏｕｎｔｅｒ＿ｐ」がｆｅｃｏｕｎｔ（ｉ）２８と呼ばれるある基準カウントより大きい場合にＯＮに切り替えられ（「１」に設定され）、カウント値「ｃｏｕｎｔｅｒ＿ｐ」がある基準カウントｓｅｃｏｕｎｔ（ｉ）３０より小さいかまたは等しい間はＯＮに維持され、「ｃｏｕｎｔｅｒ＿ｐ」がこの値を超えた場合にＯＦＦとなって、単一のパルスを与える。
【００３５】
各クロックの第２のパルスは、第２の立ち上がりエッジが整列させられなければならないので、「ｃｏｕｎｔｅｒ＿ｐ」が共通の基準カウント値３２に達したときに開始する。各ｃｌｋｏｕｔ（ｉ）は、「ｍａｘ」と呼ばれるこの共通のカウント値３２の後にＯＮに切り替えられ、その後「ｃｏｕｎｔｅｒ＿ｐ」がある基準カウントｐｏｓｔｃｏｕｎｔ（ｉ）３４より小さいかまたは等しくなるまでＯＮに維持され、「ｃｏｕｎｔｅｒ＿ｐ」のカウントがこの値を超えた後にＯＦＦとなる。
【００３６】
ｆｅｃｏｕｎｔ（ｉ）２８、ｓｅｃｏｕｎｔ（ｉ）３０、およびｐｏｓｔｃｏｕｎｔ（ｉ）３４の値は、すべて変数であり、Ｆ＝「ｆａｓｔｃｌｋ」の周波数、ｆ（ｉ）を問題のクロックの周波数とした場合、ｄｉｖｒａｔｉｏ（ｉ）＝Ｆ／ｆ（ｉ）で与えられる、それぞれのｄｉｖｒａｔｉｏ（ｉ）と、定数であり、最大のｄｉｖｒａｔｉｏ（ｉ）に等しい、本明細書では「ｄｉｖｒａｔｉｏ＿ｍａｘ」とも呼ばれる値「ｍａｘ」との関数である。
【００３７】
カウント値２８、３０は、以下のようにして導かれる。
ｆｅｃｏｕｎｔ（ｉ）２８＝ｍａｘ−ｄｉｖｒａｔｉｏ、
ｓｅｃｏｕｎｔ（ｉ）３０＝ｍａｘ−ｄｉｖｒａｔｉｏ（ｉ）／２、ｄｉｖｒａｔｉｏ（ｉ）が偶数の場合、
ｓｅｃｏｕｎｔ（ｉ）３０＝ｍａｘ−（ｄｉｖｒａｔｉｏ（ｉ）／２＋１）、ｄｉｖｒａｔｉｏ（ｉ）が奇数の場合、このときｄｉｖｒａｔｉｏ（ｉ）／２は小さいほうの最も近い整数に丸められる。
【００３８】
上記の計算に基づいて、パルス列「ｃｌｋｏｕｔ＿ｐ（ｉ）」が、図５に示されるように提供される。「ｄｉｖｒａｔｉｏ（ｉ）」が偶数であるかぎり、「ｃｌｋｏｕｔ＿ｐ（ｉ）」が最終出力である。しかし、「ｄｉｖｒａｔｉｏ（ｉ）」が奇数である場合、「ｃｌｋｏｕｔ＿ｐ」は５０％のデューティ・サイクルをもたない。この場合、最終出力は、ｃｌｋｏｕｔ＿ｐ（ｉ）と図５にやはり示されたｃｌｋｏｕｔ＿ｎ（ｉ）との論理和になると考えられ、ここでｃｌｋｏｕｔ＿ｎ（ｉ）はｃｌｋｏｕｔ＿ｐ（ｉ）の遅延バージョンであり、反転された「ｆａｓｔｃｌｋ」（「ｆａｓｔｃｌｋ＿ｎ」とも呼ばれる）によって生成される。
【００３９】
カウント値３４は、以下のようにして導かれる。
Ｐｏｓｔｃｏｕｎｔ（ｉ）３４＝ｍａｘ＋ｄｉｖｒａｔｉｏ（ｉ）／２、ｄｉｖｒａｔｉｏが奇数ならば、その場合はｄｉｖｒａｔｉｏ（ｉ）／２は小さいほうの最も近い整数に丸められる。
【００４０】
以下の値をとる例について考える。
ｄｉｖａｔｉｏ（０）＝２、
ｄｉｖｒａｉｏ（１）＝３、
ｄｉｖｒａｉｏ（３）＝４。
【００４１】
この場合、以下のカウント値が、各クロック信号について生じる。
ｄｉｖｒａｔｉｏ＿ｍａｘ＝４（上で述べられたように「ｍａｘ」とも呼ばれる）、
ｆｅｃｏｕｎｔ（０）＝２、ｓｅｃｏｕｎｔ（０）＝３、ｐｏｓｔｃｏｕｔ（０）＝５
ｆｅｃｏｕｎｔ（１）＝１、ｓｅｃｏｕｎｔ（１）＝２、ｐｏｓｔｃｏｕｔ（１）＝５
ｆｅｃｏｕｎｔ（２）＝０、ｓｅｃｏｕｎｔ（２）＝４、ｐｏｓｔｃｏｕｔ（２）＝６。
【００４２】
理解されるように、「ｆａｓｔｃｌｋ」の周波数（ｆｆｃｌｋ）と入力クロックの周波数（ｆｃｌｋ（ｉ））との比率は、ｄｉｖｒａｔｉｏ（ｉ）＝ｆｆｃｌｋ／ｆｃｌｋ（ｉ）となるように、それぞれのカウンタ［ｄｉｖｒａｔｉｏ（ｉ）］によって計算され、その後、最大比率が、「ｄｉｖｒａｔｉｏ＿ｍａｘ」として求められる。したがって、クロック・パルス値が開始されるカウンタ値は、述べられたように生成される。
【００４３】
ここで図３に移ると、図２の遅延故障パルス発生器の一実施形態のブロック図が提供されている。
【００４４】
発生器１０は、「ｓｃａｎ＿ｅｎ」入力上で「１」から「０」への遷移を検出するように構成されたリセット論理ブロック１２を備え、「ｄｅｆｔ＿ｅｎ」（遅延故障イネーブル）信号が「１」ならば、その場合、発生器は、「ｃｌｒ＿ｎ」と呼ばれる１クロック「０」パルス（ｏｎｅ−ｃｌｏｃｋ“０”ｐｕｌｓｅ）を生成する。回路全体がリセットされ、デザイン内のすべてのレジスタは「０」にクリアされる。
【００４５】
「ｆａｓｔｃｌｋ」信号の立ち上がりエッジでカウントするカウンタ１４が備えられる。これは、必要なパルス信号を生成するために個々のクロックがＯＮまたはＯＦＦに切り替えられるべき基準点を提供する基準カウンタである。
【００４６】
比率生成器１６は、ｃｌｋ（ｉ）信号を受け取り、「ｄｉｖｒａｔｉｏｓ（ｉ）」＝ｆｆｃｌｋ／ｆｃｌｋ（１）を求めるように構成される。各ｄｉｖｒａｔｉｏ（ｉ）は、「ｆａｓｔｃｌｋ＿ｎ」（反転ｆａｓｔｃｌｋ）信号に基づき、ｃｌｋ（ｉ）それぞれの２つの立ち上がりエッジの間をカウントするカウンタとして実施される。その後、カウンタは停止し、最終カウントをｄｉｖｒａｔｉｏ（ｉ）として保存する。
【００４７】
有利には、述べられたようにｆａｓｔｃｌｋの周波数とｃｌｋ（ｉ）の周波数との比率をなす各ｄｉｖｒａｔｉｏ（ｉ）を計算するために、２つのカウンタが使用される。
【００４８】
さらに、一方のカウンタは、「ｆａｓｔｃｌｋ＿ｎ」によって供給され、イネーブル入力が「１」であるときにカウントするように構成される。このイネーブル信号は、「ｅｎｃａｂｌ＿ｇｅｎｅｒａｔｏｒ」として識別される２ビット・カウンタをなし、停止する前に００、０１、１０のようにカウントする、２つのカウンタの他方によって生成される。このカウンタは、その分周率が計算されるべきｃｌｋ（ｉ）信号によって供給される。この２ビット・カウンタのＬＳＢは、カウンタｄｉｖｒａｔｉｏ（ｉ）がｃｌｋ（ｉ）の２つの立ち上がりエッジの間の「ｆａｓｔｃｌｋ」の数をカウントするように、ｄｉｖｒａｔｉｏ（ｉ）カウンタに「ｅｎａｂｌｅ」ピン上で供給される。「ｅｎａｂｌｅ＿ｇｅｎｅｒａｔｏｒ」カウンタのＭＳＢは、比率が準備されたことをそれによって示す「ｄｏｎｅ（ｉ）」信号を表すように構成される。
【００４９】
図４は、このブロックの働きの説明を提供し、この例では、ｃｌｋ（ｉ）は分周率５を有する。見てとられ得るように、「ｄｏｎｅ」信号が論理「１」に高くなったとき、ｄｉｖｒａｔｉｏ（ｉ）カウンタは、そこに比率を保存する。
【００５０】
「ｄｏｎｅ（ｉ）」の各々が「１」に高くなったとき、すべての「ｄｏｎｅ（ｉ）」信号の論理積である「ｒａｔｉｏｓ＿ｄｏｎｅ」信号が生成される。
【００５１】
比率生成器１６からのｄｉｖｒａｔｉｏｓ（ｉ）信号は、最大ｄｉｖｒａｔｉｏ生成器ブロック１８、クロック制御２０、および遅延２２に送られる。
【００５２】
ブロック１８は、「ｄｉｖｒａｔｉｏ＿ｍａｘ」または単に「ｍａｘ」を求める。ブロック１８は、すべてのｄｉｖｒａｔｉｏｓ（ｉ）を受け取り、ｄｉｖｒａｔｉｏ（ｉ）値の中で最大の「ｄｉｖｒａｔｉｏ＿ｍａｘ」を出力するように構成される。このブロックは、「ｆａｓｔｃｌｋ＿ｎ」信号に基づき動作する。
【００５３】
クロック制御２０は、ｄｉｖｒａｔｉｏｓ（ｉ）および「ｍａｘ」値に応じて「ｃｌｋｏｕｔ＿ｐ」を生成し、「ｆａｓｔｃｌｋ」信号に基づき動作するように構成される。
【００５４】
遅延２２は、ｆａｓｔｃｌｋクロック周期の半分だけ各ｃｌｋ（ｉ）を遅延させるように構成される。遅延２２は、「ｆａｓｔｃｌｋ＿ｎ」に基づき動作し、奇数のｄｉｖｒａｔｉｏ（１）値を有するクロックのデューティ・サイクルを調整するのに役立つ。
【００５５】
テスト・クロック・パルス発生器ブロック２４が備えられ、「ｆａｓｔｃｌｋ」信号に基づき２つのパルスを生成する役割を果たす。これは最速クロック信号であるので、カウンタ１４はこのクロックに基づき刻時される。しかし、「ｃｏｕｎｔｅｒ＿ｐ」によって単純に「ｆａｓｔｃｌｋ」の２つのパルスを発生させることは可能ではない。これに基づいて、必要なパルスを発生させるために、特別な測定が行なわれる。「ｅｎａｂｌｅ」信号が、２つの「ｆａｓｔｃｌｋ」パルスを含むのに十分な広さをもった窓を定義する「ｃｏｕｎｔｅｒ＿ｐ」＝「ｍａｘ」−２および「ｃｏｕｎｔｅｒ＿ｐ」＝「ｍａｘ」＋１で発生させられる。その後、この「ｅｎａｂｌｅ」出力は、「ｆａｓｔｃｌｋ＿ｎ」によってそれを刻時することによって、クロック周期の半分だけ遅延させられ、そのため、その後、「ｆａｓｔｃｌｋ＿ｏｕｔ」は、「ｅｎａｂｌｅ」と「ｆａｓｔｃｌｋ」の論理積の結果に等しくなる。
【００５６】
遅延２２は、そのように生成されたクロックのエッジ間のスキューのバランスをとるように構成されるスキュー・バランス・ブロック２６に供給する。奇数比率クロックはそのパスに追加のＯＲゲートを有するので、偶数比率を有するクロックにも同様の遅延が追加されなければならない。「ｆａｓｔｃｌｋ」も残りのクロックとバランスをとられる必要がある。
【００５７】
本発明を実施する、図３に示された回路構成の動作が今から説明される。
【００５８】
ｓｃａｎ＿ｅｎ信号の１から０へのどの遷移も、パルス発生器をトリガするのに役立ち、この時点で、ｄｅｆｔ＿ｅｎが「１」であるならば、その場合、故障パルス発生器は、必要な２パルス列を生成するために効果的にイネーブルにされる。
【００５９】
各個々のクロック入力ｃｌｋ（ｉ）に対する「ｆａｓｔｃｌｋ」の周波数の比率は、それぞれのカウンタｄｉｖｒａｔｉｏ（ｉ）で計算され、この情報は、最大比率「ｄｉｖｒａｔｉｏ＿ｍａｘ」または単に「ｍａｘ」を求めるため、ブロック１６に渡される。その後、ブロック１４内のｃｏｕｎｔｅｒ＿ｐがカウントを開始し、ある時点、すなわちｆｅｃｏｕｎｔ、ｓｅｃｏｕｎｔ、ｍａｘ、およびｐｏｓｔｃｏｕｎｔで、上で説明されたように、それぞれのクロック切り替えが行なわれて、「ｃｌｋｏｕｔ＿ｐ」を生成し、「ｃｌｋｏｕｔ＿ｐ」がｆａｓｔｃｌｋの立ち下がりエッジまでにｆａｓｔｃｌｋ周期の半分だけ遅延させられて、「ｃｌｋｏｕｔ＿ｎ」を生成する。その後、奇数のｄｉｖｒａｔｉｏ（ｉ）値をもつクロックの場合、「ｃｌｋｏｕｔ＿ｎ」値とｃｌｋｏｕｔ＿ｐとの論理和がとられて、最終的なｃｌｋｏｕｔ（ｉ）を生成する。しかし、偶数値の「ｄｉｖｒａｔｉｏ（ｉ）」の場合は、「ｃｌｋｏｕｔ＿ｐ」が最終出力となる。
【００６０】
ｆａｓｔｃｌｋｏｕｔは、「ｅｎａｂｌｅ」と「ｆａｓｔｃｌｋ」の論理積の結果から生成される。「ｅｎａｂｌｅ」値は、上で説明されたように生成される。
【００６１】
しかし、ｄｅｆｔ＿ｅｎが「０」であるならば、その場合、ｃｌｋｏｕｔ（１）はｃｌｋ（ｉ）より小さいか、または等しく、そのため、本発明を使用可能にすることなく、入力クロックが出力クロックとして直接渡される。
【００６２】
説明された実施形態は、本発明の以下の有利な特徴を示している。
【００６３】
前記構成は人工的にクロックを発生させるので、すべての入力クロックが一緒に立ち上がる時点を待ち、その後、それらのパルスを出力する必要がない。したがって、本発明は、非常に速く動作することができ、クロック出力は、リクエストが行なわれた後、最短時間で生成される。パルスを発生させるのに必要とされる時間は、以下の式によって与えられる。
２×ｎ（ｄｉｖｒａｔｉｏｓ＿ｅｖａｌｕａｔｉｏｎ）＋ｎ（ｍａｘ＿ｃａｌｃｕｌａｔｉｏｎ）＋ｍａｘ＋１
【００６４】
ここで、
２×ｎｄｉｖｒａｔｉｏｓ＿ｅｖａｌｕａｔｉｏｎ＝ｄｉｖｒａｔｉｏ（ｉ）＝ｆｆａｓｔｃｌｋ／ｆｓｌｏｗｅｓｔｃｌｋを求めるための時間であり、
ｎｍａｘ＿ｃａｌｃｕｌａｔｉｏｎ＝ｍａｘ値を計算するのに逐次方法（ｓｅｑｕｅｎｔｉａｌ  ｍｅｔｈｏｄ）が使用される場合、最大で（ｆａｓｔｃｌｋを除く）デザイン内のクロック数となり得る、最大値を計算するためのクロックの数であり、
Ｍａｘ＝ｆｆａｓｔｃｌｋ／ｆｓｌｏｗｅｓｔｃｌｋである。
【００６５】
したがって、例えば、デザイン内に５つのクロックが存在し、
ｄｉｖｒａｔｉｏ（０）＝２、
ｄｉｖｒａｔｉｏ（１）＝３、
ｄｉｖｒａｔｉｏ（２）＝５、
ｄｉｖｒａｔｉｏ（３）＝６、
ｄｉｖｒａｔｉｏ（４）＝７であるならば、
その場合、通常の待ち時間は、
２×７＋５＋７＋１＝２７クロック
となる。
【００６６】
すべてのクロックが一緒に立ち上がるのを待つ必要がある従来技術の構成では、すべてのｄｉｖｒａｔｉｏ（ｉ）の最小公倍数であるＬＣＭ数のクロックを待つ必要があり、上のケースでは、ＬＣＭ（２，３，５，６，７）＝２１０である。そのようになるのは、すべてのクロックが一緒に立ち上がる２つの時点の間のｆａｓｔｃｌｋ周期の数はすべてのｄｉｖｒａｔｉｏ（ｉ）のＬＣＭとなるからでなる。
【００６７】
したがって、本発明は、高速であるが、非常に少数の構成要素しか必要としないきわめて小さな回路構成を備える。
【００６８】
さらに、前記回路構成は有利なことに、そのＶＨＤＬデザインがパラメータ化され、最低限の数のパラメータを変更するだけで、新しいデザインが異なる周波数分周率を有する任意の必要な数のクロックを備えて生成され得るという点で汎用的である。
【００６９】
適用モードではデータパス内に１つのマルチプレクサしか存在しないので、クロックが著しく遅延させられることはなく、そのため、これは、適用モードにあるときに、短縮された遅延を提供する。
【００７０】
説明された例から、ｆａｓｔｃｌｋを除くすべての入力クロックｃｌｋ（ｉ）は、Ｆをｆａｓｔｃｌｋの周波数として、すべてのｉについてＦ／ｆｃｌｋ（ｉ）＝整数となるような周波数ｆｃｌｋ（ｉ）を有するべきであることを理解されたい。
【図面の簡単な説明】
【００７１】
【図１Ａ】本発明の装置および方法に従って必要とされるクロック・パルス信号の特性を示すタイミング図である。
【図１Ｂ】本発明の装置および方法に従って必要とされるクロック・パルス信号の特性を示すタイミング図である。
【図２】本発明を実施する遅延故障パルス発生器およびそのような発生器のビンアウトを示す概略図である。
【図３】図２の発生器の概略ブロック図である。
【図４】図３に示された比率生成ブロックの動作を説明するタイミング図である。
【図５】本発明に従って生じ、それぞれの第２のパルスの立ち上がりエッジが整列させられた２パルス・テスト信号の生成を説明するのに役立つタイミング図である。
【図１Ａ】
2007518976.tif 000004
【図１Ｂ】
2007518976.tif 000005
【図２】
2007518976.tif 000006
【図３】
2007518976.tif 000007
【図４】
2007518976.tif 000008
【図５】
2007518976.tif 000009
【国際調査報告】
2007518976.tif 000010
2007518976.tif 000011