(57)【要約】【課題】固定数の出力端子を用いて、複数の入力信号の中から故障の原因となる信号を特定して故障を診断すること。【解決手段】第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値と、のいずれかを選択して出力する第１の選択回路と、第２の入力テスト信号と、第１の選択回路からの出力信号との一致判定結果を出力端子へ出力する第１の論理回路と、を有する第１の圧縮回路と、第１の選択回路により第１の入力テスト信号が選択された際の出力端子からの第１の出力結果がエラーを示す場合に、第１の選択回路に対して第１の期待値を選択させ、第１の出力結果がエラーを示すことに伴い第１の選択回路により第１の期待値が選択された際の出力端子からの第２の出力結果が正常を示す場合に、第１の入力テスト信号をエラーと特定し、第２の出力結果がエラーを示す場合に、第２の入力テスト信号をエラーと特定する選択制御回路とを備える。【選択図】図１
2012141231.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値と、のいずれかを選択して出力する第１の選択回路と、
第２の入力テスト信号と、前記第１の選択回路からの出力信号との一致判定結果を出力端子へ出力する第１の論理回路と、を有する第１の圧縮回路と、
前記出力端子からの出力結果に応じて、前記第１の選択回路における選択を制御する選択制御回路と、を備え、
前記選択制御回路は、
前記第１の選択回路により前記第１の入力テスト信号が選択された際の前記出力端子からの第１の出力結果がエラーを示す場合に、前記第１の選択回路に対して前記第１の期待値を選択させ、
前記第１の出力結果がエラーを示すことに伴い前記第１の選択回路により前記第１の期待値が選択された際の前記出力端子からの第２の出力結果が正常を示す場合に、前記第１の入力テスト信号をエラーと特定し、
前記第２の出力結果がエラーを示す場合に、前記第２の入力テスト信号をエラーと特定することを特徴とする故障診断システム。
【請求項２】
第３の入力テスト信号と、当該第３の入力テスト信号の期待値である第２の期待値と、のいずれかを選択して出力する第２の選択回路と、
第４の入力テスト信号と、前記第２の選択回路からの出力信号との一致判定結果を前記第１の入力テスト信号として前記第１の圧縮回路へ出力する第２の論理回路と、
を有する第２の圧縮回路をさらに備え、
前記選択制御回路は、
前記第１の入力テスト信号がエラーと特定された場合、さらに、前記第２の選択回路に対して前記第２の期待値を選択させ、
前記第１の入力テスト信号がエラーと特定されたことに伴い前記第２の選択回路により前記第２の期待値が選択された際の前記出力端子からの第３の出力結果が正常を示す場合に、前記第３の入力テスト信号をエラーと特定し、
前記第３の出力結果がエラーを示す場合に、前記第４の入力テスト信号をエラーと特定することを特徴とする請求項１に記載の故障診断システム。
【請求項３】
第５の入力テスト信号と、当該第５の入力テスト信号の期待値である第３の期待値と、のいずれかを選択して出力する第３の選択回路と、
第６の入力テスト信号と、前記第３の選択回路からの出力信号との一致判定結果を前記第２の入力テスト信号として前記第１の圧縮回路へ出力する第３の論理回路と、
を有する第３の圧縮回路をさらに備え、
前記選択制御回路は、
前記第２の入力テスト信号がエラーと特定された場合、さらに、前記第３の選択回路に対して前記第３の期待値を選択させ、
前記第２の入力テスト信号がエラーと特定されたことに伴い前記第３の選択回路により前記第３の期待値が選択された際の前記出力端子からの第４の出力結果が正常を示す場合に、前記第５の入力テスト信号をエラーと特定し、
前記第４の出力結果がエラーを示す場合に、前記第６の入力テスト信号をエラーと特定することを特徴とする請求項１又は２に記載の故障診断システム。
【請求項４】
前記第１の入力テスト信号及び前記第２の入力テスト信号は、スキャンテストにおける異なるスキャンチェーンからの出力に基づく信号であることを特徴とする請求項１乃至３のいずれか１項に記載の故障診断システム。
【請求項５】
前記第１の論理回路は、ＥＸＯＲ回路又はＥＸＮＯＲ回路であることを特徴とする請求項１乃至４のいずれか１項に記載の故障診断システム。
【請求項６】
請求項１乃至５のいずれか１項に記載の故障診断システムに使用される半導体集積回路であって、
第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値と、のいずれかを選択して出力する第１の選択回路と、
第２の入力テスト信号と、前記第１の選択回路からの出力信号との一致判定結果を出力端子へ出力する第１の論理回路と、
を有する第１の圧縮回路を備えることを特徴とする半導体集積回路。
【請求項７】
第３の入力テスト信号と、当該第３の入力テスト信号の期待値である第２の期待値と、のいずれかを選択して出力する第２の選択回路と、
第４の入力テスト信号と、前記第２の選択回路からの出力信号との一致判定結果を前記第１の入力テスト信号として前記第１の圧縮回路へ出力する第２の論理回路と、
を有する第２の圧縮回路をさらに備えることを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
第５の入力テスト信号と、当該第５の入力テスト信号の期待値である第３の期待値と、のいずれかを選択して出力する第３の選択回路と、
第６の入力テスト信号と、前記第３の選択回路からの出力信号との一致判定結果を前記第２の入力テスト信号として前記第１の圧縮回路へ出力する第３の論理回路と、
を有する第３の圧縮回路をさらに備えることを特徴とする請求項６又は７に記載の半導体集積回路。
【請求項９】
前記第１の入力テスト信号及び前記第２の入力テスト信号は、スキャンテストにおける異なるスキャンチェーンからの出力信号に基づく信号であることを特徴とする請求項６乃至８のいずれか１項に記載の半導体集積回路。
【請求項１０】
前記第１の論理回路は、ＥＸＯＲ回路又はＥＸＮＯＲ回路であることを特徴とする請求項６乃至９のいずれか１項に記載の半導体集積回路。
【請求項１１】
第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値とのうち当該第１の入力テスト信号を選択して出力し、
第２の入力テスト信号と、前記選択された第１の入力テスト信号との一致判定結果を出力端子へ出力し、
前記出力端子からの第１の出力結果がエラーを示す場合に、前記第１の期待値を選択し、
前記第１の期待値が選択された際の前記出力端子からの第２の出力結果が正常を示す場合に、前記第１の入力テスト信号をエラーと特定し、
前記第２の出力結果がエラーを示す場合に、前記第２の入力テスト信号をエラーと特定する故障診断方法。
【請求項１２】
第３の入力テスト信号と、当該第３の入力テスト信号の期待値である第２の期待値とのうち当該第３の入力テスト信号を選択して出力し、
第４の入力テスト信号と、前記選択された第３の入力テスト信号との一致判定結果を前記第１の入力テスト信号として出力し、
前記第１の入力テスト信号がエラーと特定された場合、さらに、前記第２の期待値を選択し、
前記第２の期待値が選択された際の前記出力端子からの第３の出力結果が正常を示す場合に、前記第３の入力テスト信号をエラーと特定し、
前記第３の出力結果がエラーを示す場合に、前記第４の入力テスト信号をエラーと特定することを特徴とする請求項１１に記載の故障診断方法。
【請求項１３】
第５の入力テスト信号と、当該第５の入力テスト信号の期待値である第３の期待値とのうち当該第５の入力テスト信号を選択して出力し、
第６の入力テスト信号と、前記選択された第５の入力テスト信号との一致判定結果を前記第２の入力テスト信号として出力し、
前記第２の入力テスト信号がエラーと特定された場合、さらに、前記第３の期待値を選択し、
前記第３の期待値が選択された際の前記出力端子からの第４の出力結果が正常を示す場合に、前記第５の入力テスト信号をエラーと特定し、
前記第４の出力結果がエラーを示す場合に、前記第６の入力テスト信号をエラーと特定することを特徴とする請求項１１又は１２に記載の故障診断方法。
【請求項１４】
前記第１の入力テスト信号及び前記第２の入力テスト信号は、スキャンテストにおける異なるスキャンチェーンからの出力に基づく信号であることを特徴とする請求項１１乃至１３のいずれか１項に記載の故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障診断システム、半導体集積回路及び故障診断方法に関し、特に、複数の入力信号の中から故障の原因となる信号を特定して故障を診断するための故障診断システム、半導体集積回路及び故障診断方法に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の高集積化、大規模化により、１チップ上のロジックが増大している。これに伴い、テスト容易化設計（ＤＦＴ：Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔ）分野において、テストコスト削減を目的に、圧縮スキャンテストシステムの適用が必須となってきている。
【０００３】
圧縮スキャンテストシステムは、ＬＳＩ内部のスキャンチェーンを多数に分割してスキャンシフトサイクルを削減する手段である。圧縮スキャンテストシステムでは、単純に分割数を増やすだけでは、多数の外部観測端子が必要となる。そのため、スキャン入力データ側にスキャンデータを内部スキャンチェーンへ展開する展開器（Ｄｅｃｏｍｐｒｅｓｓｏｒ）、出力データ側にスキャンテスト結果を圧縮する圧縮器（Ｃｏｍｐａｃｔｏｒ）を挿入することが一般的である。これにより、内部チェーン数が多数になっても、外部観測端子数を増やさずに、圧縮スキャンテストの実現を可能にしている。
【０００４】
圧縮スキャンテストでは、圧縮器により内部スキャンチェーンの観測値を圧縮して外部端子で観測するため、外部観測端子の観測結果から内部で故障を観測したスキャンＦＦを特定する事が困難となる事が課題である。そのため、どのスキャンＦＦが故障を観測したかの特定と、それを短時間で行える技術が必要である。
【０００５】
特許文献１には、圧縮スキャンテストにおいて、ＬＳＩ内部で複数の故障を観測した場合にその故障応答を見逃さないようにする技術が開示されている。特許文献１にかかる技術を用いる事で故障が１つの時には故障診断も可能である。
【０００６】
特許文献１は、外部観測端子ｐ本を有している時に、以下の（１）式を満たすｑ本の内部スキャンチェーン本数であれば、圧縮器内部にｐ個のＥＸＯＲ（またはＥＸＮＯＲ）を実装し、各ＥＸＯＲには内部スキャンチェーンの出力（ＳＯ１〜ＳＯｑ）を互いに疎となるように接続する事で、ＬＳＩ内部の故障数が１の場合における故障診断を可能とする技術である。
ｑ≦２＾ｐ−１      ・・・（１）
【０００７】
図９は、特許文献１にかかる圧縮器９００の構成を示すブロック図である。圧縮器９００は、排他的論理和回路ＥＯＲ１〜ＥＯＲ３を有する。圧縮器９００は、外部から受け付けた７本のスキャンチェーン出力ＳＯ１〜ＳＯ７を、図９に示したように排他的論理和回路ＥＯＲ１〜ＥＯＲ３に配線して入力とし、排他的論理和回路ＥＯＲ１〜ＥＯＲ３それぞれの出力信号を外部観測端子ＰＯ１〜ＰＯ３のそれぞれに対して出力する。これにより、スキャンチェーン出力ＳＯ１〜ＳＯ７までの何れか一つから故障が伝播している場合、その時の外部観測端子ＰＯ１〜ＰＯ３の応答の組合せが全て異なるため、故障伝播経路が特定できる。
【０００８】
図１０は、特許文献１にかかる故障伝播の関係を説明するための図である。すなわち、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（０、０、０）を示す場合、スキャンチェーン出力ＳＯ１〜ＳＯ７のいずれも故障していないことが特定できる。また、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（１、０、０）を示す場合、スキャンチェーン出力ＳＯ１から故障が伝播していることが特定できる。同様に、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（０、１、０）を示す場合、スキャンチェーン出力ＳＯ２から故障が伝播しており、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（１、１、０）を示す場合、スキャンチェーン出力ＳＯ３から故障が伝播しており、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（０、０、１）を示す場合、スキャンチェーン出力ＳＯ４から故障が伝播しており、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（１、０、１）を示す場合、スキャンチェーン出力ＳＯ５から故障が伝播しており、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（０、１、１）を示す場合、スキャンチェーン出力ＳＯ６から故障が伝播しており、外部観測端子（ＰＯ１、ＰＯ２、ＰＯ３）の出力値が（１、１、１）を示す場合、スキャンチェーン出力ＳＯ７から故障が伝播していることが特定できる。このように、特許文献１では、ＥＸＯＲの入力信号値に応じて、外部観測端子の応答が一意に決まるため、故障観測経路の特定が可能となる。
【０００９】
特許文献２には、対となる２本のスキャンチェーンを構築し、常に片方のみをスキャンテストし、その時に他方にはテスト対象チェーンの期待値を格納しておく事で、外部期待値の作成を容易化できる技術が開示されている。特許文献３には、ハミング符号による誤り検出の仕組みを用いたＣｏｍｐａｃｔｏｒを構成し、情報ビットと検査ビットの値を利用してＦＡＩＬが伝播してくるスキャンチェーンの特定が可能な技術が開示されている。特許文献４には、高精度なテスタを用いず、安価なテスタでも高速なスキャンテストを実現可能な技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−２７４５００号公報
【特許文献２】特開平１０−１１１３４６号公報
【特許文献３】特開２００４−０１２４２０号公報
【特許文献４】特開２００４−２７１４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１は、ＬＳＩ内部に故障が１つだけ内在している場合に、内部スキャンチェーン本数ｑに対して上述した（１）式を満足するｐ本の外部観測端子と、圧縮器内部にＥＸＯＲ（もしくはＥＸＮＯＲ）を実装し、各ＥＸＯＲの入力を互いに疎とする事で故障診断を可能とした。また、圧縮スキャンテストにおいては、内部スキャンチェーン数を可能な限り多くし、１本当たりのスキャンチェーン長を短くする事でテストサイクル削減を実現する。
【００１２】
しかしながら、特許文献１には、内部スキャンチェーン本数を増やすにつれて外部観測端子も増えるという問題点がある。例えば、ｑ＝１００の時、ｐは最小"７"となる。つまり、外部観測端子が7本必要である。また、ｑ＝２００の時、ｐは最小"８"となる。つまり、外部観測端子が８本必要である。さらに、ｑ＝４００の時、ｐは最小"９"となる。つまり、外部観測端子が９本必要である。故障診断対象のＬＳＩの回路規模に応じて、故障診断を行うテスタ等の機器をより高機能なものに置き換える必要が発生する。さらに、近年は、ＬＳＩが高集積化かつ大規模化しているため、ますます外部観測端子が増えることとなり、故障診断を行うための機器の対応が困難となる。
【００１３】
また、特許文献２にかかる技術は、１個の外部観測端子の結果から対象となるスキャンチェーンの不良の有無を判断する技術である。そのため、内部のスキャンチェーンのどこに故障があるのかを見つけるには、対となる２本のスキャンチェーンを並列にテストできないため、テスト時間が長くなる。尚、特許文献３にかかる技術は、特許文献１と同様に、内部スキャンチェーン本数を多くするにつれて、外部観測端子も多く必要になる。また、特許文献４にかかる技術は、圧縮スキャンテストを対象としたものではない。
【課題を解決するための手段】
【００１４】
本発明の第１の態様にかかる故障診断システムは、第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値と、のいずれかを選択して出力する第１の選択回路と、第２の入力テスト信号と、前記第１の選択回路からの出力信号との一致判定結果を出力端子へ出力する第１の論理回路と、を有する第１の圧縮回路と、前記出力端子からの出力結果に応じて、前記第１の選択回路における選択を制御する選択制御回路と、を備え、前記選択制御回路は、前記第１の選択回路により前記第１の入力テスト信号が選択された際の前記出力端子からの第１の出力結果がエラーを示す場合に、前記第１の選択回路に対して前記第１の期待値を選択させ、前記第１の出力結果がエラーを示すことに伴い前記第１の選択回路により前記第１の期待値が選択された際の前記出力端子からの第２の出力結果が正常を示す場合に、前記第１の入力テスト信号をエラーと特定し、前記第２の出力結果がエラーを示す場合に、前記第２の入力テスト信号をエラーと特定する。
【００１５】
本発明の第２の態様にかかる半導体集積回路は、第１の態様にかかる故障診断システムに使用される半導体集積回路であって、第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値と、のいずれかを選択して出力する第１の選択回路と、第２の入力テスト信号と、前記第１の選択回路からの出力信号との一致判定結果を出力端子へ出力する第１の論理回路と、を有する第１の圧縮回路を備える。
【００１６】
本発明の第３の態様にかかる故障診断方法は、第１の入力テスト信号と、当該第１の入力テスト信号の期待値である第１の期待値とのうち当該第１の入力テスト信号を選択して出力し、第２の入力テスト信号と、前記選択された第１の入力テスト信号との一致判定結果を出力端子へ出力し、前記出力端子からの第１の出力結果がエラーを示す場合に、前記第１の期待値を選択し、前記第１の期待値が選択された際の前記出力端子からの第２の出力結果が正常を示す場合に、前記第１の入力テスト信号をエラーと特定し、前記第２の出力結果がエラーを示す場合に、前記第２の入力テスト信号をエラーと特定する。
【００１７】
上述した本発明の第１乃至第３の態様により、第１の入力テスト信号と第２の入力テスト信号とのいずれかがエラーである場合に、１つの出力端子を用いて出力結果を２回判定することにより、エラーである信号を特定することができる。すなわち、１回目の判定では、第１の選択回路が第１の入力テスト信号を選択することで、第１の圧縮回路は、第１の入力テスト信号と第２の入力テスト信号との一致判定を行う。当該一致判定結果（第１の出力結果）がエラーを示す場合にはいずれかの信号がエラーであるため、ここでは、第１の入力テスト信号に代えて第１の選択回路が第１の期待値を選択する。そのため、２回目の判定では、第１の圧縮回路は、第１の期待値と第２の入力テスト信号との一致判定を行う。当該一致判定結果（第２の出力結果）が正常を示す場合には第１の期待値と第２の入力テスト信号との双方が正常であることを示す。つまり、第１の入力テスト信号と第１の期待値との値が異なることを示す。そこで、選択制御回路は、第１の入力テスト信号がエラーであると特定する。逆に、第２の出力結果がエラーを示す場合、第１の期待値と第２の入力テスト信号とのいずれかがエラーであることを示す。ここで、第１の期待値は、正常であるため、選択制御回路は、第２の入力テスト信号がエラーであると特定する。
【発明の効果】
【００１８】
本発明により、固定数の出力端子を用いて、複数の入力信号の中から故障の原因となる信号を特定して故障を診断するための故障診断システム、半導体集積回路及び故障診断方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１にかかる故障診断システムの構成を示すブロック図である。
【図２】本発明の実施の形態１にかかる故障診断方法の処理の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかる故障診断システムの構成を示すブロック図である。
【図４】本発明の実施の形態２にかかる故障診断方法の処理の流れを示すフローチャートである。
【図５】本発明の実施の形態２にかかる故障診断方法の処理の流れを示すフローチャートである。
【図６】本発明の実施の形態３にかかる圧縮スキャンテストシステムの構成を示すブロック図である。
【図７】本発明の実施の形態３にかかる圧縮スキャンテストの故障診断処理の流れを示すフローチャートである。
【図８】本発明の実施の形態３にかかる故障箇所追跡処理の流れを示すフローチャートである。
【図９】関連技術にかかる圧縮器の構成を示すブロック図である。
【図１０】関連技術にかかる故障伝播の関係を説明するための図である。
【発明を実施するための形態】
【００２０】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００２１】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかる故障診断システム１０１の構成を示すブロック図である。故障診断システム１０１は、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２とのいずれが、故障に基づくエラーを示す信号であるかを特定して故障の診断を行うためのシステムである。第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２とは、故障診断システム１０１内で発生した信号であるか、故障診断システム１０１の外部から入力された信号であってもよい。
【００２２】
例えば、故障診断システム１０１は、故障診断対象の回路（複数の論理回路やフリップフロップ等を含むもの）を内蔵しているものとする。そして、当該故障診断対象の回路における複数のフリップフロップを、スキャンテスト用に直列に接続し、スキャンチェーン出力信号として出力するものスキャンチェーンと呼ぶものとする。このとき、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２は、２つのスキャンチェーンに対するスキャンテストの結果として出力される出力信号としてもよい。または、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２は、スキャンチェーンからの出力信号自体ではなく、これらに所定の回路を経由させた信号を用いても構わない。
【００２３】
さらに、故障診断システム１０１が、２つの信号を出力する外部の回路を故障診断の対象とすることもできる。この場合、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２は、当該外部の回路における所定のテストの結果として出力される２つの出力信号を用いてもよい。また、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２は、例えば、"ＨＩＧＨ"及び"ＬＯＷ"又は"０"及び"１"といった少なくとも二値のいずれかを示す信号であるとよい。
【００２４】
故障診断システム１０１は、第１の圧縮回路１０と、選択制御回路４０とを備える。第１の圧縮回路１０は、第１の選択回路１１と、第１の論理回路１２と、出力端子１３とを備える。
【００２５】
第１の選択回路１１は、第１の入力テスト信号ＳＩ１と、第１の入力テスト信号ＳＩ１の期待値である第１の期待値ＳＥ１と、のいずれかを選択して出力する。第１の論理回路１２は、第２の入力テスト信号ＳＩ２と、第１の選択回路１１からの出力信号との一致判定結果を出力端子１３へ出力する。ここで、第１の論理回路１２は、入力される２つの信号について値が一致するか否かを判定する。そして、第１の論理回路１２は、当該一致判定結果を一つの信号として出力端子１３へ出力する。一致判定結果は、例えば、２つの信号の値が一致する場合に正常、不一致の場合にエラーを示す値としてもよいし、それぞれの場合でその逆の値としてもよい。出力端子１３は、第１の論理回路１２から出力信号を選択制御回路４０へ出力するための端子である。
【００２６】
選択制御回路４０は、出力端子１３からの出力結果に応じて、第１の選択回路１０における選択を制御する。すなわち、選択制御回路４０は、第１の選択回路１１により第１の入力テスト信号ＳＩ１が選択された際の出力端子１３からの第１の出力結果Ｒ１がエラーを示す場合に、第１の選択回路１１に対して第１の期待値ＳＥ１を選択させる。そして、選択制御回路４０は、第１の出力結果Ｒ１がエラーを示すことに伴い、第１の選択回路１１により第１の期待値ＳＥ１が選択された際の出力端子１３からの第２の出力結果Ｒ２が正常を示す場合に、第１の入力テスト信号ＳＩ１をエラーと特定する。また、選択制御回路４０は、第２の出力結果Ｒ２がエラーを示す場合に、第２の入力テスト信号ＳＩ２をエラーと特定する。
【００２７】
図２は、本発明の実施の形態１にかかる故障診断方法の処理の流れを示すフローチャートである。まず、第１の選択回路１１は、第１の入力テスト信号ＳＩ１を選択する（Ｓ１１）。そのため、第１の論理回路１２は、第１の選択回路１１からの出力信号として第１の入力テスト信号ＳＩ１を受け付ける。同時に、第１の論理回路１２は、第２の入力テスト信号ＳＩ２を受け付ける。
【００２８】
次に、第１の論理回路１２は、第１の入力テスト信号ＳＩ１及び第２の入力テスト信号ＳＩ２の一致判定を行う（Ｓ１２）。そして、第１の論理回路１２は、当該一致判定結果を出力端子１３へ出力する。
【００２９】
その後、選択制御回路４０は、出力端子１３から第１の出力結果Ｒ１として信号を受け付ける。ここで、選択制御回路４０は、第１の出力結果Ｒ１がエラーであるか否かを判定する（Ｓ１３）。第１の出力結果Ｒ１がエラーであると判定した場合、選択制御回路４０は、第１の選択回路１１に対して第１の期待値ＳＥ１を選択させる指示を行う。そして、第１の選択回路１１は、第１の期待値ＳＥ１を選択する（Ｓ１４）。そのため、第１の論理回路１２は、第１の選択回路１１からの出力信号として第１の期待値ＳＥ１を受け付ける。同時に、第１の論理回路１２は、第２の入力テスト信号ＳＩ２を受け付ける。このとき、第２の入力テスト信号ＳＩ２は、変更されていないことが保証されているものとする。
【００３０】
続いて、第１の論理回路１２は、第１の期待値ＳＥ１及び第２の入力テスト信号ＳＩ２の一致判定を行い、一致判定結果を出力端子１３へ出力する。
【００３１】
その後、選択制御回路４０は、出力端子１３から第２の出力結果Ｒ２として信号を受け付ける。ここで、選択制御回路４０は、第２の出力結果が正常であるか否かを判定する（Ｓ１５）。第２の出力結果Ｒ２が正常であると判定した場合、選択制御回路４０は、第１の入力テスト信号ＳＩ１をエラーと特定する（Ｓ１６）。一方、ステップＳ１５において、第２の出力結果Ｒ２がエラーであると判定した場合、選択制御回路４０は、第２の入力テスト信号ＳＩ２をエラーと特定する（Ｓ１７）。
【００３２】
ステップＳ１３において、第１の出力結果Ｒ１がエラーでない、つまり、正常であると判定した場合、選択制御回路４０は、第１及び第２の入力テスト信号ＳＩ１及びＳＩ２がいずれも正常と特定する（Ｓ１８）。
【００３３】
このように、本発明の実施の形態１では、第１の出力結果Ｒ１がエラーである場合には、第１の入力テスト信号ＳＩ１と第２の入力テスト信号ＳＩ２とのいずれかがエラーであることが判明する。そこで、選択制御回路４０の制御により、第１の選択回路１１において第１の入力テスト信号ＳＩ１に代えて第１の期待値ＳＥ１を選択させる。これにより、第１の論理回路１２が２信号の一致判定を行う際の一方が正常であることが前提となる。そこで、第２の出力結果Ｒ２が正常であれば、第１の期待値ＳＥ１と共に第２の入力テスト信号ＳＩ２も正常であることが確定される。よって、第１の入力テスト信号ＳＩ１がエラーであることを特定することができる。逆に、第２の出力結果Ｒ２がエラーであれば、第１の期待値ＳＥ１と第２の入力テスト信号ＳＩ２とのいずれかがエラーであるところ、第１の期待値ＳＥ１は正常であるため、第２の入力テスト信号ＳＩ２がエラーであることを特定することができる。このため、一つの出力端子１３を用いて２信号のいずれがエラーであるかを特定して故障診断を行うことができる。
【００３４】
＜発明の実施の形態２＞
続いて、本発明の実施の形態１に改良を加えた本発明の実施の形態２について説明する。上述した発明の実施の形態１にかかる故障診断システム１０１では、第１の入力テスト信号ＳＩ１及び第２の入力テスト信号ＳＩ２という２つの信号を対象とした。本発明の実施の形態２では、４つの信号を対象としたものである。そして、一つの出力端子を用いて４つの信号におけるエラーを特定するものである。
【００３５】
図３は、本発明の実施の形態２にかかる故障診断システム１０２の構成を示すブロック図である。本発明の実施の形態２にかかる故障診断システム１０２は、上述した第１の圧縮回路１０の前段に、第１の圧縮回路１０と同等の第２の圧縮回路２０と第３の圧縮回路３０とを接続したものである。
【００３６】
故障診断システム１０２は、第３の入力テスト信号ＳＩ３、第４の入力テスト信号ＳＩ４、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６という４つの信号といずれかが、故障に基づくエラーを示す信号であるかを特定して故障の診断を行うためのシステムである。第３の入力テスト信号ＳＩ３、第４の入力テスト信号ＳＩ４、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６は、故障診断システム１０２内で発生した信号であるか、故障診断システム１０２の外部から入力された信号であってもよい。尚、第３の入力テスト信号ＳＩ３、第４の入力テスト信号ＳＩ４、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６は、上述した実施の形態１にかかる第１の入力テスト信号ＳＩ１等と同様に、故障診断システム１０２が内蔵するスキャンチェーンからのスキャンテストの結果の４つの出力信号や外部の回路における所定のテストの結果として出力される４つの出力信号を用いても構わない。故障診断システム１０２は、第１の圧縮回路１０と、第２の圧縮回路２０と、第３の圧縮回路３０と、選択制御回路４０ａとを備える。尚、第１の圧縮回路１０は、図１と同等であるため説明を省略する。
【００３７】
第２の圧縮回路２０は、第２の選択回路２１と、第２の論理回路２２とを備える。第３の圧縮回路３０は、第３の選択回路３１と、第３の論理回路３２とを備える。尚、第２の選択回路２１及び第３の選択回路３１は、第１の選択回路１１と同等の機能を有する。また、第２の論理回路２２及び第３の論理回路３２は、第１の論理回路１２と同等の機能を有する。
【００３８】
第２の選択回路２１は、第３の入力テスト信号ＳＩ３と、第３の入力テスト信号ＳＩ３の期待値である第２の期待値ＳＥ２と、のいずれかを選択して出力する。第２の論理回路２２は、第４の入力テスト信号ＳＩ４と、第２の選択回路２１からの出力信号との一致判定結果を第１の入力テスト信号ＳＩ１として第１の圧縮回路１０へ出力する。
【００３９】
第３の選択回路３１は、第５の入力テスト信号ＳＩ５と、第５の入力テスト信号ＳＩ５の期待値である第３の期待値ＳＥ３と、のいずれかを選択して出力する。第３の論理回路３２は、第６の入力テスト信号ＳＩ６と、第３の選択回路３１からの出力信号との一致判定結果を第２の入力テスト信号ＳＩ２として第１の圧縮回路１０へ出力する。
【００４０】
第１の選択回路１１は、第２の論理回路２２からの出力信号を第１の入力テスト信号ＳＩ１として受け付ける。また、第１の論理回路１２は、第３の論理回路３２からの出力信号を第２の入力テスト信号ＳＩ２として受け付ける。
【００４１】
選択制御回路４０ａは、上述した図１の選択制御回路４０と同等の処理を行う。さらに、選択制御回路４０ａは、以下の処理を行う。選択制御回路４０ａは、第１の入力テスト信号ＳＩ１をエラーと特定した場合、第２の選択回路２１に対して第２の期待値ＳＥ２を選択させる。そして、選択制御回路４０ａは、第１の入力テスト信号ＳＩ１がエラーと特定されたことに伴い第２の選択回路２１により第２の期待値ＳＥ１が選択された際の出力端子１３からの第３の出力結果Ｒ３が正常を示す場合に、第３の入力テスト信号ＳＩ３をエラーと特定する。また、選択制御回路４０ａは、第３の出力結果Ｒ３がエラーを示す場合に、第４の入力テスト信号ＳＩ４をエラーと特定する。
【００４２】
また、選択制御回路４０ａは、第２の入力テスト信号ＳＩ２をエラーと特定した場合、第３の選択回路３１に対して第３の期待値ＳＥ３を選択させる。そして、選択制御回路４０ａは、第２の入力テスト信号ＳＩ２がエラーと特定されたことに伴い第３の選択回路３１により第３の期待値ＳＥ３が選択された際の出力端子１３からの第４の出力結果Ｒ４が正常を示す場合に、第５の入力テスト信号ＳＩ５をエラーと特定する。また、選択制御回路４０ａは、第４の出力結果Ｒ４がエラーを示す場合に、第６の入力テスト信号ＳＩ６をエラーと特定する。
【００４３】
図４及び図５は、本発明の実施の形態２にかかる故障診断方法の処理の流れを示すフローチャートである。まず、第２の選択回路２１は、第３の入力テスト信号ＳＩ３を選択する（Ｓ２１）。そのため、第２の論理回路２２は、第２の選択回路２１からの出力信号として第３の入力テスト信号ＳＩ３を受け付ける。同時に、第２の論理回路２２は、第４の入力テスト信号ＳＩ４を受け付ける。
【００４４】
次に、第２の論理回路２２は、第３の入力テスト信号ＳＩ３及び第４の入力テスト信号ＳＩ４の一致判定を行う（Ｓ２２）。そして、第２の論理回路２２は、当該一致判定結果を第１の入力テスト信号ＳＩ１として第１の選択回路１１へ出力する。
【００４５】
また、ステップＳ２１と並行して、第３の選択回路３１は、第５の入力テスト信号ＳＩ５を選択する（Ｓ２３）。そのため、第３の論理回路３２は、第３の選択回路３１からの出力信号として第５の入力テスト信号ＳＩ５を受け付ける。同時に、第３の論理回路３２は、第６の入力テスト信号ＳＩ６を受け付ける。
【００４６】
次に、第３の論理回路３２は、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６の一致判定を行う（Ｓ２４）。そして、第３の論理回路３２は、当該一致判定結果を第２の入力テスト信号ＳＩ２として第１の論理回路１２へ出力する。
【００４７】
続いて、第１の圧縮回路１０は、図２のステップＳ１１及びＳ１２と同様に、処理を行う。そして、選択制御回路４０ａは、第１の出力結果Ｒ１がエラーであるか否かを判定する（Ｓ１３ａ）。ステップＳ１３ａにおいて、第１の出力結果Ｒ１がエラーでない、つまり、正常であると判定した場合、選択制御回路４０ａは、第３〜第６の入力テスト信号ＳＩ３〜ＳＩ６がいずれも正常と特定する（Ｓ１８ａ）。
【００４８】
また、ステップＳ１３ａにおいて、第１の出力結果Ｒ１がエラーであると判定した場合、選択制御回路４０ａは、第１の選択回路１１に対して第１の期待値ＳＥ１を選択させる指示を行う。ここで、第１の期待値ＳＥ１は、第３の入力テスト信号ＳＩ３及び第４の入力テスト信号ＳＩ４がいずれも正常である場合の期待値である。そして、第１の選択回路１１は、第１の期待値ＳＥ１を選択する（Ｓ１４）。そのため、第１の論理回路１２は、第１の選択回路１１からの出力信号として第１の期待値ＳＥ１を受け付ける。同時に、第１の論理回路１２は、第２の入力テスト信号ＳＩ２を受け付ける。このとき、第２の入力テスト信号ＳＩ２、すなわち、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６の一致判定結果は、変更されていないことが保証されているものとする。
【００４９】
続いて、第１の論理回路１２は、第１の期待値ＳＥ１及び第２の入力テスト信号ＳＩ２の一致判定を行い、一致判定結果を出力端子１３へ出力する。
【００５０】
その後、選択制御回路４０ａは、出力端子１３から第２の出力結果Ｒ２として信号を受け付ける。ここで、選択制御回路４０ａは、第２の出力結果が正常であるか否かを判定する（Ｓ１５ａ）。第２の出力結果Ｒ２が正常であると判定した場合、選択制御回路４０ａは、第１の入力テスト信号ＳＩ１をエラーと特定する（Ｓ１６ａ）。一方、ステップＳ１５ａにおいて、第２の出力結果Ｒ２がエラーであると判定した場合、選択制御回路４０ａは、第２の入力テスト信号ＳＩ２をエラーと特定する（Ｓ１７ａ）。
【００５１】
ステップＳ１６ａの後、選択制御回路４０ａは、第２の選択回路２１に対して第２の期待値ＳＥ２を選択させる指示を行う。そして、第２の選択回路２１は、第２の期待値ＳＥ２を選択する（Ｓ２５）。そのため、第２の論理回路２２は、第２の選択回路２１からの出力信号として第２の期待値ＳＥ２を受け付ける。同時に、第２の論理回路２２は、第４の入力テスト信号ＳＩ４を受け付ける。このとき、第４の入力テスト信号ＳＩ４は、変更されていないことが保証されているものとする。そして、第２の論理回路２２は、第２の期待値ＳＥ２及び第４の入力テスト信号ＳＩ４の一致判定結果を第１の入力テスト信号ＳＩ１として第１の選択回路１１へ出力する。
【００５２】
続いて、選択制御回路４０ａは、第１の選択回路１１に対して第１の入力テスト信号ＳＩ１を選択させる指示を行う。そして、第１の選択回路１１は、第１の入力テスト信号ＳＩ１を選択する（Ｓ２６）。以降、第１の論理回路１２は、第１の入力テスト信号ＳＩ１及び第２の入力テスト信号ＳＩ２の一致判定を行い、一致判定結果を出力端子１３へ出力する。
【００５３】
その後、選択制御回路４０ａは、出力端子１３から第３の出力結果Ｒ３として信号を受け付ける。ここで、選択制御回路４０ａは、第３の出力結果Ｒ３が正常であるか否かを判定する（Ｓ２７）。第３の出力結果Ｒ３が正常であると判定した場合、選択制御回路４０ａは、第３の入力テスト信号ＳＩ３をエラーと特定する（Ｓ２８）。一方、ステップＳ２７において、第３の出力結果Ｒ３がエラーであると判定した場合、選択制御回路４０ａは、第４の入力テスト信号ＳＩ４をエラーと特定する（Ｓ２９）。
【００５４】
ステップＳ１７ａの後、選択制御回路４０ａは、第３の選択回路３１に対して第３の期待値ＳＥ３を選択させる指示を行う。そして、第３の選択回路３１は、第３の期待値ＳＥ３を選択する（Ｓ３０）。そのため、第３の論理回路３２は、第３の選択回路３１からの出力信号として第３の期待値ＳＥ３を受け付ける。同時に、第３の論理回路３２は、第６の入力テスト信号ＳＩ６を受け付ける。このとき、第６の入力テスト信号ＳＩ６は、変更されていないことが保証されているものとする。そして、第３の論理回路３２は、第３の期待値ＳＥ３及び第６の入力テスト信号ＳＩ６の一致判定結果を第２の入力テスト信号ＳＩ２として第１の論理回路１２へ出力する。以降、第１の論理回路１２は、第１の入力テスト信号ＳＩ１及び第２の入力テスト信号ＳＩ２の一致判定を行い、一致判定結果を出力端子１３へ出力する。
【００５５】
その後、選択制御回路４０ａは、出力端子１３から第４の出力結果Ｒ４として信号を受け付ける。ここで、選択制御回路４０ａは、第４の出力結果Ｒ４が正常であるか否かを判定する（Ｓ３１）。第４の出力結果Ｒ４が正常であると判定した場合、選択制御回路４０ａは、第５の入力テスト信号ＳＩ５をエラーと特定する（Ｓ３２）。一方、ステップＳ３１において、第４の出力結果Ｒ４がエラーであると判定した場合、選択制御回路４０ａは、第６の入力テスト信号ＳＩ６をエラーと特定する（Ｓ３３）。
【００５６】
このように、本発明の実施の形態２では、まず、選択回路のうち出力端子１３に最も近い第１の選択回路１１における選択制御により、第１の圧縮回路１０に対する２つの入力信号のいずれかがエラーであるかを特定する。つまり、エラーが特定された側の入力信号を出力している圧縮回路が特定される。そして、当該特定された圧縮回路に入力される２つの入力信号のいずれか一方がエラーであることがわかる。逆に、第１の圧縮回路１０に対する他方の圧縮回路へ入力される２つの入力信号については、正常であることが確定される。
【００５７】
そして、当該特定された圧縮回路に含まれる選択回路に対して期待値を選択させる。その結果、出力端子１３から出力される出力結果に応じて、当該特定された圧縮回路に入力される入力信号のいずれがエラーであるかを特定することができる。このため、一つの出力端子１３を用いて４信号のいずれがエラーであるかを特定して故障診断を行うことができる。
【００５８】
＜発明の実施の形態３＞
図６は、本発明の実施の形態３にかかる圧縮スキャンテストシステム２００の構成を示すブロック図である。圧縮スキャンテストシステム２００は、圧縮スキャンテスト回路２１０と、テスタ２２０とを備える。圧縮スキャンテスト回路２１０は、スキャンチェーン２１１と、圧縮器２１２と、外部観測端子２１３と、ＥＸＯＲ入力期待値生成回路２１４と、セレクタ制御回路２１５とを備える。
【００５９】
スキャンチェーン２１１は、複数のスキャンチェーンからそれぞれ出力信号を出力する。スキャンチェーンとは、任意の回路における複数のフリップフロップを、スキャンテスト用に直列に接続し、スキャンチェーン出力信号として出力するものである。尚、図６では、スキャンチェーン出力信号が８つであるが、これに限定されない。
【００６０】
圧縮器２１２は、スキャンチェーン２１１からの複数の出力信号を受け付け、これらの信号を一つの信号に圧縮し、外部観測端子２１３から出力するものである。圧縮器２１２は、ＥＸＯＲ回路４１１、４１２、４１３、４１４、４２１、４２２及び４３１と、セレクタ３１１、３１２、３１３、３１４、３２１、３２２及び３３１とを備える。ＥＸＯＲ回路は、入力される２つの信号の排他的論理和を行い、その結果を出力する。つまり、各ＥＸＯＲ回路は、入力される２つの信号を圧縮して１つの信号として出力する。また、各セレクタは、それぞれ後述するＥＸＯＲ入力期待値生成回路２１４から出力される期待値を接続し、後述するセレクタ制御回路２１５からの制御信号に基づき、２入力のいずれかを選択する。
【００６１】
各ＥＸＯＲ回路は、外部観測端子２１３からスキャンチェーン２１１に向けてツリー状に構成されている。また、各ＥＸＯＲ回路の一方の入力には、スキャンチェーン２１１に基づく出力信号を接続し、他方の入力には、セレクタの出力信号を接続する。そのため、ＥＸＯＲ回路４１１〜４１４は、一方の入力にスキャンチェーン出力信号を直接接続し、他方の入力にそれぞれセレクタ３１１〜３１４を接続する。セレクタ３１１〜３１４のそれぞれは、一方の入力にスキャンチェーン２１１からのスキャンチェーン出力信号のうちＥＸＯＲ回路４１１〜４１４に接続されていない信号を接続し、他方の入力に、ＥＸＯＲ入力期待値生成回路２１４から出力される期待値を接続する。
【００６２】
また、ＥＸＯＲ回路４２１は、一方の入力にＥＸＯＲ回路４１１からの出力信号を接続し、他方の入力にセレクタ３２１を接続する。そして、セレクタ３２１は、一方の入力にＥＸＯＲ回路４１２からの出力信号を接続し、他方の入力に、ＥＸＯＲ入力期待値生成回路２１４から出力される信号を接続する。また、ＥＸＯＲ回路４２２は、一方の入力にＥＸＯＲ回路４１３からの出力信号を接続し、他方の入力にセレクタ３２２を接続する。そして、セレクタ３２２は、一方の入力にＥＸＯＲ回路４１４からの出力信号を接続し、他方の入力に、ＥＸＯＲ入力期待値生成回路２１４から出力される信号を接続する。
【００６３】
そして、ＥＸＯＲ回路４３１は、一方の入力にＥＸＯＲ回路４２１からの出力信号を接続し、他方の入力にセレクタ３３１を接続する。つまり、ＥＸＯＲ回路４３１は、第１の入力テスト信号及び前記第２の入力テスト信号を入力するものということができるが、第１の入力テスト信号及び前記第２の入力テスト信号は、スキャンテストにおける異なるスキャンチェーンからの出力に基づく信号であるといえる。そして、セレクタ３３１は、一方の入力にＥＸＯＲ回路４２２からの出力信号を接続し、他方の入力に、ＥＸＯＲ入力期待値生成回路２１４から出力される信号を接続する。そして、ＥＸＯＲ回路４３１は、排他的論理和の結果を外部観測端子２１３へ出力する。これにより、テスタ２２０は、８つのスキャンチェーン出力信号についてのスキャンテスト結果について、一か所の外部観測端子２０６から観測することができる。
【００６４】
セレクタ制御回路２１５は、セレクタ３１１〜３１４、３２１、３２２及び３３１のそれぞれに対して信号を選択するための選択制御信号を出力する。このとき、セレクタ制御回路２１５は、任意の時刻において、複数のセレクタのうちいずれか一つがＥＸＯＲ入力期待値生成回路２１４からの期待値の信号を選択させ、他のセレクタには当該期待値の信号を選択させないように選択制御信号を生成して出力する。尚、セレクタ制御回路２１５は、所定の圧縮スキャンパタンに基づいて選択制御信号を生成するものとする。
【００６５】
ＥＸＯＲ入力期待値生成回路２１４は、任意の時刻において、セレクタの一方の入力に接続されている信号の期待値を生成する回路である。
【００６６】
テスタ２２０は、圧縮スキャンテスト回路２１０内に含まれる所定の回路に対する圧縮スキャンテストを制御する装置である。テスタ２２０は、外部観測端子２１３からの出力信号を受け付け、スキャンチェーン２１１、ＥＸＯＲ入力期待値生成回路２１４及びセレクタ制御回路２１５に対して各種制御を行う。テスタ２２０は、スキャンチェーン２１１内の複数のスキャンチェーンに対して圧縮スキャンテストの実行を指示する。そして、テスタ２２０は、外部観測端子２１３からの出力信号が示す出力結果に応じて、ＥＸＯＲ入力期待値生成回路２１４に対して期待値の生成を指示する。また、テスタ２２０は、上記出力結果に応じて、セレクタ制御回路２１５に対して上述した選択制御信号を生成して出力する。さらに、テスタ２２０は、上記出力結果に応じて、スキャンチェーン２１１に対して再度の圧縮スキャンテストの実行を指示する。尚、テスタ２２０は、例えば、汎用的なコンピュータであるか専用装置であってもよい。
【００６７】
図７は、本発明の実施の形態３にかかる圧縮スキャンテストの故障診断処理の流れを示すフローチャートである。まず、圧縮スキャンテスト回路２１０は、全てのセレクタがスキャンチェーンの入力を選択するように制御する（Ｓ４１）。具体的には、テスタ２２０は、セレクタ制御回路２１５に対して全てのセレクタがスキャンチェーンの入力を選択するための圧縮スキャンパタンを指定する。そして、セレクタ制御回路２１５は、圧縮スキャンパタンに基づいて、セレクタ３１１〜３１４に対して、スキャンチェーン出力信号を選択させ、セレクタ３２１、３２２及び３３１に対して、前段のＥＸＯＲ回路からの出力信号を選択させるための選択制御信号を生成し、出力する。その後、テスタ２２０は、スキャンチェーン２１１に対して、圧縮スキャンテストの実行を指示する。
【００６８】
次に、テスタ２２０は、スキャンテスト結果が正常であるか否かを判定する（Ｓ４２）。ここで、スキャンテスト結果が正常であると判定した場合、テスタ２２０は、スキャンチェーン２１１にかかる回路に故障なしと診断する（Ｓ４３）。そして、圧縮スキャンテストシステム２００は、故障診断処理を終了する。
【００６９】
ステップＳ４２において、スキャンテスト結果が正常でないと判定した場合、テスタ２２０は、ＦＡＩＬアドレスを採取する（Ｓ４４）。つまり、テスタ２２０は、圧縮スキャンパタン上のＦＡＩＬ時刻を抽出し、故障診断対象となるパタンアドレスを決定する。そして、採取したパタンアドレスを元に、図８に示す故障箇所追跡処理（Ｓ４５）に従い、逐次、生成した圧縮スキャンパタンをアップデートして、再スキャンテストを行う。
【００７０】
図８は、本発明の実施の形態３にかかる故障箇所追跡処理の流れを示すフローチャートである。まず、テスタ２２０は、圧縮スキャンパタンをアップデートする際に使用する変数Ｎ及びＭの初期設定を行う（Ｓ５１）。具体的には、"Ｎ＝１"及び"Ｍ＝圧縮器２１２内部のＥＸＯＲの最大段数"として設定する。図６の例では、"Ｍ＝３"となる。
【００７１】
次に、テスタ２２０は、"Ｎ＝１"であるか否かを判定する（Ｓ５２）。"Ｎ＝１"であると判定した場合、すなわち、スキャンテストが初回であった場合、最後段のセレクタ３３１のみが期待値を選択する（Ｓ５３）。すなわち、テスタ２２０は、圧縮スキャンパタンを更新し、セレクタ制御回路２１５は、外部観測端子２１３に直結したＥＸＯＲ回路４３１に接続されたセレクタ３３１のみが期待値を選択するように選択制御信号を生成し、出力する。
【００７２】
ステップＳ５２において、"Ｎ＝１"でないと判定した場合、スキャンテストが２回目以降であった場合、直前のスキャンテスト結果において故障が特定された側のＥＸＯＲ回路に接続されたセレクタのみが期待値を選択する（Ｓ５４）。すなわち、テスタ２２０は、圧縮スキャンパタンを更新し、セレクタ制御回路２１５は、該当するセレクタのみが期待値を選択するように選択制御信号を生成し、出力する。
【００７３】
その後、テスタ２２０は、再度、圧縮スキャンテストを実行する。その結果、テスタ２２０は、再スキャンテスト結果が正常であるか否かを判定する（Ｓ５５）。再スキャンテスト結果が正常であると判定した場合、テスタ２２０は、期待値を選択したセレクタ側の入力信号を故障と特定する（Ｓ５６）。例えば、セレクタ３３１が期待値を選択していた場合、ＥＸＯＲ回路４２１に入力される各スキャンチェーン出力信号は正常であることが確定される。そして、この場合、ＥＸＯＲ回路４２２に入力される各スキャンチェーン出力信号のいずれかがエラーであるといえる。
【００７４】
ステップＳ５５において、再スキャンテスト結果が正常でないと判定した場合、テスタ２２０は、期待値を選択したセレクタ側ではない側（非セレクタ側）の入力信号を故障と特定する（Ｓ５７）。例えば、セレクタ３３１が期待値を選択していた場合、ＥＸＯＲ回路４２１に入力される各スキャンチェーン出力信号のいずれかがエラーであるといえる。
【００７５】
ここで、テスタ２２０は、ＮがＭより大きいか否かを判定する（Ｓ５８）。すなわち、Ｎが圧縮器２１２内部のＥＸＯＲの最大段数以下であるか否かを判定する。ＮがＭ以下と判定した場合、テスタ２２０は、Ｎに１を加算する（Ｓ５９）。以降、ＮがＭを超えるまで、ステップＳ５２からＳ５８を繰り返す。
【００７６】
また、ステップＳ５８において、ＮがＭより大きいと判定した場合、図７のステップＳ４６へ進む。外部観測端子２１３から全てのＥＸＯＲ回路のツリーを辿って、スキャンチェーン２１１へ到達しているため、圧縮スキャンパタンのアップデートから再スキャンテストの一連の処理の繰り返しは完了となる。
【００７７】
図７に戻って説明する。テスタ２２０は、ＦＡＩＬとなったフリップフロップを特定する（Ｓ４６）。つまり、スキャンテストが不合格となっている原因のスキャンチェーンのフリップフロップを特定する。これにより、圧縮スキャンテストシステム２００は、故障診断処理を終了する。
【００７８】
例えば、Ｎ＝１のとき、ＥＸＯＲ回路のツリー構造における第１段（ＥＸＯＲ回路４３１）におけるエラーの判定を行い、Ｎ＝２のとき、第２段（ＥＸＯＲ回路４２１又は４２２）におけるエラーの判定を行い、Ｎ＝３のとき、第３弾（ＥＸＯＲ回路４１１〜４１４）におけるエラーの判定を行うことができる。これにより、複数のスキャンチェーン出力信号のうちいずれがエラーであるかについて、一つの外部観測端子２１３からの出力結果を用いて特定することができる。
【００７９】
このように、上述の診断結果により圧縮スキャンテストが不合格となる原因となっているスキャンチェーンの特定が可能である。また、外部観測端子２１３から不合格が観測されるテストサイクルから、スキャンチェーンの何番目に不合格の原因があるかが算出できる。そのため、これらの結果を組み合わせる事で、スキャンテストが不合格となっている原因のスキャンチェーンと、不合格となっている原因のフリップフロップを特定することができる。
【００８０】
ここで、本発明の実施の形態３は、以下のように言い換えることができる。すなわち、本発明の実施の形態３は、複数のスキャンチェーンと前記複数のスキャンチェーンのスキャン出力と外部出力ピンとの間に圧縮器を備えるスキャンテスト回路である。ここで、前記圧縮器は、複数のＥＸＯＲがツリー状に構成されている。そして、前記ＥＸＯＲの一方の入力に、当該スキャンチェーンの出力と、ある値に設定された当該スキャンチェーンの出力期待値のいずれかを選択するセレクタを有する。前記セレクタの制御は、前記スキャンテスト回路を用いたスキャンテスト手法において、先ず、全てのセレクタがスキャンチェーンの出力を選択した状態でスキャンテストを実施する。次に、前記スキャンテストの結果が不合格の場合に、前記圧縮器のＥＸＯＲのツリー構成の最後段からセレクタを順次に前記当該スキャンチェーンの出力期待値を選択して再スキャンテストを実施する。そして、各再スキャンテストの度にテスト結果を観測する。これにより、前記セレクタのどちらの入力にエラーが存在するかを確認する。そして、前記エラーが存在する入力側をバックトレースする如く前記ツリー構成の最前段まで前記再スキャンテストを繰り返す。これにより、圧縮スキャンテストにおいてスキャンテスト結果を観測する外部端子を増やすことなく、スキャンテストが不合格となる原因となっているスキャンチェーンを特定する事が可能となる。
【００８１】
以上のことから、本発明の実施の形態３の効果は、内部スキャンチェーン数に伴う外部観測端子数の増加を必要とせず、排他的論理和回路で圧縮器を構成する圧縮スキャンシステムにおいて故障診断を行うことができることである。その理由は、任意の一つのＥＸＯＲ回路の一方の入力に、本来伝播するべき期待値を強制的に入力して、外部観測端子の応答を確認する事で、ＥＸＯＲ回路の他方の入力値が正常か否かを判断する事が可能になるからである。そのため、固定数の出力端子を用いて、複数の入力信号の中から故障の原因となる信号を特定して故障を診断することができる。
【００８２】
＜その他の発明の実施の形態＞
上述した本発明の実施の形態１及び２にかかる第１の論理回路は、ＥＸＯＲ回路又はＥＸＮＯＲ回路であることが望ましい。尚、その他の一致判定結果を出力する論理回路であってもよい。
【００８３】
また、本発明の実施の形態３にかかるＥＸＯＲ回路は、ＥＸＮＯＲ回路であってもよく、セレクタは、それに相当する回路であればよい。
【００８４】
尚、第１の圧縮回路１０に相当する末端の回路を複数有しても構わない。その場合であっても、各圧縮回路の前段に、都度、圧縮回路をツリー状に追加すればよい。
【００８５】
尚、３つの入力テスト信号を対象とする場合、本発明の実施の形態２にかかる故障診断システム１０２において、第２の圧縮回路２０又は第３の圧縮回路３０は、いずれか一方を用いればよい。または、第４の入力テスト信号ＳＩ４又は第６の入力テスト信号ＳＩ６のいずれかを期待値の信号としてもよい。
【００８６】
さらに、本発明の実施の形態２にかかる故障診断システム１０２は、入力される信号の本数の増加に合わせて、前段に圧縮回路を追加することで、一つの出力端子で、複数の信号のエラー箇所を特定できる。すなわち、第３の入力テスト信号ＳＩ３、第４の入力テスト信号ＳＩ４、第５の入力テスト信号ＳＩ５及び第６の入力テスト信号ＳＩ６の前段にそれぞれ第２の圧縮回路２０と同等の圧縮回路を備えるようにすればよい。
【００８７】
また、本発明の実施の形態２にかかる故障診断システム１０２において、例えば、第３の圧縮回路３０を用いず、第２の圧縮回路２０を用いた場合、第２の圧縮回路２０の前段に複数の圧縮回路を備えることで、同様の効果を得ることができる。
【００８８】
尚、本発明の実施の形態１及び２にかかる故障診断システム１０１及び１０２における各圧縮回路及び選択制御回路は、ハードウェアであるものとして説明をしていたが、これに限定されない。例えば、上述した選択制御回路における各種処理は、コンピュータプログラムにより実装され、汎用的なコンピュータに搭載された記憶装置に記憶され、ＣＰＵ等の制御手段により当該記憶装置からプログラムを読み出して実行することにより実現しても構わない。その場合、当該コンピュータプログラムは、故障診断ツールとして用いることもできる。また、上述した選択制御回路を、図６のように、セレクタ制御回路２１５とテスタ２２０のように、ハードウェアとソフトウェアとに分けて実現しても構わない。
【００８９】
尚、本発明の実施の形態３にかかる圧縮スキャンテスト回路２１０は、外部観測端子２１３を複数備え、それぞれ異なるスキャンチェーン群からの出力信号を圧縮するようにしても構わない。その場合、それぞれの外部観測端子について、図６に示したようなＥＸＯＲ回路のツリー構想を備えればよい。
【００９０】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００９１】
１０１  故障診断システム
１０２  故障診断システム
１０  第１の圧縮回路
１１  第１の選択回路
１２  第１の論理回路
１３  出力端子
２０  第２の圧縮回路
２１  第２の選択回路
２２  第２の論理回路
３０  第３の圧縮回路
３１  第３の選択回路
３２  第３の論理回路
４０  選択制御回路
４０ａ  選択制御回路
ＳＩ１  第１の入力テスト信号
ＳＩ２  第２の入力テスト信号
ＳＩ３  第３の入力テスト信号
ＳＩ４  第４の入力テスト信号
ＳＩ５  第５の入力テスト信号
ＳＩ６  第６の入力テスト信号
ＳＥ１  第１の期待値
ＳＥ２  第２の期待値
ＳＥ３  第３の期待値
Ｒ１  第１の出力結果
Ｒ２  第２の出力結果
Ｒ３  第３の出力結果
Ｒ４  第４の出力結果
２００  圧縮スキャンテストシステム
２１０  圧縮スキャンテスト回路
２１１  スキャンチェーン
２１２  圧縮器
２１３  外部観測端子
２１４  ＥＸＯＲ入力期待値生成回路
２１５  セレクタ制御回路
２２０  テスタ
３１１  セレクタ
３１２  セレクタ
３１３  セレクタ
３１４  セレクタ
３２１  セレクタ
３２２  セレクタ
３３１  セレクタ
４１１  ＥＸＯＲ回路
４１２  ＥＸＯＲ回路
４１３  ＥＸＯＲ回路
４１４  ＥＸＯＲ回路
４２１  ＥＸＯＲ回路
４２２  ＥＸＯＲ回路
４３１  ＥＸＯＲ回路
９００  圧縮器
ＥＯＲ１〜ＥＯＲ３  排他的論理和回路
ＳＯ１〜ＳＯ７  スキャンチェーン出力
ＰＯ１〜ＰＯ３  外部観測端子
【図１】
2012141231.tif 000003
【図２】
2012141231.tif 000004
【図３】
2012141231.tif 000005
【図４】
2012141231.tif 000006
【図５】
2012141231.tif 000007
【図６】
2012141231.tif 000008
【図７】
2012141231.tif 000009
【図８】
2012141231.tif 000010
【図９】
2012141231.tif 000011
【図１０】
2012141231.tif 000012