(57)【特許請求の範囲】
【請求項１】
アップカウンタと、
ダウンカウンタと、
前記アップカウンタの出力と前記ダウンカウンタの出力が入力し、いずれかのカウンタ出力を選択して出力するセレクタと、
前記セレクタから出力する一方のカウンタ出力と、前記セレクタで選択されなかった他方のカウンタ出力との一方に接続され、反転信号を出力する反転回路と、
前記反転回路により反転されたカウンタ出力と反転されなかったカウンタ出力とが入力し、両者の比較を行う比較回路と、
を備えるテスト装置。
【請求項２】
前記アップカウンタは、前記テスト装置に接続されるメモリのアドレスをインクリメントし、前記ダウンカウンタは、前記メモリのアドレスをデクリメントする請求項１に記載のテスト装置。
【請求項３】
前記反転回路には、前記セレクタで選択されなかったカウンタ出力が入力し、
前記比較回路では、前記セレクタで選択されたカウンタ出力と、前記反転回路からの出力とが比較される請求項１または２に記載のテスト装置。
【請求項４】
前記反転回路には、前記セレクタからの出力が入力し、
前記比較回路は、前記セレクタで選択されなかったカウンタ出力と前記反転回路からの出力とが比較される請求項１または２に記載のテスト装置。
【請求項５】
アップカウンタと、ダウンカウンタとを備える回路のテスト方法であって、
前記アップカウンタによるカウントアップ動作と、前記ダウンカウンタによるカウントダウン動作とを並列に動作させ、
前記アップカウンタの出力と、前記ダウンカウンタの出力の一方を選択するとともに、選択されなかったカウンタの出力を反転して反転カウンタ出力を生成し、
前記反転カウンタ出力と、前記選択されたカウンタ出力とを比較する、
テスト方法。
【請求項６】
請求項１のテスト装置を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路をテストするテスト装置、テスト方法、およびテスト回路を備えた集積回路に関する。
【背景技術】
【０００２】
一般に、メモリをテストするためのＢＩＳＴ（Built-In Self Test）モジュールは、メモリを動作させるユーザ回路とともにＬＳＩ（Large Scale Integration）として形成される。ＢＩＳＴモジュールは、メモリのアドレスを順次指定するためのアップ／ダウン動作が可能なカウンタを備えている。ＢＩＳＴモジュールをメモリに接続してメモリテストを行う場合、メモリのすべてのアドレスに対しデータの書き込みと読み出しとが行われる。このとき、アップ／ダウンカウンタにより、アドレスの最小値から最大値までインクリメントしながら、メモリのすべてのアドレスが指定される。次いで、アップ／ダウンカウンタにより、アドレスの最大値から最小値までデクリメントしながら、メモリのすべてのアドレスが指定される。
【０００３】
ところで、ＢＩＳＴモジュールを含むＬＳＩ自体の動作のテストを行う場合は、メモリを接続することなく行われる。ＬＳＩのテストは、カウンタを動作させてＬＳＩ端子をモニタし、カウンタから出力される値と期待値と比較するものである。従来では、テストシーケンスをシリアルに動作させるために、アップ／ダウンカウンタのアップ動作の後にアップ／ダウンカウンタのダウン動作が行われていた。しかしながら、カウンタのアップ動作の後にダウン動作が行われるので、カウンタをテストするのに膨大な時間がかかっていた。
【０００４】
なお、カウンタの動作周波数をあげるためにｏｄｄカウンタとｅｖｅｎカウンタとを設けて並列動作をさせることが公知である。また、並列化して伝送されてくるエラーデータビットを簡易な回路構成で計数する並列型エラーカウンタ回路が公知である。（下記特許文献１、２参照）
【０００５】
【特許文献１】特開平８−１８４４４０号公報
【特許文献２】特開平１−２３８３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記問題点に鑑み、カウンタを有する回路のテストを、従来に比較してごく短時間で済ますことができ、さらにカウンタを用いて外部回路のテストも行えるテスト装置およびテスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本テスト装置は、アップカウンタと、ダウンカウンタと、前記アップカウンタの出力と前記ダウンカウンタの出力が入力し、いずれかのカウンタ出力を選択して出力するセレクタと、前記セレクタから出力する一方のカウンタ出力と、前記セレクタで選択されなかった他方のカウンタ出力との一方に接続され、反転信号を出力する反転回路と、前記反転回路により反転されたカウンタ出力と反転されなかったカウンタ出力とが入力し、両者の比較を行う比較回路と、を備える。
【０００８】
本テスト方法は、アップカウンタと、ダウンカウンタとを備える回路のテスト方法であって、前記アップカウンタによるカウントアップ動作と前記ダウンカウンタによるカウントダウン動作とを並列に動作させ、前記アップカウンタの出力と、前記ダウンカウンタの出力の一方を選択するとともに選択されなかったカウンタの出力を反転して反転カウンタ出力を生成し、前記反転カウンタ出力と前記選択されたカウンタ出力とを比較する。
【０００９】
さらに本集積回路は、前記テスト装置を備える。
【発明の効果】
【００１０】
カウンタを有する回路のテストを、従来に比較してごく短時間で済ますことができ、さらにカウンタを用いて外部回路の通常のテストも行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して実施の形態を説明する。図１は、本実施形態の概要を示す図である。ＬＳＩ１０は、ユーザのアプリケーションによりメモリ８にアクセスするユーザ回路５と、メモリテストを実行するためのＢＩＳＴモジュール１を有している。セレクタ２は、ユーザ回路５から出力されるアドレス信号とＢＩＳＴモジュール１から出力されるアドレス信号とのいずれかを選択してメモリ８にアクセスする。
【００１２】
本実施形態では、ＢＩＳＴモジュール１２は、アップカウンタ１２とダウンカウンタ１３とを有する。通常のメモリテストでは、まずアップカウンタ１２を動作させて、アドレスの最小値から最大値までインクリメントしながら、メモリのすべてのアドレスに所定のデータを書き込みかつ読み出す。次に、ダウンカウンタ１３を動作させ、アドレスの最大値から最小値までデクリメントしながら、メモリのすべてのアドレスに所定のデータを書き込みかつ読み出す。なお、メモリテストを行う場合ダウンカウンタから動作させて次にアップカウンタを動作させてもよい。いずれにせよ、二つのカウンタは、順次動作する。
【００１３】
ところで、ＬＳＩ１０をテストする場合、ＬＳＩ１０をメモリ８に接続しないでＬＳＩ１０の出力端子から出力される信号をチェックする。本実施形態では、ＬＳＩ１０のテスト時にはアップカウンタ１２とダウンカウンタ１３とを同時に動作させる。アップカウンタ１２の出力とダウンカウンタ１３の出力とはセレクタ２に入力し、セレクタ２で一方の出力が選択される。ここでは、アップカウンタ１２の出力が選択されるものとする。セレクタ２から出力するアップカウンタ１２の出力は、ダウンカウンタ１３の出力を反転回路３により反転させた反転出力と、比較回路４で比較される。ＬＳＩ１０の回路が正常であれば、アップカウンタ１２の出力と、ダウンカウンタ１３の反転出力とは一致する。したがって、比比較結果をモニタすることによって、ＬＳＩ１０の正常異常が判定できる。
【００１４】
次に、図２、図３を参照して、本実施形態を詳細に説明する。図２は、本実施形態のＢＩＳＴ回路を説明する図である。図３は、本実施形態のセレクタブロック、反転回路、比較回路を説明する図である。図３に図示された回路は、図２に図示された回路の後段に位置する。
【００１５】
通常のメモリテストは、メモリ８（図３参照）をＬＳＩ１０に接続して行なわれる。通常のメモリテストでは、通常メモリテスト信号がカウンタ制御回路１１に入力する。本例では、メモリテスト時に通常メモリテスト信号が「１」となるものとする。通常メモリテスト信号の入力があると、カウンタ制御回路１１は、カウントアップイネーブル信号Ｕ１を出力する。カウントアップイネーブル信号Ｕ１は、第１のＯＲ回路１４を介してアップカウンタ１２のイネーブル端子ＥＮに入力し、アップカウンタ１２を動作させる。カウントアップイネーブル信号Ｕ１の入力に応じて、アップカウンタ１２は、最小値からカウントを開始し最大値に達するまでカウントを行う。
【００１６】
図３を参照すると。アップカウンタ１２の出力は、セレクタ２の端子（１）に入力する。また、セレクタブロック２の端子Ｓｅｌには、第３のＯＲ回路１７を介して、セレクタの端子（１）に入力する信号あるいはセレクタの端子（２）に入力する信号のいずれかを選択する信号が入力される。第３のＯＲ回路１７には、ＬＳＩテストモードであることを示すＴＥＳＴ＿ＭＯＤＥ信号と、通常メモリテスト信号とが入力する。通常メモリテスト信号は、アップカウンタ１２によるカウントアップ動作時に第３のＯＲ回路１７に入力する。ＴＥＳＴ＿ＭＯＤＥ信号は、ＬＳＩテストモード時に「１」となるものとする。
【００１７】
ここで、メモリテストで且つアップカウンタ１２がカウントアップしているために通常メモリテスト信号が「１」となり、セレクタ２の端子Ｓｅｌには通常メモリテストのカウントアップ時に信号「１」が入力して、セレクタ２の端子（１）を選択している例を想定する。この場合、セレクタ２はアップカウンタ１２の出力を出力する。そして、セレクタ２から出力されるカウント値により、ＬＳＩ１０に接続されるメモリ８のアドレスを最小値からインクリメントして最大値に至るまで順次指定する。
【００１８】
メモリ８のアドレスが順次指定されるたびに、指定されたメモリ８のアドレスに所定のデータが書き込まれる。書き込まれたデータは読み出されて、読み出されたデータは期待値と比較される。
【００１９】
図２のアップカウンタ１２がアドレスの最大値をカウントすると、カウンタ制御回路１１は、カウントダウンイネーブル信号Ｄ１を出力する。カウントダウンイネーブル信号Ｄ１は、第２のＯＲ回路１５を介してダウンカウンタ１３のイネーブル端子ＥＮに入力し、ダウンカウンタ１３を動作させる。ダウンカウンタ１３は、カウントダウンイネーブル信号Ｄ１の入力に応じて、最大値からカウントを開始し最小値に達するまでカウントを行う。
【００２０】
ダウンカウンタ１３の出力は、図３のセレクタ２の端子（０）に入力する。また、アップカウンタ１２によるカウントアップが終了しているので、通常メモリテスト信号は「０」となり、セレクタ２の端子Ｓｅｌには「０」が入力する。したがって、セレクタ２の端子（０）が選択され、セレクタ２はダウンカウンタ１３の出力を出力する。そして、セレクタ２から出力されるダウンカウンタ１３のカウント値により、接続されるメモリ８のアドレスを最大値からデクリメントして最小値に至るまで順次指定する。
【００２１】
メモリ８のアドレスが順次指定されるたびに、指定されたメモリ８のアドレスに所定のデータが書き込まれる。書き込まれたデータは読み出されて、読み出されたデータは期待値と比較されることによりメモリテストが行われ、指定されるメモリ８アドレスが最小値に達すると、メモリテストは終了する。
【００２２】
次に、図２を参照して、ＬＳＩ１０にメモリ８を接続しないでＬＳＩ自体をテストするＬＳＩテストモードを説明する。まず、ＸＲＥＳＥＴ信号と初期化信号を第１のＡＮＤ回路１６を介して、アップカウンタ１２の端子ＸＣＬＲと、ダウンカウンタ１３の端子ＸＰＲとに入力して、アップカウンタ１２とダウンカウンタ１３を初期化する。次いで、ＬＳＩテストモードを示すＴＥＳＴ ＭＯＤＥ信号を、第１のＯＲ回路１４と第２のＯＲ回路１５を介して、アップカウンタ１２とダウンカウンタ１３のそれぞれのイネーブル端子ＥＮに入力する。ＴＥＳＴ＿ＭＯＤＥ信号が入力することにより、アップカウンタ１２とダウンカウンタ１３とは並列動作が可能となる。
【００２３】
ＴＥＳＴ ＭＯＤＥ信号はまた、図３の第3のＯＲ回路１７を介してセレクタ２に入力する。ここでは、ＴＥＳＴ＿ＭＯＤＥ信号の入力により、セレクタ２の端子（１）に入力するアップカウンタ１２の出力が選択される。選択されたアップカウンタ１２の出力は、セレクタ２から出力する。
【００２４】
一方、アップカウンタ１２と並列に動作するダウンカウンタ１３の出力はセレクタ２の端子（０）に入力する。さらにダウンカウンタ１３の出力は、反転回路３に入力し、反転回路３からは入力信号、つまりダウンカウンタ１３のカウント値を反転した反転信号Ｂが出力される。ダウンカウンタ１３は、アップカウンタ１２と同時に動作して、最大値から最小値までデクリメントする信号を出力する。例えば、アップカウンタ１２およびダウンカウンタ１３のビット数を４ｂｉｔとすると、アップカウンタは、０、１、２、３、・・・１５とカウントし、ダウンカウンタは１５、１４、１３、・・・１と動作する。したがって、ダウンカウンタ１３の出力の反転信号は、異常がなければアップカウンタ１２の出力と一致するはずである。
【００２５】
反転信号Ｂは、セレクタ２からの出力信号Ａとともに、比較回路４に入力する。比較回路４は、ＴＥＳＴ ＭＯＤＥ信号がイネーブル端子ＥＮに入力するＬＳＩテストモード時に動作可能となる。比較回路４では、入力される信号が比較される。言い換えれば、アップカウンタ１２の出力信号Ａとダウンカウンタ１３の出力の反転信号Ｂとが比較される。
【００２６】
比較回路４では、出力信号Ａと反転信号Ｂとが一致するときには正常であることを示す信号、例えば「０」が出力される。一方、出力信号Ａと反転信号Ｂとが不一致のときにはエラーであることを示す信号「１」が出力される。比較回路４の出力は常時モニタされ、あるいは記憶装置に記憶されて、ＬＳＩ１０、特にカウンタにエラーがあるか否かが判断される。
【００２７】
図４は、本実施形態のカウンタ動作のフローを示す図である。まず、初期化信号をセットすることによりアップカウンタ１２およびダウンカウンタ１３を初期化する（Ｓ１）。
【００２８】
次に、ＴＥＳＴ＿ＭＯＤＥ信号が入力しているかどうかを判別することで、ＬＳＩテストモードであるか否かが判定される（Ｓ２）。ＬＳＩテストモードでなければ、アップカウンタ１２についてカウントアップイネーブル信号がセットされ（Ｓ３）、メモリ８のアドレスの最小値からカウントアップ動作が開始する。次いで、アップカウンタ処理Ａが実行される（Ｓ４）。
【００２９】
図５に、アップカウンタ処理Ａを示す。アップカウンタ処理Ａでは、メモリ８のアドレスの最小値で指定されるメモリセルに所定のデータが書き込まれ（Ｓ４１）、続いてメモリセルに書き込まれたデータが読み出される（Ｓ４２）。このとき、メモリセルから読み出されたデータは同一メモリセルに書き込まれたデータと比較され、比較結果はモニタされてメモリセルに異常があるか否かがチェックされる。
【００３０】
次に、アップカウンタ１２がフルになったか、言い換えれば最大値をカウントしたか否かが判定される（Ｓ４３）。アップカウンタ１２がフルでなければ、カウンタ１２をカウントアップすなわちインクリメントして（Ｓ４４）Ｓ４１に戻り、Ｓ４１〜Ｓ４３を繰り返す。一方、Ｓ４３でアップカウンタ１２がフルになると、図４のＳ５に進む。
【００３１】
図４のＳ５では、アップカウンタ１２のカウント動作が終了したので、カウントダウンイネーブル信号がダウンカウンタ１３にセットされ、メモリ８のアドレスの最大値からカウントダウン動作が開始する。次いで、ダウンカウンタ処理Ｂが実行される（Ｓ６）。
【００３２】
図６に、ダウンカウンタ処理Ｂを示す。メモリ８のアドレスの最大値で指定されるメモリセルに所定のデータが書き込まれ（Ｓ６１）、メモリセルに書き込まれたデータが読み出される（Ｓ６２）。このとき、メモリセルから読み出されたデータは同一のメモリセルに書き込まれたデータと比較され、比較結果はモニタされてメモリセルに異常があるか否かがチェックされる。
【００３３】
次に、ダウンカウンタ１３が０となったか、言い換えれば最小値をカウントしたか否かが判定される（Ｓ６３）。ダウンカウンタ１３のカウント値が０でなければ、カウンタ１３をカウントダウンすなわちデクリメントして（Ｓ６３）Ｓ６１に戻り、Ｓ６１〜Ｓ６３を繰り返す。Ｓ６３でダウンカウンタ１３が０になると、図４のフローの通常のメモリテストが終了する。
【００３４】
図４のＳ２で、ＴＥＳＴ＿ＭＯＤＥ信号が入力してＬＳＩテストモードであると判断されれば、Ｓ７とＳ８とが並列して実行される。Ｓ７では、アップカウンタ処理Ａが行われる。Ｓ８では、ダウンカウンタ処理Ｂが行われる。
【００３５】
ＬＳＩテストモードでは、ＬＳＩ１０はメモリ８に接続されていない。したがって、カウンタの動作を示すアップカウンタ処理Ａ、ダウンカウンタ処理Ｂでは、カウンタが指定するメモリのアドレスへのデータの書き込み、読み出しは行われない。
【００３６】
図２、３を参照して説明したように、並列に動作するステップＳ７、Ｓ８の動作中に、アップカウンタ１２がカウントアップするカウント値と、アップダウンカウンタ１３がカウントダウンするカウント値を反転した値とが逐次比較される。比較結果はモニタされ、不一致が発生するとエラー信号を出す。
【００３７】
ステップＳ７、Ｓ８が終了すると、ＬＳＩテストモードも終了する。
【００３８】
本実施形態では、アップカウンタ１２とダウンカウンタ１３を設け、順次動作させることによりメモリテストを行うことができる。さらに、アップカウンタ１２とダウンカウンタ１３とを並列に動作させて、ＬＳＩテストを行うことができる。そして、ＬＳＩテスト時には、カウンタ動作の処理時間をほぼ１／２とすることができる。さらに、カウンタ制御ブロックの動作必要がないので、本実施形態によるＬＳＩテストでは従来のＬＳＩテストの１／２以下の時間で済む。
【００３９】
図７は、図３に示す回路の変形例を示す。図７では、セレクタ２の端子（１）にダウンカウンタ１３の出力が入力するように接続されている。また、セレクタ２の端子（０）にはアップカウンタ１２の出力が入力するように接続されている。さらに、セレクタ２のＳｅｌ端子には、第３のＯＲ回路１７を介して、ダウンカウンタ１３によるカウントダウン時に通常メモリテスト信号「１」が入力し、ＬＳＩテストモード時には信号ＴＥＳＴ ＭＯＤＥ「１」が、入力する。
【００４０】
したがって、メモリテスト時には、ダウンカウンタ１３によるカウントダウン時にセレクタ２のＳｅｌ端子に「１」が入力するので、セレクタ２の端子（１）に入力するダウンカウンタ１３の出力が選択される。また、アップカウンタ１２によるカウントアップ時には、セレクタ２のＳｅｌ端子に「０」が入力するので、セレクタ２の端子（０）に入力するアップカウンタ１２の出力が選択される。
【００４１】
ＬＳＩテストモード時には、セレクタ２には、同時に並列に動作するアップカウンタ１２の出力とダウンカウンタ１３の出力が入力する。しかし、ＬＳＩテストモード信号ＴＥＳＴ ＭＯＤＥ「１」がセレクタ２の端子Ｓｅｌに入力すると、セレクタ２の端子（１）に入力するダウンカウンタ１３の出力が選択され、セレクタ2の出力となる。セレクタ2の出力は、比較回路の端子Ａに入力する。
【００４２】
一方、セレクタ２に入力するアップカウンタ１２の出力は、反転回路３に入力し、反転回路３により反転されて比較回路の端子Ｂに入力する。比較回路４は、ＬＳＩテストモード信号ＴＥＳＴ ＭＯＤＥが端子ＥＮに入力することで、動作可能となっている。
【００４３】
したがって、ダウンカウンタ１３の出力信号Ａと、アップカウンタ１２の出力の反転信号Ｂとが、比較回路４で比較され、不一致であれば、エラー信号として「Ｈ」が比較回路４から出力される。
【００４４】
したがって、図７の例でも比較回路４の出力を常時監視することにより、アップカウンタ１２およびダウンカウンタ１３の動作のテストを行うことができる。
【００４５】
図８は、図３および図７の変形例を示す。図３および図７では、セレクタ２のセレクタ端子（０）に入力するダウンカウンタ１２の出力、あるいはアップカウンタ１３の出力が、反転回路３を介して比較回路４の入力Ｂに入力する。図８では、セレクタ２の端子（１）に入力して、セレクタ２から出力するアップカウンタ１２の出力が、反転回路５を介して比較回路４に入力する。セレクタ２の端子（１）にアップカウンタ１２が接続されている場合には、反転回路５にはアップカウンタ１２の出力が入力する。同様に、セレクタ２の端子（１）にダウンカウンタ１３が接続されている場合には、反転回路５にはダウンカウンタ１３の出力が入力する。
【００４６】
一方、セレクタ２のセレクタ端子（０）に入力する他方のカウンタ出力は、そのまま比較回路４の端子Ｂに入力する。したがって、図８の回路においても、ＬＳＩテストモード時には、一方のカウンタの出力の反転信号と他方のカウンタの出力とを比較することが可能である。
【図面の簡単な説明】
【００４７】
【図１】本実施形態のテスト装置の概要を示す図である。
【図２】本実施形態のテスト装置のうちのアップカウンタとダウンカウンタを含むＢＩＳＴ回路を示す図である。
【図３】本実施形態のテスト装置のうちのアップカウンタ出力とダウンカウンタ出力を処理する回路を示す図である。
【図４】本実施形態のテスト装置のアップカウンタとダウンカウンタの動作を示すフロー図である。
【図５】本実施形態のテスト装置のアップカウンタ動作を示す図である。
【図６】本実施形態のテスト装置のダウンカウンタ動作を示す図である。
【図７】図３に示す回路の1つの変形例を示す図である。
【図８】図３および図７に示す回路の他の変形例を示す図である。
【符号の説明】
【００４８】
１    ＢＩＳＴ回路
１１    カウンタ制御ブロック
１２    アップカウンタ
１３    ダウンカウンタ
２    セレクタ
３    反転回路
４    比較回路
５    ユーザ回路
８    メモリ
１４、１５、１７    第１〜３のＯＲ回路
１６    ＡＮＤ回路
【図１】
0005359033.tif 000002
【図２】
0005359033.tif 000003
【図３】
0005359033.tif 000004
【図４】
0005359033.tif 000005
【図５】
0005359033.tif 000006
【図６】
0005359033.tif 000007
【図７】
0005359033.tif 000008
【図８】
0005359033.tif 000009