(57)【要約】【課題】半導体集積回路の効果的なテストを実現し、且つ、配線の錯綜の少ないスキャンデザインを提供する。【解決手段】スキャン分配圧縮モードでは、各段のスキャンチェイン２０１乃至２０Ｎに供給端子３０１乃至３０Ｎからテストパターンが供給される。スキャンチェインに収納されたテスト結果データは各段のＭＩＳＲ１１０にて圧縮される。シグネチャ読出しモードでは、各段のＭＩＳＲ１１０から読み出されたシグネチャがビットごとに排他的論理和回路１３１乃至１３Ｎにより圧縮されて輩出される。逐次スキャンモードでは、各段のスキャンチェイン２０１乃至２０Ｎがそれぞれ直列に接続され、Ｎ本のスキャンチェインを構成する。【選択図】　　　図５
2004093426.tif 000002
【特許請求の範囲】
【請求項１】
テストデータを供給する複数の供給端子と、
これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられ、対応する供給端子からのテストデータを保持する複数のスキャンチェインと、
これらスキャンチェインに対応する供給端子が互いに異なるように前記スキャンチェインを束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群の各スキャンチェインの出力を時間方向に圧縮する複数の圧縮器と、
これら圧縮器による圧縮結果を出力する排出端子と
を備えることを特徴とする半導体集積回路。
【請求項２】
テストデータを供給するＮ（Ｎは２以上の整数）個の供給端子と、
これら供給端子の各々に対応してそれぞれＭ（Ｍは２以上の整数）個ずつ設けられ、対応する供給端子からのテストデータを保持するＮ×Ｍ個のスキャンチェインと、
これらスキャンチェインに対応する供給端子が互いに異なるように前記スキャンチェインをＮ個ずつ束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群におけるＮ個のスキャンチェインの出力を時間方向に圧縮するＭ個の圧縮器と、
これら圧縮器による圧縮結果を出力する排出端子と
を備えることを特徴とする半導体集積回路。
【請求項３】
前記Ｍ個の圧縮器の各々は、Ｎビット幅のＭＩＳＲにより構成される
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
テストデータを供給する複数の供給端子と、
これら供給端子からのテストデータを保持する複数のスキャンチェインと、
これらスキャンチェインを束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群における各スキャンチェインの出力をそれぞれ時間方向に圧縮して所定ビット幅の圧縮結果を出力する複数の第１の圧縮器と、
これら第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置の出力同士を束ねてそれぞれ空間方向に圧縮する複数の第２の圧縮器と、
これら第２の圧縮器による圧縮結果を出力する排出端子と
を備えることを特徴とする半導体集積回路。
【請求項５】
テストデータを供給する複数の供給端子と、
これら供給端子からのテストデータを保持する複数のスキャンチェインと、
これらスキャンチェインを束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群における各スキャンチェインの出力を時間方向に圧縮してそれぞれＮ（Ｎは２以上の整数）ビットの結果を出力するＭ（Ｍは２以上の整数）個の第１の圧縮器と、
これら第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置の出力同士を束ねて空間方向に圧縮するＮ個の第２の圧縮器と、
これら第２の圧縮器による圧縮結果を出力するＮ個の排出端子と
を備えることを特徴とする半導体集積回路。
【請求項６】
前記Ｍ個の第１の圧縮器の各々は、Ｎビット幅のＭＩＳＲにより構成される
ことを特徴とする請求項５記載の半導体集積回路。
【請求項７】
前記Ｎ個の第２の圧縮器の各々は、Ｍビット入力の排他的論理和回路により構成される
ことを特徴とする請求項５記載の半導体集積回路。
【請求項８】
Ｎ（Ｎは２以上の整数）ビット幅の第１の入力信号線と、Ｎビット幅の第２の入力信号線と、Ｎビット幅の出力信号線とを具備するモジュールであって、前記第１の入力信号線からＮビットデータを受け取って時間方向に圧縮してＮビットデータを出力する第１の圧縮器と、この第１の圧縮器からのＮビットデータと前記第２の入力信号線からのＮビットデータとについて対応するビット同士を圧縮してＮビットのデータを出力する第２の圧縮器と、前記第２の入力信号線からのＮビットデータまたは前記第２の圧縮器からのＮビットデータの何れか一方を選択信号に従い選択して出力する選択器とを各段にそれぞれ備えるＭ（Ｍは２以上の整数）段のモジュールと、
これらＭ段のモジュールの前記第１の入力信号線の各々に出力側が接続されるスキャンチェインと、
テストデータを供給する供給端子と、
テスト結果を出力する排出端子と、
前記選択器に前記選択信号を与える選択端子と
を備え、
前記Ｍ段のモジュールのうち最前段のモジュールの第２の入力信号線には前記供給端子が接続され、それ以外のモジュールの第２の入力信号線には直前段のモジュールの出力信号線が接続され、最終段のモジュールの出力信号線には前記排出端子が接続され、
前記スキャンチェインのうち最前段のモジュールに接続されたスキャンチェインの入力側には前記供給端子が接続され、それ以外のモジュールに接続されたスキャンチェインの入力側には直前段のモジュールの出力信号線が接続される
ことを特徴とする半導体集積回路。
【請求項９】
前記第１の圧縮器は、Ｎビット幅のＭＩＳＲにより構成される
ことを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
前記第２の圧縮器は、Ｎ個の２入力排他的論理和回路により構成される
ことを特徴とする請求項８記載の半導体集積回路。
【請求項１１】
前記選択信号が前記第２の圧縮器からのＮビットデータの選択を指示する場合に前記供給端子からのテストデータを所定の値に固定する回路
をさらに備えることを特徴とする請求項８記載の半導体集積回路。
【請求項１２】
Ｎ（Ｎは２以上の整数）ビット幅の第１の入力信号線と、Ｎビット幅の第２の入力信号線と、Ｎビット幅の出力信号線とを具備するモジュールであって、前記第１の入力信号線からのＮビットデータまたは前記第２の入力信号線からのＮビットデータの何れか一方を第１の選択信号に従い選択して出力する第１の選択器と、前記第１の入力信号線からＮビットデータを受け取って時間方向に圧縮してＮビットデータを出力する第１の圧縮器と、この第１の圧縮器からのＮビットデータと前記第１の選択器からのＮビットとについて対応するビット同士を圧縮してＮビットのデータを出力する第２の圧縮器と、前記第１の選択器からのＮビットデータまたは前記第２の圧縮器からのＮビットデータの何れか一方を第２の選択信号に従い選択して出力する第２の選択器とを各段にそれぞれ備えるＭ（Ｍは２以上の整数）段のモジュールと、
これらＭ段のモジュールの前記第１の入力信号線の各々に出力側が接続されるスキャンチェインと、
テストデータを供給する供給端子と、
テスト結果を出力する排出端子と、
前記第１の選択器に前記第１の選択信号を与える第１の選択端子と、
前記第２の選択器に前記第２の選択信号を与える第２の選択端子と
を備え、
前記Ｍ段のモジュールのうち最前段のモジュールの第２の入力信号線には前記供給端子が接続され、それ以外のモジュールの第２の入力信号線には直前段のモジュールの出力信号線が接続され、最終段のモジュールの出力信号線には前記排出端子が接続され、
前記Ｍ段のモジュールの第１の入力信号線に接続されたスキャンチェインのうち最前段のモジュールに接続されたスキャンチェインの入力側には前記供給端子が接続され、それ以外のモジュールに接続されたスキャンチェインの入力側には直前段のモジュールの出力信号線が接続される
ことを特徴とする半導体集積回路。
【請求項１３】
前記第１の圧縮器は、Ｎビット幅のＭＩＳＲにより構成される
ことを特徴とする請求項１２記載の半導体集積回路。
【請求項１４】
前記第２の圧縮器は、Ｎ個の２入力排他的論理和回路により構成される
ことを特徴とする請求項１２記載の半導体集積回路。
【請求項１５】
前記第１の選択信号が前記第２の入力信号線からのＮビットデータの選択を指示し且つ前記第２の選択信号が前記第２の圧縮器からのＮビットデータの選択を指示する場合に前記供給端子からのテストデータを所定の値に固定する回路
をさらに備えることを特徴とする請求項１２記載の半導体集積回路。
【請求項１６】
テストデータを供給する複数の供給端子と、これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられて対応する供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインの出力を時間方向に圧縮する複数の第１の圧縮器と、これら第１の圧縮器の出力を空間方向に圧縮する複数の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力する排出端子とを具備する半導体集積回路をテストする方法であって、
前記複数のスキャンチェインに対応する前記供給端子が互いに異なるように前記スキャンチェインを束ねたスキャンチェイン群ごとに前記複数の第１の圧縮器の一つを接続するスキャン分配モードに切り換えるステップと、
前記供給端子から最初のテストデータを前記複数のスキャンチェインに供給するステップと、
前記複数の第１の圧縮器を初期化するステップと、
前記半導体集積回路にクロックを印加してテスト結果を前記複数のスキャンチェインに収めるステップと、
前記テスト結果を前記複数の第１の圧縮器において圧縮するとともに次のテストデータを供給するステップと、
前記複数の第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置同士を束ねた出力群ごとに前記複数の第２の圧縮器の一つを接続する読出しモードに切り換えるステップと、
前記排出端子から前記複数の第２の圧縮器による前記圧縮結果を出力して期待値との比較を行うステップと
を備えることを特徴とする半導体集積回路のテスト方法。
【請求項１７】
テストデータを供給する複数の供給端子と、これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられて対応する供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインの出力を時間方向に圧縮する複数の第１の圧縮器と、これら第１の圧縮器の出力を空間方向に圧縮する複数の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力する排出端子とを具備する半導体集積回路をテストする装置であって、
テストデータを保持するテストデータ保持手段と、
前記テストデータに対応する期待値を保持する期待値保持手段と、
前記複数のスキャンチェインに対応する前記供給端子が互いに異なるように前記スキャンチェインを束ねたスキャンチェイン群ごとに前記複数の第１の圧縮器の一つを接続するスキャン分配モード、および、前記複数の第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置同士を束ねた出力群ごとに前記複数の第２の圧縮器の一つを接続する読出しモードの何れかのモードを指定する手段と、
前記スキャン分配モードにおいて前記テストデータ保持手段から前記供給端子に前記テストデータを供給して前記半導体集積回路にテスト動作をさせる手段と、
前記読出しモードにおいて前記排出端子から前記圧縮結果を読み出す手段と、この読み出された前記圧縮結果と前記期待値保持手段に保持された前記期待値とを比較する比較器と
を備えることを特徴とする半導体集積回路のテスト装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路とそのテスト方法および装置に関し、特にスキャンパス技術を用いたテストに適用される。
【０００２】
【従来の技術】
半導体集積回路をテストするための一つの手法として、スキャンパスにより順序回路の動作をテストする手法が用いられている。この手法は、設定ないし観測しようとするフリップフロップを鎖状に接続し（これをスキャンチェインまたはスキャンチェーンという。）、このスキャンチェインによりシリアルにテストパターン（テストデータともいう。）を供給し、テスト動作実行後、再びスキャンチェインによりテスト結果を読み出すものである。このスキャンパス技術では、シリアルにテストパターンを伝播させているため、設定ないし観測しようとするフリップフロップの数が増加すると、そのままではそれに比例した時間を要することになる。そこで、スキャンチェインを複数に分割して、これらを並列に動作させる手法が用いられている。また、半導体集積回路の入出力ピン数が限られていることから、複数のスキャンチェインをスキャンチェイン群に束ねて、スキャンチェイン群ごとに同じテストパターンを供給することによりテストパターンの供給時間を短縮しながらテスト用入力ピンを節減する手法や、スキャンチェインの出力を圧縮器により圧縮した上で読み出すことによってテスト結果の比較時間を短縮する手法が提案されている（例えば、非特許文献１参照。）。
【０００３】
従来技術を改善するための一案として、図１５の例では、スキャンチェインをＮ×Ｍ（Ｎ，Ｍは２以上の整数）個に分割し、Ｎ個ずつをスキャンチェイン群として束ねている。そして、各スキャンチェイン群には、Ｍ個の供給端子９３０１乃至９３０Ｍの内それぞれ１個ずつが割り当てられている。例えば、Ｎ個のスキャンチェイン９２０１−１乃至９２０Ｎ−１の入力側には供給端子９３０１が接続される。また、各スキャンチェイン群には、Ｍ個のＭＩＳＲ（Ｍｕｌｔｉｐｌｅ　ＩｎｐｕｔＳｉｇｎａｔｕｒｅ　Ｒｅｇｉｓｔｅｒ）９１１０−１乃至９１１０−Ｍの内それぞれ１個ずつが割り当てられている。例えば、Ｎ個のスキャンチェイン９２０１−１乃至９２０Ｎ−１の出力側にはＭＩＳＲ９１１０−１が接続される。なお、このＭＩＳＲは後述のように各スキャンチェインからの出力を圧縮するものである。
【０００４】
また、図１７の例では、Ｍ個のＭＩＳＲ９１１０−１乃至９１１０−Ｍのそれぞれについて、Ｎ個の出力に対してＮ入力排他的論理和演算を施すことにより、最終的に１個ずつの結果を排出端子９４０１乃至９４０Ｍに出力している。例えば、ＭＩＳＲ９１１０−１の第１番目の出力と第２番目の出力は２入力排他的論理和回路９１３２−１に入力され、その結果はさらに２入力排他的論理和回路９１３３−１に入力される。この２入力排他的論理和回路９１３３−１のもう一方の入力には、ＭＩＳＲ９１１０−１の第３番目の出力が入力される。そして、最終的には２入力排他的論理和回路９１３Ｎ−１によりＮ個の出力の排他的論理和が生成される。
【０００５】
【非特許文献１】
イルカー・ハムゾグル（Ｉｌｋｅｒ　Ｈａｍｚａｏｇｌｕ）他，リデューシング・テスト・アプリケーション・タイム・フォア・フル・スキャン・エンベッディド・コアズ（Ｒｅｄｕｃｉｎｇ　Ｔｅｓｔ　Ａｐｐｌｉｃａｔｉｏｎ　Ｔｉｍｅ　ｆｏｒ　Ｆｕｌｌ　Ｓｃａｎ　Ｅｍｂｅｄｄｅｄ　Ｃｏｒｅｓ），インターナショナル・シンポジウム・オン・フォルトトレラント・コンピューティング（Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｓｙｍｐｏｓｉｕｍ　ｏｎ　Ｆａｕｌｔ−Ｔｏｌｅｒａｎｔ　Ｃｏｍｐｕｔｉｎｇ），（米国），１９９９年６月，ｐ．２６０−２６７
【０００６】
【発明が解決しようとする課題】
しかしながら、図１５および図１７に示した例では、以下のような問題が生じる。
【０００７】
まず、図１５のようなテストパターンの分配方法では、論理的ないし物理的に近い回路に対して同一のテストパターンが与えられるため、テストパターンの組合せの自由度が低下するおそれがある。図１６の具体例を参照すると、図１６（ａ）では、供給端子９３０１をテストパターンの供給元とするスキャンチェイン９２０１−１と９２０２−１とが論理的ないし物理的に近い場所に配置されるため、論理回路２００１のように常に固定されたテストパターンが与えられるおそれが生じる。すなわち、常に両入力が”０”または”１”のパターンしか供給されず、一方の入力が”０”で他方が”１”となるパターンは供給されない。そして、この論理回路２００１の出力を用いる回路群も同様に固定されたテストパターンによりテストされることになり、この回路群についての故障検出率が低下することになる。
【０００８】
また、図１７のようなテスト結果の読出し方法では、ＭＩＳＲの出力をさらに圧縮しているため、故障見逃し率が悪化するおそれがある。すなわち、後述のようにＭＩＳＲにはスキャンチェインからの出力が時々刻々と圧縮されていくが（この圧縮されたデータをシグネチャという。）、テストの途中で複数のエラーが発生すると最終的に正常な場合と同じシグネチャになってしまうことがある。この現象が生じる確率を、故障見逃し率またはエイリアス確率という。一般に、ｎビット幅のＭＩＳＲでｍサイクルのテスト結果データを圧縮した場合の故障見逃し率は、
（２ｍｎ−ｎ−１）／（２ｍｎ−１）
で表されるが、上式でｍを十分大きくすると、
１／２ｎ＝２−ｎ
となる。図１７の例では、各ＭＩＳＲの出力は最終的に１ビットに圧縮されているため、ｎ＝１とみなされ、各ＭＩＳＲの故障見逃し率は、
１／２
となり、このままでは実用に耐えないものであることが分かる。
【０００９】
このように、図１５および図１７の例は、故障検出率および故障見逃し率の両面から適切でないことが分かる。一方、図１５および図１７の例のようなＭＩＳＲの分割を行わずに一つのＭＩＳＲにまとめてしまうと、各スキャンチェインからＭＩＳＲへの配線およびＭＩＳＲから排他的論理和回路への配線の混雑度が高くなり、これも実用上問題がある。
【００１０】
本発明の目的は、半導体集積回路の効果的なテストを実現し、且つ、配線の錯綜の少ないスキャンデザインを提供することにある。
【００１１】
【課題を解決するための手段】
上記課題を解決するために本発明の半導体集積回路は、テストデータを供給する複数の供給端子と、これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられ、対応する供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインに対応する供給端子が互いに異なるように上記スキャンチェインを束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群の各スキャンチェインの出力を時間方向に圧縮する複数の圧縮器と、これら圧縮器による圧縮結果を出力する排出端子とを具備する。これにより、論理的ないし物理的に近いスキャンチェインに対して異なるテストデータを供給して故障検出率を向上させるという作用をもたらす。
【００１２】
また、本発明の他の半導体集積回路は、テストデータを供給するＮ（Ｎは２以上の整数）個の供給端子と、これら供給端子の各々に対応してそれぞれＭ（Ｍは２以上の整数）個ずつ設けられ、対応する供給端子からのテストデータを保持するＮ×Ｍ個のスキャンチェインと、これらスキャンチェインに対応する供給端子が互いに異なるように上記スキャンチェインをＮ個ずつ束ねたスキャンチェイン群ごとに設けられ、そのスキャンチェイン群におけるＮ個のスキャンチェインの出力を時間方向に圧縮するＭ個の圧縮器と、これら圧縮器による圧縮結果を出力する排出端子とを備える。これにより、論理的ないし物理的に近いＮ個のスキャンチェインに対して異なるテストデータを供給して故障検出率を向上させるという作用をもたらす。
【００１３】
また、本発明の他の半導体集積回路において、上記Ｍ個の圧縮器の各々は、Ｎビット幅のＭＩＳＲにより構成される。このＭＩＳＲは、クロックに従って保持するシグネチャをシフトさせながら入力データを畳み込んでいくものである。このシグネチャと予め用意しておいたシグネチャ期待値とを比較することにより、故障が生じたか否が検出可能となる。
【００１４】
また、本発明の他の半導体集積回路は、テストデータを供給する複数の供給端子と、これら供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインを束ねたスキャンチェイン群ごとに設けられてそのスキャンチェイン群における各スキャンチェインの出力をそれぞれ時間方向に圧縮して所定ビット幅の圧縮結果を出力する複数の第１の圧縮器と、これら第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置の出力同士を束ねてそれぞれ空間方向に圧縮する複数の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力する排出端子とを備える。これにより、排出端子から排出されるビット数を減少させながら故障見逃し率を低く抑えるという作用をもたらす。
【００１５】
また、本発明の他の半導体集積回路は、テストデータを供給する複数の供給端子と、これら供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインを束ねたスキャンチェイン群ごとに設けられてそのスキャンチェイン群における各スキャンチェインの出力を時間方向に圧縮してそれぞれＮ（Ｎは２以上の整数）ビットの結果を出力するＭ（Ｍは２以上の整数）個の第１の圧縮器と、これら第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置の出力同士を束ねて空間方向に圧縮するＮ個の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力するＮ個の排出端子とを備える。これにより、排出端子から排出されるビット数をＮビットに減少させながら故障見逃し率を２−Ｎに抑えるという作用をもたらす。
【００１６】
また、本発明の他の半導体集積回路は、Ｎ（Ｎは２以上の整数）ビット幅の第１の入力信号線と、Ｎビット幅の第２の入力信号線と、Ｎビット幅の出力信号線とを具備するモジュールであって、上記第１の入力信号線からＮビットデータを受け取って時間方向に圧縮してＮビットデータを出力する第１の圧縮器と、この第１の圧縮器からのＮビットデータと上記第２の入力信号線からのＮビットデータとについて対応するビット同士を圧縮してＮビットのデータを出力する第２の圧縮器と、上記第２の入力信号線からのＮビットデータまたは上記第２の圧縮器からのＮビットデータの何れか一方を選択信号に従い選択して出力する選択器とを各段にそれぞれ備えるＭ（Ｍは２以上の整数）段のモジュールと、これらＭ段のモジュールの上記第１の入力信号線の各々に出力側が接続されるスキャンチェインと、テストデータを供給する供給端子と、テスト結果を出力する排出端子と、上記選択器に上記選択信号を与える選択端子とを備え、上記Ｍ段のモジュールのうち最前段のモジュールの第２の入力信号線には上記供給端子が接続され、それ以外のモジュールの第２の入力信号線には直前段のモジュールの出力信号線が接続され、最終段のモジュールの出力信号線には上記排出端子が接続され、上記スキャンチェインのうち最前段のモジュールに接続されたスキャンチェインの入力側には上記供給端子が接続され、それ以外のモジュールに接続されたスキャンチェインの入力側には直前段のモジュールの出力信号線が接続される。これにより、Ｍ段のモジュールを用いることで拡張を容易にするという作用をもたらすとともに、配線の錯綜を抑えるという作用をもたらす。
【００１７】
また、他の半導体集積回路は、Ｎ（Ｎは２以上の整数）ビット幅の第１の入力信号線と、Ｎビット幅の第２の入力信号線と、Ｎビット幅の出力信号線とを具備するモジュールであって、上記第１の入力信号線からのＮビットデータまたは上記第２の入力信号線からのＮビットデータの何れか一方を第１の選択信号に従い選択して出力する第１の選択器と、上記第１の入力信号線からＮビットデータを受け取って時間方向に圧縮してＮビットデータを出力する第１の圧縮器と、この第１の圧縮器からのＮビットデータと上記第１の選択器からのＮビットとについて対応するビット同士を圧縮してＮビットのデータを出力する第２の圧縮器と、上記第１の選択器からのＮビットデータまたは上記第２の圧縮器からのＮビットデータの何れか一方を第２の選択信号に従い選択して出力する第２の選択器とを各段にそれぞれ備えるＭ（Ｍは２以上の整数）段のモジュールと、これらＭ段のモジュールの上記第１の入力信号線の各々に出力側が接続されるスキャンチェインと、テストデータを供給する供給端子と、テスト結果を出力する排出端子と、上記第１の選択器に上記第１の選択信号を与える第１の選択端子と、上記第２の選択器に上記第２の選択信号を与える第２の選択端子とを備え、上記Ｍ段のモジュールのうち最前段のモジュールの第２の入力信号線には上記供給端子が接続され、それ以外のモジュールの第２の入力信号線には直前段のモジュールの出力信号線が接続され、最終段のモジュールの出力信号線には上記排出端子が接続され、上記Ｍ段のモジュールの第１の入力信号線に接続されたスキャンチェインのうち最前段のモジュールに接続されたスキャンチェインの入力側には上記供給端子が接続され、それ以外のモジュールに接続されたスキャンチェインの入力側には直前段のモジュールの出力信号線が接続される。これにより、Ｍ段のモジュールによる拡張容易性および配線錯綜の抑制という作用に加え、第１の選択器を切り換えることによって第１の圧縮器を使用しないテストをも実現するという作用をもたらす。
【００１８】
また、本発明の他の半導体集積回路において、上記Ｍ個の第１の圧縮器の各々は、Ｎビット幅のＭＩＳＲにより構成される。
【００１９】
また、本発明の他の半導体集積回路において、上記Ｎ個の第２の圧縮器の各々は、Ｍビット入力の排他的論理和回路により構成される。
【００２０】
また、本発明の他の半導体集積回路は、上記選択信号が上記第２の圧縮器からのＮビットデータの選択を指示する場合に上記供給端子からのテストデータを所定の値に固定する回路をさらに備える。これにより、最前段における上記第２の圧縮器において意図せぬデータが生成されることを抑止するという作用をもたらす。
【００２１】
また、本発明の半導体集積回路のテスト方法は、テストデータを供給する複数の供給端子と、これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられて対応する供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインの出力を時間方向に圧縮する複数の第１の圧縮器と、これら第１の圧縮器の出力を空間方向に圧縮する複数の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力する排出端子とを具備する半導体集積回路をテストする方法であって、上記複数のスキャンチェインに対応する上記供給端子が互いに異なるように上記スキャンチェインを束ねたスキャンチェイン群ごとに上記複数の第１の圧縮器の一つを接続するスキャン分配モードに切り換えるステップと、上記供給端子から最初のテストデータを上記複数のスキャンチェインに供給するステップと、上記複数の第１の圧縮器を初期化するステップと、上記半導体集積回路にクロックを印加してテスト結果を上記複数のスキャンチェインに収めるステップと、上記テスト結果を上記複数の第１の圧縮器において圧縮するとともに次のテストデータを供給するステップと、上記複数の第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置同士を束ねた出力群ごとに上記複数の第２の圧縮器の一つを接続する読出しモードに切り換えるステップと、上記排出端子から上記複数の第２の圧縮器による上記圧縮結果を出力して期待値との比較を行うステップとを備える。
【００２２】
また、本発明の半導体集積回路のテスト装置は、テストデータを供給する複数の供給端子と、これら供給端子の各々に対応してそれぞれ少なくとも一つずつ設けられて対応する供給端子からのテストデータを保持する複数のスキャンチェインと、これらスキャンチェインの出力を時間方向に圧縮する複数の第１の圧縮器と、これら第１の圧縮器の出力を空間方向に圧縮する複数の第２の圧縮器と、これら第２の圧縮器による圧縮結果を出力する排出端子とを具備する半導体集積回路をテストする装置であって、テストデータを保持するテストデータ保持手段と、上記テストデータに対応する期待値を保持する期待値保持手段と、上記複数のスキャンチェインに対応する上記供給端子が互いに異なるように上記スキャンチェインを束ねたスキャンチェイン群ごとに上記複数の第１の圧縮器の一つを接続するスキャン分配モード、および、上記複数の第１の圧縮器のうち異なる第１の圧縮器の対応するビット位置同士を束ねた出力群ごとに上記複数の第２の圧縮器の一つを接続する読出しモードの何れかのモードを指定する手段と、上記スキャン分配モードにおいて上記テストデータ保持手段から上記供給端子に上記テストデータを供給して上記半導体集積回路にテスト動作をさせる手段と、上記読出しモードにおいて上記排出端子から上記圧縮結果を読み出す手段と、この読み出された上記圧縮結果と上記期待値保持手段に保持された上記期待値とを比較する比較器とを備える。
【００２３】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２４】
図１を参照すると、本発明の実施の形態における半導体集積回路は、Ｎ（Ｎは２以上の整数）個の供給端子３００（ＭＩ）と、Ｎ個の排出端子４００（ＭＯ）と、ＭＩＳＲ有効信号端子５００（ＭＥＮ）と、ＭＩＳＲ読出し信号端子６００（ＭＲＤ）と、Ｍ（Ｍは２以上の整数）個のＤＭＩＳＲ（Ｄａｉｓｙ−ｃｈａｉｎ　ＭｕｌｔｉｐｌｅＩｎｐｕｔ　Ｓｉｇｎａｔｕｒｅ　Ｒｅｇｉｓｔｅｒ）モジュール１００−１乃至１００−Ｍと、Ｎ×Ｍ個のスキャンチェイン２０１−１乃至２０Ｎ−Ｍとを備える。なお、各ＤＭＩＳＲモジュールを区別する際には参照符号として「１００−１乃至１００−Ｍ」のようにハイフンと連続番号を付することとし、特に他のＤＭＩＳＲモジュールと区別する必要がない場合にはまとめて「１００」を用いることとする。これは、ＤＭＩＳＲモジュールに関連する他の構成要素についても同様である。また、スキャンチェインについては、接続するＤＭＩＳＲモジュールを区別せずにＮ個のスキャンチェイン同士を区別する場合には参照符号として「２０１乃至２０Ｎ」を用いることとし、さらにＮ個のスキャンチェイン同士を区別しない場合にはまとめて「２００」を用いることとする。
【００２５】
ＤＭＩＳＲモジュール１００は、供給端子３００と排出端子４００との間に鎖状に接続される。各ＤＭＩＳＲモジュール１００にはそれぞれＮ個のスキャンチェイン２０１乃至２０Ｎが接続される。また、各ＤＭＩＳＲモジュール１００には、ＭＩＳＲ有効信号端子５００およびＭＩＳＲ読出し信号端子６００が並列に接続される。
【００２６】
供給端子３００はテストパターンを供給するためのＮ個の端子であり、各端子を区別する場合には参照符号として「３０１乃至３０Ｎ」を用いる。また、排出端子４００はテスト結果を排出するためのＮ個の端子であり、各端子を区別する場合には参照符号として「４０１乃至４０Ｎ」を用いる。
【００２７】
ＭＩＳＲ有効信号端子５００はＤＭＩＳＲモジュール１００−１乃至１００−Ｍの機能を有効にするか否かを指示するための端子である。また、ＭＩＳＲ読出し信号端子６００はＤＭＩＳＲモジュール１００−１乃至１００−Ｍに含まれるＭＩＳＲ１１０−１乃至１００−Ｍからの読出しを指示するための端子である。
【００２８】
図２は、図１における第３番目のＤＭＩＳＲモジュール１００−３の周辺を拡大した図である。ＤＭＩＳＲモジュール１００には、入力信号線１７０（ＭＩ）と、スキャン入力信号線１８０（ＳＣ）と、出力信号線１９０（ＭＯ）と、ＭＩＳＲ有効信号信号線１５０（ＭＥＮ）と、ＭＩＳＲ読出し信号信号線１６０（ＭＲＤ）とが接続される。
【００２９】
ＤＭＩＳＲモジュール１００−３の入力信号線１７０−３には、前段のＤＭＩＳＲモジュール１００−２の出力信号線１９０−２が接続される。同様に、ＤＭＩＳＲモジュール１００−３の出力信号線１９０−３には、次段のＤＭＩＳＲモジュール１００−４の入力信号線１７０−４が接続される。なお、入力信号線１７０、スキャン入力信号線１８０および出力信号線１９０は全てＮビット幅を有し、それぞれ特定のビットを区別する場合には３桁目の「０」をビット番号に置き換えて表現する。例えば、ＤＭＩＳＲモジュール１００−３におけるスキャン入力信号線１８０−３の１ビット目は、参照符号として「１８１−３」を用いる。
【００３０】
ＤＭＩＳＲモジュール１００−３のスキャン入力信号線１８０−３には、対応するスキャンチェイン２００−３の出力側が接続される。すなわち、第１番目のスキャンチェイン２０１−３にスキャン入力信号線１８１−３が接続し、第２番目のスキャンチェイン２０２−３にスキャン入力信号線１８２−３が接続し、以下同様にして、第Ｎ番目のスキャンチェイン２０Ｎ−３にスキャン入力信号線１８Ｎ−３が接続する。また、スキャンチェイン２００の入力側には前段のＤＭＩＳＲモジュール１００の出力信号線１９０が接続される。すなわち、第１番目のスキャンチェイン２０１−３に入力信号線１９１−２が接続し、第２番目のスキャンチェイン２０２−３に入力信号線１９２−２が接続し、以下同様にして、第Ｎ番目のスキャンチェイン２０Ｎ−３に入力信号線１９Ｎ−２が接続する。
【００３１】
図３を参照すると、本発明の実施の形態におけるＤＭＩＳＲモジュール１００の一例は、ＭＩＳＲ１１０と、選択器１２１乃至１２Ｎと、排他的論理和回路１３１乃至１３Ｎと、選択器１４１乃至１４Ｎとを備える。ＭＩＳＲ１１０の入力側にはスキャン入力信号線１８１乃至１８Ｎ（１８０）が接続され、ＭＩＳＲ１１０の出力側には排他的論理和回路１３１乃至１３Ｎが接続される。
【００３２】
選択器１２１乃至１２Ｎは、ＭＩＳＲ有効信号線１５０のＭＩＳＲ有効信号に従って、スキャン入力信号線１８１乃至１８Ｎおよび入力信号線１７１乃至１７Ｎの何れか一方を選択して出力する。排他的論理和回路１３１乃至１３Ｎは、ＭＩＳＲ１１０の出力１１１乃至１１Ｎと選択器１２１乃至１２Ｎの出力とのビットごとの排他的論理和を生成する。また、選択器１４１乃至１４Ｎは、ＭＩＳＲ読出し信号線１６０のＭＩＳＲ読出し信号に従って、選択器１２１乃至１２Ｎの出力および排他的論理和回路１３１乃至１３Ｎの何れか一方を選択して出力する。
【００３３】
図４を参照すると、本発明の実施の形態におけるＭＩＳＲ１１０の一例は、Ｎ個のフリップフロップ１１２１乃至１１２Ｎと、Ｎ個の２入力排他的論理和回路１１１１乃至１１１Ｎと、１個の２入力排他的論理和回路１１３０とを備える。フリップフロップ１１２１乃至１１２Ｎの入力には２入力排他的論理和回路１１１１乃至１１１Ｎの出力が供給される。２入力排他的論理和回路１１１２乃至１１１Ｎは、左隣のフリップフロップ１１２１乃至１１２（Ｎ−１）の出力とスキャン入力信号線１８２乃至１８Ｎとの排他的論理和を生成する。２入力排他的論理和回路１１１１は、排他的論理和回路１１３０の出力とスキャン入力信号線１８１との排他的論理和を生成する。排他的論理和回路１１３０は、一例として、フリップフロップ１１２３とフリップフロップ１１２Ｎとの排他的論理和を生成する。
【００３４】
フリップフロップ１１２１乃至１１２Ｎには、クロック信号線９０１からクロックが供給される。フリップフロップ１１２１乃至１１２Ｎは、このクロックに従ってシフト動作する。フリップフロップ１１２１乃至１１２Ｎの出力１１１乃至１１Ｎは、ＭＩＳＲ１１０の外の排他的論理和回路１３１乃至１３Ｎに出力される。なお、ＭＩＳＲ１１０は（図示しない）初期化端子を有し、テスト開始前の所定のタイミングでフリップフロップ１１２１乃至１１２Ｎの内容を初期化することができる。
【００３５】
このＭＩＳＲ１１０にはスキャンチェイン２００からテスト結果データが供給され、フリップフロップ１１２１乃至１１２Ｎはクロック信号線９０１からのクロックに従ってシフト動作をしながらＭＩＳＲ１１０にテスト結果データを畳み込んでいく。これにより、スキャンチェイン２００からのテスト結果データがＭＩＳＲ１１０にて圧縮されていく。このようなクロックごとに行われる圧縮を便宜上「時間方向の圧縮」とよぶ。これに対し、ＭＩＳＲ１１０からの読出しの際に排他的論理和回路１３１乃至１３Ｎで行われる圧縮を便宜上「空間方向の圧縮」とよぶ。
【００３６】
次に、本発明の実施の形態における動作について図面を参照して詳細に説明する。
【００３７】
図５を参照すると、図５（ａ）は、ＭＩＳＲ有効信号端子５００およびＭＩＳＲ読出し信号端子６００からそれぞれ供給されるＭＩＳＲ有効信号（ＭＥＮ）およびＭＩＳＲ読出し信号（ＭＲＤ）と動作モードの関係を示す図である。ＭＩＳＲ有効信号端子５００およびＭＩＳＲ読出し信号端子６００にはそれぞれＭＩＳＲ有効信号線１５０およびＭＩＳＲ読出し信号線１６０が接続される。これらＭＩＳＲ有効信号線１５０およびＭＩＳＲ読出し信号線１６０は、図５（ｂ）のように各ＭＩＳＲ１００における選択器１２１乃至１２Ｎおよび選択器１４１乃至１４Ｎに選択信号を供給する。
【００３８】
まず、各スキャンチェイン２００に対してテストパターンを分配する際およびＭＩＳＲ１１０により圧縮を行う際には、「スキャン分配圧縮モード」が使用される。この「スキャン分配圧縮モード」では、ＭＩＳＲ有効信号（ＭＥＮ）が「１」、ＭＩＳＲ読出し信号（ＭＲＤ）が「０」となる。また、ＭＩＳＲ１１０からの読出しを行う際には、「シグネチャ読出しモード」が使用される。この「シグネチャ読出しモード」では、ＭＩＳＲ有効信号（ＭＥＮ）が「１」、ＭＩＳＲ読出し信号（ＭＲＤ）が「１」となる。また、これら２つのモードとは異なり、ＭＩＳＲ１１０を介さないスキャンを行う際には、「逐次スキャンモード」が使用される。この「逐次スキャンモード」では、ＭＩＳＲ有効信号（ＭＥＮ）が「０」、ＭＩＳＲ読出し信号（ＭＲＤ）が「０」となる。
【００３９】
図６を参照すると、「スキャン分配圧縮モード」では、選択器１２１乃至１２Ｎが前段のＤＭＩＳＲモジュール１００の出力を選択し、選択器１４１乃至１４Ｎが選択器１２１乃至１２Ｎの出力を選択する。従って、各ＤＭＩＳＲモジュール１００は、入力端子３０１乃至３０Ｎから供給されたテストパターンをそのまま次段のＤＭＩＳＲモジュール１００に中継しながら、そのテストパターンをスキャンチェイン２０１乃至２０Ｎにロードする。また、テスト実行後、スキャンチェイン２０１乃至２０Ｎから出力されたテスト結果データはＭＩＳＲ１１０において時間方向に圧縮されていく。
【００４０】
図７は、本発明の実施の形態における「スキャン分配圧縮モード」における論理的接続関係を示した図である。供給端子３０１からはスキャンチェイン２０１−１乃至２０１−Ｍにテストパターンが供給され、供給端子３０２からはスキャンチェイン２０２−１乃至２０２−Ｍにテストパターンが供給され、以下同様にして、供給端子３０Ｎからはスキャンチェイン２０Ｎ−１乃至２０Ｎ−Ｍにテストパターンが供給される。すなわち、同じＭＩＳＲ１１０に接続するスキャンチェインには互いに異なるテストパターンが供給されることになる。
【００４１】
ここで、図１６により、「スキャン分配圧縮モード」の利点を説明する。前述のとおり、図１６（ａ）のようなテストパターンの分配方法では、供給端子９３０１をテストパターンの供給元とするスキャンチェイン９２０１−１と９２０２−１とが論理的ないし物理的に近い場所に配置されるため、論理回路２００１のように常に固定されたテストパターンが与えられるおそれが生じる。これに対し、図１６（ｂ）のように、物理的に近い回路に対しては異なるテストパターンを供給するようにすれば、図１６（ａ）のような問題は解消される。この図１６（ｂ）のテストパターンの分配方法では、物理的に近いスキャンチェイン２０１−１および２０１−２に対して、それぞれ異なる供給端子３０１および３０２からテストパターンが供給される。また、供給端子３０２をテストパターンの供給元とするスキャンチェイン２０１−２と２０２−２とが物理的に離れた場所に配置される。従って、この図１６（ｂ）のテストパターンの分配方法によれば図１６（ａ）で生じたようなテストパターンの固定化を避けることができる。「スキャン分配圧縮モード」は、この図１６（ｂ）のテストパターンの分配方法を実現するものであり、これにより、テストパターンの固定化を避けて、故障検出率の低下を回避することができる。
【００４２】
図８を参照すると、「シグネチャ読出しモード」では、選択器１２１乃至１２Ｎが前段のＤＭＩＳＲモジュール１００の出力を選択し、選択器１４１乃至１４Ｎが排他的論理和回路１３１乃至１３Ｎの出力を選択する。従って、各ＤＭＩＳＲモジュール１００は、前段からの出力にＭＩＳＲ１１０の出力を畳み込んで次段に出力する。これにより、最終的に排出端子４０１乃至４０Ｎから、各ＭＩＳＲ１１０のビットごとに排他的論理和を施したシグネチャが排出される。なお、この「シグネチャ読出しモード」においては、最終的に得られるシグネチャに影響を与えないよう、供給端子３０１乃至３０Ｎから供給されるデータを所定の値に設定しておく必要がある。
【００４３】
図９は、本発明の実施の形態における「シグネチャ読出しモード」における論理的接続関係を示した図である。ＭＩＳＲ１１０−１の１ビット目とＭＩＳＲ１１０−２の１ビット目との排他的論理和が排他的論理和回路１３１−２により生成され、さらにその生成結果とＭＩＳＲ１１０−３の１ビット目との排他的論理和が排他的論理和回路１３１−３により生成される。以下同様にして、排他的論理和回路１３１−Ｍまで生成結果が伝播し、最終的に排出端子４０１にその生成結果が排出される。すなわち、排他的論理和回路１３１−２乃至１３１−Ｍは、各ＭＩＳＲ１１０の１ビット目の排他的論理和を生成するＭ入力排他的論理和回路とみなすことができる。同様にして、排出端子４０２には各ＭＩＳＲ１１０の２ビット目の排他的論理和が排出され、排出端子４０Ｎには各ＭＩＳＲ１１０のＮビット目の排他的論理和が排出される。このようにして、これら排他的論理和回路１３１−１乃至１３Ｎ−Ｍにより、各ＭＩＳＲ１１０−１乃至１１０−Ｍのビットごとの空間的圧縮が行われる。
【００４４】
ここで、この「シグネチャ読出しモード」の利点について説明する。前述の図１７の例では、各ＭＩＳＲの故障見逃し率は「１／２」となり、このままでは実用に耐えないものであることは既に説明した。本発明の実施の形態における「シグネチャ読出しモード」では、図９のように各ＭＩＳＲ１１０から１ビットずつ、異なるＭＩＳＲ１１０同士で排他的論理和を生成しているため、個々のＭＩＳＲに対する依存度は低く抑えられる。すなわち、何れかのスキャンチェイン２００で故障が取り込まれてそのスキャンチェインの接続するＭＩＳＲ１１０で圧縮されたとすると、そのシグネチャの変化はそのＭＩＳＲ１１０のみに留まって他のＭＩＳＲ１１０には影響が及ばず、故障を含んだシグネチャの変化はビットごとの排他的論理和の結果に必ず現れることになる。従って、図９の構成では、最終的にＮビットの出力を生成するＭＩＳＲと等価になるため、全体としての故障見逃し率は、
１／２Ｎ
となり、例えば、Ｎ＝３２ビット以上を想定すれば十分実用的であると考えられる。
【００４５】
図１０を参照すると、「逐次スキャンモード」では、選択器１２１乃至１２Ｎがスキャンチェイン２０１乃至２０Ｎの出力を選択し、選択器１４１乃至１４Ｎが選択器１２１乃至１２Ｎの出力を選択する。従って、各段のスキャンチェインが直列に接続される。例えば、供給端子３０１には、スキャンチェイン２０１−１、２０１−２、．．．、２０１−Ｍ、および、排出端子４０１が直列に接続される。以下同様にして、供給端子３０Ｎには、スキャンチェイン２０Ｎ−１、２０Ｎ−２、．．．、２０Ｎ−Ｍ、および、排出端子４０Ｎが直列に接続される。すなわち、論理的接続としては、供給端子３０１乃至３０Ｎと排出端子４０１乃至４０Ｎとの間に、Ｎ個の（Ｍ倍の長さの）スキャンチェインが並列に存在するのと同様になる。
【００４６】
この「逐次スキャンモード」では、ＤＭＩＳＲモジュール１００におけるＭＩＳＲ１１０を介さずにテストが実行される。従って、ＭＩＳＲ１１０による圧縮がなされずに、全てのテスト結果が排出端子４０１乃至４０Ｎから排出され、全てのテスト結果について期待値との比較が行われる。このような、ＭＩＳＲを使用しないスキャン技術は、全てのテスト結果を圧縮せずに調べるためには必要な技術であり、それ自体は従来から使用されているものである。本発明の実施の形態では、ＭＩＳＲを使用することを基本としつつ、適宜必要に応じて「逐次スキャンモード」を使用することによって、全てのテスト結果を圧縮せずに調べることができるようにしている。
【００４７】
従って、本発明の実施の形態の変形例としては、この「逐次スキャンモード」を設けずに、「スキャン分配圧縮モード」および「シグネチャ読出しモード」だけを設けることも可能である。この場合、各ＤＭＩＳＲモジュール１００における選択器１２１乃至１２Ｎは不要となり、選択器１４１乃至１４Ｎおよび排他的論理和回路１３１乃至１３Ｎには前段の出力が直接入力されることになる。
【００４８】
このように、本発明の実施の形態によれば、供給端子３０１乃至３０Ｎからスキャンチェイン２０１−１乃至２０Ｎ−Ｍへのテストパターンの供給を分散させる「スキャン分配圧縮モード」を設けたことにより、供給端子３０１乃至３０Ｎの端子数を抑えながら故障検出率を向上させることができる。また、ＭＩＳＲ１１０−１乃至１１０−Ｍの出力をビットごとに束ねて排他的論理和回路１３１−２乃至１３Ｎ−Ｍにより圧縮することにより、排出端子４０１乃至４０Ｎの端子数を抑えながら故障見逃し率を改善することができる。
【００４９】
さらに、本発明の実施の形態によれば、ＭＩＳＲ１１０およびこれに付随する選択器等をＤＭＩＳＲモジュール１００としてまとめたことにより、スケーラブルな（拡張性のある）構成を実現でき、設計の再利用性も向上する。すなわち、ＤＭＩＳＲモジュール１００は必要に応じて幾らでもシリアルに接続することが可能であり、後日新たな回路を設計する際にもその機能ブロックのひとつとして組み込むことにより容易に再利用することができる。また、設計の階層化にも適用できる。
【００５０】
また、本発明の実施の形態によれば、選択器１２１乃至１２Ｎおよび１４１乃至１４Ｎへの選択信号を切り換えることにより、「スキャン分配圧縮モード」、「シグネチャ読出しモード」および「逐次スキャンモード」を適宜切り換えることができる。これにより、各モードにおける動作に必要な配線をモード間で共用することができ、配線数を減らすことができる。また、本発明の実施の形態では、各ＤＭＩＳＲモジュール１００をシリアルに接続しており、全体へのグローバルな配線は選択器１２１乃至１２Ｎおよび１４１乃至１４Ｎへの選択信号線だけであるため、配線の錯綜を極力抑えることができ、配線混雑度を解消することができる。
【００５１】
次に本発明の実施の形態における半導体集積回路をテストするためのテスタについて図面を参照して説明する。
【００５２】
図１１を参照すると、本発明の実施の形態におけるＬＳＩテスタ３０００は、テストパターンを保持するテストパターンテーブル３１００と、テストパターンに対応する期待値を保持する期待値テーブル３２００と、この期待値テーブル３２００に保持された期待値と被テストＬＳＩ１０００によるテスト結果データとを比較する比較器３３００と、この比較器３３００による比較結果を保持する比較結果テーブル３４００と、ＭＩＳＲ有効信号（ＭＥＮ）、ＭＩＳＲ読出し信号（ＭＲＤ）およびスキャン有効信号（ＳＥＮ）を出力する制御信号発生器３８００と、クロックを発生するクロック発生器３９００とを備える。
【００５３】
被テストＬＳＩ１０００の供給端子３０１乃至３０Ｎにはテストパターンテーブル３１００の出力が接続される。被テストＬＳＩ１０００の排出端子４０１乃至４０Ｎには比較器３３００の一方の入力が接続される。この比較器３３００の他方の入力には期待値テーブル３２００の出力が接続される。被テストＬＳＩ１０００のＭＩＳＲ有効信号端子５００、ＭＩＳＲ読出し信号端子６００およびスキャン有効信号端子７００には制御信号発生器３８００が接続される。また、被テストＬＳＩ１０００のクロック端子９００にはクロック発生器３９００の出力が接続される。
【００５４】
次に、このＬＳＩテスタ３０００の動作について図面を参照して詳細に説明する。
【００５５】
図１２は、ＭＩＳＲを用いてテストを行う場合の処理の流れ図である。まず、テストに先立って、制御信号発生器３８００によって、ＭＩＳＲ有効信号端子５００を「１」に、ＭＩＳＲ読出し信号端子６００を「０」にして、「スキャン分配圧縮モード」で動作するように設定する（ステップＳ７０１）。これにより、各ＤＭＩＳＲモジュール１００内の選択器１２１乃至１２Ｎは前段のＤＭＩＳＲモジュール１００の出力を選択するようになり、選択器１４１乃至１４Ｎは選択器１２１乃至１２Ｎの出力を選択するようになる。
【００５６】
そして、最初のテストパターンがテストパターンテーブル３１００から供給端子３０１乃至３０Ｎに供給される（ステップＳ７０２）。その際、クロック発生器３９００からクロック端子９００にクロックが供給されるとともにスキャン有効信号端子７００に有効信号が供給され、これによりテストパターンが各スキャンチェイン２０１−１乃至２０Ｎ−Ｍにおいてシフトされながらロードされていく。
【００５７】
テストパターンのロードが完了すると、各ＤＭＩＳＲモジュール１００−１乃至１００−ＭにおけるＭＩＳＲ１１０は初期化される（ステップＳ７０３）。例えば、全てのビットをゼロクリアすることにより初期化が実現される。そして、クロック発生器３９００からクロック端子９００にクロックが印加されることにより、被テストＬＳＩ１０００におけるテスト動作が行われ、そのテスト結果がスキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納される（ステップＳ７０４）。
【００５８】
１組のテストパターンについてテストが実行されると、未だテストされていないテストパターンがないかを調べる（ステップＳ７０５）。未だテストされていないテストパターンが存在している場合にはステップＳ７０６以降の処理を実行し、全てのテストパターンについてテストが完了している場合にはステップＳ７１０以降の処理を実行する。
【００５９】
ステップＳ７０５において、未だテストされていないテストパターンが存在していると判断された場合には、再びクロック発生器３９００からクロック端子９００にクロックが供給されるとともに制御信号発生器３８００からスキャン有効信号端子７００に有効信号が供給される。これにより、スキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納されたテスト結果データがＭＩＳＲ１１０に圧縮されていくのと同時に、次のテストパターンが各スキャンチェイン２０１−１乃至２０Ｎ−Ｍにロードされる（ステップＳ７０６）。
【００６０】
各スキャンチェイン２０１−１乃至２０Ｎ−Ｍに次のテストパターンがロードされると、ＭＩＳＲ有効信号端子５００を「１」のままに、ＭＩＳＲ読出し信号端子６００を「１」にして、「シグネチャ読出しモード」で動作するように設定する（ステップＳ７０７）。これにより、各ＤＭＩＳＲモジュール１００内の選択器１４１乃至１４Ｎは排他的論理和回路１３１乃至１３Ｎの出力を選択するようになる。
【００６１】
そして、この排他的論理和回路１３１乃至１３Ｎを通じてＭＩＳＲ１１０からシグネチャが読み出されて、排出端子４０１乃至４０Ｎから排出される。この排出されたシグネチャは、比較器３３００において期待値テーブル３２００のシグネチャ期待値と比較される（ステップＳ７０８）。この比較結果は比較結果テーブル３４００に格納される。その後、ＭＩＳＲ有効信号端子５００を「１」のままに、ＭＩＳＲ読出し信号端子６００を「０」にして、「スキャン分配圧縮モード」で動作するように設定して（ステップＳ７０９）、ステップＳ７０３以降の処理を再び行う。
【００６２】
一方、ステップＳ７０５において、全てのテストパターンについてテストが完了していると判断された場合には、再びクロック発生器３９００からクロック端子９００にクロックが供給されるとともに制御信号発生器３８００からスキャン有効信号端子７００に有効信号が供給される。これにより、スキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納されたテスト結果データがＭＩＳＲ１１０に圧縮されていく（ステップＳ７１０）。
【００６３】
スキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納されていたテスト結果データが全てＭＩＳＲ１１０にて圧縮されると、ＭＩＳＲ有効信号端子５００を「１」のままに、ＭＩＳＲ読出し信号端子６００を「１」にして、「シグネチャ読出しモード」で動作するように設定する（ステップＳ７１１）。これにより、各ＤＭＩＳＲモジュール１００内の選択器１４１乃至１４Ｎは排他的論理和回路１３１乃至１３Ｎの出力を選択するようになる。そして、この排他的論理和回路１３１乃至１３Ｎを通じてＭＩＳＲ１１０からシグネチャが読み出され、比較器３３００において期待値テーブル３２００のシグネチャ期待値と比較される（ステップＳ７１２）。この比較結果は比較結果テーブル３４００に格納される。
【００６４】
図１３は、ＭＩＳＲを用いることなくテストを行う場合の処理の流れ図である。まず、テストに先立って、ＭＩＳＲ有効信号端子５００を「０」に、ＭＩＳＲ読出し信号端子６００を「０」にして、「逐次スキャンモード」で動作するように設定する（ステップＳ８０１）。これにより、各ＤＭＩＳＲモジュール１００内の選択器１２１乃至１２Ｎはスキャンチェイン２０１乃至２０Ｎの出力を選択するようになり、選択器１４１乃至１４Ｎは選択器１２１乃至１２Ｎの出力を選択するようになる。
【００６５】
そして、最初のテストパターンがテストパターンテーブル３１００から供給端子３０１乃至３０Ｎに供給される（ステップＳ８０２）。その際、クロック発生器３９００からクロック端子９００にクロックが供給されるとともにスキャン有効信号端子７００に有効信号が供給される。これによりテストパターンが各スキャンチェイン２０１−１乃至２０Ｎ−Ｍにおいてシフトされながらロードされていく。
【００６６】
テストパターンのロードが完了すると、クロック発生器３９００からクロック端子９００にクロックが供給されることにより、被テストＬＳＩ１０００におけるテスト動作が行われ、そのテスト結果がスキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納される（ステップＳ８０４）。
【００６７】
１組のテストパターンについてテストが実行されると、未だテストされていないテストパターンがないかを調べる（ステップＳ８０５）。未だテストされていないテストパターンが存在している場合にはステップＳ８０６以降の処理を実行し、全てのテストパターンについてテストが完了している場合にはステップＳ８１０の処理を実行する。
【００６８】
ステップＳ８０５において、未だテストされていないテストパターンが存在していると判断された場合には、再びクロック発生器３９００からクロック端子９００にクロックが供給されるとともに制御信号発生器３８００からスキャン有効信号端子７００に有効信号が供給される。これにより、スキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納されたテスト結果データが排出端子４０１乃至４０Ｎから排出されていくのと同時に、次のテストパターンが各スキャンチェイン２０１−１乃至２０Ｎ−Ｍにロードされていく（ステップＳ８０６）。また、このとき、排出端子４０１乃至４０Ｎから排出されたテスト結果データは、比較器３３００において期待値テーブル３２００の期待値と比較される。この比較結果は比較結果テーブル３４００に格納される。
【００６９】
一方、ステップＳ８０５において、全てのテストパターンについてテストが完了していると判断された場合には、再びクロック発生器３９００からクロック端子９００にクロックが供給されるとともに制御信号発生器３８００からスキャン有効信号端子７００に有効信号が供給される。これにより、スキャンチェイン２０１−１乃至２０Ｎ−Ｍに収納されたテスト結果データが排出端子４０１乃至４０Ｎから排出され、比較器３３００において期待値テーブル３２００の期待値と比較される（ステップＳ８１０）。この比較結果は比較結果テーブル３４００に格納される。
【００７０】
このように、本発明の実施の形態における半導体集積回路のテスト方法およびその装置では、ＭＩＳＲを用いたテストを行う場合には「スキャン分配圧縮モード」および「シグネチャ読出しモード」を適宜切り換えることにより、両モードで使用する配線を共用しながら効率的にテストを行うことができる。また、ＭＩＳＲを用いずにテストを行う場合には「逐次スキャンモード」を利用することにより、故障個所の特定を行うことができる。
【００７１】
次に、本発明の実施の形態の変形例について説明する。
【００７２】
図１４を参照すると、この変形例では、図１の実施の形態に加えて、反転出力論理積回路３１０と、論理積回路３２１乃至３２Ｎとをさらに備えている。反転出力論理積回路３１０は、ＭＩＳＲ有効信号線１５０とＭＩＳＲ読出し信号線１６０との論理積演算結果を反転した値を出力する回路であり、その出力は論理積回路３２１乃至３２Ｎのそれぞれの一方の入力に接続する。また、論理積回路３２１乃至３２Ｎのそれぞれの他方の入力には供給端子３０１乃至３０Ｎが接続する。
【００７３】
この図１４の回路では、ＭＩＳＲ有効信号線１５０およびＭＩＳＲ読出し信号線１６０がともに「１」になった場合に論理積回路３２１乃至３２Ｎの全ての出力が「０」になる。すなわち、「シグネチャ読出しモード」において、最前段のＤＭＩＳＲモジュール１００−１内の排他的論理和回路１３１−１乃至１３Ｎ−１によってＭＩＳＲ１１０−１の出力が反転しないように、供給端子３０１乃至３０Ｎからのデータが自動的にマスクされるようになっている。これにより、供給端子３０１乃至３０Ｎから供給されるデータがどのような値であっても、最終的に得られるシグネチャに影響しないようにすることができる。
【００７４】
この図１４の回路では、「シグネチャ読出しモード」において供給端子３０１乃至３０Ｎからのデータを「０」にマスクしているが、これは一例であり、任意の値に設定しても構わない。この場合、それに合致するように期待値テーブル３２００におけるシグネチャ期待値を予め設定しておけば適用可能である。
【００７５】
なお、本発明の実施の形態では、時間方向の圧縮器としてＭＩＳＲを用いた場合について説明したが、これに限られず、例えば、セルラオートマトンレジスタ（Ｃｅｌｌｕｌａｒ　Ａｕｔｏｍａｔｏｎ　Ｒｅｇｉｓｔｅｒ）等の圧縮機能を有する回路を適宜用いることができる。
【００７６】
また、ここでは本発明の実施の形態を例示したものであり、本発明はこれに限られず、本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。また、ここで説明した処理手順はこれら一連の手順を有する方法として捉えてもよく、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記憶媒体として捉えてもよい。
【００７７】
【発明の効果】
以上の説明で明らかなように、本発明によると、半導体集積回路の効果的なテストが実現でき、且つ、配線の錯綜の少ないスキャンデザインを提供することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明による半導体集積回路の実施の形態の全体構成を示すブロック図である。
【図２】本発明による半導体集積回路の実施の形態の全体構成のブロック図を拡大した図である。
【図３】本発明の実施の形態におけるＤＭＩＳＲモジュール１００の構成を示すブロック図である。
【図４】本発明の実施の形態におけるＭＩＳＲ１１０の構成を示すブロック図である。
【図５】本発明の実施の形態における動作モードを説明するための図である。
【図６】本発明の実施の形態における「スキャン分配圧縮モード」の動作を説明するための図である。
【図７】本発明の実施の形態における「スキャン分配圧縮モード」の論理的接続関係を示す図である。
【図８】本発明の実施の形態における「シグネチャ読出しモード」の動作を説明するための図である。
【図９】本発明の実施の形態における「シグネチャ読出しモード」の論理的接続関係を示す図である。
【図１０】本発明の実施の形態における「逐次スキャンモード」の動作を説明するための図である。
【図１１】本発明の実施の形態におけるＬＳＩテスタ３０００の構成および被テストＬＳＩ１０００との接続関係を示す図である。
【図１２】本発明の実施の形態におけるＭＩＳＲを用いたテスト方法の手順を示す流れ図である。
【図１３】本発明の実施の形態におけるＭＩＳＲを用いないテスト方法の手順を示す流れ図である。
【図１４】本発明による実施の形態の変形例の構成を示すブロック図である。
【図１５】従来技術の問題点を解決する一構成例を説明するための図である。
【図１６】テストパターンの分配方法の違いについて説明するための図である。
【図１７】従来技術の問題点を解決する他の構成例を説明するための図である。
【符号の説明】
１００　ＤＭＩＳＲモジュール
１１０　ＭＩＳＲ
１２１〜１２Ｎ　選択器
１３１〜１３Ｎ　排他的論理和回路
１４１〜１４Ｎ　選択器
１５０　ＭＩＳＲ有効信号線
１６０　ＭＩＳＲ読出し信号線
１７０、１７１〜１７Ｎ　入力信号線
１８０、１８１〜１８Ｎ　スキャン入力信号線
１９０、１９１〜１９Ｎ　出力信号線
２００、２０１〜２０Ｎ　スキャンチェイン
３００、３０１〜３０Ｎ　供給端子
４００、４０１〜４０Ｎ　排出端子
５００　ＭＩＳＲ有効信号端子
６００　ＭＩＳＲ読出し信号端子
７００　スキャン有効信号端子
９００　クロック端子
１０００　被テストＬＳＩ
１１１１〜１１１Ｎ　排他的論理和回路
１１２１〜１１２Ｎ　フリップフロップ
３０００　ＬＳＩテスタ
３１００　テストパターンテーブル
３２００　期待値テーブル
３３００　比較器
３４００　比較結果テーブル
３８００　制御信号発生器
３９００　クロック発生器
【図１】
2004093426.tif 000003
【図２】
2004093426.tif 000004
【図３】
2004093426.tif 000005
【図４】
2004093426.tif 000006
【図５】
2004093426.tif 000007
【図６】
2004093426.tif 000008
【図７】
2004093426.tif 000009
【図８】
2004093426.tif 000010
【図９】
2004093426.tif 000011
【図１０】
2004093426.tif 000012
【図１１】
2004093426.tif 000013
【図１２】
2004093426.tif 000014
【図１３】
2004093426.tif 000015
【図１４】
2004093426.tif 000016
【図１５】
2004093426.tif 000017
【図１６】
2004093426.tif 000018
【図１７】
2004093426.tif 000019