(57)【要約】【課題】外部端子数を増やすことなく、半導体テスト回路（ＢＩＳＴ回路）自体の動作テストと、被テスト回路に対してダイレクトに動作テストを可能にする。【解決手段】半導体テスト回路３０自体の機能動作をテストする場合、テストデータを入力端子ＴＤＩに入力すると共に、テスト制御信号を制御端子ＴＣＫ，ＴＭＳ，ＴＲＳＴに入力する。すると、ＴＡＰコントローラ１１の制御により、スキャンチェー４０のデータ伝送経路が切り替えられる。コマンド生成器３１で生成されたコマンドは、スキャンチェーン４０を介してデータ比較器３２へ送られ、期待値と比較され、この比較結果がセレクタ３３を介して出力端子ＴＤＯへ出力される。入力端子ＴＤＩから、スキャンチェーン４０を介して、被テスト回路５０へダイレクトにアクセスできる。【選択図】　　図１
2004093433.tif 000002
【特許請求の範囲】
【請求項１】
テストデータを入力する入力端子と、
テスト制御信号を入力する制御端子と、
前記制御端子から前記テスト制御信号が与えられると、複数の遷移状態のステートを生成して内部制御信号を出力する制御手段と、
前記内部制御信号及び前記テストデータに基づき、テスト用の命令コード及び制御データが設定される設定手段と、
前記設定手段で設定された前記命令コード及び前記制御データに基づき、被テスト回路をテストするためのコマンドを生成するコマンド生成手段と、
前記入力端子から供給された前記テストデータを入力する第１のポートと、前記コマンド生成手段から供給された前記コマンドを入力する第２のポートと、前記第１又は第２のポートからの入力データを前記被テスト回路へ出力する第３のポートと、前記被テスト回路から供給されたテスト結果を入力する第４のポートと、前記第１、第２又は第４のポートからの入力データを出力する第５のポートと、前記第１、第２又は第４のポートからの入力データを出力する第６のポートとを有し、前記内部制御信号及び前記命令コードに基づき、前記第１、第２、第３、第４、第５及び第６のポート間のデータ伝送経路が切り替えられる伝送経路切替手段と、
前記コマンド生成手段から与えられる期待値と前記第５のポートからの出力データとの一致／不一致の比較を行う比較手段と、
前記命令コードに基づき、前記比較手段の比較結果又は前記第６のポートからの出力データのいずれか一方を選択するセレクタと、
前記セレクタの選択結果を出力する出力端子と、
を備えたことを特徴とする半導体テスト回路。
【請求項２】
テストデータを入力する入力端子と、
テスト制御信号を入力する制御端子と、
前記制御端子から前記テスト制御信号が与えられると、複数の遷移状態のステートを生成して内部制御信号を出力するテストアクセスポート・コントローラと、
前記内部制御信号及び前記テストデータに基づき、テスト用の命令コードが設定される命令レジスタと、
前記内部制御信号及び前記テストデータに基づき、テスト用の制御データが設定される制御レジスタと、
前記命令レジスタで設定された前記命令コード及び前記制御レジスタで設定された前記制御データに基づき、被テスト回路をテストするためのコマンドを生成するコマンド生成器と、
複数のバウンダリスキャンレジスタが縦続接続され、これらに、前記入力端子から供給された前記テストデータを入力する第１のポートと、前記コマンド生成器から供給された前記コマンドを入力する第２のポートと、前記第１又は第２のポートからの入力データを前記被テスト回路へ出力する第３のポートと、前記被テスト回路から供給されたテスト結果を入力する第４のポートと、前記第１、第２又は第４のポートからの入力データを出力する第５のポートと、前記第１、第２又は第４のポートからの入力データを出力する第６のポートとが設けられ、前記内部制御信号及び前記命令コードに基づき、前記第１、第２、第３、第４、第５及び第６のポート間のデータ伝送経路が切り替えられるスキャンチェーンと、
前記コマンド生成器から与えられる期待値と前記第５のポートからの出力データとの一致／不一致の比較を行うデータ比較器と、
前記命令コードに基づき、前記データ比較器の比較結果又は前記第６のポートからの出力データのいずれか一方を選択するセレクタと、
前記セレクタの選択結果を出力する出力端子と、
を備えたことを特徴とする半導体テスト回路。
【請求項３】
前記入力端子、前記制御端子、及び前記出力端子は、シリアルアクセス用の端子であることを特徴とする請求項２記載の半導体テスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
【０００２】
本発明は、半導体記憶装置等の被テスト回路の動作をテストするために用いられる内蔵自己検査（Ｂｕｉｌｔ−Ｉｎ　Ｓｅｌｆ　Ｔｅｓｔ、以下「ＢＩＳＴ」という。）回路等の半導体テスト回路、特に、自己のテストを行うための自己モニタモードと、被テスト回路を直接テストするためのダイレクトアクセスモードとを備えた半導体テスト回路に関するものである。
【０００３】
【従来の技術】
【０００４】
【特許文献１】
【０００５】
特開平１０−１９９２９４号公報
【０００６】
従来、大規模集積回路（以下「ＬＳＩ」という。）に内蔵されるＢＩＳＴ回路は、例えば、前記文献等に記載されているように、半導体記憶装置等の動作をテストするために用いられる。一般に、このＢＩＳＴ回路自体のテストを行う方法には、次の二通りがある。
【０００７】
第１の方法では、ＢＩＳＴ回路にスキャン回路を挿入して回路故障を検出する。
【０００８】
第２の方法では、ＢＩＳＴ回路の信号をＬＳＩの外部端子（外部ピン）まで引き出し、それらの信号をテスタでモニタ（検知）し、回路故障を検出する。
【０００９】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の第１及び第２の方法では、次の（１）、（２）のような課題があった。
【００１１】
（１）第１の方法の課題
スキャン回路を介してＢＩＳＴ回路を検査するため、ＢＩＳＴ回路自体の実機能動作の検査ができない。そのため、ＢＩＳＴ回路の実機能動作上の機能不良、及びタイミング不良が検査できない。
【００１２】
（２）第２の方法の課題
ＢＩＳＴ回路の複数の信号を複数の配線を介してそれぞれＬＳＩ外部ピンまで引き出す必要があるので、ＢＩＳＴ回路からＬＳＩ外部ピンまでに信号伝送のための配線遅延が存在する。そのため、テストの高速動作を保証するためには、複数の信号のＬＳＩレベルでのタイミング設計が必要となり、設計者の負担が増大する。又、この方法では、ＢＩＳＴ回路が持つピン数分のＬＳＩ外部ピンが必要となり、少ピンパッケージでは、そのピン数が不足するという問題を引き起こす。
【００１３】
【課題を解決するための手段】
【００１４】
前記課題を解決するために、本発明のうちの請求項１に係る発明では、半導体テスト回路において、テストデータを入力する入力端子と、テスト制御信号を入力する制御端子と、前記制御端子から前記テスト制御信号が与えられると、複数の遷移状態のステートを生成して内部制御信号を出力する制御手段と、前記内部制御信号及び前記テストデータに基づき、テスト用の命令コード及び制御データが設定される設定手段と、前記設定手段で設定された前記命令コード及び前記制御データに基づき、被テスト回路をテストするためのコマンドを生成するコマンド生成手段と、伝送経路切替手段と、伝送経路切替手段と、比較手段と、セレクタと、出力端子とを備えている。
【００１５】
前記伝送経路切替手段は、前記入力端子から供給された前記テストデータを入力する第１のポートと、前記コマンド生成手段から供給された前記コマンドを入力する第２のポートと、前記第１又は第２のポートからの入力データを前記被テスト回路へ出力する第３のポートと、前記被テスト回路から供給されたテスト結果を入力する第４のポートと、前記第１、第２又は第４のポートからの入力データを出力する第５のポートと、前記第１、第２又は第４のポートからの入力データを出力する第６のポートとを有し、前記内部制御信号及び前記命令コードに基づき、前記第１、第２、第３、第４、第５及び第６のポート間のデータ伝送経路が切り替えられるものである。
【００１６】
前記比較手段は、前記コマンド生成手段から与えられる期待値と前記第５のポートからの出力データとの一致／不一致の比較を行うものである。前記セレクタは、前記命令コードに基づき、前記比較手段の比較結果又は前記第６のポートからの出力データのいずれか一方を選択するものである。前記出力端子は、前記セレクタの選択結果を出力する端子である。
【００１７】
請求項１に係る発明では、このような構成を採用したことにより、半導体テスト回路自体の機能動作をテストする場合には、例えば、テストデータを入力端子に入力すると共に、テスト制御信号を制御端子に入力する。すると、制御手段によって内部制御信号が生成され、この内部制御信号と、入力されたテストデータとに基づき、設定手段によってテスト用の命令コードと制御データとが設定される。設定された命令コードにより、セレクタが比較手段側に切り替えられる。
【００１８】
さらに、設定された命令コードと制御データとに基づき、コマンド生成手段によってテスト用のコマンドが生成される。このコマンドは、伝送経路切替手段の第２のポートから第５のポートへ伝送される。第５のポートから出力されたコマンドは、コマンド生成手段からの期待値と、比較手段によって比較される。この比較結果は、セレクタを通り、出力端子から外部へ出力されるので、半導体テスト回路自体のテスト結果をテスタ等でモニタできる。
【００１９】
外部から直接（ダイレクト）に、被テスト回路をテストする場合には、例えば、テストデータを入力端子に入力すると共に、テスト制御信号を制御端子に入力する。すると、制御手段によって内部制御信号が生成され、この内部制御信号と、入力されたテストデータとに基づき、設定手段によってテスト用の命令コードが設定される。設定された命令コードにより、セレクタが伝送経路切替手段の第６のポート側に切り替えられると共に、その命令コードと内部制御信号とによって伝送経路切替手段の伝送経路が切り替えられる。
【００２０】
入力端子から入力されたテストデータは、伝送経路切替手段の第１のポートに入力され、第３のポートから出力されて被テスト回路に供給される。すると、被テスト回路が動作し、この動作結果が伝送経路切替手段の第４のポートに入力され、第６のポートから出力される。第６のポートから出力された動作結果は、セレクタを通り、出力端子から外部へ出力されるので、被テスト回路の動作結果をテスタ等でモニタできる。
【００２１】
請求項２に係る発明では、半導体テスト回路において、請求項１と同様の入力端子、制御端子、及び出力端子を備えている。
【００２２】
さらに、前記制御端子から前記テスト制御信号が与えられると、複数の遷移状態のステートを生成して内部制御信号を出力するテストアクセスポート（Ｔｅｓｔ　Ａｃｃｅｓｓ　Ｐｏｒｔ、以下「ＴＡＰ」という。）コントローラと、前記内部制御信号及び前記テストデータに基づき、テスト用の命令コードが設定される命令レジスタと、前記内部制御信号及び前記テストデータに基づき、テスト用の制御データが設定される制御レジスタと、前記命令レジスタで設定された前記命令コード及び前記制御レジスタで設定された前記制御データに基づき、被テスト回路をテストするためのコマンドを生成するコマンド生成器と、スキャンチェーンと、データ比較器と、セレクタとを備えている。
【００２３】
前記ＴＡＰコントローラは、複数のバウンダリスキャンレジスタ（以下「ＢＳＲ」という。）が縦続接続され、これらに、前記入力端子から供給された前記テストデータを入力する第１のポートと、前記コマンド生成器から供給された前記コマンドを入力する第２のポートと、前記第１又は第２のポートからの入力データを前記被テスト回路へ出力する第３のポートと、前記被テスト回路から供給されたテスト結果を入力する第４のポートと、前記第１、第２又は第４のポートからの入力データを出力する第５のポートと、前記第１、第２又は第４のポートからの入力データを出力する第６のポートとが設けられ、前記内部制御信号及び前記命令コードに基づき、前記第１、第２、第３、第４、第５及び第６のポート間のデータ伝送経路が切り替えられるものである。
【００２４】
前記比較器は、前記コマンド生成器から与えられる期待値と前記第５のポートからの出力データとの一致／不一致の比較を行うものである。前記セレクタは、前記命令コードに基づき、前記データ比較器の比較結果又は前記第６のポートからの出力データのいずれか一方を選択するものである。
【００２５】
請求項２に係る発明では、このような構成を採用したことにより、請求項１に係る発明とほぼ同様の作用を行う。
【００２６】
請求項３に係る発明では、請求項２の半導体テスト回路において、前記入力端子、前記制御端子、及び前記出力端子は、シリアルアクセス用の端子である。これにより、テストデータ及びテスト制御信号を、シリアルに入力端子及び制御端子に入力でき、出力端子からシリアルにテスト結果を出力できる。
【００２７】
【発明の実施の形態】
【００２８】
（構成）
【００２９】
図１は、本発明の実施形態を示す半導体テスト回路（例えば、ＢＩＳＴ回路）の概略の構成図である。
【００３０】
このＢＩＳＴ回路１０は、例えば、半導体記憶装置の一つである電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ（以下「フラッシュＲＯＭ」という。）３０をテストするための半導体基板上に形成された回路である。
【００３１】
半導体基板には、例えば、ＪＴＡＧ（ＩＥＥＥ　１１４９．１）規格に準拠した標準シリアルインタフェース用の５本のテスト用端子ＴＣＫ，ＴＤＩ，ＴＭＳ，ＴＲＳＴ，ＴＤＯが設けられ、この５本の端子によりＢＩＳＴ回路１０が制御される。５本の端子の内、ＴＣＫはテスト用クロックｔｃｋを入力する制御端子用のクロック入力端子、ＴＤＩはテスト用シリアルデータｔｄｉを入力するシリアルデータ入力端子である。ＴＭＳはテストモードセット信号であるシリアル入出力制御信号ｔｍｓを入力する制御端子用のシリアル入出力制御端子、ＴＲＳＴはテスト用リセット信号ｔｒｓｔを入力する制御端子用のリセット端子、ＴＤＯはテスト用シリアルデータｔｄｏを出力するシリアルデータ出力端子である。
【００３２】
端子ＴＣＫ，ＴＭＳ，ＴＲＳＩには、制御手段（例えば、ＴＡＰコントローラ１１）が接続され、この出力側に設定手段［例えば、命令レジスタ（ＩＲ）１２及び制御レジスタ（ＤＲ）２０］が接続されている。ＴＡＰコントローラ１１には、シリアルデータ入出力を制御するために、例えば、１６状態のステートを生成するステートマシンが設けられている。ステートマシンは、端子ＴＣＫ，ＴＭＳ，ＴＲＳＴからクロックｔｃｋ、シリアル入出力制御信号ｔｍｓ及びリセット信号ｔｒｓｔを入力し、命令レジスタ（ＩＲ）１２に与える内部制御信号（例えば、クロック信号ｃｌｏｃｋ−ＩＲ、シフト信号ｓｈｉｆｔ−ＩＲ、アップデート信号ｕｐｄａｔｅ−ＩＲ、リセット信号ｒｅｓｅｔ、及びテストクロックｔｃｋ）や、制御レジスタ（ＤＲ）２０に与える内部制御信号（例えば、クロック信号ｃｌｏｃｋ−ＤＲ、シフト信号ｓｈｉｆｔ−ＤＲ、アップデート信号ｕｐｄａｔｅ−ＤＲ、リセット信号ｒｅｓｅｔ、及びテストクロックｔｃｋ）等を出力する機能を有している。
【００３３】
命令レジスタ１２は、ＴＡＰコントローラ１１から与えられる内部制御信号に基づき、端子ＴＤＩから入力される命令コード（コマンドコード）を保持（設定）するレジスタであり、この出力側にコマンド生成手段（例えば、コマンド生成器３１）及びセレクタ３３が接続されている。制御レジスタ２０は、ＴＡＰコントローラ１１から与えられる内部制御信号に基づき、端子ＴＤＩから入力されるコマンド生成用の制御データＳ２３，Ｓ２４を保持（設定）するレジスタであり、この出力側にコマンド生成器３１が接続されている。
【００３４】
コマンド生成器３１は、フラッシュＲＯＭインタフェース信号Ｓ３１［例えば、アドレスａ、チップセレクト信号ｃｅｎ（ここで、「ｎ」は反転を意味する。）、アウトプットイネーブル信号ｏｅｎ、ライトイネーブル信号ｗｅｎ、データｄ、ライト・リードイネーブル信号ｗｒｅ等］を生成する回路であり、この出力側に伝送経路切替手段（例えば、スキャンチェーン４０）及び比較手段（例えば、データ比較器３２）が接続されている。
【００３５】
スキャンチェーン４０は、フラッシュＲＯＭインタフェース信号Ｓ３１をシリアルデータとして出力するためのものであり、複数のＢＳＲが縦続接続されて構成され、これらのＢＳＲが内部制御信号ｃｌｏｃｋ−ＤＲ，ｓｈｉｆｔ−ＤＲ，ｕｐｄａｔｅ−ＤＲ及びＩＲ命令（即ち、命令コードＳ１２）によって制御される。
【００３６】
スキャンチェーン４０には、入力端子ＴＤＩから供給されたシリアルデータｔｄｉを入力する第１のポート４０ａと、コマンド生成器３１から供給されたフラッシュＲＯＭインタフェース信号Ｓ３１を入力する第２のポート４０ｂと、第１のポート４０ａ又は第２のポート４０ｂからの入力データＳ４０−１をフラッシュＲＯＭ５０へ出力する第３のポート４０ｃと、フラッシュＲＯＭ４０から供給されたテスト結果Ｓ５０を入力する第４のポート４０ｄと、第１のポート４０ａ、第２のポート４０ｂ又は第４のポート４０ｄからの入力データＳ４０−２を出力する第５のポート４０ｅと、第１のポート４０ａ、第２のポート４０ｂ又は第４のポート４０ｄからの入力データを出力する第６のポート４０ｆとが設けられ、内部制御信号ｃｌｏｃｋ−ＤＲ，ｓｈｉｆｔ−ＤＲ，ｕｐｄａｔｅ−ＤＲ及びＩＲ命令（命令コードＳ１２）に基づき、第１、第２、第３、第４、第５及び第６のポート４０ａ〜４０ｆ間のデータ伝送経路が切り替えられるようになっている。
【００３７】
データ比較器３２は、フラッシュＲＯＭ５０の読み出しデータＳ５０と、コマンド生成器３１から与えられる書き込みデータの期待値Ｓ３１ａとの一致／不一致を比較する回路であり、この出力側にセレクタ３３が接続されている。セレクタ３３は、命令レジスタ１２に設定された命令コードＳ１２により、データ比較器３２からの出力と、スキャンチェーン４０からの出力とを切り替える回路であり、この出力側が端子ＴＤＯに接続されている。
【００３８】
図２は、ＴＡＰコントローラ１１の状態遷移図である。
【００３９】
ＴＡＰコントローラ１１は、例えば、端子ＴＭＳから与えられるシリアル入出力制御信号ｔｍｓの論理“１”と“０”によってステートが１６状態に変わり、各状態に応じた制御信号が出力される。
【００４０】
図３は、図１中の命令レジスタ１２及び制御レジスタ２０の構成例を示す概略の構成図である。
【００４１】
命令レジスタには、例えば、４ビットのレジスタで構成されている。
【００４２】
制御レジスタ２０は、ＴＡＰコントローラ１１から供給される内部制御信号（ｃｌｏｃｋ−ＤＲ，ｓｈｉｆｔ−ＤＲ，ｕｐｄａｔｅ−ＤＲ）で制御されるレジスタであり、セレクタ２１，２３、２ビットの選択レジスタ２２、及びコマンド制御用レジスタ群２４等により構成されている。レジスタ群２４は、１６ビットのコマンド制御レジスタ２４ａ、１６ビットのアドレスレジスタ２４ｂ、及び１６ビットのデータレジスタ２４ｃを有している。
【００４３】
この制御レジスタ２０では、命令レジスタ１２に０００１が設定された場合、選択レジスタ２２へのアクセスがイネーブルとなる。これに設定されたコードにより、制御レジスタ２０へのアクセスをコントロールする。命令レジスタ１２に１０１０が設定された場合、制御レジスタ２０へのアクセスがイネーブルとなる。この時、選択レジスタ２２に００が設定されている場合、生成コマンド、アドレススキャン方法等が設定されるコマンド制御レジスタ２４ａへのアクセスがイネーブルとなる。同様に、選択レジスタ２２に０１が設定されている場合、アドレス範囲が設定されるアドレスレジスタ２４ｂへのアクセスがイネーブルとなる。選択レジスタ２２に１０が設定されている場合、書き込みデータが設定されるデータレジスタ２４ｃへのアクセスがイネーブルとなる。これらのレジスタ２４ａ〜２４ｃから、制御データＳ２４ｃが出力され、コマンド生成器３１へ与えられる。
【００４４】
選択レジスタ２２に１１が設定されている場合、コマンド起動可能状態となり、この状態でテスト状態を遷移させる。そして、例えばＵｐｄａｔｅ−ＤＲ状態になったときに、制御データＳ２３によってコマンドが起動する。又、命令レジスタ１２に１０００が設定された場合、制御データＳ２１によってスキャンチェーン４０へのアクセスがイネーブルとなり、ＢＩＳＴ回路１０自体の機能動作テストを可能とする。
【００４５】
図４（Ａ）、（Ｂ）は、図１中のスキャンチェーン４０の概略の構成図であり、同図（Ａ）はスキャンチェーン４０の全体の構成図、及び同図（Ｂ）はＢＳＲ４０−２の構成例を示す回路図である。
【００４６】
図４（Ａ）に示すように、スキャンチェーン４０は、複数のＢＳＲ４０−１，４０−２，・・・，４０−ｉ，４０−（ｉ＋１），・・・が縦続されて構成されている。各ＢＳＲ４０−１，４０−２，・・・は、同一の回路構成である。スキャンチェーン４０の最も入力に近い位置に、ＢＩＳＴ起動のためのＢＩＳＴ起動レジスタ４０−ｚの入力側が接続され、このレジスタ４０−ｚの出力側が、フリップフロップ（以下「ＦＦ」という。）４５，４６及び２入力１出力のＯＲゲート４７を介して、コマンド生成器３１に接続されている。
【００４７】
例えば、ＢＳＲ４０−２は、図４（Ｂ）に示すように、ＴＡＰコントローラ１１から与えられる内部制御信号（例えば、クロック信号ｃｌｏｃｋ−ＤＲ、シフト信号ｓｈｉｆｔ−ＤＲ、アップデート信号ｕｐｄａｔｅ−ＤＲ）と、命令レジスタ１２で設定された命令コードＳ１２のＩＲ命令とにより制御されるレジスタである。
【００４８】
ＢＳＲ４０−２は、コマンド生成器３１、端子ＴＤＩあるいはフラッシュＲＯＭ５０からのデータと、前段のＢＳＲ４０−１からのシフトデータとを入力していずれか一方を選択するマルチプレクサ（以下「ＭＵＸ」という。）４１と、この出力側に接続されてデータをシフトし、このシフトデータを次段のＢＳＲ４０−３へ出力するＦＦ４２と、このＦＦ４２から出力されたシフトデータを保持するＦＦ４３と、前記コマンド生成器３１、端子ＴＤＩあるいはフラッシュＲＯＭ５０からのデータと、ＦＦ４３の出力データのいずれか一方を選択してフラッシュＲＯＭ５０、データ比較器３２あるいはセレクタ３３へ出力するＭＵＸ４４とで、構成されている。
【００４９】
ＭＵＸ４１は、シフト信号ｓｈｉｆｔ−ＤＲが“０”のとき、コマンド生成器３１等からのデータを選択してＦＦ４２へ出力し、シフト信号ｓｈｉｆｔ−ＤＲが“１”のとき、前段のＢＳＲ４０−１からのシフトデータを選択してＦＦ４２へ出力する。ＦＦ４２は、クロックｃｌｏｃｋ−ＤＲに基づきＭＵＸ４１の出力データをシフトし、このシフトデータを次段のＢＳＲ４０−３へ出力すると共にＦＦ４３へ出力する。ＦＦ４３は、アップデート信号ｕｐｄａｔｅ−ＤＲに基づき、ＦＦ４２から出力されたシフトデータを保持する。ＭＵＸ４４は、ＩＲ命令が“０”のとき、コマンド生成器３１等からのデータを選択してフラッシュＲＯＭ５０等へ出力し、ＩＲ命令が“１”のとき、ＦＦ４３の出データを選択してフラッシュＲＯＭ５０等へ出力する。
【００５０】
このように、ＢＳＲ４０−２は、例えば、内部制御信号ｃｌｏｃｋ−ＤＲ，ｓｈｉｆｔ−ＤＲ，ｕｐｄａｔｅ−ＤＲ及びＩＲ命令に基づき、前段のＢＳＲ４０−１からのシフトデータを次段のＢＳＲ４０−３へ順次送って、バウンダリスキャンパスにおいてデータが正確に転送されるか否かを調べるテストや、あるいは、コマンド生成器３１等からのデータをフラッシュＲＯＭ５０へ送るといった通常動作を行わせることが可能な構成になっている。
【００５１】
図５は、図１中のフラッシュＲＯＭ５０の一構成例を示す概略の構成図である。
【００５２】
このフラッシュＲＯＭ５０は、一括消去や小セクタ消去が行え、書き替えが容易であるという利点があり、例えば、２５６Ｋワード×８ビット、１２８Ｋワード×１６ビット等のメモリセルアレイ５１を有している。メモリセルアレイ５１を選択するためのアドレスａ１７〜ａ０（即ち、ａ［１７：０］）は、アドレスバッファ・ラッチ回路５２でラッチされ、このラッチされたＸアドレスがローデコーダ５３でデコードされ、メモリセルアレイ５１のワード線が選択される。アドレスバッファ・ラッチ回路５２でラッチされたＹアドレスは、カラムデコーダ５４でデコードされ、メモリセルアレイ５１のビット線が選択される。
【００５３】
書き込み用のデータｄ１５〜ｄ０（即ち、ｄ［１５：０］）は、入出力バッファ・データラッチ回路５５でラッチされ、カラムデコーダ５４で選択されたビット線へ送られ、このビット線とローデコーダ５３で選択されたワード線との交差箇所のメモリセルに、書き込まれる。書き込まれたメモリセルのデータは、ビット線を通して読み出されて入出力バッファ・データラッチ回路５５でラッチされ、このラッチされた読み出しデータｄ［１５：０］が出力される。
【００５４】
書き込みや読み出しを制御するコントロールロジック５６は、コマンド（例えば、チップセレクト信号ｃｅｂ、アウトプットイネーブル信号ｏｅｂ、ライトイネーブル信号ｗｅｂ）、バイト信号ｂｙｔｅｂ、及びリセット信号ｒｅｓｅｔｂを入力して、フラッシュＲＯＭ５０全体を制御し、書き込み処理を行っているときにはレディ／ビジー信号ｒｄ／ｂｙｂをレディ状態“１”にする。
【００５５】
（通常のフラッシュＲＯＭテストの動作例）
【００５６】
先ず、図３において、命令レジスタ１２に０００１が設定され、選択レジスタ２２にコマンド制御レジスタ２４ａを選択するコードである００が設定される。その後、命令レジスタ１２に１０１０が設定され、コマンド制御レジスタ２４ａに制御データが設定される。
【００５７】
そして、再度命令レジスタ１２に０００１が設定され、選択レジスタ２２にコマンド起動をイネーブルにするコードである１１が設定される。その後、命令レジスタ１２に１０１０が設定された後、状態が遷移する。Ｕｐｄａｔｅ−ＤＲ状態になった時、コマンド制御レジスタ２４ａに設定されているデータ（例えば、生成コマンド、アドレススキャン方向、テストデータ等）Ｓ２４に従ってＢＩＳＴが起動する。
【００５８】
フラッシュＲＯＭ５０において、例えば、１ワード（例えば、８ビット又は１６ビット）のデータを書き込むためのテストパターンを、書き込み命令のためのパターン入力期間において入力端子に入力する。入力されたテストパターンは、入出力バッファ・データラッチ回路５５にラッチされ、パターン入力期間経過後の不揮発性プログラム期間において、メモリセルアレイ５１に書き込まれる。１ワードの書き込みが終わると、次の１ワードの書き込みのためのテストパターンを入力する。以後同様に、メモリセルアレイ５１の全ビットに書き込みが行われ、その後、読み出されてテスタで検査される。
【００５９】
（ＢＩＳＴ回路自体の機能動作テストをする動作例）
【００６０】
（Ａ）　動作内容（１）、（２）
【００６１】
（１）　先ず、ＢＩＳＴ回路１０が生成するフラッシュＲＯＭインタフェース信号Ｓ３１をＬＳＩ外部ピンまで出力し、正当性を確認する。
【００６２】
フラッシュＲＯＭ５０をテストするためのフラッシュＲＯＭインタフェース信号Ｓ３１（コマンド、アドレス、データ）は、制御レジスタ２０に設定されたデータ（例えば、生成コマンド、アドレススキャン方向、テストデータ等）に従い、コマンド生成器３１で生成される。
【００６３】
ここで、図３の命令レジスタ１２、制御レジスタ２０、及び図４のスキャンチェーン４０等の動作を説明する。
【００６４】
ＢＩＳＴ回路モニタモードとして作動させる場合、通常のフラッシュＲＯＭテスト時と同様の方法で、コマンド制御レジスタ２４ａ、アドレスレジスタ２４ｂ、及びデータレジスタ２４ｃに制御データＳ２４を設定する。その後、命令レジスタ１２に１０００を設定する。そしてＢＩＳＴを起動するわけであるが、スキャンレジスタをイネーブルにした状態でＢＩＳＴを起動するため、通常のフラッシュＲＯＭテスト時とは異なり、スキャンチェーン４０を使用する。スキャンチェーン４０も最も入力に近い位置にＢＩＳＴ起動のためのＢＩＳＴ起動レジスタ４０−ｚが設けられている。このレジスタ４０−ｚに１ビットのデータ“１”を第１のポート４０ａからシフト入力し、Ｕｐｄａｔｅ−ＤＲの状態で“１”がＦＦ４５に送られる。そして次のクッロクサイクルで、ＦＦ４６に送られる。さらに次のクロックサイクルで、ＯＲゲート４７を介して、ＢＩＳＴ起動信号としてコマンド生成器３１に送られる。これにより、ＢＩＳＴ回路モニタモードでＢＩＳＴが起動することになる。
【００６５】
即ち、通常のフラッシュＲＯＭテスト時には、命令レジスタ１２に命令コード１０１０（フラッシュＲＯＭテストモード）が設定されており、フラッシュＲＯＭインタフェース信号Ｓ３１は、スキャンチェーン４０をスルーした信号（Ｓ４０−１）としてフラッシュＲＯＭ５０へ入力される。ＢＩＳＩ回路モニタモードとして動作させる場合、命令レジスタ１２に命令コード１０００（ＢＩＳＩ回路モニタモード）を設定する。こうした場合、フラッシュＲＯＭインタフェース信号Ｓ３１は、スキャンチェーン４０でＢＳＲ４０−１，・・・に取り込まれる。又、命令レジスタ１２に命令コード１０００（ＢＩＳＴ回路モニタモード）が設定された場合、この命令コードＳ１２により、セレクタ３３はスキャンチェーン４０からのデータを端子ＴＤＯへ出力するよう切り替えられ、スキャンチェーン４０で取り込まれた信号は、シリアルデータとして端子ＴＤＯへ出力される。
【００６６】
このような動作を実行する図１のタイミング図を図６に示す。この図６では、ＪＴＡＧ規格に準拠したシリアルインタフェースを用いている。
【００６７】
図６において、第１サイクルでテスト起動がかかり、フラッシュＲＯＭインタフェース信号Ｓ３１（アドレスａ、チップセレクト信号ｃｅｎ、アウトプットイネーブル信号ｏｅｎ、ライトイネーブル信号ｗｅｎ、データｄ、ライト・リードイネーブル信号ｗｒｅ）の生成が開始される。この例では、ＢＩＳＴ回路１０がテスト起動後、第１４サイクルまで、１ワードデータプログラムのためのフラッシュＲＯＭインタフェース信号Ｓ３１を自動生成している。スキャンチェーン４０では、ＴＡＰ状態ｔａｐ−ｓｔａｔｅが捕獲（Ｃａｐｔｕｒｅ）状態（第５サイクル目）でフラッシュＲＯＭインタフェース信号Ｓ３１を取り込み、次のシフト（Ｓｈｉｆｔ）状態でシルアル（１サイクルで１ビット）出力する。
【００６８】
図６では、第５サイクル目の信号で信号Ｓ３１を取り込んでいるが、取り込むタイミングはアイドル（Ｉｄｌｅ）状態の保持期間で制御する。もし第８サイクル目の信号Ｓ３１を取り込みたい場合、第６サイクル目までＩｄｌｅ状態を保持し、第７サイクルで選択（Ｓｅｌｅｃｔ−ＤＲ）状態、そして第８サイクルでＣａｐｔｕｒｅ状態とする。
【００６９】
なお、図６においては、ｃａｐｔｕｒｅ状態でフラッシュＲＯＭ５０の信号を取り込むわけであるが、図２の状態遷移図から分かる通り、ＵＰｄａｔｅ−ＤＲ状態（ＢＩＳＴ起動）からｃａｐｔｕｒｅ状態（信号取り込み）まで最低２つの状態遷移が必要である。そのため、スキャンチェーン４０のＢＩＳＴ起動レジスタ４０−ｚから２つのＦＦ４５，４６を経由し、ＯＲゲート４７を介して、コマンド生成器３１に起動信号が入力される。
【００７０】
（２）　次に、データ比較器１５の機能テストをする。
【００７１】
データ比較樹３２の機能テストをする場合、通常のフラッシュＲＯＭテスト時と同様の方法で、コマンド制御レジスタ２４ａ（この場合、生成コマンドはリード、そしてテストデータ）を設定する。その後、命令レジスタ１２に命令コード１０００（フラッシュＲＯＭ出力データの比較モード）を設定する。次に、シリアルデータ入力端子ＴＤＩから、ＴＡＰ状態ｔａｐ−ｓｔａｔｅがＳｈｉｆｔ状態の間、フラッシュＲＯＭ５０の読み出しデータ相当の信号をスキャンチェーン４０にシリアル入力すると共に、“１”のデータを起動レジスタ４０−ｚにシリアル入力する。そして、ＴＡＰ状態を最新（Ｕｐｄａｔｅ−ＤＲ）状態とすることで、ＢＩＳＴ起動レジスタ４０−ｚから、ＦＦ４５，４６及びゲート４７を介してＢＩＳＴ起動信号が、コマンド生成器３１へ与えられると共に、スキャンチェーン４０にシリアル入力したデータが、フラッシュＲＯＭ５０の読み出しデータ（Ｓ４０−２）としてデータ比較器３２に入力される。
【００７２】
この状態で読み出し動作を実行すると、コマンド生成器３１で生成された期待値と、フラッシュＲＯＭ５０の読み出しデータ（Ｓ４０−２）とが、データ比較器３２で比較され、その結果［良（ＯＫ）のとき“０”、否（ＮＧ）のとき“１”］がセレクタ３３に入力される。命令レジスタ１２に命令コード１００１（フラッシュＲＯＭ出力データの比較モード）が設定されている場合、セレクタ３３はデータ比較器３２からの信号をシリアルデータとして端子ＴＤＯへ出力する。こうすることで、テスタ等によってデータ比較器３２の機能テストをすることができる。
【００７３】
（Ｂ）　（Ａ）の効果（ｉ）　、（ｉｉ）
【００７４】
この動作例では、次のような効果がある。
【００７５】
（ｉ）　ＢＩＳＴ回路１０自体の実機能動作テストを、通常のフラッシュＲＯＭテスト時と全く同じＬＳＩピンを用いて、テストピンを全く増やすことなく、実使用スピードで実施することができる。
【００７６】
（ｉｉ）　実際のテスト状態と全く同じ条件、状態で、ＢＩＳＴ回路１０自体の実動作テストが可能となり、このＢＩＳＴ回路１０を用いたフラッシュＲＯＭテストにおいて不良が出た場合においても、ＢＩＳＴ回路１０の不良か、もしくはフラッシュＲＯＭ５０の不良かの切り分けが容易となる。
【００７７】
（フラッシュＲＯＭ５０へ直接アクセスする動作例）
【００７８】
図７は、図１のＢＩＳＴ回路１０を用いてフラッシュＲＯＭ５０に直接（ダイレクト）にアクセスする動作例を示す図である。
【００７９】
この図７を参照して、ＢＩＳＴ回路１０のコマンド生成器３１を使用せずに、フラッシュＲＯＭ５Ｏへ直接アクセスする動作例を説明する。
【００８０】
（Ａ）　動作内容
【００８１】
先ず、命令レジスタ１２に命令コード１０００（ダイレクトアクセスモード）を設定する。その後、フラッシュＲＯＭ５０にコマンドを入力するために、フラッシュＲＯＭインタフェース信号Ｓ４０−１をシリアルデータ入力端子ＴＤＩに入力する。入力されたフラッシュＲＯＭインタフェース信号Ｓ４０−１を、直接、スッキャンチェーン４０にシリアル入力する。そして、ＴＡＰ状態をＵｐｄａｔｅ状態にすると、スキャンチェーン４０にシリアル入力されたデータが、フラッシュＲＯＭインタフェース信号Ｓ４０−１としてフラッシュＲＯＭ５０に入力される。このような動作により、任意のデータをフラッシュＲＯＭ５０に入力することができる。
【００８２】
フラッシュＲＯＭ５０の読み出しデータ（Ｓ５０）をテスタ等でモニタする場合、上記の動作と同様にして、リードコマンドを、端子ＴＤＩからフラッシュＲＯＭ３０へ直接、入力する。命令レジスタ１２に命令コード１０００（ダイレクトアクセスモード）が設定されているので、この命令コードＳ１２により、セレクタ３３はスキャンチェーン４０側に切り替えられている。
【００８３】
そこで、ＴＡＰ状態をＣａｐｔｕｒｅ状態とすることで、フラッシュＲＯＭ５０の読み出しデータＳ５０をスキャンチェーン４０に取り込む。ＴＡＰ状態をＳｈｉｆｔ状態にすると、スキャンチェーン４０に取り込まれたデータが、シリアルデータとしてセレクタ３３を介して端子ＴＤＯへ出力される。これをテスタ等でモニタできる。
【００８４】
（Ｂ）　（Ａ）の効果
【００８５】
この動作例では、次のような効果がある。
【００８６】
テストピンを全く増やすことなく、５本のテストピン（端子ＴＤＩ，ＴＣＫ，ＴＭＳ，ＴＲＳＴ，ＴＤＯ）からフラッシュＲＯＭ５０の動作テストが可能となる。そのため、例えば、フラッシュＲＯＭ５０の信号端子数が４０本に満たない少ピンパッケージにおいても、任意のテストパターンをフラッシュＲＯＭ５０に与えることができる。
【００８７】
［利用形態］
【００８８】
本発明は、上記実施形態に限定されず、種々の変形や利用形態が可能である。この変形や利用形態としては、例えば、次の（１）、（２）のようなものがある。
【００８９】
（１）　被テスト回路として、フラッシュＲＯＭ５０のテストについて説明したが、フラッシュＲＯＭ以外の他の半導体記憶装置等の種々の装置に本発明を適用できる。
【００９０】
（２）　ＪＴＡＧ規格に準拠したシリアルアクセスによるテストパターンを入出力する例について説明したが、テストパターンの印加方法についてはＪＴＡＧ規格に限るものではなく、種々の方法を採用できる。
【００９１】
【発明の効果】
【００９２】
以上詳細に説明したように、請求項１、２に係る発明によれば、伝送経路切替手段（スキャンチェーン）及びセレクタ等を設けて、半導体テスト回路の内部テスト結果又は被テスト回路の内部テスト結果を切り替えて出力可能な構成にしたので、例えば、半導体テスト回路自体の実機能動作テストを、通常の被テスト回路のテスト時と全く同じ入力端子、制御端子及び出力端子を用いて、端子数を全く増やすことなく、実使用スピードで実施することができる。その上、例えば、実際のテスト状態と全く同じ条件、状態で、半導体テスト回路自体の実動作テストが可能となり、この半導体テスト回路を用いた被テスト回路のテストにおいて不良が出た場合においても、半導体テスト回路の不良か、もしくは被テスト回路の不良かの切り分けが容易となる。
【００９３】
しかも、入力端子等から被テスト回路に対してダイレクトにアクセス可能な構成になっているので、入力端子、制御端子及び出力端子の数を全く増やすことなく、これらの端子から被テスト回路の動作テストが可能となる。そのため、例えば、被テスト回路の信号端子数が数十本に満たない少ピンパッケージにおいても、任意のテストパターンを被テスト回路に与えることができる。
【００９４】
請求項３に係る発明によれば、テストデータ及びテスト制御信号を、シリアルに入力端子及び制御端子に入力でき、出力端子からシリアルにテスト結果を出力できるので、汎用性があり、使い勝手が良い。
【図面の簡単な説明】
【図１】本発明の実施形態を示すＢＩＳＴ回路の構成図である。
【図２】図１中のＴＡＰコントローラの状態遷移図である。
【図３】図１中の命令レジスタ及び制御レジスタの構成図である。
【図４】図１中のスキャンチェーンの構成図である。
【図５】図１中のフラッシュＲＯＭの構成図である。
【図６】図１のタイミング図である。
【図７】図１のフラッシュＲＯＭにダイレクトでアクセスする動作例を示す図である。
【符号の説明】
１０　　　ＢＩＳＴ回路
１１　　　ＴＡＰコントローラ
１２　　　命令レジスタ
２０　　　制御レジスタ
３１　　　コマンド生成器
３２　　　データ比較器
３３　　　セレクタ
４０　　　スキャンチェーン
４０−１，・・・　　　　ＢＳＲ（バウンダリスキャンレジスタ）
５０　　　フラッシュＲＯＭ
【図１】
2004093433.tif 000003
【図２】
2004093433.tif 000004
【図３】
2004093433.tif 000005
【図４】
2004093433.tif 000006
【図５】
2004093433.tif 000007
【図６】
2004093433.tif 000008
【図７】
2004093433.tif 000009