(57)【要約】  複数の順序回路（１３）を連結してなり、複数の順序回路（１３）のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーン（１２）をそなえた集積回路の不良箇所を特定する不良箇所特定装置（２０）であって、複数の順序回路（１３）のうち少なくとも一つの順序回路（１８）に予め規定した値を設定データとして設定する設定部（２２）と、スキャンチェーン（１２）からの出力データ列と、スキャンチェーン（１２）における少なくとも一つの順序回路（１８）の位置とに基づいて、スキャンチェーン（１２）における不良箇所を特定する特定部（２４）とをそなえることにより、スキャンテストにおいてスキャンチェーンの不良箇所を容易かつ短時間で特定する。
2008120362.tif 000002
【特許請求の範囲】
【請求項１】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定装置であって、
該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定する設定部と、
該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定する特定部とをそなえることを特徴とする、不良箇所特定装置。
【請求項２】
該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることを特徴とする、請求項１に記載の不良箇所特定装置。
【請求項３】
該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、請求項２に記載の不良箇所特定装置。
【請求項４】
該特定部が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列に基づいて、該スキャンチェーンにおける不良箇所を特定することを特徴とする、請求項１〜３のいずれか１項に記載の不良箇所特定装置。
【請求項５】
該複数の順序回路のリセットを行なうリセット部をそなえ、
該設定部が、該リセット部によってリセットされた該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定することを特徴とする、請求項１〜４のいずれか１項に記載の不良箇所特定装置。
【請求項６】
該特定部は、該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定することを特徴とする、請求項１〜５のいずれか１項に記載の不良箇所特定装置。
【請求項７】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定方法であって、
該複数の順序回路のうち少なくとも一つの順序回路に、予め規定した値を該設定データとして設定するステップと、
該スキャンチェーンをシフトアウトすることにより出力データ列を出力するステップと、
該出力データ列を出力するステップにおいて出力された該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定するステップとをそなえることを特徴とする、不良箇所特定方法。
【請求項８】
該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることを特徴とする、請求項７に記載の不良箇所特定方法。
【請求項９】
該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、請求項８に記載の不良箇所特定方法。
【請求項１０】
該出力データ列を出力するステップにおいて、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列を出力することを特徴とする、請求項７〜９のいずれか１項に記載の不良箇所特定方法。
【請求項１１】
該予め規定した値を該設定データとして設定するステップに先立って、該複数の順序回路のリセットを行なうステップをそなえることを特徴とする、請求項７〜１０のいずれか１項に記載の不良箇所特定方法。
【請求項１２】
該スキャンチェーンにおける不良箇所を特定するステップにおいて、該出力データ列を出力するステップにおいて出力された該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定することを特徴とする、請求項７〜１１のいずれか１項に記載の不良箇所特定方法。
【請求項１３】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路であって、
該複数の順序回路のうちの少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための不良箇所特定回路であることを特徴とする、集積回路。
【請求項１４】
スキャンテスト時には、該不良箇所特定回路に予め規定した値が該設定データとして設定されることを特徴とする、請求項１３に記載の集積回路。
【請求項１５】
該不良箇所特定回路は、該スキャンチェーンにおける不良箇所を特定するための専用のものであることを特徴とする、請求項１３または請求項１４に記載の集積回路。
【請求項１６】
該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、請求項１３〜１５のいずれか１項に記載の集積回路。
【請求項１７】
該出力データ列が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数で構成されることを特徴とする、請求項１３〜１６のいずれか１項に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の順序回路を連結してなるスキャンチェーンをそなえた集積回路の不良箇所を特定するための技術に関する。
【背景技術】
【０００２】
例えば、ＬＳＩ（Large Scale Integration）等の集積回路では、一般的にスキャン設計と呼ばれるテスト容易化設計が行なわれている。このスキャン設計を施された集積回路では、集積回路内部の順序回路を用いてスキャンチェーンが形成され、このスキャンチェーンを構成する順序回路の固定不良等の不良（故障）を判定するためのスキャンテストが行なわれる（例えば、下記特許文献１，２参照）。【０００３】
図９は従来のスキャンチェーンの構成例を模式的に示す図である。
例えば、この図９に示すように、スキャンチェーン８０は、複数の順序回路８１を直列に連結してなり、集積回路の通常動作時に機能する回路（図示省略）とは異なる回路として構成されている。
また、スキャンチェーン８０の両端には、ＳＩピン８２およびＳＯピン８３がそなえられている。ＳＩピン８２は、スキャンチェーン８０に入力するシフトデータの入口であり、ＳＯピン８３は、シフトデータの出口である。【０００４】
ここで、シフトデータとは、集積回路を構成する回路が仕様を満足するか評価するために用いるデータをいい、テストベクタ（Test Vector）と呼ばれる場合もある。
順序回路８１は、集積回路を構成する論理回路からのデータが設定データとして設定（セット）されるものであって、例えば、図９に示すように、フリップフロップ（図中“ＦＦ”と表記）８４ａ〜８４ｅおよびマクロ（特定マクロ）８５ａ，８５ｂにより実現される。【０００５】
図９に示す例では、スキャンチェーン８０は、ＳＩピン８２からＳＯピン８３にかけて、第一のフリップフロップ８４ａ，第二のフリップフロップ８４ｂ，第一のマクロ８５ａ，第三のフリップフロップ８４ｃ，第二のマクロ８５ｂ，第四のフリップフロップ８４ｄ，第五のフリップフロップ８４ｅの順に、これらの順序回路８１を直列に連結して構成されている。【０００６】
なお、以下、フリップフロップを示す符号としては、複数のフリップフロップのうち１つを特定する必要があるときは符号８４ａ〜８４ｅを用いるが、任意のフリップフロップを指すときには符号８４を用いる。又、以下、マクロを示す符号としては、複数のマクロのうち１つを特定する必要があるときは符号８５ａ，８５ｂを用いるが、任意のマクロを指すときには符号８５を用いる。【０００７】
図１０は従来のスキャンチェーンを構成するフリップフロップの構成例を模式的に示す図である。
フリップフロップ８４は、１ビット（bit）のデータが設定データとして設定されるものであって、図１０に示すように、データ入力端子Ｄ，クロック信号入力端子ＣＫ，シフトデータ入力端子ＳＩ，スキャンクロック信号入力端子ＳＣＫ，データ出力端子ＳＬおよびリセット信号入力端子ＣＬをそなえて構成されている。【０００８】
データ入力端子Ｄには、集積回路の通常動作時に機能する論理回路からのデータが設定データとして入力されるようになっており、クロック信号入力端子ＣＫには、設定データを設定する（取り込む）ためのクロック信号が入力（印加）されるようになっている。
そして、フリップフロップ８４においては、クロック信号がクロック信号入力端子ＣＫに入力される都度、集積回路の通常動作時に機能する論理回路からの１ビットのデータがデータ入力端子Ｄを介して設定データとして設定されるようになっている。【０００９】
このフリップフロップ８４のシフトデータ入力端子ＳＩには、スキャンチェーン８０における前段の順序回路８１からのデータが入力されるようになっており、スキャンクロック信号入力端子ＳＣＫには、スキャンテスト時にスキャンチェーン８０においてシフト動作を行なうためのスキャンクロック信号が入力（印加）されるようになっている。
ここで、シフト動作とは、スキャンチェーン８０において、ＳＩピン８２からシフトデータが１ビット単位で順次入力（シフトイン）されて、複数の順序回路８１のそれぞれに設定された設定データをＳＯピン８３から１ビット単位で順次出力（シフトアウト）することをいう。【００１０】
データ出力端子ＳＬは、設定された設定データを、集積回路の通常動作時に機能する論理回路や、スキャンチェーン８０における次段の順序回路８１に出力するようになっている。
そして、フリップフロップ８４は、スキャンクロック信号がスキャンクロック信号入力端子ＳＣＫに入力される都度、１ビットのデータをシフトデータ入力端子ＳＩから取り込むとともに、内部に設定された１ビットの設定データをデータ出力端子ＳＬから次段の順序回路８１に出力するシフト動作を行なうようになっている。【００１１】
リセット信号入力端子ＣＬには、内部情報をリセットするためのリセット信号が入力（印加）されるようになっている。
従って、フリップフロップ８４は、クロック信号が入力されると、集積回路の通常動作時に機能する論理回路からの１ビットのデータが設定データとして設定され、又、スキャンクロック信号が入力されると、スキャンチェーン８０において１ビットのシフト動作を行ない、更に、リセット信号が入力されると、フリップフロップ８４の内部情報がリセットされる。【００１２】
マクロ８５は、複数ビットのデータが設定データとして設定されるものであって、例えば、複数のフリップフロップをそなえ、スキャン可能に構成されている。
図９に示す例では、第一のマクロ８５ａには、５ビットのデータが設定データとして設定され、又、第二のマクロ８５ｂには、３ビットのデータが設定データとして設定されるようになっている。【００１３】
また、マクロ８５は、図９に示すように、シフトデータ入力端子ＳＩおよびデータ出力端子ＳＬをそなえて構成されている。
このマクロ８５のシフトデータ入力端子ＳＩには、スキャンチェーン８０における前段の順序回路８１からのデータが１ビット単位で入力されるようになっている。
マクロ８５のデータ出力端子ＳＬは、設定された設定データを、集積回路の通常動作時に機能する論理回路やスキャンチェーン８０における次段の順序回路８１に１ビット単位で出力するようになっている。【００１４】
なお、マクロ８５は、上述したシフトデータ入力端子ＳＩおよびデータ出力端子ＳＬの他に、データ入力端子Ｄ，クロック信号入力端子ＣＫ，スキャンクロック信号入力端子ＳＣＫ，リセット信号入力端子ＣＬ等もそなえて構成されているが、便宜上、これらの図示を省略するとともに、その説明についても省略するものとする。
従って、マクロ８５は、クロック信号が入力されると、集積回路の通常動作時に機能する論理回路からの複数ビット（例えば、マクロ８５ａでは５ビット）のデータが設定データとして設定され、又、スキャンクロック信号が入力されると、スキャンチェーン８０において１ビットのシフト動作を行ない、更に、リセット信号が入力されると、マクロ８５の内部情報がリセットされる。【００１５】
そして、スキャンチェーン８０は、ＳＩピン８２からシフトデータがシフトインされてシフト動作を行なうことにより、出力データ列をＳＯピン８３から出力するようになっている。
図１１〜図１３は従来のスキャンチェーンを用いたスキャンテスト手法の例を説明するための図であり、図１１は複数の順序回路のそれぞれがリセットされた状態を模式的に示す図、図１２は複数の順序回路のそれぞれにシフトデータが設定された状態を模式的に示す図、図１３はシフトデータがシフトアウトされた状態を模式的に示す図である。【００１６】
従来のスキャンチェーン８０を用いたスキャンテストにおいては、先ず、複数の順序回路８１のそれぞれの内部情報をリセットした後に、ＳＩピン８２から所望のシフトデータをシフトインし、更にその後、ＳＯピン８３からシフトデータをシフトアウトする。
具体的には、先ず、図１１に示すように、複数の順序回路８１のそれぞれのリセット信号入力端子ＣＬにリセット信号を入力し、複数の順序回路８１のそれぞれをリセットする（図１１における“Ｘ”は初期値としての不定値を示す）。【００１７】
次に、複数の順序回路８１のそれぞれがリセットされた状態で、１３ビットのシフトデータ“１０１１１１１１１１１１１”をシフトインすると、スキャンチェーン８０がシフト動作を行なうことにより、図１２に示すように、複数の順序回路８１のそれぞれに対してシフトデータが設定される。
その後、複数の順序回路８１のそれぞれに対して設定されたシフトデータをシフトアウトすると、スキャンチェーン８０は、シフト動作を行ない、図１３に示すように、シフトデータに対応する１３ビットの出力データ列“１０１１１１１１１１１１１”を出力する。【００１８】
そして、オペレータ等が、期待値“１０１１１１１１１１１１１”とシフトデータに対応する出力データ列とを比較することにより、スキャンチェーン８０を構成するフリップフロップ８４やマクロ８５における固定不良等の不良を判定する。
図１４は図１１〜図１３に示した従来のスキャンテスト手法においてスキャンテストがフェイルした例を模式的に示す図である。【００１９】
期待値とシフトデータに対応する出力データ列とを比較した結果、図１４に示すように、期待値が“１０１１１１１１１１１１１”であるのに対し、出力データ列が“０００００００００００００”である場合には、スキャンテストがフェイル（Fail）した状態であり、スキャンチェーン８０を構成する複数の順序回路８１のいずれかが“０”で固定（“Low”固定）されていることを示す。これにより、スキャンチェーン８０を構成する複数の順序回路８１のいずれかが故障し動作不良が生じていることがわかる。
【特許文献１】特開２００４−１２４２０号公報
【特許文献２】特開２００５−１３４１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、上述した従来のスキャンテスト手法では、スキャンテストがフェイルした場合に、スキャンチェーンを構成している複数の順序回路における不良箇所や、不良箇所の数が不明である。
従って、スキャンチェーンの不良箇所を特定するために、スキャンチェーンを構成する複数の順序回路のそれぞれに対して個別に不良箇所やその原因を調査追及しなければならないので、不良箇所の特定等が非常に困難であり、又、時間もかかるという課題がある。【００２１】
本発明は、このような課題に鑑み創案されたもので、スキャンテストにおいてスキャンチェーンの不良箇所を容易かつ短時間で特定することを目的とする。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために、本発明の不良箇所特定装置は、複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定装置であって、該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定する設定部と、該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定する特定部とをそなえることを特徴としている。【００２３】
また、該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることが好ましい。
さらに、該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることが好ましい。【００２４】
また、該特定部が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列に基づいて、該スキャンチェーンにおける不良箇所を特定することが好ましい。
さらに、該複数の順序回路のリセットを行なうリセット部をそなえ、該設定部が、該リセット部によってリセットされた該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定することが好ましい。【００２５】
また、該特定部は、該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定してもよい。
なお、本発明の不良箇所特定方法は、複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定方法であって、該複数の順序回路のうち少なくとも一つの順序回路に、予め規定した値を該設定データとして設定するステップと、該スキャンチェーンをシフトアウトすることにより出力データ列を出力するステップと、該出力データ列を出力するステップにおいて出力された該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定するステップとをそなえることを特徴としている。【００２６】
また、該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることが好ましい。
さらに、該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることが好ましい。【００２７】
また、該出力データ列を出力するステップにおいて、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列を出力することが好ましい。
さらに、該予め規定した値を該設定データとして設定するステップに先立って、該複数の順序回路のセットを行なうステップをそなえることが好ましい。
また、該スキャンチェーンにおける不良箇所を特定するステップにおいて、該出力データ列を出力するステップにおいて出力された該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定してもよい。【００２８】
なお、本発明の集積回路は、複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路であって、該複数の順序回路のうちの少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための不良箇所特定回路であることを特徴としている。【００２９】
また、スキャンテスト時には、該不良箇所特定回路に予め規定した値が該設定データとして設定されることが好ましい。
さらに、該不良箇所特定回路は、該スキャンチェーンにおける不良箇所を特定するための専用のものであることが好ましい。
また、該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることが好ましい。【００３０】
さらに、該出力データ列が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数で構成されることが好ましい。
【発明の効果】
【００３１】
本発明によれば、以下の少なくともいずれか１つの効果ないし利点がある。
（１）スキャンチェーンが正常に動作しているか否かを判別することができる。
（２）スキャンチェーンの不良箇所を容易かつ短時間で特定することができる。
（３）“Low”固定および“High”固定の両方の不良箇所を容易に特定することができる。【００３２】
（４）スキャンチェーンの不良箇所やその原因を解明したり改善したりする場合に、時間およびコスト面において有効である。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態としての集積回路および不良箇所特定装置の構成例を模式的に示す図である。
【図２】本発明の一実施形態としての集積回路に形成されたスキャンチェーンの構成例を模式的に示す図である。
【図３】本発明の一実施形態としての集積回路における一般フリップフロップの構成を模式的に示す図である。
【図４】本発明の一実施形態としての集積回路における調査用フリップフロップの構成例を模式的に示す図である。
【図５】本発明の一実施形態としての不良箇所特定装置におけるリセット部によりリセットされたスキャンチェーンの状態を示す図である。
【図６】本発明の一実施形態としての不良箇所特定装置における設定部により設定データが設定されたスキャンチェーンの状態を示す図である。
【図７】本発明の一実施形態としての集積装置におけるスキャンチェーンが設定データをシフトアウトした状態を示す図である。
【図８】本発明の一実施形態としての不良箇所特定装置におけるスキャンチェーンの不良箇所の特定手順の一例を示すフローチャートである。
【図９】従来のスキャンチェーンの構成例を模式的に示す図である。
【図１０】従来のスキャンチェーンを構成するフリップフロップの構成例を模式的に示す図である。
【図１１】従来のスキャンチェーンを用いたスキャンテスト手法の例を説明するための図であって複数の順序回路のそれぞれがリセットされた状態を模式的に示す図である。
【図１２】従来のスキャンチェーンを用いたスキャンテスト手法の例を説明するための図であって複数の順序回路のそれぞれに一次シフトデータが設定された状態を模式的に示す図である。
【図１３】従来のスキャンチェーンを用いたスキャンテスト手法の例を説明するための図であって複数の順序回路のそれぞれに二次シフトデータが設定された状態を模式的に示す図である。
【図１４】従来のスキャンチェーンを用いたスキャンテスト手法においてスキャンテストがフェイルした例を模式的に示す図である。
【符号の説明】
【００３４】
１０  集積回路
１１ａ，１１ｂ  論理回路
１２，８０  スキャンチェーン
１３，８１  順序回路
１４，８２  ＳＩピン
１５，８３  ＳＯピン
１６，１６ａ，１６ｂ  一般フリップフロップ（順序回路）
１７ａ，１７ｂ  マクロ（順序回路）
１８，１８ａ，１８ｂ，１８ｃ  調査用フリップフロップ（順序回路）
２０  不良箇所特定装置
２１  リセット部
２２  設定部
２３  入力部
２４  不良箇所特定部
８４，８４ａ〜８４ｅ  フリップフロップ
８５ａ，８５ｂ  マクロ
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態の説明
図１は本発明の一実施形態としての集積回路および不良箇所特定装置の構成例を模式的に示す図、図２はその集積回路に形成されたスキャンチェーンの構成例を模式的に示す図である。【００３６】
先ず、本発明の一実施形態としての集積回路１０について説明する。
本発明の一実施形態に係る集積回路１０は、スキャン設計と呼ばれるテスト容易化設計が行なわれた半導体集積回路であって、図１に示すように、複数（図１に示す例では２つ）の論理回路１１ａ，１１ｂや複数（図１に示す例では７つ）の順序回路１３をそなえて構成されている。【００３７】
なお、論理回路１１ａ，１１ｂは、集積回路１０の通常動作時に機能する既知の回路であるので、その詳細な説明について省略する。
順序回路１３は、集積回路１０を構成する論理回路１１ａ，１１ｂや、後述する設定部２２からのデータが設定データとして設定（セット）されるものであって、例えば、図１および図２に示す例では、一般フリップフロップ（図中“ＦＦ”と表記）１６ａ，１６ｂ，マクロ（特定マクロ）１７ａ，１７ｂおよび調査用フリップフロップ（不良箇所特定回路；図中“ＴＦＦ”と表記）１８ａ〜１８ｃにより実現される。又、一般フリップフロップ１６ａ，１６ｂおよびマクロ１７ａ，１７ｂは、集積回路１０の通常動作時に機能する通常機能回路である。【００３８】
そして、これらの順序回路１３によりスキャンチェーン１２が形成されている。
スキャンチェーン１２は、複数の順序回路１３を直列に連結してなり、集積回路１０の通常動作時に機能する回路とは異なる回路として構成されている。即ち、複数の順序回路１３が、数珠つなぎのチェーンを構成するのである。
また、スキャンチェーン１２の両端には、ＳＩピン１４およびＳＯピン１５がそなえられている。ＳＩピン１４は、スキャンチェーン１２に入力するシフトデータの入口であり、ＳＯピン１５は、シフトデータの出口である。【００３９】
ここで、シフトデータとは、集積回路１０を構成する回路が仕様を満足するか評価するために用いるデータをいい、テストベクタ（Test Vector）と呼ばれる場合もある。
図１および図２に示す例では、スキャンチェーン１２は、ＳＩピン１４からＳＯピン１５にかけて、第一の一般フリップフロップ１６ａ，第一の調査用フリップフロップ１８ａ，第一のマクロ１７ａ，第二の調査用フリップフロップ１８ｂ，第二のマクロ１７ｂ，第三の調査用フリップフロップ１８ｃ，第二の一般フリップフロップ１６ｂの順に、これらの順序回路１３を直列に連結して構成されている。【００４０】
即ち、調査用フリップフロップ１８は、スキャンチェーン１２において隣り合う通常機能回路１６，１７の間に配置されており、又、スキャンチェーン１２は、複数の順序回路１３のうち少なくとも一つの順序回路１３が調査用フリップフロップ１８をそなえていると言える。
なお、以下、一般フリップフロップを示す符号としては、複数の一般フリップフロップのうち１つを特定する必要があるときは符号１６ａ，１６ｂを用いるが、任意の一般フリップフロップを指すときには符号１６を用いる。又、以下、マクロを示す符号としては、複数のマクロのうち１つを特定する必要があるときは符号１７ａ，１７ｂを用いるが、任意のマクロを指すときには符号１７を用いる。更に、以下、調査用フリップフロップを示す符号としては、複数の調査用フリップフロップのうち１つを特定する必要があるときは符号１８ａ〜１８ｃを用いるが、任意の調査用フリップフロップを指すときには符号１８を用いる。【００４１】
図３は本発明の一実施形態としての集積回路における一般フリップフロップの構成を模式的に示す図である。
一般フリップフロップ１６は、１ビット（bit）のデータが設定データとして設定されるものであって、図３に示すように、データ入力端子Ｄ，クロック信号入力端子ＣＫ，シフトデータ入力端子ＳＩ，スキャンクロック信号入力端子ＳＣＫ，データ出力端子ＳＬおよびリセット信号入力端子ＣＬをそなえて構成されている。【００４２】
データ入力端子Ｄには、論理回路１１ａからのデータが設定データとして入力されるようになっており、クロック信号入力端子ＣＫには、設定データを設定する（取り込む）ためのクロック信号が入力（印加）されるようになっている。
そして、一般フリップフロップ１６においては、クロック信号がクロック信号入力端子ＣＫに入力される都度、論理回路１１ａからの１ビットのデータがデータ入力端子Ｄを介して設定データとして設定されるようになっている。【００４３】
この一般フリップフロップ１６のシフトデータ入力端子ＳＩには、スキャンチェーン１２における前段の順序回路１３からのデータが入力されるようになっており、スキャンクロック信号入力端子ＳＣＫには、スキャンテスト時にスキャンチェーン１２においてシフト動作を行なうためのスキャンクロック信号が入力（印加）されるようになっている。
ここで、シフト動作とは、スキャンチェーン１２において、ＳＩピン１４からシフトデータが１ビット単位で順次入力（シフトイン）されて、複数の順序回路１３のそれぞれに設定された設定データをＳＯピン１５から１ビット単位で順次出力（シフトアウト）することをいう。【００４４】
データ出力端子ＳＬは、設定された設定データを、論理回路１１ｂやスキャンチェーン１２における次段の順序回路１３に出力するようになっている。
そして、一般フリップフロップ１６は、スキャンクロック信号がスキャンクロック信号入力端子ＳＣＫに入力される都度、１ビットのデータをシフトデータ入力端子ＳＩから取り込むとともに、内部に設定された１ビットの設定データをデータ出力端子ＳＬから次段の順序回路１３に出力するシフト動作を行なうようになっている。【００４５】
リセット信号入力端子ＣＬには、内部情報をリセットするためのリセット信号が入力（印加）されるようになっている。
従って、一般フリップフロップ１６は、クロック信号が入力されると、論理回路１１ａからの１ビットのデータが設定データとして設定され、又、スキャンクロック信号が入力されると、スキャンチェーン１２において１ビットのシフト動作を行ない、更に、リセット信号が入力されると、一般フリップフロップ１６の内部情報がリセットされる。【００４６】
マクロ１７は、複数ビットのデータが設定データとして設定されるものであって、例えば、複数のフリップフロップをそなえ、スキャン可能に構成されている。
本実施形態においては、図２に示すように、第一のマクロ１７ａには、５ビットのデータが設定データとして設定され、又、第二のマクロ１７ｂには、３ビットのデータが設定データとして設定されるようになっている。【００４７】
また、マクロ１７は、図２に示すように、シフトデータ入力端子ＳＩおよびデータ出力端子ＳＬをそなえて構成されている。
このマクロ１７のシフトデータ入力端子ＳＩには、スキャンチェーン１２における前段の順序回路１３からのデータが１ビット単位で入力されるようになっている。
マクロ１７のデータ出力端子ＳＬは、設定された設定データを、論理回路１１ｂやスキャンチェーン１２における次段の順序回路１３に１ビット単位で出力するようになっている。【００４８】
なお、マクロ１７は、上述したシフトデータ入力端子ＳＩおよびデータ出力端子ＳＬの他に、データ入力端子Ｄ，クロック信号入力端子ＣＫ，スキャンクロック信号入力端子ＳＣＫ，リセット信号入力端子ＣＬ等もそなえて構成されているが、上述した一般フリップフロップ１６と同様の機能構成であり、既知の技術であるので、便宜上、これらの図示を省略するとともに、その説明についても省略するものとする。【００４９】
従って、マクロ１７は、クロック信号が入力されると、論理回路１１ａからの複数ビット（例えば、マクロ１７ａでは５ビット）のデータが設定データとして設定され、又、スキャンクロック信号が入力されると、スキャンチェーン１２において１ビットのシフト動作を行ない、更に、リセット信号が入力されると、マクロ１７の内部情報がリセットされる。【００５０】
図４は本発明の一実施形態としての集積回路における調査用フリップフロップの構成例を模式的に示す図である。
調査用フリップフロップ１８は、１ビットのデータが設定データとして設定されるフリップフロップであって、本実施形態においては、スキャンチェーン１２における不良箇所を特定するための専用のものである。そして、調査用フリップフロップ１８は、論理回路１１ａ，１１ｂに接続されておらず、集積回路１０の通常動作時には機能しないようになっている。【００５１】
この調査用フリップフロップ（図中“ＴＦＦ”と表記）１８は、図４に示すように、データ入力端子Ｄ，データ出力端子ＳＬ，クロック信号入力端子ＣＫ，シフトデータ入力端子ＳＩ，スキャンクロック信号入力端子ＳＣＫおよびリセット信号入力端子ＣＬをそなえて構成されている。
データ入力端子Ｄには、後述する設定部２２からのデータが入力されるようになっており、データ出力端子ＳＬは、設定された設定データを、スキャンチェーン１２における次段の順序回路１３に出力するようになっている。【００５２】
なお、クロック信号入力端子ＣＫ，シフトデータ入力端子ＳＩ，スキャンクロック信号入力端子ＳＣＫおよびリセット信号入力端子ＣＬについては、上述した一般フリップフロップ１６と同様の機能構成であるので、その詳細な説明を省略する。
従って、調査用フリップフロップ１８は、クロック信号が入力されると、後述する設定部２２からの１ビットのデータが設定データとして設定され、又、スキャンクロック信号が入力されると、スキャンチェーン１２において１ビットのシフト動作を行ない、更に、リセット信号が入力されると、調査用フリップフロップ１８の内部情報がリセットされる。【００５３】
そして、スキャンチェーン１２は、ＳＩピン１４からシフトデータがシフトインされてシフト動作を行なうことにより、出力データ列Ｄ２をＳＯピン１５から出力するようになっている。なお、出力データ列Ｄ２の具体例については後述する。
次に、本発明の一実施形態としての不良箇所特定装置２０について説明する。
本発明の一実施形態に係る不良箇所特定装置２０は、上述の如く構成された集積回路１０におけるスキャンチェーン１２の不良箇所を特定するものであって、図１に示すように、リセット部２１，設定部２２，入力部２３および不良箇所特定部（特定部）２４をそなえて構成されている。【００５４】
図５は本発明の一実施形態としての不良箇所特定装置におけるリセット部によりリセットされたスキャンチェーンの状態を示す図である。
リセット部２１は、順序回路１３のリセットを行なうものであって、例えば、図１に示すように、スキャンテスト開始時に、スキャンチェーン１２を構成する全ての順序回路１３に対してリセット信号を出力するようになっている。【００５５】
図５に示す例では、リセット部２１は、スキャンチェーン１２を構成する全ての順序回路１３に対してリセット信号（High）を入力することにより、第一の一般フリップフロップ１６ａ，第一の調査用フリップフロップ１８ａ，第二の調査用フリップフロップ１８ｂ，第三の調査用フリップフロップ１８ｃおよび第二の一般フリップフロップ１６ｂのそれぞれに“０”の値を設定し、又、第一のマクロ１７ａに“ＸＸＸＸＸ”を初期値として設定し、更に、第二のマクロ１７ｂに“ＸＸＸ”を初期値として設定する。【００５６】
なお、以下、“Ｘ”は、論理回路１１ａから入力される“０”または“１”の任意の値である。
図６は本発明の一実施形態としての不良箇所特定装置における設定部により設定データが設定されたスキャンチェーンの状態を示す図である。
設定部２２は、調査用フリップフロップ１８に予め規定した値を設定データとして設定するものであって、本実施形態においては、クロック信号が調査用フリップフロップ１８に入力されると、スキャンチェーン１２を構成する全ての調査用フリップフロップ１８に対して“１”を予め規定した値として設定するようになっている。【００５７】
図６に示す例では、設定部２２は、第一の調査用フリップフロップ１８ａ，第二の調査用フリップフロップ１８ｂおよび第三の調査用フリップフロップ１８ｃのそれぞれに対して“１”を設定データとして設定するようになっている。
具体的には、設定部２２は、例えば、各調査用フリップフロップ１８に“High”を供給する回路として構成され、調査用フリップフロップ１８は、クロック信号が調査用フリップフロップ１８に入力されると、“１”を予め規定した値として取り込むようになっている。【００５８】
また、クロック信号は、スキャンチェーン１２を構成する全ての順序回路１３に同期して入力されるようになっている。
従って、スキャンチェーン１２を構成する全ての順序回路１３にクロック信号が同期して入力されると、図６に示すように、第一の調査用フリップフロップ１８ａ，第二の調査用フリップフロップ１８ｂおよび第三の調査用フリップフロップ１８ｃのそれぞれには、“１”が設定データとして設定され、又、第一の一般フリップフロップ１６ａおよび第二の一般フリップフロップ１６ｂのそれぞれには、論理回路１１ａからのデータ“Ｘ”が設定データとして設定される。更に、第一のマクロ１７ａには論理回路１１ａからの５ビットのデータ“ＸＸＸＸＸ”が設定データとして設定され、第二のマクロ１７ｂには論理回路１１ａからの３ビットのデータ“ＸＸＸ”が設定データとして設定される。【００５９】
図７は本発明の一実施形態としての集積装置におけるスキャンチェーンが設定データをシフトアウトした状態を示す図である。
入力部２３は、図７に示すように、所定ビット数のシフトデータＤ１をスキャンチェーン１２にシフトインするものであって、スキャンクロック信号がスキャンチェーン１２を構成する全ての順序回路１３に同期して入力される都度、シフトデータＤ１を１ビット単位でＳＩピン１４から入力するようになっている。【００６０】
なお、シフトデータＤ１は、出力データ列Ｄ２と同じビット数をそなえていればよく、その値を任意に設定できる。
また、入力部２３は、例えば、複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数のシフトデータＤ１をシフトインするようになっている。【００６１】
即ち、本実施形態においては、第一の一般フリップフロップ１６ａ，第一の調査用フリップフロップ１８ａ，第一のマクロ１７ａ，第二の調査用フリップフロップ１８ｂ，第二のマクロ１７ｂ，第三の調査用フリップフロップ１８ｃおよび第二の一般フリップフロップ１６ｂのそれぞれに設定された設定データのビット数の総和が“１３”であるので、これらの複数の順序回路１３のそれぞれに対して、１３個のスキャンクロック信号が同期して入力される。【００６２】
これにより、スキャンチェーン１２は、１３ビットのシフト動作を行ない、ＳＯピン１５から１３ビットの出力データ列Ｄ２を出力するのである。
そして、図６に示すような設定データがスキャンチェーン１２を構成する全ての順序回路１３のそれぞれに設定された状態で、スキャンチェーン１２のＳＩピン１４にシフトデータＤ１がシフトインされた場合には、スキャンチェーン１２は、例えば、以下の値（ａ）〜（ｅ）のいずれかを出力データ列Ｄ２として出力する。【００６３】
“Ｘ１ＸＸＸ１ＸＸＸＸＸ１Ｘ”・・・（ａ）
“０００００００００００００”・・・（ｂ）
“Ｘ１ＸＸＸ００００００００”・・・（ｃ）
“Ｘ１ＸＸＸ１ＸＸＸＸＸ００”・・・（ｄ）
“Ｘ１ＸＸＸ１ＸＸＸＸＸ１０”・・・（ｅ）
なお、スキャンチェーン１２は、ＳＯピン１５側の順序回路１３の設定データから順にＳＩピン１４側の順序回路１３の設定データにかけてシフトアウトするので、出力データ列Ｄ２は、そのビット列の左から右にかけてＳＯピン１５から出力された順に示される。即ち、スキャンチェーン１２において最もＳＯピン１５側に配置された一般フリップフロップ１６ｂの設定データが出力データ列Ｄ２の左端に示されるのである。【００６４】
従って、入力部２３が、複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数のシフトデータＤ１をスキャンチェーン１２にシフトインすることにより、スキャンチェーン１２は、複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数の出力データ列Ｄ２を出力する。
不良箇所特定部２４は、スキャンチェーン１２における不良箇所を特定するものであって、設定部２２によって調査用フリップフロップ１８に予め規定した値が設定データとして設定されたスキャンチェーン１２からの出力データ列Ｄ２と、スキャンチェーン１２における調査用フリップフロップ１８の位置とに基づいて、スキャンチェーン１２における不良箇所を特定するようになっており、本実施形態においては、設定部２２によって調査用フリップフロップ１８に予め規定した値が設定データとして設定されたスキャンチェーン１２からの出力データ列Ｄ２を期待値と比較することにより、スキャンチェーン１２における不良箇所を特定するようになっている。【００６５】
ここで、期待値とは、設定部２２および論理回路１１ａからスキャンチェーン１２に設定された設定データが、スキャンチェーン１２から出力された場合に期待される値である。
具体的には、図６および図７においては、期待値が“Ｘ１ＸＸＸ１ＸＸＸＸＸ１Ｘ”であるのに対し、出力データ列Ｄ２の実測値が上記値（ａ）である場合には、不良箇所特定部２４は、期待値と出力データ列Ｄ２が一致するので、スキャンチェーン１２は正常であると判定する。【００６６】
また、出力データ列Ｄ２の実測値が上記値（ｂ）〜（ｃ）のいずれかである場合には、不良箇所特定部２４は、期待値と出力データ列Ｄ２が異なるので、スキャンテストがフェイル（Fail）した状態であると判定する。即ち、不良箇所特定部２４は、スキャンチェーン１２を構成する複数の順序回路１３のいずれかが故障し、動作不良が生じていると判断するのである。【００６７】
そして、不良箇所特定部２４は、スキャンテストがフェイルした状態であると判定した場合には、出力データ列Ｄ２と、スキャンチェーン１２における調査用フリップフロップ１８の位置とに基づいて、スキャンチェーン１２における不良箇所を特定する。
具体的には、不良箇所特定部２４は、期待値における調査用フリップフロップ１８に対応するビットと、出力データ列Ｄ２における調査用フリップフロップ１８に対応するビットとを比較し、相違するビットに対応する調査用フリップフロップ１８の下流側において隣接する順序回路１３を不良箇所と判定する。【００６８】
例えば、出力データ列Ｄ２が上記値（ｂ）である場合には、不良箇所特定部２４は、上記値（ｂ）における左から２番目のビットの値が“０”であるので、第三の調査用フリップフロップ１８ｃに設定されていた設定データ“１”が正しく出力されていないものと判定し、これにより、第二の一般フリップフロップ１６ｂを不良箇所として特定するとともに、第二の一般フリップフロップ１６ｂが“０”で固定（“Low”固定）される故障状態であると判定する。【００６９】
また、出力データ列Ｄ２が例えば上記値（ｃ）である場合には、不良箇所特定部２４は、上記値（ｃ）における左から２番目のビットの値が“１”であるが、上記値（ｃ）における左から６番目のビットの値が“０”であるので、第二の調査用フリップフロップ１８ｂに設定されていた設定データ“１”が正しく出力されていないものと判定し、これにより、第二のマクロ１７ｂを不良箇所として特定するとともに、第二のマクロ１７ｂが“０”で固定される故障状態であると判定する。【００７０】
さらに、出力データ列Ｄ２が例えば上記値（ｄ）である場合には、不良箇所特定部２４は、上記値（ｄ）における左から２，６番目のビットの値が“１”であるが、上記値（ｄ）における左から１２番目のビットの値が“０”であるので、第一の調査用フリップフロップ１８ａに設定されていた設定データ“１”が正しく出力されていないものと判定し、これにより、第一のマクロ１７ａを不良箇所として特定するとともに、第一のマクロ１７ａが“０”で固定される故障状態であると判定する。【００７１】
また、出力データ列Ｄ２が例えば上記値（ｅ）である場合には、不良箇所特定部２４は、上記値（ｅ）における左から２，６，１２番目のビットの値が“１”であるが、上記値（ｅ）における左から１３番目のビットの値が“０”であるので、第一の一般フリップフロップ１６ａに設定されていた設定データ“Ｘ”が正しく出力されていないものと判定し、これにより、第一の一般フリップフロップ１６ａを不良箇所として特定するとともに、第一の一般フリップフロップ１６ａが“０”で固定される故障状態であると判定する。【００７２】
上述の如く構成された本発明の一実施形態に係る不良箇所特定装置２０において、スキャンチェーン１２の不良箇所の特定手順を、図５〜図７を参照しながら、図８に示すフローチャート（ステップＡ１１〜Ａ１５）に従って説明する。
先ず、リセット部２１は、スキャンテスト開始時にリセット信号を出力し、スキャンチェーン１２を構成する全ての順序回路１３のリセットを行なう（ステップＡ１１；リセットステップ、図５参照）。【００７３】
次に、複数の順序回路１３のそれぞれがリセットされた状態で、複数の順序回路１３のそれぞれに対して、クロック信号が同期して入力されると、設定部２２は、スキャンチェーン１２を構成する全ての調査用フリップフロップ１８に対して予め規定した値“１”を設定データとして設定する（ステップＡ１２；設定ステップ）。この際、複数の順序回路１３のそれぞれに対してクロック信号が同期して入力されることにより、第一の一般フリップフロップ１６ａ，第一のマクロ１７ａ，第二のマクロ１７ｂおよび第二の一般フリップフロップ１６ｂのそれぞれには、論理回路１１ａからのデータが設定データとして設定される（図６参照）。【００７４】
そして、入力部２３が、シフトデータＤ１をスキャンチェーン１２にシフトインする（ステップＡ１３）。スキャンチェーン１２は、スキャンクロック信号が調査用フリップフロップ１８に入力される都度、シフト動作を行ない、シフトデータＤ１と同じビット数の出力データ列Ｄ２をスキャンチェーン１２から出力する（ステップＡ１４；出力ステップ、図７参照）。【００７５】
不良箇所特定部２４は、スキャンチェーン１２から出力された出力データ列Ｄ２と、スキャンチェーン１２における調査用フリップフロップ１８の位置とに基づいて、スキャンチェーン１２における不良箇所を特定する（ステップＡ１５；特定ステップ）。
このように、本発明の一実施形態としての集積装置１０および不良箇所特定装置２０によれば、調査用フリップフロップ１８に“１”を予め規定した値として設定し、スキャンチェーン１２からシフトアウトして得られた出力データ列Ｄ２と、調査用フリップフロップ１８の位置とに基づいて不良箇所を特定するので、スキャンチェーン１２が正常に動作しているか否かを判別することができるだけでなく、スキャンチェーン１２を構成する複数の順序回路１３における“Low”固定の不良箇所を容易かつ短時間で特定することができる。【００７６】
また、期待値における調査用フリップフロップ１８に対応するビットと、出力データ列Ｄ２における調査用フリップフロップ１８に対応するビットとを比較し、相違するビットに対応する調査用フリップフロップ１８の下流側において隣接する順序回路１３を不良箇所と判定することにより、スキャンチェーン１２の不良箇所を容易に特定することができる。【００７７】
さらに、スキャンチェーン１２を構成する複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数の出力データ列Ｄ２に基づいて不良箇所を特定することにより、スキャンチェーン１２の不良箇所をより容易に特定することができる。
また、集積回路１０の通常動作には機能しない調査用フリップフロップ１８を集積回路１０にそなえることにより、スキャンチェーン１２における故障の原因を解明したり改善したりする場合に、時間およびコスト面において有効である。【００７８】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、調査用フリップフロップ１８に対して“１”を予め規定した値として設定する場合を例に説明しているが、それに限定されるものではなく、調査用フリップフロップ１８に対して“０”を予め規定した値として設定してもよく、更に、予め規定した値として“１”および“０”のいずれかを選択的に設定可能にしてもよい。【００７９】
予め規定した値として“０”を調査用フリップフロップ１８に設定する場合には、例えば、リセット部２１がスキャンチェーン１２のリセットを行なうことにより、調査用フリップフロップ１８に対して“０”を予め規定した値として設定することができる。
そして、スキャンチェーン１２は、リセット部２１によってリセットが行なわれた状態でシフトデータＤ１が入力されると、以下の値（ｆ）〜（ｊ）のいずれかを出力データ列Ｄ２として出力する。【００８０】
“００ＸＸＸ０ＸＸＸＸＸ００”・・・（ｆ）
“１１１１１１１１１１１１１”・・・（ｇ）
“００ＸＸＸ０ＸＸＸＸＸ１１”・・・（ｈ）
“００ＸＸＸ０ＸＸＸＸＸ１１”・・・（ｉ）
“００ＸＸＸ０ＸＸＸＸＸ０１”・・・（ｊ）
また、不良箇所特定部２４は、出力データ列Ｄ２を期待値と比較することにより、スキャンチェーン１２における不良箇所を特定する。【００８１】
具体的には、期待値が“００ＸＸＸ０ＸＸＸＸＸ００”であるのに対し、出力データ列Ｄ２の実測値が上記値（ｆ）である場合には、不良箇所特定部２４は、期待値と出力データ列Ｄ２が一致するので、スキャンチェーン１２は正常であると判定する。
また、出力データ列Ｄ２の実測値が上記値（ｇ）〜（ｊ）のいずれかである場合には、不良箇所特定部２４は、期待値と出力データ列Ｄ２が異なるので、スキャンテストがフェイルした状態であると判定する。【００８２】
そして、不良箇所特定部２４は、スキャンテストがフェイルした状態であると判定した場合には、出力データ列Ｄ２と、スキャンチェーン１２における調査用フリップフロップ１８の位置とに基づいて、スキャンチェーン１２における不良箇所を特定する。
具体的には、例えば、出力データ列Ｄ２が上記値（ｇ）である場合には、不良箇所特定部２４は、上記値（ｇ）における左から２番目のビットの値が“１”であるので、第三の調査用フリップフロップ１８ｃに設定されていた設定データ“０”が正しく出力されていないものと判定し、これにより、第二の一般フリップフロップ１６ｂを不良箇所として特定するとともに、第二の一般フリップフロップ１６ｂが“１”で固定（“High”固定）される故障状態であると判定する（図７参照）。【００８３】
また、出力データ列Ｄ２が例えば上記値（ｈ）である場合には、不良箇所特定部２４は、上記値（ｈ）における左から２番目のビットの値が“０”であるが、上記値（ｈ）における左から６番目のビットの値が“１”であるので、第二の調査用フリップフロップ１８ｂに設定されていた設定データ“０”が正しく出力されていないものと判定し、これにより、第二のマクロ１７ｂを不良箇所として特定するとともに、第二のマクロ１７ｂが“１”で固定される故障状態であると判定する（図７参照）。【００８４】
さらに、出力データ列Ｄ２が例えば上記値（ｉ）である場合には、不良箇所特定部２４は、上記値（ｉ）における左から２，６番目のビットの値が“０”であるが、上記値（ｉ）における左から１２番目のビットの値が“１”であるので、第一の調査用フリップフロップ１８ａに設定されていた設定データ“０”が正しく出力されていないものと判定し、これにより、第一のマクロ１７ａを不良箇所として特定するとともに、第一のマクロ１７ａが“１”で固定される故障状態であると判定する（図７参照）。【００８５】
また、出力データ列Ｄ２が例えば上記値（ｊ）である場合には、不良箇所特定部２４は、上記値（ｊ）における左から２，６，１２番目のビットの値が“０”であるが、上記値（ｊ）における左から１３番目のビットの値が“１”であるので、第一の一般フリップフロップ１６ａに設定されていた設定データ“Ｘ”が正しく出力されていないものと判定し、これにより、第一の一般フリップフロップ１６ａを不良箇所として特定するとともに、第一の一般フリップフロップ１６ａが“１”で固定される故障状態であると判定する（図７参照）。【００８６】
このように、本発明の一実施形態の変形例としての集積装置１０および不良箇所特定装置２０によれば、上述した実施形態と同様の作用効果を得ることができる他、調査用フリップフロップ１８をリセットすることにより、調査用フリップフロップ１８に“０”を予め規定した値として設定することができるので、スキャンチェーン１２を構成する複数の順序回路１３における“High”固定の不良箇所を容易に特定することができる。【００８７】
また、予め規定した値として“１”および“０”のいずれかの値を選択的に設定可能にすることにより、“Low”固定および“High”固定の両方の不良箇所を容易かつ短時間で調査することができる。
なお、上述した実施形態では、予め規定した値を調査用フリップフロップ１８に設定した場合を例に説明しているが、それに限定されるものではなく、例えば、集積回路１０に調査用フリップフロップ１８をそなえずに、予め規定した値を一般フリップフロップ１６やマクロ１７に設定してもよい。【００８８】
また、上述した実施形態では、リセット部２１，設定部２２，入力部２３，不良箇所特定部２４を集積回路１０の外部にそなえているが、それに限定されるものではなく、リセット部２１，設定部２２，入力部２３，不良箇所特定部２４を集積回路１０のいずれかを集積回路１０の内部にそなえてもよい。
さらに、上述した実施形態では、調査用フリップフロップ１８と通常機能回路とを交互に連結してスキャンチェーン１２を構成しているが、それに限定されるものではなく、必要な位置にだけに調査用フリップフロップ１８を設けてもよい。【００８９】
また、上述した実施形態では、出力データ列Ｄ２が複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数である場合を例に説明しているが、それに限定されるものではなく、例えば、スキャンチェーン１２における不良箇所を特定可能なビット数の出力データ列Ｄ２であってもよい。
なお、本発明の実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
【産業上の利用可能性】
【００９０】
スキャンチェーンを構成する複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を設定可能な種々の集積回路に適用できる。
【図１】
2008120362.tif 000003
【図２】
2008120362.tif 000004
【図３】
2008120362.tif 000005
【図４】
2008120362.tif 000006
【図５】
2008120362.tif 000007
【図６】
2008120362.tif 000008
【図７】
2008120362.tif 000009
【図８】
2008120362.tif 000010
【図９】
2008120362.tif 000011
【図１０】
2008120362.tif 000012
【図１１】
2008120362.tif 000013
【図１２】
2008120362.tif 000014
【図１３】
2008120362.tif 000015
【図１４】
2008120362.tif 000016
【手続補正書】
【提出日】平成21年7月16日(2009.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定装置であって、
該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定する設定部と、
該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定する特定部とをそなえることを特徴とする、不良箇所特定装置。
【請求項２】
該特定部が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列に基づいて、該スキャンチェーンにおける不良箇所を特定することを特徴とする、請求項１に記載の不良箇所特定装置。
【請求項３】
該複数の順序回路のリセットを行なうリセット部をそなえ、
該設定部が、該リセット部によってリセットされた該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定することを特徴とする、請求項１または請求項２に記載の不良箇所特定装置。
【請求項４】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定方法であって、
該複数の順序回路のうち少なくとも一つの順序回路に、予め規定した値を該設定データとして設定するステップと、
該スキャンチェーンをシフトアウトすることにより出力データ列を出力するステップと、
該出力データ列を出力するステップにおいて出力された該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定するステップとをそなえることを特徴とする、不良箇所特定方法。
【請求項５】
該出力データ列を出力するステップにおいて、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列を出力することを特徴とする、請求項４に記載の不良箇所特定方法。
【請求項６】
該予め規定した値を該設定データとして設定するステップに先立って、該複数の順序回路のリセットを行なうステップをそなえることを特徴とする、請求項４または請求項５に記載の不良箇所特定方法。
【請求項７】
複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路であって、
該複数の順序回路のうちの少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための不良箇所特定回路であることを特徴とする、集積回路。
【請求項８】
スキャンテスト時には、該不良箇所特定回路に予め規定した値が該設定データとして設定されることを特徴とする、請求項７に記載の集積回路。
【請求項９】
該不良箇所特定回路は、該スキャンチェーンにおける不良箇所を特定するための専用のものであることを特徴とする、請求項７または請求項８に記載の集積回路。
【請求項１０】
該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、請求項７〜９のいずれか１項に記載の集積回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
また、出力データ列Ｄ２の実測値が上記値（ｂ）〜（ｅ）のいずれかである場合には、不良箇所特定部２４は、期待値と出力データ列Ｄ２が異なるので、スキャンテストがフェイル（Fail）した状態であると判定する。即ち、不良箇所特定部２４は、スキャンチェーン１２を構成する複数の順序回路１３のいずれかが故障し、動作不良が生じていると判断するのである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
また、上述した実施形態では、出力データ列Ｄ２が複数の順序回路１３のそれぞれに設定された設定データのビット数の総和と同じビット数である場合を例に説明しているが、それに限定されるものではなく、例えば、スキャンチェーン１２における不良箇所を特定可能なビット数の出力データ列Ｄ２であってもよい。
なお、本発明の実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
そして、本発明は、以下に示すように要約することができる。
（付記１）  複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定装置であって、
該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定する設定部と、
該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定する特定部とをそなえることを特徴とする、不良箇所特定装置。
（付記２）  該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることを特徴とする、付記１に記載の不良箇所特定装置。
（付記３）  該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、付記２に記載の不良箇所特定装置。
（付記４）  該特定部が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列に基づいて、該スキャンチェーンにおける不良箇所を特定することを特徴とする、付記１〜３のいずれか１つに記載の不良箇所特定装置。
（付記５）  該複数の順序回路のリセットを行なうリセット部をそなえ、
該設定部が、該リセット部によってリセットされた該複数の順序回路のうち少なくとも一つの順序回路に予め規定した値を該設定データとして設定することを特徴とする、付記１〜４のいずれか１つに記載の不良箇所特定装置。
（付記６）  該特定部は、該設定部によって該少なくとも一つの順序回路に該予め規定した値が該設定データとして設定された該スキャンチェーンからの該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定することを特徴とする、付記１〜５のいずれか１つに記載の不良箇所特定装置。
（付記７）  複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路の不良箇所を特定する不良箇所特定方法であって、
該複数の順序回路のうち少なくとも一つの順序回路に、予め規定した値を該設定データとして設定するステップと、
該スキャンチェーンをシフトアウトすることにより出力データ列を出力するステップと、
該出力データ列を出力するステップにおいて出力された該出力データ列と、該スキャンチェーンにおける該少なくとも一つの順序回路の位置とに基づいて、該スキャンチェーンにおける不良箇所を特定するステップとをそなえることを特徴とする、不良箇所特定方法。
（付記８）  該少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための専用の不良箇所特定回路であることを特徴とする、付記７に記載の不良箇所特定方法。
（付記９）  該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、付記８に記載の不良箇所特定方法。
（付記１０）  該出力データ列を出力するステップにおいて、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数の該出力データ列を出力することを特徴とする、付記７〜９のいずれか１つに記載の不良箇所特定方法。
（付記１１）  該予め規定した値を該設定データとして設定するステップに先立って、該複数の順序回路のリセットを行なうステップをそなえることを特徴とする、付記７〜１０のいずれか１つに記載の不良箇所特定方法。
（付記１２）  該スキャンチェーンにおける不良箇所を特定するステップにおいて、該出力データ列を出力するステップにおいて出力された該出力データ列を期待値と比較することにより、該スキャンチェーンにおける不良箇所を特定することを特徴とする、付記７〜１１のいずれか１つに記載の不良箇所特定方法。
（付記１３）  複数の順序回路を連結してなり、該複数の順序回路のそれぞれに設定された設定データをシフトアウトすることにより出力データ列を出力するスキャンチェーンをそなえた集積回路であって、
該複数の順序回路のうちの少なくとも一つの順序回路が、該スキャンチェーンにおける不良箇所を特定するための不良箇所特定回路であることを特徴とする、集積回路。
（付記１４）  スキャンテスト時には、該不良箇所特定回路に予め規定した値が該設定データとして設定されることを特徴とする、付記１３に記載の集積回路。
（付記１５）  該不良箇所特定回路は、該スキャンチェーンにおける不良箇所を特定するための専用のものであることを特徴とする、付記１３または付記１４に記載の集積回路。
（付記１６）  該不良箇所特定回路以外の該順序回路は、当該集積回路の通常動作時に機能する通常機能回路であり、
該不良箇所特定回路が、該スキャンチェーンにおいて隣り合う該通常機能回路の間に配置されていることを特徴とする、付記１３〜１５のいずれか１つに記載の集積回路。
（付記１７）  該出力データ列が、該複数の順序回路のそれぞれに設定された該設定データのビット数の総和と同じビット数で構成されることを特徴とする、付記１３〜１６のいずれか１つに記載の集積回路。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2008120362.tif 000017
【国際調査報告】
2008120362.tif 000018
2008120362.tif 000019