(57)【特許請求の範囲】
【請求項１】
半導体装置のそれぞれの入出力ピンに設けられたバウンダリスキャンセルを所定数直列に接続して構成される少なくとも１つのバウンダリスキャンレジスタを備え、
前記バウンダリスキャンレジスタは、フィードバックシフトレジスタ構成とされ、
前記半導体装置の入力ピンに設けられる前記バウンダリスキャンセルは、各々対応する入出力ピンから入力される信号とテスト用の入出力ピンから入力される信号ないしは前記バウンダリスキャンレジスタを構成する前段のバウンダリスキャンセルの出力信号とのいずれか一方を選択的に出力する第３のセレクタと、クロック信号に同期して前記第３のセレクタの出力信号を保持し、当該バウンダリスキャンセルの出力信号として出力する第２のフリップフロップと、前記各々対応する入出力ピンから入力される信号と前記第２のフリップフロップの出力信号とのいずれか一方を選択的に出力する第４のセレクタと、この第４のセレクタの出力信号を保持する第２のラッチと、前記各々対応する入出力ピンから入力される信号と前記第２のラッチの出力信号とのいずれか一方を選択的に出力する第５のセレクタとを備えることを特徴とするテスト回路。
【請求項２】
前記半導体装置の出力ピンに設けられる前記バウンダリスキャンセルは、前記半導体装置の内部回路の各々対応する出力信号と前記テスト用の入出力ピンから入力される信号ないしは前記バウンダリスキャンレジスタを構成する前段のバウンダリスキャンセルの出力信号との排他的論路和を取るＥＸＯＲゲートと、前記内部回路の各々対応する出力信号と前記ＥＸＯＲゲートの出力信号とのいずれか一方を選択的に出力する第１のセレクタと、前記クロック信号に同期して前記第１のセレクタの出力信号を保持し、当該バウンダリスキャンセルの出力信号として出力する第１のフリップフロップと、この第１のフリップフロップの出力信号を保持する第１のラッチと、前記内部回路の各々対応する出力信号と前記第１のラッチの出力信号とのいずれか一方を選択的に出力する第２のセレクタとを備えることを特徴とする請求項１に記載のテスト回路。
【請求項３】
前記バウンダリスキャンレジスタは、さらに、前記テスト用の入出力ピンから入力される信号と当該バウンダリスキャンレジスタを構成する最終段のバウンダリスキャンセルの出力信号とのどちらか一方を選択的に出力する第６のセレクタを備え、
前記第６のセレクタの出力信号は、当該バウンダリスキャンレジスタの初段のバウンダリスキャンセルに入力されていることを特徴とする請求項１または２に記載のテスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＪＴＡＧ（Joint Test Action Group ）を利用した半導体装置のテスト回路に関するものである。
【０００２】
【従来の技術】
ＪＴＡＧは、ＩＥＥＥ１１４９．１により規定され、例えば半導体装置のボード上への実装テストや、デバッグツールとしても使用される汎用的なテスト手法である。
【０００３】
以下、このＪＴＡＧを利用したテスト回路について説明する。
図６は、従来のテスト回路を適用する半導体装置の一例の構成概略図である。
同図に示す半導体装置５０は、テスト回路として、ＪＴＡＧを利用して構成されたバウンダリスキャンレジスタ（シフトレジスタ）を備えるものである。
【０００４】
図示例の半導体装置５０のそれぞれの入力ピンは入力バッファ（Ｉ／Ｏ）１４の入力端子に接続され、この入力バッファ１４の出力端子と内部回路１２との間に入力用のバウンダリスキャンセル（ＢＳＣ）１６が配置されている。また、内部回路１２とそれぞれの出力バッファ（Ｉ／Ｏ）２０の入力端子との間には出力用のバウンダリスキャンセル（ＢＳＣ）１８が配置され、それぞれの出力バッファ２０の出力端子は、半導体装置５０のそれぞれの出力ピンに接続されている。
【０００５】
図中左下の初段の入力用のバウンダリスキャンセル１６の入力端子ＴＤＩには、外部から半導体装置５０のテスト用の入力ピンＴＤＩへ入力される信号が入力バッファ１４を介して入力されている。
【０００６】
この初段のバウンダリスキャンセル１６の出力端子ＴＤＯから出力される信号は、次段のバウンダリスキャンセル１８の入力端子ＴＤＩに入力され、以後同様にして、前段のバウンダリスキャンセルの出力端子ＴＤＯから出力される信号が、次段のバウンダリスキャンセルの入力端子ＴＤＩに入力されている。こうして、全てのバウンダリスキャンセル１６，１８が直列に接続され、１本のバウンダリスキャンレジスタが構成されている。
【０００７】
そして、図中中央下の最終段の出力用のバウンダリスキャンセル１８の出力端子ＴＤＯから出力される信号が、出力バッファ２０を介して半導体装置５０の出力ピンＴＤＯから外部へ出力されている。
【０００８】
続いて、バウンダリスキャンセルの構成について説明する。
図７および図８は、従来のバウンダリスキャンセルの一例の構成回路図である。まず、図７に示す入力用のバウンダリスキャンセル１６は、半導体装置５０の各々の入力ピンに設けられているものであり、セレクタ２４と、フリップフロップ（Ｆ／Ｆ）２６と、ラッチ（Ｄ−Ｌａｔｃｈ）３０と、セレクタ３２とを備えている。
【０００９】
セレクタ２４の入力端子０，１および選択端子には、それぞれ信号ＺＩＮ、信号ＴＤＩおよび信号ＳＨＩＦＴが入力され、その出力信号は、フリップフロップ２６のデータ入力端子Ｄに入力されている。また、フリップフロップ２６のクロック入力端子ＣＫには信号ＣＬＯＣＫが入力され、そのデータ出力端子Ｑから出力される信号は、ラッチ３０のデータ入力端子Ｄに入力されると共に、信号ＴＤＯとして出力されている。
【００１０】
ラッチ３０のイネーブル入力端子ＥＮには信号ＵＰＤＡＴＥが入力され、その出力端子Ｑから出力される信号はセレクタ３２の入力端子１に入力されている。また、セレクタ３２の入力端子０および選択入力端子には、それぞれ信号ＺＩＮおよび信号ＭＯＤＥが入力され、セレクタ３２からは信号ＺＯＵＴが出力されている。
【００１１】
ここで、信号ＺＩＮは、外部から半導体装置５０の入力ピンへ入力され、入力バッファ１４を介してこの入力用のバウンダリスキャンセル１６に入力される信号であり、信号ＺＯＵＴは、半導体装置５０の内部回路１２へ供給される信号である。
【００１２】
信号ＴＤＩおよび信号ＴＤＯは、テスト用のデータ信号である。信号ＴＤＩとしては、半導体装置５０の入力ピンＴＤＩから入力される信号、または前段のバウンダリスキャンセルの出力端子ＴＤＯから出力される信号が入力される。一方、バウンダリスキャンセルから出力される信号ＴＤＯは、次段のバウンダリスキャンセルの入力端子ＴＤＩへ入力される、または半導体装置５０の出力ピンＴＤＯから外部へ出力される。
【００１３】
信号ＭＯＤＥ、信号ＳＨＩＦＴ、信号ＣＬＯＣＫおよび信号ＵＰＤＡＴＥは、テスト用の制御信号である。信号ＭＯＤＥは、半導体装置５０の動作モードを設定する信号であり、‘０’の場合は通常モード、‘１’の場合はテストモードとなる。また、信号ＳＨＩＦＴは、セレクタ２４の選択信号であり、‘０’の場合、セレクタ２４からは信号ＺＩＮが出力され、‘１’の場合には信号ＴＤＩが出力される。
【００１４】
信号ＣＬＯＣＫは、フリップフロップ２６のクロック信号であり、その立上がりに同期して、セレクタ２４から出力される信号がフリップフロップ２６に保持されると共に、そのデータ出力端子Ｑから出力される。また、信号ＵＰＤＡＴＥは、ラッチ３０のイネーブル信号であり、‘０’の場合、ラッチ３０のデータ出力端子Ｑから出力される信号は保持され、‘１’の場合には、フリップフロップ２６から出力される信号ＴＤＯがデータ出力端子Ｑから出力される。
【００１５】
一方、図８に示す出力用のバウンダリスキャンセル１８は、半導体装置５０の各々の出力ピンに設けられているものである。同図に示すように、出力用のバウンダリスキャンセル１８の構成は、図７に示す入力用のバウンダリスキャンセル１６において、信号ＺＩＮおよび信号ＺＯＵＴが、それぞれ信号ＡＩＮおよび信号ＡＯＵＴに変更されている点を除いて同じである。従って、出力用のバウンダリスキャンセル１８の詳細な説明は省略する。
【００１６】
ここで、信号ＡＩＮは、半導体装置５０の内部回路１２から入力される信号であり、信号ＡＯＵＴは、この出力用のバウンダリスキャンセル１８から出力バッファ２０を介して半導体装置５０の外部へ出力される信号である。
【００１７】
図示例のテスト回路では、通常モード（信号ＭＯＤＥ＝‘０’）の場合、入力用のバウンダリスキャンセル１６のセレクタ３２からは、信号ＺＯＵＴとして信号ＺＩＮが出力され、内部回路１２に供給される。また、出力用のバウンダリスキャンセル１８のセレクタ４４からは、信号ＡＯＵＴとして信号ＡＩＮが出力され、半導体装置５０の外部へ出力される。
【００１８】
すなわち、通常モードの場合、機能的には、入力用および出力用のバウンダリスキャンセル１６，１８が共にない状態と等価であり、内部回路１２は、それぞれの入力ピンから入力される信号に従って動作し、その出力信号は、それぞれの出力ピンから半導体装置５０の外部へ出力される。
【００１９】
一方、テストモード（信号ＭＯＤＥ＝‘１’）の場合、入力用のバウンダリスキャンセル１６のセレクタ２４からは、信号ＳＨＩＦＴ＝‘０’の場合に信号ＺＩＮが出力され、‘１’の場合には信号ＴＤＩが出力される。すなわち、セレクタ２４からは、対応する入力ピンから入力される信号と入力ピンＴＤＩから入力される信号ないしは前段のバウンダリスキャンセルの出力端子ＴＤＯから入力される信号とのいずれか一方が選択的に出力される。
【００２０】
続いて、セレクタ２４の出力信号は、信号ＣＬＯＣＫの立上がりに同期してフリップフロップ２６に保持される。
【００２１】
ここで、信号ＳＨＩＦＴ＝‘０’の場合、各々の入力ピンから入力される信号ＺＩＮが、信号ＣＬＯＣＫの立上がりに同期して、各々対応するフリップフロップ２６に同時に保持される。
【００２２】
一方、信号ＳＨＩＦＴ＝‘１’の場合、全てのバウンダリスキャンセルによってバウンダリスキャンレジスタが構成される。この場合、入力ピンＴＤＩから入力される信号が、信号ＣＬＯＣＫの立上がりに同期して、初段のバウンダリスキャンセルのフリップフロップ２６に保持され、以後、次段のバウンダリスキャンセルのフリップフロップに順次シフトされ、最終的に、全てのバウンダリスキャンセルのフリップフロップ２６にデータが設定される。
【００２３】
各々の入力用のバウンダリスキャンセル１６のフリップフロップ２６に保持された信号は、信号ＵＰＤＡＴＥ＝‘１’とするタイミングでラッチ３０を通過し、セレクタ３２を介して内部回路１２へ供給される。また、ラッチ３０を通過した信号は、信号ＵＰＤＡＴＥ＝‘０’とするタイミングでラッチ３０に保持される。
【００２４】
これにより、入力タイミングのばらつきに関係なく、外部から半導体装置５０の入力ピンへ入力された信号を信号ＵＰＤＡＴＥのタイミングで同時に内部回路１２へ供給することができる。
【００２５】
その後、内部回路１２は、各々の入力用のバウンダリスキャンセル１６のセレクタ３２から供給される信号に従って動作し、その出力信号は、各々の出力用のバウンダリスキャンセル１８に供給される。
【００２６】
同様に、出力用のバウンダリスキャンセル１８においても、テストモードの場合、信号ＳＨＩＦＴ＝‘０’として、内部回路１２から出力される信号ＡＩＮを各々対応するフリップフロップ４０に同時に保持し、信号ＵＰＤＡＴＥ＝‘１’のタイミングで同時に外部へ出力したり、信号ＳＨＩＦＴ＝‘１’として、フリップフロップ４０に保持された信号を順次シフトして、出力ピンＴＤＯから外部へ順次出力することができる。
【００２７】
このＪＴＡＧを利用したテスト回路を半導体装置５０に実装しておくことにより、前述のようにして、例えば半導体装置５０がボード上に正しく実装されているかどうかをテストすることができる。
【００２８】
ところで、半導体装置を出荷する場合には、専用のテスタにより良品か不良品かをチェックし、良品だけが選別されて出荷される。この際、テスタから半導体装置に対して所定のタイミングで入力信号が与えられ、これに応じて半導体装置が動作し、所定のタイミングで出力信号が出力される。テスタでは、半導体装置から出力される信号を確認することにより、半導体装置が良品なのか不良品なのかの選別が行われる。
【００２９】
しかし、最近は半導体装置の製造技術が急速に進歩し、搭載される回路規模が増大すると共に、非常に高速に動作する製品も増えている。当然、テスタによる選別時も、実動作時と同じ高速な動作速度でテストを行うのが望ましいが、実動作速度でのテストは、以下の１）および２）の観点から困難な場合が多い。
【００３０】
１）テスタの負荷と実使用上での負荷の違い
ボード上に高速動作する半導体装置を実装する場合、当然、ボード上の各半導体装置間をつなぐ配線は短く配線され、できるだけ負荷が小さくなるようにボード設計がなされるはずである。また、信号がバスの場合、それぞれの信号配線の負荷が等しくなるように設計し、信号間のスキューがないように設計がなされるはずである。
【００３１】
これに対し、テスタの場合は、各半導体装置の入出力ピンに入力信号を与えるドライバと、出力信号の値を調べるコンパレータが治具を介して接続されるため、容量として数１０〜１００ｐｆ以上の負荷となる。また、通常、テスタの治具は、製品毎に特化した仕様で設計されているわけではなく、従って、特定の信号間にスキューが発生しないように設計されているわけではなく、配線の引き回し等によるばらつきがあるのはある程度やむを得ない。
【００３２】
このような両者の負荷の違いにより、実使用時の条件下では正常動作するはずの半導体装置であっても、テスタによるテストの時には正常に動作しない場合がある。
【００３３】
２）テスタの測定精度の問題
当然ながら、テスタの測定精度の問題もある。例えば、出力ストローブ位置（テスタが出力信号を測定するタイミング）についても、ある程度のマージンがないと、本来良品である半導体装置が不良品と判断される場合がある。
【００３４】
上記１）および２）は、半導体装置の外部から入力信号を与え、その出力信号を半導体装置の外部で観測することによって製品の選別を行うことの難しさを意味する。
【００３５】
このような問題を解決するために、近年、例えば前述のＪＴＡＧを利用したテスト回路や、ロジックビスト（Logic BIST）等の組込み型自己テスト方式のテスト手法が用いられている。
【００３６】
しかし、この場合、半導体装置の内部に、その内部回路に与える入力信号を発生する回路と、内部回路からの出力信号が正しいのかどうかを判定する回路等を含むテスト回路を実際の回路とは別に搭載する必要があり、回路規模が増大するという問題があった。
【００３７】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点を解消し、バウンダリスキャンレジスタを利用して、ごく僅かな回路の追加だけで、大規模な半導体装置を実動作速度で自己テストし、そのテスト結果だけを外部へ出力することができるテスト回路を提供することにある。
【００３８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、半導体装置のそれぞれの入出力ピンに設けられたバウンダリスキャンセルを所定数直列に接続して構成される少なくとも１つのバウンダリスキャンレジスタを備え、
前記バウンダリスキャンレジスタは、フィードバックシフトレジスタ構成とされ、
前記半導体装置の入力ピンに設けられる前記バウンダリスキャンセルは、各々対応する入出力ピンから入力される信号とテスト用の入出力ピンから入力される信号ないしは前記バウンダリスキャンレジスタを構成する前段のバウンダリスキャンセルの出力信号とのいずれか一方を選択的に出力する第３のセレクタと、クロック信号に同期して前記第３のセレクタの出力信号を保持し、当該バウンダリスキャンセルの出力信号として出力する第２のフリップフロップと、前記各々対応する入出力ピンから入力される信号と前記第２のフリップフロップの出力信号とのいずれか一方を選択的に出力する第４のセレクタと、この第４のセレクタの出力信号を保持する第２のラッチと、前記各々対応する入出力ピンから入力される信号と前記第２のラッチの出力信号とのいずれか一方を選択的に出力する第５のセレクタとを備えることを特徴とするテスト回路を提供するものである。
【００３９】
ここで、前記半導体装置の出力ピンに設けられる前記バウンダリスキャンセルは、前記半導体装置の内部回路の各々対応する出力信号と前記テスト用の入出力ピンから入力される信号ないしは前記バウンダリスキャンレジスタを構成する前段のバウンダリスキャンセルの出力信号との排他的論路和を取るＥＸＯＲゲートと、前記内部回路の各々対応する出力信号と前記ＥＸＯＲゲートの出力信号とのいずれか一方を選択的に出力する第１のセレクタと、前記クロック信号に同期して前記第１のセレクタの出力信号を保持し、当該バウンダリスキャンセルの出力信号として出力する第１のフリップフロップと、この第１のフリップフロップの出力信号を保持する第１のラッチと、前記内部回路の各々対応する出力信号と前記第１のラッチの出力信号とのいずれか一方を選択的に出力する第２のセレクタとを備えるのが好ましい。
【００４１】
また、前記バウンダリスキャンレジスタは、さらに、前記テスト用の入出力ピンから入力される信号と当該バウンダリスキャンレジスタを構成する最終段のバウンダリスキャンセルの出力信号とのどちらか一方を選択的に出力する第６のセレクタを備え、
前記第６のセレクタの出力信号は、当該バウンダリスキャンレジスタの初段のバウンダリスキャンセルに入力されているのが好ましい。
【００４２】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明のテスト回路を詳細に説明する。
【００４３】
図１は、本発明のテスト回路を適用する半導体装置の一実施例の構成概略図である。同図に示す半導体装置１０は、テスト回路として、ＪＴＡＧを利用して構成されたバウンダリスキャンレジスタを備えている。なお、図１に示す本発明のテスト回路を適用する半導体装置１０と図６に示す従来のテスト回路を適用する半導体装置５０との違いは、さらにセレクタ２２を備えている点だけであるから、同一の構成要素には同一の符号を付し、その詳細な説明は省略する。
【００４４】
すなわち、図１に示す半導体装置１０は、内部回路１２と、各々の入力ピンにおいて、入力バッファ（Ｉ／Ｏ）１４および入力用のバウンダリスキャンセル（ＢＳＣ）１６と、各々の出力ピンにおいて、出力用のバウンダリスキャンセル（ＢＳＣ）１８および出力バッファ（Ｉ／Ｏ）２０と、セレクタ２２とを備えている。全てのバウンダリスキャンセル１６，１８がセレクタ２２を介してリング状に接続され、前述のバウンダリスキャンレジスタが構成されている。
【００４５】
ここで、入力ピンＴＤＩから入力される信号は、入力バッファ１４を介してセレクタ２２の入力端子０に入力されている。また、セレクタ２２の入力端子１には、最終段のバウンダリスキャンセル１８の出力端子ＴＤＯから出力される信号が入力され、その選択入力端子には、信号ＦＢＳＲが入力されている。また、セレクタ２２の出力信号は、初段のバウンダリスキャンセル１６の入力端子ＴＤＩに入力されている。
【００４６】
なお、信号ＦＢＳＲは、詳細は後述するが、バウンダリスキャンレジスタをフィードバックシフトレジスタとして構成するかどうかを設定する信号である。信号ＦＢＳＲ＝‘０’の場合、セレクタ２２からは、外部から入力ピンＴＤＩに入力される信号が出力される。また、信号ＦＢＳＲ＝‘１’の場合、セレクタ２２からは、最終段のバウンダリスキャンセル１８の出力端子ＴＤＯから出力される信号が出力される。
【００４７】
続いて、バウンダリスキャンセル１６，１８の構成について説明する。
図２および図３は、本発明のバウンダリスキャンセルの一実施例の構成回路図である。
【００４８】
まず、図２に示す入力用のバウンダリスキャンセル１６は、図１に示す半導体装置１０の各々の入力ピンに設けられているものである。なお、図２に示す本発明の入力用のバウンダリスキャンセル１６と図７に示す従来の入力用のバウンダリスキャンセル１６との違いは、さらにセレクタ２８を備えている点だけであるから、同様に、同一の構成要素には同一の符号を付し、その詳細な説明は省略する。
【００４９】
すなわち、図２に示す入力用のバウンダリスキャンセル１６は、セレクタ２４と、フリップフロップ２６と、セレクタ２８と、ラッチ３０と、セレクタ３２とを備えている。セレクタ２８の入力端子０，１および選択入力端子には、それぞれフリップフロップ２６の出力端子Ｑから出力される信号、信号ＺＩＮおよび信号ＵＰＤＡＴＥ  ＳＥＬが入力され、その出力信号は、ラッチ３０のデータ入力端子Ｄに入力されている。
【００５０】
信号ＵＰＤＡＴＥ  ＳＥＬ＝‘０’の場合、セレクタ２８からは、フリップフロップ２６の出力端子Ｑから入力される信号が出力される。この場合、図２に示す入力用のバウンダリスキャンセル１６は、機能的には、図７に示す従来の出力用のバウンダリスキャンセルと等価になる。一方、信号ＵＰＤＡＴＥ  ＳＥＬ＝‘１’の場合、セレクタ２８からは、信号ＳＨＩＦＴおよび信号ＣＬＯＣＫによる制御を行うことなく、信号ＺＩＮが出力される。
【００５１】
続いて、図３に示す出力用のバウンダリスキャンセル１８は、図１に示す半導体装置１０の各々の出力ピンに設けられているものである。なお、図３に示す本発明の出力用のバウンダリスキャンセル１８と図８に示す従来の出力用のバウンダリスキャンセル１８との違いは、さらにＡＮＤゲート３４およびＥＸＯＲゲート３６を備えている点だけであるから、同様に、同一の構成要素には同一の符号を付し、その詳細な説明は省略する。
【００５２】
すなわち、図３に示す出力用のバウンダリスキャンセル１８は、ＡＮＤゲート３４と、ＥＸＯＲゲート３６と、セレクタ３８と、フリップフロップ４０と、ラッチ４２と、セレクタ４４とを備えている。ＡＮＤゲート３４の入力端子には、信号ＡＩＮおよび信号ＦＢＳＲが入力されている。また、ＥＸＯＲゲート３６の入力端子には、信号ＴＤＩおよびＡＮＤゲート３４の出力信号が入力され、その出力信号はセレクタ３８の入力端子１に入力されている。
【００５３】
ここで、信号ＦＢＳＲは、図１に示すセレクタ２２の選択入力端子に入力されている信号と同じ信号である。
【００５４】
信号ＦＢＳＲ＝‘０’の場合、ＡＮＤゲート３４の出力信号は‘０’となり、ＥＸＯＲゲート３６の出力信号は信号ＴＤＩと等価になる。この場合、図３に示す出力用のバウンダリスキャンセル１８は、図８に示す従来の出力用のバウンダリスキャンセル１８と機能的に等価である。
【００５５】
一方、信号ＦＢＳＲ＝‘１’の場合、ＡＮＤゲート３４の出力信号は信号ＡＩＮとなり、図４に概念的に示すように、全てのバウンダリスキャンセル１６，１８がリング状に接続されてフィードバックシフトレジスタが構成される。すなわち、出力用のバウンダリスキャンセル１８において、前段のバウンダリスキャンセルの出力端子ＴＤＯから出力される信号と内部回路１２から出力される信号との排他的論理和が演算され、順次圧縮されてシフトされる。
【００５６】
なお、信号ＵＰＤＡＴＥは、例えば外部から半導体装置へ供給される、もしくはその変化タイミングが調整可能に構成されているのが好ましい。これにより、信号ＵＰＤＡＴＥを任意のタイミングで‘０’または‘１’に変更可能となり、テストモード（信号ＭＯＤＥ＝‘１’）の場合に、バウンダリスキャンセル１６，１８からの出力信号ＺＯＵＴ，ＡＯＵＴの出力タイミングを適宜調整可能とすることができる。
【００５７】
次に、本発明のテスト回路を備える半導体装置１０の動作を説明する。
【００５８】
まず、通常モード（信号ＭＯＤＥ＝‘０’）の場合、およびテストモード（信号ＭＯＤＥ＝‘１’）の場合に、信号ＵＰＤＡＴＥ  ＳＥＬ＝‘０’の場合の入力用のバウンダリスキャンセル１６の動作、および信号ＦＢＳＲ＝‘０’の場合の出力用のバウンダリスキャンセル１８の動作は、図６〜８に示す従来のテスト回路を備える半導体装置５０の場合と全く同じであるから、ここでは、その繰り返しの説明は省略する。
【００５９】
次に、テストモード（信号ＭＯＤＥ＝‘１’）の場合に、信号ＵＰＤＡＴＥ  ＳＥＬ＝‘１’の場合、入力用のバウンダリスキャンセル１６では、セレクタ２８から信号ＺＩＮが出力される。セレクタ２８の出力信号は、信号ＵＰＤＡＴＥ＝‘１’とするタイミングでラッチ３０を通過して、セレクタ３２を介して内部回路１２へ供給され、信号ＵＰＤＡＴＥ＝‘０’とするタイミングでラッチ３０に保持される。
【００６０】
これにより、例えばバス等のように、複数の信号のタイミングを合わせて入力する必要がある場合に、テスタから実際に入力される信号の入力タイミングのばらつきに関係なく、信号ＵＰＤＡＴＥ＝‘１’とするタイミングで複数の信号を内部回路１２へ同時に供給することができる。
【００６１】
図７に示す従来の入力用のバウンダリスキャンセル１６では、信号ＳＨＩＦＴおよび信号ＣＬＯＣＫを制御して、信号ＺＩＮを一旦フリップフロップ２６に保持しておかなければ、上記と同様の機能を実現できない。これに対し、本発明の入力用のバウンダリスキャンセル１６では、フリップフロップ２６を利用することなく、信号ＵＰＤＡＴＥ  ＳＥＬによる制御だけで上記機能を実現できるので、極めて制御性がよいという利点がある。
【００６２】
その後、内部回路１２は、各々の入力用のバウンダリスキャンセル１６のセレクタ３２から供給される信号に従って動作し、その出力信号は、各々の出力用のバウンダリスキャンレジスタ１８に出力される。
【００６３】
また、テストモード（信号ＭＯＤＥ＝‘１’）の場合に、信号ＦＢＳＲ＝‘１’の場合、出力用のバウンダリスキャンセル１８では、ＥＸＯＲゲート３６により、信号ＡＩＮと信号ＴＤＩとの排他的論理和が取られる。ＥＸＯＲゲート３６の出力信号は、信号ＳＨＩＦＴ＝‘１’の場合に、信号ＣＬＯＣＫの立上がりに同期してフリップフロップ４０に保持され、順次次段のバウンダリスキャンセルへシフトされる。
【００６４】
これにより、バウンダリスキャンレジスタはフィードバックシフトレジスタとして機能し、前段のバウンダリスキャンセルの出力信号が順次圧縮されて次段のバウンダリスキャンセルへシフトされる。従って、本発明のテスト回路を適用する半導体装置１０では、内部回路１２を実動作速度でテストした後、最終段のバウンダリスキャンセルに保持されている最終的なテスト結果を読み出すだけでテストの良否判定を行うことができる。
【００６５】
また、最終的なテスト結果は、所定の出力用のバウンダリスキャンセル１８のフリップフロップ４０に保持され、信号ＵＰＤＡＴＥ＝‘１’としたタイミングで出力ピンから出力される。従って、半導体装置１０の実動作時の出力タイミングに関係なく、信号ＵＰＤＡＴＥのタイミングを適宜調整することにより、テスタのストローブ位置に対して適切なマージンを持たせることができ、本来良品である半導体装置が不良品と判定されるのを防止することができる。
【００６６】
なお、信号ＳＨＩＦＴ＝‘０’の場合の出力用のバウンダリスキャンセル１８の動作は、図８に示す従来の出力用のバウンダリスキャンセル１８の場合と全く同じである。
【００６７】
また、本実施例のテスト回路を備える半導体装置１０では、図１および図４に示すように、テストモード（信号ＭＯＤＥ＝‘１’）の場合に、信号ＦＢＳＲ＝‘１’の場合、最終段のバウンダリスキャンセル１８の出力端子ＴＤＯから出力される信号が、セレクタ２２を介して、初段のバウンダリスキャンセル１６の入力端子ＴＤＩに入力（フィードバック）される。
【００６８】
これにより、入力ピンから入力される信号を、信号ＵＰＤＡＴＥのタイミングで内部回路１２へ供給して内部回路１２を動作させ、その出力信号を、フィードバックシフトレジスタにより、順次圧縮して次段のバウンダリスキャンセルへシフトし、最終段のバウンダリスキャンセル１８までシフトした後、再度、入力ピンから入力される信号を適宜変更して、テストを繰り返し連続的に行うことができ、その最終的なテスト結果を得ることができる。
【００６９】
以下、本発明のテスト回路を利用して、内部回路１２に別に設けられるスキャンテスト回路を実動作時と同じ高速な動作速度で動作させてテストする場合の一例を挙げて説明する。
【００７０】
スキャンテスト回路は、ロジック回路の代表的なテスト手法の１つである。スキャンテスト回路は、本来のロジック回路で使用されるフリップフロップをスキャンテスト用のフリップフロップに置き換えたものである。スキャンテスト回路は、テストモードの設定信号であるスキャンイネーブル信号がアクティブ状態とされた場合に、スキャンテスト用のフリップフロップが直列に接続され、シフトレジスタとして機能する。
【００７１】
スキャンテスト回路では、図５の動作概念図に示すように、１）スキャンイネーブル信号をアクティブ状態とし、スキャンクロック信号に同期してデータを順次シフト入力し、全てのスキャンテスト用のフリップフロップに初期値を設定する。続いて、２）スキャンイネーブル信号を非アクティブ状態としてロジック回路を通常動作させ、その出力信号をスキャンクロック信号に同期してスキャンテスト用のフリップフロップに保持する。そして、３）再度スキャンイネーブル信号をアクティブ状態とし、各々のスキャンテスト用のフリップフロップに保持されているロジック回路の出力信号を順次シフト出力する。
【００７２】
このスキャンテスト回路を利用することにより、同期回路を順序回路としてテストすることができ、テストを簡単に行うことができるという利点がある。なお、一般的に、上記１）および３）のサイクルをシフト動作と呼び、２）のサイクルをキャプチャ動作と呼ぶ。
【００７３】
ところで、上記スキャンテスト回路を備える半導体装置を実動作時と同じ高速な動作速度で動作させる場合、スキャンクロック信号が半導体装置の実動作時の周波数と同じ周波数に設定される。
【００７４】
この場合、テスタでの負荷や信号のスキューの問題、さらにはテスタの測定精度の問題から、各サイクルでのスキャンクロック信号の立上がりに対して、入力データのセットアップ・ホールド時間を十分に確保することができず、良品である半導体装置が不良品であると誤判定されたり、あるいはテスタの出力ストローブタイミングで出力信号を安定的に測定することができないという問題が発生する場合があることは既に述べた通りである。
【００７５】
これに対し、本発明のテスト回路を利用する場合、図２に示す入力用のバウンダリスキャンセル１６において、信号ＭＯＤＥ＝信号ＵＰＤＡＴＥ  ＳＥＬ＝‘１’とし、入力ピンから入力されるデータ（信号ＺＩＮ）をセレクタ２８から選択的に出力し、信号ＵＰＤＡＴＥ＝‘１’とするタイミングでラッチ３０を通過させ、さらにセレクタ３２を介してシフトレジスタを構成する初段のスキャンテスト用のフリップフロップに順次シフト入力する。
【００７６】
これにより、テスタのドライバからボードを通って半導体装置１０の入力バッファ１４を通過する間の信号のスキューの問題、すなわち信号の入力タイミングのばらつきの問題はなくなる。言い換えると、本発明のテスト回路を利用すれば、信号ＵＰＤＡＴＥ＝‘１’とするタイミングとスキャンクロック信号の立上がりのタイミングを適宜調整することにより、セットアップ・ホールド時間の不足によるエラーを簡単に回避することができる。
【００７７】
また、図３に示す出力用のバウンダリスキャンセル１８において、信号ＭＯＤＥ＝信号ＦＢＳＲ＝信号ＳＨＩＦＴ＝‘１’とし、スキャンテスト回路の出力信号（信号ＡＩＮ）と信号ＴＤＩとの排他的論理和を取って圧縮し、セレクタ３８を介して、信号ＣＬＯＣＫの立上がりに同期してフリップフロップ４０に保持する。以後、同様にして、スキャンテスト回路の全ての出力信号について順次圧縮しながらシフトする。
【００７８】
最終的に、スキャンテスト回路の全ての出力信号が圧縮され、フィードバックシフトレジスタを構成する所定の出力用のバウンダリスキャンセル１８のフリップフロップ４０に保持される。その後、テスタの出力ストローブタイミングに対応して、信号ＵＰＤＡＴＥ＝‘１’とするタイミングを適宜調整し、フリップフロップ４０に保持されている信号、すなわち最終的なテスト結果を対応する出力ピンから出力する。
【００７９】
これにより、テスタの出力プローブタイミングと半導体装置の出力信号との間に必要十分なマージンを確保することができ、テスタは半導体装置の出力信号を安定的に測定することができる。また、本発明は、半導体装置１０に既に備えられているバウンダリスキャンレジスタを利用するため、従来の組込み型自己テスト方式のテスト手法を用いた場合と比べて、はるかに少ない回路の追加で内部回路を実動作速度で動作させてテストすることができる。
【００８０】
なお、本発明は、上記実施例に限定されず、入力ピン、出力ピン、双方向ピン、トライステートピン等を含む、従来公知のあらゆる種類の入出力ピンに適用可能である。例えば、本発明を双方向ピンに適用した場合、この双方向ピンに設けられるバウンダリスキャンセルは、その入力部として、図２に示す入力用のバウンダリスキャンセルを備えると共に、出力部として、図３に示す出力用のバウンダリスキャンセルを備える。
【００８１】
また、上記実施例では、全てのバウンダリスキャンセルを接続して１つのバウンダリスキャンレジスタを構成しているが、これも限定されず、所定数のバウンダリスキャンセルを接続して、１つないしは複数のバウンダリスキャンレジスタを構成してもよい。バウンダリスキャンセルの構成は、基本的には図２および図３に示す通りであるが、必要に応じて適宜構成を変更したバウンダリスキャンセルを利用することも可能である。
【００８２】
また、セレクタ２２，２８は必須の構成要素ではなく、必要に応じて適宜設けるのが好ましい。また、ＡＮＤゲート３４およびＥＸＯＲゲート３６からなる回路は同一機能を実現する他の回路構成であってもよい。上記実施例では、本発明のテスト回路を利用して、内部回路に設けられているスキャンテスト回路をテストする場合の一例を挙げて説明したが、本発明はこれに限定されず、内部回路のどのような回路をテストする際にも同様に適用可能である。
【００８３】
本発明のテスト回路は、基本的に以上のようなものである。
以上、本発明のテスト回路について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００８４】
【発明の効果】
以上詳細に説明した様に、本発明のテスト回路は、半導体装置のそれぞれの入出力ピンにバウンダリスキャンセルを設け、このバウンダリスキャンセルを所定数直列に接続して、フィードバックシフトレジスタ構成のバウンダリスキャンレジスタを構成するようにしたものである。
本発明のテスト回路では、ごく僅かな回路を追加するだけで、フィードバックシフトレジスタ構成のバウンダリスキャンレジスタを利用し、所望のタイミングで入力信号を入力して内部回路を実動作速度でテストし、その最終的なテスト結果だけを外部へ所望のタイミングで出力することができる。
これにより、本発明のテスト回路によれば、テスタから入力される信号のセットアップ・ホールド時間の不足によるエラーを簡単に回避することができるし、テスタの出力プローブタイミングと半導体装置の出力信号との間に必要十分なマージンを確保することができ、半導体装置の出力信号を安定的に測定することができるようになるという効果がある。
【図面の簡単な説明】
【図１】  本発明のテスト回路を適用する半導体装置の一実施例の構成概略図である。
【図２】  本発明を適用する入力用のバウンダリスキャンセルの一実施例の構成回路図である。
【図３】  本発明を適用する出力用のバウンダリスキャンセルの一実施例の構成回路図である。
【図４】  本発明を適用するバウンダリスキャンレジスタの一実施例の構成概略図である。
【図５】  スキャンテスト回路の動作を表す一実施例の概念図である。
【図６】  従来のテスト回路を適用する半導体装置の一例の構成概略図である。
【図７】  従来の入力用のバウンダリスキャンセルの一例の構成回路図である。
【図８】  従来の出力用のバウンダリスキャンセルの一例の構成回路図である。
【符号の説明】
１０，５０  半導体装置
１２  内部回路
１４  入力バッファ
１６  入力用のバウンダリスキャンセル
１８  出力用のバウンダリスキャンセル
２０  出力バッファ
２２，２４，２８，３２，３８，４４  セレクタ
２６，４０  フリップフロップ
３０，４２  ラッチ
３４  ＡＮＤゲート
３６  ＥＸＯＲゲート
【図１】
0003970088.tif 000002
【図２】
0003970088.tif 000003
【図３】
0003970088.tif 000004
【図４】
0003970088.tif 000005
【図５】
0003970088.tif 000006
【図６】
0003970088.tif 000007
【図７】
0003970088.tif 000008
【図８】
0003970088.tif 000009