(57)【特許請求の範囲】
【請求項１】
複数のスキャンパステスト用フリップフロップを含んで構成された複数のスキャンチェーンと、スキャンパステスト用データを入力するスキャンデータ入力端子と、を少なくとも備え、
前記複数のスキャンチェーンは、第１のスキャンデータを入力する第１スキャンチェーンと、前記第１のスキャンデータと異なる第２のスキャンデータを入力する第２スキャンチェーンとをそれぞれ少なくとも一つ含み、
前記第１スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを第１タイミングでラッチし、
前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを前記第１タイミングと異なる第２タイミングでラッチし、
更に、前記スキャンデータ入力端子は、前記第１スキャンチェーンのスキャンデータ入力端と前記第２スキャンデータ入力端とを共通接続した第１スキャンデータ入力端子を少なくとも一つ有することを特徴とする半導体装置。
【請求項２】
外部から第１クロック信号を入力するクロック入力端子を更に備え、
前記第１タイミングが前記第１クロック信号の第１のエッジに同期したタイミングであり、前記第２タイミングが前記第１クロック信号の前記第１のエッジと逆方向の第２のエッジに同期したタイミングである請求項１記載の半導体装置。
【請求項３】
外部から第１クロック信号を入力するクロック入力端子と、前記第１クロック信号とスキャンシフト動作モードを設定するモード信号を入力し、前記スキャンシフト動作モード時に第１クロック信号から所定時間遅れた第２クロック信号を出力するスキャンクロック制御手段と、を更に備え、
前記スキャンシフト動作モード時に、
前記第１スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号に同期したタイミングでラッチし、
前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを第２クロック信号に同期したタイミングでラッチする請求項１記載の半導体装置。
【請求項４】
前記第１クロック信号を外部から入力するクロック入力端子と前記第１スキャンチェーンとの間に、信号遅延手段を更に有する請求項１乃至３いずれか１項に記載の記載の半導体装置。
【請求項５】
複数のスキャンパステスト用フリップフロップを含んで構成された複数のスキャンチェーンと、スキャンパステスト用データを入力するスキャンデータ入力端子とを備え、
前記複数のスキャンチェーンは、第１のスキャンデータを入力する第１スキャンチェーンと、前記第１のスキャンデータと異なる第２のスキャンデータを入力する第２スキャンチェーンとをそれぞれ少なくとも一つ含み、
前記第１スキャンチェーン及び前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを第１タイミングでラッチし、
更に、前記スキャンデータ入力端子は、前記第１スキャンチェーンのスキャンデータ入力端と接続すると共に、所定のラッチ手段を介して前記第２スキャンデータ入力端と接続した第１スキャンデータ入力端子を少なくとも一つ有することを特徴とする半導体装置。
【請求項６】
前記ラッチ手段のデータ入力端とデータ出力端を、前記第１スキャンデータ入力端子と前記第２スキャンチェーンのスキャンデータ入力端にそれぞれ接続し、
前記ラッチ手段は、前記第２スキャンチェーンに含まれる前記スキャンパステスト用フリップフロップがスキャンデータをラッチするタイミングとは異なるタイミングで入力信号をラッチする請求項５記載の半導体装置。
【請求項７】
第１クロック信号を入力するクロック入力端子を更に備え、前記第１及び第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号の第１のエッジに同期したタイミングでラッチし、
前記ラッチ手段は、前記第１クロック信号の前記第１のエッジと逆方向の第２のエッジに同期したタイミングで入力信号をラッチする請求項５記載の半導体装置。
【請求項８】
第１クロック信号を入力するクロック入力端子を更に備え、前記第１及び第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号に同期したタイミングでラッチし、
前記ラッチ手段は、前記第１クロック信号の反転信号に同期したタイミングで入力信号をラッチする請求項５記載の半導体装置。
【請求項９】
内部回路の所定のノードの論理状態を表す信号を外部に出力するスキャンアウト外部出力端子と、データ圧縮手段を更に備え、
前記第１スキャンデータ入力端子に接続された全ての前記スキャンチェーンのスキャンデータ出力端を前記データ圧縮手段の入力端に接続し、
前記データ圧縮手段の出力端を、前記スキャンアウト外部出力端子と接続した請求項１乃至８いずれか１項に記載の半導体装置。
【請求項１０】
前記データ圧縮手段が排他的論理和回路で構成された請求項９記載の半導体装置。
【請求項１１】
前記データ圧縮手段がマルチプレクサで構成された請求項９記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャン方式のテスト回路を有する半導体装置に関し、特に一つのスキャンデータ入力端子を複数のスキャンチェーンに接続した構成のテスト回路を有する半導体装置に関する。
【０００２】
【従来の技術】
製造された半導体装置の電気的特性や機能・性能が所定の規格を満たしているか否かをテストして製造工程での不良品を識別し、製品として市場に出さないようにするために検査が実施されるが、近年半導体装置の回路規模の拡大に伴い、検査に要する検査コストが大幅に増加してきている。半導体装置の電気的特性や機能・性能のテストには、通常半導体試験装置（以下、ＬＳＩテスタとする）が用いられるが、半導体装置の回路規模の拡大に伴い、使用するＬＳＩテスタが高価なものになるだけでなく、ＬＳＩテスタで半導体装置をテストするためのテストパタンの数も莫大なものになってきており、半導体装置一つ当たりに要するテスト時間も大幅に増加してきている。このため、半導体装置の検査コストの大部分は、テストで用いるＬＳＩテスタの使用時間に支配される。
【０００３】
半導体装置のテストを容易にし、テストパタン数を削減する技術として、半導体装置の内部回路中のフリップフロップ（Ｆ／Ｆ）に値の設定及び読み出しを可能とする回路を付加するスキャン方式がある。スキャン方式により、内部回路中のＦ／Ｆを見かけ上、仮想的な外部入力端子や仮想的な外部観測端子として利用可能になり、回路の内部状態を所定の状態に設定するには膨大な数の入力パタンを必要とすることが多い順序回路を、内部状態を設定しなくてもよい組合せ回路として扱うことができるようになる。このことにより、テストで用いるテストパタンの自動生成が行いやすくなる。
【０００４】
スキャン方式では、回路中のＦ／Ｆにスキャンパステスト機能を付加したスキャン機能付きＦ／Ｆ（以下、ＳＦ／Ｆとする）をシフトレジスタ状に接続し、一つの外部入力端子からそれらのＳＦ／Ｆに自由な値の設定、及び、一つの外部出力端子からそれらのＳＦ／Ｆの値の観測を行える。これらのＳＦ／Ｆがシフトレジスタ状に接続された状態をスキャンチェーンと呼び、一つのスキャンチェーンに付き、一対の外部入力端子と外部出力端子を用いて、当該スキャンチェーンへの値の設定及び観測を行う。
【０００５】
近年、このスキャンチェーンに含まれるＳＦ／Ｆの数は数十万個以上となるような大規模回路が存在し、それらのＳＦ／Ｆにスキャンチェーンを通して、テストで必要となる値を設定したり、ＳＦ／Ｆに取り込まれたテストの結果を観測するスキャンシフト動作（以下、ＳＳＦ動作とする）は、半導体装置のテスト時間の大部分を占めるようになってきている。このＳＳＦ動作に要する時間（以下、ＳＳＦ時間とする）を短縮することができれば、テスト時間を短縮、つまり、テストコストを削減することが可能になる。
【０００６】
従来の一般的なＳＳＦ時間の短縮方法としては、複数のスキャンチェーンを設定することにより、一つのスキャンチェーンが含むＳＦ／Ｆの数を低減させ、全体的にＳＳＦ時間を短縮する方法が存在する。この方法では、スキャンチェーンの数を多くすればするほど、スキャンチェーンに接続する外部端子数も増やす必要がある。しかしながら、一般的に、ＬＳＩテスタに接続できるスキャンチェーン用の外部端子数の制限や、被検査回路自身の外部端子数には限界があり、スキャンチェーン数をむやみに増やせないという問題があった。
【０００７】
この問題を解決する一つの方法として、特開２０００−２５８５００号公報（以下、公知例とする）に開示された半導体装置がある。これは、一対の外部端子で複数のスキャンチェーンに値の設定及び観測を行える手法を提供するもので、限られたスキャンチェーン用の外部端子を有効活用して、スキャンチェーン当たりのＳＦ／Ｆ数を削減し、テスト時間を短縮している。図１１は、従来の一般的なスキャン方式で用いられるスキャンチェーンの回路構成例を示すブロック図であり、図１２は図１１のスキャンチェーンの主要ノードの波形例である。また、図１３は公知例に開示されたスキャンチェーンの回路構成例を示すブロック図であり、図１４は図１３のスキャンチェーンの主要ノードの波形例である。以下、図１１〜１４を参照して、公知例に開示されたスキャンチェーンの構成、動作及び効果の概要を、従来の一般的なスキャンチェーンと比較しながら説明する。
【０００８】
図１１において、半導体装置８０１のスキャンチェーンに関係しない論理部の記述は省略している。スキャンチェーン８１０は、ＳＦ／Ｆ８１１，８１２，８１３，及び８１４から構成されており、スキャンクロック（以下、ＳＣとする）外部入力端子８０３に与えられるクロック信号に同期して、スキャンデータ入力端子８０２から信号を取り込み、スキャンアウト（以下、Ｓｏｕｔとする）外部出力端子８０５から信号を取り出す。スキャンチェーン８２０も同様に、ＳＦ／Ｆ８２１，８２２，８２３，及び８２４から構成されており、ＳＣ外部入力端子８０３に与えられるクロック信号に同期して、スキャンデータ入力端子８０４から信号を取り込み、Ｓｏｕｔ外部出力端子８０６から信号を取り出す。
【０００９】
図１２に示す波形例を用いて、一般的なＳＳＦ動作の一部を説明する。図１２には、ＳＣ外部入力端子８０３に与えるクロック信号波形１２０と、スキャンデータ入力端子８０２に与える信号波形１２１と、ＳＦ／Ｆ８１１のＳＯ出力端上の信号波形１２２と、スキャンデータ入力端子８０４に与える信号波形１２３と、ＳＦ／Ｆ８２１のＳＯ出力端上の信号波形１２４を示している。クロック信号波形１２０は、時刻ｔ１、ｔ３、ｔ５、及びｔ７にて立ち上がり、時刻ｔ２、ｔ４、ｔ６、及びｔ８で立ち下がる波形である。全てのＳＦ／Ｆ８１１，８１２，８１３，８１４，８２１，８２２，８２３，及び８２４は、クロック信号の立ち上がりエッジで入力信号をラッチするポジティブエッジ型Ｆ／Ｆであると仮定する。時刻ｔ１にて、クロック信号波形１２０が立ち上がると、当該時刻におけるスキャンデータ入力端子８０２の信号は、波形１２１から論理値“１”であり、ＳＦ／Ｆ８１１に当該論理値“１”が取り込まれ、ＳＦ／Ｆ８１１のＳＯ出力端上の信号は論理値“１”に更新される。同様に、ＳＦ／Ｆ８２１のＳＯ出力端上の信号も時刻ｔ１において、スキャンデータ入力端子８０４の信号を取り込み、論理値“０”になる。このように、ＳＣ外部入力端子８０３に同期して、スキャンチェーン８１０及び８２０は、スキャンデータ入力端子８０２及び８０４から信号を取り込み、逐次的にＳＦ／Ｆに論理値を設定させ各ＳＦ／ＦのＱ出力端を経て半導体装置８０１の図示されていない内部回路に論理値を伝搬させる。また、このスキャンイン動作と同時に、ＳＳＦ動作前に各ＳＦ／ＦのＤ端子を経て各ＳＦ／Ｆに取り込んでいた半導体装置８０１の図示されていない内部回路の状態値を、Ｓｏｕｔ外部出力端子８０５及び８０６に出力させるというＳｏｕｔ動作も行う。このとき、半導体装置８０１に製造上の欠陥がある場合に、スキャンチェーン８１０若しくは８２０を構成するいずれかのＳＦ／Ｆに、当該欠陥の影響がＳＳＦ動作前にＳＦ／ＦのＤ端子を経て、ＳＦ／Ｆに伝搬していれば、ＳＳＦ動作を経てＳｏｕｔ外部出力端子８０５若しくは８０６にて、その欠陥の影響を観測できる。例えば、ＳＦ／Ｆ８１４に回路の製造上の欠陥が無い場合の期待値として論理値“１”がＱ出力端を経て伝搬し、欠陥が存在する場合に論理値“０”が伝搬する場合には、Ｓｏｕｔ外部出力端子８０５にて、期待値と異なる論理値が観測されるため、半導体装置８０１に欠陥があることを識別できる。
【００１０】
尚、ＳＦ／Ｆ８１１，８１２，８１３，８１４，８２１，８２２，８２３，及び８２４において、ＳＯ出力端とＱ出力端には、当該Ｆ／Ｆが保持している信号が出力される。また、ＳＳＦ動作時には、ＳＩ端子の信号の論理値がＣＬＫ端子に入力されるクロック信号に同期して当該Ｆ／Ｆ取り込まれ、ＳＳＦ動作時以外は、Ｄ端子の信号の論理値が当該Ｆ／Ｆに取り込まれる。
【００１１】
図１１に示す従来の一般的なスキャンチェーン構成では、２つのスキャンデータ入力端子８０２，８０４を用いて、４周期分のクロック信号で、８つのＳＦ／Ｆに所定の論理値を設定することができる。仮に、ＬＳＩテスタで使用できるスキャンデータ入力端子及びＳｏｕｔ外部出力端子がそれぞれ一つである場合、スキャンチェーンは一つしか用いることができず、その一つのスキャンチェーンに８つのＳＦ／Ｆを接続しなければならないため、８周期分のクロック信号が必要になる。これは、テスト時間が２倍になることを意味し、テストコストが倍増することに繋がり、テストコスト増という問題になる。
【００１２】
この問題点に対して、公知例では、一つのスキャンデータ入力端子から複数のスキャンチェーンに対して信号を供給し、一つのＳｏｕｔ外部出力端子から複数のスキャンチェーンの信号をまとめて取り出すことにより、テスト時間が増加することを回避し、テストコストが増加することを抑制可能にしている。
【００１３】
図１３は、公知例のスキャンチェーン構成例を示したものである。図１１の従来例との違いは、スキャンチェーン８２０用のスキャンデータ入力端子８０４とＳｏｕｔ外部出力端子８０６に相当する端子がなくなり、スキャンチェーン８１０用のスキャンデータ入力端子８０２及びＳｏｕｔ外部出力端子８０５を、スキャンチェーン８２０用としても共有化する構成となっている点である。但し、Ｓｏｕｔ外部出力端子は、符号圧縮回路としての排他的論理和ゲート（以下、ＥＸＯＲとする）を介して共有している。
【００１４】
具体的には、半導体装置９０１に搭載されているスキャンチェーン９１０は、ＳＦ／Ｆ９１１，９１２，９１３，及び９１４から構成されており、ＳＣ外部入力端子９０３に与えられるクロック信号に同期して、スキャンデータ入力端子９０２から信号を取り込み、符号圧縮回路としてのＥＸＯＲ９４１を介してＳｏｕｔ外部出力端子９０５から信号を取り出す。また、スキャンチェーン９２０も同様に、ＳＦ／Ｆ９２１，９２２，９２３，及び９２４から構成されており、ＳＣ外部入力端子９０３に与えられるクロック信号に同期して、スキャンデータ入力端子９０２から信号を取り込み、やはりＥＸＯＲ９４１を介してＳｏｕｔ外部出力端子９０５から信号を取り出す。尚、この場合も半導体装置９０１のスキャンチェーンに関係しない論理部の記述は省略している。
【００１５】
この構成により、一つのスキャンデータ入力端子９０２及びＳｏｕｔ外部出力端子９０５で複数のスキャンチェーン９１０，９２０に対しての値の設定及び観測が可能になる。
【００１６】
次に図１４を用いて、公知例のＳＳＦ動作の一部を説明する。図１２との違いは、ＳＦ／Ｆ９２１のＳＯ出力端における信号波形２２０が、ＳＦ／Ｆ９１１のＳＯ出力端における信号波形１２２と全く同じになるということである。このように、時刻ｔ１、ｔ３、ｔ５、ｔ７におけるＳＣ外部入力端子９０３に与えられるクロック信号波形１２０の立ち上がりに同期して、当該時刻におけるスキャンデータ入力端子９０２の信号の論理値を取り出し、ＳＦ／Ｆ９１１及び９２１のＳＯ出力端の信号の論理値が、それぞれ、時刻ｔ１にて論理値“１”に、時刻ｔ３にて論理値“０”に、時刻ｔ５にて論理値“０”に、時刻ｔ７にて論理値“１”になる。また、Ｓｏｕｔ外部出力端子９０５では、ＳＦ／Ｆ９１４及び９２４のＳＯ出力端の信号の論理値の排他的論理和値を期待値として観測する。
【００１７】
仮に、半導体装置９０１に製造上の欠陥があり、その欠陥の影響がスキャンチェーン９１０若しくは９２０のいずれかのＳＦ／ＦのＤ端子にＳＳＦ動作前に伝搬してきている場合、ＳＳＦ動作を通じて、ＳＦ／Ｆ９１４若しくは９２４のＳＯ出力端まで伝搬するため、ＥＸＯＲ９４１を経た信号の論理値は、Ｓｏｕｔ外部出力端子９０５で欠陥が無い場合に伝搬する正しい信号の論理値（期待値）とは異なる値になるため、半導体装置９０１に欠陥があるかどうかを判別できる。例えば、欠陥が無い場合に、ＳＦ／Ｆ９１４及び９２４のＳＯ出力端にそれぞれ論理値“０”及び“１”が伝搬する場合、Ｓｏｕｔ外部出力端子９０５では、期待値として論理値“１”を観測する。しかし、欠陥があり、その影響がＳＦ／Ｆ９１４に伝搬し、ＳＦ／Ｆ９１４のＳＯ出力端の信号が論理値“１”になる場合、Ｓｏｕｔ外部出力端子９０５では、論理値“０”が観測されることになり、期待値“１”とは異なるため、半導体装置９０１に欠陥があることを識別できる。
【００１８】
図１３に示す公知例のスキャンチェーン構成では、１つのスキャンデータ入力端子９０２を用いて、４周期分のクロック信号で、８つのＳＦ／Ｆ９１１〜９１４及び９２１〜９２４に所定の論理値を設定することができる。仮に、ＬＳＩテスタで使用できるスキャンデータ入力端子及びＳｏｕｔ外部出力端子がそれぞれ一つである場合でも、４周期分のクロック信号で全てのＳＦ／Ｆに信号を設定可能であるために、図１１に示すような従来の一般的なスキャンチェーン構成とは異なり、テスト時間が、従って、テストコストも増加することはない。
【００１９】
【発明が解決しようとする課題】
上述した公知例に開示された半導体装置では、ＳＳＦ時間は充分短縮できているが、次のような２つの問題点がある。
【００２０】
第１に、一対の外部端子で制御される複数のスキャンチェーンには、それぞれ、全く同じ値しか設定できないため、一般の自動テストパタン生成（ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ  ））ツールが生成したテストパタン等で決定される値を、内部回路のＦ／Ｆにスキャンチェーンを通して自由に設定したい場合には、公知例の方法を適用しにくいという問題がある。
【００２１】
第２に、一対の外部端子で制御される複数のスキャンチェーンには、それぞれ、全く同じ値しか設定できないため、内部回路の制御性が低下し、結果的に高い故障検出率を得るためには、より多くのテストパタンが必要になり、テスト時間短縮効果が得られなく可能性があるという問題がある。
【００２２】
上記２つの問題点を図１５を用いて説明する。図１５（ａ）は、従来の一般的なスキャンチェーン構成によるサンプル回路、サンプル故障、及びサンプル故障を検出するテストパタンを示したものである。図１５（ａ）のサンプル回路は、スキャンデータ入力端子８５１、内部回路８５２及び８５３、バッファ８５４及び８５６、インバータ（以下、ＩＮＶとする）８５５及び８５７、ＳＦ／Ｆ８５８，８５９，８６０及び８６１、ＡＮＤゲート８６２、ＯＲゲート８６３、外部出力端子８６４及び８６５、及びＳｏｕｔ外部出力端子８６６から構成されており、４つのＳＦ／Ｆ８５８、８５９、８６０、及び８６１で、スキャンチェーン８６９を構成している。ＡＮＤゲート８６２の出力端子に０縮退故障８６７、及び、ＯＲゲート８６３の出力端子に１縮退故障８６８があると仮定した場合、これらの故障（製造上の欠陥として、例えばある信号線が電源に短絡（１縮退）若しくは接地に短絡（０縮退）した状態）を検出するためには、テストパタン８７０を、スキャンデータ入力端子８５１から４周期分のクロックで、スキャンチェーン８６９を構成する４つのＳＦ／Ｆ８５８，８５９，８６０，及び８６１にスキャンインさせればよい。ここで、故障を検出するとは、外部出力端子において観測される信号の論理値が、故障が存在する場合と存在しない場合に異なるようにできればよいこと意味する。
【００２３】
例えば、外部出力端子８６４は、０縮退故障８６７が存在しなければ論理値“１”を観測できるが、０縮退故障８６７が存在する場合、故障の影響を受けて論理値“０”を観測するため、サンプル回路が製造上の欠陥により故障していることを識別できる。１縮退故障８６８についても同様に検出できる。このように、０縮退故障８６７と１縮退故障８６８を一つのテストパタンを４周期のクロック信号でＳＦ／Ｆに設定することで検出可能になる。
【００２４】
一方、図１５（ｂ）に示す公知例に開示されたスキャンチェーン構成では、図１５（ａ）の従来のスキャンチェーン８６９がスキャンチェーン９６９及び９７０に分けられ、１つのテストパタンを２周期分クロック信号で４つのＳＦ／Ｆ９５８，９５９，９６０，及び９６１にスキャンインできるが、０縮退故障９６７及び１縮退故障９６８を検出するには、２つのテストパタン９７１及び９７２が必要となる。つまり、公知例のスキャンチェーン構成では、合計４周期分のクロック信号を用いなければ、０縮退故障及び１縮退故障を検出できないことになり、一般的なスキャンチェーン構成によるテスト時間と同じテスト時間が必要ということになる。すなわち、公知例の効果とするところのテスト時間短縮効果、つまり、テストコスト削減効果は得られないことになる。この問題点は、公知例に開示された半導体装置のスキャンチェーンの構成及び動作上の制限から、一つのスキャンデータ入力端子に接続する複数のスキャンチェーンには、必ず同じ論理値しか設定できないために発生するものである。
【００２５】
従って、本発明の目的は、内部回路部の制御性を低下させることなくＳＳＦ時間を短縮でき、テスト時間及びテストコストを大幅に削減することができるテスト回路を備えた半導体装置を提供することにある。
【００２６】
【課題を解決するための手段】
そのため、本発明による半導体装置は、複数のスキャンパステスト用フリップフロップを含んで構成された複数のスキャンチェーンと、スキャンパステスト用データを入力するスキャンデータ入力端子と、を少なくとも備え、
前記複数のスキャンチェーンは、第１のスキャンデータを入力する第１スキャンチェーンと、前記第１のスキャンデータと異なる第２のスキャンデータを入力する第２スキャンチェーンとをそれぞれ少なくとも一つ含み、
前記第１スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを第１タイミングでラッチし、
前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを前記第１タイミングと異なる第２タイミングでラッチし、
更に、前記スキャンデータ入力端子は、前記第１スキャンチェーンのスキャンデータ入力端と前記第２スキャンデータ入力端とを共通接続した第１スキャンデータ入力端子を少なくとも一つ有することを特徴とする。
【００２７】
このとき、外部から第１クロック信号を入力するクロック入力端子を更に備え、前記第１タイミングが前記第１クロック信号の第１のエッジに同期したタイミングであり、前記第２タイミングが前記第１クロック信号の前記第１のエッジと逆方向の第２のエッジに同期したタイミングであってよい。
【００２８】
また、外部から第１クロック信号を入力するクロック入力端子と、前記第１クロック信号とスキャンシフト動作モードを設定するモード信号を入力し、前記スキャンシフト動作モード時に第１クロック信号から所定時間遅れた第２クロック信号を出力するスキャンクロック制御手段と、を更に備え、
前記スキャンシフト動作モード時に、
前記第１スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号に同期したタイミングでラッチし、
前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを第２クロック信号に同期したタイミングでラッチするようにすることもできる。
【００２９】
また、前記第１クロック信号を外部から入力するクロック入力端子と前記第１スキャンチェーンとの間に、信号遅延手段を更に有していてもよい。
【００３０】
また、本発明の他の半導体装置は、複数のスキャンパステスト用フリップフロップを含んで構成された複数のスキャンチェーンと、スキャンパステスト用データを入力するスキャンデータ入力端子とを備え、
前記複数のスキャンチェーンは、第１のスキャンデータを入力する第１スキャンチェーンと、前記第１のスキャンデータと異なる第２のスキャンデータを入力する第２スキャンチェーンとをそれぞれ少なくとも一つ含み、
前記第１スキャンチェーン及び前記第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、それぞれのスキャンデータを第１タイミングでラッチし、
更に、前記スキャンデータ入力端子は、前記第１スキャンチェーンのスキャンデータ入力端と接続すると共に、所定のラッチ手段を介して前記第２スキャンデータ入力端と接続した第１スキャンデータ入力端子を少なくとも一つ有することを特徴とする。
【００３１】
このとき、前記ラッチ手段のデータ入力端とデータ出力端を、前記第１スキャンデータ入力端子と前記第２スキャンチェーンのスキャンデータ入力端にそれぞれ接続し、
前記ラッチ手段は、前記第２スキャンチェーンに含まれる前記スキャンパステスト用フリップフロップがスキャンデータをラッチするタイミングとは異なるタイミングで入力信号をラッチするのが好ましい。
【００３２】
また、第１クロック信号を入力するクロック入力端子を更に備え、
前記第１及び第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号の第１のエッジに同期したタイミングでラッチし、
前記ラッチ手段は、前記第１クロック信号の前記第１のエッジと逆方向の第２のエッジに同期したタイミングで入力信号をラッチすることもできる。
【００３３】
また、第１クロック信号を入力するクロック入力端子を更に備え、
前記第１及び第２スキャンチェーンに含まれる全ての前記スキャンパステスト用フリップフロップは、スキャンデータを前記第１クロック信号に同期したタイミングでラッチし、
前記ラッチ手段は、前記第１クロック信号の反転信号に同期したタイミングで入力信号をラッチするようにしてもよい。
【００３４】
また、内部回路の所定のノードの論理状態を表す信号を外部に出力するスキャンアウト外部出力端子と、データ圧縮手段を更に備え、
前記第１スキャンデータ入力端子に接続された全ての前記スキャンチェーンのスキャンデータ出力端を前記データ圧縮手段の入力端に接続し、
前記データ圧縮手段の出力端を、前記スキャンアウト外部出力端子と接続こともできる。このとき、前記データ圧縮手段を排他的論理和回路、或いはマルチプレクサで構成することができる。
【００３５】
【発明の実施の形態】
次に、本発明について図面を参照して説明する。
【００３６】
図１は本発明の半導体装置の第１の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図である。図１を参照すると、本実施形態の半導体装置１０は、図示されていない所望の機能を実現する内部回路、スキャンパステスト回路２０、スキャンデータ入力端子１１２、ＳＣ外部入力端子１１３、スキャンモード外部入力端子４０１、及びＳｏｕｔ外部出力端子１１５、を少なくとも備えている。また、スキャンパステスト回路２０は第１スキャンチェーンであるスキャンチェーン１０２、第２スキャンチェーンであるスキャンチェーン１０７、符号圧縮手段であるＥＸＯＲ２０１、及びＳＣ制御手段であるＳＣ制御回路４０２を含み構成されている。尚、以下の説明ではスキャンパステスト回路２０の構成、動作に関係しない内部回路、外部接続端子についての図示、説明は特に断ることなく適宜省略する。
【００３７】
まず、スキャンチェーン１０２，１０７を構成するＳＦ／Ｆについて説明する。ＳＦ／Ｆは、スキャンデータを入力するＳＩ入力端、スキャンデータを出力するＳＯ出力端、クロック信号を入力するＣＬＫ入力端、並びに内部回路部の所定のノードに接続されるＤ入力端及びＱ出力端を少なくとも有し、ＳＳＦ動作モード時にクロック信号に同期してＳＩ入力端の信号をラッチすると共にＳＯ出力端に出力し、ＳＳＦ動作モード以外の通常動作モード時にはクロック信号に同期してＤ入力端の信号をラッチすると共にＱ出力端及びＳＯ出力端に出力する機能を備えていれば特に限定されない。図１６は、一つのクロック信号でＳＳＦ動作を行うＳＦ／Ｆの具体的な構成例を示すブロック図である。図１６を参照すると、このマルチプレクスドタイプＳＦ／Ｆ５０は、マルチプレクサ（以下、ＭＵＸとする）５１と通常のＦ／Ｆ５３とで構成されている。ＳＦ／Ｆ５０のＤ入力端，ＳＩ入力端，モード信号入力端ＳＥ，及びＣＬＫ入力端を、ＭＵＸ５１の０選択入力端，１選択入力端，選択制御入力端，及びＦ／Ｆ５３のクロック入力端とそれぞれ接続し、ＭＵＸ５１の出力端をＦ／Ｆ５３のＤ入力端と接続し、Ｆ／Ｆ５３のＱ出力端をＳＦ／Ｆ５０のＱ出力端及びＳＯ出力端と接続している。通常動作時は、モード信号入力端ＳＥに入力するモード信号は論理値“０”に固定されており、クロック信号とＤ入力端に入力するデータ信号とで通常のＦ／Ｆ動作を行う。ＳＳＦ動作時には、モード信号は論理値“１”となり、ＣＬＫ入力端に入力するクロック信号が第１クロック信号であるスキャンクロックとなり、ＳＩ入力端に入力するスキャンインデータを取り込み、ＳＳＦ動作を実現する。
【００３８】
尚、以下の各実施形態の説明におけるＳＦ／Ｆ（ＳＦ／Ｆ１０３〜１０６及びＳＦ／Ｆ１０８〜１１１）は、全て上記ＳＦ／Ｆ５０と同じ動作、機能を有するものとする。但し、煩瑣を避けるため、通常動作モードかＳＳＦ動作モードかを指定するモード信号を入力するモード信号入力端ＳＥ及びモード信号入力端ＳＥに接続する配線の図示は全て省略してある。また、ＳＳＦ動作モード時には、ＳＩ入力端の信号をＣＬＫ入力端に入力するクロック信号の立ち上がりエッジに同期してラッチすると共にＳＯ出力端に出力し、ＳＳＦ動作モード時以外の通常動作モード時には、Ｄ入力端の信号をＣＬＫ入力端に入力するクロック信号の立ち上がりエッジに同期してラッチすると共にＳＯ出力端及びＱ出力端に出力するものとする。
【００３９】
次に、スキャンチェーン１０２及び１０７の構成について説明する。スキャンチェーン１０２は、スキャンパステスト用Ｆ／ＦであるＳＦ／Ｆ１０３，１０４，１０５，及び１０６を含んで構成される。先頭のＳＦ／Ｆ１０３のＳＩ入力端とＳＯ出力端をスキャンデータ入力端子１１２とＳＦ／Ｆ１０４のＳＩ入力端にそれぞれ接続する。また、ＳＦ／Ｆ１０４のＳＯ出力端をＳＦ／Ｆ１０５のＳＩ入力端に、ＳＦ／Ｆ１０５のＳＯ出力端をＳＦ／Ｆ１０６のＳＩ入力端に、最終段のＳＦ／Ｆ１０６のＳＯ出力端をＥＸＯＲ２０１の一方の入力端にそれぞれ接続する。更に、ＳＦ／Ｆ１０３〜１０６の各ＣＬＫ入力端を全てＳＣ外部入力端子１１３に、図示されていない各モード信号入力端を全てスキャンモード外部入力端子４０１に、それぞれ接続する。この構成により、ＳＳＦ動作モードの際には、スキャンデータ入力端子１１２に入力されるスキャンデータである信号をＳＣ外部入力端子１１３から入力される第１クロック信号に同期して順次ラッチするＳＳＦ動作を行い、スキャンチェーン１０２を構成する各ＳＦ／Ｆに所望の論理値を設定しながら、ＳＳＦ動作開始時の半導体装置１０の所定の内部回路部の状態を、ＥＸＯＲ２０１を介して、Ｓｏｕｔ外部出力端子１１５から取り出す。
【００４０】
スキャンチェーン１０７は、スキャンパステスト用Ｆ／ＦであるＳＦ／Ｆ１０８，１０９，１１０，及び１１１を含んで構成される。先頭のＳＦ／Ｆ１０８のＳＩ入力端とＳＯ出力端をスキャンデータ入力端子１１２とＳＦ／Ｆ１０９のＳＩ入力端にそれぞれ接続する。また、ＳＦ／Ｆ１０９のＳＯ出力端をＳＦ／Ｆ１１０のＳＩ入力端に、ＳＦ／Ｆ１１０のＳＯ出力端をＳＦ／Ｆ１１１のＳＩ入力端に、最終段のＳＦ／Ｆ１１１のＳＯ出力端をＥＸＯＲ２０１の他方の入力端にそれぞれ接続する。更に、ＳＦ／Ｆ１０８〜１１１の各ＣＬＫ入力端を全て後述するＳＣ制御回路４０２の第２クロック信号であるＳＣ２信号を出力する端子４１７に、図示されていない各モード信号入力端を全てスキャンモード外部入力端子４０１に、それぞれ接続する。この構成により、ＳＳＦ動作モードの際には、スキャンデータ入力端子１１２に入力されるスキャンデータである信号をＳＣ制御回路４０２から出力される第２クロック信号に同期して順次ラッチするＳＳＦ動作を行い、スキャンチェーン１０７を構成する各ＳＦ／Ｆに所望の論理値を設定しながら、ＳＳＦ動作開始時の半導体装置１０の所定の内部回路部の状態を、ＥＸＯＲ２０１を介して、Ｓｏｕｔ外部出力端子１１５から取り出す。
【００４１】
尚、必要に応じて、例えばＳＣ外部入力端子１１３とスキャンチェーン１０２の間に遅延調整用回路４０３を挿入し、第１クロック信号とスキャンデータ入力端子１１２から入力されるスキャンデータ信号とのタイミングを整合させ、スキャンチェーン１０２の各ＳＦ／Ｆが所定のスキャンデータを確実にラッチすることができるようにする。
【００４２】
次に、ＳＣ制御回路４０２について説明する。ＳＣ制御回路４０２は、ＳＣ外部入力端子１１３から入力される第１クロック信号と、スキャンモード外部入力端子４０１から入力され半導体装置１０をＳＳＦ動作モードに設定するモード信号を入力して第２クロック信号を出力する。図２は、ＳＣ制御回路４０２の構成の一例を示すブロック図である。図２を参照すると、ＳＣ制御回路４０２は、ＳＣ外部入力端子１１３と接続して第１クロック信号を入力する端子４０５、スキャンモード外部入力端子４０１と接続してモード信号を入力する端子４０７、第２クロック信号であるＳＣ２信号を出力する端子４１７、ＡＮＤゲート４１０，４１３及び４１５、ＩＮＶ４１１及び４１４、ネガティブエッジ型リセットバー付Ｆ／Ｆ４１２、及び、マルチプレクサゲート（以下、ＭＵＸとする）４１６から構成されている。端子４０５に、ＡＮＤゲート４１０，４１３のそれぞれの第１の入力端，及びＩＮＶ４１４の入力端を全て接続し、端子４０７に、ＡＮＤゲート４１０の第２の入力端，ＡＮＤゲート４１５の第１の入力端，Ｆ／Ｆ４１２のＤ入力端及びリセット入力端，並びにＩＮＶ４１１の入力端を接続する。また、ＩＮＶ４１１の出力端をＡＮＤゲート４１３の第２の入力端に、ＡＮＤゲート４１３の出力端をＭＵＸ４１６の０選択入力端に、ＩＮＶ４１４の出力端をＭＵＸ４１６の１選択入力端に、ＡＮＤゲート４１０の出力端をＦ／Ｆ４１２のクロック入力端に、Ｆ／Ｆ４１２のＱ出力端をＡＮＤゲート４１５の第２の入力端に、ＡＮＤゲート４１５の出力端をＭＵＸ４１６の選択制御入力端４１８に、ＭＵＸ４１６の出力端４１９を端子４１７にそれぞれ接続している。ＭＵＸ４１６は、例えば選択制御入力端４１８に入力する信号が論理値“０”のとき０選択入力端の信号を出力端に伝達し、論理値“１”のとき１選択入力端の信号を出力端に伝達する。この構成により、例えば端子４０７に入力する信号が論理値“１”のとき、端子４０５に入力する信号が論理値“１”から論理値“０”に遷移するときに、論理値“０”から論理値“１”に遷移する信号を生成して、端子４１７から出力する。また、端子４０７に入力する信号が論理値“０”のときは、端子４０５に入力する信号をそのまま端子４１７から出力する。
【００４３】
次に、本実施形態のスキャンパステスト回路２０の動作を説明する。図３はスキャンパステスト回路２０の動作を説明するための主なノードの波形図で、信号波形１２０，４２０，１２２，４２１，４２２，及び４２３は、ＳＣ外部入力端子１１３，スキャンデータ入力端子１１２，ＳＦ／Ｆ１０３のＳＯ出力端，ＳＦ／Ｆ１０８のＳＯ出力端，スキャンモード外部入力端子４０１，及びＳＣ制御回路４０２の端子４１７における信号波形をそれぞれ示すものである。以下、図１〜３を参照して説明する。本実施形態の半導体装置１０が有するスキャンパステスト回路２０は、試験のために図示されていない内部回路部の状態設定や状態読み出しを行うＳＳＦ動作モード時には、スキャンモード外部入力端子４０１から入力するモード信号が、例えば信号波形４２２に示すように論理値“１”となり、スキャンチェーン１０２，１０７はＳＳＦ動作を行う。このとき、スキャンチェーン１０２を構成するＳＦ／Ｆ１０３〜１０６の各ＣＬＫ入力端にはＳＣ外部入力端子１１３から入力する第１クロック信号（信号波形１２０）をそのまま供給するが、スキャンチェーン１０７を構成するＳＦ／Ｆ１０８〜１１１の各ＣＬＫ入力端にはＳＣ制御回路４０２で生成される第２クロック信号（信号波形４２３）を供給する。ＳＳＦ動作モード時にＳＣ制御回路４０２で生成される第２クロック信号は、上記説明のとおり、ＳＣ外部入力端子１１３から供給される第１クロック信号が論理値“１”から論理値“０”に遷移するときに、論理値“０”から論理値“１”に遷移する波形となっている。従って、ＳＳＦ動作モード時には、スキャンチェーン１０２を構成する各ＳＦ／ＦはそれぞれのＳＩ入力端の信号を第１クロック信号の立ち上がり時にラッチし、スキャンチェーン１０７を構成する各ＳＦ／ＦはそれぞれのＳＩ入力端の信号を第１クロック信号の立ち下がり時にラッチする。そして第１クロック信号を所定回数入力することでＳＳＦ動作が行われ、スキャンデータ入力端子１１２に供給されている信号がスキャンチェーン１０２，１０７を構成する各ＳＦ／Ｆに順次ラッチされる。このとき、外部からスキャンデータ入力端子１１２に供給するスキャンデータである信号を、必要に応じて第１クロック信号の１周期の間に、例えば第１クロック信号が高レベルの期間と低レベルの期間に分けて、変化させば、一つのスキャンデータ入力端子１１２で２つのスキャンチェーン１０２とスキャンチェーン１０７に異なるスキャンデータを設定することができる。
【００４４】
例えば、スキャンデータ入力端子１１２に供給されるスキャンデータを図３に示す信号波形４２０とすると、時刻ｔ１においては論理値“１”であるため、論理値“１”がスキャンチェーン１０２の先頭に位置するＳＦ／Ｆ１０３のＳＩ入力端を経て、ＳＣ外部入力端子１１３に供給される第１クロック信号の立ち上がりに同期してＳＦ／Ｆ１０３にラッチされ、ＳＦ／Ｆ１０３のＳＯ出力端の信号は信号波形１２２に示すように論理値“１”に更新される。同様に、時刻ｔ２においては、ＳＣ制御回路４０２から出力される第２クロック信号が信号波形４２３に示すように立ち上がり、当該時刻におけるスキャンデータ入力端子１１２の信号は信号波形４２０に示すとおり論理値“０”であるため、論理値“０”が、スキャンチェーン１０７の先頭に位置するＳＦ／Ｆ１０８のＳＩ入力端を経て、ＳＦ／Ｆ１０８にラッチされ、ＳＦ／Ｆ１０８のＳＯ出力端の信号は信号波形４２１のように論理値“０”に更新される。
【００４５】
同様にして、ＳＦ／Ｆ１０３は、時刻ｔ３、ｔ５、ｔ７において、先にラッチした信号の論理値をスキャンチェーン１０２を構成する各ＳＦ／Ｆに順次シフトしながらスキャンデータ入力端子１１２の信号の論理値を順次ラッチする。また、ＳＦ／Ｆ１０８は、時刻ｔ４、ｔ６、ｔ８において、先にラッチした信号の論理値をスキャンチェーン１０２を構成する各ＳＦ／Ｆに順次シフトしながらスキャンデータ入力端子１１２の信号の論理値を順次ラッチする。この結果、スキャンチェーン１０２の先頭に位置するＳＦ／Ｆ１０３のＳＯ出力端の信号は信号波形１２２を形成し、スキャンチェーン１０７の先頭に位置するＳＦ／Ｆ１０８のＳＯ出力端の信号は信号波形４２１を形成する。
【００４６】
また、ＳＦ／Ｆ１０３〜１０６、及びＳＦ／Ｆ１０８〜１１１には、ＳＳＦ動作開始時の半導体装置１０の内部回路部の状態を示す論理値が取り込まれているので、ＳＳＦ動作開始後、例えば時刻ｔ１１、ｔ１２、ｔ１３、ｔ１４においてＳｏｕｔ外部出力端子１１５から出力する信号の論理値を観測することにより、ＳＳＦ動作開始時の半導体装置１０の内部回路部の状態が正常であったか否かを判定できる。具体的には、例えばＳＳＦ動作開始時に、ＳＦ／Ｆ１０６のＤ入力端を経てＳＦ／Ｆ１０６にラッチされる信号の期待論理値が論理値“０”であり、ＳＦ／Ｆ１１１のＤ入力端を経てＳＦ／Ｆ１１１にラッチされる信号の期待論理値が論理値“１”である場合、時刻ｔ１１においてＳｏｕｔ外部出力端子１１５で観測される期待値は、これらの排他的論理和値である論理値“１”となる。半導体装置１０が製造上の欠陥によって故障し、ＳＳＦ動作開始時にＳＦ／Ｆ１０６にラッチされていた信号が論理値“０”ではなく、論理値“１”である場合、時刻ｔ１１において、Ｓｏｕｔ外部出力端子１１５で観測される信号は論理値“０”となり、故障していない場合に期待された論理値“１”と異なる結果となるため、半導体装置１０に欠陥があるということを識別できる。但し、この場合は、ＳＳＦ動作開始時に、ＳＦ／Ｆ１１１にラッチされていた信号が論理値“１”ではなく、論理値“０”である場合も同様の結果となるので、いずれのスキャンチェーンに含まれるＳＦ／Ｆに伝搬した欠陥かまでは識別できない。
【００４７】
次に、スキャンデータ入力端子１１２に供給する信号を、必要に応じて第１クロック信号の１周期の間に、例えば第１クロック信号が論理値“１”の期間と論理値“０”の期間に分けて、変化させるモジュレーション回路について説明する。図４はモジュレーション回路の一例を示すブロック図である。尚、モジュレーション回路４４０は、例えばＬＳＩテスタと被検査回路である半導体装置１０との間を取り持つ外付けボード上に存在する。図４を参照すると、このモジュレーション回路４４０は、スキャンチェーン１０２にラッチさせたい信号を供給する端子４４１、スキャンチェーン１０７にラッチさせたい信号を供給する端子４４４、モジュレーションクロック（以下、ＭＣＬＫとする）信号を供給する端子４４２、モジュレーション回路４４０を初期化するリセット信号を入力する端子４４３、スキャンチェーン１０２に供給する信号をＭＣＬＫ信号に同期してラッチするＦ／Ｆ４４５、スキャンチェーン１０７に供給する信号をＭＣＬＫ信号に同期してラッチするＦ／Ｆ４４６、モジュレーション波形を合成するＭＵＸ４４７、及び、ＭＵＸ４４７の選択制御入力端４５８へ供給する選択制御信号の供給タイミングを調整するバッファ４４８から構成されており、ＭＵＸ４４７の出力端４５９から出力する信号が、被検査回路となる半導体装置１０のスキャンデータ入力端子１１２に供給される。また、これらは、Ｆ／Ｆ４４５のＤ入力端，ＣＬＫ入力端，ＲＳ入力端，及びＱ出力端を、端子４４１，端子４４２，端子４４３，及びＭＵＸ４４７の１選択入力端とそれぞれ接続し、Ｆ／Ｆ４４６のＤ入力端，反転入力となっているＣＬＫ入力端，ＲＳ入力端，及びＱ出力端を、端子４４４，端子４４２，端子４４３，及びＭＵＸ４４７の０選択入力端とそれぞれ接続し、更にバッファ４４８の入力端と出力端を、端子４４２とＭＵＸ４４７の選択制御入力端４５８にそれぞれ接続している。
【００４８】
次に、このように構成されたモジュレーション回路４４０の動作を説明する。図５は、この動作を説明するために主要ノードの信号波形を第１クロック信号波形と共に示す模式的な波形図の例である。図４，５を参照すると、端子４４２に入力するＭＣＬＫ信号（信号波形４５３）は、第１クロック信号（信号波形１２０）よりも早めに変化し、端子４４１に供給する信号の信号波形４５１と端子４４４に供給する信号の信号波形４５２から、スキャンデータ入力端子１１２に供給するスキャンデータとなる信号波形４２０を合成する。例えば、時刻ｔ２１では、端子４４１に供給されている信号は論理値“１”であり、ＭＣＬＫ信号の立ち上がりでＦ／Ｆ４４５にラッチされ、ＭＵＸ４４７の選択制御信号は論理値“１”となるため、ＭＣＬＫ信号が論理値“１”である間、Ｆ／Ｆ４４５にラッチされた論理値“１”がスキャンデータ入力端子１１２に供給される。次に、時刻ｔ２２において、ＭＣＬＫ信号が立ち下がると、当該時刻において、端子４４４に供給されている信号は論理値“０”であり、これがＦ／Ｆ４４６にラッチされ、ＭＵＸ４４７の選択制御信号は論理値“０”になるため、ＭＣＬＫ信号が論理値“０”である間、Ｆ／Ｆ４４６にラッチされた論理値“０”がスキャンデータ入力端子１１２に供給される。以下同様に、時刻ｔ２３、ｔ２４、ｔ２５、ｔ２６、ｔ２７及びｔ２８において、信号波形４５１として端子４４１に供給される信号と信号波形４５２として端子４４４に供給される信号から、スキャンデータ入力端子１１２に供給する信号波形４２０を合成する。
【００４９】
次に、本実施形態の半導体装置１０をＬＳＩテスタによりテストする方法を説明する。図６は、半導体装置１０のテスト方法を説明するための図で、モジュレーション回路４４０，ＬＳＩテスタ４７１，及び半導体装置１０の接続関係の概略を示すブロック図である。図６を参照すると、ＬＳＩテスタ４７１から被検査回路となる半導体装置１０への入力信号は、外付けボード４７４内部を通過する入力信号線束４７３を経て、半導体装置１０に供給される。この入力信号線束４７３の一部の信号線４７５が、外付けボード４７４に存在するモジュレーション回路４４０に接続し、モジュレーション回路４４０からのモジュレーション信号線４７６が半導体装置１０に接続され、モジュレーションされた信号が半導体装置１０の例えばスキャンデータ入力端子１１２に供給される。半導体装置１０の出力信号は出力信号線束４７２を経て、ＬＳＩテスタ４７１に戻される。ＬＳＩテスタ４７１では、出力信号線束４７２の信号の論理値を観測し、期待値と比較して半導体装置１０に故障があるかどうかを判断する。
【００５０】
以上説明したように、本実施形態の半導体装置に含まれるスキャンパステスト回路のスキャンチェーンは、一つのスキャンデータ入力端子を共有する複数のスキャンチェーン間でラッチタイミングをずらせると共に、共有する一つのスキャンデータ入力端子に与える信号にモジュレーションをかけることにより、複数の異なるスキャンチェーンに自由に論理値を設定できるようになるので、内部回路部の制御性を損なうことなくテスト時間を短縮することができるという顕著な効果が得られる。
【００５１】
次に、本発明の半導体装置の第２の実施形態について説明する。図７は、本発明の半導体装置の第２の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図であり、図８は第１の実施形態における図３に相当する図で、スキャンパステスト回路２１の動作を説明するための主なノードの波形図であり、信号波形１２０，４２０，１２２，４２１，４２２，及び４２３は、ＳＣ外部入力端子１１３，スキャンデータ入力端子１１２，ＳＦ／Ｆ１０３のＳＯ出力端，ＳＦ／Ｆ１０８のＳＯ出力端，スキャンモード外部入力端子４０１，及びＳＣ制御回路４０２の端子４１７における信号波形をそれぞれ示すものである。図７を参照すると、本実施形態の半導体装置１１は、図示されていない所望の機能を実現する内部回路、スキャンパステスト回路２１、スキャンデータ入力端子１１２、ＳＣ外部入力端子１１３、スキャンモード外部入力端子４０１、及びＳｏｕｔ外部出力端子１１５、を少なくとも備えている。また、スキャンパステスト回路２１は第１スキャンチェーンであるスキャンチェーン１０２、第２スキャンチェーンであるスキャンチェーン１０７、符号圧縮手段であるＭＵＸ２１０、及びＳＣ制御手段であるＳＣ制御回路４０２を含み構成されている。本実施形態は、第１の実施形態のスキャンパステスト回路２０に含まれる符号圧縮手段であるＥＸＯＲ２０１をＭＵＸ２１０に置き換えてスキャンパステスト回路２１を構成した点が異なるだけで、他は全て第１の実施形態と同じであり、同じ部分の説明は省略する。このＭＵＸ２１０は、０選択入力端，１選択入力端，出力端２１９，及び選択制御入力端２１８を、ＳＦ／Ｆ１０６のＳＯ出力端，ＳＦ／Ｆ１１１のＳＯ出力端，Ｓｏｕｔ外部出力端子１１５，及びＳＣ外部入力端子１１３とそれぞれ接続している。
【００５２】
この構成により、本実施形態では、Ｓｏｕｔ外部出力端子１１５には、第１クロック信号に同期して、第１クロック信号が論理値“１”の期間はスキャンチェーン１０２側の情報が、また論理値“０”の期間はスキャンチェーン１０７側の情報が交互に現れるため、Ｓｏｕｔ外部出力端子１１５から出力される信号波形を観測することにより、どのＳＦ／Ｆにおいて故障の影響が伝搬したのかを識別できる。例えば、ＳＳＦ動作開始時にＳＦ／Ｆ１０６にラッチされた内部回路部の状態値は、図８の時刻ｔ１１にて、Ｓｏｕｔ外部出力端子１１５の信号の論理値を観測することにより確認でき、ＳＦ／Ｆ１１１にラッチされた内部回路部の状態値は、時刻ｔ３１にて、Ｓｏｕｔ外部出力端子１１５の信号の論理値を観測することにより確認できる。このように本実施形態では、テストの結果から、どの故障がどのＳＦ／Ｆに伝搬したのかを特定することが可能になる。
【００５３】
次に、本発明の半導体装置の第３の実施形態について説明する。図９は、本発明の半導体装置の第３の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図であり、図１０は第１の実施形態における図３に相当する図で、スキャンパステスト回路２２の動作を説明するための主なノードの波形図であり、信号波形１２０，４２０，１２２，及び６２１は、ＳＣ外部入力端子１１３，スキャンデータ入力端子１１２，ＳＦ／Ｆ１０３のＳＯ出力端，及びＳＦ／Ｆ１０８のＳＯ出力端における信号波形をそれぞれ示すものである。図９を参照すると、本実施形態の半導体装置１２は、図示されていない所望の機能を実現する内部回路、スキャンパステスト回路２２、スキャンデータ入力端子１１２、ＳＣ外部入力端子１１３、スキャンモード外部入力端子４０１、及びＳｏｕｔ外部出力端子１１５、を少なくとも備えている。また、スキャンパステスト回路２２は第１スキャンチェーンであるスキャンチェーン１０２、第２スキャンチェーンであるスキャンチェーン６０２、符号圧縮手段であるＥＸＯＲ２０１、及びネガティブエッジ型Ｆ／Ｆ６０１を含み構成されている。
【００５４】
第１，第２の実施形態では、ＳＣ制御回路４０２を用いて、一つのスキャンデータ入力端子１１２から、２つのスキャンチェーン１０２及び１０７に異なる値を設定できるようにしていたが、図９に示すようなスキャンチェーン構成を採ることにより、第１，第２の実施形態と同じ効果を得ることができる。本実施形態のスキャンチェーン構成が第１，第２の実施形態のスキャンチェーン構成と異なる点は、スキャンチェーン１０７の代わりに、ＳＦ／Ｆ１０８、１０９、及び１１１から成るスキャンチェーン６０２を配置し、スキャンチェーン６０２の前にネガティブエッジ型Ｆ／Ｆ６０１を挿入し、ＳＣ制御回路４０２を削除した点である。本実施形態においても第１，第２の実施形態と同様にスキャンデータ入力端子１１２に供給する信号のモジュレーションは、外付けボード上のモジュレーション回路４４０を用いる。
【００５５】
このスキャンチェーン構成によるＳＳＦ動作は、図１０の信号波形も併せて参照すると、スキャンチェーン６０２に設定する信号を、予めＳＣ外部入力端子１１３に供給する第１クロック信号の立ち下がり時に、スキャンデータ入力端子１１２からＦ／Ｆ６０１に取り込み、第１クロック信号の次の立ち上がり時に、Ｆ／Ｆ６０１にラッチされていた信号値をＳＦ／Ｆ１０８に伝搬させる。第１，第２の実施形態のスキャンチェーン１０７を構成するＳＦ／Ｆは、見かけ上、第１クロック信号の立ち下がり時に、スキャンデータ入力端子１１２に供給された信号をラッチしていたが、本実施形態では、スキャンチェーン６０２のＳＦ／Ｆは、第１クロックの立ち下がり時にＦ／Ｆ６０１に取り込んでいた信号を、第１クロック信号の立ち上がり時にラッチするようになる。
【００５６】
上述した本実施形態の例では、スキャンチェーン６０２のＳＦ／Ｆの数が第１，第２の実施形態の場合よりも少なくなっている。第１，第２の実施形態と同じように、スキャンチェーン６０２のＳＦ／Ｆの数を、スキャンチェーン１０２のＳＦ／Ｆの数と同じにした場合、ＳＳＦ動作では、Ｆ／Ｆ６０１に所望の信号を設定するクロック１周期分だけＳＳＦ時間が長くなる。しかし、大規模回路では、スキャンチェーンに含まれるＳＦ／Ｆの数は非常に多くなるため、クロック１周期分のＳＳＦ時間が増加しても、全体的なテスト時間の大幅短縮効果に対する影響はほとんどない。
【００５７】
尚、本発明は上記実施形態の説明に限定されるものでなく、その要旨の範囲内において種々変更が可能である。例えば、上記実施形態では各スキャンチェーンを構成するＳＦ／Ｆの数が３乃至４個の例で説明したが、内部回路部の規模に応じてこの数は任意に増やすことができることは言うまでもない。また、上記実施形態ではモジュレーションをかけるためのモジュレーション回路を外付けボード上に設けた例で説明したが、モジュレーション機能を内蔵するＬＳＩテスタも多く、そのようなＬＳＩテスタを用いる場合は、当然外付けボード上のモジュレーション回路は不要である。
【００５８】
また、スキャンチェーンを構成するＳＦ／Ｆは、ＳＳＦ動作モード時に一つのクロック信号でＳＳＦ動作を行う例で説明したが、２つのクロック信号でＳＳＦ動作を行う構成のＳＦ／Ｆであっても本発明は適用可能である。
【００５９】
例えば、ＳＳＦ動作モード時に２つのクロック信号でＳＳＦ動作を行う構成のＳＦ／Ｆとしては、例えば図１７に示すクロックドＬＳＳＤ（Ｌｅｖｅｌ  Ｓｅｎｓｉｔｉｖｅ  ＳｃａｎＤｅｓｉｇｎ）型ＳＦ／Ｆがある。図１７を参照すると、クロックドＬＳＳＤ型ＳＦ／Ｆ７０はＤ型ラッチ７１，７３，７５から構成されており、通常動作時のデータ信号及び通常動作クロック信号をそれぞれ入力するＤ入力端及びＣＬＫ入力端と、通常動作時のデータ信号を出力するＱ出力端と、ＳＳＦ動作モード時にスキャンデータ信号，第１のスキャンクロック信号，及び第２のスキャンクロック信号をそれぞれ入力するＳＩ入力端，ＳＣ１入力端，及びＳＣ２入力端と、ＳＳＦ動作モード時にスキャンデータ信号を出力するＳＯ出力端を備えている。通常動作時は、第１及び第２のスキャンクロック信号は論理値“０”に固定されており、ＣＬＫ入力端に入力する通常動作クロック信号のみで、Ｄ型ラッチ７１及び７５で通常のＤ型Ｆ／Ｆとして機能する。ＳＳＦ動作モード時には、ＣＬＫ入力端に入力する通常動作クロック信号は論理値“０”に固定され、ＳＣ１入力端，及びＳＣ２入力端に入力する第１及び第２のスキャンクロック信号でＳＳＦ動作を実現する。ＳＳＦ動作時、１周期の間に、まずＳＣ１入力端に第１スキャンクロック信号が与えられ、ＳＩ入力端に入力されるスキャンデータ信号をＤ型ラッチ７３にラッチする。その後、ＳＣ２入力端に第２クロック信号が入力され、Ｄ型ラッチ７３にラッチされたデータ信号をＤ型ラッチ７５にラッチし、次段のＳＦ／Ｆに信号を伝搬させる。
【００６０】
次に、このようなクロックドＬＳＳＤ型ＳＦ／Ｆを用いたスキャンチェーンの構成例を説明する。図１８は、クロックドＬＳＳＤ型ＳＦ／Ｆを用いたスキャンチェーンの構成例を示すブロック図であり、図９に示す第３の実施形態の半導体装置に含まれるスキャンパステスト回路のスキャンチェーンを構成するＳＦ／Ｆを上述したクロックドＬＳＳＤ型ＳＦ／Ｆに置き換えた構成となっている。この半導体装置１５が有するテスト回路２５は、クロックドＬＳＳＤ型ＳＦ／Ｆ７０６，７０７，７０８，及び７０９で構成されるスキャンチェーン７１０と、ネガティブエッジ型Ｆ／Ｆ７１１と、クロックドＬＳＳＤ型ＳＦ／Ｆ７１２，７１３，及び７１４から構成されるスキャンチェーン７１５と、ネガティブエッジ型Ｆ／Ｆ７１６と、クロックドＬＳＳＤ型ＳＦ／Ｆ７１７，７１８，及び７１９から構成されるスキャンチェーン７２０と、ネガティブエッジ型Ｆ／Ｆ７２１と、クロックドＬＳＳＤ型ＳＦ／Ｆ７２２，７２３，及び７２４から構成されるスキャンチェーン７２５を含み、更にこれらのスキャンチェーンに、スキャンデータ信号を供給するＳＩＮ１入力端子７０２、第１及び第２のスキャンクロック信号を供給するＳＣ１入力端子７０４，ＳＣ２入力端子７０５、通常動作時の通常動作クロック信号を入力するＣＬＫ入力端子７０３、スキャンデータを圧縮するＥＸＯＲ７２６，７２７，及び７２８、そして、スキャンデータ信号を出力するスキャンデータ出力端子７２９を備えている。このように、クロックドＬＳＳＤ型ＳＦ／Ｆを用いてスキャンチェーンを構成することにより、第３の実施形態の場合とは異なり、一つのＳＩＮ１入力端子７０２から４本のスキャンチェーン７１０，７１５，７２０，７２５に互いに独立したデータ信号を供給可能である。
【００６１】
次に、ＳＳＦ動作の概要を説明する。図１９は、図１８のテスト回路２５が含むスキャンチェーンのＳＳＦ動作を説明するための模式的な波形図である。以下、図１７，１８，１９を参照して説明する。ＳＳＦ動作モード時には、通常動作クロック信号は論理値“０”に固定され、第１及び第２のスキャンクロック信号でＳＳＦ動作を実現する。スキャンチェーン７１０の最初のＳＦ／Ｆ７０６は、第１のスキャンクロック信号（信号波形７３０）の立ち上がりでＳＩＮ１入力端子７０２から入力されたスキャンデータ信号（信号波形７３２）をラッチする。一方、スキャンチェーン７１５，７２０，７２５の前には、それぞれ、第１のスキャンクロック信号の立ち下がりでスキャンデータ信号をラッチするＦ／Ｆ７１１、第２のスキャンクロック信号の立ち上がりでスキャンデータ信号をラッチするＦ／Ｆ７１６、第２のスキャンクロック信号の立ち下がりでスキャンデータ信号をラッチするＦ／Ｆ７２１が接続されている。各Ｆ／Ｆにラッチされた信号（信号波形７３５，７３８，及び７４１）は、次の周期の第１のスキャンクロック信号の立ち上がりで、各ＳＦ／Ｆ７１２，７１７，７２２に取り込まれる。これにより、各スキャンチェーンは、１周期の間の４つのポイントでＳＩＮ１入力端子７０２に入力されるデータ信号を取り込むことができ、個々のスキャンチェーンにおいて、異なるスキャンデータに対するＳＳＦ動作が可能になる。尚、図１９の波形図の信号波形７３３，７３６，７３９，及び７４２は、それぞれＳＦ／Ｆ７０６，７１２，７１７，及び７２２の図１７におけるＤ型ラッチ７３の出力に相当する部分の信号波形であり、信号波形７３４，７３７，７４０，及び７４３は、同様にＤ型ラッチ７５の出力に相当する部分の信号波形を示している。
【００６２】
【発明の効果】
以上説明したように、本発明の半導体装置は、内部回路部の制御性を低下させることなくＳＳＦ時間を短縮でき、テスト時間及びテストコストを大幅に削減することができるという顕著な効果が得られる。
【図面の簡単な説明】
【図１】本発明の半導体装置の第１の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図である。
【図２】図１のＳＣ制御回路の構成の一例を示すブロック図である。
【図３】図１のスキャンパステスト回路の動作を説明するための主なノードの波形図である。
【図４】モジュレーション回路の一例を示すブロック図である。
【図５】図４のモジュレーション回路の動作を説明するために主要ノードの信号波形を第１クロック信号波形と共に示す模式的な波形図の例である。
【図６】第１の実施形態の半導体装置のテスト方法を説明するための図で、モジュレーション回路，ＬＳＩテスタ，及び半導体装置の接続関係の概略を示すブロック図である。
【図７】本発明の半導体装置の第２の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図である。
【図８】図７のスキャンパステスト回路の動作を説明するための主なノードの波形図である。
【図９】本発明の半導体装置の第３の実施形態に含まれるスキャンパステスト回路のスキャンチェーンの構成例を示すブロック図である。
【図１０】図９のスキャンパステスト回路の動作を説明するための主なノードの波形図である。
【図１１】従来の一般的なスキャン方式で用いられるスキャンチェーンの回路構成例を示すブロック図である。
【図１２】図１１のスキャンチェーンの主要ノードの波形例である。
【図１３】特開２０００−２５８５００号公報に開示されたスキャンチェーンの回路構成例を示すブロック図である。
【図１４】図１３のスキャンチェーンの主要ノードの波形例である。
【図１５】サンプル回路とサンプル故障を用いて故障を検出するためのテストパタンをスキャンチェーンにより設定する例を説明するための図で、（ａ）は、従来の一般的なスキャンチェーンの場合のテストパタンを示したものであり、（ｂ）は特開２０００−２５８５００号公報に開示されたスキャンチェーンの場合のテストパタンを示したものである。
【図１６】一つのクロック信号でＳＳＦ動作を行うＳＦ／Ｆの具体的な構成例を示すブロック図である。
【図１７】クロックドＬＳＳＤ型ＳＦ／Ｆの構成例を示すブロック図である。
【図１８】クロックドＬＳＳＤ型ＳＦ／Ｆを用いたスキャンチェーンの構成例を示すブロック図である。
【図１９】図１８のテスト回路が含むスキャンチェーンのＳＳＦ動作を説明するための模式的な波形図である。
【符号の説明】
１０，１１，１２，１５    半導体装置
２０，２１，２２，２５    テスト回路
５０    ＳＦ／Ｆ
５１，２１０，４１６，４４７    ＭＵＸ
５３，４１２    Ｆ／Ｆ
７０    クロックドＬＳＳＤ型ＳＦ／Ｆ
７１，７３，７５    Ｄ型ラッチ
１０２，１０７，６０２    スキャンチェーン
７１０，７１５，７２０，７２５    スキャンチェーン
１０３，１０４，１０５，１０６    ＳＦ／Ｆ
１０８，１０９，１１０，１１１    ＳＦ／Ｆ
１１２    スキャンデータ入力端子
１１３    ＳＣ外部入力端子
１１５    Ｓｏｕｔ外部出力端子
２０１，７２６，７２７，７２８    ＥＸＯＲ
２１８，４１８，４５８    選択制御入力端
２１９，４１９，４５９    出力端
４０１    スキャンモード外部入力端子
４０２    ＳＣ制御回路
４０３    遅延調整用回路
４０５，４０７，４１７，４４１，４４２，４４３，４４４    端子
４１０，４１３，４１５    ＡＮＤゲート
４１１，４１４    ＩＮＶ
４４０    モジュレーション回路
４４５，４４６，７１１，７１６，７２１    Ｆ／Ｆ
４４８    バッファ
４７１    ＬＳＩテスタ
４７２    出力信号線束
４７３    入力信号線束
４７４    外付けボード
４７５    信号線
６０１    Ｆ／Ｆ
７０２    ＳＩＮ１入力端子
７０３    ＣＬＫ入力端子
７０４    ＳＣ１入力端子
７０５    ＳＣ２入力端子
７０６，７０７，７０８，７０９，７１２，７１３，７１４，７１７，７１８，７１９，７２２，７２３，７２４    ＳＦ／Ｆ
７２９    スキャンデータ出力端子
【図１】
0003594582.tif 000002
【図２】
0003594582.tif 000003
【図３】
0003594582.tif 000004
【図４】
0003594582.tif 000005
【図５】
0003594582.tif 000006
【図６】
0003594582.tif 000007
【図７】
0003594582.tif 000008
【図８】
0003594582.tif 000009
【図９】
0003594582.tif 000010
【図１０】
0003594582.tif 000011
【図１１】
0003594582.tif 000012
【図１２】
0003594582.tif 000013
【図１３】
0003594582.tif 000014
【図１４】
0003594582.tif 000015
【図１５】
0003594582.tif 000016
【図１６】
0003594582.tif 000017
【図１７】
0003594582.tif 000018
【図１８】
0003594582.tif 000019
【図１９】
0003594582.tif 000020