(57)【要約】【課題】半導体集積回路のスキャンテストを安定的に行う。【解決手段】互いに異なるクロック信号にそれぞれ同期して動作する論理回路（１１〜１３）を備えた半導体集積回路は、クロック供給部（１４Ａ）と、制御部（１５Ａ）とを備えている。クロック供給部（１４Ａ）は、スキャンテスト用のクロック信号を受け、論理回路（１１〜１３）のそれぞれにクロック信号を供給する。制御部（１５Ａ）は、論理回路（１１〜１３）のそれぞれに互いに位相のずれたスキャンテスト用のクロック信号を供給するようにクロック供給部（１４Ａ）を制御する。【選択図】図１
2008122235.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なるクロック信号にそれぞれ同期して動作する複数の論理回路を備えた半導体集積回路であって、
スキャンテスト用のクロック信号を受け、前記複数の論理回路のそれぞれにクロック信号を供給するクロック供給部と、
前記複数の論理回路のそれぞれに互いに位相のずれたクロック信号を供給するように前記クロック供給部を制御する制御部とを備えた
ことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記クロック供給部は、
前記複数の論理回路のそれぞれに対応して設けられ、前記スキャンテスト用のクロック信号を受け、それを当該対応する論理回路に供給するか否かを制御する複数のゲート回路を有するものであり、
前記制御部は、前記複数のゲート回路のそれぞれに対して前記クロック信号の供給のタイミングを指示する
ことを特徴とする半導体集積回路。
【請求項３】
請求項１に記載の半導体集積回路において、
前記クロック供給部は、
前記スキャンテスト用のクロック信号から、互いに位相のずれた複数のクロック信号を生成する多相化部と、
前記複数の論理回路のそれぞれに対応して設けられ、当該対応する論理回路に、前記多相化部によって生成された複数のクロック信号の中からいずれか１つを選択的に供給する複数の選択部とを有するものであり、
前記制御部は、前記複数の選択部のそれぞれに対して前記クロック信号の選択を指示する
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、より具体的には、スキャンテスト時における半導体集積回路のクロック制御技術に属する。
【背景技術】
【０００２】
半導体集積回路には、互いに周波数や位相の異なるクロック信号に同期して動作する論理回路が複数搭載されていることがある。従来、このような半導体集積回路についてスキャンテストを行う場合、クロック系統毎にクロック系統間の遅延差分を調整するための遅延素子を挿入して、ホールドエラーが発生しないようにスキャンテスト用クロック信号のエッジタイミングを収束させている（例えば、特許文献１参照）。
【特許文献１】特開２０００−２６６８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、半導体集積回路のプロセスの微細化に伴ってチップ内ばらつき（ＯＣＶ：On Chip Variation）が大きくなっているため、チップ内のクロックスキューが小さくなるようにクロック信号の経路上へのバッファの挿入や素子等の配置を行ったとしても、クロック信号のタイミング収束性は悪化してしまう。また、上記のような遅延素子等の挿入によるエッジタイミングの調整は、かえってクロックスキューを大きくするおそれがある。タイミング収束性の悪化やクロックスキューの増大は回路の誤動作を招き、結果として、スキャンテストが不安定となってしまう。これは、良品を不良品と判定することによる歩留まりの低下や、不良品を良品と判定することによる不良品の市場への流出につながるため好ましくない。さらに、遅延素子等の挿入によって、回路面積の増大や消費電力の増加といった別の問題も生じてしまう。
【０００４】
上記の問題に鑑み、本発明は、半導体集積回路のスキャンテストを安定的に行うことを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明が講じた手段は、互いに異なるクロック信号にそれぞれ同期して動作する複数の論理回路を備えた半導体集積回路として、スキャンテスト用のクロック信号を受け、複数の論理回路のそれぞれにクロック信号を供給するクロック供給部と、複数の論理回路のそれぞれに互いに位相のずれたクロック信号を供給するようにクロック供給部を制御する制御部とを備えたものとする。
【０００６】
これによると、各論理回路を個別に動作させることができるため、クロック信号の位相のずれを制御することで、論理回路間のデータの受け渡しを確実に行うことができ、スキャンテストを安定的に実行することが可能となる。
【０００７】
具体的には、上記のクロック供給部は、複数の論理回路のそれぞれに対応して設けられ、スキャンテスト用のクロック信号を受け、それを当該対応する論理回路に供給するか否かを制御する複数のゲート回路を有するものとする。ここで、制御部は、複数のゲート回路のそれぞれに対してクロック信号の供給のタイミングを指示する。
【０００８】
また、具体的には、上記のクロック供給部は、スキャンテスト用のクロック信号から、互いに位相のずれた複数のクロック信号を生成する多相化部と、複数の論理回路のそれぞれに対応して設けられ、当該対応する論理回路に、多相化部によって生成された複数のクロック信号の中からいずれか１つを選択的に供給する複数の選択部とを有するものとする。ここで、制御部は、複数の選択部のそれぞれに対してクロック信号の選択を指示する。
【発明の効果】
【０００９】
以上、本発明によると、半導体集積回路のスキャンテストが安定的に行われる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態に係る半導体集積回路の構成を示す。半導体集積回路１Ａは、論理回路１１、１２及び１３と、クロック供給部１４Ａと、制御部１５Ａとを備えている。
【００１２】
論理回路１１〜１３は、通常モードにおいて、周波数や位相の異なるクロック信号ＣＫ１、ＣＫ２及びＣＫ３にそれぞれ同期して動作する。一方、スキャンテストモードにおいて、互いにデータの授受を行う。
【００１３】
クロック供給部１４Ａは、論理回路１１〜１３のそれぞれに対応して設けられたゲート回路１４１、１４２及び１４３を備えている。ゲート回路１４１は、選択部１６１と、ＡＮＤ回路１７１とを有している。選択部１６１は、クロック信号ＣＫ１及びスキャンクロック信号ＳＣＫのうち、スキャンモード信号ｓｍによって示される信号を選択的に出力する。具体的には、選択部１６１は、信号ｓｍの論理レベルが“０”のとき信号ＣＫ１を選択する一方、信号ｓｍの論理レベルが“１”のとき信号ＳＣＫを選択する。ＡＮＤ回路１７１は、選択部１６１の出力と制御信号ＥＮ１とを受け、これらの論理和を出力する。ゲート回路１４２及び１４３についてもゲート回路１４１と同様の構成である。
【００１４】
制御部１５Ａは、制御信号ＥＮ１〜ＥＮ３の論理レベルを“１”に設定するタイミングを調整して、ＡＮＤ回路１７１〜１７３からのクロック信号の出力タイミングをそれぞれ制御する。例えば、論理回路１２及び／又は１３から論理回路１１にスキャンテスト用のデータが渡される場合、制御部１５Ａは、まず、スキャンシフトインフェーズにおいて、信号ＥＮ２及び／又はＥＮ３の論理レベルを“１”に設定して、論理回路１２及び／又は１３にスキャンテスト用のデータをラッチさせる。その後、スキャンキャプチャフェーズに移り、信号ＥＮ１の論理レベルを“１”に、信号ＥＮ２及び／又はＥＮ３の論理レベルを“０”にそれぞれ設定して、論理回路１１に、論理回路１２及び／又は１３の論理演算結果をラッチさせる。そして、スキャンシフトアウトフェーズにおいて、論理回路１１の論理状態を外部に出力して、論理回路１２及び／又は１３から論理回路１１へのスキャンテスト用のデータ受け渡しのフェーズが終了する。同様に、論理回路１３及び／又は１１から論理回路１２へ、論理回路１１及び／又は１２から論理回路１３へ、それぞれスキャンテスト用データの受け渡しを実行することができる。
【００１５】
図２は、半導体集積回路１Ａのスキャンテスト時におけるタイミングチャートである。まず、スキャンシフトインフェーズにおいてスキャン用データはすでに論理回路１１〜１３にラッチされている。論理回路１１及び／又は１２から論理回路１３へデータが受け渡しされる場合、時刻ｔ１で論理回路１３の入力クロック信号が立ち上がり、論理回路１１及び／又は論理回路１２の論理演算結果が論理回路１３にラッチされる。論理回路１１及び／又は１３から論理回路１２へデータが受け渡しされる場合、時刻ｔ２で論理回路１２の入力クロック信号が立ち上がり、論理回路１１及び／又は論理回路１３の論理演算結果が論理回路１２にラッチされる。そして、論理回路１２及び／又は１３から論理回路１１へデータが受け渡しされる場合、時刻ｔ３で論理回路１１の入力クロック信号が立ち上がり、論理回路１２及び／又は論理回路１３の論理演算結果が論理回路１１にラッチされる。各論理回路１１〜１３にラッチされたデータはその後のスキャンアウトフェーズにおいて外部に出力される。
【００１６】
このように、制御信号ＥＮ１、ＥＮ２及びＥＮ３を個別に制御することで各論理回路１１〜１３におけるデータラッチのタイミングが個別に制御される。これにより、互いに異なる周波数のクロック信号で論理回路のスキャンテストを行った場合にこれらクロック信号が同位相となってしまうことで発生するホールドエラーを回避することができる。
【００１７】
図３は、半導体集積回路１Ａのスキャンテストのシーケンス例を示す。まず、制御信号ＥＮ１の論理レベルが“１”に設定され、スキャンテスト用のデータが論理回路１１に入力され、制御信号ＥＮ１の論理レベルが“１”に設定されて、当該データが論理回路１１にラッチされる（シフトイン動作）（Ｓ３００）。次に、制御信号ＥＮ１の論理レベルが“０”に、制御信号ＥＮ２の論理レベルが“１”にそれぞれ設定されて、論理回路１１から出力されたデータが論理回路１２に取り込まれる（キャプチャ動作）（Ｓ３０１）。そして、論理回路１２によって保持されている値が出力される（シフトアウト動作）（Ｓ３０２）。
【００１８】
続いて、制御信号ＥＮ２の論理レベルが“１”に設定され、スキャンテスト用のデータが論理回路１２に入力され、当該データが論理回路１２にラッチされる（Ｓ３０３）。その後、制御信号ＥＮ２の論理レベルが“０”に、制御信号ＥＮ３の論理レベルが“１”にそれぞれ設定されて、論理回路１２から出力されたデータが論理回路１３に取り込まれて（Ｓ３０４）、論理回路１３によって保持されている値が出力される（Ｓ３０５）。同様に、制御信号ＥＮ３の論理レベルが“１”に設定され、スキャンテスト用のデータが論理回路１３に入力され、当該データが論理回路１３にラッチされる（Ｓ３０６）。その後、制御信号ＥＮ３の論理レベルが“０”に、制御信号ＥＮ１の論理レベルが“１”にそれぞれ設定されて、論理回路１３から出力されたデータが論理回路１１に取り込まれて（Ｓ３０７）、論理回路１１によって保持されている値が出力される（Ｓ３０８）。
【００１９】
各論理回路間の上記と逆方向のデータの受け渡しについて、同様の動作が繰り返されて（Ｓ３０９〜Ｓ３１７）、スキャンテストが終了する。
【００２０】
図４は、半導体集積回路１Ａのスキャンテストの別のシーケンス例を示す。まず、制御信号ＥＮ２及びＥＮ３の論理レベルが“１”に設定されて、スキャンテスト用のデータが論理回路１２及び１３に入力され、スキャンテスト用のデータが論理回路１２及び１３にそれぞれラッチされる（シフトイン動作）（Ｓ３２０）。そして、制御信号ＥＮ２及びＥｎ３の論理レベルが“０”に、制御信号ＥＮ１の論理レベルが“１”（イネーブルオン状態）にそれぞれ設定されて（Ｓ３２１）、論理回路１２から出力されたデータ及び論理回路１３から出力されたデータが論理回路１１にそれぞれ取り込まれる（キャプチャ動作）（Ｓ３２２）。その後、論理回路１１によって保持されている値が出力される（シフトアウト動作）（Ｓ３２３）。
【００２１】
続いて、制御信号ＥＮ１及びＥＮ３の論理レベルが“１”に設定され、スキャンテスト用のデータが論理回路１１及び１３に入力され（Ｓ３２４）、スキャンテスト用のデータが論理回路１１及び１３にそれぞれラッチされる。そして、制御信号ＥＮ１及びＥＮ３の論理レベルが“０”に、制御信号ＥＮ２の論理レベルが“１”にそれぞれ設定されて（Ｓ３２５）、論理回路１１から出力されたデータ及び論理回路１３から出力されたデータがそれぞれ論理回路１２に取り込まれる（Ｓ３２６）。その後、論理回路１２によって保持されている値が出力される（Ｓ３２７）。また、制御信号ＥＮ１及びＥＮ２の論理レベルが“１”に設定され、スキャンテスト用のデータが論理回路１１及び１２にそれぞれ入力され（Ｓ３２８）、スキャンテスト用のデータが論理回路１１及び１２にそれぞれラッチされる。そして、制御信号ＥＮ１及びＥＮ２の論理レベルが“０”に、制御信号ＥＮ３の論理レベルが“１”にそれぞれ設定されて（Ｓ３２９）、論理回路１１から出力されたデータ及び論理回路１２から出力されたデータがそれぞれ論理回路１３に取り込まれる（Ｓ３３０）。その後、論理回路１３によって保持されている値が出力される（Ｓ３３１）。以上のようにして、互いに異なる周波数のクロック信号で動作する複数の論理回路１１〜１３についてのスキャンテストが終了する。
【００２２】
本シーケンス例では、１回のテスト動作で２つのパターンのデータの受け渡しについて併せて評価することができるため、３回のテスト動作で図３に示したシーケンス例と同等のスキャンテストを行うことができる。
【００２３】
本実施形態によると、制御信号によって各ＡＮＤ回路からのクロック信号の出力タイミングを個別に制御可能となるため、論理回路に入力されるデータの安定点でスキャンテスト用のクロック信号を供給することで、論理回路間のデータの受け渡しを確実に行うことができる。これにより、スキャンテストを安定的に行うことができるため、作業工数の削減による開発ＴＡＴ（Turn Around Time）の短縮や、市場不良率の低下が期待できる。また、スキャンテスト時のクロック信号のタイミング収束が不要となるため、回路面積や消費電力の削減が可能になるとともに、選択部１６１〜１６３の配置の自由度が増すためクロック信号線のテスタビリティ（テスト容易性）が向上する。
【００２４】
なお、制御信号ＥＮ１〜ＥＮ３が負論理に基づくものである場合には、ＡＮＤ回路１７１〜１７３に代えてＯＲ回路を用いればよい。
【００２５】
また、クロック系統は３系統に限るものではなく、通常モードのクロック信号をスキャンテストモードのクロック信号として併用することも可能である。
【００２６】
（第２の実施形態）
図５は、第２の実施形態に係る半導体集積回路の構成を示す。半導体集積回路１Ｂは、図１に示したクロック供給部１４Ａ及び制御部１５Ａに代えて、クロック供給部１４Ｂ及び制御部１５Ｂを備えている。
【００２７】
クロック供給部１４Ｂは、多相化部２００と、選択部２０１、２０２及び２０３とを有している。多相化部２００は、スキャンクロック信号ＳＣＫを受け、信号ＳＣＫと同位相の信号ＳＣＫ１及び９０°及び１８０°ずつ位相が遅延した信号ＳＣＫ２及びＳＣＫ３を生成する。
【００２８】
選択部２０１〜２０３はそれぞれ、対応する論理回路１１〜１３に制御信号ＳＥ１〜ＳＥ３によって指示された信号を供給する。具体的には、選択部２０１は、クロック信号ＣＫ１及び多相化部２００から出力された信号ＳＣＫ１〜ＳＣＫ３を受け、これらの信号のうち制御信号ＳＥ１によって指示されたものを選択的に出力する。選択部２０２及び２０３も選択部２０１と同様の構成である。
【００２９】
制御部１５Ｂは、制御信号ＳＥ１〜ＳＥ３を出力して、選択部２０１〜２０３が選択すべき信号を指示する。例えば、論理回路１１から論理回路１２及び／又は１３に、また、論理回路１２から論理回路１３にデータが渡される場合、制御部１５Ｂは、選択部２０１〜２０３の選択すべき信号がそれぞれ、信号ＳＣＫ３、ＳＣＫ２及びＳＣＫ１となるように制御信号ＳＥ１〜ＳＥ３を設定する。
【００３０】
図６は、半導体集積回路１Ｂのスキャンテスト時のタイミングチャートである。まず、スキャンシフトインフェーズにおいてスキャン用データはすでに論理回路１１〜１３にラッチされている。論理回路１１及び／又は１２から論理回路１３へデータが受け渡しされる場合、時刻ｔ１でクロック信号ＳＣＫ１（論理回路１３の入力クロック信号）が立ち上がり、論理回路１１及び／又は論理回路１２の論理演算結果が論理回路１３にラッチされる。論理回路１１及び／又は１３から論理回路１２へデータが受け渡しされる場合、時刻ｔ２でクロック信号ＳＣＫ２（論理回路１２の入力クロック信号）が立ち上がり、論理回路１１及び／又は論理回路１３の論理演算結果が論理回路１２にラッチされる。そして、論理回路１２及び／又は１３から論理回路１１へデータが受け渡しされる場合、時刻ｔ３でクロック信号ＳＣＫ３（論理回路１１の入力クロック信号）が立ち上がり、論理回路１２及び／又は論理回路１３の論理演算結果が論理回路１１にラッチされる。各論理回路１１〜１３にラッチされたデータはその後のスキャンアウトフェーズにおいて外部に出力される。
【００３１】
このように、制御信号ＥＮ１、ＥＮ２及びＥＮ３を個別に制御することで各論理回路１１〜１３におけるデータラッチのタイミングが個別に制御される。これにより、互いに異なる周波数のクロック信号で論理回路のスキャンテストを行った場合にこれらクロック信号が同位相となってしまうことで発生するホールドエラーを回避することができる。
【００３２】
図７は、半導体集積回路１Ｂのスキャンテストのシーケンス例を示す。まず、外部から、任意のスキャンテスト用のデータが論理回路１１に入力され、ラッチされる（シフトイン動作）（Ｓ３４０）。次に、制御信号ＳＥ１、ＳＥ２、ＳＥ３が、遅延量１８０°、９０°、０°の信号の選択を指示するようにそれぞれ設定され（Ｓ３４１）、論理回路１１〜１３に信号ＳＣＫ３、ＳＣＫ２及びＳＣＫ１がそれぞれ供給される。これにより、論理回路１１から出力されたデータが論理回路１２及び１３へ、論理回路１２から出力されたデータが論理回路１３へそれぞれ取り込まれる（キャプチャ動作）（Ｓ３４２）。そして、論理回路１１〜１３の保持する値がそれぞれ出力される（シフトアウト動作）（Ｓ３４３）。
【００３３】
続いて、スキャンテスト用のデータが論理回路１２に入力され、ラッチされる（Ｓ３４４）。そして、制御信号ＳＥ１、ＳＥ２、ＳＥ３が、遅延量０°、９０°、１８０°の信号の選択を指示するようにそれぞれ設定され（Ｓ３４５）、論理回路１１〜１３に信号ＳＣＫ２、ＳＣＫ３及びＳＣＫ１がそれぞれ供給される。これにより、論理回路１２から出力されたデータが論理回路１１及び１３へ、論理回路１３から出力されたデータが論理回路１１へそれぞれ取り込まれる（Ｓ３４６）。そして、論理回路１１及び１３の保持する値が出力される（Ｓ３４７）。以上のようにして、互いに異なる周波数のクロック信号で動作する複数の論理回路１１〜１３についてのスキャンテストが終了する。
【００３４】
本シーケンス例では、１回のテスト動作で３つのパターンのデータの受け渡しについて評価することができるため、２回のテスト動作で図３及び図４に示したシーケンス例と同等のスキャンテストを行うことができる。
【００３５】
本実施形態によると、多相化部によって生成された互いに位相の異なる信号が各論理回路に供給されるため、セットアップタイム及びホールドタイムが十分確保できるようなクロック信号を供給するよう制御することで、データの受け渡しが確実に行われ、スキャンテストを安定的に行うことができる。
【００３６】
なお、他の論理回路よりも位相の早いクロック信号が供給された論理回路ではホールドエラーが起こりにくくなるが、ホールドエラーが残ってしまう場合には、スキャンクロック信号の周波数を遅くすることでこれを回避することができる。
【００３７】
また、多相化部２００から出力される信号の位相は上記に限るものではなく、ホールドエラーが起きないように設定すればよい。
【００３８】
また、クロック系統は３系統に限るものではなく、通常モードのクロック信号をスキャンクロック信号として併用することも可能である。
【産業上の利用可能性】
【００３９】
本発明に係る半導体集積回路は、安定的にスキャンテストができ、各種電子機器として有用である。また、通常モード用のクロック供給回路として用いることで、非同期界面の同期化にも応用できる。
【図面の簡単な説明】
【００４０】
【図１】第１の実施形態に係る半導体集積回路の構成を示す図である。
【図２】図１に示した半導体集積回路のスキャンテスト時のタイミングチャートである。
【図３】図１に示した半導体集積回路のスキャンテストのシーケンス例である。
【図４】図１に示した半導体集積回路のスキャンテストの別のシーケンス例である。
【図５】第２の実施形態に係る半導体集積回路の構成を示す図である。
【図６】図４に示した半導体集積回路のスキャンテスト時のタイミングチャートである。
【図７】図４に示した半導体集積回路のスキャンテストのシーケンス例である。
【符号の説明】
【００４１】
１Ａ、１Ｂ  半導体集積回路
１１、１２、１３  論理回路
１４Ａ、１４Ｂ  クロック供給部
１５Ａ、１５Ｂ  制御部
１４１、１４２、１４３  ゲート回路
２００  多相化部
２０１、２０２、２０３  選択部
【図１】
2008122235.tif 000003
【図２】
2008122235.tif 000004
【図３】
2008122235.tif 000005
【図４】
2008122235.tif 000006
【図５】
2008122235.tif 000007
【図６】
2008122235.tif 000008
【図７】
2008122235.tif 000009