(57)【要約】【課題】異なるクロックドメイン間のディレイテストのコストを低減することができる半導体集積回路の試験装置及びその試験方法を提供することである。【解決手段】本発明にかかる半導体集積回路の試験装置は、第１の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第１のテストクロックを第１のクロックドメインに供給する第１の波形生成器１ａと、第２の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第２のテストクロックを第２のクロックドメインに供給する第２の波形生成器１ｂと、を備える。第１及び第２の波形生成器１ａ、１ｂの少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することでテストクロックを生成する分周回路１６１を有する。【選択図】図２
2011089914.tif 000002
【特許請求の範囲】
【請求項１】
第１の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第１のテストクロックを第１のクロックドメインに供給する第１の波形生成器と、
第２の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第２のテストクロックを第２のクロックドメインに供給する第２の波形生成器と、を備え、
前記第１及び第２の波形生成器の少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することで前記テストクロックを生成する分周回路を有する、半導体集積回路の試験装置。
【請求項２】
前記第１の波形生成器が前記第１のクロックドメインに前記第１のテストクロックを供給するタイミングと前記第２の波形生成器が前記第２のクロックドメインに前記第２のテストクロックを供給するタイミングの同期調整を行う同期回路を有する、請求項１に記載の半導体集積回路の試験装置。
【請求項３】
前記同期回路は一つ以上のフリップフロップを備え、当該フリップフロップは前記第１の周波数を有するクロックと前記第２の周波数を有するクロックのうち低い周波数を有するクロックに基づき動作する、請求項２に記載の半導体集積回路の試験装置。
【請求項４】
前記分周回路は、任意のクロックパルスがマスクされた後の前記クロックパルスの第１のタイミングでテストクロックを立ち上げ、当該クロックパルスの第２のタイミングでテストクロックを立ち下げることで、前記テストクロックを生成する、請求項１乃至３のいずれか一項に記載の半導体集積回路の試験装置。
【請求項５】
前記分周回路が前記テストクロックを生成する前記第１及び第２のタイミングは、前記クロックパルスの立ち上がりエッジまたは立ち下がりエッジである、請求項４に記載の半導体集積回路の試験装置。
【請求項６】
前記分周回路は、前記第１の波形生成器及び前記第２の波形生成器のうち低い周波数を有するクロックを入力する波形生成器に設けられている、請求項１乃至５のいずれか一項に記載の半導体集積回路の試験装置。
【請求項７】
前記第１及び第２の波形生成器は、
マスクされるクロックパルスを設定するクロック波形設定データを入力し、当該クロック波形設定データを保持するクロック波形保持レジスタと、
前記クロック波形保持レジスタに格納された前記クロック波形設定データを入力するクロック波形レジスタと、
前記クロック波形レジスタに格納された前記クロック波形設定データに基づき前記クロックパルスをマスクするクロックゲーティング回路と、を有する、請求項１乃至６のいずれか一項に記載の半導体集積回路の試験装置。
【請求項８】
前記クロック波形レジスタは、前記クロック波形設定データのデータビットを前記クロック波形保持レジスタから受け取り、前記第１または第２の周波数を有するクロックに同期して前記データビットを順次出力するシフトレジスタを有し、
前記クロックゲーティング回路は、前記シフトレジスタから出力される前記データビットに応答して、前記第１または第２の周波数を有するクロックをマスクすることで前記第１または第２のテストクロックを生成する、請求項７に記載の半導体集積回路の試験装置。
【請求項９】
前記第１の波形生成器から前記第１のテストクロックが供給される、前記第１のクロックドメインに属する第１のスキャンフリップフロップと、
前記第２の波形生成器から前記第２のテストクロックが供給される、前記第２のクロックドメインに属する第２のスキャンフリップフロップと、
請求項１乃至８のいずれか一項に記載の半導体集積回路の試験装置と、を有する半導体集積回路装置。
【請求項１０】
第１の周波数を有するクロックの任意のクロックパルスをマスクすることで第１のテストクロックを生成し、
第２の周波数を有するクロックの任意のクロックパルスをマスクすることで第２のテストクロックを生成し、
前記第１のテストクロックを第１のクロックドメインに供給し、
前記第２のテストクロックを第２のクロックドメインに供給する、半導体集積回路の試験方法であって、
前記第１及び第２のテストクロックのうちの少なくとも一方を分周することで前記テストクロックを生成する、半導体集積回路の試験方法。
【請求項１１】
前記第１のクロックドメインに前記第１のテストクロックを供給するタイミングと前記第２のクロックドメインに前記第２のテストクロックを供給するタイミングの同期調整を行う、請求項１０に記載の半導体集積回路の試験方法。
【請求項１２】
前記第１の周波数を有するクロックと前記第２の周波数を有するクロックのうち低い周波数を有するクロックに基づき同期調整を行う、請求項１１に記載の半導体集積回路の試験方法。
【請求項１３】
前記第１及び第２のテストクロックのうちの少なくとも一方を分周する際に、
任意のクロックパルスがマスクされた後の前記クロックパルスの第１のタイミングでテストクロックを立ち上げ、前記クロックパルスの第２のタイミングでテストクロックを立ち下げることで、前記テストクロックを生成する、請求項１０乃至１２のいずれか一項に記載の半導体集積回路の試験方法。
【請求項１４】
前記テストクロックを生成する前記第１及び第２のタイミングは、前記クロックパルスの立ち上がりエッジまたは立ち下がりエッジである、請求項１３に記載の半導体集積回路の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の試験装置及びその試験方法に関し、特に異なるクロックドメイン間の遅延故障を検出する半導体集積回路の試験装置及びその試験方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路の大規模化や複雑化に伴い、半導体集積回路内のクロックドメイン数が増加している。このことから、異なるクロックドメイン間のデータ転送パスが増加しており、スキャンパスを用いた異なるクロックドメイン間の遅延テストの重要性が増している。
【０００３】
特許文献１には、スキャンパスを用いた半導体集積回路の試験に関する技術が開示されている。図７は、特許文献１に開示されているディレイテスト回路を示す回路図である。図７に示すディレイテスト回路２１０は、クロック波形保持レジスタ２１１と、クロック波形レジスタ２１２と、クロックゲーティング回路２１３とを備えている。
【０００４】
クロック波形保持レジスタ２１１は、クロック波形設定データ２１４を受け取る波形設定入力２１１ａを有しており、そのクロック波形設定データ２１４を保持するために使用される。クロック波形設定データ２１４は、ディレイテスト回路２１０が出力すべきクロックの波形を指定するデータであり、ＬＳＩテスタ（図示されない）から供給される。クロック波形設定データ２１４はｎビットデータであり、クロック波形保持レジスタ２１１はｎビットシフトレジスタである。クロック波形保持レジスタ２１１は、クロック波形設定データ２１４の各データビットＤ１〜Ｄｎをシリアルに受け取って保持し、それが保持しているデータビットＤ１〜Ｄｎをパラレルに出力可能に構成されている。クロック波形保持レジスタ２１１は、更に、波形設定出力２１１ｂを有しており、それが保持しているクロック波形設定データ２１４をディレイテスト回路２１０の外部にシリアルに出力可能に構成されている。
【０００５】
また、クロック波形レジスタ２１２は、クロック波形保持レジスタ２１１からクロック波形設定データ２１４のデータビットＤ１〜Ｄｎをラッチし、ラッチしたデータビットＤ１〜Ｄｎをシリアルに出力するように構成されたｎビットシフトレジスタである。クロック波形レジスタ２１２からシリアルに出力されるデータビットＤ１〜Ｄｎは、クロックゲーティング回路２１３を制御するクロックゲーティング信号２１７として使用される。クロック波形設定データ２１４のラッチ、及びクロックゲーティング信号２１７の出力は、入力ＰＬＬクロック２２０に同期して行われる。入力ＰＬＬクロック２２０は、テストされる半導体集積回路に内蔵されたＰＬＬ回路によって生成されるクロック信号であり、当該半導体集積回路の動作速度に対応する周波数を有している。
【０００６】
また、クロックゲーティング回路２１３は、クロック波形レジスタ２１２から供給されるクロックゲーティング信号２１７と、外部から供給されるノーマルモード信号２２１ とに応答して、ＰＬＬ回路（図示されない）から供給される入力ＰＬＬクロック２２０をゲーティングする回路である。ノーマルモード信号２２１とは、ディレイテスト回路２１０が搭載される半導体集積回路の動作モードを指定する信号である。ノーマルモード信号２２１は、通常動作時に活性化され（この場合"Ｈｉｇｈ"に設定される）、テストが行われる場合には非活性化される。
【０００７】
具体的には、クロックゲーティング回路２１３は、フリップフロップ２３６と、ＯＲ ゲート２３７と、ＡＮＤゲート２３８とを備えている。フリップフロップ２３６のデータ入力にはクロックゲーティング信号２１７が入力されており、クロック入力には入力ＰＬＬクロック２２０が入力されている。フリップフロップ２３６は、入力ＰＬＬクロック２２０の立ち下がりエッジに同期してクロックゲーティング信号２１７をラッチし、その出力から半周期遅れクロックゲーティング信号２２２を出力する。ＯＲゲート２３７の第１入力にはノーマルモード信号２２１が供給され、第２入力には半周期遅れクロックゲーティング信号２２２が供給される。ＯＲゲート２３７の出力は、ＡＮＤゲート２３８の第１入力に接続されている。ＡＮＤゲート２３８の第２入力には、入力ＰＬＬクロック２２０が供給される。ＡＮＤゲート２３８の出力から、目的とする出力クロックＣＬＫＯＵＴが出力される。
【０００８】
このように構成されたクロックゲーティング回路２１３は、ノーマルモード信号２２１が活性化されると、クロックゲーティング信号２１７に無関係に入力ＰＬＬクロック２２０をそのまま出力クロックＣＬＫＯＵＴとして出力する。一方、ノーマルモード信号２２１が非活性化されると、クロックゲーティング信号２１７に応答して入力ＰＬＬクロック２２０をマスクする。具体的には、あるクロック周期においてクロックゲーティング信号２１７が"Ｌｏｗ"であると、クロックゲーティング回路２１３は、それに続くクロック周期において入力ＰＬＬクロック２２０をマスクする。逆に、あるクロック周期においてクロックゲーティング信号２１７が"Ｈｉｇｈ"であると、クロックゲーティング回路２１３は、それに続くクロック周期において入力ＰＬＬクロック２２０をそのまま出力する。言い換えれば、クロックゲーティング回路２１３は、クロックゲーティング信号２１７が"Ｈｉｇｈ"であるクロック周期の次のクロック周期のみクロックパルスを出力する。クロックゲーティング信号２１７が"Ｌｏｗ"であるクロック周期の次のクロック周期においては、クロックパルスは出力されない。
【０００９】
次に、図７に示したディレイテスト回路２１０の動作（ｎ＝４の場合）、つまり、クロック波形設定データ２１４による波形の設定、及びクロック波形設定データ２１４に応じた出力クロックＣＬＫＯＵＴの生成の過程について説明する。
【００１０】
まず、クロック波形設定データ２１４がクロック波形保持レジスタ２１１に供給され、これにより、所望の出力クロックＣＬＫＯＵＴの波形がディレイテスト回路２１０に設定される。具体的には、図８（ａ）に示すように、クロック波形保持信号２１６が非活性化された状態で、テスタクロック２１５に同期してクロック波形設定データ２１４の各データビットＤ１〜Ｄ４が順次に波形設定入力２１１ａに供給される。
【００１１】
クロック波形設定データ２１４の各データビットＤ１〜Ｄ４は、クロック生成開始信号２１９が活性化された後の４つのクロック周期にそれぞれに対応付けられており、データビットＤ１〜Ｄ４の値は、それぞれが対応するクロック周期におけるクロックパルスの出力の有無に応じて設定される。データビットＤ１〜Ｄ４は、それぞれが対応するクロック周期においてクロックパルスを出力する場合には"１" に、クロックパルスを出力しない場合には"０ " に設定される。例えば、クロック生成開始信号２１９が活性化された後の最初のクロック周期においてクロックパルスを出力しない場合には、データビットＤ１は、"０"に設定される。データビットＤ１、Ｄ２、Ｄ３、Ｄ４がそれぞれ"０"、"１ "、"０"、"１"に設定される図８（ａ）の例では、ディレイテスト回路２１０は、クロック生成開始信号２１９が活性化された後の２番目、及び４番目のクロック周期においてクロックパルスを出力するように設定されることになる。
【００１２】
クロック波形設定データ２１４のクロック波形保持レジスタ２１１への設定が完了すると、クロック波形保持信号２１６が活性化される。これにより、クロック波形保持レジスタ２１１の各フリップフロップのそれぞれの出力が、そのデータ入力に接続され、クロック波形保持レジスタ２１１は、クロック波形設定データ２１４ を保持する状態になる。
【００１３】
続いて、クロック波形保持レジスタ２１１に保持されているクロック波形設定データ２１４の各データビットＤ１〜Ｄ４が、パラレルにクロック波形レジスタ２１２に転送される。具体的には、図８（ｂ）に示されているように、クロック生成開始信号２１９が非活性化された状態で、クロック波形設定信号２１８が活性化される。これにより、入力ＰＬＬクロック２２０の立ち上がりエッジに同期してクロック波形レジスタ２１２のフリップフロップにデータビットＤ１〜Ｄ４が転送される。
【００１４】
フリップフロップへのデータビットＤ１〜Ｄ４の転送が完了した後、クロック波形設定信号２１８が非活性化される。これにより、クロック波形レジスタ２１２の各フリップフロップのそれぞれの出力がそのデータ入力に接続され、クロック波形レジスタ２１２は、クロック波形設定データ２１４を保持する状態になる。
【００１５】
続いて、クロック波形レジスタ２１２に設定されたデータビットＤ１〜Ｄ４がクロックゲーティング信号２１７として順次にクロックゲーティング回路２１３に転送され、データビットＤ１〜Ｄ４に対応する波形を有する出力クロックＣＬＫＯＵＴが生成される。図８（ｃ）は、出力クロックＣＬＫＯＵＴが生成される過程を示すタイミングチャートである。
【００１６】
初期状態では、クロックゲーティング信号２１７は、データビットＤ１の値に対応した値を有している。図８（ｃ）の例では、クロックゲーティング信号２１７は、初期的に"Ｌｏｗ"に設定されている。クロック波形設定信号２１８、クロック生成開始信号２１９は、いずれも非活性化されている。
【００１７】
クロック波形設定信号２１８が非活性化された状態のまま、クロック生成開始信号２１９が活性化されると、データビットＤ１〜Ｄ４が入力ＰＬＬクロック２２０に同期して順次に転送される。言い換えれば、クロックゲーティング信号２１７の値が、データビットＤ１〜Ｄ４の値に応じて順次に切り替えられる。クロックゲーティング回路２１３は、クロックゲーティング信号２１７に応答して出力クロックＣＬＫＯＵＴを出力する。この結果、クロック波形設定データ２１４の各データビットＤ１〜Ｄ４に対応した波形を有するように、出力クロックＣＬＫＯＵＴが生成される。
【００１８】
このように動作するディレイテスト回路２１０は、クロック波形設定データ２１４の各データビットＤ１〜Ｄ４を適切に設定することにより、所望の波形を有する出力クロックＣＬＫＯＵＴを生成可能である。例えば、データビットＤ１〜Ｄ４の連続する２ビットを"１"に設定することにより、より具体的には、データビットＤ１〜Ｄ４を"００１１"、又は"０１１０"に設定することにより、連続した２つのクロックパルスからなる出力クロックＣＬＫＯＵＴを生成可能である。
【００１９】
また、図９はディレイテスト回路２１０を用いてクロックドメイン間パスのａｔ−ｓｐｅｅｄテストを行うように構成された半導体集積回路の構成を示す回路図である。図９においてテストの対象となるのは、スキャンＦＦ２６３Ａ、２６３Ｂの間に設けられているクロックドメイン間パス２６４である。このクロックドメイン間パス２６４のａｔ−ｓｐｅｅｄテストを行うために、図９の半導体集積回路には、上述のディレイテスト回路２１０が２つ設けられている。図９の記載において、２つのディレイテスト回路２１０、及びそれに関連する信号は、参照符号に付せられた記号"Ａ"、"Ｂ"により区別されている。
【００２０】
スキャンＦＦ２６３Ａにクロックを供給するクロック系は、ディレイテスト回路２１０Ａと、セレクタ２６１Ａと、第１クロックツリー２６２Ａとで構成される。セレクタ２６１Ａの第１入力にはシフトクロック２７２が供給され、第２入力にはディレイテスト回路２１０Ａが出力する出力クロックＣＬＫＯＵＴＡが供給される。セレクタ２６１Ａは、スキャンイネーブル信号２７１に応答して、ディレイテスト回路２１０Ａが出力する出力クロックＣＬＫＯＵＴＡとシフトクロック２７２との一方を選択する。第１クロックツリー２６２Ａは、セレクタ２６１Ａが出力するクロックを、スキャンＦＦ２６３Ａを含む第１クロックドメインに分配する。
【００２１】
同様に、スキャンＦＦ２６３Ｂにクロックを供給するクロック系は、ディレイテスト回路２１０Ｂと、セレクタ２６１Ｂと、第１クロックツリー２６２Ｂとで構成される。セレクタ２６１Ｂの第１入力には、シフトクロック２７２が供給され、第２入力には、ディレイテスト回路２１０Ｂが出力する出力クロックＣＬＫＯＵＴＢが供給される。セレクタ２６１Ｂは、スキャンイネーブル信号２７１に応答して、ディレイテスト回路２１０Ｂが出力する出力クロックＣＬＫＯＵＴＢとシフトクロック２７２との一方を選択する。第２クロックツリー２６２Ｂは、セレクタ２６１Ｂが出力するクロックを、スキャンＦＦ２６３Ｂを含む第２クロックドメインに分配する。
【００２２】
クロック生成同期信号２７３は、ディレイテスト回路２１０Ａ、２１０Ｂにクロックの出力を指示する制御信号である。また、セレクタ２６６Ａは、ドメイン間テストモード信号２７６に応答してテスト基準クロック２７４と第１ＰＬＬクロック２７５Ａとの一方を選択し、セレクタ２６６Ｂは、ドメイン間テストモード信号２７６に応答してテスト基準クロック２７４と第２ＰＬＬクロック２７５Ｂとの一方を選択する。セレクタ２６６Ａが出力するクロックが、ディレイテスト回路２１０Ａの入力ＰＬＬクロック２２０Ａとして使用され、セレクタ２６６Ｂが出力するクロックが、ディレイテスト回路２１０Ｂの入力ＰＬＬクロック２２０Ｂとして使用される。
【００２３】
通常動作時には、ドメイン間テストモード信号２７６は非活性化（"０"に設定）され、第１ＰＬＬクロック２７５Ａ、第２ＰＬＬクロック２７５Ｂが、それぞれ、入力ＰＬＬクロック２２０Ａ、２２０Ｂとして供給される。一方、クロックドメイン間パス２６４のａｔ−ｓｐｅｅｄテストが行われる場合には、ドメイン間テストモード信号２７６が活性化され、セレクタ２６６Ａ、２６６Ｂは、いずれもテスト基準クロック２７４を選択する。これにより、テスト基準クロック２７４が、ディレイテスト回路２１０Ａ、２１０Ｂ に共通に供給される。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特開２００６−２５０９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
図９に示した回路を用いて異なるクロックドメイン間パスのディレイテストを実施する場合、第１及び第２ディレイテスト回路２１０Ａ、２１０Ｂは共にテスト基準クロック２７４を用いてテスト用のクロックＣＬＫＯＵＴＡ、ＣＬＫＯＵＴＢを生成している。図１０は、図９に示した回路を用いて異なるクロックドメイン間パスのディレイテストを実施する際の各クロック波形を示すタイミングチャートである。図１０に示すように、テスト基準クロックは第１ＰＬＬクロックと同一の周波数、つまり第２ＰＬＬクロックと比べて高速のクロックである。
【００２６】
この場合、両クロックドメインには、高速なクロックであるテスト基準クロックに基づき生成されたテスト用のクロックＣＬＫＯＵＴＡ、ＣＬＫＯＵＴＢが印加されているので、クロック幅が固定され実現可能なクロック波形が限られる。そのため、同時にテスト可能なクロックドメイン間パスも限られてしまい、テストパタン数が多くなるという問題がある。
【００２７】
ここで、各クロックの立ち上がりエッジをＰＯＳ（positive edge）、立ち下がりエッジをＮＥＧ（negative edge）と表記する。
【００２８】
例えば、異なるクロックドメイン間のディレイテストを実施する際は、周波数の速いクロックである第１ＰＬＬクロックのドメインから周波数の遅いクロックである第２ＰＬＬクロックのドメインへのデータ転送の場合、（１）第１ＰＬＬクロックのＰＯＳから第２ＰＬＬクロックのＰＯＳへ、（２）第１ＰＬＬクロックのＰＯＳから第２ＰＬＬクロックのＮＥＧへ、（３）第１ＰＬＬクロックのＮＥＧから第２ＰＬＬクロックのＰＯＳへ、（４）第１ＰＬＬクロックのＮＥＧから第２ＰＬＬクロックのＮＥＧへ、の４通りのテストが必要となる。この場合は、図１０の（ａ）、（ｂ）に示すように２つのテスト用のクロック波形が必要となる。
【００２９】
また、周波数の遅いクロックである第２ＰＬＬクロックのドメインから周波数の速いクロックである第１ＰＬＬクロックのドメインへのデータ転送の場合は、（５）第２ＰＬＬクロックのＰＯＳから第１ＰＬＬクロックのＰＯＳへ、（６）第２ＰＬＬクロックのＰＯＳから第１ＰＬＬクロックのＮＥＧへ、（７）第２ＰＬＬクロックのＮＥＧから第１ＰＬＬクロックのＰＯＳへ、（８）第２ＰＬＬクロックのＮＥＧから第１ＰＬＬクロックのＮＥＧへ、の４通りのテストが必要となる。この場合は、図１０の（ｃ）〜（ｆ）に示すように４つのテスト用のクロック波形が必要となる。
【００３０】
よって、図９に示したように複数のディレイテスト回路２１０Ａ、２１０Ｂが単一のテスト基準クロック２７４に基づいてテスト用のクロック波形を生成する場合、異なるクロックドメイン間のディレイテストに必要なクロック波形が多くなるため、ディレイテストのコストが増加するという問題があった。
【課題を解決するための手段】
【００３１】
本発明にかかる半導体集積回路の試験装置は、第１の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第１のテストクロックを第１のクロックドメインに供給する第１の波形生成器と、第２の周波数を有するクロックの任意のクロックパルスをマスクすることで生成された第２のテストクロックを第２のクロックドメインに供給する第２の波形生成器と、を備え、前記第１及び第２の波形生成器の少なくとも一方は任意のクロックパルスがマスクされた後のクロックパルスを分周することで前記テストクロックを生成する分周回路を有する。
【００３２】
本発明にかかる半導体集積回路の試験装置では、第１の波形生成器は第１の周波数を有するクロックを用いて第１のテストクロックを生成し、また第２の波形生成器は第２の周波数を有するクロックを用いて第２のテストクロックを生成している。また、第１及び第２の波形生成器の少なくとも一方は任意の分周パルスを出力可能な分周回路を有する。このため、本発明にかかる半導体集積回路の試験装置は、１つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
【００３３】
本発明にかかる半導体集積回路の試験方法は、第１の周波数を有するクロックの任意のクロックパルスをマスクすることで第１のテストクロックを生成し、第２の周波数を有するクロックの任意のクロックパルスをマスクすることで第２のテストクロックを生成し、前記第１のテストクロックを第１のクロックドメインに供給し、前記第２のテストクロックを第２のクロックドメインに供給する、半導体集積回路の試験方法であって、前記第１及び第２のテストクロックのうちの少なくとも一方を分周することで前記テストクロックを生成する。
【００３４】
本発明にかかる半導体集積回路の試験方法では、第１の周波数を有するクロックを用いて第１のテストクロックを生成し、また第２の周波数を有するクロックを用いて第２のテストクロックを生成している。また、第１及び第２のテストクロックのうちの少なくとも一方は分周される。このため、本発明にかかる半導体集積回路の試験方法を用いることで、１つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
【発明の効果】
【００３５】
本発明により異なるクロックドメイン間のディレイテストのコストを低減することができる半導体集積回路の試験装置及びその試験方法を提供することができる。
【図面の簡単な説明】
【００３６】
【図１】実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。
【図２】実施の形態にかかる半導体集積回路の試験装置の回路図である。
【図３】実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。
【図４】実施の形態にかかる半導体集積回路の試験装置の動作を示すタイミングチャートである。
【図５】実施の形態にかかる半導体集積回路の試験装置の動作を示すタイミングチャートである。
【図６】本発明の効果を説明するための図である。
【図７】背景技術にかかるディレイテスト回路を示す回路図である。
【図８】背景技術にかかるディレイテスト回路の動作を説明するためのタイミングチャートである。（ａ）はクロック波形保持レジスタにクロック波形設定データを設定する動作、（ｂ）はクロック波形レジスタにクロック波形設定データの各データビットを設定する動作、（ｃ）はディレイテスト回路が出力クロックを出力する動作を説明するためのタイミングチャートである。
【図９】背景技術にかかるディレイテスト回路を用いてクロックドメイン間パスのａｔ−ｓｐｅｅｄテストを行うように構成された半導体集積回路の構成を示す回路図である。
【図１０】本発明の課題を説明するための図である。
【図１１】異なるクロックドメイン間のスキュー調整を説明するための図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照して本発明の実施の形態について説明する。図１は本実施の形態にかかる半導体集積回路の試験装置を構成する波形生成器の回路図である。図１に示す波形生成器１は、クロック波形保持レジスタ１１と、クロック波形レジスタ１３と、クロックゲーティング回路１５と、分周モジュール１６と、を有する。また、図１に示す波形生成器１は、更にクロック波形保持レジスタ１１の前段にクロックゲーティング回路１２を、クロック波形レジスタ１３の前段にクロックゲーティング回路１４を、また、ターゲットレジスタ１７を備えていてもよい。
【００３８】
クロック波形保持レジスタ１１は、クロック波形設定データ（ＰＵＬＳＥ_ＳＥＴＩＮ）３０を受け取り、保持する機能を有する。クロック波形設定データ３０は、波形生成器１が出力すべきクロック波形を指定するデータであり、例えばＬＳＩテスタ（不図示）から供給される。クロック波形設定データ３０はｎビットのデータであり、クロック波形保持レジスタ１１はフリップフロップ（以下、ＦＦと記載する）１１１_１〜１１１_ｎを有するｎビットのシフトレジスタである。また、クロック波形保持レジスタ１１はテスタクロック（ＳＣＫ）３２を入力し、このテスタクロック３２のタイミングにしたがい、クロック波形設定データ３０の各データビットをシリアルに受け取って保持する。このとき、クロック波形保持レジスタ１１は保持しているデータビットＤ_１〜Ｄ_ｎをパラレルに出力可能に保持している。なお、ＦＦ１１１_１〜１１１_ｎの数は、生成するテストクロックの波形にあわせて適宜変更することができる。
【００３９】
クロック波形保持レジスタ１１の前段に設けられたクロックゲーティング回路１２は、波形生成器１の初期化時、つまりクロック波形保持レジスタ１１にクロック波形を設定するときにのみ、クロック波形保持レジスタ１１を構成するＦＦ１１１_１〜１１１_ｎのクロック入力にテスタクロック３２を供給する。クロックゲーティング回路１２は、ＦＦ１２１とＡＮＤゲート１２２を備える。ＦＦ１２１のクロック入力にはテスタクロック３２が供給され、このテスタクロック３２の立ち下がりエッジに同期してパルスシフト信号（ＰＵＬＳＥ_ＳＨＩＦＴ）３１をラッチする。ＡＮＤゲート１２２の一方の入力にはＦＦ１２１の出力が供給され、他方の入力にはテスタクロック３２が供給される。ＡＮＤゲート１２２の出力は、クロック波形保持レジスタ１１を構成するＦＦ１１１_１〜１１１_ｎのクロック入力に供給される。つまり、クロックゲーティング回路１２はパルスシフト信号３１がハイレベル（つまり、"１"）のときにのみ、クロック波形保持レジスタ１１にテスタクロック３２を供給する。
【００４０】
クロック波形レジスタ１３は、クロック波形保持レジスタ１１からのデータビットＤ_１〜Ｄ_ｎをラッチし、ラッチしたデータビットＤ_１〜Ｄ_ｎをシリアルに出力するように構成されたｎビットのシフトレジスタである。クロック波形レジスタ１３からシリアルに出力されるデータビットＤ_１〜Ｄ_ｎは、クロックゲーティング回路１５を制御するクロックゲーティング信号２５として使用される。
【００４１】
クロック波形レジスタ１３は、ＦＦ１３１_１〜１３１_ｎと、ＦＦ１３４と、セレクタ１３２_１〜１３２_ｎと、セレクタ１３３を備えている。セレクタ１３２_１〜１３２_ｎは、パルススタート信号（ＰＵＬＳＥ_ＳＴＡＲＴ）３３がローレベル（つまり、"０"）のときに、それぞれクロック波形保持レジスタ１１からのデータビットＤ_１〜Ｄ_ｎを選択し、ＦＦ１３１_１〜１３１_ｎに出力する。一方、セレクタ１３２_１〜１３２_ｎは、パルススタート信号３３がハイレベル（つまり、"１"）のときに、前段のＦＦの出力を選択する。なお、パルススタート信号３３がハイレベルのとき、セレクタ１３２_ｎは接地電位（つまり、ローレベル）を選択する。
【００４２】
また、セレクタ１３３はパルススタート信号３３がローレベルの時は接地電位（つまり、ローレベル）を選択し、パルススタート信号３３がハイレベルの時は前段のＦＦ１３１_１の出力を選択し、選択した信号をＦＦ１３４へ出力する。ＦＦ１３４はクロックゲーティング信号２５を出力する。ここで、クロック波形レジスタ１３のＦＦ１３１_１〜１３１_ｎ、ＦＦ１３４は、それぞれ入力された入力クロック（ＣＬＫ_ＩＮ）３４のタイミングに同期して動作する。
【００４３】
クロック波形レジスタ１３の前段に設けられたクロックゲーティング回路１４は、半導体集積回路の試験時にのみ入力クロック３４をクロック波形レジスタ１３のＦＦ１３１_１〜１３１_ｎ、１３４のクロック入力に供給する回路である。クロックゲーティング回路１４は、ＦＦ１４１とＡＮＤゲート１４２を備える。ＦＦ１４１のクロック入力には入力クロック３４が供給され、この入力クロック３４の立ち下がりエッジに同期してスキャンテスト信号（ＳＣＡＮＴＥＳＴ）３５をラッチする。ＡＮＤゲート１４２の一方の入力にはＦＦ１４１の出力が供給され、他方の入力には入力クロック３４が供給される。ＡＮＤゲート１４２の出力は、クロック波形レジスタ１３を構成するＦＦ１３１_１〜１３１_ｎ、ＦＦ１３４に供給される。つまり、クロックゲーティング回路１４はスキャンテスト信号３５がハイレベル（つまり、"１"）のときにのみ、入力クロック３４をクロック波形レジスタ１３に供給する。
【００４４】
クロック波形レジスタ１３の後段に設けられたクロックゲーティング回路１５は、ＯＲゲート１５１、ＦＦ１５２、ＡＮＤゲート１５３を備える。ＯＲゲート１５１はクロック波形レジスタ１３から出力されたクロックゲーティング信号２５、及びスキャンテスト信号３５がインバータ２３により反転された信号を入力し、これらの論理演算の結果をＦＦ１５２に出力する。ＦＦ１５２のクロック入力には入力クロック３４が供給される。ＦＦ１５２は、この入力クロック３４の立ち下がりエッジに同期してＯＲゲート１５１の出力結果をラッチする。ＡＮＤゲート１５３の一方の入力にはＦＦ１５２の出力が供給され、他方の入力には入力クロック３４が供給される。ＡＮＤゲート１５３の出力であるクロックゲーティング出力２６は分周モジュール１６に出力される。
【００４５】
クロックゲーティング回路１５のＯＲゲート１５１の一方の入力は、スキャンテスト信号３５がハイレベル（つまり、"１"）のときに、"０"となる。この場合、ＯＲゲート１５１は、ＯＲゲート１５１の他方に供給される信号であるクロックゲーティング信号２５をＦＦ１５２に出力する。そして、ＦＦ１５２は、入力クロック３４の立ち下がりエッジに同期してＯＲゲート１５１の出力（つまり、クロックゲーティング信号２５）をラッチし、その出力から半周期遅れのクロックゲーティング信号を出力する。ＡＮＤゲート１５３はＦＦ１５２の出力である半周期遅れのクロックゲーティング信号と入力クロック３４に基づき、クロックゲーティング出力２６を出力する。このとき、クロックゲーティング出力２６はクロック波形設定データ３０により設定された波形、つまり、入力クロック３４の任意のクロックパルスがマスクされた波形のクロックパルスとなっている。
【００４６】
分周モジュール１６は、分周回路制御信号保持レジスタ１６２と、分周回路１６１と、セレクタ１６４とを備える。分周回路制御信号保持レジスタ１６２は、分周回路１６１で分周したクロック波形の出力を制御するレジスタである。分周回路制御信号保持レジスタ１６２には、分周後のクロック波形を出力する場合は"１"が、分周後のクロック波形を出力しない場合は"０"が設定される。
【００４７】
なお、分周回路制御信号保持レジスタ１６２の設定は、波形生成器１にシリアルに入力されるクロック波形設定データ３０を用いて設定することができる。つまり、分周回路制御信号保持レジスタ１６２のクロック入力に、クロック波形保持レジスタ１１を構成するＦＦ１１１_１〜１１１_ｎと同期するクロック（つまり、テスタクロック３２）を入力し、クロック波形設定データ３０をシリアルに転送することで、設定することができる。
【００４８】
次に、分周回路１６１について説明する。図１に示す分周回路１６１は２分周の分周回路を例として示している。本実施の形態にかかる発明において、分周回路１６１は２分周だけでなく分周の数が２よりも大きい分周回路であってもよい（例えば３分周などの波形出力が可能な分周回路）。分周回路の分周の数は、得ようとする波形に基づき決定することができる。図１に示す分周回路１６１は、ＦＦ１６３を備える。ＦＦ１６３のクロック入力にはクロックゲーティング出力２６が供給され、ＦＦ１６３のデータ入力にはＦＦ１６３のデータ出力を反転した値が供給される。また、ＦＦ１６３のデータ出力はセレクタ１６４の入力に供給される。セレクタ１６４は、分周回路制御信号保持レジスタ１６２が"１"に設定されている場合は分周回路１６１の出力を選択し、"０"に設定されている場合はクロックゲーティング出力２６を選択する。セレクタ１６４の出力は、セレクタ２０の入力に供給される。
【００４９】
また、本実施の形態にかかる波形生成器１はターゲットレジスタ１７を備えていてもよい。波形生成器１を使用する場合はターゲットレジスタ１７には"１"が設定され、波形生成器１を使用しない場合はターゲットレジスタ１７には"０"が設定される。なお、ターゲットレジスタ１７の設定は、分周回路制御信号保持レジスタ１６２と同様に、クロック波形設定データ３０を用いて設定することができる。
【００５０】
ＯＲゲート１８は、ターゲットレジスタ１７に設定された信号をインバータ２２で反転した信号、パルスシフト信号３１、及びＳＭＣ信号３６を入力し、これらの内のいずれかの信号が"１"であれば、ＡＮＤゲート１９の一方の入力に"１"を出力する。
【００５１】
ＡＮＤゲート１９は、スキャンテスト信号３５とＯＲゲート１８の出力を入力し、スキャンテスト信号３５が"１"で、かつＯＲゲート１８の出力が"１"の場合にセレクタ２０の制御入力に"１"を出力する。これ以外の場合は、ＡＮＤゲート１９はセレクタ２０の制御入力に"０"を出力する。
【００５２】
セレクタ２０には、セレクタ１６４の出力（つまり、クロックゲーティング出力２６または分周回路１６１の出力）とテスタクロック３２が入力され、セレクタ２０の制御入力には、ＡＮＤゲート１９の出力が入力される。そして、セレクタ２０は制御入力が"０"の場合はセレクタ１６４の出力をテストクロック（ＰＵＬＳＥ_ＯＵＴ）３７として出力する。一方、セレクタ２０は制御入力が"１"の場合はテスタクロック３２の出力をテストクロック３７として出力する。
【００５３】
また、波形生成器１を使用しない場合はターゲットレジスタ１７には"０"が設定される。このとき、ＯＲゲート１８にはインバータ２２から"１"が常に供給されるため、ＯＲゲート１８はＡＮＤゲート１９に対して常に"１"を出力する。そして、試験時にはスキャンテスト信号３５が"１"となり、このときＡＮＤゲート１９は"１"を出力する。よって、ターゲットレジスタ１７に"０"が設定された場合は、テストクロック３７としてテスタクロック３２が出力される。
【００５４】
また、波形生成器１はＦＦ２１を備えていてもよい。ＦＦ２１はクロックゲーティング回路１２から供給されるテスタクロック３２の立ち下がりエッジで、シリアルに入力されるクロック波形設定データ３０をラッチし、クロック波形設定データ３０をクロック波形設定データ出力（ＰＵＬＳＥ_ＳＥＴＯＵＴ）３８から出力する。
【００５５】
次に、本実施の形態にかかる半導体集積回路の試験装置について図２を用いて説明する。図２に示す半導体集積回路の試験装置は、第１の波形生成器１ａ、第２の波形生成器１ｂ、ＰＬＬ回路３、同期回路４、セレクタ５を有する。ここで、第１及び第２の波形生成器１ａ、１ｂは共に上記で説明した構成を有する。第１及び第２の波形生成器１ａ、１ｂはそれぞれ、パルスシフト信号３１、テスタクロック３２、スキャンテスト信号３５、ＳＭＣ信号３６、及びパルススタート信号３３を入力する。なお、本実施の形態にかかる発明では、第１及び第２の波形生成器１ａ、１ｂのうちの少なくとも一方が分周回路を備えていればよい。例えば、第１及び第２の波形生成器１ａ、１ｂのうち低い周波数を有するクロックを入力する波形生成器（本実施の形態の場合は第２の波形生成器１ｂ）に分周回路を設けてもよい。
【００５６】
また、第１の波形生成器１ａはクロック波形設定データ３０をシリアルに入力し、当該データをクロック波形設定データ出力３８から第２の波形生成器１ｂへ出力する。第２の波形生成器１ｂは、第１の波形生成器１ａからのクロック波形設定データ出力３８をクロック波形設定データ３０として入力する。つまり、クロック波形設定データ３０は第１の波形生成器１ａ、第２の波形生成器１ｂにシリアルに転送され、それぞれのクロック波形保持レジスタ１１、ターゲットレジスタ１７、分周回路制御信号保持レジスタ１６２の値を設定する。
【００５７】
また、ＰＬＬ回路３は基準クロックＲＣＬＫに基づき生成された第１の周波数を有するクロック３４ａ（ｃｌｋ１_ｏｒｇ：以下、第１のクロックともいう）を第１の波形生成器１ａに供給し、第２の周波数を有するクロック３４ｂ（ｃｌｋ２_ｏｒｇ：以下、第２のクロックともいう）を第２の波形生成器１ｂに供給する。
【００５８】
また、図２に示す半導体集積回路の試験装置では、パルススタート信号３３が同期回路４を介して第１及び第２の波形生成器１ａ、１ｂのそれぞれに入力されている。同期回路４を用いる場合は、例えば図２に示すように遅いクロックである第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）で動作する２つのＦＦ４１、４２を設ける。
【００５９】
図２に示すように、第１の波形生成器１ａの出力（ＰＵＬＳＥ_ＯＵＴ_a）３７ａはスキャンＦＦ６１、６２のクロック入力に接続され、また、第２の波形生成器１ｂの出力（ＰＵＬＳＥ_ＯＵＴ_ｂ）３７ｂはスキャンＦＦ７１、７２、７３のクロック入力に接続されている。つまり、スキャンＦＦ６１、６２とスキャンＦＦ７１、７２、７３はそれぞれ異なるクロックドメインに存在する。このとき、スキャンＦＦ６１とＦＦ６２は第１の波形生成器１ａから供給されるテストクロック３７ａの立ち上がりエッジで入力されるデータをラッチする。
【００６０】
同様に、スキャンＦＦ７１、７３は第２の波形生成器１ｂから出力されるテストクロック３７ｂの立ち下がりエッジで入力されるデータをラッチする。また、スキャンＦＦ７２は第２の波形生成器１ｂから出力されるテストクロック３７ｂの立ち上がりエッジで入力されるデータをラッチする。また、ＦＦ６１とＦＦ７１はクロックドメイン間パス５０で接続されており、ＦＦ７２とＦＦ６２はクロックドメイン間パス５１で接続されており、ＦＦ６２とＦＦ７３はクロックドメイン間パス５２で接続されている。
【００６１】
ここで、第１の波形生成器１ａから第１のテストクロック３７ａが供給される、第１のクロックドメインに属する第１のスキャンＦＦ６１、６２と、第２の波形生成器１ｂから第２のテストクロック３７ｂが供給される、第２のクロックドメインに属する第２のスキャンＦＦ７１、７２、７３と、波形生成器１ａ、１ｂ等を有する半導体集積回路の試験装置は、半導体集積回路装置を構成することができる。
【００６２】
図２に示す試験装置は、第２のクロックのＰＯＳから第１のクロックのＰＯＳへのデータ転送、第１のクロックのＰＯＳから第２のクロックのＮＥＧへのデータ転送、第１のクロックのＮＥＧから第２のクロックのＮＥＧへのデータ転送の３つのデータ転送を有する回路を対象としている。
【００６３】
次に、図２に示す半導体集積回路の試験装置の動作について説明する。なお、この場合は、第１及び第２の波形生成器１ａ、１ｂとして、図３に示す波形生成器を用いている。図３に示す波形生成器は、図１に示した波形生成器におけるターゲットレジスタ１７を省略し、ｎの値を４、つまり、クロック波形保持レジスタ１１とクロック波形レジスタ１３を構成するフリップフロップの数をそれぞれ４つ（ＦＦ１３４は除く）としている。また、以下では、第１の波形生成器１ａを構成する各要素の符号に「ａ」を付し、第２の波形生成器１ｂを構成する各要素の符号に「ｂ」を付して区別している。また、波形生成器１を構成する各要素を総称して示す場合は、「ａ」、「ｂ」の符号を付さないで示している。
【００６４】
まず、図２に示す半導体集積回路の試験装置の初期化について図４を用いて説明する。図４は図２に示す半導体集積回路の試験装置の動作を示すタイミングチャートである。図４に示すように、スキャンテスト信号３５を"１"、パルスシフト信号３１を"１"、パルススタート信号３３を"１"とする。パルスシフト信号３１が"１"に設定されると、テスタクロック３２がクロック波形保持レジスタ１１のＦＦ１１１_１〜１１１_４、分周回路制御信号保持レジスタ１６２、ＦＦ２１に供給される。
【００６５】
第１及び第２の波形生成器１ａ、１ｂは、クロック波形設定データ３０をシリアルに入力し、テスタクロック３２の立ち上がりエッジに同期して、クロック波形設定データ３０を、第１の波形生成器１ａのＦＦ１１１_４ａ、ＦＦ１１１_３ａ、ＦＦ１１１_２ａ、ＦＦ１１１_１ａ、分周回路制御信号保持レジスタ１６２ａ、第２の波形生成器１ｂのＦＦ１１１_４ｂ、ＦＦ１１１_３ｂ、ＦＦ１１１_２ｂ、ＦＦ１１１_１ｂ、分周回路制御信号保持レジスタ１６２ｂの順に転送する。このとき、パルススタート信号３３を"１"とすることで、クロック波形レジスタ１３のセレクタ１３２_１〜１３２_４がデータビットＤ_１〜Ｄ_４を選択しないようにすることができるため、クロック波形保持レジスタ１１からクロック波形レジスタ１３にデータが転送されることを防止することができる。
【００６６】
本実施の形態ではクロック波形設定データ３０として、「１００００  ００１１１」が設定されている場合を例示している。このとき、前半の「１００００」は第１の波形生成器１ａに設定されるクロック波形設定データであり、後半の「００１１１」は第２の波形生成器１ｂに設定されるクロック波形設定データである。また、クロック波形設定データ３０の前半の「１００００」のうち、一番右側の数字は第１の波形生成器１ａの分周回路制御信号保持レジスタ１６２ａに設定される値を示し、後半の「００１１１」のうち、一番右側の数字は第２の波形生成器１ｂの分周回路制御信号保持レジスタ１６２ｂに設定される値を示している。
【００６７】
また、クロック波形設定データ３０の前半の「１００００」のうち左側の４つの数字は、それぞれ第１の波形生成器１ａのデータビットＤ_１ａ〜Ｄ_４ａに対応し、ＦＦ１１１_１ａ〜１１１_４ａにラッチされる。また、クロック波形設定データ３０の後半の「００１１１」のうち左側の４つの数字は、それぞれ第２の波形生成器１ｂのデータビットＤ_１ｂ〜Ｄ_４ｂに対応し、ＦＦ１１１_１ｂ〜１１１_４ｂにラッチされる。ここで、クロックパルスを出力する場合、つまり、クロックパルスをマスクしない場合はデータビットＤ_１〜Ｄ_４の値を"１"に設定する。また、クロックパルスを出力しない場合、つまりクロックパルスをマスクする場合はデータビットＤ_１〜Ｄ_４の値を"０"に設定する。
【００６８】
なお、クロック波形設定データ３０が、第１及び第２の波形生成器１ａ、１ｂに入力される際は、「１００００  ００１１１」のうち右側のデータから左側のデータの順に入力される。また、第２の波形生成器１ｂに供給されるクロック波形設定データは、第１の波形生成器１ａからクロック波形設定データ出力３８として出力される。
【００６９】
また、図４に示す第１の波形生成器１ａのデータビットＤ_１ａ〜Ｄ_４ａの状態は、第１の波形生成器１ａのＦＦ１１１_１ａ〜１１１_４ａにラッチされているデータの状態を示している。図４に示す第２の波形生成器１ｂのデータビットＤ_１ｂ〜Ｄ_４ｂの状態は、第２の波形生成器１ｂのＦＦ１１１_１ｂ〜１１１_４ｂにラッチされているデータの状態を示している。各クロック波形設定データ３０の値は、テスタクロック３２の立ち上がりエッジに同期して各ＦＦ１１１_１〜１１１_４にラッチされる。
【００７０】
例えば、図４のｔ１のタイミングでは、テスタクロック３２が立ち上がるタイミングで第１の波形生成器１ａに供給されるクロック波形設定データは「１００００  ００１１１」のうちの右から一番目の"１"となっている。よって、第１の波形生成器１ａのＦＦ１１１_４ａは"１"をラッチする。ｔ２のタイミングでは、テスタクロック３２が立ち上がるタイミングで第１の波形生成器１ａに供給されるクロック波形設定データは「１００００  ００１１１」のうちの右から二番目の"１"となっている。よって、第１の波形生成器１ａのＦＦ１１１_４ａは"１"をラッチする。また、このときＦＦ１１１_３ａはＦＦ１１１_４ａにラッチされている"１"を入力してラッチする。このようにして、クロック波形設定データ３０がシリアルに転送される。
【００７１】
また、同様にして分周回路制御信号保持レジスタ１６２ａ、１６２ｂは、図４に示すクロック波形設定データ３０をラッチする。
【００７２】
次に、図４に示すｔ３のタイミングで、パルスシフト信号３１を"０"、パルススタート信号３３を"０"に設定する。これにより、クロック波形保持レジスタ１１の値が固定され、クロック波形レジスタ１３の各ＦＦ１３１_１〜１３１_４にデータビットＤ_１〜Ｄ_４の値が送られる。つまり、パルスシフト信号３１を"０"に設定することで、テスタクロック３２がクロック波形保持レジスタ１１に伝達されなくなり、ＦＦ１１１_１〜１１１_４にラッチされているデータビットＤ_１〜Ｄ_４の値が固定される。また、パルススタート信号３３を"０"に設定することで、クロック波形レジスタ１３のセレクタ１３２_１〜１３２_４は、クロック波形保持レジスタ１１の出力であるデータビットＤ_１〜Ｄ_４を選択する。これにより、クロック波形レジスタ１３の各ＦＦ１３１_１〜１３１_４にはデータビットＤ_１〜Ｄ_４の値が伝達され、各ＦＦ１３１_１〜１３１_４は入力クロック３４のタイミングに同期してこれらの値をラッチする。なお、このときＦＦ１３４には"０"の値がラッチされる。
【００７３】
次に、スキャンシフトインの動作について説明する。ｔ３のタイミングから１レート後のｔ４のタイミングで、ＳＭＣ信号３６を"１"に設定し、更にその１レート後にテスタクロック３２を印加することで、スキャンシフトをすることができる。つまり、ＳＭＣ信号３６を"１"に設定することでＯＲゲート１８はＡＮＤゲート１９の一方の入力に"１"を出力する。このときスキャンテスト信号３５は"１"であるので、ＡＮＤゲート１９はセレクタ２０の制御入力に"１"を出力する。これにより、セレクタ２０はテスタクロック３２を選択する。よって、波形生成器１はテストクロック３７としてテスタクロック３２を出力する。
【００７４】
図２に示すように、このテスタクロック３２は波形生成器１ａ、１ｂからスキャンＦＦ６１、６２、７１、７２、７３に供給される。そして、スキャンＦＦ６１、６２、７１、７２、７３にはテストクロックに同期してテストパタンが設定される。
【００７５】
次に、図２に示す半導体集積回路の試験装置のキャプチャモードの動作について図５を用いて説明する。スキャンＦＦ６１、６２、７１、７２、７３にテストパタンを設定した後、図５に示すｔ５のタイミングで、ＳＭＣ信号３６を"０"に設定する。ＳＭＣ信号３６を"０"に設定することでＯＲゲート１８はＡＮＤゲート１９の一方の入力に"０"を出力する。このとき、ＡＮＤゲート１９はセレクタ２０の制御入力に"０"を出力する。これにより、セレクタ２０はセレクタ１６４の出力を選択する。
【００７６】
また、ｔ５のタイミングから１レート後のｔ６のタイミングで、パルススタート信号３３を"１"に設定する。図２に示す同期回路４のＦＦ４１、４２は、ＰＬＬ回路３の第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）に同期して、順次パルススタート信号３３の値"１"をラッチし出力する。同期回路４にＦＦ４１、４２を設けることで、パルススタート信号３３は、第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）の１周期分遅れて、つまり図５に示すｔ７のタイミングで第１及び第２の波形生成器１ａ、１ｂに入力される。このように、同期回路４を設けることで第１及び第２の波形生成器１ａ、１ｂのクロック波形レジスタ１３ａ、１３ｂを同期して動作させることができる。つまり、同期回路を設けることで、第１の波形生成器１ａが第１のクロックドメインに第１のテストクロック３７ａを供給するタイミングと第２の波形生成器１ｂが第２のクロックドメインに第２のテストクロック３７ｂを供給するタイミングの同期調整を行うことができる。このとき、同期回路４のＦＦ４１、４２のクロック入力には、異なるクロックのうち最も遅いクロックを入力すればよく、異なるクロックの数が３以上であっても同様である。また、ＳＭＣ信号３６を"０"に設定した後、パルススタート信号３３を"１"に設定するまでに１レート間をあけているが、これはＳＭＣ信号３６を安定させるためのタイミング調整である。
【００７７】
ｔ７のタイミングで同期回路４から出力されたパルススタート信号３３が"１"に設定されると、第１及び第２の波形生成器１ａ、１ｂのクロック波形レジスタ１３ａ、１３ｂはクロックゲーティング信号２５ａ、２５ｂをシリアルに出力する。
【００７８】
本実施の形態ではクロック波形設定データ３０として、「１００００  ００１１１」が設定されている。よって、第１の波形生成器１ａのクロック波形レジスタ１３ａのＦＦ１３１_１ａ〜ＦＦ１３１_４ａにはそれぞれ、"０"、"０"、"０"、"１"がラッチされている。また、ＦＦ１３４ａには"０"がラッチされている。ｔ７のタイミングでパルススタート信号３３が"１"に設定されると、ＦＦ１３１_１ａ〜ＦＦ１３１_４ａは第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）のタイミングに同期してＦＦ１３４ａの値（初期値"０"）、ＦＦ１３１_１ａの値"０"、ＦＦ１３１_２ａの値"０"、ＦＦ１３１_３ａの値"０"、ＦＦ１３１_４ａの値"１"の順にクロックゲーティング信号２５ａを出力する（図５のクロックゲーティング信号２５ａ参照）。図５の期間８０はＦＦ１３１_１ａ〜ＦＦ１３１_４ａの値が出力されている期間を示している。また、ｔ７のタイミングと期間８０の開始タイミングは第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）の１周期分あいているが、これはＦＦ１３４にラッチされている値"０"に対応する期間である。
【００７９】
同様に、第２の波形生成器１ｂのクロック波形レジスタ１３ｂのＦＦ１３１_１ｂ〜ＦＦ１３１_４ｂにはそれぞれ、"１"、"１"、"０"、"０"がラッチされている。また、ＦＦ１３４ｂには"０"がラッチされている。ｔ７のタイミングでパルススタート信号３３が"１"に設定されると、ＦＦ１３１_１ｂ〜ＦＦ１３１_４ｂは第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）のタイミングに同期してＦＦ１３４ｂの値（初期値"０"）、ＦＦ１３１_１ｂの値"１"、ＦＦ１３１_２ｂの値"１"、ＦＦ１３１_３ｂの値"０"、ＦＦ１３１_４ｂの値"０"の順にクロックゲーティング信号２５ｂを出力する（図５のクロックゲーティング信号２５ｂ参照）。図５の期間８１はＦＦ１３１_１ｂ〜ＦＦ１３１_４ｂの値が出力されている期間を示している。また、ｔ７のタイミングと期間８１の開始タイミングは第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）の１周期分あいているが、これはＦＦ１３４ｂにラッチされている値"０"に対応する期間である。
【００８０】
第１の波形生成器１ａのクロックゲーティング信号２５ａはＯＲゲート１５１ａの一方の入力に供給される。このとき、ＯＲゲート１５１ａの他方の入力にはスキャンテスト信号３５がインバータ２３により反転された信号（この場合は"０"）が供給される。よって、ＯＲゲート１５１ａからは、クロックゲーティング信号２５ａがそのまま出力される。ＦＦ１５２ａのクロック入力は第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）を入力し、この第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）の立ち下がりエッジに同期してＯＲゲート１５１の出力結果（クロックゲーティング信号２５ａ）をラッチする。このとき、ＦＦ１５２ａからは図５に示すようなクロックゲーティング信号２５ａから半周期遅れたクロックゲーティング信号（ＦＦ１５２ａの出力）が出力される。
【００８１】
ＡＮＤゲート１５３ａの一方の入力にはこのＦＦ１５２ａの出力が供給され、他方の入力には第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）が入力される。ＡＮＤゲート１５３ａは、ＦＦ１５２ａの出力である半周期遅れたクロックゲーティング信号が"１"の時に、第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）をクロックゲーティング出力２６ａとして出力する。一方、ＡＮＤゲート１５３ａは、ＦＦ１５２ａの出力である半周期遅れたクロックゲーティング信号が"０"のとき、第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）をクロックゲーティング出力２６ａとして出力しない。つまり、第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）をマスクする。ＡＮＤゲート１５３ａの出力であるクロックゲーティング出力２６ａは分周モジュール１６ａに出力される。上記の動作は、第２の波形生成器１ｂのクロックゲーティング信号２５ｂについても同様である。
【００８２】
図５のｔ９のタイミングでは、第１の波形生成器１ａのＦＦ１５２ａの出力は"１"であることから、第１のクロック３４ａ（ｃｌｋ１_ｏｒｇ）はマスクされることなくパルス８２がクロックゲーティング出力２６ａとして出力される。また、図５のｔ８、ｔ１０のタイミングでは、第２の波形生成器１ｂのＦＦ１５２ｂの出力は"１"であることから、第２のクロック３４ｂ（ｃｌｋ２_ｏｒｇ）はマスクされることなくパルス８３、８４がクロックゲーティング出力２６ｂとして出力される。
【００８３】
また、第１の波形生成器１ａの分周回路制御信号保持レジスタ１６２ａには"０"がラッチされているので、セレクタ１６４ａはクロックゲーティング出力２６ａを選択する。よって、図５に示すように第１の波形生成器１ａはテストクロック（ＰＵＬＳＥ_ＯＵＴ_ａ）３７ａとして、クロックゲーティング出力２６ａと同一の波形（パルス８５）が出力される。
【００８４】
一方、第２の波形生成器１ｂの分周回路制御信号保持レジスタ１６２ｂには"１"がラッチされているので、セレクタ１６４ｂは分周回路１６１ｂの出力を選択する。よって、図５に示すように第２の波形生成器１ｂからはテストクロック（ＰＵＬＳＥ_ＯＵＴ_ｂ）３７ｂとして分周回路１６１ｂで分周された後の波形が出力される。図５に示すように、分周回路１６１ｂは、クロックゲーティング出力２６ｂのパルス８３の立ち上がりエッジのタイミングｔ８で"１"を出力し、次のパルス８４の立ち上がりエッジのタイミングｔ１０で"０"を出力する。このような動作により分周回路１６１ｂからはパルス８６が出力される。なお、このような回路において例えば４分周の波形を出力する場合は、パルス８３とパルス８４との間に１パルス分の間隔があくように、クロック波形レジスタ１３の値を設定する。なお、分周回路１６１は、クロックゲーティング出力２６の立ち下がりエッジのタイミングで動作するように構成してもよい。
【００８５】
次に、スキャンシフトアウトの動作について説明する。上述したキャプチャモードの後、半導体集積回路の試験装置はシフトモード（スキャンシフトアウト）となる。この場合、ｔ１１のタイミングでＳＭＣ信号３６を"１"に設定し、パルススタート信号３３を"０"に設定する。パルススタート信号３３はｔ１２のタイミングで第１及び第２の波形生成器１ａ、１ｂに入力される。なお、シフトモードに切り替えるタイミングは、クロック波形レジスタ１３のＦＦ１３１_１〜１３１_４に設定された値が全て出力された後になるように、数レート待つ。シフトモードに切り替えるタイミングは、１レートの周期、第１及び第２のクロックの周期、クロック波形レジスタ１３のフリップフロップの数により異なる。
【００８６】
ｔ１１のタイミングでＳＭＣ信号３６を"１"に設定した後、１レート後にテスタクロック３２を供給することで、スキャンシフトアウトすることができる。つまり、ＳＭＣ信号３６を"１"に設定し、テスタクロック３２を供給することで、図２に示す試験対象のスキャンＦＦ６１、６２、７１、７２、７３の動作結果が取り出される。そして、取り出された動作結果と期待値とを照合することで、試験対象回路の遅延による誤動作が発生したかどうか確認することができる。
以上で説明した、スキャンシフトイン、キャプチャ、スキャンシフトアウトの動作は、初期化動作においてクロック波形設定データを用いて設定したテストクロックを使用するテストパタンが続く限り繰り返してもよい。
【００８７】
図６は本発明の効果を説明するための図である。図６は、周波数の遅いクロックである第２のクロックのＰＯＳから周波数の速いクロックである第１のクロックのＰＯＳへのデータ転送の場合（α）、第１のクロックのＰＯＳから第２のクロックのＮＥＧへのデータ転送の場合（β）、第１のクロックのＮＥＧから第２のクロックのＮＥＧへのデータ転送の場合（γ）の３つのデータパスを示している。背景技術では、このような３つのデータパスについて試験をする場合、（１）第２のクロックのＰＯＳから第１のクロックのＰＯＳへデータ転送する波形（αの場合を試験する波形）、並びに（２）第１のクロックのＰＯＳから第２のクロックのＮＥＧへデータ転送する場合、及び第１のクロックのＮＥＧから第２のクロックのＮＥＧへデータ転送する場合の波形（β、γの場合を試験する波形）の２種類の波形が必要であった。
【００８８】
これに対して本発明では、第２のクロックを２分周することで第２の波形生成器１ｂのテストクロック（ＰＵＬＳＥ_ＯＵＴ_ｂ）３７ｂとして図６に示すような波形を生成することができる。このような波形を生成することで、α〜γの場合の試験を１種類のクロック波形で実施することができる。よって、半導体集積回路の試験のコストを削減することができる。
【００８９】
つまり、本実施の形態にかかる半導体集積回路の試験装置では、第１の波形生成器１ａは第１のクロック（第１の周波数を有するクロック）を用いて第１のテストクロックを生成し、また第２の波形生成器１ｂは第２のクロック（第２の周波数を有するクロック）を用いて第２のテストクロックを生成している。また、第１及び第２の波形生成器１ａ、１ｂの少なくとも一方は任意の分周パルスを出力可能な分周回路を有する。このため、本実施の形態にかかる半導体集積回路の試験装置は、１つのテストパタンでテストできるデータ転送の組み合わせを増やすことができるため、テストパタン数を削減することができテストコストを削減することができる。
【００９０】
また、図１１（ａ）、（ｂ）に示す背景技術にかかる試験装置のように、テスト動作時においてテスト基準クロックを供給する経路と、通常動作時においてクロックを供給する経路とが異なる場合、ユーザＦＦへのテストクロック経路（図１１のＣＴＳ１の出力ＹからＦＦ２までの経路）が存在するために、タイミング調整が困難であった。
【００９１】
図１１（ａ）に示す回路では、通常動作時、第１のクロック（ｃｌｋ１_ｏｒｇ）をＦＦ１に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ１までの経路の遅延は１ｎである。また、通常動作時、第２のクロック（ｃｌｋ２_ｏｒｇ）をＦＦ２に供給する経路、つまりＣＴＳ２の出力ＹからＦＦ２までの経路の遅延は２ｎである。一方、図１１（ａ）に示す回路では、テスト動作時、テスト基準クロックをＦＦ１に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ１までの経路の遅延は１ｎである。また、テスト基準クロックをＦＦ２に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ２までの経路の遅延は２ｎである。よって、回路全体を一括してスキュー調整する場合、ＣＴＳ１の出力ＹからＦＦ１までの経路の遅延１ｎをＣＴＳ１の出力ＹからＦＦ２までの経路の遅延２ｎに合わせる必要があるため、ＣＴＳ１の出力ＹからＦＦ１までの経路の遅延を１ｎ＋１ｎ＝２ｎとしていた（１ｎ遅くなる）。
【００９２】
また、図１１（ｂ）に示す回路では、通常動作時、第１のクロック（ｃｌｋ１_ｏｒｇ）をＦＦ１に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ１までの経路の遅延は１ｎである。また、通常動作時、第２のクロック（ｃｌｋ２_ｏｒｇ）をＦＦ２に供給する経路、つまりＣＴＳ２の出力ＹからＦＦ２までの経路の遅延は２ｎである。一方、図１１（ｂ）に示す回路では、テスト動作時、テスト基準クロックをＦＦ１に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ１までの経路の遅延は１ｎである。また、テスト基準クロックをＦＦ２に供給する経路、つまりＣＴＳ１の出力ＹからＦＦ２までの経路の遅延は０．５ｎ＋２ｎ＝２．５ｎである。この場合、ＣＴＳ１の出力ＹからＭＵＸの入力までの遅延が０．５ｎ、ＭＵＸの出力からＦＦ２の入力までの遅延が２ｎである。よって、通常動作とテスト動作で使用する箇所を別々にスキュー調整する場合、ディレイテスト回路はサイクル単位の遅延差ならば所望のクロックを出力できる性質があることから、サイクル単位の遅延となるようにスキュー調整（２．５ｎ＋０．５ｎ＝３ｎ）を手作業で行なう必要があった。
【００９３】
これに対して、本実施の形態にかかる発明では、図２に示すように第１の波形生成器１ａ、第２の波形生成器１ｂは、それぞれ第１のクロック（ｃｌｋ１_ｏｒｇ）、第２のクロック（ｃｌｋ２_ｏｒｇ）に基づきテストクロック（ＰＵＬＳＥ_ＯＵＴ）を生成しているので、ユーザＦＦへのテストクロック経路（図１１のＣＴＳ１の出力ＹからＦＦ２までの経路）がなくなるため、この部分のスキュー調整が不要となり、回路のレイアウトも容易になる。
【００９４】
また、背景技術では高速なクロック（ｃｌｋ１_ｏｒｇ）を低速なクロックドメインにも供給していたため、低速クロックドメインのクロックライン上のセルやフリップフロップを高速セルに置き換えなければならないことがある。そのため、電力の増加が問題となっていた。しかし、本実施の形態にかかる発明では、低速クロックドメインは低速のクロック（ｃｌｋ２_ｏｒｇ）のみで駆動しているため、このような問題が生じることはない。
【００９５】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００９６】
１  波形生成器
３  ＰＬＬ回路
４  同期回路
５  セレクタ
１１  クロック波形保持レジスタ
１２  クロックゲーティング回路
１３  クロック波形レジスタ
１４  クロックゲーティング回路
１５  クロックゲーティング回路
１６  分周モジュール
１７  ターゲットレジスタ
１８  ＯＲゲート
１９  ＡＮＤゲート
２０  セレクタ
３０  クロック波形設定データ
３１  パルスシフト信号
３２  テスタクロック
３３  パルススタート信号
３４  入力クロック
３５  スキャンテスト信号
３６  ＳＭＣ信号
３７  テストクロック
３８  クロック波形設定データ出力
【図１】
2011089914.tif 000003
【図２】
2011089914.tif 000004
【図３】
2011089914.tif 000005
【図４】
2011089914.tif 000006
【図５】
2011089914.tif 000007
【図６】
2011089914.tif 000008
【図７】
2011089914.tif 000009
【図８】
2011089914.tif 000010
【図９】
2011089914.tif 000011
【図１０】
2011089914.tif 000012
【図１１】
2011089914.tif 000013