(57)【要約】【課題】  部分ローテート型スキャン回路を用いたテスト構成の半導体集積回路において、面積オーバーヘッドを大幅に削減することが可能な構造を得る。【解決手段】  組合せ回路（３）と、複数のスキャン用フリップフロップ（５）をチェーン接続して構成したスキャンチェーン（２）とを備えるテスト構成の半導体集積回路において、スキャンチェーン（２）は複数の部分スキャンチェーン（２０ａ〜２０ｎ）に分割され、各部分スキャンチェーン（２０ａ〜２０ｎ）は部分ローテート型スキャン（ＰＲＳ）機能とテスト応答圧縮（ＭＩＳＲ）機能とを備える。ＰＲＳとして設定する部分スキャンチェーンとＭＩＳＲとして設定する部分スキャンチェーンの組合せを変えて、複数のステップでスキャンテストを実行することによって、スキャンチェーンとは別にテスト応答圧縮器を設けることなくテストを行うことができるので、面積オーバーヘッドが削減される。【選択図】      図７
2006292401.tif 000002
【特許請求の範囲】
【請求項１】
組合せ回路と、複数のスキャン用フリップフロップ回路をチェーン接続して構成したスキャンチェーンとを備えるテスト構成の半導体集積回路において、前記スキャンチェーンは複数の部分スキャンチェーンに分割され、各部分スキャンチェーンは部分ローテート型スキャン機能とテスト応答圧縮機能とを有することを特徴とする、テスト構成の半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、さらに、前記部分スキャンチェーンの機能を独立に選択する選択手段を設け、当該選択手段による制御によって前記各部分スキャンチェーンが部分ローテート型スキャン機能とテスト応答圧縮機能のいずれか一方を選択して実行することを特徴とする、テスト構成の半導体集積回路。
【請求項３】
請求項１または２に記載の半導体集積回路において、前記全ての部分スキャンチェーンは同一数のフリップフロップ回路を含むことを特徴とする、テスト構成の半導体集積回路。
【請求項４】
組合せ回路と、複数のスキャン用フリップフロップ回路をチェーン接続して構成したスキャンチェーンとを備え、前記スキャンチェーンを複数の部分スキャンチェーンに分割し、かつそれぞれが部分ローテート型スキャン機能とテスト応答圧縮機能とを備えるテスト構成の半導体集積回路のテスト方法であって、
前記複数の部分スキャンチェーンの少なくとも１個に部分ローテート型スキャン機能を実行させ、他の部分スキャンチェーンにテスト応答圧縮機能を実行させて、第１のスキャンテストを実行し、
前記第１のスキャンテストの終了後、前記ローテート型スキャン機能を実行する部分スキャンチェーンとテスト応答圧縮機能を実行する部分スキャンチェーンの組合せを変えて少なくとも第２のスキャンテストを実行することを特徴とする、テスト構成を有する半導体集積回路のテスト方法。
【請求項５】
請求項４に記載のテスト方法において、前記複数の部分スキャンチェーンの半数が部分ローテート型スキャン機能を実行するように設定し、残りの半数がテスト応答圧縮機能を実行するように設定して前記第１のスキャンテストを実行し、かつ前記各部分スキャンチェーンの機能を入れ替えて前記第２のスキャンテストを実行することを特徴とする、テスト構成を有する半導体集積回路のテスト方法。
【請求項６】
請求項４または５に記載のテスト方法において、前記第１および第２のスキャンテストはそれぞれ全テストベクトルを用いて行われるものである、テスト構成を有する半導体集積回路のテスト方法。
【請求項７】
組合せ回路と、複数のスキャン用フリップフロップ回路をチェーン接続して構成したスキャンチェーンとを備えるテスト構成の半導体集積回路において、
前記スキャンチェーンを複数の部分に分割して複数の部分スキャンチェーンを構成し、
前記各部分スキャンチェーンは、
ｍ（２以上の自然数）個のフリップフロップ回路とこれらのフリップフロップ回路前段に設けられるｍ個のセレクタとから構成されるローテートブロックをＬ（１以上の自然数）個含み、
前記Ｌ個のローテートブロックの先頭のローテートブロックにおける先頭のセレクタは、外部より入力されるテストベクトルと、前記組合せ回路出力と、当該先頭のローテートブロックにおける最終段のフリップフロップ出力、とのいずれか１個を選択して出力し、
前記先頭ブロック以外のローテートブロックにおける先頭のセレクタは、前段のローテートブロック出力と、前記組合せ回路出力と、前段のローテートブロック出力と前記組合せ回路出力との加算結果、および当該ローテートブロックの最終段のフリップフロップ回路出力、のいずれか１個を選択して出力し、
その他のセレクタは、前段のフリップフロップ回路出力と、前記組合せ回路出力と、前段のフリップフロップ回路出力と前記組合せ回路出力との加算結果、のいずれか１個を選択して出力するように構成されていることを特徴とする、テスト構成の半導体集積回路。
【請求項８】
請求項９に記載の半導体集積回路において、前記加算は排他的論理和ゲートを用いて行われることを特徴とする、テスト構成の半導体集積回路。
【請求項９】
請求項７または８に記載の半導体集積回路において、前記先頭のローテートブロックにおける前記先頭のセレクタには、さらに、当該部分スキャンチェーンの最終ローテートブロックにおけるフリップフロップ回路出力が入力されることを特徴とする、テスト構成の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト容易化設計の半導体集積回路およびそのテスト方法に関し、特に複数のスキャン用フリップフロップをチェーン接続して構成したスキャンチェーンを有するテスト構成の半導体集積回路およびそのテスト方法に関する。
【背景技術】
【０００２】
ディープサブミクロンプロセスあるいは多層配線構造の進展により、ＶＬＳＩ（大規模半導体集積回路装置）等の半導体チップは性能、機能の点で大きく改善されているが、その一方で、ＶＬＳＩテストの困難さも大きな課題となっている。したがって、より高集積化、高速化されたデバイスに対し、新しい種類の故障（クロストーク等）を、より低コストで検出することが求められている。
【０００３】
図１にＬＳＩのテスト方式を示す。ＶＬＳＩ故障モデルの代表的なものに、図（ａ）に示す縮退故障がある。この故障は、回路内の素子の入出力が永久に論理値０もしくは１をとり続ける故障である。図の例では、ＮＡＮＤゲートの出力信号線が０縮退故障となっている。この信号線が１となるような入力を印加した場合、回路の内部状態が正常なものとは異なったものとなる。図示の例では、回路の外部まで故障の影響が伝播している。つまり、｛１，０，１｝のベクトルを印加し、出力が１になっていれば、この信号線が０縮退故障していることになり、出力が０になっていれば、この信号線が０縮退故障していないということになる。よって、この信号線の０縮退故障を検出するテストベクトルが｛１，０，１｝となる。
【０００４】
半導体の高集積化やプロセスの微細化に伴い、単一縮退故障モデルだけでは検出できない故障をテストする必要性が増してきている。このような、いわゆる“モデル化されてない故障”の検出に効果が期待できる手法の一つに、図１（ｂ）に示すｎ検出テストがある。ｎ検出テストとは、単一縮退故障を異なるテストベクトルによって複数回検出するテストである。図示の例の場合、３つのベクトルは全て同一の故障を検出するテストベクトルである。ｎ検出テストを実行することにより、１回検出のテストでは見逃してしまう故障を検出できる。また、クロストーク故障や遅延故障などの、いわゆる“モデル化されていない故障”の検出への効果が期待されている。
【０００５】
しかしながら、ｎ検出テストを実行するためには多くのテストベクトルが必要となる。図１（ｂ）の例では、０縮退故障を検出するために３つのテストベクトルを印加している。このように、ｎ検出テストを実行するためには、検出回数に比例したテストデータ量が必要となり、テストを効率的に行うためには、テストデータを圧縮する手法が必要となる。
【０００６】
また、ＶＬＳＩのテストデータ量及びテスト時間は年々増加している。ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ・ｔｅｓｔ・ｐａｔｔｅｒｎ・ｇｅｎｅｒａｔｏｒ）ツールで生成されたテストデータは半導体テスタのメモリの容量を超えるものもある。さらに、ＶＬＳＩの動作の高速化により、既存のテスタではテストができない場合がある。従って、低速テスタで高速なＶＬＳＩをテストする必要性が存在する。
【０００７】
低コストでｎ検出テストを実行する一方式として、部分ローテート型スキャン（ＰＲＳ：Ｐａｒｔｉａｌｌｙ−Ｒｏｔａｔｉｏｎａｌ−Ｓｃａｎ）回路を用いる方式が提案されている（非特許文献１）。部分ローテート型スキャン回路は、ｎ検出テストの実行を前提とし、低速テスタでアト・スピードテストを可能とするテスト容易化設計の一方式であり、スキャンチェーンを部分的にローテートさせることによって、ＡＴＰＧベクトルの他に、多くのシフトベクトルを発生させることができる。このシフトベクトルを用いることによってテストデータを圧縮することができる。また、ローテート動作時はテストデータをスキャンインする必要がないため、低速なテスタを使用した場合であってもアト・スピードテストの実行が可能である。
【０００８】
部分ローテート型スキャン回路を用いたテスト構成を有するＶＬＳＩを製造するためには、テストパターンを発生する部分ローテート型スキャン回路と、被テスト回路（ＣＵＴ：Ｃｉｒｃｕｉｔ・Ｕｎｄｅｒ・Ｔｅｓｔ）から応答を取り出すテスト応答圧縮器とを、被テスト回路に付加する必要がある。テスト応答圧縮器としては、多入力シグネチャーレジスタ（ＭＩＳＲ：Ｍｕｌｔｉｐｌｅ・Ｉｎｐｕｔ・Ｓｉｇｎａｔｕｒｅ・Ｒｅｇｉｓｔｅｒ）が使用されることが多い。
【０００９】
図２に、部分ローテート型スキャン（以下、ＰＲＳ）回路を用いたＬＳＩのテスト構成を示す。図において、１はテストベクトルを発生するテスタ、２はＰＲＳ回路、３は被テスト回路（以下、ＣＵＴ）、４はテスト応答圧縮器としてのＭＩＳＲを示す。ＰＲＳ回路２、ＣＵＴ３およびＭＩＳＲ４は、ＬＳＩとして一体に構成されている。テスタ１で生成されたテストベクトルをＰＲＳ回路２に入力することにより、シフトベクトルとローテートベクトルが生成され、これによってテストデータを圧縮することが可能となる。したがって、テスタ１としては低速のものを用いることができる。テスト結果は、ＭＩＳＲ４により圧縮され、集積回路装置外部に出力される。
【００１０】
【非特許文献１】“Ａｐｐｌｉｃａｔｉｏｎ・ｏｆ・Ｐａｒｔｉａｌｌｙ・Ｒｏｔａｔｉｏｎａｌ・Ｓｃａｎ・Ｔｅｃｈｎｉｑｕｅ・ｗｉｔｈ・Ｔｅｓｔｅｒ・ＩＰ・ｆｏｒ・Ｐｒｏｃｅｓｓｏｒ・Ｃｉｒｃｕｉｔｓ”、ＩＥＩＣＥ・Ｔｒａｎｓ．Ｉｎｆ．＆Ｓｙｓｔ．、Ｖｏｌ．Ｅ８７−Ｄ、Ｎｏ．３、ｐｐ．５８６−５９１（Ｍａｒ．２００４）Ｋｅｎｉｃｈｉ・Ｉｃｈｉｎｏ、Ｋｏ−ｉｃｈｉ・Ｗａｔａｎａｂｅ、Ｍａｓａｙｕｋｉ・Ａｒａｉ、Ｓａｔｏｓｈｉ・Ｆｕｋｕｍｏｔｏ、Ｋａｚｕｈｉｋｏ・Ｉｗａｓａｋｉ
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図２に示すＰＲＳ回路を用いたテスト構成の半導体集積回路では、ＰＲＳ回路２はシフトベクトルの入力によってローテート動作をし、ローテートベクトルを生成するので、従来のスキャン回路とは異なってＣＵＴ３のテスト結果を保持することができない。そのため、ＭＩＳＲ回路４を付加してテスト結果を保持している。ところが、ＭＩＳＲ回路４の付加によって、その分ＶＬＳＩの回路面積が増加する。さらに、ＰＲＳ回路２におけるセレクタ等の付加によっても回路面積が増加し、結果的に、従来のスキャンタイプのテスト構成に比べて半導体集積回路の面積オーバーヘッドがかなり大きくなる欠点を有している。従って、ＰＲＳ回路を用いたテスト構成では、いかにして半導体装置を構成するための面積オーバーヘッドを小さくするかが大きな問題となる。
【００１２】
本発明は、かかる点に関してなされたものであって、ＰＲＳ回路およびＭＩＳＲ回路の再構成を行うことにより面積オーバーヘッドの大幅な削減を可能とした、新規なテスト構成の半導体集積回路およびそのテスト方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、第１の発明は、組合せ回路と、複数のスキャン用フリップフロップをチェーン接続して構成したスキャンチェーンとを備えるテスト構成の半導体集積回路において、スキャンチェーンは複数の部分スキャンチェーンに分割され、各部分スキャンチェーンは部分ローテート型スキャン機能とテスト応答圧縮機能とを有するように構成する。
【００１４】
また、第１の発明の半導体集積回路において、さらに、部分スキャンチェーンの機能をこれら各チェーン間で独立して選択する選択手段を設け、この選択手段による制御によって各部分スキャンチェーンが部分ローテート型スキャン機能とテスト応答圧縮機能のいずれか一方を選択して実行するようにしている。
【００１５】
上記課題を解決するために、第２の発明にかかるテスト方法では、組合せ回路と、複数のスキャン用フリップフロップをチェーン接続して構成したスキャンチェーンとを備え、このスキャンチェーンを複数の部分スキャンチェーンに分割し、かつそれぞれが部分ローテート型スキャン機能とテスト応答圧縮機能とを備えるテスト構成の半導体集積回路に対して、複数の部分スキャンチェーンの少なくとも１個に部分ローテート型スキャン機能を実行させ、他の部分スキャンチェーンにテスト応答圧縮機能を実行させて、第１のスキャンテストを実行し、この第１のスキャンテストの終了後、ローテート型スキャン機能を実行する部分スキャンチェーンとテスト応答圧縮機能を実行する部分スキャンチェーンとの組合せを変えて少なくとも第２のスキャンテストを実行するようにしている。
【００１６】
また、上記第２の発明において、前記部分スキャンチェーンの半数が部分ローテート型スキャン機能を実行するように設定し、残りがテスト応答圧縮機能を実行するように設定して前記第１のスキャンテストを実行し、かつ前記各部分スキャンチェーンの機能を入れ替えて第２のスキャンテストを実行するようにしている。
【００１７】
また、上記第２の発明において、第１および第２のスキャンテストはそれぞれ全テストベクトルを用いて行う。
【００１８】
上記課題を解決するために、第３の発明においては、組合せ回路と、複数のスキャン用フリップフロップをチェーン接続して構成したスキャンチェーンとを備えるテスト構成の半導体集積回路において、スキャンチェーンを複数の部分に分割して複数の部分スキャンチェーンを構成し、各部分スキャンチェーンは、ｍ（２以上の自然数）個のフリップフロップとこれらのフリップフロップ前段に設けられるｍ個のセレクタとから構成されるローテートブロックをＬ（１以上の自然数）個含み、Ｌ個のローテートブロックの先頭のローテートブロックにおける先頭のセレクタは、外部より入力されるテストベクトルと、前記組合せ回路出力と、当該先頭のローテートブロックにおける最終段のフリップフロップ出力、とのいずれか１個を選択して出力し、先頭ブロック以外のローテートブロックにおける先頭のセレクタは、前段のローテートブロック出力と、組合せ回路出力と、前段のローテートブロック出力と組合せ回路出力との加算結果、およびこのローテートブロックの最終段のフリップフロップ出力、のいずれか１個を選択して出力し、その他のセレクタは、前段のフリップフロップ出力と、組合せ回路出力と、前段のフリップフロップ出力と組合せ回路出力との加算結果、のいずれか１個を選択して出力するように構成されている。
【００１９】
上記第３の発明では、上記の加算は排他的論理和ゲートを用いて行われる。
【００２０】
上記第３の発明では、先頭のローテートブロックにおける先頭のセレクタには、さらに、この部分スキャンチェーンの最終ローテートブロックにおけるフリップフロップ出力が入力されるように構成されている。
【発明の効果】
【００２１】
本発明のテスト構成を有する半導体集積回路では、複数のスキャン用フリップフロップを構成するスキャンチェーンを複数の部分スキャンチェーンに分割して、その各々が部分ローテート型スキャン機能とテスト応答圧縮機能とを備えるように構成している。そのため、半導体集積回路のテストにあたって、いずれかの部分スキャンチェーンによって部分ローテート型スキャン機能を実現し、他の部分スキャンチェーンによってテスト応答圧縮機能を実現することにより、スキャンテストを実行することができる。
【００２２】
部分ローテート型スキャン機能のみを有する従来の部分ローテート型スキャン回路を用いたテスト構成では、テスト結果を保持するためにテスト応答圧縮器が必要であったが、本発明の半導体集積回路では、部分スキャンチェーンがこの両者の機能を有しているので、新たにテスト応答圧縮器を設ける必要がない。一方、スキャンチェーンおよびテスト応答圧縮器は、いずれも複数のフリップフロップを従属接続したフリップフロップ群を必要とするため、これらのフリップフロップにスキャン機能とテスト結果保持機能を持たせることにより、一方のフリップフロップ群を省略することができる。この省略のための付加回路は小さいので、結果的に従来の回路に比べてテスト構成における面積オーバーヘッドは大きく削減される。
【００２３】
また、部分スキャンチェーンが部分ローテート型スキャン機能かまたはテスト応答圧縮機能のいずれかを選択して動作するように制御する選択手段を設け、外部信号によってこの選択手段を制御することにより、部分スキャンチェーンの機能を容易に変更することができる。そのため、種々のテスト方法の実施が容易となる。
【００２４】
例えば、第２の発明で示す様に、第１のスキャンテストの終了後、部分ローテート型スキャン機能を実行する部分スキャンチェーンとテスト応答圧縮機能を実行する部分スキャンチェーンの組合せを変えて第２のスキャンテストを実行することにより、スキャンテストにおける故障の検出率が向上する。
【００２５】
また、複数の部分スキャンチェーンの内、隣接する部分スキャンチェーンの一方で部分ローテート型スキャン機能を実現し、他方でテスト応答圧縮機能を実現するように選択手段を設定して第１のスキャンテストを実行し、第２のスキャンテストにおいて両部分スキャンチェーンの機能を入れ替えてスキャンテストを実行することにより、２ステップのテストで、全ての組合せ回路のテストが可能となる。
【００２６】
また、第３の発明によって、半導体集積回路を効率よく構成することができる。
【発明を実施するための最良の形態】
【００２７】
本発明の構成を説明する前に、まず、既に提案されているＰＲＳ回路２およびＭＩＳＲ回路４の構成およびその動作について、図３〜６を参照して説明する。
【００２８】
従来のスキャン設計は、主にシフトレジスタの機能から構成される。ＰＲＳ回路は、従来のスキャン設計を拡張し、シフトレジスタの機能に、部分的なローテート機能を加えたものである。従って、ローテート機能を使わなければ、従来のスキャン回路と同等の機能を提供する。
【００２９】
ＰＲＳ回路はローテート単位毎にローテートブロック（以下、ＲＢ）と呼ばれる回路で構成される。全てのローテートブロックは同じローテートビット幅を持つ。スキャン回路がシフトするかローテートするかは、ローテートブロックに設けた選択手段、例えばマルチプレクサ（ｍｕｘ）によって制御する事ができる。
【００３０】
図３にＰＲＳ回路２の１例を示す。この例ではＬ個のｍビットＲＢ（ＲＢ１〜ＲＢＬ）を縦列に接続している。各ＲＢは、縦列接続したｍ個のフリップフロップ５と、ＭＵＸ等で構成されるセレクタ６を有している。セレクタ６は、ＲＢがスキャン回路として動作するか、ローテート動作するかを外部制御信号に基づいて設定する。図示の回路ではＬ×ｍビット入力のＣＵＴ３に対してテストベクトルを与える事ができる。ＰＲＳ回路２がテストベクトルを出力するためには、テストビット系列をスキャンインする必要がある。テストビット系列はｓｃａｎ−ｉｎ７から１ビットずつＰＲＳ回路２に入力される。
【００３１】
ＰＲＳ回路２の動作は以下のようになる。まず、ＲＢ毎にビット幅ｍの数だけローテートする。つまりローテート開始前の状態に戻るまでローテートを繰り返す。次に、全てのフリップフロップ５が１ビットシフトする。同時にｓｃａｎ−ｉｎ７から１ビットのデータを取り込む。この動作を全てのテストビット系列をスキャンインするまで繰り返す。つまり（１＋ｍ）クロックに１回ｓｃａｎ−ｉｎから１ビットのデータを取り込む。ローテートしている間は新たなテストビットを与える必要がない。つまり、ＣＵＴ３が（１＋ｍ）クロック動作する間に１ビット与えればよい。このため、従来のスキャン回路を使う方法よりも低速なテスタを使って実動作速度によるテストを行える可能性がある。
【００３２】
図４にＰＲＳ回路２の動作例を示す。ここでは２個の３ビットＲＢを縦列に接続したＰＲＳ回路を考える。ｓｃａｎ−ｉｎはスキャンインされるテストベクトルである。Ａ、Ｂ、ＣはローテートブロックＲＢ１のフリップフロップの値を示し、Ｄ、Ｅ、ＦはローテートブロックＲＢ２のフリップフロップ５の値を示す。図の上から下に向けて時間が進行する。まず、ＲＢ１の動作に注目する。ｃｌｋ＝０において、初期値としてＡＢＣ＝“１００”が入っている。１クロック目で右ローテートし、ＡＢＣ＝“０１０”となる。この動作をＲＢのローテート動作と呼ぶ。ここで、ＡＢＣ＝“０１０”がＣＵＴに印加される。２クロック目、３クロック目も同様にＡＢＣ＝“００１”、ＡＢＣ＝“１００”と、ローテート動作し、ＣＵＴへ印加される。ここで３クロック目は初期値と同じ値になる。４クロック目で、セレクタ６の出力がｓｃａｎ−ｉｎに切り替わり、ＡＢＣ＝“１１０”となる。以上がＲＢのシフト動作である。
【００３３】
テストビット系列は、いくつかのＡＴＰＧテストベクトルを並べたものを使う。ＰＲＳ回路は、テストビット系列を構成するＡＴＰＧテストベクトルを、必ずＣＵＴ３に印加する。ＡＴＰＧテストベクトルから、次のＡＴＰＧテストベクトルが現れるまでの間に、シフト及びローテート動作によっていくつかのテストベクトルが発生する。シフト動作によって発生するベクトルをシフトテストベクトルと呼ぶ。同様にローテート動作によって発生するベクトルをローテートテストベクトルと呼ぶ。これらのテストベクトルはＬＦＳＲの擬似ランダムテストベクトルと似た効果が期待できる。すなわち故障集合の多くを占める“検出のたやすい故障”を検出する。検出の難しい故障はテストビット系列を構成するＡＴＰＧテストベクトルによって検出する。
【００３４】
ＰＲＳ回路はローテートビット幅ｍによって、ローテートテストベクトルの数が変わってくる。ローテートテストベクトルの数は、テストデータの圧縮やテスト時間に影響を与える。ローテートビット幅ｍを広げる事はローテートテストベクトルの数を増加させる。これはテスタからテストデータを与える周期を長くすることができ、より低速なテスタによる実動作速度テストを実行し易くする。一方でローテートテストベクトルが増えるため、１００％の故障カバレージを得るためのテストビット系列のサイズが減る可能性が高い。
【００３５】
このように、スキャン回路としてＰＲＳ回路を適用した場合、ｔｅｓｔ−ｐｅｒ−ｃｌｏｃｋ方式のテストとなる。よって、ＰＲＳ回路は任意の値を保持する必要があり、テスト応答をキャプチャするテスト応答圧縮器としては使うことができない。そのため、ＰＲＳ回路を用いた従来のテスト構成の半導体集積回路装置では、上述したように、ＰＲＳ回路とは別にＭＩＳＲ等のテスト応答圧縮器を設けて、テスト結果を保持する必要がある。ところが、ＰＲＳ回路とＭＩＳＲ回路を構成するためには多くの付加回路が必要となる。この面積オーバーヘッドの大きさが、ＰＲＳ回路を用いたテスト構成の半導体集積回路装置の課題である。
【００３６】
図５に、ＭＩＳＲ回路４の一例を示す。ＭＩＳＲ回路４は基本的に複数のフリップフロップ８と同数のＸＯＲ（排他的論理和）ゲート９によって構成され、ＣＵＴ３のテスト応答結果を加算し圧縮する働きをする。本図に示すＭＩＳＲ回路４は、ＣＵＴ３の出力数とＭＩＳＲ回路４の入力数が同じである方式（１方式）で構成されており、ＣＵＴ３の出力数と同じ数のフリップフロップを必要とするため、面積オーバーヘッドが大きくなる。
【００３７】
図６に、ＭＩＳＲ回路４の他の例を示す。この例では、ＣＵＴ３の２個の出力に対して１個の２入力ＸＯＲゲート１０を用いることによってＭＩＳＲ回路への入力数を半分に減らしている。そのため、必要となるフリップフロップ８の数はＭＩＳＲ回路の出力数の半分となる。同様に、２入力ＸＯＲゲート１０を３個用いることによって１／４方式のＭＩＳＲ回路が構成され、７個用いることによって１／８方式のＭＩＳＲ回路が構成される。しかしながら、このようなＭＩＳＲ回路では、フリップフロップ数の減少によって面積オーバーヘッドは削減されるが、一方でＭＩＳＲ入力数を削減することによって故障の見逃し確率が増加する欠点を有している。
【００３８】
本発明の目的は部分ローテート型スキャン回路の面積オーバーヘッドの削減である。そのための手法として、ＰＲＳ・ＭＩＳＲの再構成を提案する。従来手法では、ＰＲＳとＭＩＳＲを別に構成しているが、本発明で提案するように、一本のスキャンチェーンにＰＲＳとＭＩＳＲの機能を同時に実現することで、面積オーバーヘッドを削減することができる。しかし、従来手法では、ＰＲＳを一本のスキャンチェーンで構成していたため、このスキャンチェーンにＭＩＳＲの機能を付加すると、ｔｅｓｔ−ｐｅｒ−ｃｌｏｃｋ方式のテストが不可能になる。そのため、本発明では、スキャンチェーンを複数の部分スキャンチェーンに分割し、ある部分スキャンチェーンをＰＲＳ、ある部分スキャンチェーンをＭＩＳＲに設定することでｔｅｓｔ−ｐｅｒ−ｃｌｏｃｋ方式のテストを可能とした。部分スキャンチェーンを構成するに当っては、一本の部分スキャンチェーン内に、テスタよりテストベクトルを直接入力するためのプライマリーインプット（ＰＩ）、スキャンチェーン出力であるプライマリーアウトプット（ＰＯ）およびフリップフロップ（ＦＦ）を混在させる必要がある。
【００３９】
図７に、本発明にかかる半導体集積回路の概略構成を示す。ＣＵＴ３に対して従来のスキャンテストでは一本のスキャンチェーンを構成したが、本発明では、１本のスキャンチェーンを複数の部分スキャンチェーン２０（２０ａ、２０ｂ、２０ｃ・・・２０ｎ）に分割する。この分割によって、ＣＵＴ３は複数の部分ＣＵＴ３０（３０ａ、３０ｂ、３０ｃ・・・３０ｎ）に分割される。各部分スキャンチェーン２０はＰＲＳ機能とＭＩＳＲ機能の両者を備えている。
【００４０】
実際のテスト時には、部分スキャンチェーン２０がＰＲＳ回路として動作するか、ＭＩＳＲ回路として動作するかを、外部信号に基づいて選択する。したがって、例えば、部分スキャンチェーン２０ａをＰＲＳ回路として動作するように選択して部分ＣＵＴ３０ａにテストパターンを供給し、同時に、部分スキャンチェーン２０ｂをＭＩＳＲ回路として動作するように選択してテスト結果を保持する。これにより、部分ＣＵＴ３０ａのテストを行うことができる。
【００４１】
図８に、図７の回路を用いた場合のテストスケジュールの一例を示す。図示する例では、４本の部分スキャンチェーン２０の内、半分をＰＲＳに設定し、その他をＭＩＳＲに設定している。具体的には、ステップ１において、部分スキャンチェーン２０ａをＰＲＳに、部分スキャンチェーン２０ｂをＭＩＳＲに、部分スキャンチェーン２０ｃをＰＲＳに、部分スキャンチェーン２０ｄをＭＩＳＲに設定する。この状態で、テストベクトルをＰＲＳである部分スキャンチェーン２０ａにスキャンインする。これによって、部分ＣＵＴ−１（３０ａ）と部分ＣＵＴ−３（３０ｃ）のテストが実行される。
【００４２】
全てのテストベクトルをスキャンインしたら、ＰＲＳとＭＩＳＲの組合せを変えて同様の操作をする。即ち、ステップ２において、部分スキャンチェーン２０ａをＭＩＳＲに、部分スキャンチェーン２０ｂをＰＲＳに、部分スキャンチェーン２０ｃをＭＩＳＲに、部分スキャンチェーン２０ｄをＰＲＳに設定し、各ＰＲＳにテストベクトルをスキャンインする。これによって、部分ＣＵＴ−２（３０ｂ）および部分ＣＵＴ−４（３０ｄ）のテストが実行され、結果的に全ての部分ＣＵＴのテスト、即ちＣＵＴ３のスキャンテストが終了する。
【００４３】
図８に示すテストスケジュールによれば、ＣＵＴ３のテスト時間は従来方式のスキャンテストに比べて２倍の時間を要するが、従来方式で必要であったＭＩＳＲ回路４が不要となるため、面積オーバーヘッドは５％程度となる。なお、部分スキャンチェーン２０内には、ＰＩ（プライマリーインプット）、ＰＯ（プライマリーアウトプット）およびＦＦ（フリップフロップ）に相当するローテートブロック（ＲＢ）が混在している。よって、ＰＲＳにシフトインするベクトルは、ＰＩ、ＦＦの位置と、シフトインするベクトルのＰＩ、ＦＦの位置が一致するように生成したベクトルを使用する。また、部分スキャンチェーン２０がＭＩＳＲとして動作する場合にもＰＩ、ＰＯ、ＦＦに相当するローテートブロック（ＲＢ）が混在しているため、ＭＩＳＲのＰＩ、ＦＦから発生するパターンは、応答のキャプチャによって発生するランダムパターンを使用する。
【００４４】
図９に、本発明の１実施形態にかかる部分スキャンチェーン２０の構成を示す。図示する部分スキャンチェーン２０は、ローテート幅２（２個のフリップフロップ５を含む）のＲＢを例えばｋ個含んで構成される。各ＲＢは、２個のフリップフロップ５と、第１のセレクタ６０（６０ａ、６０ｂ・・・）と第２のセレクタ６２（６２ａ、６２ｂ・・・）とテスト応答圧縮用のＸＯＲ（排他的論理和）ゲート９０によって構成されている。なお、ローテート幅がｎの場合のＲＢは、ｎ個のフリップフロップ５とｎ個のＸＯＲゲート９０と共に、第１のセレクタ６０（あるいは６２）を１個と（ｎ−１）個の第２のセレクタ６２を含んで構成される。
【００４５】
なお、図９に示す実施形態において、セレクタ６０ａ、６２ａおよび２個のフリップフロップ５で構成されるローテートブロックはプライマリーインプットを構成するので、セレクタ６０ａには直接テストデータを入力する端子が設けられており、一方、他のローテートブロックの先頭のセレクタ６０ｂには前段のローテートブロックからテストデータがシフトインされる。
【００４６】
図１０に、第１のセレクタ６０と第２のセレクタ６２の構成を示す。第１のセレクタ６０は、図（ａ）に示すように、例えば２ビットの制御信号の入力により４入力の内の１個を選択して出力する。入力としては、この部分スキャンチェーンがＰＲＳとして機能する場合に最終ＲＢのフリップフロップ５からフィードバックされる信号（図においてＰＲＳで示す）と、テストベクトル（図においてＳｃａｎ−Ｉｎで示す）と、この部分スキャンチェーンがＭＩＳＲとして機能する場合に部分スキャンチェーン２０の最終段のフリップフロップからフィードバックされる信号（図においてＭＩＳＲとして示す）およびＣＵＴ３よりの出力信号（図においてＯｕｔｐｕｔで示す）が有る。
【００４７】
なお、第１のセレクタ６０が上述したように部分スキャンチェーン２０の先頭のローテートブロック以外である場合（例えばセレクタ６０ｂの場合）には、Ｓｃａｎ−Ｉｎの代わりに前段のローテートブロックの出力が入力される。さらに、ＭＩＳＲ入力としては、前段のローテートブロックにおける最終のフリップフロップ出力とＣＵＴ３の出力とのＸＯＲゲート９０を介した半加算結果が使用される。
【００４８】
第２のセレクタ６２（６２ａ、６２ｂ・・・）に対しては、図１０（ｂ）に示す様に、前段のフリップフロップ５の出力（図においてＰＲＳで示す）と、前段のフリップフロップ５の出力とＣＵＴ３の出力とのＸＯＲゲート９０を介した半加算結果（図においてＭＩＳＲで示す）、およびＣＵＴ３の出力（図にＯｕｔｐｕｔで示す）が選択入力として入力される。この選択は、外部信号に基づいて行われる。
【００４９】
なお、図１０（ａ）、（ｂ）に示すＯｕｔｐｕｔ入力がセレクタ６０または６２において選択される場合は、半導体集積回路がテスト以外の通常動作をする場合である。この場合には、第１および第２のセレクタ６０、６２はＯｕｔｐｕｔを選択して出力することにより、各フリップフロップ５をテスト回路から切り離し通常のフリップフロップとして動作させる。図１１に通常動作時のフリップフロップの接続構成を示す。
【００５０】
図９に示す回路構成において、ＰＩである第１のセレクタ６０ａは、部分スキャンチェーン２０の最終のフリップフロップ５における出力をフィードバックしＭＩＳＲ入力としているが、これは故障検出率を向上させるためのものであって、異なる圧縮方式を用いる場合には必ずしも必要ではない。また、図９に示すＸＯＲゲート９１も同様に故障検出確率を向上させるためのものであって、必ずしも必要ではない。
【００５１】
図１２に、スキャンテスト時のセレクタ制御信号のタイムチャートを示す。今、部分スキャンチェーン２０がＰＲＳ動作をするように設定されている場合、第１のセレクタ６０はテストベクトル（Ｓｃａｎ−Ｉｎ）の入力とローテート信号（ＰＲＳ）とを交互に選択して出力させる。このとき、第２のセレクタ６２は常にローテート動作するように制御されている。一方、部分スキャンチェーン２０がＭＩＳＲ動作する場合には、第１および第２のセレクタ６０、６２とも、常に信号ＭＩＳＲを選択するように設定される。
【００５２】
図１３に、部分スキャンチェーン１および２における各セレクタの動作を示す。今、部分スキャンチェーン１はステップ１においてＰＲＳ動作するように設定されており、部分スキャンチェーン２はＭＩＳＲ動作するように設定されているものとする。次のステップ２では、部分スキャンチェーン１がＭＩＳＲ動作、部分スキャンチェーン２がＰＲＳ動作するように設定されている。ステップ１の期間において、部分スキャンチェーン１のセレクタ６０はＳｃａｎ−ＩｎとＰＲＳとを繰り返して選択し、セレクタ６２は常にＰＲＳを選択する。
【００５３】
次のステップ２では、部分スキャンチェーン１がＭＩＳＲ動作を、部分スキャンチェーン２がＰＲＳ動作をするように設定されているので、部分スキャンチェーン１のセレクタ６０および６２は信号ＭＩＳＲを選択して入力し、部分スキャンチェーン２のセレクタ６０はＳｃａｎ−Ｉｎと信号ＰＲＳとを繰り返して選択し、セレクタ６２は常に信号ＰＲＳを選択する。
【００５４】
図１４に、３個の部分スキャンチェーン２０ａ、２０ｂおよび２０ｃを含むスキャンチェーンのテスト時の動作例を概略図で示す。図示する例では、図（ａ）から図（ｃ）に向かって時間が経過している。まず、図（ａ）に示すステップ１において、部分スキャンチェーン２０ａをＰＲＳ動作に設定し、他の部分スキャンチェーン２０ｂおよび２０ｃをＭＩＳＲ動作に設定する。この状態で部分スキャンチェーン２０ａの第１のセレクタから全てのテストベクトルをスキャンインし、ＭＩＳＲ動作している部分スキャンチェーン２０ｂからテスト応答圧縮の結果を得る。これによって、部分スキャンチェーン２０ａに対応する組合せ回路のテストが実行される。
【００５５】
その後、図（ｂ）に示すステップ２において、部分スキャンチェーン２０ｂをＰＲＳ動作に設定し、他の部分スキャンチェーン２０ａ、２０ｃをＭＩＳＲ動作に設定して、部分スキャンチェーン２０ｂの第１のセレクタから全てのテストベクトルをスキャンインする。テスト応答圧縮の結果をＭＩＳＲ動作に設定した部分スキャンチェーン２０ｃから得る。これによって、部分スキャンチェーン２０ｂに対応する組合せ回路のテストが実行される。
【００５６】
次に、図（ｃ）に示すステップ３において、部分スキャンチェーン２０ｃをＰＲＳ動作に設定し、他の部分スキャンチェーン２０ａ、２０ｂをＭＩＳＲ動作に設定して、上記と同じテスト操作を行う。これによって、部分スキャンチェーン２０ｃに対応する組合せ回路のテストが実行され、ＣＵＴ３全体のテストが完了する。
【００５７】
図１５は、複数の部分スキャンチェーンのＰＲＳ／ＭＩＳＲ設定に関する他の例を説明するための図である。部分スキャンチェーンをＰＲＳ、ＭＩＳＲに設定するテストスケジュールは、図８あるいは図１４に示すものに限られない。例えば、図１５（ａ）に示す様に、ステップ１で１本の部分スキャンチェーン２０ａをＰＲＳに他をＭＩＳＲに設定し、ステップ２では部分スキャンチェーン２０ａと２０ｂをＰＲＳに他をＭＩＳＲに設定し、ステップ３で部分スキャンチェーン２０ａ、２０ｂおよび２０ｃをＰＲＳに設定し、部分スキャンチェーン２０ｄをＭＩＳＲに設定する方式も可能である。
【００５８】
この場合、図示するようなパス３１を有するＡＮＤゲートのテスト結果の伝達は、ステップ１では、部分スキャンチェーン２０ａ、２０ｂ間で可能であるが、その他の部分スキャンチェーン間では行うことができない。同様に、ステップ２では、部分スキャンチェーン２０ａ〜２０ｃ間でテスト結果の伝達が可能であるが、部分スキャンチェーン２０ｃと２０ｄ間では行うことができない。ステップ３において、全ての部分スキャンチェーン間でテスト結果の伝達が可能となる。この結果、パス３１を有するＡＮＤゲートの故障は、３回のスキャンテストによって検出される。
【００５９】
パス３１を有する回路の故障検出に注目すると、図（ｂ）に示すようなテストスケジュールによって、より効率的に故障テストを実行できる。即ち、図（ｂ）のステップ１では、ＰＲＳとＭＩＳＲが交互に設定されており、ステップ２では部分スキャンチェーン２０ｂがＰＲＳに、部分スキャンチェーン２０ｃがＭＩＳＲに設定されることによって、パス３１を有するＡＮＤゲートの故障検出が２ステップで完了する。なお、図１５において、点線の部分はその間でテスト結果が伝達されないことを示している。
【００６０】
本発明にかかるテスト構成の半導体集積回路装置では、ｔｅｓｔ−ｐｅｒ−ｃｌｏｃｋ方式のテストを実行するために、スキャンチェーンを分割する必要がある。また、ＰＲＳは応答をキャプチャしない。よって、スキャンチェーンの構成によって、故障伝播が不可能となり、検出できない故障が発生する可能性がある。図１６に示すように、同一の部分スキャンチェーンに入るようなパス３２が存在すると仮定する。このパス３２のＡＮＤゲート出力の縮退故障を決定論的に検出することは不可能である。この故障の検出は、この部分スキャンチェーン２０ａがＭＩＳＲに設定されているときに発生するランダムパターンに委ねられることになる。このようなパスが多数存在すると、故障検出率が低下する原因となる。そのため、スキャンチェーンを分割して複数の部分スキャンチェーンを構成する場合、回路構造を考慮した分割が必要となる。
【００６１】
図１７および１８に、スキャンチェーン分割アルゴリズムの一例を説明する。まず、図１７（ａ）に示す様な回路を仮定する。この回路のＰＩ、ＰＯ、ＦＦの接続関係を解析し、図（ｂ）に示すような有効グラフを作成する。ＰＩ−１を出力方向にたどって行くと、ＦＦ−１にぶつかる。よって、ＰＩ−１からＦＦ−１へとつながるパスが存在することになるので、ＰＩ−１→ＦＦ−１という関係になる。以下同様に接続関係を解析し、最終的に図（ｂ）に示す有効グラフを作成する。この有効グラフを用いて、スキャンチェーンの構成を導出する。
【００６２】
図（ｂ）において、矢印でつながった信号線が同じスキャンチェーンに含まれると、同一のスキャンチェーンにフィードバックするパスが形成されてしまう。よって、矢印で繋がった信号線が同じ色にならないように色分けを行い、その色ごとでスキャンチェーンを構成する。図（ｂ）の結果からは、ＰＩ−１、ＦＦ−２およびＰＯ−２が同じ色（図に斜線で示す）に、またＰＩ−２、ＦＦ−１およびＰＯ−１が同じ色に分けられる。したがって、ＰＩ−１、ＦＦ−２およびＰＯ−２によって一本の部分スキャンチェーンを構成し、ＰＩ−２、ＦＦ−１およびＰＯ−１で別の部分スキャンチェーンを構成すればよいことが理解される。
【００６３】
図１８は、このようにして求めた部分スキャンチェーン２２ａ、２２ｂの構造を示す。図示の構成によって、全ての出力の観測が可能となっていることが分かる。このアルゴリズムを用いることで、スキャンチェーンの分割による故障検出率の低下を回避することができる。
【図面の簡単な説明】
【００６４】
【図１】ＬＳＩのテスト方式を説明するための図。
【図２】部分ローテート型スキャン回路を用いた半導体集積回路のテスト構成を示す図。
【図３】部分ローテート型スキャン回路の構成を示す図。
【図４】部分ローテート型スキャン回路の動作を説明するためのタイムチャート。
【図５】ＭＩＳＲ回路の構成を示す図。
【図６】ＭＩＳＲ回路の他の構成を示す図。
【図７】本発明の１実施形態のテスト構成を示す図。
【図８】本発明の１実施形態のテストスケジュールを示す図。
【図９】本発明の１実施形態の部分スキャンチェーンの構成を示す図。
【図１０】セレクタの制御構造を示す図。
【図１１】部分スキャンチェーンの通常動作時の回路構成を示す図。
【図１２】図９に示すセレクタの動作タイムチャート。
【図１３】部分スキャンチェーン１、２におけるセレクタの動作タイムチャート。
【図１４】部分スキャンチェーンの設定操作を時系列で示す図。
【図１５】部分スキャンチェーンの機能設定の他の例を示す図。
【図１６】スキャンチェーン分割が故障伝播に与える影響を説明するための図。
【図１７】スキャンチェーン分割のアルゴリズムを説明するための図。
【図１８】図１７に示すアルゴリズムにしたがって分割された部分スキャンチェーンを示す図。
【符号の説明】
【００６５】
１    低速テスタ
２    部分ローテート型スキャン回路
３    被テスト回路（組合せ回路）
４    テスト応答圧縮器
５    フリップフロップ
６    セレクタ
２０（２０ａ〜２０ｎ）    部分スキャンチェーン
３０（３０ａ〜３０ｎ）    部分被テスト回路
６０ａ、６０ｂ    セレクタ
９０、９１    ＸＯＲゲート
【図１】
2006292401.tif 000003
【図２】
2006292401.tif 000004
【図３】
2006292401.tif 000005
【図４】
2006292401.tif 000006
【図５】
2006292401.tif 000007
【図６】
2006292401.tif 000008
【図７】
2006292401.tif 000009
【図８】
2006292401.tif 000010
【図９】
2006292401.tif 000011
【図１０】
2006292401.tif 000012
【図１１】
2006292401.tif 000013
【図１２】
2006292401.tif 000014
【図１３】
2006292401.tif 000015
【図１４】
2006292401.tif 000016
【図１５】
2006292401.tif 000017
【図１６】
2006292401.tif 000018
【図１７】
2006292401.tif 000019
【図１８】
2006292401.tif 000020