(57)【要約】  高速な遅延テストを実現することが可能な半導体テスト装置、半導体装置および試験方法を提供する。  半導体テスト装置１ａ〜１ｃは、第１入力端子ＳＩと、第２入力端子Ｄと、第１モードと第２モードのいずれかを示すモード信号を受け付けるモード端子ＳＥと、クロック信号を受け付けるクロック端子ＣＫと、出力端子Ｑと、を備え、モード信号が第１モードを示す場合に第１入力端子ＳＩを選択し、モード信号が第２モードを示す場合に第２入力端子Ｄを選択し、モード信号に基づいて選択された入力端子が受け付けている情報をクロック信号に同期して保持して出力端子Ｑから出力するフリップフロップ１１と、設定値を保持し、当該設定値を第１入力端子ＳＩに提供する保持部１２と、を含む。
2009084424.tif 000002
【特許請求の範囲】
【請求項１】
第１入力端子と、第２入力端子と、第１モードと第２モードのいずれかを示すモード信号を受け付けるモード端子と、クロック信号を受け付けるクロック端子と、出力端子と、を備え、前記モード信号が前記第１モードを示す場合に前記第１入力端子を選択し、前記モード信号が前記第２モードを示す場合に前記第２入力端子を選択し、前記モード信号に基づいて選択された入力端子が受け付けている情報を前記クロック信号に同期して保持して前記出力端子から出力するフリップフロップと、
設定値を保持し、当該設定値を前記第１入力端子に提供する保持手段と、を含む半導体テスト装置。
【請求項２】
前記設定値は、テスト用初期値である、請求の範囲第１項に記載の半導体テスト装置。
【請求項３】
請求の範囲第１項または第２項に記載の半導体テスト装置を複数有し、各半導体テスト装置の第２入力端子は、当該第２入力端子に対応する試験対象論理回路内の出力端子と接続され、各半導体テスト装置の出力端子は、当該出力端子に対応する試験対象論理回路内の入力端子と接続されたテスト手段と、
比較用情報を格納する格納手段と、
前記格納手段に格納された比較用情報と前記テスト手段内の各出力端子からの出力とを比較し、当該比較の結果を出力する比較判定手段と、を含む半導体装置。
【請求項４】
前記比較用情報は、動作期待値である、請求の範囲第３項に記載の半導体装置。
【請求項５】
前記比較判定手段は、複数の比較手段を含み、
前記複数の半導体テスト装置のそれぞれは、前記複数の比較手段のいずれかと対応し、
前記複数の比較手段のそれぞれは、対応する半導体テスト装置内の出力端子からの出力と前記比較用情報とを比較し、当該比較の結果を出力し、
前記複数の比較手段のそれぞれからの比較の結果に基づいてエラー判定を行う判定手段をさらに含む、請求の範囲第３項または第４項に記載の半導体装置。
【請求項６】
前記比較判定手段は、前記複数の半導体テスト装置のうちの２台以上の特定半導体テスト装置と対応する、少なくとも１台の比較手段を含み、
各特定半導体テスト装置の出力端子からの出力を、択一的に、前記比較手段に提供する切替手段をさらに含み、
前記比較手段は、前記各特定半導体テスト装置内の出力端子からの出力と前記比較用情報とを比較し、当該比較の結果を出力する、請求の範囲第３項または第４項に記載の半導体装置。
【請求項７】
前記複数の比較手段のそれぞれは、前記複数の半導体テスト装置のいずれかと１対１で対応する、請求の範囲第５項に記載の半導体装置。
【請求項８】
出力制御用情報を記憶する記憶手段と、
前記記憶手段内の出力制御用情報に基づいて、前記比較判定手段からの前記比較の結果を出力する状態と、予め定められた値を出力する状態と、に切り替わる制御手段と、をさらに含む、請求の範囲第３項、第４項、第５項または第７項に記載の半導体装置。
【請求項９】
前記出力制御情報は、前記半導体テスト装置の出力が不定状態であるか否かを示す、請求の範囲第８項に記載の半導体装置。
【請求項１０】
前記比較判定手段からの前記比較の結果に基づいて、前記記憶手段内の出力制御用情報を更新する更新手段をさらに含む、請求の範囲第８項または第９項に記載の半導体装置。
【請求項１１】
前記比較判定手段からの前記比較の結果を、任意のタイミングで、前記第１入力端子に提供する提供手段をさらに含む、請求の範囲第３項、第４項、第５項、第７項、第８項、第９項または第１０項に記載の半導体装置。
【請求項１２】
請求の範囲第１項または第２項に記載の半導体テスト装置を複数有し、各半導体テスト装置の第２入力端子は、当該第２入力端子に対応する試験対象論理回路内の出力端子と接続され、各半導体テスト装置の出力端子は、当該出力端子に対応する試験対象論理回路内の入力端子と接続されるテスト装置を用いる試験方法であって、
前記複数の半導体テスト装置にて、前記第１モードを示すモード信号を前記モード端子に提供している状況で、前記クロック端子にクロック信号を提供し、その後、前記第２モードを示すモード信号を前記モード端子に提供している状況で、前記クロック端子に２回クロック信号を提供して前記出力端子から試験結果を出力する一連の動作を、複数回行う試験方法。
【請求項１３】
前記複数の半導体テスト装置のいずれか１つが有する出力端子を正誤判断回路と接続した状態で、前記一連の動作を所定回数実行し、
前記一連の動作を前記所定回数実行すると、前記正誤判断回路と接続する出力端子を、前記各半導体テスト装置の出力端子のうち、前記正誤判断回路と未だ接続されていない出力端子に切り替え、前記一連の動作を１回以上再度実行する、切り替え実行動作を１回以上行う、請求の範囲第１２項に記載の試験方法。
【請求項１４】
前記切り替え実行動作を、前記各半導体テスト装置の出力端子の全てが前記正誤判断回路と接続されるまで行う、請求の範囲第１３項に記載の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体テスト装置、半導体装置および試験方法に関する。
【背景技術】
【０００２】
半導体装置（例えば、ＬＳＩ：Large  Scale  Integration）が正常に動作しているかどうかを判定する試験は、製品出荷段階および故障解析などの製造段階で、不可欠な技術となっている。【０００３】
この種の一般的な試験としては、信号線のオープン故障もしくはショート故障によって信号が“０”または“１”に縮退する縮退故障を検出するための低速試験手法が用いられていた。【０００４】
しかし、近年のＬＳＩの微細化にともないＬＳＩの動作速度が速くなったため、低速試験手法では検出できない遅延故障が増加している。遅延故障とは、信号変化がフリップフロップ（以下「ＦＦ」とも称する。）間を規定時間内に伝わらない故障である。【０００５】
一般的に、ＬＳＩの試験では、テストパターンが外部からＬＳＩに入力され、ＬＳＩの出力信号が期待値と一致しているかどうかが解析される。【０００６】
ＬＳＩの状態を観測する最も簡単な方法は、観測したいノードの信号を、ＬＳＩの外部出力用ピンを介して、チップ外部へ出力する方法である。しかしながら、一般的に、ＬＳＩの外部出力用ピンの数は、全ての内部ノードの数よりも少ない。このため、全ての内部ノードの信号を、ＬＳＩの外部出力用ピンを介して外部へ取り出すことは不可能である。【０００７】
そこで、観測性を高める手法として、スキャン法が考えられている。【０００８】
スキャン法では、回路中のＦＦがスキャンフリップフロップ（以下「スキャンＦＦ」とも称する。）に置き換えられ、スキャンＦＦが直列に接続される。【０００９】
スキャンＦＦは、試験対象の論理回路からの信号を受け付けるデータ入力端子、テストパターンを受け付けるスキャンイン端子、モード信号を受け付けるモード端子、クロック端子、および、出力端子を含み、また、テストモードと通常モードとを有している。なお、テストパターンは、各スキャンＦＦに設定される初期値から構成される。【００１０】
モード信号がテストモードを示す場合では、直列に接続されたスキャンＦＦは、シフトレジスタとして動作し、データ入力端子とスキャンイン端子のうち、スキャンイン端子からの入力を受け付け、回路内部（自己）の状態を、スキャンイン端子に入力された指示（テストパターン内の自己に対応する初期値）に基づいて設定（スキャンイン）する。また、スキャンＦＦは、テストモードでは、回路内部（自己）状態を外部に出力（スキャンアウト）する。【００１１】
モード信号が通常モードを示す場合では、スキャンＦＦは、データ入力端子とスキャンイン端子のうち、データ入力端子からの入力（試験対象の論理回路からの信号）を受け付け、通常のＦＦとして動作し論理回路の試験を実施する。【００１２】
遅延テストでは、回路内の２つのＦＦ間において、一方のＦＦから出力された信号により引き起こされた回路動作が、規定時間内に、もう一方のＦＦにラッチされたか否かが解析される。スキャン法は、回路内のＦＦの初期値を設定しテスト結果を観測する手法として、遅延テストでも有効である。このため、スキャン法は、広く利用されている。【００１３】
スキャン法を用いた遅延テストでは、はじめに、スキャンＦＦが、テストモードで動作され、スキャンＦＦの状態が、スキャンイン端子からのテストパターンに基づいて、任意（具体的には、テストパターンに含まれる初期値）に設定される。このとき、スキャンＦＦの出力は、初期値となる。【００１４】
次に、スキャンＦＦは通常モードに設定される。よって、スキャンＦＦでは、データ入力端子からの入力が有効になる。通常モードのスキャンＦＦは、２クロックの間だけ、あるテスト周波数で通常動作を行い論理回路の動作テストを行う。このとき、スキャンＦＦでは、信号遷移がはじめのクロックで引き起こされ、この信号遷移が論理回路に入力される。論理回路の動作結果が、次のクロックでスキャンＦＦにラッチされる。【００１５】
次に、スキャンＦＦは再びテストモードに設定される。テストモードの各スキャンＦＦは、シフトレジスタとして動作し、ラッチした結果を、クロックの入力にしたがってチップ外部へ出力する。その出力結果に基づいて、正誤判断が行われる。【００１６】
以下、同じテストパターンを用い、異なるテスト動作周波数で、上記テスト動作が繰り返し行われ、結果の正誤判断を行うことにより、遅延故障が検出される。【００１７】
特許文献１〜５には、スキャンＦＦに新たな機能を追加して効率的なテストを行うための技術が記載されている。【００１８】
特許文献１および特許文献２には、スキャンＦＦを２つのラッチとみなし、さらにラッチを追加することで、複数の値をスキャンＦＦ内に保持する技術が記載されている。これにより、遅延テストにおけるテストパスの活性化が容易になる。【００１９】
特許文献３および特許文献４には、スキャンＦＦ内に新しくＦＦを追加し、新たな値を保持する技術が記載されている。これにより、あるＦＦ値を直接外部に出力することによって、スキャンアウトが不要にされる、もしくは、比較機能を用いて、ＦＦの演算結果がスキャンアウトされる。【００２０】
また、特許文献５には、テスト結果を論理回路で圧縮して故障位置を特定する手法が記載されている。
【特許文献１】特開２００７−１８７４５８号公報
【特許文献２】特開２００２−１２４８５２号公報
【特許文献３】特開平５−６０８３５号公報
【特許文献４】特開平１０−３３９７６２号公報
【特許文献５】特開２００４−３６１３５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
特許文献１〜５に記載のスキャンＦＦでは、テストごとに、スキャンイン動作が必要である。【００２２】
しかしながら、スキャン動作は、テストのための補助的な機能に過ぎない。このため、スキャン動作は、設計上最適化されないことが多く、１回のスキャン動作に長い時間が必要になる。そのため、一般的に、遅延テストでは、仕様にて規定されている周波数と、動作マージンを見込んだ周波数など、２、３種類の周波数を用いたテストしか行われない。一方で、故障検出率を上げるには、同一パターンにおけるテストの周波数の種類を増やす必要ある。【００２３】
よって、高品質なテストのためには、スキャン動作の繰り返しが避けられない。したがって、スキャン動作の繰り返しにより、テスト時間が増大してしまうという問題点があった。【００２４】
具体的には、テストごとに同じテストパターンを何度も再スキャンインすることが、テスト時間が増大する１つの原因となる。以下、この点について説明する。【００２５】
初期値が、スキャンインにより、テストパターンにしたがってスキャンＦＦ内に設置されても、スキャンＦＦ内の初期値は、あるテスト動作周波数で信号遷移が引き起こされる瞬間に、失われてしまう。そのため、次のテスト周波数でテストを行うためには、各スキャンＦＦをテストモードにして、テストパターンが再びスキャンイン（シフトレジスタでの転送を利用して初期値を設定）される必要がある。【００２６】
本発明の目的は、上述した課題を解決することが可能な半導体テスト装置、半導体装置および試験方法を提供することである。
【課題を解決するための手段】
【００２７】
本発明による半導体テスト装置は、第１入力端子と、第２入力端子と、第１モードと第２モードのいずれかを示すモード信号を受け付けるモード端子と、クロック信号を受け付けるクロック端子と、出力端子と、を備え、モード信号が第１モードを示す場合に第１入力端子を選択し、モード信号が第２モードを示す場合に第２入力端子を選択し、モード信号に基づいて選択された入力端子が受け付けている情報をクロック信号に同期して保持して出力端子から出力するフリップフロップと、設定値を保持し当該設定値を第１入力端子に提供する保持部と、を含む。【００２８】
本発明による半導体装置は、上記半導体テスト装置を複数有し、各半導体テスト装置の第２入力端子は、当該第２入力端子に対応する試験対象論理回路内の出力端子と接続され、各半導体テスト装置の出力端子は、当該出力端子に対応する試験対象論理回路内の入力端子と接続されたテスト部と、比較用情報を格納する格納部と、格納部に格納された比較用情報とテスト部内の各出力端子からの出力とを比較し、当該比較の結果を出力する比較判定部と、を含む。【００２９】
本発明による試験方法は、半導体テスト装置を複数有し、各半導体テスト装置の第２入力端子は、当該第２入力端子に対応する試験対象論理回路内の出力端子と接続され、各半導体テスト装置の出力端子は、当該出力端子に対応する試験対象論理回路内の入力端子と接続されるテスト装置を用いる試験方法であって、複数の半導体テスト装置にて、第１モードを示すモード信号をモード端子に提供している状況で、クロック端子にクロック信号を提供し、その後、第２モードを示すモード信号をモード端子に提供している状況で、クロック端子に２回クロック信号を提供して出力端子から試験結果を出力する一連の動作を、複数回行う。
【発明の効果】
【００３０】
本発明によれば、高速な遅延テストを実現することが可能になる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１実施形態の半導体装置を示したブロック図である。
【図２】スキャンＦＦを示したブロック図である。
【図３】本発明の第２実施形態を示したブロック図である。
【図４】スキャンＦＦ１Ａの一実施形態の回路図である。
【図５】半導体装置の全体構成を示した説明図である。
【図６】本実施形態の動作を説明するためのフローチャートである。
【図７】動作を説明するためのタイミングチャートである。
【図８】本発明の第３実施形態を示したブロック図である。
【図９】本発明の第４実施形態を示したブロック図である。
【図１０】半導体装置の全体構成を示したブロック図である。
【図１１】本発明の第５実施形態を説明するための説明図である。
【図１２】本発明の第６実施形態を説明するための説明図である。
【図１３】第６実施形態の動作を説明するためのフローチャートである。
【図１４】第６実施形態の回路例を示した説明図である。
【符号の説明】
【００３２】
１００      論理回路
１ａ〜１ｃ、１Ａａ〜１Ａｂ、１Ｂ、１Ｃ  スキャンＦＦ
１１        メインＦＦ
１２        保持部、ラッチ
１３、８３  提供部、ＭＵＸ回路
２ａ〜２ｂ  信号処理回路
２ａＡ〜２ｂＡ  経路切り替え回路（ＭＵＸ）
３ａ〜３ｂ  正誤判別回路
３１        保持部、ラッチ
３２        比較部、ＸＯＲ回路
４          エラー処理回路
５          テスト部
６          比較判定部
８１、８１Ａ  ラッチ
８２        論理積回路
９１、９４  論理積回路
９２        論理和回路
９３        インバータ
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施形態を図面を参照して説明する。【００３４】
［第１実施形態］
図１は、本発明の第１実施形態の半導体装置を示したブロック図である。【００３５】
図１において、半導体装置は、試験対象の論理回路１００と、スキャンＦＦ１ａ〜１ｃと、信号処理回路２ａ〜２ｂと、正誤判断回路３ａ〜３ｂと、エラー処理回路４とを含む。【００３６】
スキャンＦＦ１ａ〜１ｃのそれぞれは、メインＦＦ１１と、保持部１２とを含む。正誤判断回路３ａ〜３ｂのそれぞれは、保持部３１と、比較部３２とを含む。スキャンＦＦ１ａ〜１ｃは、テスト部５に含まれる。各比較部３２は、比較判断部６に含まれる。【００３７】
スキャンＦＦ１ａ〜１ｃは、一般的に半導体テスト装置と呼ぶことができる。【００３８】
スキャンＦＦ１ａ〜１ｃのそれぞれは、通常のスキャンＦＦと同様に、直列に接続され、論理回路１００へ信号を供給し、また、論理回路１００から信号を取得する。本実施形態では、スキャンＦＦ１ａ〜１ｃは同一構成である。【００３９】
図２は、スキャンＦＦ１ａ〜１ｃをスキャンＦＦ１として示したブロック図である。【００４０】
メインＦＦ１１は、一般的にフリップフロップと呼ぶことができる。【００４１】
メインＦＦ１１は、データ入力端子Ｄ、スキャンイン端子ＳＩ、テストモード（第１モード）と通常モード（第２モード）のいずれかを示すモード信号を受け付けるモード端子ＳＥ、クロック信号を受け付けるクロック端子ＣＫ、および、出力端子Ｑを備える。【００４２】
スキャンイン端子ＳＩは、一般的に第１入力端子と呼ぶことができる。データ入力端子Ｄは、一般的に第２入力端子と呼ぶことができる。【００４３】
メインＦＦ１１は、データ入力端子Ｄとスキャンイン端子ＳＩのいずれかをモード信号に基づいて選択する。メインＦＦ１１は、その選択された端子が受け付けている情報をクロック信号に同期して保持して出力端子Ｑから出力する。【００４４】
本実施形態では、モード信号が通常モードを示す場合、メインＦＦ１１は、データ入力端子Ｄを選択し、そして、データ入力端子Ｄが受け付けている情報をクロック信号に同期して保持して出力端子Ｑから出力する。【００４５】
また、モード信号がテストモードを示す場合、メインＦＦ１１は、スキャンイン端子ＳＩを選択し、そして、スキャンイン端子ＳＩが受け付けている情報をクロック信号に同期して保持して出力端子Ｑから出力する。【００４６】
保持部１２は、一般的に保持手段と呼ぶことができる。保持部１２は、設定値を保持し、その設定値をスキャンイン端子ＳＩに提供する。本実施形態では、設定値として、テスト用初期値が用いられる。【００４７】
なお、図２では、第１入力端子としてスキャンイン端子ＳＩが用いられたが、図１に示したように、第１入力端子は、スキャンイン端子ＳＩと異なる端子でもよい。【００４８】
また、図２に示したスキャンＦＦ１では、保持部１２がスキャンイン端子ＳＩに直接接続されているが、スキャンＦＦ１は、これに限らない。例えば、スキャンイン端子ＳＩが、前段のスキャンＦＦ１の出力と保持部１２からの出力とを選択的に受け付けてもよい。【００４９】
図１に戻って、テスト部５は、一般的にテスト手段と呼ぶことができる。【００５０】
テスト部５では、スキャンＦＦ１ａ〜１ｃが直列に接続される。各スキャンＦＦ１のデータ入力端子Ｄは、自己（データ入力端子Ｄ）に対応する試験対象論理回路１００内の出力端子と接続される。各スキャンＦＦ１の出力端子Ｑは、自己（出力端子Q）に対応する試験対象論理回路１００内の入力端子と接続される。【００５１】
図１では、スキャンＦＦ１ａのデータ入力端子Ｄは、試験対象論理回路１００内の出力端子Ｏ１と接続される。スキャンＦＦ１ａの出力端子Ｑは、試験対象論理回路１００内の入力端子Ｉ１と接続される。【００５２】
また、スキャンＦＦ１ｂのデータ入力端子Ｄは、試験対象論理回路１００内の出力端子Ｏ２と接続される。スキャンＦＦ１ｂの出力端子Ｑは、試験対象論理回路１００内の入力端子Ｉ２と接続される。【００５３】
また、スキャンＦＦ１ｃのデータ入力端子Ｄは、試験対象論理回路１００内の出力端子Ｏ３と接続される。スキャンＦＦ１ｃの出力端子Ｑは、試験対象論理回路１００内の入力端子Ｉ３と接続される。【００５４】
なお、上述した、テスト部５内のデータ入力端子Ｄと試験対象論理回路１００内の出力端子との対応関係、および、テスト部５内の出力端子Ｑと試験対象論理回路１００内の入力端子との対応関係は、図１に示した半導体装置の設計段階に決定される。【００５５】
信号処理回路２ａは、複数のスキャンＦＦ１（本実施形態では、スキャンＦＦ１ａおよび１ｂ）の出力（以下「ＦＦ値」とも称する。）をデコードもしくは圧縮する。信号処理回路２ａは、そのデコード結果または圧縮結果を、正誤判断回路３ａ内の比較部３２に提供する。【００５６】
信号処理回路２ｂは、スキャンＦＦ１の出力をデコードもしくは圧縮する。信号処理回路２ｂは、そのデコード結果または圧縮結果を、正誤判断回路３ｂ内の比較部３２に提供する。【００５７】
正誤判断回路３ａ〜３ｂは、複数のスキャンＦＦ１ａ〜１ｃの出力（テスト結果）の正誤判断を行う。【００５８】
保持部３１は、一般的に格納手段と呼ぶことができる。保持部３１は、比較用情報を格納する。【００５９】
正誤判断回路３ａ内の保持部３１は、比較用情報として、スキャンＦＦ１ａ〜１ｂのデータ入力端子Ｄに対応する試験対象論理回路の動作期待値を用いる。【００６０】
正誤判断回路３ｂ内の保持部３１は、比較用情報として、スキャンＦＦ１ｃのデータ入力端子Ｄに対応する試験対象論理回路の動作期待値を用いる。【００６１】
比較判定部６は、一般的に比較判定手段と呼ぶことができる。【００６２】
比較判定部６は、正誤判断回路３ａ内の保持部３１または正誤判断回路３ｂ内の保持部３１に格納された比較用情報と、テスト部５内の各出力端子Ｑからの出力とを比較し、その比較の結果を出力する。【００６３】
比較部３２は、一般的に比較手段と呼ぶことができる。【００６４】
スキャンＦＦ１ａ〜１ｃのそれぞれは、複数の比較部３２のいずれかと対応する。本実施形態では、スキャンＦＦ１ａおよび１ｂは、正誤判断回路３ａ内の比較部３２と対応し、スキャンＦＦ１ｃは、正誤判断回路３ｂ内の比較部３２と対応する。【００６５】
正誤判断回路３ａ内の比較部３２は、対応するスキャンＦＦ１ａおよび１ｂの出力端子Ｑからの出力と、正誤判断回路３ａに含まれる保持部３１内の動作期待値とを比較し、その比較の結果を出力する。なお、本実施形態では、正誤判断回路３ａ内の比較部３２は、信号処理回路２ａの出力と、正誤判断回路３ａに含まれる保持部３１内の動作期待値とを比較する。【００６６】
正誤判断回路３ｂ内の比較部３２は、対応するスキャンＦＦ１ｃの出力端子Ｑからの出力と、正誤判断回路３ｂに含まれる保持部３１内の動作期待値とを比較し、その比較の結果を出力する。なお、本実施形態では、正誤判断回路３ｂ内の比較部３２は、信号処理回路２ｂの出力と、正誤判断回路３ｂに含まれる保持部３１内の動作期待値とを比較する。【００６７】
エラー処理回路４は、一般的に判定手段と呼ぶことができる。【００６８】
エラー処理回路４は、複数の比較部３２のそれぞれからの比較の結果（正誤診断結果）に基づいてエラー判定を行う。【００６９】
本実施形態の各メインＦＦ１１は、モード信号がテストモードを示している状況では、保持部１２から提供されている設定値を、クロック信号に応じたタイミング（任意のタイミング）で保持して出力する。このため、モード信号とクロック信号の入力タイミングを適宜設定することにより、いつでも設定値をメインＦＦ１１に設定することが可能になる。【００７０】
これにより、複数のスキャンＦＦ１で構成されるシフトレジスタでの転送を利用して各スキャンＦＦ１に設定値を設定するスキャンインを行うことなく、各スキャンＦＦ１の出力状態をテスト以前の状態に高速に復帰することが可能になる。【００７１】
本実施形態では、設定値として、テスト用初期値が用いられる。この場合、各スキャンＦＦ１の出力状態をテスト用初期値に高速に復帰することが可能になる。【００７２】
また、本実施形態では、各スキャンＦＦ１のデータ入力端子Ｄは、自己（データ入力端子Ｄ）に対応する試験対象論理回路１００内の出力端子と接続される。また、各スキャンＦＦ１の出力端子Ｑは、自己（出力端子）に対応する試験対象論理回路１００内の入力端子と接続される。また、保持部３１が、比較用情報を保持する。さらに、比較部３２が、テスト結果（スキャンＦＦ１の出力）と比較用情報とを比較し、その比較の結果を出力する。【００７３】
これにより、ＦＦ数個程度の細かい粒度で、テスト結果を比較用情報と比較することができる。【００７４】
なお、上記効果は、例えば、図１に示した半導体装置から信号処理回路とエラー処理回路が省略された構成、具体的には、テスト部５と、保持部３１と、比較判定部６とからなる半導体装置を用いて、論理回路１００の遅延故障テストを行った場合にも生じる。【００７５】
本実施形態では、比較用情報として、動作期待値が用いられる。この場合、テスト結果を動作期待値と比較することが可能になり、よって、テスト結果の正誤判断を行うことが可能になる。【００７６】
本実施形態では、比較判定部６は、複数の比較部３２を含む。比較部３２は、対応するスキャンＦＦ１内の出力端子Ｑからの出力と比較用情報とを比較し、その比較の結果を出力する。エラー処理回路４は、テスト結果でなく、複数の比較部３２のそれぞれからの比較の結果に基づいて、エラー判定を行う。【００７７】
関連技術では、エラー処理回路が、複雑な“０”、“１”のビット列であるテスト結果を処理していたことに対して、本実施形態では、例えば、“０”なら故障、“１”なら正常といった形式の信号（正誤判断結果）を、エラー処理回路４が処理すればよい。そのため、容易にエラー収集が可能で、高速かつ質の高い故障検出を実現することができる。【００７８】
このようにスキャンインとスキャンアウトのそれぞれの処理に対応した値保持機能および処理回路を有することで、スキャンインとスキャンアウトの両動作を同時に無くすことができ、高速な遅延テストを実現することが可能になる。【００７９】
なお、本実施形態において、スキャンＦＦの数、信号処理回路の数、正誤判断回路の数、保持部３１の数、および、比較部３２の数は、上記に限らず適宜変更可能である。【００８０】
［第２実施形態］
図３は、本発明の第２実施形態を示したブロック図である。なお、図３において、図１に示したものと同一構成のものには同一符号を付してある。【００８１】
第２実施形態では、正誤判断回路（保持部３１と比較部３２）が、スキャンＦＦと１対１で対応する。さらに、正誤判断回路が、対応するスキャンＦＦに含まれる。【００８２】
一般的にスキャンＦＦは、テスト対象回路の設計完了後、回路内部に含まれるＦＦをスキャンＦＦに置き換えることにより、回路に組み込まれる。本実施形態では、スキャンＦＦ以外のテスト機能は、エラー処理回路だけが有する。このため、関連技術のスキャンＦＦを本実施形態のスキャンＦＦに差し替えるだけで、設計フローとほぼ同じフロー(工数)でスキャンパスを組み込むことできる。【００８３】
また、本実施形態のスキャンＦＦは、スキャンＦＦ内部で遅延が設定されればよいため、全体の遅延の設計において、最適化処理をする必要が無い。そのため、全体の設計制約を緩和することができる。【００８４】
これにより、設計期間の短縮および回路全体の高速化も可能となる。【００８５】
また、大規模な回路では膨大な数のスキャンＦＦが必要となるため、通常、スキャンＦＦは１つのモジュールとして用意されている。同様に本実施形態でのスキャンＦＦもトランジスタレベルで最適化した１つのモジュールとして用意することで、全体回路の小面積化や高性能化を実現できる。【００８６】
本実施形態の半導体装置は、論理回路１００と、スキャンＦＦ１Ａａ〜１Ａｂと、エラー処理回路４と、を含む。なお、本実施形態において、スキャンＦＦ１Ａの数は、上記に限らず適宜変更可能である。【００８７】
スキャンＦＦ１Ａａ〜１Ａｂは、通常のスキャンＦＦと同様に、直列に接続され、論理回路１００へ信号を供給し、また、論理回路１００から信号を取得する。【００８８】
各スキャンＦＦ１Ａは、メインＦＦ１１と、保持部１２と、保持部３１と、比較部３２とを含む。【００８９】
本実施形態では、各メインＦＦ１１は、モード信号がテストモードを示している状況では、保持部１２から提供されている設定値を、クロック信号に応じたタイミング（任意のタイミング）で保持して出力する。このため、任意のタイミングで、テスト用初期値をメインＦＦ１１に設定することが可能になる。【００９０】
これにより、スキャンインすることなく、各スキャンＦＦ１Ａに、テストパターンを構成するテスト用初期値を設定することが可能になる。【００９１】
また、本実施形態では、保持部３１が、動作期待値を保持する。比較部３２が、テスト結果（スキャンＦＦ１Ａの出力）と動作用期待値とを比較し、その比較の結果を出力する。このため、スキャンアウトすることなく、各スキャンＦＦ１Ａが正誤判断を実施することができる。【００９２】
なお、本実施形態では、エラーが生じたスキャンＦＦ１Ａの比較部３２のみが“１”を出力するように、比較部３２が設計されている。これにより、直感的に理解しやすい正誤診断結果を得ることができる。このような、直感的に理解しやすい結果は、製品の良品選別などの検査において、検査結果を正しい結果と比較する工程を不要にできるため、効率的な選別を可能にする。【００９３】
なお、上述した「メインＦＦ」とは、１つの値を保持可能で、論理回路へ、保持中の値を供給したり、論理回路から値を取得したりする機能を有するラッチもしくはＦＦのことを示す。ＦＦを複数のラッチとみなし、複数の値を保持する構成においては、「メインＦＦ」は、論理回路へ信号を供給するラッチを示す。【００９４】
次に、スキャンＦＦ１Ａの構成例および動作について説明する。【００９５】
図４は、スキャンＦＦ１Ａの一実施形態の回路図である。【００９６】
スキャンＦＦ１Ａは、メインＦＦ１１と、ラッチ１２と、マルチプレクサ回路（以下「ＭＵＸ回路」と称する。）１３と、ラッチ３１と、排他的論理和回路（以下「ＸＯＲ回路」と称する。）３２とを含む。【００９７】
ラッチ１２は、保持部１２の一例であり、一般的に保持部または保持手段と呼ぶことができる。ＭＵＸ回路１３は、一般的に提供部または提供手段と呼ぶことができる。ラッチ３１は、保持部３１の一例であり、一般的に保持部または格納手段と呼ぶことができる。ＸＯＲ回路３２は、比較部３２の一例であり、一般的に比較部または比較手段と呼ぶことができる。【００９８】
メインＦＦ１１は、試験対象の論理回路１００から出力されるＤ信号、クロック（ＣＫ）信号、モード切替（ＳＥ）信号（モード信号）、スキャンインデータ（ＳＩ）信号、および、ラッチ１２からの信号（テスト用初期値）を、入力信号として用い、また、自己（メインＦＦ１１）が保持している値を出力する。【００９９】
なお、Ｄ信号は、データ入力端子Ｄに提供される。クロック（ＣＫ）信号は、クロック端子ＣＫに提供される。モード切替（ＳＥ）信号は、モード端子ＳＥに提供される。スキャンインデータ（ＳＩ）信号は、ＭＵＸ回路１３を介してスキャンイン端子ＳＩに提供される。ラッチ１２からの信号（テスト用初期値）は、ＭＵＸ回路１３を介してスキャンイン端子ＳＩに提供される。【０１００】
メインＦＦ１１の出力は、ラッチ１２および３１のそれぞれのデータ入力Ｄ端子へ入力される。メインＦＦ１１の出力は、それぞれのラッチクロックＬＣＫ１、ＬＣＫ２のタイミングで、ラッチ１２および１３に保持される。【０１０１】
ＸＯＲ回路３２は、ラッチ３１の保持値（＝動作期待値）をメインＦＦ１１の出力と比較し、その比較結果を、ＥＲＲ信号として出力する。【０１０２】
本実施形態では、ＸＯＲ回路３２は、メインＦＦ１１の出力とラッチ３１の保持値が等しければ、ＥＲＲ信号として“０”を出力し、それらが異なっていれば、ＥＲＲ信号として“１”を出力する。【０１０３】
ＭＵＸ回路１３は、ラッチ１２の出力信号と、スキャンインデータ（ＳＩ）信号と、機能切り替え（ＳＥ１）信号とを受け付ける。ＭＵＸ回路１３は、機能切り替え（ＳＥ１）信号が“０”の場合、スキャンインデータ（ＳＩ）信号をメインＦＦ１１のスキャンイン端子ＳＩに提供し、一方、機能切り替え（ＳＥ１）信号が“１”の場合、ラッチ１２の出力信号をメインＦＦ１１のスキャンイン端子ＳＩに提供する。【０１０４】
メインＦＦ１１は、モード切替（ＳＥ）信号＝０ならば、クロック（ＣＫ）信号に同期したタイミングで、Ｄ信号をラッチする。メインＦＦ１１は、モード切替（ＳＥ）信号＝１かつ機能切り替え（ＳＥ１）信号＝０ならば、クロック（ＣＫ）信号に同期したタイミングで、スキャンインデータ（ＳＩ）信号をラッチする。メインＦＦ１１は、モード切替（ＳＥ）信号＝１かつ機能切り替え（ＳＥ１）信号＝１ならば、クロック（ＣＫ）信号に同期したタイミングで、ラッチ１２の保持する値をラッチする。【０１０５】
つまり、モード切替（ＳＥ）信号＝１かつ機能切り替え（ＳＥ１）信号＝１の状態で、クロック（ＣＫ）信号が、メインＦＦ１１に入力されれば、即座に初期値（ラッチ１２の値）が、メインＦＦ１１に設定される。よって、メインＦＦ１１の出力を、高速にテスト前の状態に復帰することが可能になる。【０１０６】
一方、通常モードで、メインＦＦ１１が、テスト結果（論理回路１００からの出力）をラッチすると、ＸＯＲ回路３２は、そのテスト結果を期待値（ラッチ３１の値）と比較する。このため、即座に、メインＦＦ１１ごとの正誤診断結果を得ることが可能になる。【０１０７】
本回路は、標準セルを用いているために、設計ツールによる設計を容易にすることができる。また、クロック（ＣＫ）信号およびＤ信号などテスト対象回路の性能に影響のある信号への付加を最小に抑えることができる。もちろん、これらの回路をトランジスタレベルもしくはレイアウトレベルで調整した同様の機能を有する回路も、他の実施形態として容易に想像できる。【０１０８】
図５は、図４に示したスキャンＦＦ１Ａを用いた半導体装置の全体構成を示した説明図である。【０１０９】
図５において、スキャンＦＦ１Ａが直列接続され、それぞれのスキャンＦＦ１Ａの比較結果は、エラー処理回路４へ入力される。【０１１０】
エラー処理回路４では、ＯＲ回路４４ａ〜４４ｂが、各スキャンＦＦ１Ａからの正誤結果（ＥＲＲ）の論理和（ＯＲ）を取り、その結果を、最終的なエラー出力ＥＲＲＯＵＴとして出力する。本実施形態では、スキャンＦＦ１Ａの正誤結果（ＥＲＲ）は、エラーを示す場合には“１”となる。一方、スキャンＦＦ１Ａの正誤結果（ＥＲＲ）は、エラーでないことを示す場合には“０”となる。このため、複数のスキャンＦＦ１１でエラーが生じたとしても、正確にエラーを出力することができる。【０１１１】
なお、本実施形態では、エラー処理回路として、１信号ずつ順番に論理和を取る構成が用いられているが、正誤結果（ＥＲＲ）をツリー状に２信号ごとにまとめる構成や、関連技術のアルゴリズムによるエラー処理回路などが用いられてもよい。【０１１２】
また、本実施形態では、機能切り替え（ＳＥ１）信号、ラッチクロックＬＣＫ１およびＬＣＫ２が追加されたが、いずれの信号もタイミングの制約は無い。このため、設計ツールを用いて設計を容易にすることができる。【０１１３】
図６は、本実施形態の動作を説明するためのフローチャートである。【０１１４】
本実施形態では、各スキャンＦＦ１Ａは、２つの値（初期値および期待値）を保持する。このため、まず、テストの初期設定として、各ラッチ１２に初期値を設定するスキャンイン動作と、各ラッチ３１に期待値を設定するスキャンイン動作が行われる（ステップ２１）。【０１１５】
具体的には、まず、モード切替（ＳＥ）信号＝１にして、各スキャンＦＦ１Ａがテストモードに設定される。この状況で、機能切り替え（ＳＥ１）信号＝０とし、続いて、各ラッチ１２に設定される初期値からなるテストパターンが、クロック（ＣＫ）信号に同期して、最前段のスキャンＦＦ１Ａのスキャンイン端子ＳＩに供給される。そして、所定のタイミングでラッチクロックＬＣＫ１が供給されて、各ラッチ１２に初期値が設定される。【０１１６】
続いて、各ラッチ１３に設定される期待値からなるパターンが、クロック（ＣＫ）信号に同期して、最前段のスキャンＦＦ１Ａのスキャンイン端子ＳＩに供給される。そして、所定のタイミングでラッチクロックＬＣＫ２が供給されて、各ラッチ３１に期待値が設定される。【０１１７】
初期設定のためのスキャンイン（ステップ２１）が終了すると、テスト周波数が設定される（ステップ２２）。【０１１８】
テスト周波数が決められたら、モード切替（ＳＥ）信号＝１、かつ、機能切り替え（ＳＥ１）信号＝１とする。この状態で、メインＦＦ１１にクロック（ＣＫ）信号を入力することによって、初期値（ラッチ１２の値）が、メインＦＦ１１に設定される（ステップ２３）。【０１１９】
その後、テストが実行される（ステップ２４）。具体的には、モード切替（ＳＥ）信号＝０とし、設定されたテスト周波数で、２つのクロック（ＣＫ）信号が入力される。【０１２０】
テストの実行により、テスト結果が各スキャンＦＦ１ＡのメインＦＦ１１にラッチされた瞬間、テスト結果と期待値が比較され、正誤判断結果が直ちに出力される（ステップ２５）。【０１２１】
動作の正誤判断結果が得られれば、テスト周波数が次のテスト周波数へ変更され（ステップ２２）、再び初期値がメインＦＦ１１に設定され（ステップ２３）、テストが実行される（ステップ２４）。【０１２２】
この動作を繰り返し行うことで、どの動作周波数で遅延故障が生じるかを試験することができる。【０１２３】
また、状況に応じて詳細なテスト結果を得るために、テスト結果をスキャンアウトすることも可能である（ステップ２６）。例えば、エラー信号が“１”なったときに、エラー箇所を特定するために、テスト結果をスキャンアウトすることも可能である。【０１２４】
図７は、図４、図５で説明した回路の実際の動作を説明するためのタイミングチャートである。なお、回路動作は、図６で説明したフローチャートに従っている。【０１２５】
まず、初期設定のために、モード切替（ＳＥ）信号=１かつ機能切り替え（ＳＥ１）信号＝０とし、スキャンインが実行される。つまり、各ラッチ１２および３１が初期値および期待値を取得するように、クロックＬＣＫ１およびＬＣＫ２が入力され、その入力タイミングで、メインＦＦ１１の値が、ラッチ１２および３１に取り込まれる(Ｔ２１)。【０１２６】
次に、テスト周波数が設定され（Ｔ２２ａ)。続いて、モード切替（ＳＥ）信号＝１かつ機能切り替え（ＳＥ１）信号＝１が設定される。このため、ラッチ１２に保持されている初期値が、クロック（ＣＫ）信号の入力に伴い、メインＦＦ１１に設定される(Ｔ２３ａ)。【０１２７】
次に、実際のテスト動作が実行される（Ｔ２４ａ）。続いて、テストの正誤診断結果ＥＲＲＯＵＴが確認された後（Ｔ２５ａ）、テスト周波数が新しい値に設定される（Ｔ２２ｂ）。続いて、テストが実施される（ステップＴ２３ｂ、Ｔ２４ｂ）。Ｔ２４ｂのテストでは、テスト周波数が高く、Ｔ２５ｂでエラーが検出されている。【０１２８】
これら一連の動作を繰り返すことで、高速な遅延テストを実現することが可能になる。【０１２９】
本実施形態では、複数の比較部３２のそれぞれは、複数のスキャンＦＦ１Ａのいずれかと１対１で対応する。【０１３０】
この場合、スキャンＦＦ１Ａごとに、テスト結果の正誤判断を行うことが可能になる。
［第３実施形態］
図８は、本発明の第３実施形態を示したブロック図である。図８は、第２実施形態の図４に相当する。なお、図８において、図４に示したものと同一構成のものには同一符号を付してある。【０１３１】
第３実施形態では、第２実施形態のスキャンＦＦに新たな機能が追加されたスキャンＦＦが用いられる。具体的には、第３実施形態では、第２実施形態の構成に、ラッチ８１および論理積回路８２が追加され、また、ＭＵＸ回路１３の代わりにＭＵＸ回路８３が設けられている。これにより、信号の接続関係が変更されている。【０１３２】
ラッチ８１は、一般的に記憶手段と呼ぶことができる。ラッチ８１は、出力制御用情報を記憶する。【０１３３】
ラッチ８１には、ラッチ１２および３１と同様に、Ｄ信号としてメインＦＦ１１の出力が入力され、ラッチクロックとしてＬＣＫ３が入力さる。ラッチ８１が保持した値は、論理積回路８２へ出力される。【０１３４】
論理積回路８２は、一般的に制御手段と呼ぶことができる。【０１３５】
論理積回路８２は、ラッチ８１内の出力制御用情報に基づいて、ＸＯＲ回路３２からの比較の結果を出力する状態と、予め定められた値を出力する状態と、に切り替わる。【０１３６】
本実施形態では、論理積回路８２は、ＸＯＲ回路３２からの比較の結果とラッチ８１の値の論理積演算を行い、その結果をＥＲＲ信号として出力する。また、論理積回路８２は、ＥＲＲ信号をＭＵＸ回路８３へも出力する。【０１３７】
ＭＵＸ回路８３は、一般的に提供部または提供手段と呼ぶことができる。【０１３８】
ＭＵＸ回路８３には、前段のスキャンＦＦ１Ｂからのスキャンイン（ＳＩ）信号（なお、ＭＵＸ回路８３が最前段のスキャンＦＦ１Ｂ内の場合は、外部からのスキャンイン（ＳＩ）信号）と、論理積回路８２の出力と、ラッチ１２の保持値が、入力されている。ＭＵＸ回路８３では、機能切り替え信号ＳＥ１およびＳＥ２によって、いずれの入力信号を出力とするかが制御される。【０１３９】
ＭＵＸ回路８３は、機能切り替え信号ＳＥ１＝０かつ機能切り替え信号ＳＥ２＝０ならば、スキャンイン（ＳＩ）信号を出力する。ＭＵＸ回路８３は、機能切り替え信号ＳＥ１＝１かつ機能切り替え信号ＳＥ２＝０ならば、ラッチ１２の保持値を出力する。ＭＵＸ回路８３は、機能切り替え信号ＳＥ１＝１かつ機能切り替え信号ＳＥ２＝１ならば、論理積回路８２の出力（正誤診断結果）を出力する。【０１４０】
メインＦＦ１１は、モード切替（ＳＥ）信号＝０ならば、クロック（ＣＫ）信号に基づくタイミングで、Ｄ信号をラッチする。メインＦＦ１１は、モード切替（ＳＥ）信号＝１かつ機能切り替え信号ＳＥ１＝０かつ機能切り替え信号ＳＥ２＝０ならば、クロック（ＣＫ）信号に基づくタイミングで、スキャンイン（ＳＩ）信号をラッチする。メインＦＦ１１は、モード切替（ＳＥ）信号＝１かつ機能切り替え信号ＳＥ１＝１かつ機能切り替え信号ＳＥ２＝０ならば、クロック（ＣＫ）信号に基づくタイミングで、ラッチ１２の保持値をラッチする。メインＦＦ１１は、モード切替（ＳＥ）信号＝１かつ機能切り替え信号ＳＥ１＝１かつ機能切り替え信号ＳＥ２＝１ならば、クロック（ＣＫ）信号に基づくタイミングで、論理積回路８２の出力（正誤診断結果）をラッチする。【０１４１】
本実施形態で追加された第一の機能は、比較演算のマスク機能である。【０１４２】
例えば、回路内部には、メモリまたはレジスタから値を読み出すためのパスが存在する。読み出し処理では、メモリまたはレジスタの状態により、読み出される値が異なる。このため、テストにおいて、論理回路１００が全ての期待値（正しいテスト結果）を算出できるとは限らない。【０１４３】
このような不定値（値が定まらない状態）を含むテストでは、ＸＯＲ回路３２による比較だけでは、正確に正誤判断を行うことはできない。【０１４４】
本実施形態では、ラッチ８１に、メインＦＦ１１が不定値を出力するパス（不定値パス）に含まれるかどうかを示す出力制御情報（メインＦＦ１１の出力が不定状態であるか否かを示す出力制御情報）を設定する。例えば、出力制御情報が“０”なら、メインＦＦ１１の出力は不定状態であることを示す。一方、出力制御情報が“１”なら、メインＦＦ１１の出力は不定状態でないこと、つまり、期待値が存在することを示す。【０１４５】
論理積回路８２は、比較結果（ＸＯＲ回路３２の出力）と出力制御情報との論理積をとることで、メインＦＦ１１が不定値パスに含まれる場合に、正誤判断結果を“０”に固定する。【０１４６】
これにより、比較演算結果のマスクの機能を実現でき、回路内部に不定値パスがあった場合でも、正確な正誤判断を達成できる。【０１４７】
本実施形態で追加された第二の機能は、ＭＵＸ回路８３が正誤判断結果をメインＦＦ１１へ設定する機能である。【０１４８】
これにより、正誤診断結果は、エラー処理回路４へ出力されると同時にメインＦＦ１１へ設定される。このため、正誤診断結果がスキャンアウトされた場合の結果も、直感的に理解しやすい形式で出力することができる。【０１４９】
具体的には、エラー処理回路４の正誤結果は、故障なら“１”、正常なら“０”を出力するが、本実施形態では、スキャンアウトの結果でも、故障ならも“１”、正常なら“０”を出力することが可能になる。【０１５０】
これにより、故障箇所を直ちに把握することが可能になる。【０１５１】
この機能は、欠陥パスの分布情報などの理解に対して有効であり、故障解析のための有効な情報を提供することができる。【０１５２】
［第４実施形態］
図９は、本発明の第４実施形態を示したブロック図である。図９は、第３実施形態の図８に相当する。なお、図９において、図８に示したものと同一構成のものには同一符号を付してある。なお、図１０は、半導体装置の全体構成を示したブロック図である。【０１５３】
第４実施形態では、第３実施形態のスキャンＦＦに、さらに新たな機能が追加されたスキャンＦＦが用いられている。具体的には、エラー処理回路の一部がスキャンＦＦ１Ｃに含まれる。さらに言えば、第４実施形態では、第３実施形態の構成に、論理積回路９１および９４と、論理和回路９２と、インバータ９３が追加され、また、ラッチ８１の代わりにラッチ８１Ａが設けられている。これにより、信号の接続関係が変更されている。【０１５４】
ラッチ８１Ａは、一般的に記憶手段と呼ぶことができる。ラッチ８１Ａは、ラッチ８１にリセット端子が設けられたものである。【０１５５】
論理積回路９１は、一般的に更新手段と呼ぶことができる。【０１５６】
論理積回路９１は、ＸＯＲ回路３２からの比較の結果に基づいて、ラッチ８１Ａ内の出力制御用情報を更新する。具体的には、論理積回路９１は、ＸＯＲ回路３２からの比較の結果を示すメインＦＦ１１の値と、ラッチリセット用のＲＣＫ信号を、入力として用い、ラッチ８１Ａにリセット用信号を出力する。【０１５７】
論理積回路９４は、前段の正誤判断結果であるＥＲＲ_ＩＮの反転信号と、スキャンＦＦ１Ｃの正誤判断結果を、入力として用い、その論理積をＭＵＸ回路８３へ出力する。【０１５８】
論理和回路９２は、ＥＲＲ_ＩＮと正誤判断結果を、入力として用い、論理和結果をＥＲＲとして出力する。【０１５９】
本実施形態で追加された第一の機能は、正誤判断結果（ＥＲＲ）の集計機能である。【０１６０】
この機能は、第２実施形態ではエラー処理回路によって実行されていた。本実施形態では、この機能が各スキャンＦＦ１Ｃに設けられることで、別ブロックとしてのエラー処理回路の設計をなくし、設計を簡略化することができる。【０１６１】
また、正誤診断結果をスキャンＦＦ１Ｃで集計することで、スキャンＦＦ１Ｃ内部の信号処理への反映が可能になる。よって、より正確な正誤診断を実現することができる。【０１６２】
本実施形態で追加した第二の機能は、ラッチ８１Ａの値の更新機能である。【０１６３】
同一パターンを用いテスト周波数を上げながらテストを繰り返す遅延故障テストにおいて、一度エラー出力したスキャンＦＦ１Ｃは、次以降のテストでもエラーを出力し続ける。【０１６４】
そのため、正誤判断結果が“１”の場合、どの周波数で初めてエラーが生じたかを確認するためには、各周波数の診断結果を、チップ外部に保持しておく必要がある。【０１６５】
そこで、本実施形態では、正誤診断結果をメインＦＦ１１へ設定後、ＲＣＫが論理積回路９１に入力される。このため、正誤判断結果に応じて、ラッチ８１Ａの値を“０”に設定することが可能な構成が実現される。【０１６６】
これにより、正誤判断結果が“１”（エラーが出力された）ならば、ラッチ８１Ａの値が“０”になる。このため、エラーがはじめて生じたテスト周波数でのみ、エラーを出力することができる。【０１６７】
本実施形態で追加した第三の機能は、ラッチ８１Ａの値の更新機能の同時実行数を１個に制限する機能である。【０１６８】
上記第１〜４の実施形態では、同一テスト周波数で複数のメインＦＦ１１でエラーが生じても、論理和を用いたエラー信号処理を行っているため、エラー数を把握することができない。【０１６９】
本実施形態では、論理積回路９４は、各メインＦＦ１１での正誤判断結果を、それ以前のメインＦＦ１１の正誤判断の論理和ＥＲＲ_ＩＮ信号と、論理積処理を行い、その値をメインＦＦ１１に設定できるような構成を有する。【０１７０】
ＥＲＲ_ＩＮは、前段までのメインＦＦ１１の中にエラーを検出したメインＦＦ１１が存在すれば“１”を示し、存在しなければ“０”を示す。このため、ＥＲＲ_ＩＮが“０”の場合のみ、ラッチ８１Ａの値を更新することにより、同時に値を更新するラッチ８１Ａを１つに制限することができる。【０１７１】
また、各テスト周波数でＥＲＲＯＵＴ信号が“０”になるまで繰り返しテストを実施することで、繰り返し回数という指標を用いて、そのテスト周波数でのエラーの個数を取得することができる。【０１７２】
［第５実施形態］
図１１は、本発明の第５の実施形態を示した図である。第５の実施形態は、上記半導体装置を用いたテスト手法に関する。【０１７３】
テストは、複数のテストパターンを用いて実施される。関連技術のテストでは、テストパターンに関わらず一定の周波数でテストが実施されて、チップの良品判別が行われていた。【０１７４】
しかし、実際の遅延量はテストパターンによって異なるため、一定周波数のテストでは大きなマージンが生じる。このため、選別テストの精度を高めることができない。【０１７５】
本実施形態では、パターンごとに選別基準を定めることで、実遅延と選別基準とのマージンを改善することができる。【０１７６】
これにより、これまでマージンの中に埋もれ、検出できなかった微小な遅延欠陥を検出することが可能になる。このため、精度の高い良品選別を達成できる。【０１７７】
本実施形態では、遅延データの統計処理に基づき、パターンごとの選別基準が定義される。具体的には、チップの製造歩留まりに応じて、ばらつきの標準偏差の数倍のところに選定基準が設けられる。【０１７８】
これにより、様々な分布はずれ欠陥を検出することができる。【０１７９】
このとき、本実施形態では、統計処理のデータとして実際のチップのばらつきを用いることによって基準が決められる。このため、精度の高い選別を実現することができる。また、シミュレーションでこの選定基準を見積もることも可能である。【０１８０】
［第６実施形態］
図１２は、本発明の第６実施形態を示した図である。図１２において、図１に示したものと同一構成のものには同一符号を付してある。【０１８１】
第６実施形態では、図１に示した信号処理回路２ａおよび２ｂの代わりに、経路切り替え回路２ａＡおよび２ｂＡが用いられている。【０１８２】
経路切り替え回路２ａＡは、一般的に切替手段と呼ぶことができる。比較部３２は、一般的に比較手段と呼ぶことができる。スキャンＦＦ１ａおよび１ｂは、特定半導体テスト装置と呼ぶことができる。なお、特定半導体テスト装置の数は、２台に限らず、２台以上であればよい。比較部３２は、スキャンＦＦ１ａおよび１ｂと対応する。なお、比較部３２は、１台以上であればよい。【０１８３】
例えば、図１に示した信号処理回路２ａおよび２ｂとして簡単なＸＯＲが用いられた場合、エラーの生じたスキャンＦＦを特定するのは困難であった。これは、信号処理回路であるＸＯＲが複数のスキャンＦＦの出力の情報を圧縮してしまうため、圧縮した情報から、エラーの生じたスキャンＦＦを特定することができないためである。【０１８４】
第６の実施形態では、経路切り替え回路２ａＡが、スキャンＦＦ１ａおよび１ｂから正誤判断回路３ａへの信号経路を切り替えながら、テストが繰り返される。つまり、経路切り替え回路２ａＡが、スキャンＦＦ１ａおよび１ｂの各出力端子からの出力を、択一的に、正誤判断回路３ａに供給する。【０１８５】
この場合、テスト時間は長くなってしまうが、スキャンＦＦ１ａおよび１ｂの出力を圧縮することなく正誤診断回路３ａへ入力することができる。このため、どの信号経路が選択されたときにエラーが出力されたかを確認することによって、どのスキャンＦＦが故障しているのかを特定することができる。同時に、経路切り替え回路２ａＡでの経路選択数を増やせば増やすほど、正誤判断回路を減らすことができる。このため、回路の面積を削減することができる。【０１８６】
図１３は、第６の実施形態の動作を説明するためのフローチャートである。【０１８７】
第６の実施形態では、初期値についてのスキャンインが実行されると、各スキャンＦＦの保持部に初期値が設定される（ステップ１３１）。初期値の設定方法は、図６に示したステップ２１の初期値スキャンインと同様である。【０１８８】
続いて、経路切り替え回路２ａＡが、スキャンＦＦ１ａおよび１ｂのうちの１つが正誤判断回路３ａと接続されるように、正誤判断回路３ａへの経路を１つ選択する。続いて、各スキャンＦＦでは、保持部内の初期値がメインＦＦに設定される。続いて、予め設定されている複数のテスト周波数のいずれよりも低い周波数（十分に低い周波数）で、各スキャンＦＦおよび論理回路１００が動作され、その動作結果が、正誤判断回路３ａの保持部３１に設定される（ステップ１３２）。各スキャンＦＦおよび論理回路１００の動作方法は、図６に示したステップ２２〜２４と同様である。【０１８９】
続いて、テスト周波数が、現在設定されている周波数と異なるように、予め設定されている複数のテスト周波数のいずれかに設定される（ステップ１３３）。【０１９０】
続いて、各スキャンＦＦでは、保持部内の初期値がメインＦＦに設定される（ステップ１３４）。ステップ１３４の動作は、図６に示したステップ２３と同様である。【０１９１】
続いて、設定されたテスト周波数で、テストが実行される（ステップ１３５）。ステップ１３５の動作は、図６に示したステップ２４と同様である。【０１９２】
以降、テスト結果がFail（失敗）を示すまで、テスト周波数を変更しながら、テストが繰り返される（ステップ１３２〜１３６）。【０１９３】
テスト結果がFailを示したら、ステップ１３２を実行して、選択経路を切り替え、続いて、予め設定されている複数のテスト周波数のいずれよりも低い周波数（十分に低い周波数）で、各スキャンＦＦおよび論理回路１００が動作され、その動作結果が、正誤判断回路３ａの保持部３１に設定される。【０１９４】
以下、同様に、テスト結果がFailを示すまで、テストが繰り返される。経路切り替え回路２ａＡが、選択する経路を、順々に、切り替えることで、論理回路１００の全体をテストすることができる。【０１９５】
図１４は、第６実施形態の回路図である。【０１９６】
第６実施形態では、回路全体は、論理回路１００、スキャンＦＦ１ａ〜１ｄ、経路切り替え回路（MUX）２ａＡおよび２ｂＡ、正誤診断回路３ａおよび３ｂを含む。【０１９７】
信号名および信号機能は、基本的には図５に示したスキャンＦＦと同じである。第６実施形態では、ラッチＬ１の値をメインＦＦに読み込む回路部位をスキャンＦＦとし、正誤判断のための回路部位を正誤診断回路としている。【０１９８】
ＭＵＸ２ａＡは、複数のスキャンＦＦの出力Ｑと経路選択制御信号（ＳＥＬ）とを入力信号として用い、ＳＥＬに応じて、入力Ｑの中から１つの信号を選択し、その選択された信号を、正誤診断回路へ出力する。【０１９９】
図１４の回路図例では、２つのスキャンＦＦ１ａおよび１ｂの出力を、ＭＵＸ２ａＡが切り替えながら、１つの正誤診断回路３ａへ入力する。ＳＥＬに応じて経路を選択することで、少ない回路モジュール数で、図１３に示したテストフローを実施することができる。【０２００】
本実施形態では、まず、複数のスキャンＦＦ１ａおよび１ｂのいずれか１つが有する出力端子が正誤判断回路３ａと接続された状態で、一連のテスト動作が所定回数実行される。【０２０１】
一連のテスト動作が所定回数実行されると、正誤判断回路３ａと接続する出力端子を、複数のスキャンＦＦ１ａおよび１ｂの出力端子のうち、正誤判断回路３ａと未だ接続されていない出力端子に切り替え、一連のテスト動作を１回以上再度実行する切り替え実行動作が、１回以上行われる。【０２０２】
このため、どのスキャンＦＦが故障しているのかを特定することが可能になる。【０２０３】
また、本実施形態では、切り替え実行動作は、スキャンＦＦ１ａおよび１ｂの出力端子の全てが正誤判断回路３ａと接続されるまで行われる。【０２０４】
このため、スキャンＦＦ１ａおよび１ｂのうち、どのスキャンＦＦが故障しているのかを特定することが可能になる。【０２０５】
なお、各実施形態の活用例として、半導体装置出荷時の不良品選別手法が挙げられる。【０２０６】
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記各実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０２０７】
この出願は、２００７年１２月２８日に出願された日本出願特願２００７−３４０３７６を基礎とする優先権および２００８年９月２４日に出願された日本出願特願２００８−２４４３０７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009084424.tif 000003
【図２】
2009084424.tif 000004
【図３】
2009084424.tif 000005
【図４】
2009084424.tif 000006
【図５】
2009084424.tif 000007
【図６】
2009084424.tif 000008
【図７】
2009084424.tif 000009
【図８】
2009084424.tif 000010
【図９】
2009084424.tif 000011
【図１０】
2009084424.tif 000012
【図１１】
2009084424.tif 000013
【図１２】
2009084424.tif 000014
【図１３】
2009084424.tif 000015
【図１４】
2009084424.tif 000016
【国際調査報告】
2009084424.tif 000017
2009084424.tif 000018
2009084424.tif 000019
2009084424.tif 000020