(57)【要約】【課題】半導体集積回路装置の回路面積の増大やテスト時間の増大を抑制しつつ、クロックドメイン間に存在するクロックスキューの影響を受けずにスキャンテストが可能な半導体集積回路装置、その試験装置及び試験方法を提供する。【解決手段】半導体集積回路装置内に、隣接する２つのクロックドメインから選択された、特性が等しい２つのフリップフロップの出力信号が入力され、セレクト信号にしたがっていずれか一方を出力するセレクタを設け、一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させ、それらの出力遅延差、及び該出力遅延差を相殺するような位相差を求め、半導体集積回路装置が備える複数のクロックドメインに、上記位相差を持たせたクロックをそれぞれ供給する。【選択図】  図１
2005026335.tif 000002
【特許請求の範囲】
【請求項１】
相互間のスキューに対する規定が無いクロックで動作する複数のクロックドメインを備えた半導体集積回路装置であって、
隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、前記２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、
前記セレクタの出力信号を観測するための測定用端子と、
前記セレクト信号を前記セレクタに供給するための入力端子と、
を有する半導体集積回路装置。
【請求項２】
前記２つのフリップフロップは、最も近接する位置に配置された請求項１記載の半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置を試験するための半導体集積回路装置の試験装置であって、
前記隣接する２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させるためのセレクト信号を前記半導体集積回路装置に供給する制御回路と、
前記セレクタから出力される、前記一方のフリップフロップの出力信号と前記他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求める演算回路と、
前記半導体集積回路装置が備える複数のクロックドメインに、前記演算回路で求めた前記位相差を持たせたクロックをそれぞれ供給するクロック生成回路と、を有する試験装置。
【請求項４】
相互間のスキューに対する規定が無いクロックで動作する複数のクロックドメインを備えた半導体集積回路装置の試験方法であって、
予め、前記半導体集積回路装置内に、隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、前記２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、前記セレクタの出力信号を観測するための測定用端子と、前記セレクト信号を前記セレクタに供給するための入力端子とを備えておき、
前記セレクト信号により、前記半導体集積回路装置から前記２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させ、
前記セレクタから出力される、前記一方のフリップフロップの出力信号と前記他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求め、
前記半導体集積回路装置が備える複数のクロックドメインに、前記位相差を持たせたクロックをそれぞれ供給する半導体集積回路装置の試験方法。
【請求項５】
前記２つのフリップフロップは、最も近接する位置に配置された請求項４記載の半導体集積回路装置の試験方法。
【請求項６】
相互間のスキューに対する規定が無いクロックで動作する複数のクロックドメインを備えた半導体集積回路装置の設計方法であって、
前記半導体集積回路装置内のフリップフロップを前記クロックドメイン毎にグループ分けするグルーピング工程と、
前記フリップフロップのレイアウト時に得られる位置情報に基づいて、隣接する２つのグループ内から、特性が等しいフリップフロップの組合せを抽出する組合せ抽出工程と、
前記抽出したフリップフロップの組合せの中から、各グループ間で最も近接して配置されたフリップフロップの組合せをそれぞれ選択する組合せ選択工程と、
選択したグループ間のフリップフロップの位置情報により、それらの中間座標を算出する演算工程と、
前記中間座標にそれぞれセレクタを配置するレイアウト工程と、
を有する半導体集積回路装置の設計方法。
【請求項７】
前記グルーピング工程の前に、前記フリップフロップに対する配線工程を実施する請求項６記載の半導体集積回路装置の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンパス法を用いて試験が実施される半導体集積回路装置、該半導体集積回路装置を試験するための試験装置及び試験方法に関する。
【０００２】
【従来の技術】
近年の半導体集積回路装置（以下、ＬＳＩと称す）は、大規模化、高密度化に伴って、何らかの試験容易化設計を施さないチップの試験や故障診断が不可能になってきている。試験容易化の手法としては、例えば回路内の各フリップフロップを鎖状に連結してシフトレジスタとしても動作するように設計しておき、試験時にこのシフト機能を利用して外部から各フリップフロップの値を任意に制御・観測できようにするスキャンパス法が知られている。
【０００３】
スキャンパス法では、ＬＳＩ内に通常動作時及びスキャンテスト動作時でそれぞれ用いるフリップフロップであるスキャンフリップフロップを設け、それらの試験用の入出力端子を直列に接続（縦続接続）することで上述したシフトレジスタを形成する。
【０００４】
スキャンフリップフロップ（以下、ＳＦＦと称す）は、通常のフリップフロップとして動作する通常動作機能の他に、試験用のパターン信号であるスキャンイン信号（ＳＩＮ）をデータ入力とし、試験用のクロックであるスキャンクロックによりフリップフロップとして動作するスキャンテスト動作機能を備えた構成である。
【０００５】
スキャンパス法は、現在、ＬＳＩの出荷試験で標準的に用いられているが、大規模化や高密度化が更に進んだ近年のＬＳＩでは、チップコスト（面積）に対するテストコスト（時間）の割合が増加している。したがって、上記スキャンイン信号として入力するテストパターンの圧縮やテスト時間の短縮が今後益々重要になる。
【０００６】
図５にスキャンテスト用の回路を備えた従来のＬＳＩの構成を示す。
【０００７】
図５に示すように、従来のＬＳＩは、上述した複数のＳＦＦと、論理ゲートから構成される組合せ回路等である被テスト回路とを有し、各ＳＦＦが対応するクロック毎に縦続接続された構成である。
【０００８】
図５では、ＬＳＩが、クロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３で動作する３つのＳＦＦ群（ＳＦＦ１ａ〜１ｅ、ＳＦＦ２ａ〜２ｅ、ＳＦＦ３ａ〜３ｄ）（以下、クロックドメインと称す）を備え、各クロックドメイン間に被テスト回路１０ａ〜１０ｃが配置された構成を示している。なお、クロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３は、周波数が等しく、位相差（クロックスキュー）の規定が無いクロックである。
【０００９】
このような構成において、図５に示すような複数のクロックドメインを備えたＬＳＩでは、スキャンテスト時にクロックドメイン間のクロックスキューを考慮する必要がある。
【００１０】
一般に、ＬＳＩ内のクロックライン上には、クロックドメイン内の各ＳＦＦに供給するクロックのスキューを低減するために、遅延素子である複数のバッファをツリー状に接続したＣＴＳ（Ｃｌｏｃｋ  Ｔｒｅｅ  Ｓｙｎｔｈｅｓｉｓ）を備えている。さらに、ＬＳＩによっては、各クロックラインに、クロックドメイン間のクロックスキューを調整するためのバッファを備えている。ＬＳＩは、これらクロックライン上に設けられるバッファをできるだけ少なくして回路面積の増大を抑制するため、クロックドメイン間でクロックスキューが存在しても、通常動作時に問題無く動作するように設計されている。
【００１１】
したがって、クロックドメイン内ではＣＴＳを介して各ＳＦＦにクロックが供給されるため、各ＳＦＦのクロック入力端子ではクロックが同時に変化し、クロックスキューが発生しない。
【００１２】
しかしながら、異なるクロックドメイン間では、上述したようにクロックスキューに対する規定が何も無いためにクロックスキューが存在する。
【００１３】
スキャンテスト動作は、縦続接続されたＳＦＦに上記テストパターンを入力してシフト動作させるシフトサイクルと、組合せ回路等から成る被テスト回路の演算結果をＳＦＦに供給するキャプチャサイクルとがある。
【００１４】
シフトサイクルは、各クロックドメイン内におけるデータシフト動作であるため、例えば、図６に示すように同一クロックドメインのＳＦＦ１ａ、ＳＦＦ１ｂに供給されるクロックｃｌｋ１＿ｆ１ａ、ｃｌｋ１＿ｆ１ｂ（図５参照）間でクロックスキューが発生することは無い。すなわち、クロックスキューによる問題は生じない。
【００１５】
一方、キャプチャサイクルでは、クロックドメイン間に配置される被テスト回路もアクティブとなるため、クロックドメイン間でのデータの受け渡しが起こり得る。例えば、図７に示すように、異なるクロックドメインのＳＦＦ１ｂ、ＳＦＦ２ｃに供給されるクロックｃｌｋ１＿ｆ１ｂ、ｃｌｋ２＿ｆ２ｃ（図５参照）間にクロックスキューが存在すると、ＳＦＦ２ｂのセットアップ動作及びホールド動作が保証されないため、期待値と異なる結果が出力され、良品を不良品と判定してしまう。
【００１６】
このような問題を解決するための手法として、以下に記載する第１従来例〜第３従来例が知られている。なお、第１従来例〜第３従来例ではクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３で動作する３つのクロックドメインを有する例をそれぞれ示している。
【００１７】
（第１従来例）
第１従来例は、キャプチャサイクル時に１つのクロックドメインにのみクロックを供給し、異なるクロックドメイン間でデータの受け渡しが起きないようにクロックの入力を制御する方法である（例えば、非特許文献１参照）。
【００１８】
図８に第１従来例の試験時におけるＬＳＩの動作を示す。
【００１９】
図８に示すように、第１従来例では、キャプチャサイクル時に１つのクロックドメインにのみクロックを供給する（１クロックドメインのみアクティブとする）ことで、クロックドメイン間のクロックスキューによる誤動作を回避している。
【００２０】
（第２従来例）
第２従来例は、異なるクロックドメイン間のクロックスキューを調整するために、各クロックライン上に遅延素子を設け、全てのクロックドメインを同じタイミングで動作させる方法である（例えば、特許文献１参照）。
【００２１】
図９に第２従来例のＬＳＩの要部構成を示す。
【００２２】
図９に示すように、第２従来例では、クロックドメイン内のクロックスキューを調整するための複数のクロックバッファ２０（図の白抜きの三角）から構成されたＣＴＳ内に、各クロックドメイン間のクロックスキューを調整するためのクロックバッファ２１（図の黒塗りの三角）をさらに追加した構成である。
【００２３】
このようなクロックバッファ２１を設けることで、クロックドメイン間に存在するクロックスキューの影響を低減している。
【００２４】
（第３従来例）
第３従来例は、ＬＳＩ内に、各クロックドメインに供給するクロックのスキューを観測するための観測用ＦＦ（フリップフロップ）を設け、各観測用ＦＦにＣＴＳを介して同相のクロック（フェッチ用クロック）を供給し、各観測用ＦＦのデータラッチタイミングから各クロック間のスキューを検出する。そして、検出結果に応じて各クロックドメインに供給するクロックに、クロックスキューを相殺するような位相差を持たせる方法である（例えば、特許文献２参照）。
【００２５】
図１０に第３従来例のＬＳＩの要部構成を示す。
【００２６】
図１０に示すように、第３従来例では、ＬＳＩ内の各クロックドメインから１つずつ被観測用ＳＦＦ３１〜３３を選択し、それらの近傍に観測用ＦＦ４１〜４３を設けた構成である。観測用ＦＦ４１〜４３のデータ入力ポートには、近傍に配置された被観測用ＳＦＦ３１〜３３へ供給されるクロックが入力され、観測用ＦＦ４１〜４３のクロック入力ポートにはフェッチ用クロックがそれぞれ入力される。また、観測用ＦＦ４１〜４３の出力ポートは外部端子である観測端子５１〜５３に接続されている。なお、観測用ＦＦ４１〜４３のクロック入力ポート間でフェッチ用クロックのスキューが発生しないように、観測用ＦＦ４１〜４３にはＣＴＳを介してそれぞれフェッチ用クロックが供給される。
【００２７】
このような構成において、第３従来例では、観測用ＦＦ４１〜４３に供給するフェッチ用クロックの入力タイミングを徐々にずらし、観測用ＦＦ４１〜４３の入力データ（クロック）のラッチタイミングをそれぞれ検出することでクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３間のスキューをそれぞれ検出する。そして、検出したスキューを相殺するような位相差を持たせたクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３をＬＳＩテスタ等からＬＳＩに供給し、各クロックドメインを同じタイミングで動作させている。
【００２８】
【非特許文献１】
Ｓｙｎｏｐｓｙｓ社製、自動テストパターン生成ツール「ＴｅｔｒａＭＡＸ」、ｏｎｅ  ｈｏｔ制約
【特許文献１】
特開２０００−２６６８１８号公報
【特許文献２】
特開２００１−２２８２１３号公報
【００２９】
【発明が解決しようとする課題】
しかしながら上記したような従来の半導体集積回路装置うち、第１従来例では、テストパターンの増大、すなわちテスト時間が増大する問題がある。第１従来例は、図８に示したように１回のキャプチャサイクルで実行する処理を複数回（処理に関連するクロックドメインの数）に分けて実行しなければならない。そのため、テスト時間が増大するだけでなく、ＬＳＩの回路規模が大きい場合はＬＳＩテスタの記憶装置にテストパターンが収容できないため、テストパターンを分割して試験を実施する必要が生じる。このような問題を避けるためには記憶容量が大きい高価なＬＳＩテスタが必要となるため、さらにコスト高となってしまう。
【００３０】
また、第２従来例では、通常、最も遅延量が大きいクロックドメインに合わせて各クロックの遅延量を調整するため、試験時にのみ必要となる遅延素子を追加することで、ＬＳＩのチップ面積の増大や歩留まりの悪化、さらにはＬＳＩのコスト高を招いてしまう。
【００３１】
第２従来例の変形例として、設計時にクロックドメイン間のクロックスキューを算出し、その値を相殺する位相差を持たせたクロックを試験時にＬＳＩへ供給することで、ＬＳＩ内への遅延素子等の追加を不要にする方法も考えられる。しかしながら、このような方法では、ＬＳＩ製造時の拡散条件等によって生じるトランジスタ特性のばらつきのために、遅延量が設計時の予想値と異なることがあるため、良品とすべきチップも不良と判定してしまう。
【００３２】
第３従来例のスキャンテスト回路では、クロックスキューを測定するために、観測用ＦＦ、及び各観測用ＦＦにクロックを供給するためのＣＴＳを設ける必要があるため、ＬＳＩ内にクロックドメインが一つ増えることになり、レイアウト作業の工数や回路面積の増大を招いてしまう。
【００３３】
第３従来例の変形例として、観測用ＦＦを設けずに、各クロックドメインから被観測用のＳＦＦをそれぞれ選択し、それらの出力信号を観測することでクロックスキューを測定する手法も考えられる。
【００３４】
しかしながら、その場合はＬＳＩの設計段階で各被観測用ＳＦＦの出力ポートから測定端子までの遅延量を全て同一にしておく必要がある。一般に、各クロックドメインを、測定端子からの距離が等しくなるようにレイアウトするのは困難であり、遅延量を等しくするためには、遅延量が最も大きい配線に合わせて配線の延伸や遅延素子を挿入しなければならず、回路面積の増大を招いてしまう。
【００３５】
また、配線の遅延量は配線長が長くなるほど設計値からの誤差が大きくなり、バッファ等の遅延素子はＬＳＩ製造時の拡散条件によりトランジスタ特性にばらつきが生じるため、配線の延伸や遅延素子を挿入することで遅延量の測定誤差が大きくなり、クロックスキューを正確に測定ができなくなる。
【００３６】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、半導体集積回路装置の回路面積の増大やテスト時間の増大を抑制しつつ、クロックドメイン間に存在するクロックスキューの影響を受けずにスキャンテストが可能な半導体集積回路装置、その試験装置及び試験方法を提供することを目的とする。
【００３７】
【課題を解決するための手段】
上記目的を達成するため本発明の半導体集積回路装置は、相互間のスキューに対する規定が無いクロックで動作する複数のクロックドメインを備えた半導体集積回路装置であって、
隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、前記２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、
前記セレクタの出力信号を観測するための測定用端子と、
前記セレクト信号を前記セレクタに供給するための入力端子と、
を有する構成である。
【００３８】
このとき、前記２つのフリップフロップは、最も近接する位置に配置された構成が望ましい。
【００３９】
また、本発明の半導体集積回路装置の試験装置は、上記記載の半導体集積回路装置を試験するための半導体集積回路装置の試験装置であって、
前記隣接する２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させるためのセレクト信号を前記半導体集積回路装置に供給する制御回路と、
前記セレクタから出力される、前記一方のフリップフロップの出力信号と前記他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求める演算回路と、
前記半導体集積回路装置が備える複数のクロックドメインに、前記演算回路で求めた前記位相差を持たせたクロックをそれぞれ供給するクロック生成回路と、を有する構成である。
【００４０】
一方、本発明の半導体集積回路装置の試験方法は、相互間のスキューに対する規定が無いクロックで動作する複数のクロックドメインを備えた半導体集積回路装置の試験方法であって、
予め、前記半導体集積回路装置内に、隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、前記２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、前記セレクタの出力信号を観測するための測定用端子と、前記セレクト信号を前記セレクタに供給するための入力端子とを備えておき、
前記セレクト信号により、前記半導体集積回路装置から前記２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させ、
前記セレクタから出力される、前記一方のフリップフロップの出力信号と前記他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求め、
前記半導体集積回路装置が備える複数のクロックドメインに、前記位相差を持たせたクロックをそれぞれ供給する方法である。
【００４１】
このとき、前記２つのフリップフロップは、最も近接する位置に配置された構成が望ましい。
【００４２】
上記のような半導体集積回路装置、試験装置及び試験方法では、半導体集積回路装置内に、隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、セレクタの出力信号を観測するための測定用端子と、セレクト信号を前記セレクタに供給するための入力端子とを備え、半導体集積回路装置から２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させ、セレクタから出力される、一方のフリップフロップの出力信号と他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求め、半導体集積回路装置が備える複数のクロックドメインに、位相差を持たせたクロックをそれぞれ供給することで、各クロックドメインが有するフリップフロップのクロック入力ポートにおけるクロックの位相を全て合わせることができる。
【００４３】
また、隣接する２つのクロックドメインから選択されるフリップフロップを最も近接する位置に配置されたものにすることで、クロックスキューの測定時に誤差要因となる、フリップフロップとセレクタ間の配線を短くすることができる。
【００４４】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【００４５】
（第１の実施の形態）
図１は本発明の半導体集積回路装置の一構成例を示す図であり、同図（ａ）は回路図、同図（ｂ）はレイアウト図である。なお、図１に示す半導体集積回路装置は、図５に示した従来の半導体集積回路装置と同様に、クロックドメイン間に被テスト回路を備えた構成であるが、図を見やすくするために被テスト回路を省略した構成を示している。
【００４６】
図１（ａ）に示すように、本発明のＬＳＩは、図５に示した従来のＬＳＩに、隣接する２つのクロックドメインから１つずつ選択された２つのＳＦＦの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する少なくとも１つのセレクタと、セレクタの出力信号を観測するための測定用端子と、セレクト信号をセレクタに供給するための入力端子とを追加した構成である。
【００４７】
また、本発明の半導体集積回路装置の試験装置１００は、上記セレクタを切り替えるためのセレクト信号を生成する不図示の制御回路と、セレクタから出力される各ＳＦＦの出力信号の位相差から、各クロックドメインに供給したクロック間のスキューを求める不図示の演算回路と、演算回路で求めた遅延量を相殺するような位相差を持たせたクロックをＬＳＩのクロックドメインにそれぞれ供給する不図示のクロック生成回路とを有する構成である。
【００４８】
図１では、ＬＳＩが、クロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３で動作する３つのクロックドメイン（ＳＦＦ１ａ〜１ｅ、ＳＦＦ２ａ〜２ｅ、ＳＦＦ３ａ〜３ｄ）を備え、クロックｃｌｋ１で動作するクロックドメイン（ｃｌｋ１ドメイン）とクロックｃｌｋ２で動作するクロックドメイン（ｃｌｋ２ドメイン）間にセレクタ１２が配置され、ｃｌｋ２ドメインとクロックｃｌｋ３で動作するクロックドメイン（ｃｌｋ３ドメイン）間にセレクタ２３が配置された構成を示している。なお、クロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３は、周波数が等しく、位相差（クロックスキュー）の規定が無いクロックである。
【００４９】
出力信号が観測される被観測用ＳＦＦ（図１では、ＳＦＦ１ｂ、ＳＦＦ２ｂ、ＳＦＦ２ｃ、及びＳＦＦ３ｂ）は、ＬＳＩ内で隣接して配置された２つのクロックドメインのうち、内部遅延量や駆動能力等の特性が等しく、かつ最も近接して配置された２つのＳＦＦが選択される。
【００５０】
図１（ｂ）に示すように、セレクタ１２、２３は、選択された２つのＳＦＦの出力ポートに可能な限り近く、かつＳＦＦの出力ポートとセレクタの入力ポート間の長さが等しくなるように、２つのクロックドメインからの距離が等しい位置に配置される。セレクタ１２、２３の出力ポートはＬＳＩの外部端子である測定用端子ｏｂｓ１、ｏｂｓ２３にそれぞれ接続される。セレクタ１２、２３は、ＬＳＩの外部端子である入力端子ＩＮを介して供給されるセレクト信号（ｓｅｌｅｃｔ）にしたがって２つのＳＦＦの出力信号を順次出力する。
【００５１】
図１（ａ）、（ｂ）では、クロックｃｌｋ１、ｃｌｋ２が供給されるクロックドメイン間でＳＦＦ１ｂ、ＳＦＦ２ｂが選択され、クロックｃｌｋ２、ｃｌｋ３が供給されるクロックドメイン間でＳＦＦ２ｃ、ＳＦＦ３ｂが選択された例を示している。
【００５２】
本発明の半導体集積回路装置は、ＳＦＦ１ｂからセレクタ１２までの遅延量（信号遅延時間）とＳＦＦ２ｂからセレクタ１２までの遅延量とが等しくなるように設計され、その値（遅延時間）をｔ１とする。また、ＳＦＦ２ｃからセレクタ２３までの遅延量とＳＦＦ３ｂからセレクタ２３までの遅延量とが等しくなるように設計され、その値（遅延時間）をｔ２とする。
【００５３】
なお、クロックドメイン内ではＣＴＳを介して各ＳＦＦにクロックが供給されるため、クロックの外部入力端子から各ＳＦＦのクロック入力ポートまでの遅延量は等しくなる。
【００５４】
ここで、セレクタ１２の内部遅延量とセレクタ１２から測定用端子ｏｂｓ１２までの遅延量とを合計した遅延量（遅延時間）をｔ３とし、セレクタ２３の内部遅延量とセレクタ２３から測定用端子ｏｂｓ２３までの遅延量とを合計した遅延量（遅延時間）をｔ４とする。
【００５５】
また、クロックｃｌｋ１の外部入力端子からＳＦＦ１ｂのクロック入力ポートまでの遅延量（遅延時間）をｔｃ１とし、クロックｃｌｋ２の外部入力端子からＳＦＦ２ｂ、ＳＦＦ２ｃのクロック入力ポートまでの遅延量（遅延時間）をｔｃ２とし、クロックｃｌｋ３の入力端子からＳＦＦ３ｂのクロック入力ポートまでの遅延量（遅延時間）をｔｃ３とする。
【００５６】
また、各ＳＦＦ内におけるクロック入力からデータ出力までの遅延量をそれぞれｔｆｆｉｄとする。
【００５７】
本発明では、遅延量ｔ１と遅延量ｔ２とは等しくする必要はなく、遅延量ｔ３と遅延量ｔ４とは等しくする必要がない。
【００５８】
図１では、ＬＳＩが３つのクロックドメインを備えた構成例を示しているが、クロックドメインの数が４つ以上の場合も、上記と同様に隣接する２つのクロックドメインから被観測用ＳＦＦをそれぞれ１つずつ選択し、それらの出力ポートと測定用端子間にセレクタを配置すればよい。その場合、セレクタの数はクロックドメインの数−１となる。
【００５９】
このような構成において、次に本発明の半導体集積回路装置の試験方法について図面を参照して説明する。なお、以下に記載する試験手順は、演算処理やＬＳＩに供給するクロックの生成を除いて、試験装置１００が備える制御回路により実行される。
【００６０】
制御回路は、最初に、スキャンイン信号等を用いて、セレクタ１２、２３に繋がるＳＦＦ１ｂ、ＳＦＦ２ｂ、ＳＦＦ２ｃ、ＳＦＦ３ｂと、クロックドメイン内でそれらの前段に配置されるＳＦＦ１ａ、ＳＦＦ２ａ、ＳＦＦ２ｂ、ＳＦＦ３ａとを異なる値に設定する。例えば、ＳＦＦ１ｂ、ＳＦＦ２ｂ、及びＳＦＦ３ａをそれぞれＬｏｗ  ｌｅｖｅｌに設定し、ＳＦＦ２ｃ、ＳＦＦ３ｂ、ＳＦＦ１ａ、ＳＦＦ２ａをそれぞれＨｉｇｈ  ｌｅｖｅｌに設定する。
【００６１】
次に、セレクト信号により、セレクタ１２にＳＦＦ１ｂの出力信号を選択させ、セレクタ２３にＳＦＦ２ｃの出力信号を選択させる。
【００６２】
続いて、クロック生成回路を用いてＬＳＩにクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３をそれぞれ供給し、クロックｃｌｋ１の変化に対する測定用端子ｏｂｓ１２から出力されるＳＦＦ１ｂの出力信号の変化からＳＦＦ１ｂの出力遅延を測定し、その値を演算回路に転送する。同様に、クロックｃｌｋ２の変化に対する測定用端子ｏｂｓ２３から出力されるＳＦＦ２ｃの出力信号の変化からＳＦＦ２ｃの出力遅延を測定し、その値を演算回路に転送する。
【００６３】
次に、スキャンイン信号等を用いて、セレクタ１２、２３に繋がるＳＦＦ１ｂ、ＳＦＦ２ｂ、ＳＦＦ２ｃ、ＳＦＦ３ｂと、クロックドメイン内でそれらの前段に配置されるＳＦＦ１ａ、ＳＦＦ２ａ、ＳＦＦ２ｂ、ＳＦＦ３ａとを上記と同様に再び異なる値に設定する。
【００６４】
次に、セレクト信号を切り替え、セレクタ１２にＳＦＦ２ｂの出力信号を選択させ、セレクタ２３にＳＦＦ３ｂの出力信号を選択させる。
【００６５】
続いて、クロック生成回路を用いてＬＳＩにクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３をそれぞれ供給し、クロックｃｌｋ２の変化に対する測定用端子ｏｂｓ１２から出力されるＳＦＦ２ｂの出力信号の変化からＳＦＦ２ｂの出力遅延を測定し、その値を演算回路に転送する。同様に、クロックｃｌｋ３の変化に対する測定用端子ｏｂｓ２３から出力されるＳＦＦ３ｂの出力信号の変化からＳＦＦ３ｂの出力遅延を測定し、その値を演算回路に転送する。
【００６６】
ここで、図２に示すタイミングチャートから分かるように、測定された各ＳＦＦの出力遅延は、
ＳＦＦ１ｂの出力遅延＝ｔｃ１＋ｔｆｆｉｄ＋ｔ１＋ｔ３、
ＳＦＦ２ｂの出力遅延＝ｔｃ２＋ｔｆｆｉｄ＋ｔ１＋ｔ３、
ＳＦＦ２ｃの出力遅延＝ｔｃ２＋ｔｆｆｉｄ＋ｔ２＋ｔ４、
ＳＦＦ３ｂの出力遅延＝ｔｃ３＋ｔｆｆｉｄ＋ｔ２＋ｔ４、
で表される。
【００６７】
演算回路は、制御回路から転送された各ＳＦＦの出力遅延値に基づき、ＳＦＦ１ｂとＳＦＦ２ｂの出力遅延差ｄｔ１２及びＳＦＦ２ｃとＳＦＦ３ｂの出力遅延差ｄｔ２３をそれぞれ算出する。
【００６８】
ここで、
ＳＦＦ１ｂとＳＦＦ２ｂの出力遅延差ｄｔ１２＝ｔｃ１−ｔｃ２、
ＳＦＦ２ｃとＳＦＦ３ｂの出力遅延差ｄｔ２３＝ｔｃ２−ｔｃ３、
となる。このＳＦＦ１ｂとＳＦＦ２ｂの出力遅延差ｄｔ１２はクロックｃｌｋ１とクロックｃｌｋ２のスキューに等しく、ＳＦＦ２ｃとＳＦＦ３ｂの出力遅延差ｄｔ２３はクロックｃｌｋ２とクロックｃｌｋ３のスキューに等しくなる。
【００６９】
また、演算回路は、上記ＳＦＦ１ｂとＳＦＦ２ｂの出力遅延差ｄｔ１２及びＳＦＦ２ｃとＳＦＦ３ｂの出力遅延差ｄｔ２３に基づき、クロックｃｌｋ１とクロックｃｌｋ２間のスキュー、及びクロックｃｌｋ２とクロックｃｌｋ３間のスキューを相殺するために各クロックに持たせるべき位相差を算出し、その値をクロック生成回路に通知する。例えば、基準となるクロックｃｌｋ１に対してクロックｃｌｋ２をｄｔ１２だけ進める（または遅らせる）ための位相差、及びクロックｃｌｋ３をｄｔ１２＋ｄｔ２３だけ進める（または遅らせる）ための位相差の値を通知する。
【００７０】
クロック生成回路は、演算回路から通知された位相差にしたがって、クロックｃｌｋ１、クロックｃｌｋ１に対してｄｔ１２だけ進めた（または遅らせた）クロックｃｌｋ２、及びクロックｃｌｋ１に対してｄｔ１２＋ｄｔ２３だけ進めた（または遅らせた）クロックｃｌｋ３を、ＬＳＩにそれぞれ供給する。
【００７１】
これにより、図３に示すように、ＬＳＩ内のクロックドメインに供給されるクロックの位相が、各ＳＦＦのクロック入力ポートにて全て一致するため、全てのクロックドメインを同じタイミングで動作させることができる。したがって、キャプチャサイクル時にクロックｃｌｋ１、ｃｌｋ２、ｃｌｋ３を同時に供給しても誤動作することが無い。
【００７２】
なお、クロックドメインの数が４つ以上の構成も、上記と同様にして、隣接するクロックドメインからそれぞれ選択した２つの被観測用ＳＦＦの出力遅延差を求め、それらの値に基づいて各クロックドメインに供給するクロックに位相差を持たせればよい。
【００７３】
以上説明したように、本発明では、クロックドメイン間のクロックスキューを測定し、該クロックスキューを相殺するように各クロックドメインに供給するクロックに位相差を持たせるため、各ＳＦＦのクロック入力ポートにおけるクロックの位相を全て一致させることができる。したがって、異なるクロックドメイン間でデータ受け渡し時に起こり得るクロックスキューによる誤動作が防止され、第１従来例のように１回のキャプチャサイクルの処理を複数回に分割する必要が無いため、テストパターンの数やテスト時間が増大することがない。
【００７４】
また、本発明では、隣接するクロックドメインから選択した２つの被観測用ＳＦＦの出力ポートとセレクタの入力ポート間の配線による遅延量のみ等しく設計すればよく、この配線は隣接するクロックドメイン内から最も近接する２つの被観測用ＳＦＦを選択し、その中間点にセレクタを配置することで最短となるため、駆動能力を上げるためにバッファ等を挿入する必要がなく、かつクロックスキューを調整するために配線の延伸や遅延素子を設ける必要がない。
【００７５】
したがって、第２従来例や第３従来例のように、遅延量を調整するためのバッファ、あるいはクロックドメイン毎に必要な観測用ＦＦ、観測用ＦＦにクロックを供給するためのＣＴＳ等が不要であるため、クロックスキューの測定に必要な回路や配線のレイアウト面積を最小限に抑制できる。さらに、バッファ、あるいは配線の延伸や遅延素子を設けることによるクロックスキューの測定精度の低下が防止される。
【００７６】
なお、半導体集積回路装置の試験装置１００内には、信号観測点に対する駆動能力を上げるためにＬＳＩの測定用端子と信号観測点間にＩ／Ｏバッファ等が挿入されることがある。しかしながら、これらは２つの被観測用ＳＦＦの出力遅延測定時に共通に通過する素子であるため、出力遅延差の計算時にこれらの遅延量を考慮する必要はない。したがって、本発明の試験装置１００及び試験方法では、クロックドメイン間のクロックスキューを極めて精度良く測定することができる。
【００７７】
（第２の実施の形態）
次に本発明のスキャンテスト回路の第２の実施の形態について図面を参照して説明する。
【００７８】
第１の実施の形態では、隣接する２つのクロックドメイン内からそれぞれＳＦＦを選択し、それらの出力遅延を測定することでクロックドメイン間のクロックスキューを算出する手法を示した。第２の実施の形態では、この測定対象である被観測用ＳＦＦを選択するための設計手順を提案する。
【００７９】
図４は本発明の半導体集積回路装置の設計手順を示すフローチャートである。
【００８０】
なお、本実施形態では、ＬＳＩの回路設計が全て終了し、チップ上にＳＦＦ、クロックバッファ、組合せ回路等が配置されているものとする。
【００８１】
図４に示すように、本発明では、まず設計対象であるＬＳＩ内の全てのＳＦＦをクロックドメイン毎にグループ分けする（ステップＳ１）。
【００８２】
次に、各ＳＦＦを配置（プレイシング）したときに得られる位置情報であるＸＹグリッド情報を用いて、隣接して配置された２つのグループから得られるＳＦＦの組合せを検索する（ステップＳ２）。この処理により、クロックドメインの数がｎ個の場合、最大でｎ！／（２！×（ｎ−２）！）のＳＦＦの組合せが得られる。但し、内部遅延量や駆動能力等の特性が異なるＳＦＦの組合せはクロックスキューの測定時に誤差が生じるため、排除する。
【００８３】
次に、検索したＳＦＦの組合せの中から、各グループ間で最も近接して配置されたＳＦＦ（被観測用ＳＦＦ）の組合せをそれぞれ選択する（ステップＳ３）。
【００８４】
続いて、選択したＳＦＦのＸＹグリッド情報を用いて２つのＳＦＦの中間座標を算出してセレクタの挿入位置を決定し（ステップＳ４）、その挿入位置にセレクタをそれぞれ配置する（ステップＳ５）。
【００８５】
セレクタの配置が完了したら、ＳＦＦに対するクロックラインを結線してＣＴＳを形成し（ステップＳ６）、ＬＳＩの回路接続情報に基づいて、チップ上に配置されたＳＦＦ、セレクタ、組合せ回路等の配線を行う（ステップＳ７）。
【００８６】
最後に、スキャンテスト用のテストパターンの生成に利用するネットリストを生成する（ステップＳ８）。
【００８７】
なお、上記ステップＳ１〜Ｓ３の被観測用ＳＦＦの選択工程、及びステップＳ４、Ｓ５のセレクタの配置工程は、ステップＳ６、Ｓ７のＣＴＳや組合せ回路等の配置や配線工程よりも後工程にしてもよい。その場合、ＣＴＳのバッファ間や組合せ回路の論理ゲート間の距離や配線長を短くできるため、通常動作時における、配線遅延によるＬＳＩの性能への影響を低減できる。
【００８８】
本実施形態によれば、ＬＳＩのレイアウト工程に、上述した被観測用ＳＦＦの選択工程やセレクタの配置工程を追加するだけで、本発明の半導体集積回路装置を比較的容易に設計することができる。
【００８９】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【００９０】
半導体集積回路装置内に、隣接する２つのクロックドメインから１つずつ選択された、特性が等しい２つのフリップフロップの出力信号が入力され、外部からのセレクト信号にしたがっていずれか一方を出力する、２つのフリップフロップから等しい距離に配置された少なくとも１つのセレクタと、セレクタの出力信号を観測するための測定用端子と、セレクト信号を前記セレクタに供給するための入力端子とを備え、半導体集積回路装置から２つのクロックドメインの一方のフリップフロップの出力信号と他方のフリップフロップの出力信号とを順次出力させ、セレクタから出力される、一方のフリップフロップの出力信号と他方のフリップフロップの出力信号との出力遅延差、及び該出力遅延差を相殺するような、基準に定めたクロックドメインに供給するクロックと他のクロックドメインに供給するクロックとの位相差を求め、半導体集積回路装置が備える複数のクロックドメインに、位相差を持たせたクロックをそれぞれ供給することで、各クロックドメインが有するフリップフロップのクロック入力ポートにおけるクロックの位相を全て合わせることができる。
【００９１】
したがって、異なるクロックドメイン間でデータ受け渡し時に起こり得るクロックスキューによる誤動作が防止され、第１従来例のように１回のキャプチャサイクルの処理を複数回に分割する必要が無いため、テストパターンの数やテスト時間が増大することがない。
【００９２】
また、隣接する２つのクロックドメインから選択されるフリップフロップを最も近接する位置に配置されたものにすることで、クロックスキューの測定時に誤差要因となる、フリップフロップとセレクタ間の配線を短くすることができる。
【００９３】
したがって、駆動能力を上げるためにバッファ等を挿入する必要がなく、かつクロックスキューを調整するために配線の延伸や遅延素子を設ける必要がない。
【００９４】
また、遅延量を調整するためのバッファ、あるいはクロックドメイン毎に必要な観測用フリップ、観測用フリップフロップにクロックを供給するためのＣＴＳ等が不要であるため、クロックスキューの測定に必要な回路や配線のレイアウト面積を最小限に抑制できる。さらに、バッファ、あるいは配線の延伸や遅延素子を設けることによるクロックスキューの測定精度の低下が防止される。
【００９５】
また、本発明の半導体集積回路装置の設計方法によれば、半導体集積回路装置のレイアウト工程に、クロックのスキューの測定対象となるフリップフロップの選択工程やセレクタの配置工程を追加するだけで、本発明の半導体集積回路装置を比較的容易に設計することができる。
【図面の簡単な説明】
【図１】本発明の半導体集積回路装置の一構成例を示す図であり、同図（ａ）は回路図、同図（ｂ）はレイアウト図である。
【図２】図１に示した半導体集積回路装置のクロックスキュー測定時における動作を示すタイミングチャートである。
【図３】図１に示した半導体集積回路装置のクロックスキュー測定後における動作を示すタイミングチャートである。
【図４】本発明の半導体集積回路装置の設計手順を示すフローチャートである。
【図５】従来の半導体集積回路装置の一構成例を示す回路図である。
【図６】図５に示した半導体集積回路のクロックドメイン内の動作を示すタイミングチャートである。
【図７】図５に示した半導体集積回路装置のクロックドメイン間の動作を示すタイミングチャートである。
【図８】第１従来例の半導体集積回路装置の試験時における動作を示すタイミングチャートである。
【図９】第２従来例の半導体集積回路装置の要部構成例を示す回路図である。
【図１０】第３従来例の半導体集積回路装置の構成例を示す回路図である。
【符号の説明】
１ａ〜１ｅ、２ａ〜２ｅ、３ａ〜３ｄ    ＳＦＦ
１２、２３    セレクタ
１００    試験装置
【図１】
2005026335.tif 000003
【図２】
2005026335.tif 000004
【図３】
2005026335.tif 000005
【図４】
2005026335.tif 000006
【図５】
2005026335.tif 000007
【図６】
2005026335.tif 000008
【図７】
2005026335.tif 000009
【図８】
2005026335.tif 000010
【図９】
2005026335.tif 000011
【図１０】
2005026335.tif 000012