(57)【要約】【課題】  従来、半導体集積回路内のスキャン記憶素子に対してスキャンインデータやスキャン選択信号を半導体集積回路の外から直接入力する必要があり、実動作速度までスキャンテストを行えず、周波数に依存する遅延故障を、検出できなかった。【解決手段】  複数個のスキャン記憶素子２５，２６，２７を有するスキャンチェーンを内蔵し、１個目からｎ−１個目のスキャン記憶素子にシフトインするための第１のクロックの周波数と、ｎ個目のスキャン記憶素子にシフトインし、かつ実動作を行うための第２のクロックの周波数とを独立に制御可能とするスキャンクロック生成回路３３と、第２のクロックに同期するスキャン選択内部信号を生成するスキャン選択内部信号生成回路３１とを備えた。【選択図】      図１
2004294424.tif 000002
【特許請求の範囲】
【請求項１】
複数（ｎ＞１の整数）個のスキャン記憶素子を含むスキャンチェーンを有するスキャンテスト回路に対するスキャンテスト制御方法において、
前記１個目からｎ−１個目のスキャン記憶素子にデータをシフトインするために用いる第１のクロックの周波数と、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するために用いる第２のクロックの周波数とを独立に制御する、
ことを特徴とするスキャンテスト制御方法。
【請求項２】
請求項１記載のスキャンテスト制御方法において、
前記第１のクロックの周波数と前記第２のクロックの周波数とが異なる、
ことを特徴とするスキャンテスト制御方法。
【請求項３】
請求項１記載のスキャンテスト制御方法において、
前記第２のクロックの周波数は通常動作で用いるクロック周波数である、
ことを特徴とするスキャンテスト制御方法。
【請求項４】
複数（ｎ＞１の整数）個のスキャン記憶素子を有するスキャンチェーンと、
第１及び第２のクロックを入力して、前記第１及び第２のクロックのうちのいずれかを前記複数のスキャン記憶素子を動作させるスキャンクロックとして出力するスキャンクロック生成回路と、
前記１個目からｎ−１個目のスキャン記憶素子にデータをシフトインするために用いる前記スキャンクロックとして第１のクロックを選択し、前記ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するために用いる前記スキャンクロックとして第２のクロックを選択する選択回路とを備えた、
ことを特徴とするスキャンテスト回路。
【請求項５】
請求項４記載のスキャンテスト回路において、
通常動作とスキャンテスト動作とを切替えるためのスキャン選択外部信号を外部から入力し、前記第２のクロックに同期して、前記複数のスキャン記憶素子にデータをシフトインする動作と通常動作とを選択的に切替えるためのスキャン選択内部信号を生成するスキャン選択信号生成回路を有する、
ことを特徴とするスキャンテスト回路。
【請求項６】
請求項５記載のスキャンテスト回路において、
前記スキャン選択信号生成回路は前記第２のクロックを任意のクロック数だけ発生させる制御信号を生成する、
ことを特徴とするスキャンテスト回路。
【請求項７】
請求項６記載のスキャンテスト回路において、
前記スキャン選択信号生成回路は、
前記スキャンクロック生成回路が前記第２のクロックを前記スキャンクロックとして生成する第１のタイミングと、前記スキャン選択内部信号を生成する第２のタイミングとを変更する、
ことを特徴とするスキャンテスト回路。
【請求項８】
請求項７記載のスキャンテスト回路において、
前記スキャン選択信号生成回路は前記第１のタイミングと前記第２のタイミングとを任意に選択する、
ことを特徴とするスキャンテスト回路。
【請求項９】
請求項８記載のスキャンテスト回路において、
前記スキャンチェーンの前段に記憶素子を有する、
ことを特徴とするスキャンテスト回路。
【請求項１０】
請求項９記載のスキャンテスト回路において、
スキャンテストパターン生成時に、
前記スキャンクロック生成回路を、前記第１のクロックを入力する端子と前記スキャンクロックを出力するための信号線とを直結する回路に置換え、
前記スキャン選択信号生成回路を、前記スキャン選択外部信号を入力する端子と前記スキャン選択内部信号を出力する信号線とを直結する回路に置換え、
前記記憶素子を、前記記憶素子のデータを入力する信号線とデータを出力する信号線とを直結する回路に置換える、
ことを特徴とするスキャンテスト回路。
【請求項１１】
第１及び第２のクロックに同期して動作する第１のスキャンテスト回路を有する第１のブロックと、前記第１のクロックにのみ同期する第２のスキャンテスト回路を有する第２のブロックとを備えるスキャンテスト回路に対するスキャンテスト制御方法において、
前記第１のブロックにおけるスキャンテストの通常動作時刻と、前記第２のブロックにおけるスキャンテストの通常動作時刻とが異なる、
ことを特徴とするスキャンテスト制御方法。
【請求項１２】
第１及び第２のクロックに同期して動作する第１のスキャンテスト回路を有する第１のブロックと、前記第１のクロックにのみ同期する第２のスキャンテスト回路を有する第２のブロックとを備えるスキャンテスト回路において、
前記第１のクロックに同期する第１の複数の記憶素子と、
前記第１及び第２のクロックに同期する第２の複数の記憶素子と、
前記第１の複数の記憶素子と前記第２のブロックとの間の第１の経路、及び前記第２の複数の記憶素子と前記第１のブロックとの間の第２の経路のうちのいずれかを、第１のブロックから第２のブロックへデータを受け渡す経路として選択する選択回路とを、
前記第１のブロックと前記第２のブロックとの間に備えた、
ことを特徴とするスキャンテスト回路。
【請求項１３】
請求項１２記載のスキャンテスト回路において、
前記第１の複数の記憶素子と前記第２の複数の記憶素子とは、
第２のブロックに入力される信号を制御する複数の可制御用スキャン記憶素子、または第１のブロックが出力する信号を記憶する複数の観測用記憶素子である、
ことを特徴とするスキャンテスト回路。
【請求項１４】
請求項１３記載のスキャンテスト回路において、
前記複数の観測用記憶素子を１つの観測用記憶素子で構成する、
ことを特徴とするスキャンテスト回路。
【請求項１５】
請求項１４記載のスキャンテスト回路において、
スキャンテストパターン生成時、前記選択回路を、前記第１の経路と前記第２の経路とを分割する回路に置換える、
ことを特徴とするスキャンテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路内の、縮退故障及び遅延故障を検出するためのスキャンテスト制御方法及びスキャンテスト回路に関するものある。
【背景技術】
【０００２】
近年、半導体の微細化技術の進展に伴い、数百万を超えるトランジスタを、１チップの中に集積することが可能となっており、このような半導体集積回路に対するテスト方法の１つとして、故障検出率が極めて高いスキャンテストが挙げられる。
【０００３】
図１８は、従来のスキャンテスト回路の一例である。図１８において、スキャンテスト回路は、外部入力端子１１１、１１２及び１１４と、組合せ回路１１８と、通常データ線１１９〜１２１と、外部出力端子１２４と、複数（ｎ＞１）個のスキャン記憶素子を有するスキャンチェーンとを備える。図１８に示すスキャンテスト回路では、３（ｎ＝３）個のスキャン記憶素子、スキャン記憶素子１２５〜１２７を備える。また、スキャン記憶素子１２５の出力データ線１２２と、スキャン記憶素子１２６の出力データ線１２３とを備える。
【０００４】
外部入力端子１１１は、通常動作とスキャン動作とを切り替えるためのスキャン選択外部信号を入力する。外部入力端子１１２はスキャンインデータを入力する。外部入力端子１１４はテストクロックを入力する。スキャン記憶素子１２５〜１２７は、外部入力端子１１４が入力したテストクロックの立上がりに同期して、データを記憶して出力する。外部出力端子１２４はスキャン記憶素子１２７の出力データを出力する。組合せ回路１１８は、出力データ線１２２〜１２３からのデータを入力とし、通常データ線１１９〜１２１にデータを出力する。図１８に示すスキャンテスト回路では、組み合わせ回路１１８をテストする。
【０００５】
図１９は、図１８のスキャン記憶素子１２５〜１２７の具体例を示す回路構成図である。図１９において、スキャン記憶素子１２５〜１２７は、セレクタ回路１と、スキャン選択信号入力端子２と、通常データ入力端子３と、スキャンイン入力端子４と、スキャンクロック入力端子５と、記憶素子６と、出力端子７とを備える。
【０００６】
通常データ入力端子３は通常データを入力する。スキャンイン入力端子４はスキャンインデータを入力する。スキャンクロック入力端子５はスキャンクロックを入力する。スキャン選択信号入力端子２は、後述するスキャン選択外部信号を入力する。セレクタ回路１は、通常データ、スキャンインデータ及びスキャン選択外部信号を入力し、前記スキャン選択外部信号の信号が“０”のとき、通常データを出力し、前記スキャン選択外部信号が“１”のとき、スキャンインデータを出力する。記憶素子６は、スキャンクロック入力端子５が入力したスキャンクロックの立上がりに同期してセレクタ回路１の出力信号を記憶して出力する。出力端子７は、記憶素子６が出力した信号を外部に出力する。
【０００７】
図２０は、以上のように構成されたスキャンテスト回路の動作を説明するためのタイムチャート図である。図２０において、符号１２００〜１２０４は外部入力端子１１２が入力するスキャンインデータ、符号１２１０〜１２１２及び１２５０〜１２５１は通常データ線１１９の通常データ、符号１２２０〜１２２２及び１２６０〜１２６１は通常データ線１２０の通常データ、符号１２３０〜１２３２及び１２７０〜１２７１は通常データ線１２１の通常データ、符号１１９８はスキャン記憶素子１２７がスキャン動作で記憶している初期データ、符号１１９９はスキャン記憶素子１２６がスキャン動作で記憶している初期データを示す。また、符号３５０〜３５５は、イベントタイミングを示す。他の符号については、図１８の符号と一致する信号線または外部端子における信号の波形を示す。
【０００８】
以下、図１８〜図２０に基づいて、このスキャンテスト回路の動作を説明する。外部入力端子１１１が入力したスキャン選択外部信号が“０”の時、スキャン記憶素子１２５〜１２７は、通常動作モードとなり通常動作を行う。すなわち、通常の記憶素子として働く。具体的には、外部入力端子１１４が入力したテストクロックの立上がりに同期して、スキャン記憶素子１２５は通常データ線１１９の通常データを、スキャン記憶素子１２６は通常データ線１２０の通常データを、スキャン記憶素子１２７は通常データ線１２１の通常データをそれぞれ記憶し出力する。
【０００９】
外部入力端子１１１が入力したスキャン選択外部信号が“１”の時、スキャン記憶素子１２５〜１２７は、スキャンモードとなりスキャン動作を行う。すなわち、スキャン動作を行う記憶素子として働く。具体的には、外部入力端子１１４が入力したテストクロックの立上がりに同期して、スキャン記憶素子１２５は外部入力端子１１２が入力したスキャンインデータを、スキャン記憶素子１２６はスキャン記憶素子１２５の出力データを、スキャン記憶素子１２７はスキャン記憶素子１２６の出力データをそれぞれ記憶し出力する。
【００１０】
イベントタイミング３５０において、スキャン選択外部信号は“１”のため、スキャン記憶素子１２５〜１２７はスキャンモードとなる。テストクロックの立ち上がりに同期して、スキャン記憶素子１２５は外部入力端子１１２が入力したスキャンインデータ１２０１を、スキャン記憶素子１２６はスキャン記憶素子１２５の出力データ１２００を、スキャン記憶素子１２７はスキャン記憶素子１２６の出力データ１１９９をそれぞれ記憶し出力する。外部出力端子１２４はスキャン記憶素子１２７の出力データ１１９９を出力する。
【００１１】
イベントタイミング３５１においてスキャン選択外部信号は“１”のため、スキャン記憶素子１２５〜１２７はスキャンモードとなる。テストクロックの立ち上がりに同期して、スキャン記憶素子１２５は外部入力端子１１２からのスキャンインデータ１２０２を、スキャン記憶素子１２６はスキャン記憶素子１２５の出力データ１２０１を、スキャン記憶素子１２７はスキャン記憶素子１２６の出力データ１２００をそれぞれ記憶し出力する。外部出力端子１２４は、スキャン記憶素子１２７の出力データ１２００を出力する。
【００１２】
イベントタイミング３５２において、スキャン選択外部信号が“０”に遷移し、スキャン記憶素子１２５〜１２７は通常動作モードに切替る。
【００１３】
イベントタイミング３５３において、テストクロックの立ち上がりに同期して、スキャン記憶素子１２５は通常データ線１１９の通常データ１２１２を、スキャン記憶素子１２６は通常データ線１２０の通常データ１２２２を、スキャン記憶素子１２７は通常データ線１２１の通常データ１２３２をそれぞれ記憶し出力する。外部出力端子１２４は、スキャン記憶素子１２７の出力データ１２３２を出力する。
【００１４】
イベントタイミング３５４において、スキャン選択外部信号が“１”に遷移し、スキャン記憶素子１２５〜１２７はスキャンモードに切替る。
【００１５】
イベントタイミング３５５において、テストクロックの立ち上がりに同期して、スキャン記憶素子１２５は外部入力端子１１２からのスキャンインデータ１２０４を、スキャン記憶素子１２６はスキャン記憶素子１２５の出力データ１２１２を、スキャン記憶素子１２７はスキャン記憶素子１２６の出力データ１２２２をそれぞれ記憶し出力する。外部出力端子１２４はスキャン記憶素子１２７の出力データ１２２２を出力する。
【００１６】
以上の説明のように、従来のスキャンテスト回路及びスキャンテスト制御方法では、複数（ｎ＞０の整数）個のスキャン記憶素子を含むスキャンチェーンを有するスキャンテスト回路に対して、スキャン記憶素子１２５〜１２７にスキャンモードでスキャンインデータをセットし、通常動作モードで組合せ回路１１８が出力する通常データをスキャン記憶素子１２５〜１２７でそれぞれ記憶し、スキャンモードでスキャン記憶素子１２５〜１２７に記憶された通常データを、シフトインして外部出力端子１２４を介して外部に出力して（スキャンアウト）観測することにより、半導体集積回路の故障を検出していた（例えば、非特許文献１参照。）。
【非特許文献１】Ｒ．Ｇ．ベネッツ、原田章美訳、「テスタブルな論理回路の設計」
【発明の開示】
【発明が解決しようとする課題】
【００１７】
従来のスキャンテスト回路及びスキャンテスト制御方法では、半導体集積回路内のスキャン記憶素子に対して、スキャンインデータやスキャン選択信号を半導体集積回路の外から直接入力する必要があった。このため、半導体集積回路のＩ／Ｏでデータの流れる速度が律速し、その結果、通常動作速度でスキャンテストを実施することができなかった。このことから、高速な周波数を保証する半導体集積回路において、従来のスキャンテスト回路及びスキャンテスト制御方法では、周波数に依存しない縮退故障は検出することはできたが、周波数に依存する遅延故障を検出することはできなかった。
【００１８】
本発明は、上記課題を解決するためになされたもので、従来のスキャンテスト回路及びスキャンテスト制御方法のように半導体集積回路の外からシフトインデータやスキャン選択外部信号を入力する場合でも、縮退故障だけでなく遅延故障をも検出することのできるスキャンテスト回路、及びスキャンテスト制御方法を提供することを目的とする。    
【課題を解決するための手段】
【００１９】
上記目的を達成するために、本発明（請求項１）に係るスキャンテスト制御方法は、複数（ｎ＞１の整数）個のスキャン記憶素子を含むスキャンチェーンを有するスキャンテスト回路に対するスキャンテスト制御方法において、前記１個目からｎ−１個目のスキャン記憶素子にデータをシフトインするために用いる第１のクロックの周波数と、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するために用いる第２のクロックの周波数とを独立に制御することを特徴とする。
【００２０】
本発明（請求項２）に係るスキャンテスト制御方法は、請求項１記載のスキャンテスト制御方法において、前記第１のクロックの周波数と前記第２のクロックの周波数とが異なることを特徴とする。
【００２１】
本発明（請求項３）に係るスキャンテスト制御方法は、請求項１記載のスキャンテスト制御方法において、前記第２のクロックの周波数が通常動作で用いるクロック周波数であることを特徴とする。
【００２２】
本発明（請求項４）に係るスキャンテスト制御回路は、複数（ｎ＞１の整数）個のスキャン記憶素子を有するスキャンチェーンと、第１及び第２のクロックを入力して、前記第１及び第２のクロックのうちのいずれかを前記複数のスキャン記憶素子を動作させるスキャンクロックとして出力するスキャンクロック生成回路と、前記１個目からｎ−１個目のスキャン記憶素子にデータをシフトインするために用いる前記スキャンクロックとして第１のクロックを選択し、前記ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するために用いる前記スキャンクロックとして第２のクロックを選択する選択回路とを備えたことを特徴とする。
【００２３】
本発明（請求項５）に係るスキャンテスト制御回路は、請求項４記載のスキャンテスト回路において、通常動作とスキャンテスト動作とを切替えるためのスキャン選択外部信号を外部から入力し、前記第２のクロックに同期して、前記複数のスキャン記憶素子にデータをシフトインする動作と通常動作とを選択的に切替えるためのスキャン選択内部信号を生成するスキャン選択信号生成回路を有することを特徴とする。
【００２４】
本発明（請求項６）に係るスキャンテスト制御回路は、請求項５記載のスキャンテスト回路において、前記スキャン選択信号生成回路は、前記第２のクロックを任意のクロック数だけ発生させる制御信号を生成することを特徴とする。
【００２５】
本発明（請求項７）に係るスキャンテスト制御回路は、請求項６記載のスキャンテスト回路において、前記スキャン選択信号生成回路は、前記スキャンクロック生成回路が前記第２のクロックを前記スキャンクロックとして生成する第１のタイミングと、前記スキャン選択内部信号を生成する第２のタイミングとを変更することを特徴とする。
【００２６】
本発明（請求項８）に係るスキャンテスト制御回路は、請求項７記載のスキャンテスト回路において、前記スキャン選択信号生成回路は、前記第１のタイミングと、前記第２のタイミングとを任意に選択することを特徴とする。
【００２７】
本発明（請求項９）に係るスキャンテスト制御回路は、請求項８記載のスキャンテスト回路において、前記スキャンチェーンの前段に記憶素子を有することを特徴とする。
【００２８】
本発明（請求項１０）に係るスキャンテスト制御回路は、請求項９記載のスキャンテスト回路において、スキャンテストパターン生成時に、前記スキャンクロック生成回路を、前記第１のクロックを入力する端子と前記スキャンクロックを出力するための信号線とを直結する回路に置換え、前記スキャン選択信号生成回路を、前記スキャン選択外部信号を入力する端子と前記スキャン選択内部信号を出力する信号線とを直結する回路に置換え、前記記憶素子を、前記記憶素子のデータを入力する信号線とデータを出力する信号線とを直結する回路に置換えることを特徴とする。
【００２９】
本発明（請求項１１）に係るスキャンテスト制御方法は、第１及び第２のクロックに同期して動作する第１のスキャンテスト回路を有する第１のブロックと、前記第１のクロックにのみ同期する第２のスキャンテスト回路を有する第２のブロックとを備えるスキャンテスト回路に対するスキャンテスト制御方法において、前記第１のブロックにおけるスキャンテストの通常動作時刻と、前記第２のブロックにおけるスキャンテストの通常動作時刻とが異なることを特徴とする。
【００３０】
本発明（請求項１２）に係るスキャンテスト回路は、第１及び第２のクロックに同期して動作する第１のスキャンテスト回路を有する第１のブロックと、前記第１のクロックにのみ同期する第２のスキャンテスト回路を有する第２のブロックとを備えるスキャンテスト回路において、前記第１のクロックに同期する第１の複数の記憶素子と、前記第１及び第２のクロックに同期する第２の複数の記憶素子と、前記第１の複数の記憶素子と前記第２のブロックとの間の第１の経路、及び前記第２の複数の記憶素子と前記第１のブロックとの間の第２の経路のうちのいずれかを、第１のブロックから第２のブロックへデータを受け渡す経路として選択する選択回路とを、前記第１のブロックと、前記第２のブロックとの間に備えたことを特徴とする。
【００３１】
本発明（請求項１３）に係るスキャンテスト回路は、請求項１２記載のスキャンテスト回路において、前記第１の複数の記憶素子と前記第２の複数の記憶素子とは、第２のブロックに入力される信号を制御する複数の可制御用スキャン記憶素子、または第１のブロックが出力する信号を記憶する複数の観測用記憶素子であることを特徴とする。
【００３２】
本発明（請求項１４）に係るスキャンテスト回路は、請求項１３記載のスキャンテスト回路において、前記複数の観測用記憶素子を１つの観測用記憶素子で構成することを特徴とする。
【００３３】
本発明（請求項１５）に係るスキャンテスト回路は、請求項１４記載のスキャンテスト回路において、スキャンテストパターン生成時、前記選択回路を、前記第１の経路と前記第２の経路とを分割する回路に置換えることを特徴とする。
【発明の効果】
【００３４】
以上のように本発明の請求項１乃至請求項８に係るスキャンテスト制御方法及びスキャンテスト回路によれば、複数（ｎ＞１の整数）個のスキャン記憶素子を含むスキャンチェーンを有するスキャンテスト回路に対して、１個目からｎ−１個目のスキャン記憶素子にデータを外部端子よりシフトインするための第１のクロックの周波数と、ｎ個目のスキャン記憶素子にデータを外部端子よりシフトインし、かつ通常動作するための第２のクロックの周波数とを選択的に制御することにより、スキャン記憶素子に対して安定したシフトインデータの入力（スキャン動作）と通常動作との両立を実現し、半導体集積回路の縮退故障の検出のみならず遅延故障の検出も効果的に行うことができる。
【００３５】
また、本発明（請求項９）に係るスキャンテスト回路によれば、上記複数（ｎ＞１の整数）個のスキャン記憶素子を有するスキャンチェーンの前段に記憶素子を追加するようにしたので、通常動作時にスキャン記憶素子が記憶したデータと従来のスキャンテストでのそれとが同じになり、従来のスキャンテストのシフトインデータをそのままスキャンテストすることができる、また、半導体集積回路の縮退故障の検出率も従来のスキャンテストの検出率をそのまま保つことができる。
【００３６】
また、本発明の請求項１０に係るスキャンテスト回路によれば、請求項９記載のスキャンテスト回路において、スキャン制御回路及び追加した記憶素子を、別の回路にそれぞれ置換えるようにしたので、半導体集積回路の外部から入力するスキャン選択外部信号とスキャン選択内部信号とが同一の信号でなくてはならなく、かつ半導体集積回路の外部から入力するスキャンインデータとスキャン記憶素子へのスキャンインデータとが単一のクロックで同期しなければならないというスキャン設計規約があっても、そのスキャン設計規約に反することなくスキャンテストパターンを生成することができ、半導体集積回路の縮退故障の検出のみならず遅延故障の検出も効果的に行うことができる。
【００３７】
また、本発明の請求項１１乃至請求項１４に係るスキャンテスト制御方法及びスキャンテスト回路によれば、上記請求項１記載のスキャンテスト制御方法を実施する第１のブロックと従来のスキャンテストを実施する第２のブロックとの間に、可制御用のスキャン記憶素子と観測用の記憶素子とセレクタ回路とを設けるようにしたので、第１のブロックと第２のブロックとの間に所望のデータの受け渡しが可能となり、第１のブロックと第２のブロックとに対して同時にスキャンテストを行うことができ、上記第１のブロックと第２のブロックとの間の縮退故障をも検出することができる。
【００３８】
また、本発明の請求項１５に係るスキャンテスト回路によれば、上記請求項１４に係るスキャンテスト回路のセレクタ回路を別の回路に置換えるようにしたので、第１のブロックと第２のブロックの間において、第１のクロックに同期する記憶素子間の第１のパスと、スキャンクロック生成手段により生成されたスキャンクロックに同期する記憶素子間の第２のパスのそれぞれに対してスキャンテストパターンを生成して、このスキャンパターンで上記請求項１１から請求項１４のスキャンテスト制御方法及びスキャンテスト回路でのスキャンテストを実施することができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００４０】
（実施の形態１）
図１は、本発明の実施の形態１に係るスキャンテスト回路の回路構成図である。図１において、スキャンテスト回路は、外部入力端子１１〜１４と、スキャン制御回路１５と、スキャン選択内部信号線１６と、スキャンクロック信号線１７と、組合せ回路１８と、通常データ線１９〜２１と、外部出力端子２４と、複数（ｎ＞１）個のスキャン記憶素子を有するスキャンチェーンとを備える。図１に示すスキャンテスト回路は、３（ｎ＝３）個のスキャン記憶素子、スキャン記憶素子２５〜２７を備える。さらに、スキャン記憶素子２５の出力データ線２２と、スキャン記憶素子２６の出力データ線２３とを備える。
【００４１】
外部入力端子１１はスキャン選択外部信号を入力する。外部入力端子１２はスキャンインデータを入力する。外部入力端子１３は通常動作クロックを入力する。外部入力端子１４はテストクロックを入力する。スキャン制御回路１５は、外部入力端子１１からスキャン選択外部信号を、外部入力端子１３から通常動作クロックを、外部入力端子１４からテストクロックを入力し、スキャン記憶素子における通常動作モードとスキャンモードとを切替えるためのスキャン選択内部信号と、スキャン記憶素子の動作クロックであるスキャンクロックを生成する。そして、スキャン選択内部信号をスキャン選択内部信号線１６に、スキャンクロックをスキャンクロック信号線１７に出力する。スキャン記憶素子２５〜２７は、スキャン制御回路１５より生成されたスキャンクロックの立上がりに同期してデータを記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データを外部に出力する。組合せ回路１８は、出力データ線２２〜２３からのデータを入力とし、通常データ線１９〜２１にデータを出力する。図１に示すスキャンテスト回路では、組み合わせ回路１８をテストする。
【００４２】
図２は、図１に示すスキャン制御回路１５の具体例を示す回路構成図である。図１と同一のものには同じ符号を付してある。図２において、スキャン制御回路１５は、スキャン選択内部信号生成回路３１と、通常動作クロックマスク信号線３２と、出力信号線４２と、スキャンクロック生成回路３３とを備える。
【００４３】
スキャン選択内部信号生成回路３１は、外部入力端子１１からスキャン選択外部信号を、外部入力端子１３から通常動作クロックを、外部入力端子１４からテストクロックを入力して、スキャン選択内部信号と通常動作クロックマスク信号とを生成する。そして、スキャン選択内部信号をスキャン選択内部信号線１６と出力信号線４２とに、通常動作クロックマスク信号を通常動作クロックマスク信号線３２に出力する。スキャンクロック生成回路３３は、外部入力端子１１からスキャン選択外部信号を、外部入力端子１３から通常動作クロックを、外部入力端子１４からテストクロックを、通常動作クロックマスク信号線３２から通常動作クロックマスク信号を、出力信号線４２からスキャン内部選択信号を入力して、スキャン記憶素子２５〜２７の動作クロックとしてスキャンクロックを生成し、スキャンクロック信号線１７に出力する。
【００４４】
図３は、図２に示すスキャン選択内部信号生成回路３１の具体例を示す回路構成図である。図２と同一のものには同じ符号を付してある。図３において、スキャン選択内部信号生成回路３１は、記憶素子４１と、記憶素子４１の出力信号線４２と、インバータ回路４４と、インバータ回路４４の出力信号線４３、ｍ（ｍ＞０の整数）段のシフトレジスタ４５と、ｍ（ｍ＞０の整数）＋２段のシフトレジスタ４６と、ｍ段のシフトレジスタ４５の出力信号線４７と、ｍ＋２段のシフトレジスタ４６の出力信号線４８と、ＥＸＮＯＲ回路４９と、ラッチ回路５０と、ＥＸＮＯＲ回路４９の出力信号線５２と、通常動作マスク信号線３２と、記憶素子５１と、記憶素子５１の出力信号線５３と、ＯＲ回路５４とを備える。
【００４５】
記憶素子４１は、外部入力端子１４が入力したテストクロックの立上がりに同期して、外部入力端子１１が入力したスキャン選択外部信号を記憶し出力する。ｍ段のシフトレジスタ４５は、外部入力端子１３が入力した通常動作クロックの立ち上がりに同期して出力信号線４２の信号を記憶する。ｍ＋２段のシフトレジスタ４６は、外部入力端子１３が入力した通常動作クロックの立ち上がりに同期して出力信号線４３の信号を記憶する。ＥＸＮＯＲ回路４９は、出力信号線４７及び出力信号線４８の信号が一致した時に信号“１”を出力し不一致の時に信号“０”を出力する。ラッチ回路５０は、外部入力端子１３が入力した通常動作クロックの立下り時には、出力信号線５２の信号をそのまま出力し、通常動作クロックの立上がり時には出力信号線５２の信号を記憶する。通常動作マスク信号線３２はラッチ回路５０の出力信号を通常動作マスク信号として出力するための信号線である。記憶素子５１は、外部入力端子１３が入力した通常動作クロックの立下りエッジに同期して通常動作マスク信号線３２の信号の論理値を反転させた信号を記憶する。ＯＲ回路５４は、出力信号線４７の信号と、出力信号線５３の信号とを入力とし、スキャン選択内部信号線１６に出力する。
【００４６】
図４は、図２に示すスキャンクロック生成回路３３の具体例を示す回路構成図である。図２及び図３と同一のものには同じ符号を付してある。図４において、スキャンクロック生成回路３３は、ＡＮＤ回路６１及び６３と、ＡＮＤ回路６１の出力信号線６２と、ＡＮＤ回路６３の出力信号線６４と、セレクタ回路６５とを備える。
【００４７】
ＡＮＤ回路６１は、外部入力端子１３から通常動作クロックを、通常動作マスク信号線３２から通常動作マスク信号を入力し、通常動作クロックを出力する。ＡＮＤ回路６３は、外部入力端子１４からテストクロックを、外部入力端子１１からスキャン選択外部信号を入力し、テストクロックを出力する。セレクタ回路６５は、出力信号線４２から入力する信号が“０”のとき、出力信号線６２から入力する通常動作クロックをスキャンクロック信号線１７に、出力信号線４２から入力する信号が“１”のとき、出力信号線６４から入力するテストクロックをスキャンクロック信号線１７に、スキャンクロックとして出力する。
【００４８】
図５は、図３に示すｍ段のシフトレジスタの具体例を示す回路構成図である。図３と同一のものには同じ符号を付してある。図５において、ｍ段のシフトレジスタ４５は、外部入力端子１３が入力した通常動作クロックの立上がりに同期して出力信号線４２の信号を記憶し出力信号線４７に出力する記憶素子７０を備える。
【００４９】
図６は、図３に示すｍ＋２段のシフトレジスタの具体例を示す回路構成図である。図３と同一のものには同じ符号を付してある。図６において、ｍ＋２段のシフトレジスタ４６は、記憶素子７１〜７３を備える。記憶素子７１は、外部入力端子１３が入力した通常動作クロックの立ち上がりに同期して出力信号線４３の信号を記憶して出力する。記憶素子７２は、通常動作クロックの立ち上がりに同期して記憶素子７１の出力信号を記憶して出力する。記憶素子７３は、通常動作クロックの立ち上がりに同期して記憶素子７２の出力信号を記憶し出力信号線４８に出力する。
【００５０】
図７は、以上のように構成されたスキャンテスト回路の動作を説明するためのタイムチャート図である。図７において、符号２００〜２０４は外部入力端子１２が入力するスキャンインデータ、符号２１０〜２１５は通常データ線１９の通常データ、符号２２０〜２２５は通常データ線２０の通常データ、符号２３０〜２３５は通常データ線２１の通常データ、符号１９８はスキャン記憶素子２７がスキャン動作で記憶している初期データ、１９９はスキャン記憶素子２６がスキャン動作で記憶している初期データを示す。また、符号３００〜３１３は、符号イベントタイミングを示す。他の符号については、図１〜図６の符号と一致する信号線または外部端子における信号の波形を示す。
【００５１】
以下、図１〜図７に基づいて、このスキャンテスト回路の動作を説明する。外部入力端子１３が入力する通常動作クロックは、外部入力端子１４が入力するテストクロックの６逓倍であるとする。また、ｍ＝１とし、記憶素子４１、５１、７０は“１”を、記憶素子７１、７２、７３、ラッチ回路５０には“０”をそれぞれ初期値として記憶しているものとする。
【００５２】
スキャン選択内部信号線１６の信号が“０”の時、スキャン記憶素子２５〜２７は、通常動作モードとなり通常動作を行う。すなわち、通常の記憶素子として働く。具体的には、スキャンクロック信号線１７から入力するスキャンクロックの立上がりに同期して、スキャン記憶素子２５は通常データ線１９の通常データを、スキャン記憶素子２６は通常データ線２０の通常データを、スキャン記憶素子２７は通常データ線２１の通常データをそれぞれ記憶し出力する。
【００５３】
スキャン選択内部信号線１６の信号が“１”の時、スキャン記憶素子２５〜２７は、スキャンモードとなりスキャン動作を行う。すなわち、記憶素子として働く。具体的には、スキャンクロック信号線１７から入力するスキャンクロックの立上がりに同期して、スキャン記憶素子２５は外部入力端子１２からのスキャンインデータを、スキャン記憶素子２６はスキャン記憶素子２５の出力データを、スキャン記憶素子２７はスキャン記憶素子２６の出力データをそれぞれ記憶し出力する。
【００５４】
イベントタイミング３００において、記憶素子４１は、テストクロックの立ち上がりに同期してスキャン選択外部信号“１”を記憶し出力信号線４２に出力する。しかし、記憶素子４１が記憶している初期値は変わらない。このとき、セレクタ回路６５は、出力信号線４２の信号が“１”であることから、出力信号線６４を選択し、かつＡＮＤ回路６３は、スキャン選択外部信号が“１”を維持しているため、テストクロックを出力信号線６４に出力する。よって、スキャンクロック信号線１７から出力される信号はテストクロックとなる。
【００５５】
また、記憶素子５１、記憶素子７０〜７３、ラッチ回路５０が記憶している初期値も記憶素子４１と同様に変わらない。よって、スキャン選択信号線１６のスキャン選択内部信号は“１”を維持するため、スキャン記憶素子２５〜２７はスキャンモードとなる。テストクロックの立ち上がりに同期して、スキャン記憶素子２５は外部入力端子１２からのスキャンインデータ２０１を、スキャン記憶素子２６はスキャン記憶素子２５の出力データ２００を、スキャン記憶素子２７はスキャン記憶素子２６の出力データ１９９をそれぞれ記憶し出力する。外部出力端子２４は、スキャン記憶素子２７の出力データ１９９を出力する。つまり、イベントタイミング３００におけるスキャン動作は、テストクロックを用いてスキャンイン・スキャンアウトする動作になる。
【００５６】
イベントタイミング３０１において、イベントタイミング３００と同様、スキャン選択外部信号は“１”を維持しているため、スキャンクロック信号線１７の信号はテストクロックとなる。また、スキャン選択信号線１６は“１”を維持するため、スキャン記憶素子２５〜２７はスキャンモードとなる。テストクロックの立ち上がりに同期して、スキャン記憶素子２５は外部入力端子１２からのスキャンインデータ２０２を、スキャン記憶素子２６はスキャン記憶素子２５の出力データ２０１を、スキャン記憶素子２７はスキャン記憶素子２６の出力データ２００をそれぞれ記憶し出力する。外部出力端子２４は、スキャン記憶素子２７の出力データ２００を出力する。つまり、イベントタイミング３０１におけるスキャン動作は、テストクロックを用いてスキャンイン・スキャンアウトする動作になる。
【００５７】
イベントタイミング３０２において、スキャン選択外部信号は“０”に遷移する。そのためＡＮＤ回路６３は信号“０”を出力信号線６４に出力し、セレクタ回路６５を介してスキャンクロック信号線１７から出力されるスキャンクロックを“０”に維持する。
【００５８】
イベントタイミング３０３において、記憶素子４１は、テストクロックの立ち上がりに同期して、スキャン選択外部信号“０”を記憶し出力信号線４２に出力する。また、インバータ回路４４は、記憶素子４１の出力信号“０”を入力し出力信号線４３に信号“１”を出力する。セレクタ回路６５は、出力信号線４２からの信号が“０”であることから出力信号線６２を選択し、通常動作クロックをスキャンクロック信号線１７に出力する。このとき、通常動作クロックマスク信号線３２からの信号は“０”であるため、ＡＮＤ回路６１は通常動作クロックをマスクする。このため、出力信号線６２の信号は“０”となる。よって、スキャンクロック信号線１７のスキャンクロックは“０”のままである。
【００５９】
イベントタイミング３０４において、ｍ段シフトレジスタ４５の記憶素子７０は、通常動作クロックの立ち上がりに同期して、記憶素子４１の出力信号“０”を記憶し出力する。また、通常動作クロックの立ち上がりに同期して、ｍ＋２段のシフトレジスタ４６の記憶素子７１は、出力信号線４３の信号“１”を記憶して出力し、記憶素子７２は、記憶素子７１の出力信号“０”を記憶して出力し、記憶素子７３は、記憶素子７２の出力信号“０”を記憶し出力する。そして、ＥＸＮＯＲ回路４９は、出力信号線４７の信号“０”と出力信号線４８の信号“０”を入力して、出力信号線５２に信号“１”を出力する。
【００６０】
イベントタイミング３０５において、記憶素子５１は、通常動作クロックの立ち下がりに同期して、ラッチ回路５０の出力信号“０”の反転値“１”を記憶し出力する。このとき出力信号線４７の信号は“０”であるため、ＯＲ回路５４は、記憶素子５１の出力信号“１”をスキャン選択内部信号線１６に出力する。しかしスキャン選択内部信号線１６のスキャン選択内部信号の値は変わらない。一方、ラッチ回路５０は、通常動作クロックの立ち下がり時、出力信号線５２の信号“１”を通常動作クロックマスク信号線３２に出力する。これにより、ＡＮＤ回路６１は通常動作クロックを出力信号線６２に出力し、セレクタ回路６５は出力信号線６２の信号をスキャンクロック信号線１７に出力する。このため、スキャンクロック信号線１７のスキャンクロックは通常動作クロックとなる。
【００６１】
イベントタイミング３０６において、ｍ段シフトレジスタ４５の記憶素子７０は、通常動作クロックの立ち上がりに同期して、記憶素子４１の出力信号“０”を記憶し出力信号線４７に出力するが記憶している値は変わらない。また、通常動作クロックの立ち上がりに同期して、ｍ＋２段シフトレジスタ４６の記憶素子７１は出力信号線４３の信号“１”を記憶して出力し、記憶素子７２は記憶素子７１の出力信号“１”を記憶して出力し、記憶素子７３は記憶素子７２の出力信号“０”を記憶し出力する。そして、ＥＸＮＯＲ回路４９は、出力信号線４７の信号“０”と出力信号線４８の信号“０”を入力して、出力信号線５２に信号“１”を出力するが記憶している値は変わらない。一方、スキャン選択内部信号線１６の信号が“１”を維持しているため、スキャンクロック信号線１７から入力した通常動作クロックの立ち上がりに同期して、スキャン記憶素子２５は外部入力端子１２からのスキャンインデータ２０３を記憶して出力し、スキャン記憶素子２６はスキャン記憶素子２５の出力データ２０２を記憶して出力し、スキャン記憶素子２７はスキャン記憶素子２６の出力データ２０１を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２０１を出力する。つまり、イベントタイミング３０６における最後のスキャン動作は、通常動作クロックを用いてスキャンイン・スキャンアウトする動作になる。
【００６２】
イベントタイミング３０７において、記憶素子５１は、通常動作クロックの立ち下がりに同期して、ラッチ回路５０の出力信号“１”の反転値“０”を記憶し出力する。このとき出力信号線４７の信号は“０”であるため、ＯＲ回路５４は、記憶素子５１の出力信号“０”をスキャン選択内部信号線１６に出力する。すなわち、スキャン内部選択信号は“０”になる。このため、スキャン記憶素子２５〜２７は、スキャンモードから通常動作モードに切替る。
【００６３】
イベントタイミング３０８において、スキャン選択外部信号は“１”に遷移する。そのため、ＡＮＤ回路６３はテストクロックを出力信号線６４に出力するが、セレクタ回路６５は、出力信号線６２を選択しているため、スキャンクロック信号線１７から出力されるスキャンクロックには影響しない。一方、ｍ段シフトレジスタ４５の記憶素子７０は、通常動作クロックの立ち上がりに同期して、記憶素子４１の出力信号“０”を記憶し出力する。また、通常動作クロックの立ち上がりに同期して、ｍ＋２段シフトレジスタ４６の記憶素子７１は、出力信号線４３の信号“１”を記憶して出力し、記憶素子７２は記憶素子７１の出力信号“１”を記憶して出力し、記憶素子７３は記憶素子７２の出力信号“１”を記憶し出力する。そして、ＥＸＮＯＲ回路４９は、出力信号線４７の信号“０”と出力信号線４８の信号“１”を入力して、出力信号線５２に信号“０”を出力する。通常動作モードに切替ったスキャン記憶素子２５〜２７は、通常動作クロックの立ち上がりに同期して、スキャン記憶素子２５は通常データ線１９の通常データ２１３を記憶して出力し、スキャン記憶素子２６は通常データ線２０の通常データ２２３を記憶して出力し、スキャン記憶素子２７は通常データ線２１の通常データ２３３を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２３３を出力する。つまり、イベントタイミング３０８における通常動作は、通常動作クロックを用いて行われる。
【００６４】
イベントタイミング３０９において、記憶素子５１は、通常動作クロックの立ち下がりに同期して、ラッチ回路５０の出力信号“１”の反転値“０”を記憶し出力する。このとき出力信号線４７の信号は“０”であるため、ＯＲ回路５４は、記憶素子５１の出力信号“０”をスキャン選択内部信号線１６に出力する。しかしスキャン選択内部信号線１６の信号の値は変わらない。一方、ラッチ回路５０は、通常動作クロックの立ち下がり時、出力信号線５２の信号“０”を通常動作クロックマスク信号線３２に出力する。ＡＮＤ回路６１は、信号“０”を出力信号線６２に出力し、通常動作クロックをマスクする。
【００６５】
イベントタイミング３１０において、記憶素子５１は、通常動作クロックの立ち下がりに同期して、ラッチ回路５０の出力信号“０”の反転値“１”を記憶し出力する。このとき出力信号線４７の信号は“０”であるため、ＯＲ回路５４は、記憶素子５１の出力信号“１”をスキャン選択内部信号線１６に出力する。このため、スキャン記憶素子２５〜２７は通常動作モードからスキャンモードに切替る。一方、ラッチ回路５０は、通常動作クロックの立ち下がり時、出力信号線５２の信号“０”を通常動作クロックマスク信号線３２に出力するが通常動作クロックマスク信号線３２の信号の値は変わらない。
【００６６】
イベントタイミング３１１において、記憶素子４１は、テストクロックの立ち上がりに同期して、スキャン選択外部信号“１”を記憶し出力信号線４２に出力する。また、インバータ回路４４は、記憶素子４１の出力信号“１”を入力し、出力信号線４３に信号“０”を出力する。セレクタ回路６５は、出力信号線４２の信号が“１”であるため出力信号線６４からの信号を選択してスキャンクロック信号線１７に出力する。このとき、ＡＮＤ回路６３は、スキャン選択外部信号が“１”であることからテストクロックを出力信号線６４に出力する。よって、スキャンクロック信号線１７のスキャンクロックはテストクロックになる。テストクロックの立ち上がりに同期して、スキャン記憶素子２５は外部入力端子１２からのスキャンインデータ２０４を、スキャン記憶素子２６はスキャン記憶素子２５の出力データ２１３を、スキャン記憶素子２７はスキャン記憶素子２６の出力データ２２３をそれぞれ記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２２３を出力する。つまり、イベントタイミング３１１におけるスキャン動作は、テストクロックを用いてスキャンイン・スキャンアウトする動作になる。
【００６７】
イベントタイミング３１２において、ｍ段シフトレジスタ４５の記憶素子７０は、通常動作クロックの立ち上がりに同期して、記憶素子４１の出力信号“１”を記憶し出力信号線４２に出力する。また、通常動作クロックの立ち上がりに同期して、ｍ＋２段シフトレジスタ４６の記憶素子７１は、出力信号線４３の信号“０”を記憶して出力し、記憶素子７２は記憶素子７１の出力信号“１”を記憶して出力し、記憶素子７３は記憶素子７２の出力信号“１”を記憶し出力する。そして、ＥＸＮＯＲ回路４９は、出力信号線４７の信号“１”と出力信号線４８の信号“１”を入力して、出力信号線５２に信号“１”を出力する。
【００６８】
イベントタイミング３１３において、記憶素子５１は、通常動作クロックの立ち下がりに同期して、ラッチ回路５０の出力信号“０”の反転値“１”を記憶し出力する。このとき、出力信号線４７の信号は“１”であるため、ＯＲ回路５４は、記憶素子５１の出力信号“１”をスキャン選択内部信号線１６に出力する。その結果、スキャン選択内部信号線１６の信号の値は変わらずスキャン記憶素子２５〜２７はスキャンモードを維持する。一方、ラッチ回路５０は、通常動作クロックの立ち下がり時、出力信号線５２の信号“１”を通常動作クロックマスク信号線３２に出力する。よって、ＡＮＤ回路６１は通常動作クロックを出力信号線６２に出力する。しかし、セレクタ回路６５は、出力信号線４２の信号が “１”に維持されているため出力信号線６４からの信号を選択しスキャンクロック信号線１７に出力する。よって、スキャンクロック信号線１７から出力されるスキャンクロックはテストクロックのままである。
【００６９】
以上説明してきた動作について、図８に示すフローを参照して、本発明の実施形態を用いた検査系列生成の処理動作の概略を説明する。
【００７０】
（１）ステップ８００〜８０２での処理
まず、本実施の形態１に係るスキャンテスト回路は、外部入力端子１４がテストクロックを、外部入力端子１３が通常動作クロックを、外部入力端子１１がスキャン選択外部信号を入力する。スキャン制御回路１５は、スキャンクロック信号線１７のスキャンクロックをテストクロックにし、またスキャン選択外部信号からスキャン選択内部信号線１６のスキャン選択内部信号を生成してｎ（ｎ＝３）個のスキャン記憶素子２５〜２７をスキャンモードにする。
【００７１】
（２）ステップ８０３での処理
ｎ（ｎ＝３）−１個目のスキャン記憶素子２６にスキャンインデータが記憶されているかどうかを判定する。図７において、イベントタイミング３００では、まだスキャン記憶素子２６にスキャンインデータ２０１が記憶されていないため判定はＮＯとなり、ステップ８０４に進む。
【００７２】
（３）ステップ８０４での処理
スキャン記憶素子２５〜２６は、テストクロックの立ち上がりに同期して外部入力端子１２が入力したスキャンインデータを記憶し出力する。
【００７３】
（４）ステップ８０３での処理
ｎ（ｎ＝３）−１個目のスキャン記憶素子２６にスキャンインデータが記憶されているかどうかを判断する。図７において、イベントタイミング３０１では、スキャン記憶素子２６にスキャンインデータ２０１が記憶されているため判定はＹＥＳとなり、ステップ８０５に進む。
【００７４】
（５）ステップ８０５での処理
図７において、イベントタイミング３０２で、スキャン選択外部信号が通常動作モードに切替わる。しかし、スキャン制御回路１５は、スキャン選択内部信号線１６のスキャン選択内部信号を現状のスキャンモードを維持させる。よって、ｎ（ｎ＝３）個のスキャン記憶素子２５〜２７はスキャンモードのままである。
【００７５】
（６）ステップ８０６での処理
図７において、イベントタイミング３０３で、スキャン制御回路１５はスキャンクロック信号線１７のスキャンクロックを通常動作クロックに切替える。しかし、スキャン制御回路１５は、通常動作クロックをマスクしてｎ（ｎ＝３）個のスキャン記憶素子２５〜２７にクロックが入らないようにする。
【００７６】
（７）ステップ８０７での処理
スキャン制御回路１５は、通常動作クロックのマスクを外し、図７において、イベントタイミング３０６で、ｎ（ｎ＝３）個のスキャン記憶素子２５〜２７は、通常動作クロックに同期して外部入力端子１２からのスキャンインデータを記憶し出力する。
【００７７】
（８）ステップ８０８での処理
図７において、イベントタイミング３０７で、スキャン制御回路１５は、スキャン選択内部信号線１６のスキャン選択内部信号を通常動作モードに切替える。
【００７８】
（９）ステップ８０９での処理
図７において、イベントタイミング３０８で、ｎ（ｎ＝３）個のスキャン記憶素子２５〜２７は、通常動作クロックに同期して通常データを記憶し出力する。このときスキャン選択外部信号はスキャンモードに切替わるが、スキャン制御回路１５は、スキャン選択内部信号線１６のスキャン選択内部信号を通常動作モードに維持させる。
【００７９】
（１０）ステップ８１０での処理
図７において、イベントタイミング３１０で、スキャン制御回路１５は、スキャン選択内部信号線１６のスキャン選択内部信号をスキャンモードに切替える。また、イベントタイミング３１１で、スキャンクロック信号線１７のスキャンクロックをテストクロックに切替える。
【００８０】
（１１）ステップ８１１での処理
ここでは終了の判定を行う。テストすべきスキャンインデータがまだ残っている場合、判定はＮＯとなり、ステップ８０３に進み、以上説明してきた処理を繰り返す。テストすべきスキャンインデータが残っていない場合、判定はＹＥＳとなり、ステップ８１２に進む。
【００８１】
（１２）ステップ８１２での処理
ステップ８０９でｎ（ｎ＝３）個のスキャン記憶素子２５〜２７が記憶した通常データの全てをテストクロックに同期して外部出力端子２４に出力して終了する。
【００８２】
以上のように本発明の実施の形態１によれば、複数（ｎ＞１の整数）個のスキャン記憶素子を含むスキャンチェーンを有し、１個目からｎ−１個目のスキャン記憶素子にデータをシフトインするための第１のクロックの周波数と、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するための第２のクロックの周波数とを独立に制御することにより、スキャン記憶素子に対して安定したシフトインデータの入力（スキャン動作）と、通常動作との両立を実現し、縮退故障の検出のみならず、遅延故障の検出をも効果的に行うことができる。
【００８３】
（実施の形態２）
上記実施の形態１で説明したスキャンテストでは、従来のスキャンテストと比較してスキャン動作が１回多くなる。従来のスキャンテストのタイミングチャート（図２０）と、実施の形態１に係るスキャンテストのタイミングチャート（図７）とを比較すれば明らかであるが、従来のスキャンテストでは、図２０において、イベントタイミング３５１でスキャン記憶素子１２５〜１２７は最後のスキャン動作を行い、外部入力端子１１１のスキャン選択外部信号が“０”に切替った後のイベントタイミング３５３で、スキャン記憶素子１２５〜１２７は通常動作を行う。しかしながら、実施の形態１に係るスキャンテストでは、図７において、イベントタイミング３０１でスキャン記憶素子２５〜２７は最後から２番目のスキャン動作、ずなわち、ｎ−１番目のスキャン動作を行い、外部入力端子１１のスキャン選択外部信号が“０”に切替った後のイベントタイミング３５３では、まだスキャン記憶素子２５〜２７は最後のスキャン動作、すなわちｎ番目のスキャン動作を行わない。スキャン記憶素子２５〜２７が最後のスキャン動作を行うのは、イベントタイミング３０６である。つまり、従来のスキャンテストで用いたシフトインデータをそのまま実施の形態１に係るスキャンテストに適用すると、スキャン動作が１回多くなるため、通常動作時に、スキャン記憶素子２５〜２７が記憶したデータが、従来のスキャンテストにおいてスキャン記憶素子１２５〜１２７が記憶したデータと異なってしまう。そこで本実施の形態２では、通常動作時にスキャン記憶素子２５〜２７が記憶するデータが従来のスキャンテストにおいてスキャン記憶素子１２５〜１２７が記憶したデータと同じになるように、スキャン記憶素子２５〜２７のスキャンチェーンに所要の回路を付加する。
【００８４】
図１０は、本実施の形態２に係るスキャンテスト回路の回路構成図である。図１０において、図１と同一のものには同じ符号を付してある。図１０において、本実施の形態２に係るスキャンテスト回路は、記憶素子２８と、記憶素子２８の出力信号線２９とを新たに追加する。その他の回路構成については、実施の形態１に係るスキャンテスト回路と同様である。
【００８５】
図１１は、以上のように構成されたスキャンテスト回路の動作を説明するためのタイムチャート図である。図７と同一のものには同じ符号を付してある。符号４００〜４０３は通常データ線１９の通常データ、符号４１０〜４１３は通常データ線２０の通常データ、符号４２０〜４２３は通常データ線２１の通常データ、符号１８０はスキャン記憶素子２５がスキャン動作で記憶している初期データを示す。また、符号３６０〜３６４はイベントタイミングを示す。他の符号については、図１〜図６及び図１０の符号と一致する信号線または外部端子における信号の波形を示す。
【００８６】
以下、図１０及び図１１に基づいて、このスキャンテスト回路の動作を、記憶素子２８及びスキャン記憶素子２５〜２７のデータについてのみ説明する。その他の動作については実施の形態１と同様であるため、説明を省略する。
【００８７】
イベントタイミング３６０において、記憶素子２８は、テストクロックの立上がりに同期して外部入力端子１２が入力したスキャンインデータ２０１を記憶し出力する。このタイミングでスキャン記憶素子２５〜２７はスキャンモードであることから、スキャン記憶素子２５は、テストクロックの立上がりに同期して記憶素子２８の出力データ２００を記憶し出力する。スキャン記憶素子２６は、テストクロックの立上がりに同期してスキャン記憶素子２５の出力データ１８０を記憶し出力する。スキャン記憶素子２７は、テストクロックの立上がりに同期してスキャン記憶素子２６の出力データ１９９を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ１９９を出力する。
【００８８】
イベントタイミング３６１において、記憶素子２８は、テストクロックの立上がりに同期して、外部入力端子１２からのスキャンインデータ２０２を記憶し出力する。このタイミングでスキャン記憶素子２５〜２７はスキャンモードであることから、スキャン記憶素子２５は、テストクロックの立上がりに同期して記憶素子２８の出力データ２０１を記憶し出力する。スキャン記憶素子２６は、テストクロックの立上がりに同期してスキャン記憶素子２５の出力データ２００を記憶し出力する。スキャン記憶素子２７は、テストクロックの立上がりに同期してスキャン記憶素子２６の出力データ１８０を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ１８０を出力する。
【００８９】
イベントタイミング３６２において、記憶素子２８は、通常動作クロックの立上がりに同期してスキャンインデータ２０３を記憶し出力する。このタイミングでスキャン記憶素子２５〜２７はスキャンモードであることから、スキャン記憶素子２５は、通常動作クロックの立上がりに同期して記憶素子２８の出力データ２０２を記憶し出力する。スキャン記憶素子２６は、通常動作クロックの立上がりに同期してスキャン記憶素子２５の出力データ２０１を記憶し出力する。スキャン記憶素子２７は、通常動作クロックの立上がりに同期してスキャン記憶素子２６の出力データ２００を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２００を出力する。このとき、スキャン記憶素子２５〜２７は、従来のスキャンテストの図２０におけるイベントタイミング３５１と同じデータを記憶しているため、通常データ線１９〜２１の通常データも、図２０におけるイベントタイミング３５１と同じ通常データとなる。つまり、通常データ線１９の通常データはデータ２１２に、通常データ線２０の通常データはデータ２２２に、通常データ線２１の通常データはデータ２３２になる。
【００９０】
イベントタイミング３６３において、記憶素子２８は、通常動作クロックの立上がりに同期してスキャンインデータ２０３を記憶し出力する。このタイミングでスキャン記憶素子２５〜２７は通常動作であることから、スキャン記憶素子２５は、通常動作クロックの立上がりに同期して通常データ線１９の通常データ２１２を記憶し出力する。スキャン記憶素子２６は、通常動作クロックの立上がりに同期して通常データ線２０の通常データ２２２を記憶し出力する。スキャン記憶素子２７は、通常動作クロックの立上がりに同期して通常データ線２１の通常データ２３２を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２３２を出力する。
【００９１】
イベントタイミング３６４において、記憶素子２８は、外部入力端子１４が入力したテストクロックの立上がりに同期して外部入力端子１２が入力したスキャンインデータ２０４を記憶し出力する。このタイミングでスキャン記憶素子２５〜２７はスキャンモードであることから、スキャン記憶素子２５は、テストクロックの立上がりに同期して記憶素子２８の出力データ２０３を記憶し出力する。スキャン記憶素子２６は、テストクロックの立上がりに同期してスキャン記憶素子２５の出力データ２１２を記憶し出力する。スキャン記憶素子２７は、テストクロックの立上がりに同期してスキャン記憶素子２６の出力データ２２２を記憶し出力する。外部出力端子２４はスキャン記憶素子２７の出力データ２２２を出力する。
【００９２】
以上のように本発明の実施の形態２に係るスキャンテスト回路及びスキャンテスト制御方法によれば、実施の形態１の効果に加えて、以下に示す効果が得られる。すなわち、ｎ個のスキャン記憶素子を有するスキャンチェーンの前段に記憶素子を設けるようにしたので、通常動作時にスキャン記憶素子が記憶したデータが従来のスキャンテストでのそれと同じになり、従来のスキャンテストで用いたシフトインデータをそのままスキャンテストすることができる。また、半導体集積回路の縮退故障の検出率を従来のスキャンテストと同じ検出率に保つことができる。
【００９３】
（実施の形態３）
本実施の形態２に係るスキャンテスト回路では、通常動作時にスキャン記憶素子が記憶したデータと従来のスキャンテストでのそれと同じになるため、従来のスキャンテストのシフトインデータをそのままスキャンテストすることが可能である。しかしながら、スキャンテストパターンを生成する際、半導体集積回路の外部から入力するスキャン選択外部信号とスキャン選択内部信号とが同一の信号でなくてはならず、かつ半導体集積回路の外部から入力するスキャンインデータとスキャン記憶素子へのスキャンインデータとが単一のクロックで同期しなければならないというスキャン設計規約がある場合、実施の形態２に係るスキャンテスト回路ではそのスキャン設計規約に反してしまう。そこで本実施の形態３に係るスキャンテスト回路では、スキャンテストパターン生成時にスキャン制御回路１５及び記憶素子２８を別の回路に置換えて、従来のスキャンテスト回路と同等の回路構成にすることによって前述のスキャン設計規約に反さないようにする。
【００９４】
図１２は、本発明の実施の形態３に係るスキャンテスト回路の回路構成図である。このスキャンテスト回路は、スキャンテストパターンを生成するための回路である。図１０と同一のものには同じ符号を付してある。図１２において、スキャンテスト回路は、図１０に示すスキャン制御回路１５に代えて、スキャン選択外部信号を入力する外部入力端子１１をスキャン選択内部信号線１６に直接接続するとともに、テストクロックを入力する外部入力端子１４をスキャンクロック信号線１７に直接接続する置換え回路８０と、図１０の記憶素子２８に代えて、スキャンインデータを入力する外部入力端子１２を記憶素子２８の出力信号線２９に直接接続する置換え回路８１とを備える。その他の回路構成については、実施の形態２と同様である。
【００９５】
以上のような回路構成をとることにより、図１８に示す従来のスキャンテスト回路と同等の回路構成となり、前述のスキャン設計規約を満足することができる。よって、実施の形態３に係るスキャンテスト回路で生成したスキャンテストパターンを実施の形態２で説明したスキャンテストで適用することにより、前述したスキャン設計規約の反することなく、実施の形態２で説明したスキャンテスト動作が可能となる。
【００９６】
（実施の形態４）
本発明に係るスキャンテストと、従来で説明したスキャンテストを、同じ半導体集積回路で行うことも考えられる。例えば、半導体集積回路内の第１のブロックは実施の形態２で説明したスキャンテストを実施し、第２のブロックは従来のスキャンテストを実施する場合が考えられる。しかし、この場合、通常動作時において、第１のブロックから第２のブロックへの意図したデータの受け渡しがうまく行われないという課題がある。
【００９７】
この課題を説明するために、半導体集積回路内の第１のブロックは実施の形態２に係るスキャンテストを実施し、第２のブロックは従来のスキャンテストを実施するスキャンテスト回路を図１３に示す。図１３において、図１０及び図１８と同一のものには同じ符号を付してある。
【００９８】
図１３において、組合せ回路１５８は、スキャン記憶素子２６の出力データ線２３からデータを入力し通常データ線１１９にデータを出力する。その他の回路構成について、第１のブロックは図１０と同様で、第２のブロックは通常データ線１１９が組合せ回路１５８に接続されること以外は図１８と同様である。
【００９９】
図１４は、以上のように構成されたスキャンテスト回路の動作を説明するためのタイムチャートである。図１３と同一のものには同じ符号を付してある。符号７００は、スキャン記憶素子１２７がスキャン動作で記憶している初期データ、符号７０１は、スキャン記憶素子１２６がスキャン動作で記憶している初期データ、符号７０２〜７０６は、外部入力端子１１２が入力するスキャンインデータ、符号７０８〜７１３は通常データ線１１９の通常データ、符号７５１はスキャン記憶素子１２６が通常動作で記憶するデータ、符号７５２はスキャン記憶素子１２７が通常動作で記憶するデータ、符号７２０は、スキャン記憶素子２７がスキャン動作で記憶している初期データ、７２１は、スキャン記憶素子２６がスキャン動作で記憶している初期データ、符号７２２は、スキャン記憶素子２５がスキャン動作で記憶している初期データ、符号７２３〜７２７は外部入力端子１２が入力するスキャンインデータ、符号７３０はスキャン記憶素子２５が通常動作で記憶するデータ、符号７３５は、スキャン記憶素子２６が通常動作で記憶するデータ、７３６は、スキャン記憶素子２７が通常動作で記憶するデータ、３７０〜３７１はイベントタイミングを示す。他の符号については、図１３の符号と一致する信号線または外部端子における信号の波形を示す。
【０１００】
以下、図１３及び図１４に基づいて、通常データ線１１９と、スキャン記憶素子２６と、スキャン記憶素子１２５との動作について説明する。その他の動作については、従来の技術及び実施の形態２と同様であるため、説明を省略する。
【０１０１】
イベントタイミング３７０において、ｎ−１個目のスキャン記憶素子２６は、スキャンモードで、最後から２番目のスキャン動作を行う。すなわち、スキャン記憶素子２５の出力データ７２３を記憶して出力し続けている。組合せ回路１５８は、出力データ７２３を入力して通常データ線１１９に通常データ７１０を出力し続けている。通常動作モードであるスキャン記憶素子１２５は、通常データ７１０を外部入力端子１４が入力したテストクロックの立ち上がりに同期して記憶し出力する。
【０１０２】
イベントタイミング３７１において、ｎ−１個目のスキャン記憶素子６７は、スキャンモードで、最後のスキャン動作を行う。すなわち、スキャン記憶素子２５の出力データ７２４を外部入力端子１３の通常動作クロックの立上がりに同期して記憶し出力する。また、組合せ回路１５８は、出力データ７２４を入力して通常データ線１１９に通常データ７１１を出力する。
【０１０３】
本来、スキャン記憶素子１２５は、この出力データ７１１を通常動作モードで記憶して出力しなければならない。しかしながら、第１のブロックの最後のスキャン動作タイミング及び通常動作タイミングと第２のブロックのそれとが異なるため、スキャン記憶素子１２５は、通常動作モードで出力データ７１１を記憶し出力することはできず、出力データ７１０を記憶して出力してしまう。
【０１０４】
そこで、本実施の形態４では、実施の形態２に係るスキャンテストと従来のスキャンテストとを同時に行ってもブロック間で意図したデータの受け渡しを可能とし、かつブロック間の縮退故障を検出できるように、ブロック間に所要の回路を加える。
【０１０５】
図１５は、本発明の実施の形態４に係るスキャンテスト回路を示すものである。図１３と同一のものには同じ符号を付してある。図１５において、スキャンテスト回路は、固定データ線１５０と、スキャンインデータを入力する外部入力端子１５１と、可制御用のスキャン記憶素子１５２と、スキャン記憶素子１５２の出力データ線１５３と、観測用の記憶素子１５４と、記憶素子１５４の出力データを出力する外部出力端子１５５と、セレクタ回路１５６と、セレクタ回路１５６の出力データ線１５７とを備える。
【０１０６】
固定データ線１５０は、電源等の常に論理値“１”を出力するものに接続するデータ線である。セレクタ回路１５６は、スキャン選択内部信号線１６から入力するスキャン選択内部信号が“０”のとき、出力データ線２３からのデータを出力し、スキャン選択内部信号線１６から入力するスキャン選択内部信号が“１”のとき、出力データ線１５３からのデータを出力する。その他の回路構成については、図１３と同様である。
【０１０７】
図１６は、以上のように構成されたスキャンテスト回路の動作を説明するためのタイムチャート図である。図１４と同一のものには同じ符号を付してある。符号７１４及び７１５は通常データ線１１９の通常データを示す。他の符号については、図１３及び図１５の符号と一致する信号線及び外部端子における信号の波形を示す。
【０１０８】
以下、図１５及び図１６に基づいて、通常データ線１１９と、スキャン記憶素子２６と、スキャン記憶素子１２５と、スキャン記憶素子１５２と、記憶素子１５４の動作について説明する。その他の動作については、従来の技術及び実施の形態２と同様であるため、説明を省略する。
【０１０９】
イベントタイミング３７２において、ｎ−１個目のスキャン記憶素子２６は、スキャンモードで、最後から２番目のスキャン動作を行う。スキャン記憶素子２５の出力データ７２３を記憶して出力し続ける。一方、セレクタ回路１５６は、スキャン選択内部信号線１６からのスキャン選択内部信号が“１”であるため、スキャン記憶素子１５２の出力データ７２４を出力し続ける。組合せ回路１５８は、出力データ７２４を入力して通常データ線１１９に通常データ７１１を出力し続ける。また、外部入力端子１１が入力するスキャン選択外部信号は“０”に遷移するため、スキャン記憶素子１２５は通常動作モードに切替る。
【０１１０】
イベントタイミング３７３において、通常動作モードであるスキャン記憶素子１２５は、外部入力端子１４が入力したテストクロックの立ち上がりに同期して通常データ７１１を記憶し出力する。セレクタ回路１５６は、スキャン選択内部信号線１６からのスキャン選択内部信号が“１”であるため、可制御用のスキャン記憶素子１５２の出力データ“１”を出力する。組合せ回路１５８は、可制御用のスキャン記憶素子１５２の出力データ“１”を入力して通常データ線１１９に通常データ７１４を出力する。
【０１１１】
イベントタイミング３７４において、ｎ−１個目のスキャン記憶素子２６は、スキャンモードで、スキャン記憶素子２５の出力データ７２４を記憶し出力する。セレクタ回路１５６は、スキャン選択内部信号線１６からのスキャン選択内部信号が“１”であるため、可制御用のスキャン記憶素子１５２の出力データ“１”を出力し続ける。組合せ回路１５８は、可制御用のスキャン記憶素子１５２の出力データ“１”を入力して通常データ線１１９に通常データ７１４を出力し続ける。
【０１１２】
イベントタイミング３７５において、セレクタ回路１５６は、スキャン選択内部信号線１６からのスキャン選択内部信号が“０”に遷移するため、スキャン記憶素子２６の出力データ７２４を出力する。組合せ回路１５８は、スキャン記憶素子２６の出力データ７２４を入力して通常データ線１１９に通常データ７１１を出力する。しかし、スキャン記憶素子１２５にはクロックが入らないため通常データ線１１９のデータ７１１を記憶することはない。
【０１１３】
イベントタイミング３７６において、観測用の記憶素子１５４は、スキャン記憶素子２６の出力データ７２４を外部入力端子１３が入力した通常動作クロックの立上がりに同期して記憶し外部出力端子１５５に出力する。セレクタ回路１５６は、スキャン選択内部信号線１６からのスキャン選択内部信号が“０”であるため、スキャン記憶素子２６の出力データ７３５を出力する。組合せ回路１５８は、スキャン記憶素子２６の出力データ７３５を入力して通常データ線１１９に通常データ７１２を出力する。一方、外部入力端子１１が入力するスキャン選択外部信号は“１”に遷移するため、スキャン記憶素子１２５はスキャンモードに切替る。
【０１１４】
以上のように、本実施の形態４におけるスキャンテスト回路及びスキャンテスト制御方法によれば、実施の形態２のスキャンテストを実施する第１のブロックと、従来のスキャンテストを実施する第２のブロックとの間に、可制御用のスキャン記憶素子と、観測用の記憶素子と、セレクタ回路を設けることにより、第１のブロックと第２のブロックとの所望のデータの受け渡しを可能とする。更に、第１のブロックと第２のブロックとの間の通常動作パスである、出力データ線２３、出力データ線１５７、組合せ回路１５８、通常データ線１１９に対して、イベントタイミング３７３で通常動作パスの出力データ線１５７、組合せ回路１５８、通常データ線１１９の縮退故障を検出し、イベントタイミング３７６で通常動作パスの出力データ線２３の縮退故障を検出することを可能とする。すなわち、第１のブロックと第２のブロックとの間の縮退故障も検出することを可能とする。
【０１１５】
なお、実施の形態４では、第１と第２のブロックの動作パスとして、スキャン記憶素子２６の出力データ線２３の縮退故障を検出する例について説明したが、本発明はこれに限るものではなく、第１ブロック内の他の記憶素子の出力データ線の縮退故障を検出することでも良い。
【０１１６】
（実施の形態５）
実施の形態４では、図１５において、スキャン記憶素子１５２とスキャン記憶素子１２５間の第１のパス及びスキャン記憶素子２６と記憶素子１５４間の第２のパスにセレクタ回路１５６を介する為、スキャンテストパターンを生成する際、第１のパスと第２のパスのうちどちらか一方のパスに対してしかスキャンテストパターンを生成することができない。そこで本実施の形態５では、スキャンテストパターン生成時にセレクタ回路１５６を別の回路に置換えることによって、第１のパスと第２のパスの両方のパスに対してスキャンテストパターンを生成することを可能とする。
【０１１７】
図１７は、実施の形態５に係るスキャンテスト回路が、図１５に示すセレクタ回路１５６に代えて備える置換え回路を示す図である。図１５と同一のものには同じ符号を付してある。図１７において、セレクタ回路１５６の置換え回路８２は、出力データ線２３を出力データ線１５７に接続し、出力データ線１５３を記憶素子１５４の通常データ入力端子に接続する。
【０１１８】
以上のような回路構成をとることにより、実施の形態５に係るスキャンテスト回路で生成したスキャンテストパターンを、実施の形態４で説明したスキャンテストに適用することにより、実施の形態４で説明したスキャンテスト動作が可能となる。
【０１１９】
なお、上記実施の形態では、スキャン選択内部信号の生成するとともに、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するための通常動作クロックを生成することから、図３に示すようなｍ（ｍ＝１）段シフトレジスタ４５と、ｍ＋２段シフトレジスタ４６とを備えたスキャン選択内部信号生成回路で通常動作クロックマスク信号を生成するようにした。しかし、ｍをｍ＞１の整数としたシフトレジスタの構成にすることによって、通常動作クロックマスク信号の生成タイミングを変更し、スキャン選択内部信号の生成タイミングと、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するための通常動作クロックの生成タイミングとを変更するようにしてもよい。
【０１２０】
また、図３におけるインバータ回路４４とｍ（ｍ＞０の整数）段シフトレジスタ４５と、ｍ＋２段シフトレジスタ４６とＥＸＮＯＲ回路４９との構成を、例えば図９に示すように、複数のＥＸＮＯＲ回路の出力信号をセレクタ回路で切替え可能な回路構成にすることにより、シフトレジスタの段数を変更することなく、通常動作クロックマスク信号の複数の生成タイミングを選択可能とし、その結果、スキャン選択内部信号の生成タイミングと、ｎ個目のスキャン記憶素子にデータをシフトインし、かつ通常動作するための通常動作クロックの生成タイミングと、を任意に選択することができる。
【０１２１】
また、上記実施の形態では、シフトインデータ、通常動作クロック、テストクロック、スキャン選択外部信号を半導体集積回路の外部から入力する例を示したが、シフトインデータ、通常動作クロック、テストクロック、スキャン選択外部信号を半導体集積回路の内部で生成したものを本発明のスキャンテスト回路に入力するようにしても良い。
【０１２２】
また、上記実施の形態４では、一つのブロック間の通常動作パスに対して、一つの観測用の記憶素子を用意したが、複数のブロック間の通常動作パスに対して、複数のセレクタ回路の出力データ線をＡＮＤ回路等で束ねて任意のブロック間の観測用の記憶素子に入力することで、観測用の記憶素子の数を減らすようにしても良い。
【産業上の利用可能性】
【０１２３】
本発明に係るスキャンテスト制御方法及びスキャンテスト回路は、半導体集積回路内の縮退故障及び遅延故障を検出するのに好適である。
【図面の簡単な説明】
【０１２４】
【図１】本発明の実施の形態１におけるスキャンテスト回路のブロック図である。
【図２】本発明の実施の形態１におけるスキャン制御回路の具体例を示すブロック図である。
【図３】本発明の実施の形態１におけるスキャン選択内部信号生成回路の具体例を示すブロック図である。
【図４】本発明の実施の形態１におけるスキャンクロック生成回路の具体例を示すブロック図である。
【図５】本発明の実施の形態１におけるｍ段シフトレジスタの、ｍ＝１のときの具体例を示すブロック図である。
【図６】本発明の実施の形態１におけるｍ＋２段シフトレジスタの、ｍ＝１のときの具体例を示すブロック図である。
【図７】本発明の実施の形態１におけるスキャンテスト回路の動作を示すタイミングチャートである。
【図８】本発明の実施の形態１によるスキャンテスト制御方法を説明するためのフローチャートである。
【図９】本発明の実施の形態１におけるスキャン選択内部信号生成回路を、通常動作クロックマスク信号の複数の生成タイミングを選択可能とする回路構成の具体例を示すブロック図である。
【図１０】本発明の実施の形態２におけるスキャンテスト回路のブロック図である。
【図１１】本発明の実施の形態２におけるスキャンテスト回路の動作を示すタイミングチャートである。
【図１２】本発明の実施の形態３におけるスキャンテスト回路のスキャン制御回路及び記憶素子を、置き換え回路に置き換えた状態を示すブロック図である。
【図１３】本発明の実施の形態２の課題を示したスキャンテスト回路の回路構成図である。
【図１４】本発明の実施の形態２の課題を示したスキャンテスト回路の動作を示すタイミングチャートである。
【図１５】本発明の実施の形態４におけるスキャンテスト回路のブロック図である。
【図１６】本発明の実施の形態４におけるスキャンテスト回路の動作を示すタイミングチャートである。
【図１７】本発明の実施の形態５における、本実施の形態４のスキャンテスト回路のセレクタ回路を別の回路に置き換えた図である。
【図１８】従来のスキャンテスト回路のブロック図である。
【図１９】従来のスキャンテスト回路のスキャン記憶素子の具体例を示すブロック図である。
【図２０】従来のスキャンテスト回路の動作を示すタイミングチャートである。
【符号の説明】
【０１２５】
１    セレクタ回路
２    スキャン選択信号入力端子
３    通常データ入力端子
４    スキャンイン入力端子
５    スキャンクロック入力端子
６    記憶素子
７    出力端子
１１    スキャン選択外部信号の外部入力端子
１２    スキャンインデータの外部入力端子
１３    通常動作クロックの外部入力端子
１４    テストクロックの外部入力端子
１５    スキャン制御回路
１６    スキャン選択内部信号線
１７    スキャンクロック信号線
１８    組合せ回路
１９〜２１    通常データ線
２２〜２３    出力データ線
２４    スキャン記憶素子２７の出力データを出力する外部出力端子
２５〜２７    スキャン記憶素子
２８    記憶素子
２９    記憶素子２８の出力信号線
３１    スキャン選択内部信号生成回路
３２    通常動作クロックマスク信号線
３３    スキャンクロック生成回路
４１    記憶素子
４２    記憶素子４１の出力信号線
４３    インバータ回路４４の出力信号線
４４    インバータ回路
４５    ｍ（ｍ＞０の整数）段シフトレジスタ
４６    ｍ（ｍ＞０の整数）＋２段シフトレジスタ
４７    出力信号線
４８    出力信号線
４９    ＥＸＮＯＲ回路
５０    ラッチ回路
５１    記憶素子
５２    出力信号線
５３    出力信号線
５４    ＯＲ回路
６１    ＡＮＤ回路
６２    出力信号線
６３    ＡＮＤ回路
６４    出力信号線
６５    セレクタ回路
７０〜７３    記憶素子
８０    スキャン制御回路１５の置換え回路
８１    記憶素子２８の置換え回路
８２    セレクタ回路１５６の置換え回路
９０〜９５    記憶素子
９６    インバータ
９７、９８    ＥＸＮＯＲ回路
９９    セレクタ回路
１００    セレクタ回路９９の選択信号の外部入力端子
１１１    スキャン選択外部信号の外部入力端子
１１２    スキャンインデータの外部入力端子
１１４    テストクロックの外部入力端子
１１８    組合せ回路
１１９〜１２１    通常データ線
１２２〜１２３    出力データ線
１２４    スキャン記憶素子１２７の出力データを出力する外部出力端子
１２５〜１２７    スキャン記憶素子
１５０    固定データ線
１５１    スキャンインデータの外部入力端子
１５２    可制御用のスキャン記憶素子
１５３    スキャン記憶素子１５２の出力データ線
１５４    観測用の記憶素子
１５５    記憶素子１５４の出力データを出力する外部出力端子
１５６    セレクタ回路
１５７    セレクタ回路１５６の出力データ線
１５８    組合せ回路
１８０    記憶素子２８がスキャン動作で記憶している初期データ
１９８    スキャン記憶素子２７がスキャン動作で記憶している初期データ
１９９    スキャン記憶素子２６がスキャン動作で記憶している初期データ
２００〜２０４    外部入力端子１２のスキャンインデータ
２１０〜２１５    通常データ線１９の通常データ
２２０〜２２５    通常データ線２０の通常データ
２３０〜２３５    通常データ線２１の通常データ
２５０〜２５１    通常データ線１９の通常データ
２６０〜２６１    通常データ線２０の通常データ
２７０〜２７１    通常データ線２１の通常データ
３００〜３１３    イベントタイミング
３５０〜３５５    イベントタイミング
３６０〜３６４    イベントタイミング
３７０〜３７６    イベントタイミング
４００〜４０３    通常データ線１９の通常データ
４１０〜４１３    通常データ線２０の通常データ
４２０〜４２３    通常データ線２１の通常データ
７００    スキャン記憶素子１２７がスキャン動作で記憶している初期データ
７０１    スキャン記憶素子１２６がスキャン動作で記憶している初期データ
７０２〜７０６    外部入力端子１１２のスキャンインデータ
７０８〜７１５    通常データ線１１９の通常データ
７２０    スキャン記憶素子２７がスキャン動作で記憶している初期データ
７２１    スキャン記憶素子２６がスキャン動作で記憶している初期データ
７２２    スキャン記憶素子２５がスキャン動作で記憶している初期データ
７２３〜７２７    外部入力端子１２のスキャンインデータ
７３０    スキャン記憶素子２５の通常動作で記憶するデータ
７３５    スキャン記憶素子２６の通常動作で記憶するデータ
７３６    スキャン記憶素子２７の通常動作で記憶するデータ
７５１    スキャン記憶素子１２６が通常動作で記憶するデータ
７５２    スキャン記憶素子１２７が通常動作で記憶するデータ
８００〜８１２    ステップ
１１９８    スキャン記憶素子１２７がスキャン動作で記憶している初期データ
１１９９    スキャン記憶素子１２６がスキャン動作で記憶している初期データ
１２００〜１２０４    外部入力端子１１２のスキャンインデータ
１２１０〜１２１２    通常データ線１１９の通常データ
１２２０〜１２２２    通常データ線１２０の通常データ
１２３０〜１２３２    通常データ線１２１の通常データ
１２５０〜１２５１    通常データ線１１９の通常データ
１２６０〜１２６１    通常データ線１２０の通常データ
１２７０〜１２７１    通常データ線１２１の通常データ
【図１】
2004294424.tif 000003
【図２】
2004294424.tif 000004
【図３】
2004294424.tif 000005
【図４】
2004294424.tif 000006
【図５】
2004294424.tif 000007
【図６】
2004294424.tif 000008
【図７】
2004294424.tif 000009
【図８】
2004294424.tif 000010
【図９】
2004294424.tif 000011
【図１０】
2004294424.tif 000012
【図１１】
2004294424.tif 000013
【図１２】
2004294424.tif 000014
【図１３】
2004294424.tif 000015
【図１４】
2004294424.tif 000016
【図１５】
2004294424.tif 000017
【図１６】
2004294424.tif 000018
【図１７】
2004294424.tif 000019
【図１８】
2004294424.tif 000020
【図１９】
2004294424.tif 000021
【図２０】
2004294424.tif 000022