(57)【要約】【課題】スキャンパス上に故障があった場合にも、ロジックＢＩＳＴでの検査を可能にするための回路を提供する。また、この回路を用いてロジックＢＩＳＴでの故障診断を容易にする手法を提供する。【解決手段】スキャンＦＦのシリアル接続で構成される部分スキャンパスとセレクタとが交互に接続されて形成されるスキャンパスに対して、部分スキャンパス選択情報を与え、特定の部分スキャンパスをバイパスしてスキャンパターンを印加することと、バイパスされた部分スキャンパスを構成するスキャンＦＦからの不定値がスキャンテスト対象の組合せ回路に伝搬しないように、スキャンＦＦの状態をロックする。また部分スキャンパスを利用して、特定の回路ブロックのみのテストを行うことにより故障回路ブロックの特定を行う。また、スキャンアウト時に特定のスキャンＦＦの値のみＭＩＳＲに伝搬されるように制御する。【選択図】  図５
2005017067.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路をテストするためのスキャンパスと、スキャンテスト対象となる組合せ回路と、前記スキャンパスにテストパターンを供給するパターン発生回路と、前記スキャンパスからの出力応答を圧縮する出力圧縮回路とを備えた自己テスト回路内蔵の半導体集積回路であって、前記スキャンパスは、１つ以上のスキャンＦＦがシリアルに接続されて構成される部分スキャンパスとセレクタとが交互に接続されて形成されていて、前記セレクタの選択信号として与えられる部分スキャンパス選択情報によって、前記スキャンパスのスキャンイン側から数えて１つ以上の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項２】
半導体集積回路をテストするためのスキャンパスと、スキャンテスト対象となる組合せ回路と、前記スキャンパスにテストパターンを供給するパターン発生回路と、前記スキャンパスからの出力応答を圧縮する出力圧縮回路とを備えた自己テスト回路内蔵の半導体集積回路であって、前記スキャンパスは、１つ以上のスキャンＦＦがシリアルに接続されて構成される部分スキャンパスがシリアルに接続され、最終段にセレクタが接続されて形成されていて、前記セレクタの選択信号として与えられる部分スキャンパス選択情報によって、前記スキャンパスのスキャンアウト側から数えて１つ以上の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項３】
半導体集積回路をテストするためのスキャンパスと、スキャンテスト対象となる組合せ回路と、前記スキャンパスにテストパターンを供給するパターン発生回路と、前記スキャンパスからの出力応答を圧縮する出力圧縮回路とを備えた自己テスト回路内蔵の半導体集積回路であって、前記スキャンパスは、１つ以上のスキャンＦＦがシリアルに接続されて構成される部分スキャンパスとセレクタとが交互に接続されて形成されていて、前記セレクタの選択信号として与えられる部分スキャンパス選択情報によって、任意の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項４】
請求項１から請求項３までのいずれかに記載の自己テスト回路内蔵の半導体集積回路において、スキャンパターン印加対象からバイパスされた前記部分スキャンパスを構成するスキャンＦＦから不定値が前記スキャンテスト対象の組合せ回路に伝搬しないように、前記バイパスされた部分スキャンパスのスキャンＦＦのリセットまたはセットが解除されないように構成されていることを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項５】
請求項１から請求項３までのいずれかに記載の自己テスト回路内蔵の半導体集積回路において、スキャンパターン印加対象からバイパスされた前記部分スキャンパスを構成するスキャンＦＦから不定値が前記スキャンテスト対象の組合せ回路に伝搬しないように、前記バイパスされた部分スキャンパスのスキャンＦＦのデータ出力が固定されるように構成されていることを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項６】
請求項１から請求項５までのいずれかに記載の自己テスト回路内蔵の半導体集積回路において、選択された時刻において前記スキャンパスから前記出力圧縮回路への信号を通過させ、それ以外の時刻においてはスキャンパスから前記出力圧縮回路への信号をマスクする機能を有するマスク回路を内蔵し、自己テスト中に特定のスキャンＦＦへ伝搬してきた故障の影響のみを前記出力圧縮回路へ伝搬させる手段を有することを特徴とする自己テスト回路内蔵の半導体集積回路。
【請求項７】
請求項１から請求項６までのいずれかに記載の自己テスト回路内蔵の半導体集積回路の故障診断方法であって、
部分スキャンパスを選択するステップ（ａ）と、
前記ステップ（ａ）によって選択した部分スキャンパス以外の部分スキャンパスをスキャンパス上からバイパスして自己テストを実行するステップ（ｂ）と、
前記ステップ（ａ）で全ての部分スキャンパスが選択されているかを判定するステップ（ｃ）とで構成され、
前記ステップ（ａ）の後に前記ステップ（ｂ）を実行し、前記ステップ（ｂ）の後は、前記ステップ（ｂ）のテスト結果が成功の場合、前記ステップ（ｃ）を実行し、前記ステップ（ｂ）のテスト結果が失敗の場合、故障箇所を含む回路ブロックを特定することを特徴とする自己テスト回路内蔵の半導体集積回路の故障診断方法。
【請求項８】
請求項１から請求項６までのいずれかに記載の自己テスト回路内蔵の半導体集積回路の故障診断方法であって、
回路内の複数の部分スキャンパスを２つのグループＡとグループＢに分割するステップ（ａ）と、
グループＡに含まれる部分スキャンパスをスキャンパス上からバイパスして組み込み自己テストを実行するステップ（ｂ）と、
グループＢに２つ以上の部分スキャンパスが含まれるかどうかを判定するステップ（ｃ）と、
グループＢに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割するステップ（ｄ）と、
グループＡに２つ以上の部分スキャンパスが含まれるかどうかを判定するステップ（ｅ）と、
グループＡに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割するステップ（ｆ）と、
グループＡに含まれる部分スキャンパスを除いた全ての部分スキャンパスをスキャンパス上からバイパスして自己テストを行うステップ（ｇ）とで構成され、
まず前記ステップ（ａ）を実行し、その後、前記ステップ（ｂ）を実行し、前記ステップ（ｂ）のテスト結果が失敗の場合、その後、前記ステップ（ｃ）を実行し、前記ステップ（ｂ）のテスト結果が成功の場合、その後、前記ステップ（ｅ）を実行し、前記ステップ（ｃ）の判定結果が肯定的の場合、前記ステップ（ｄ）を続いて実行し、前記ステップ（ｃ）の判定結果が否定的の場合、故障回路ブロックを特定し、前記ステップ（ｅ）の判定結果が肯定的の場合、前記ステップ（ｆ）を続いて実行し、前記ステップ（ｅ）の判定結果が否定的の場合、続けて前記ステップ（ｇ）を実行し、前記ステップ（ｇ）のテスト結果が失敗の場合、故障回路ブロックを特定することを特徴とする自己テスト回路内蔵の半導体集積回路の故障診断方法。
【請求項９】
請求項６に記載の自己テスト回路内蔵の半導体集積回路に対して、請求項７または請求項８に記載の方法を適用する故障診断方法において、
マスク解除を行う時刻を選択するステップ（ｄ）と、
前記ステップ（ｄ）で選択したマスク解除時刻のみスキャンパスからの信号を出力圧縮回路へ通過させるようにして、診断モード信号をＯＮにして組み込み自己テストを実行するステップ（ｅ）と、
前記ステップ（ｅ）で選択し得る全ての時刻でマスク解除を行ったかを判定するステップ（ｆ）が付加され、
故障回路ブロック特定後に、前記ステップ（ｄ）を実行し、前記ステップ（ｄ）の後には前記ステップ（ｅ）を実行し、前記ステップ（ｅ）の後には前記ステップ（ｅ）のテスト結果が成功の場合、ステップ（ｆ）を実行し、前記ステップ（ｅ）のテスト結果が失敗の場合、故障を検出したスキャンＦＦを特定することを特徴とする自己テスト回路内蔵の半導体集積回路の故障診断方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は自己テスト回路内蔵の半導体集積回路およびその故障診断方法に関するものである。
【０００２】
【従来の技術】
近年の大規模、高速化する半導体集積回路のテスト方式の１つに組み込み自己テスト（Ｂｕｉｌｔ−ＩｎＳｅｌｆ−Ｔｅｓｔ）方式がある（以下、ＢＩＳＴ方式と呼ぶ。）。ＢＩＳＴ方式では、デバイス内部に自己テスト用回路を組み込むことにより、テスト対象回路へ印加するテストパターンの生成や、テスト対象回路からの出力パターンの圧縮とその期待値の照合を簡便に行うことができる。ＢＩＳＴ方式は、システムＬＳＩのような異なる特性の回路をコアブロックとして複数搭載した大規模かつ高速な半導体集積回路のテストを高品質かつ低コストで最適に行うことのできる効果的な手段として注目を集め、広く用いられるようになってきている。
【０００３】
論理回路に対する組み込み自己テスト方式であるロジックＢＩＳＴの基本構成の大きな特徴として、擬似ランダムテストパターン発生回路であるＰＲＰＧとシグニチャー圧縮器であるＭＩＳＲがデバイス内部に組み込まれていることが挙げられる。
【０００４】
ＬＳＩテスタなどの外部装置からＢＩＳＴ起動信号、クロック信号等の制御信号を印加することで、デバイス内部に組み込まれたＰＲＰＧからテストパターンが発生され、テスト対象回路へ印加される。テスト対象回路からの出力パターンはＭＩＳＲへ入力され、シグニチャーに圧縮される。シグニチャーは外部装置を用いて読み出され、デバイスの良否判定に用いられる。
【０００５】
ロジックＢＩＳＴでは、デバイスの良否判定をテスト終了時のＭＩＳＲの状態に基づいて行う。ＭＩＳＲに不定値が伝搬した場合、その状態レジスタの値は全て不定値となり、検査に用いる期待値として使用不能になってしまうという問題がある。特許文献１に公開されている回路では、符号圧縮回路（ＭＩＳＲ）の手前にマスクゲートを配置し、これらをマスクレジスタで制御することで、この問題の解決を図っている。
【０００６】
図１０には、特許文献１に公開されている回路の基本構成例を示す。図１０の構成について説明する。１０１，１０２，１０３はスキャンパスである。１０４ａ，１０４ｂ，１０４ｃは自己テスト実行時にテスト対象としないスキャンパスに対するマスク情報を格納するマスクレジスタである。１０５はスキャンパスに対して入力系列を発生するパターン発生器である。１０６はスキャンパスからの出力応答を圧縮するための符号圧縮器である。１０７ａ，１０７ｂ，１０７ｃはスキャンパスから符号圧縮器への信号値をマスクするためのマスクゲートである。
【０００７】
マスクレジスタ１０４ａ，１０４ｂ，１０４ｃの出力はマスクゲート１０７ａ，１０７ｂ，１０７ｃに接続されており、マスクゲート１０７ａ，１０７ｂ，１０７ｃを制御する。このマスクゲート１０７ａ，１０７ｂ，１０７ｃは、スキャンパス１０１，１０２，１０３と符号圧縮器１０６の間に配置されているＯＲゲートであり、マスクレジスタ１０４ａ，１０４ｂ，１０４ｃの値が“１”の場合、スキャンパス１０１，１０２，１０３の値によらず、マスクゲート１０７ａ，１０７ｂ，１０７ｃの出力は“１”に固定され、符号圧縮器１０６にスキャンパス１０１，１０２，１０３からの信号は入力されない。
【０００８】
次に、マスクレジスタ１０４ａ，１０４ｂ，１０４ｃの状態とマスクゲート１０７ａ，１０７ｂ，１０７ｃによりどのようなテストが可能か説明する。マスクレジスタ１０４ａ，１０４ｂ，１０４ｃの値が全て“０”のとき、スキャンパス１０１，１０２，１０３のマスクは行われず、通常動作のＢＩＳＴが実行される。マスクレジスタ１０４ａの値が“１”のときは、スキャンパス１０１の値がマスクされる。マスクレジスタ１０４ｂの値が“１”のときは、スキャンパス１０２の値がマスクされる。マスクレジスタ１０４ｃの値が“１”のときは、スキャンパス１０３の値がマスクされる。これにより、特定のスキャンパスの動作が不安定で出力が不定値となる場合でも、正常に動作するスキャンパスのみを動作させてＢＩＳＴを実行することが可能である。
【０００９】
【特許文献１】
特開２００１−２４９１６４号公報（第４−５頁、第１図）
【００１０】
【発明が解決しようとする課題】
従来の技術で示した回路構成では、マスクされたスキャンパス上にある全てのＦＦ（フリップフロップ）についてその値を観測できなくなってしまうために、ＢＩＳＴで得られる故障検出率の値が著しく低下してしまう問題がある。
【００１１】
また、異なるスキャンパス間で信号の転送が生じる場合、出力圧縮回路（符号圧縮器）とスキャンパスの間にマスク回路を挿入しただけでは、動作が不安定になったスキャンパスの影響を完全に排除することができない。
【００１２】
本発明は、このような事情に鑑みて創作したものであり、あるスキャンパスに不具合が発生した場合でも、故障検出率をそれほど低下させずに自己テストすることができる自己テスト回路内蔵の半導体集積回路を提供することを目的としている。
【００１３】
また、自己テスト回路内蔵の半導体集積回路において故障診断を容易化できる故障診断方法を提供することを目的としている。
【００１４】
【課題を解決するための手段】
本発明は、半導体集積回路をテストするためのスキャンパスと、スキャンテスト対象となる組合せ回路と、前記スキャンパスにテストパターンを供給するパターン発生回路と、前記スキャンパスからの出力応答を圧縮する出力圧縮回路とを備えた自己テスト回路内蔵の半導体集積回路を前提とする。そして、本発明は、次のような手段を講じることにより、上記の課題を解決する。
【００１５】
第１の解決手段として、本発明による自己テスト回路内蔵の半導体集積回路では、まず、前記スキャンパスを次のように構成する。スキャンチェーンを複数の部分スキャンパスに分ける。各部分スキャンパスは、１つのスキャンＦＦで構成され、または２つ以上のスキャンＦＦをシリアルに接続して構成される。部分スキャンパスとセレクタとを交互に接続することでスキャンチェーンを構成する。部分スキャンパスとセレクタの組み合わせからなるモジュールにおいて、部分スキャンパスの出力をセレクタの１入力とする。セレクタの他の１入力はパターン発生回路に接続する。最前段のモジュールにおける部分スキャンパスの入力はパターン発生回路に接続する。セレクタの出力は次段のモジュールにおける部分スキャンパスの入力に接続する。ただし、最終段のモジュールのセレクタの出力は出力圧縮回路に接続する。全てのモジュールにおいて、セレクタの１入力は全てパターン発生回路に接続されている。この構成により、複数のセレクタについての選択信号として与えられる部分スキャンパス選択情報によって、前記スキャンパスのスキャンイン側から数えて１つ以上の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴としている。
【００１６】
この構成によれば、スキャンパスにおけるあるスキャンＦＦに不具合があった場合に、そのシフト動作が不具合なスキャンＦＦを含み不定値を出力する可能性のある部分スキャンパスをバイパスすることにより、不具合による不定値の影響を軽減し、自己組み込みテストを実行可能とする。そして、不具合の発生したスキャンＦＦが、スキャンチェーン上でスキャンイン側により近い程、バイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、この解決手段は、スキャンイン側に近いスキャンＦＦでの不具合を回避するのに効果的である。
【００１７】
第２の解決手段として、本発明による自己テスト回路内蔵の半導体集積回路では、まず、前記スキャンパスを次のように構成する。スキャンチェーンを複数の部分スキャンパスに分ける。各部分スキャンパスは、１つのスキャンＦＦで構成され、または２つ以上のスキャンＦＦをシリアルに接続して構成される。複数の部分スキャンパスをシリアルに接続する。すなわち、ある部分スキャンパスの出力を次段の部分スキャンパスの入力に接続する。各部分スキャンパスの出力をセレクタを介して出力圧縮回路に接続する。最前段の部分スキャンパスの入力にはパターン発生回路を接続する。セレクタの１入力をパターン発生回路に接続してもよい。この構成により、複数のセレクタについての選択信号として与えられる部分スキャンパス選択情報によって、前記スキャンパスのスキャンアウト側から数えて１つ以上の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴としている。
【００１８】
この構成によれば、スキャンパスにおけるあるスキャンＦＦに不具合があった場合に、そのシフト動作が不具合なスキャンＦＦを含み不定値を出力する可能性のある部分スキャンパス以降をバイパスすることにより、不具合による不定値の影響を軽減し、自己組み込みテストを実行可能とする。そして、不具合の発生したスキャンＦＦが、スキャンチェーン上でスキャンアウト側により近い程、バイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、この解決手段は、スキャンアウト側に近いスキャンＦＦでの不具合を回避するのに効果的である。
【００１９】
第３の解決手段として、本発明による自己テスト回路内蔵の半導体集積回路では、まず、前記スキャンパスを次のように構成する。スキャンチェーンを複数の部分スキャンパスに分ける。各部分スキャンパスは、１つのスキャンＦＦで構成され、または２つ以上のスキャンＦＦをシリアルに接続して構成される。部分スキャンパスとセレクタとを交互に接続することでスキャンチェーンを構成する。部分スキャンパスとセレクタの組み合わせからなるモジュールにおいて、部分スキャンパスの出力をセレクタの１入力とする。セレクタの他の１入力は前段のモジュールのセレクタの出力に接続する。最前段のモジュールのセレクタの１入力はパターン発生回路に接続する。最前段のモジュールにおける部分スキャンパスの入力はパターン発生回路に接続する。セレクタの出力は次段のモジュールにおける部分スキャンパスの入力に接続する。ただし、最終段のモジュールのセレクタの出力は出力圧縮回路に接続する。最終段以外の全てのモジュールにおいて、セレクタの出力が次段のモジュールの部分スキャンパスとセレクタとに接続されている。最前段以外の全てのモジュールにおいて、セレクタは自己の部分スキャンパスにおける入力と出力とを選択するものとなっている。この構成により、複数のセレクタについての選択信号として与えられる部分スキャンパス選択情報によって、任意の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うことを特徴としている。
【００２０】
この構成によれば、スキャンパスにおけるあるスキャンＦＦに不具合があった場合に、そのシフト動作が不具合なスキャンＦＦを含み不定値を出力する可能性のある部分スキャンパスをバイパスすることにより、不具合による不定値の影響を軽減し、自己組み込みテストを実行可能とする。そして、不具合の発生したスキャンＦＦが、スキャンパス上のどの位置にあっても、そのスキャンＦＦを含む部分スキャンパスのみをバイパスし、他の部分スキャンパスはバイパスしないので、バイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、スキャンパス上のどのような箇所に不具合があっても効果的である。
【００２１】
上記において好ましい態様は、スキャンパターン印加対象からバイパスされた前記部分スキャンパスを構成するスキャンＦＦから不定値が前記スキャンテスト対象の組合せ回路に伝搬しないように、前記バイパスされた部分スキャンパスのスキャンＦＦのリセットまたはセットが解除されないように構成されていることである。
【００２２】
この構成によれば、バイパスによってスキャンチェーンから外された部分スキャンパスについては、そのスキャンＦＦの状態をロックしておくことにより、バイパスの部分スキャンパスから不定値が組合せ回路に伝搬されてしまい、その結果として、バイパスされていないテスト対象の部分スキャンパスに不定値が波及的に伝搬されるといった不都合を防止することができる。これにより、組み込み自己テストにおける故障検出率の低下を抑制することができる。
【００２３】
また、上記において好ましい態様は、スキャンパターン印加対象からバイパスされた前記部分スキャンパスを構成するスキャンＦＦから不定値が前記スキャンテスト対象の組合せ回路に伝搬しないように、前記バイパスされた部分スキャンパスのスキャンＦＦのデータ出力が固定されるように構成されていることである。これは、スキャンＦＦの出力値をゲートなどでマスクして固定化するものである。スキャンＦＦの内部状態が変化しても、外部でロックするものである。
【００２４】
この構成の場合も、バイパスによってスキャンチェーンから外された部分スキャンパスについては、そのスキャンＦＦの出力値をロックしておくことにより、バイパスの部分スキャンパスから不定値が組合せ回路に伝搬されてしまい、その結果として、バイパスされていないテスト対象の部分スキャンパスに不定値が波及的に伝搬されるといった不都合を防止することができる。これにより、組み込み自己テストにおける故障検出率の低下を抑制することができる。
【００２５】
またさらに、上記において好ましい態様は、選択された時刻においてスキャンパスからの信号を出力圧縮回路へ通過させ、それ以外の時刻においては前記スキャンパスから前記出力圧縮回路への信号をマスクする機能を有した回路を内蔵し、自己組み込みテスト中に特定のスキャンＦＦへ伝搬してきた故障の影響のみを前記出力圧縮回路へ伝搬させる手段を有することである。
【００２６】
この構成によれば、部分スキャンパスを構成する複数のスキャンＦＦのうち、いずれのスキャンＦＦが故障を観測したかを知ることができる。これにより、故障箇所の絞り込みをさらに進めることができる。
【００２７】
本発明の自己テスト回路内蔵の半導体集積回路の故障診断方法は、上記のいずれかの構成の自己テスト回路内蔵の半導体集積回路において、次のような内容の複数のステップを含むものとして構成されている。すなわち、
部分スキャンパスを選択するステップ（ａ）と、
前記ステップ（ａ）によって選択した部分スキャンパス以外の部分スキャンパスをスキャンパス上からバイパスして自己テストを実行するステップ（ｂ）と、前記ステップ（ａ）で全ての部分スキャンパスが選択されているかを判定するステップ（ｃ）とで構成されている。
【００２８】
そして、前記ステップ（ａ）の後に前記ステップ（ｂ）を実行し、前記ステップ（ｂ）の後は、前記ステップ（ｂ）のテスト結果が成功（Ｐａｓｓ）の場合、前記ステップ（ｃ）を実行し、前記ステップ（ｂ）のテスト結果が失敗（Ｆａｉｌ）の場合、故障箇所を含む回路ブロックを特定することを特徴としている。
【００２９】
この故障診断方法によれば、故障箇所を含む回路ブロックの特定を効率的に進め、故障箇所の絞り込みが有利となる。
【００３０】
また、本発明の別の自己テスト回路内蔵の半導体集積回路の故障診断方法は、上記のいずれかの構成の自己テスト回路内蔵の半導体集積回路において、次のような内容の複数のステップを含むものとして構成されている。すなわち、
回路内の複数の部分スキャンパスを２つのグループＡとグループＢに分割するステップ（ａ）と、
グループＡに含まれる部分スキャンパスをスキャンパス上からバイパスして組み込み自己テストを実行するステップ（ｂ）と、
グループＢに２つ以上の部分スキャンパスが含まれるかどうかを判定するステップ（ｃ）と、
グループＢに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割するステップ（ｄ）と、
グループＡに２つ以上の部分スキャンパスが含まれるかどうかを判定するステップ（ｅ）と、
グループＡに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割するステップ（ｆ）と、
グループＡに含まれる部分スキャンパスを除いた全ての部分スキャンパスをスキャンパス上からバイパスして自己テストを行うステップ（ｇ）とで構成されている。
【００３１】
そして、まず前記ステップ（ａ）を実行し、その後、前記ステップ（ｂ）を実行し、前記ステップ（ｂ）のテスト結果が失敗（Ｆａｉｌ）の場合、その後、前記ステップ（ｃ）を実行し、前記ステップ（ｂ）のテスト結果が成功（Ｐａｓｓ）の場合、その後、前記ステップ（ｅ）を実行し、前記ステップ（ｃ）の判定結果が肯定的の場合、前記ステップ（ｄ）を続いて実行し、前記ステップ（ｃ）の判定結果が否定的の場合、故障回路ブロックを特定し、前記ステップ（ｅ）の判定結果が肯定的の場合、前記ステップ（ｆ）を続いて実行し、前記ステップ（ｅ）の判定結果が否定的の場合、続けて前記ステップ（ｇ）を実行し、前記ステップ（ｇ）のテスト結果が失敗（Ｆａｉｌ）の場合、故障回路ブロックを特定することを特徴としている。
【００３２】
これは２分探索手法による故障診断方法であり、逐次探索手法に比べて故障回路ブロックの絞り込みの効率をさらにアップすることができる。
【００３３】
さらに、本発明の自己テスト回路内蔵の半導体集積回路の故障診断方法は、次のような内容の複数のステップを含むものとして構成されている。すなわち、
マスク解除を行う時刻を選択するステップ（ｄ）と、
前記ステップ（ｄ）で選択したマスク解除時刻のみスキャンパスからの信号を出力圧縮回路へ通過させるようにして、診断モード信号をＯＮにして組み込み自己テストを実行するステップ（ｅ）と、
前記ステップ（ｅ）で選択し得る全ての時刻でマスク解除を行ったかを判定するステップ（ｆ）が付加されている。
【００３４】
そして、故障回路ブロック特定後に、前記ステップ（ｄ）を実行し、前記ステップ（ｄ）の後には前記ステップ（ｅ）を実行し、前記ステップ（ｅ）の後には前記ステップ（ｅ）のテスト結果が成功（Ｐａｓｓ）の場合、ステップ（ｆ）を実行し、前記ステップ（ｅ）のテスト結果が失敗（Ｆａｉｌ）の場合、故障を検出したスキャンＦＦを特定することを特徴としている。
【００３５】
この故障診断方法によれば、部分スキャンパスを構成する複数のスキャンＦＦのうち、いずれのスキャンＦＦが故障を観測したかを知ることができる。これにより、故障箇所の絞り込みをさらに進めることができる。
【００３６】
【発明の実施の形態】
（実施の形態１）
図１は本発明の実施の形態１における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図である。
【００３７】
図１において、２０１，２０２は図１の半導体集積回路をテストするためのスキャンパスである。２０３，２０４，２０５はスキャンパス２０１を構成する部分スキャンパスであり、２０６，２０７，２０８はスキャンパス２０２を構成する部分スキャンパスである。部分スキャンパス２０３，２０４，２０５，２０６，２０７，２０８はそれぞれ、２つのスキャンＦＦがシリアル接続されて構成されている。スキャンＦＦは、組合せ回路からのデータ入力端子Ｄとスキャンパスからのデータ入力端子ＳＩと、データ出力端子Ｑと、データ入力端子Ｄとデータ入力端子ＳＩとを切り替える入力端子ＳＥと、クロック端子ＣＫを持つ。２０９，２１０，２１１，２１２，２１３，２１４はそれぞれセレクタである。セレクタ２０９，２１０，２１１，２１２，２１３，２１４は２つのデータ入力信号Ａ，Ｂと、データ入力選択信号Ｓと、データ出力信号Ｙをもつ。Ｓ＝１のとき、Ｙ＝Ａとなり、Ｓ＝０のときＹ＝Ｂとなる。
【００３８】
スキャンパス２０１，２０２は、２つのスキャンＦＦがシリアルに接続されて構成される部分スキャンパスとセレクタとが交互に接続されて形成されている。
【００３９】
２１５，２１６，２１７，２１８，２１９，２２０はスキャンテスト対象となる組合せ回路である。２２１はスキャンパス２０１，２０２にテストパターンを供給するパターン発生回路（ＰＲＰＧ）である。２２２はスキャンパス２０１，２０２からの出力応答を圧縮する出力圧縮回路（ＭＩＳＲ）である。２２３，２２４，２２５，２２６，２２７，２２８はそれぞれセレクタ２０９，２１０，２１１，２１２，２１３，２１４のＳ入力に接続される信号線である。２２９は信号線２２３，２２４，２２５，２２６，２２７，２２８に与えられる部分スキャンパス選択情報である。２３０，２３１はパターン発生回路２２１からスキャンパス２０１，２０２に対するテストパターンが伝搬される信号線である。セレクタ２０９，２１０，２１１，２１２，２１３，２１４のＡ入力はそれぞれ、部分スキャンパス２０５，２０４，２０３，２０８，２０７，２０６の最もスキャンアウト側にあるスキャンＦＦのＱ端子と接続する。Ｂ入力はセレクタ２０９，２１０，２１１については信号線２３１と、セレクタ２１２，２１３，２１４については信号線２３０と接続する。
【００４０】
部分スキャンパスとその部分スキャンパスの出力を１入力とするセレクタとをモジュールとすると、各モジュールにおいて、各セレクタ２０９〜２１４の他の１入力はパターン発生回路２２１に接続されている。最前段のモジュールにおける部分スキャンパス２０５，２０８の入力はパターン発生回路２２１に接続されている。最終段以外のモジュールにおいて、各セレクタ２０９，２１０，２１２，２１３の出力は次段のモジュールにおける部分スキャンパス２０４，２０３，２０７，２０６の入力に接続されている。ただし、最終段のモジュールのセレクタ２１１，２１４の出力は出力圧縮回路２２２に接続されている。全てのモジュールにおいて、セレクタ２０９〜２１４の１入力は全てパターン発生回路２２１に接続されている。この構成により、複数のセレクタ２０９〜２１４についての選択信号として与えられる部分スキャンパス選択情報２２９によって、スキャンパス２０１，２０２のスキャンイン側から数えて１つ以上の部分スキャンパスに含まれるスキャンＦＦをバイパスしてシフト動作を行うようになっている。
【００４１】
部分スキャンパス選択情報２２９に｛１１１０１１｝を与えると、信号線２２８，２２７，２２６，２２３，２２４，２２５の値がそれぞれ、１，１，１，０，１，１となり、このうちのビット“０”に該当する部分スキャンパス２０５に含まれるスキャンＦＦがスキャンパス２０１上からバイパスされる。組み込み自己テスト時のシフト動作は部分スキャンパス２０５に含まれるスキャンＦＦがバイパスされて行われる。
【００４２】
このような構成をとることにより、部分スキャンパス２０５に含まれるスキャンＦＦにおいてシフト動作に不具合が発生し、不定値が出力されたとしても、不定値は出力圧縮回路（ＭＩＳＲ）２２２には取り込まれず、自己組み込みテストは実行可能となる。
【００４３】
また、部分スキャンパス選択情報２２９に｛１１１１０１｝を与えると、このうちのビット“０”に該当する部分スキャンパス２０４よりスキャンイン側の全ての部分スキャンパス２０５，２０４に含まれるスキャンＦＦがスキャンパス２０１上からバイパスされてシフト動作が行われる。
【００４４】
また、部分スキャンパス選択情報２２９に｛１１１１１０｝を与えると、このうちのビット“０”に該当する部分スキャンパス２０３よりスキャンイン側の全ての部分スキャンパス２０５，２０４，２０３に含まれるスキャンＦＦがスキャンパス２０１上からバイパスされてシフト動作が行われる。
【００４５】
上記はスキャンパス２０１側での動作説明であるが、スキャンパス２０２側でも同様の動作となる。
【００４６】
この構成は、不具合の発生したスキャンＦＦが、スキャンチェーン上でスキャンイン側により近い程、バイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、スキャンイン側に近いスキャンＦＦでの不具合を回避するのに効果的である。
【００４７】
（実施の形態２）
図２は本発明の実施の形態２における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図である。
【００４８】
図２において、３０１，３０２は半導体集積回路をテストするためのスキャンパスである。３０３，３０４，３０５はスキャンパス３０１を構成する部分スキャンパスであり、３０６，３０７，３０８はスキャンパス３０２を構成する部分スキャンパスである。部分スキャンパス３０３，３０４，３０５，３０６，３０７，３０８はそれぞれ、２つのスキャンＦＦがシリアル接続されて構成されている。スキャンＦＦは、組合せ回路からのデータ入力端子Ｄとスキャンパスからのデータ入力端子ＳＩと、データ出力端子Ｑと、データ入力端子Ｄとデータ入力端子ＳＩとを切り替える入力端子ＳＥと、クロック端子ＣＫを持つ。３０９，３１０はそれぞれ４つのデータ入力を持つセレクタである。セレクタ３０９，３１０は４つのデータ入力信号Ａ，Ｂ，Ｃ，Ｄとデータ入力選択信号Ｓ０，Ｓ１，Ｓ２と、データ出力信号Ｙをもつ。
【００４９】
図３にセレクタ３０９，３１０の詳細な構成を示す。｛Ｓ０，Ｓ１，Ｓ２｝＝｛１，１，１｝のとき、Ｙ＝Ａ、｛Ｓ０，Ｓ１，Ｓ２｝＝｛０，１，１｝のとき、Ｙ＝Ｂ、｛Ｓ０，Ｓ１，Ｓ２｝＝｛Ｘ，０，１｝のとき、Ｙ＝Ｃ、｛Ｓ０，Ｓ１，Ｓ２｝＝｛Ｘ，Ｘ，０｝のとき、Ｙ＝Ｄとなる。ここで、Ｘは０または１である。
【００５０】
スキャンパス３０１，３０２は、２つのスキャンＦＦがシリアルに接続されて構成される部分スキャンパスがシリアル接続され、最後にセレクタ３０９，３１０が接続されて形成されている。
【００５１】
３１１，３１２，３１３，３１４，３１５，３１６はスキャンテスト対象となる組合せ回路である。３１７はスキャンパス３０１，３０２にテストパターンを供給するパターン発生回路（ＰＲＰＧ）である。３１８はスキャンパス３０１，３０２からの出力応答を圧縮する出力圧縮回路（ＭＩＳＲ）である。３１９，３２０，３２１はそれぞれセレクタ３０９のＳ０入力、Ｓ１入力、Ｓ２入力に接続される信号線である。また、３２２，３２３，３２４はそれぞれセレクタ３１０のＳ０入力、Ｓ１入力、Ｓ２入力に接続される信号線である。３２５は信号線３１９，３２０，３２１，３２２，３２３，３２４に与えられる部分スキャンパス選択情報である。３２６，３２７はパターン発生回路３１７からスキャンパス３０１，３０２に対するテストパターンが伝搬される信号線である。セレクタ３０９のＡ入力、Ｂ入力、Ｃ入力はそれぞれ、部分スキャンパス３０５，３０４，３０３の最もスキャンアウト側にあるスキャンＦＦのＱ端子と接続する。セレクタ３０９のＤ入力は信号線３２７と接続する。セレクタ３１０のＡ入力、Ｂ入力、Ｃ入力はそれぞれ、部分スキャンパス３０８，３０７，３０６の最もスキャンアウト側にあるスキャンＦＦのＱ端子と接続する。セレクタ３１０のＤ入力は信号線３２６と接続する。
【００５２】
部分スキャンパス選択情報３２５に｛１１１１１０｝を与えると、信号線３２２，３２３，３２４，３１９，３２０，３２１の値がそれぞれ、１，１，１，１，１，０となり、このうちのビット“０”に該当する部分スキャンパス３０５に含まれるスキャンＦＦがスキャンパス３０１上からバイパスされる。組み込み自己テスト時のシフト動作は部分スキャンパス３０５に含まれるスキャンＦＦがバイパスされて行われる。
【００５３】
このような構成をとることにより、部分スキャンパス３０５に含まれるスキャンＦＦにおいてシフト動作に不具合が発生し、不定値が出力されたとしても、不定値は出力圧縮回路（ＭＩＳＲ）３１８には取り込まれず、自己組み込みテストは実行可能となる。
【００５４】
また、部分スキャンパス選択情報３２５に｛１１１１０１｝を与えると、このうちのビット“０”に該当する部分スキャンパス３０４よりスキャンアウト側の全ての部分スキャンパス３０４，３０５に含まれるスキャンＦＦがスキャンパス３０１上からバイパスされてシフト動作が行われる。
【００５５】
また、部分スキャンパス選択情報３２５に｛１１１０１１｝を与えると、このうちのビット“０”に該当する部分スキャンパス３０３よりスキャンアウト側の全ての部分スキャンパス３０３，３０４，３０５に含まれるスキャンＦＦがスキャンパス３０１上からバイパスされてシフト動作が行われる。
【００５６】
上記はスキャンパス３０１側での動作説明であるが、スキャンパス３０２側でも同様の動作となる。
【００５７】
この構成は、不具合の発生したスキャンＦＦが、スキャンチェーン上でスキャンアウト側により近い程、バイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、スキャンアウト側に近いスキャンＦＦでの不具合を回避するのに効果的である。
【００５８】
（実施の形態３）
図４は、本発明の実施の形態３における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図である。
【００５９】
図４において、４０１，４０２は半導体集積回路をテストするためのスキャンパスである。４０３，４０４，４０５はスキャンパス４０１を構成する部分スキャンパスであり、４０６，４０７，４０８はスキャンパス４０２を構成する部分スキャンパスである。部分スキャンパス４０３，４０４，４０５，４０６，４０７，４０８はそれぞれ、２つのスキャンＦＦがシリアル接続されて構成されている。スキャンＦＦは、組合せ回路からのデータ入力端子Ｄと、スキャンパスからのデータ入力端子ＳＩと、データ出力端子Ｑと、データ入力端子Ｄとデータ入力端子ＳＩとを切り替える入力端子ＳＥと、クロック端子ＣＫを持つ。４０９，４１０，４１１，４１２，４１３，４１４はそれぞれセレクタである。セレクタ４０９，４１０，４１１，４１２，４１３，４１４は２つのデータ入力信号Ａ，Ｂと、データ入力選択信号Ｓと、データ出力信号Ｙをもつ。Ｓ＝１のとき、Ｙ＝Ａとなり、Ｓ＝０のときＹ＝Ｂとなる。
【００６０】
スキャンパス４０１，４０２は、２つのスキャンＦＦがシリアルに接続されて構成される部分スキャンパスとセレクタとが交互に接続されて形成されている。４１５，４１６，４１７，４１８，４１９，４２０はスキャンテスト対象となる組合せ回路である。４２１はスキャンパス４０１，４０２にテストパターンを供給するパターン発生回路（ＰＲＰＧ）である。４２２はスキャンパス４０１，４０２からの出力応答を圧縮する出力圧縮回路（ＭＩＳＲ）である。４２３，４２４，４２５，４２６，４２７，４２８はそれぞれセレクタ４０９，４１０，４１１，４１２，４１３，４１４のＳ入力に接続される信号線である。４２９は信号線４２３，４２４，４２５，４２６，４２７、４２８に与えられる部分スキャンパス選択情報である。４３０，４３１はパターン発生回路４２１からスキャンパス４０１，４０２に対するテストパターンが伝搬される信号線である。
【００６１】
セレクタ４０９，４１０，４１１，４１２，４１３，４１４のＡ入力はそれぞれ、部分スキャンパス４０５，４０４，４０３，４０８，４０７，４０６の最もスキャンアウト側にあるスキャンＦＦのＱ端子と接続する。セレクタ４０９，４１２のＢ入力はそれぞれ信号線４３１、信号線４３０と接続する。セレクタ４１０，４１１，４１３，４１４のＢ入力はそれぞれ、セレクタ４０９のＹ出力、セレクタ４１０のＹ出力、セレクタ４１２のＹ出力、セレクタ４１３のＹ出力と接続する。
【００６２】
部分スキャンパス選択情報４２９に｛１１１１０１｝を与えると、信号線４２８，４２７，４２６，４２３，４２４，４２５の値がそれぞれ、１，１，１，１，０，１となり、このうちのビット“０”に該当する部分スキャンパス４０４に含まれるスキャンＦＦがスキャンパス４０１上からバイパスされる。組み込み自己テスト時のシフト動作は部分スキャンパス４０４に含まれるスキャンＦＦがバイパスされて行われる。
【００６３】
このような構成をとることにより、部分スキャンパス４０４に含まれるスキャンＦＦにおいてシフト動作に不具合が発生し、不定値が出力されたとしても、不定値は出力圧縮回路（ＭＩＳＲ）４２２には取り込まれず、自己組み込みテストは実行可能となる。
【００６４】
また、部分スキャンパス選択情報４２９に｛１１１０１１｝を与えると、このうちのビット“０”に該当する部分スキャンパス４０５に含まれるスキャンＦＦがスキャンパス４０１上からバイパスされる。
【００６５】
また、部分スキャンパス選択情報４２９に｛１１１１１０｝を与えると、このうちのビット“０”に該当する部分スキャンパス４０３に含まれるスキャンＦＦがスキャンパス４０１上からバイパスされる。
【００６６】
上記はスキャンパス４０１側での動作説明であるが、スキャンパス４０２側でも同様の動作となる。
【００６７】
この構成は、不具合の発生したスキャンＦＦが、スキャンパス上のどの位置にあってもバイパスするスキャンＦＦの数が少なく故障検出率の低下が少ない。したがって、スキャンパス上のどのような箇所に不具合があっても効果的である。
【００６８】
（実施の形態４）
図５は、本発明の実施の形態４における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図である。
【００６９】
図５において、５０９，５１０は半導体集積回路をテストするためのスキャンパスである。５０１，５０２はスキャンパス５０９を構成する部分スキャンパスであり、５０３，５０４はスキャンパス５１０を構成する部分スキャンパスである。５０５，５０６，５０７，５０８はそれぞれセレクタである。スキャンパス５０９，５１０は、２つのスキャンＦＦがシリアルに接続されて構成される部分スキャンパスとセレクタとが交互に接続されて形成されている。５１１はスキャンテスト対象となる組合せ回路である。５１２はスキャンパス５０９，５１０にテストパターンを供給するパターン発生回路である。５１３はスキャンパス５０９，５１０からの出力応答を圧縮する出力圧縮回路である。５１９，５２０，５２１，５２２はＡＮＤゲートである。５２３は外部リセット信号である。ＡＮＤゲート５１９，５２０，５２１，５２２はそれぞれ２つの入力信号を持っている。第１の入力信号はＡＮＤゲート５１９，５２０，５２１，５２２の全てに共通で外部リセット信号である。第２の入力信号は、ＡＮＤゲート５１９に対しては信号線５１７、ＡＮＤゲート５２０に対しては信号線５１８、ＡＮＤゲート５２１に対しては信号線５１５、ＡＮＤゲート５２２に対しては信号線５１６である。５１４は信号線５１５、信号線５１６、信号線５１７、信号線５１８に与えられる部分スキャンパス選択情報である。ＡＮＤゲート５１９，５２０，５２１，５２２の出力信号はそれぞれセレクタ５０５，５０６，５０７，５０８の選択信号と接続される。
【００７０】
部分スキャンパス選択情報５１４として｛１１０１｝が信号線５１５，５１６，５１７，５１８に与えられることによって、部分スキャンパス５０１を構成するスキャンＦＦが、シフト動作対象からバイパスされる。これにより、部分スキャンパス５０１に含まれるスキャンＦＦの影響でスキャン動作に不具合が発生した場合でも、自己組み込みテストが実行可能となる。
【００７１】
この構成によれば、バイパスされたスキャンＦＦからバイパスされていないスキャンＦＦへの経路がある場合に効果がある。バイパスされたスキャンＦＦは動作が不安定なとき、バイパスされたスキャンＦＦから組合せ回路に対して不定値が伝搬し、その不定値がバイパスされていないテスト対象のスキャンＦＦに伝播してしまう可能性がある。この実施の形態ではバイパスされたスキャンＦＦに対してはリセットが解除されず、出力Ｑが固定されている。これにより、組合せ回路に不定値が伝搬されず、バイパスされていないテスト対象のスキャンＦＦに不定値が伝搬することを避けることができる。
【００７２】
なお、バイパスされたスキャンＦＦの出力値をＡＮＤゲートなどでマスクして固定することによっても同様の効果を得ることができる。
【００７３】
さらにこの半導体集積回路のテスト容易化回路を用いた故障診断方法について説明する。図６に示す故障診断方法のフローを示す。
【００７４】
６０１は部分スキャンパスを選択するステップである。６０２はステップ６０１によって選択された部分スキャンパス以外の部分スキャンパスをスキャンパス上からバイパスして組み込み自己テストを実行するステップである。６０３はステップ６０１で全ての部分スキャンパスが選択されているかを判定するステップである。特許請求の範囲との対応を付けるために、ステップ６０１を（ａ）とし、ステップ６０２を（ｂ）とし、ステップ６０３を（ｃ）とする。
【００７５】
処理手順について説明する。ステップ６０１の後に、ステップ６０２が実行され、ステップ６０２のテスト結果がＰａｓｓの場合、それに続いてステップ６０３が実行される。ステップ６０２のテスト結果がＦａｉｌの場合、故障箇所を含む回路ブロックが特定されてフローが終了する。
【００７６】
図５に示す回路で故障箇所を含む回路ブロックが特定される例を示す。図５の組合せ回路５１１にはＡ，Ｂ，Ｃ，Ｄの４ブロックがあり、ブロックＢ内には故障が存在する。
【００７７】
この回路に対して図６のフローを実行した場合について説明する。まずスキャンパターン印加対象となる部分スキャンパスとして部分スキャンパス５０１を選択する。部分スキャンパス５０１を除く他の全ての部分スキャンパスをスキャンパス上からバイパスするために、部分スキャンパス選択情報｛００１０｝を信号線５１５，５１６，５１７，５１８に対して与える。これにより部分スキャンパス５０１を構成するスキャンＦＦに対してのみテストパターンが印加される。それ以外の部分スキャンパスを構成するスキャンＦＦはリセット状態となり、出力Ｑは０固定される。次に自己組み込みテストが実行される。これにより部分スキャンパス５０１を構成するスキャンＦＦ対して出力信号が伝搬する部分回路Ａのみがテストされる。部分回路Ａには故障は存在しないため、テスト結果はＰａｓｓとなる。
【００７８】
スキャンパターン印加対象として選択されていない部分スキャンパス５０２，５０３，５０４のうち、部分スキャンパス５０２をスキャンパターン印加対象となる部分スキャンパスとして選択する。部分スキャンパス５０２を除く他の全ての部分スキャンパスをスキャンパス上からバイパスするために、部分スキャンパス選択情報｛０００１｝を信号線５１５，５１６，５１７，５１８に対して与える。これにより部分スキャンパス５０２を構成するスキャンＦＦに対してのみテストパターンが印加される。それ以外の部分スキャンパスを構成するスキャンＦＦはリセット状態となり、出力Ｑは０固定される。次に自己組み込みテストが実行される。これにより部分スキャンパス５０２を構成するスキャンＦＦ対して出力信号が伝搬する部分回路Ｂのみがテストされる。部分回路Ｂには故障が存在するため、テスト結果はＦａｉｌとなる。これにより故障回路ブロックとしてＢが特定される。
【００７９】
なお、図６のフローでは分割された回路ブロックＡ，Ｂ，Ｃ，Ｄを逐次個別にテストしていく方法で故障ブロックの特定を行ったが、図７に示すフローのように、２分探索手法を用いるのでもよい。
【００８０】
ステップ（ａ）において、回路内の複数の部分スキャンパスを２つのグループＡとグループＢに分割する。
【００８１】
次いでステップ（ｂ）において、グループＡに含まれる部分スキャンパスをスキャンパス上からバイパスして組み込み自己テストを実行する。そのテスト結果がＦａｉｌのときはステップ（ｃ）に進み、Ｐａｓｓのときはステップ（ｅ）に進む。
【００８２】
ステップ（ｃ）において、グループＢに２つ以上の部分スキャンパスが含まれるかどうかを判定する。この判定結果がＹｅｓのときはステップ（ｄ）に進み、Ｎｏのときは故障回路ブロックを特定する。
【００８３】
ステップ（ｄ）において、グループＢに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割する。
【００８４】
ステップ（ｅ）において、グループＡに２つ以上の部分スキャンパスが含まれるかどうかを判定する。その判定結果がＹｅｓのときはステップ（ｆ）に進み、Ｎｏのときはステップ（ｇ）に進む。
【００８５】
ステップ（ｆ）において、グループＡに含まれる部分スキャンパスを改めて２つのグループＡとグループＢに分割する。
【００８６】
ステップ（ｇ）において、グループＡに含まれる部分スキャンパスを除いた全ての部分スキャンパスをスキャンパス上からバイパスして自己テストを行う。
【００８７】
この２分探索手法によれば、各ブロックを２グループに分けて、いずれか一方のグループに含まれるブロックを同時にテストし、その結果に応じて、さらに、この故障回路ブロックの存在する可能性のあるグループを２つのグループに分割してテストし、その結果に応じて、同様のことを繰り返すものである。
【００８８】
これによれば、故障回路ブロックを絞り込むことが可能である。この場合、故障回路ブロックを絞り込むための時間は逐次テスト手法に比べて速いと考えられる。
【００８９】
（実施の形態５）
図８は、本発明の実施の形態５における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図である。
【００９０】
図８において、７０１は実施の形態４で説明した図５の構成と同じであるため説明は省略する。以後、７０１内部の説明を行う際には、図５で用いた符号を参照して行う。
【００９１】
図８において、７０２はマスク解除許可信号発生回路である。７０３はシフトカウンタ、７０４はマスク解除時刻情報、７０５は比較器、７０６は２入力ＯＲゲート、７０７はインバータである。これら７０３，７０４，７０５，７０６，７０７はマスク解除許可信号発生回路７０２の構成要素である。また７０８は診断モード信号であり、マスク解除許可信号発生回路７０２の入力信号である。また７０９はマスク解除許可信号であり、マスク解除許可信号発生回路７０２の出力信号である。７１０はスキャンパスからの信号をマスクするためのマスク回路であり、２つの２入力ＡＮＤゲートで構成されている。これら２入力ＡＮＤゲートの１つの入力は共にマスク解除許可信号７０９であり、他方の入力はスキャンパスの出力信号である。
【００９２】
マスク解除許可信号発生回路７０２は、診断モード信号７０８が“１”のとき、且つマスク解除時刻情報７０４として設定された時刻とシフトカウンタ７０３の値が、比較器７０５で比較され、それらが一致したときに、マスク解除許可信号７０９から“１”が出力される。シフトカウンタ７０３は最大カウントできる値はスキャンパス段数と同じ値であり、マスク解除許可信号７０９は１シフト周期中の特定の１時刻おいてのみ“１”となる。マスク解除許可信号７０９の値が“１”のときマスク回路７１０を構成するＡＮＤゲートの１つの入力は“１”となり、他方の入力であるスキャンパスから信号はマスクされず、出力圧縮回路５１３へ伝搬される。
【００９３】
この構成により、スキャンパス上からスキャンパターン印加対象から除外される部分スキャンパスを選択し、選択された部分スキャンパスを構成するスキャンＦＦをバイパスしてスキャンパターンを印加させることができることと、バイパスされたスキャンＦＦがリセット状態となり出力値が確定されることに加え、自己組み込みテスト中に特定のスキャンＦＦへ伝搬してきた故障の影響のみを出力圧縮回路へ伝搬させることが可能となる。
【００９４】
さらにこの半導体集積回路のテスト容易化回路を用いた故障診断方法について説明する。ここでは、まず図６に示す故障診断方法のフローにより、故障回路ブロックを特定し、その図９に示す故障診断フローに従って故障を観測したスキャンＦＦを特定する例を示す。
【００９５】
図６の説明は実施の形態４で行ったため省略する。まず図９のフローについて説明する。８０４はマスク解除を行う時刻を選択するステップである。８０５はステップ８０４で選択したマスク解除時刻のみスキャンパスからの信号を出力圧縮回路５１３へ通過させるようにして、診断モード信号７０８をＯＮにして組み込み自己テストを実行するステップである。８０６はステップ８０４で選択され得る全ての時刻でマスク解除が行われているかを判定するステップである。特許請求の範囲との対応を付けるために、ステップ８０４を（ｄ）とし、ステップ８０５を（ｅ）とし、ステップ８０６を（ｆ）とする。
【００９６】
処理手順について説明する。ステップ８０４に続いてステップ８０５が実行される。その後、ステップ８０５のテスト結果がＰａｓｓの場合、続いてステップ８０６が実行される。ステップ８０５のテスト結果がＦａｉｌの場合、故障を検出したスキャンＦＦが特定されフローが終了する。ステップ８０６の後は、このステップでの判定結果がＹｅｓの場合、すなわちステップ８０４で選択され得る全ての時刻でマスク解除が行われている場合はフローが終了する。また、ステップ８０６での判定結果がＮｏの場合、すなわちステップ８０４で選択される全ての時刻でマスク解除が行われていない場合はステップ８０４に戻る。
【００９７】
図８に示す回路で故障箇所を含む回路ブロックが特定される例を示す。ここでブロックＢ内には故障が存在する。ブロックＢの故障はスキャンＦＦ１に伝搬する。図６に示すフローを実施し故障回路ブロックを特定した後、図９に示すフローを実施し、故障を観測したＦＦを特定する例を示す。まずスキャンパターン印加対象となる部分スキャンパスとして部分スキャンパス５０１を選択する。部分スキャンパス５０１を除く他の全ての部分スキャンパスをスキャンパス上からバイパスするために、部分スキャンパス選択情報｛００１０｝を信号線５１５，５１６，５１７，５１８に対して与える。これにより部分スキャンパス５０１を構成するスキャンＦＦに対してのみテストパターンが印加される。それ以外の部分スキャンパスを構成するスキャンＦＦはリセット状態となり、出力Ｑは０固定される。次に自己組み込みテストが実行される。これにより部分スキャンパス５０１を構成するスキャンＦＦ対して出力信号が伝搬する部分回路Ａのみがテストされる。部分回路Ａには故障は存在しないため、テスト結果はＰａｓｓとなる。スキャンパターン印加対象として選択されていない部分スキャンパス５０２，５０３，５０４のうち、部分スキャンパス５０２をスキャンパターン印加対象となる部分スキャンパスとして選択する。部分スキャンパス５０２を除く他の全ての部分スキャンパスをスキャンパス上からバイパスするために、部分スキャンパス選択情報｛０００１｝を信号線５１５，５１６，５１７，５１８に対して与える。これにより部分スキャンパス５０２を構成するスキャンＦＦに対してのみテストパターンが印加される。それ以外の部分スキャンパスを構成するスキャンＦＦはリセット状態となり、出力Ｑは０固定される。次に自己組み込みテストが実行される。これにより部分スキャンパス５０２を構成するスキャンＦＦ対して出力信号が伝搬する部分回路Ｂのみがテストされる。部分回路Ｂには故障が存在するため、テスト結果はＦａｉｌとなる。これに故障回路ブロックとてしてＢが特定される。
【００９８】
次に部分スキャンパス５０２を構成するスキャンＦＦのうちいずれのスキャンＦＦに故障が伝搬してきたかを特定する。部分スキャンパス５０２はスキャンＦＦ１およびスキャンＦＦ２で構成されている。シフト周期はクロック４サイクルで１周期とする。したがってシフトカウンタ７０３は２ビットで構成される。シフトの１クロックサイクル目で、スキャンＦＦ１にキャプチャーされた値が出力圧縮回路５１３に伝搬される。またシフトの２クロックサイクル目でスキャンＦＦ２にキャプチャーされた値が出力圧縮回路５１３に伝搬される。シフトの３，４クロックサイクル目はＰＲＰＧ５１２からの値がそのまま出力圧縮回路５１３に伝搬する。シフト周期の１クロックサイクル目をマスク解除時刻として選択し、２ビットの値“０１”をマスク解除時刻情報７０４として与える。シフトカウンタ７０３の値とマスク解除時刻情報７０４として与えられた値が一致した場合に、マスク解除許可信号発生回路７０２からの出力マスク解除許可信号７０９が“１”となり、スキャンパスに対するマスクが解除される。ここで部分スキャンパス５０２を除く他の全ての部分スキャンパスをスキャンパス上からバイパスさせて（つまり部分スキャンパス５０２をスキャンパターン印加対象として）、またシフト周期の１クロックサイクル目のみスキャンパスからの信号を出力圧縮回路５１３へ通過させるように設定して、診断モード信号７０８を“１”にして組み込み自己テストを実行する。故障はスキャンＦＦ１に伝搬する。スキャンＦＦ１に伝搬した故障はシフトの１クロックサイクル目に出力圧縮回路５１３に伝搬する。これによりテスト結果はＦａｉｌとなり、スキャンＦＦ１が故障が観測されたＦＦとして特定される。
【００９９】
【発明の効果】
本発明によれば、スキャンチェーンの一部のスキャンＦＦのシフト動作に不具合が発生した場合でも、該当のスキャンＦＦをスキャン信号の印加対象からバイパスすることにより、不定値の影響を軽減し、故障検出率の低下が少ない状態で自己組み込みテストを実行できる。
【０１００】
また、バイパスによってスキャンチェーンから外された部分スキャンパスについて、そのスキャンＦＦの状態またはその出力をロックしておくことにより、バイパスの部分スキャンパスから不定値が組合せ回路に伝搬されてしまい、その結果として、バイパスされていないテスト対象の部分スキャンパスに不定値が波及的に伝搬されるといった不都合を防止し、組み込み自己テストにおける故障検出率の低下をさらに抑制することができる。
【０１０１】
また、本発明における自己テスト回路内蔵の半導体集積回路の故障診断方法により、故障の存在する回路ブロックを特定でき、また、スキャンアウト時に特定のスキャンＦＦの値のみ出力圧縮回路に伝搬されるように制御することによって故障箇所の絞り込みをさらに有利に進めることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【図２】本発明の実施の形態２における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【図３】本発明の実施の形態２の自己テスト回路内蔵の半導体集積回路におけるセレクタの詳細な構成を示す回路構成図
【図４】本発明の実施の形態３における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【図５】本発明の実施の形態４における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【図６】本発明の実施の形態４における自己テスト回路内蔵の半導体集積回路について故障回路ブロックを特定する故障診断方法を示すフローチャート
【図７】本発明の実施の形態４における自己テスト回路内蔵の半導体集積回路について２分探索手法を用いて故障回路ブロックを特定する故障診断方法を示すフローチャート
【図８】本発明の実施の形態５における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【図９】本発明の実施の形態５における自己テスト回路内蔵の半導体集積回路について故障を観測したスキャンＦＦを特定する故障診断方法を示すフローチャート
【図１０】従来技術における自己テスト回路内蔵の半導体集積回路の構成を示すブロック図
【符号の説明】
２０１〜２０２，３０１〜３０２，４０１〜４０２，５０９〜５１０  スキャンパス
２０３〜２０８，３０３〜３０８，４０３〜４０８，５０１〜５０４  部分スキャンパス
２０９〜２１４，３０９〜３１０，４０９〜４１４，５０５〜５０８  セレクタ
２１５〜２２０，３１１〜３１６，４１５〜４２０，５１１  組合せ回路
２２１，３１７，４２１，５１２  ＰＲＰＧ（パターン発生回路）
２２２，３１８，４２２，５１３  ＭＩＳＲ（出力圧縮回路）
２２９，３２５，４２９，５１４  部分スキャンパス選択情報
５１９〜５２２  ＡＮＤゲート
５２３  外部リセット信号
７０２  マスク解除許可信号発生回路
７０３  シフトカウンタ
７０４  マスク解除時刻情報
７０５  比較器
７０６  ＯＲゲート
７０７  インバータ
７０８  診断モード信号
７０９  マスク解除許可信号
７１０  マスク回路
【図１】
2005017067.tif 000003
【図２】
2005017067.tif 000004
【図３】
2005017067.tif 000005
【図４】
2005017067.tif 000006
【図５】
2005017067.tif 000007
【図６】
2005017067.tif 000008
【図７】
2005017067.tif 000009
【図８】
2005017067.tif 000010
【図９】
2005017067.tif 000011
【図１０】
2005017067.tif 000012