(57)【要約】【課題】複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を得ること。【解決手段】所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備える。【選択図】      図１
2004258791.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、
所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、
機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、
前記セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、
前記スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と
を備えたことを特徴とする半導体集積回路のスキャンパス設計方法。
【請求項２】
半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、
前記機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と、
所定の故障検出率に達した機能マクロのスキャンパスをバイパスする位置にセレクタを挿入して該機能マクロのスキャンパスをバイパスする工程と、
前記スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と
を備えたことを特徴とする半導体集積回路のスキャンパス設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の機能マクロを備えた半導体集積回路（以下、ＬＳＩと称する場合がある。）のスキャンパス設計方法に関するものである。
【０００２】
【従来の技術】
従来、複数の機能マクロを備えた半導体集積回路の機能テストをスキャンパス方式で実施する際には、フリップフロップ回路を縦続接続してシフトレジスタ回路として動作させ、スキャンパス回路を構成している。さらに、複数の機能マクロのスキャンパスを接続して１本のスキャンパスを構成している。
【０００３】
ここで、スキャンパステストに要する時間はスキャンパステストを構成するシフトレジスタの長さに比例して長くなる。そして、近年、半導体集積回路は大規模化が進んでおり、これに伴ってテスト時間も長くなるという傾向がある。
【０００４】
そこで、テスト時間を短縮する方法としては、例えばスキャンパスを複数本に分割し、１本あたりのスキャンパスの長さを短く設計するというスキャンパス構成方法が用いられる。
【０００５】
例えば、スキャンパスの分割数と各論理ブロックの配置情報、各論理ブロック内のスキャンパステスト対象フリップフロップ数を利用して各論理ブロック内に割り当てるスキャンパス分割本数を配線面積が最小になるように決定するという設計方法がある（例えば特許文献１参照。）。
【０００６】
【特許文献１】
特開２０００−９０１３７号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、特許文献１のようにスキャンパスを複数本に分割した場合には、分割したスキャンパス間の故障検出をするために別途、専用のスキャンパステスト用のスキャンパターンを用意しなければならず、テストに用いるスキャンパターンが多くなってしまう。
【０００８】
また、スキャンパスを分割しない従来のスキャンパス方式のテストにおいては、機能マクロの故障検出の難易度に関係なくスキャンパスを構成している。そして、ある機能マクロＡの故障検出が、少ないスキャンパターンにより短時間で可能である場合でも、この機能マクロＡと接続された同一スキャンパス上にある他の機能マクロＢの故障を見つけるためには、すでに故障検出が終了してスキャンパターンの生成、入力が不要な機能マクロＡを含め、全てのスキャンパスに対してスキャンパターンを生成、入力する必要がある。
【０００９】
その結果、スキャンパターン数が不必要に多くなり、また、テスト時間も長くなるという問題がある。したがって、半導体集積回路全体の故障を一括して、且つ、短時間で検出可能なスキャンパスは実現されていないのが現状である。
【００１０】
この発明は上記に鑑みてなされたもので、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を得ることを目的とする。
【００１１】
【課題を解決するための手段】
以上のような課題を解決する本発明に係る半導体集積回路のスキャンパス設計方法は、半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備えたことを特徴とする。
【００１２】
以上のような本発明に係る半導体集積回路の設計方法では、まず、はじめに所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入した状態で、半導体集積回路全体、すなわち、複数の機能マクロ、機能回路及びこれらの接続状態をテストするためのスキャンパターンを生成する。
【００１３】
そして、ある機能マクロの故障検出率が所定の検出率に達した場合、セレクタを切り替えてスキャンパスの接続を変更することにより該機能マクロのスキャンパスをパイバスさせてテスト対象から除外する。この後、バイパスした機能マクロを除いた残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンを生成しテストを行う。
【００１４】
そして、所定の故障検出率に達した機能マクロのスキャンパスのバイパス、及び残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンの生成を繰り返す。
【００１５】
このような本発明に係る半導体集積回路の設計方法によれば、故障検出率が所定の検出率に達した、すなわち、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減されたスキャンパスの設計が可能である。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間が短縮化されたスキャンパスの設計が可能である。
【００１６】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る好適な実施の形態を詳細に説明する。本発明は、複数の機能マクロを装備する半導体集積回路のスキャンパス設計方法であり、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を提供するものである。なお、本発明は、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１７】
実施の形態１．
図１は、本発明に係る半導体集積回路のスキャンパス設計方法により設計し、構成した、スキャンパステスト時のスキャンパスの構成図である。
【００１８】
図１に示すようにこのスキャンパスでは、機能マクロＡ２のスキャンフリップフロップ１がシリアル接続（縦列接続）されてなる機能マクロＡ２のスキャンパスと、機能マクロＢ３のスキャンフリップフロップ７がシリアル接続されてなる機能マクロＢ３のスキャンパスとがシリアル接続されて１本の長いパスが構成されている。
【００１９】
機能マクロＡ２のスキャンフリップフロップ１のうち、機能マクロＢ３側のスキャンフリップフロップ１と、機能マクロＢのスキャンフリップフロップ７のうちの機能マクロＡ２側のスキャンフリップフロップとは、パラレル方向（図１における横方向）に配線１４により接続されている。
【００２０】
また、機能マクロＡ２のスキャンフリップフロップ１のうち、機能マクロＢ３側のスキャンフリップフロップ１と、機能マクロＢのスキャンフリップフロップ７のうちの機能マクロＡ２側のスキャンフリップフロップ７との間の一部には、組み合わせ回路からなる機能回路１３が配置されている。
【００２１】
また、機能マクロＡ２と機能マクロＢ３との間には、セレクタ４が配置されることにより機能マクロＡ２のスキャンパス、すなわちスキャンフリップフロップ１をバイパス可能とされている。そして、セレクタ４は、セレクタ４の切り替え信号を生成する制御信号生成回路５が接続されており、該制御信号生成回路５により適宜切り替えが制御される。
【００２２】
また、機能マクロＡ２のスキャンパスの機能マクロＢ３と反対側の一端には、スキャンパステスト用のスキャンパターンを入力するスキャンイン端子（ＳＩ：Ｓｅｒｉａｌ  ｄａｔａ  Ｉｎｐｕｔ）が接続されている。そして、機能マクロＢ３のスキャンパスの機能マクロＡ２と反対側の一端には、テストを実施した後の演算動作結果をスキャンパスから出力するスキャンアウト端子（ＳＯ：Ｓｅｒｉａｌ  ｄａｔａ  Ｏｕｔｐｕｔ）が接続されている。
【００２３】
このスキャンパスでは、スキャンパステスト用のスキャンパターンをＬＳＩの外部に設けられた自動テストパターン生成プログラム（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ：以下、ＡＴＰＧと称する。）により生成する。そして、このスキャンパターンに従って各機能マクロや機能回路が動作し、処理したスキャンパステスト用のスキャンパターンに従い演算動作結果を出力する。
【００２４】
すなわち、スキャンパステスト用のスキャンパターンが入力された各機能マクロ及び機能回路は、各回路の論理に従ってスキャンパステスト用のスキャンパターンを処理し、その処理結果をスキャンフリップフロップ１、７に出力する。そして、スキャンフリップフロップ１、７に出力され、保持された演算動作結果を直列に順次シフトしながらスキャンアウト端子ＳＯから出力する。
【００２５】
そして、スキャンアウト端子ＳＯから順次出力される出力信号を、予め準備された各機能マクロ及び機能回路の論理を考慮した期待値と比較して、各機能マクロ、機能回路及びこれらの接続状態の良／不良の判定を行う。
【００２６】
ここで、スキャンパステスト用のスキャンパターンとして、機能マクロ、機能回路及びこれらの接続を一括してテスト可能なスキャンパターンが生成され、入力される。
【００２７】
すなわち、このスキャンパスでは、機能マクロ、機能回路及びこれらの接続を一括して、すなわちＬＳＩ全体の故障検出を可能に生成したスキャンパステスト用のスキャンパターンを入力することによりＬＳＩ全体の故障検出が一括して可能な構成を備えている。
【００２８】
そして、このスキャンパスでは、セレクタ４を備えることにより、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行える構成となっている。すなわち、機能マクロの故障検出率が所定の検出率に達した場合には、ＡＴＰＧがこれを検出し、制御信号生成回路５に信号を入力する。そして、制御信号生成回路５では、該信号に基づいてセレクタ４を制御して、該当する機能マクロのフリップフロップをバイパスするように切り替える。具体的には、制御信号生成回路５は、セレクタ４に対して切替制御信号を入力する。
【００２９】
これにより、このスキャンパスでは、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行うことができ、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、このスキャンパスにおいては、不必要なスキャンパターンの生成が不要となり、また、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。
【００３０】
図２は、上述したスキャンパスの設計方法であり、本実施の形態における半導体集積回路のスキャンパス設計方法のフローチャートである。以下、図２を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【００３１】
まず、ステップ１で、ＬＳＩ内の機能マクロＡ２のスキャンフリップフロップ１と機能マクロＢ３のスキャンフリップフロップ７とがシリアル接続（縦列接続）されて１本の長いパスが構成された状態において、予め機能マクロＡ２と機能マクロＢ３との間にセレクタ４を挿入する。
【００３２】
そして、機能マクロＡ２のスキャンパス、すなわちスキャンフリップフロップ１をバイパス可能に機能マクロＡ２のスキャンパスと機能マクロＢ３のスキャンパスとを接続する。ここで、セレクタ４の入力側は、機能マクロＡ２のスキャンパスの一端及びスキャンイン端子ＳＩからの配線１５が接続される。また、セレクタ４の出力側は、機能マクロＢ３のスキャンパスの一端に接続される。
【００３３】
これにより、セレクタ４を切り替えることにより機能マクロＡ２のスキャンパスと機能マクロＢ３のスキャンパスとを切り離すことができ、機能マクロＡ２と機能マクロＢ３との両方を含むスキャンパス経路と、機能マクロＢ３のみのスキャンパス経路を選択することができる。
【００３４】
また、このとき、セレクタ４に該セレクタ４の切り替えを制御する切り替え信号を生成する制御信号生成回路５が接続される。すなわち、セレクタ４の切り替えは、制御信号生成回路５によりセレクタ４に入力される切替制御信号により行われる。
【００３５】
次に、ステップ２で、セレクタ４を機能マクロＡ２のスキャンパス側に切り替える。セレクタ４をこのように切り替えることにより、機能マクロＡ２と機能マクロＢ３との両方を含むスキャンパスを構成することができる。
【００３６】
次に、ステップ３で、ＬＳＩ外部に設けたＡＴＰＧにより機能マクロＡ２と機能マクロＢ３の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子ＳＩからＬＳＩに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【００３７】
また、このとき生成されるスキャンパターンとしては、機能マクロＡ２と機能マクロＢ３それぞれの内部の故障に加えて、機能マクロＡ２と機能マクロＢ３との間に配置された機能回路１３、及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が可能なスキャンパターンが生成される。
【００３８】
したがって、ステップ３でこのようなスキャンパターンを入力することにより、機能マクロＡ２、機能マクロＢ３、機能回路１３及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が行われる。
【００３９】
そして、ステップ４で、機能マクロＡ２の故障がある規定以上見つかったかどうかをＡＴＰＧが判断する。故障検出率が所定の検出率に達していない（Ｎｏ）場合には、機能マクロＡ２内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ３に戻り、スキャンパターンを生成し、テストを繰り返す。
【００４０】
また、ステップ４において故障検出率が所定の検出率に達している（Ｙｅｓ）場合は、機能マクロＡ２内部のパスを所定の比率以上活性化できたものと判断してステップ５に進む。
【００４１】
ステップ５では、セレクタ４を機能マクロＡ２のスキャンパスをバイパスする側に切り替える。これにより、機能マクロＢ３のみのスキャンパス経路を選択することができる。セレクタ４の切り替えは、制御信号生成回路５により制御される。機能マクロＡ２の故障検出率が所定の検出率に達した場合には、ＡＴＰＧがこれを検出し、制御信号生成回路５に信号を入力する。そして、制御信号生成回路５では、この信号に基づいてセレクタ４に対して機能マクロＡ２のスキャンパスをバイパスする側に切り替える切替制御信号を送信する。
【００４２】
ここで、制御信号生成回路５はセレクタ４の切り替えを制御する切替制御信号をセレクタ４に伝えることができるものであれば、どのような手段も使用することができる。例えば、最も簡単な例では、ＬＳＩにセレクタ切り替え用のピンを設けることで実現できる。また、制御信号生成回路５は、ＬＳＩの内部及び外部のどちらに配置することができる。
【００４３】
次に、ステップ６では、ステップ５でバイパスした機能マクロＡ２を除いて、機能マクロＢ３のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子ＳＩから入力し、機能マクロＢ３のテスト、すなわち故障検出を行う。このとき、セレクタ４が機能マクロＡ２のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロＡ２に入力されることなく、配線１５を経由して機能マクロＢ３のスキャンパスに入力される。
【００４４】
これにより、故障検出率が所定の検出率に達した機能マクロＡ２をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロＡ２をテスト対象から除外するため、機能マクロＡ２に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【００４５】
その後、機能マクロＢ３の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【００４６】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【００４７】
なお、ここでは、スキャンパステスト用のスキャンパターンの生成にＡＴＰＧを用いた場合について説明したが、本発明においてはこれに限定されるものではなく、上述した機能を実施可能な手段であればいずれのものも使用可能である。
【００４８】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。上述した実施の形態１では、機能マクロＡ２と機能マクロＢ３との間にのみセレクタ４を挿入し、機能マクロＡ２のみをバイパス可能とした場合について説明したが、機能マクロＡ２もしくは機能マクロＢ３のいずれか一方をバイパス可能なスキャンパスを設計することも可能である。
【００４９】
この場合は、図３に示すように図１において機能マクロＢ３とスキャンアウト端子ＳＯとの間にもセレクタ１２を挿入し、機能マクロＢ３のスキャンパスをバイパス可能に接続されている。
【００５０】
すなわち、セレクタ１２の入力側は、機能マクロＢ３のスキャンパスの一端及びセレクタ４の出力からの配線１６が接続される。また、セレクタ１２の出力側は、スキャンアウト端子ＳＯに接続される。
【００５１】
このような構成とすることにより、機能マクロＡ２のみをバイパスすることが可能であり、また、機能マクロＢ３のみをバイパスすることも可能である。なお、セレクタ１２もセレクタ４同様に、制御信号生成回路５により制御される。
【００５２】
図４は、上述したスキャンパスの設計方法のフローチャートである。以下、図４を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【００５３】
まず、ステップ１１で、ＬＳＩ内の機能マクロＡ２のスキャンフリップフロップ１と機能マクロＢ３のスキャンフリップフロップ７とがシリアル接続（縦列接続）されて１本の長いパスが構成された状態において、予め機能マクロＡ２と機能マクロＢ３との間にセレクタ４を挿入する。また、セレクタ４とスキャンアウト端子ＳＯとの間にセレクタ１２を挿入する。
【００５４】
そして、機能マクロＡ２のスキャンパス及び機能マクロＢ３をバイパス可能に機能マクロＡ２のスキャンパスと機能マクロＢ３のスキャンパスとを接続する。ここで、セレクタ４の入力側は、機能マクロＡ２のスキャンパスの一端及びスキャンイン端子ＳＩからの配線１５が接続される。また、セレクタ４の出力側は、機能マクロＢ３のスキャンパスの一端に接続される。
【００５５】
一方、セレクタ１２の入力側は、機能マクロＢ３のスキャンパスの一端及びセレクタ４からの配線１６が接続される。また、セレクタ１２の出力側は、スキャンアウト端子ＳＯに接続される。
【００５６】
これにより、セレクタ４を切り替えることにより機能マクロＡ２のスキャンパスをテスト用のスキャンパスから切り離すことができ、また、セレクタ１２を切り替えることにより機能マクロＢ３のスキャンパスをテスト用のスキャンパスから切り離すことができる。すなわち、テスト用のスキャンパスとして、機能マクロＡ２と機能マクロＢ３との両方を含むスキャンパス経路、機能マクロＡ２のみの経路、機能マクロＢ３のみのスキャンパス経路のいずれかを選択することができる。
【００５７】
また、このとき、セレクタ４及びセレクタ１２に各セレクタの切り替えを制御する切替制御信号を生成する制御信号生成回路５が接続される。すなわち、セレクタ４及びセレクタ１２の切り替えは、制御信号生成回路５によりそれぞれのセレクタに入力される切替制御信号により行われる。
【００５８】
次に、ステップ１２で、セレクタ４を機能マクロＡ２のスキャンパス側に、すなわち、機能マクロＡ２のスキャンパスをバイパスしない状態に切り替える。同様に、セレクタ１２を機能マクロＢ３のスキャンパス側に、すなわち、機能マクロＢ３のスキャンパスをバイパスしない状態に切り替える。これにより、機能マクロＡ２と機能マクロＢ３との両方を含み、スキャンイン端子ＳＩからスキャンアウト端子ＳＯまで機能マクロＡ２、機能マクロＢ３を通るスキャンパスを構成することができる。
【００５９】
次に、ステップ１３で、ＬＳＩ外部に設けたＡＴＰＧにより機能マクロＡ２と機能マクロＢ３の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子ＳＩからＬＳＩに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【００６０】
また、このとき生成されるスキャンパターンとしては、機能マクロＡ２と機能マクロＢ３それぞれの内部の故障に加えて、機能マクロＡ２と機能マクロＢ３との間に配置された機能回路１３、及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が可能なスキャンパターンが生成される。
【００６１】
したがって、ステップ１３でスキャンパターンを入力することにより、機能マクロＡ２、機能マクロＢ３、機能回路１３及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が行われる。
【００６２】
そして、ステップ１４ａで、機能マクロＡ２の故障がある規定以上見つかったかどうかをＡＴＰＧが判断する。故障検出率が所定の検出率に達していない（Ｎｏ）場合には、機能マクロＡ２内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ１４ｂに進む。
【００６３】
ステップ１４ｂでは、機能マクロＢ３の故障がある規定以上見つかったかどうかをＡＴＰＧが判断する。故障検出率が所定の検出率に達していない（Ｎｏ）場合には、機能マクロＡ２内部及び機能マクロＢ３内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ１３に戻り、スキャンパターンの生成、テストを繰り返す。
【００６４】
ステップ１４ｂにおいて故障検出率が所定の検出率に達している（Ｙｅｓ）場合は、機能マクロＡ２内部のパスは未だ所定の比率以上活性化できていないが、機能マクロＢ２内部のパスは所定の比率以上活性化できたものと判断してステップ１５ｂに進む。
【００６５】
ステップ１５ｂでは、セレクタ１２を機能マクロＢ３のスキャンパスをバイパスする側に切り替える。これにより、機能マクロＡ２のみのスキャンパス経路を選択することができる。セレクタ１２の切り替えは、制御信号生成回路５により制御される。機能マクロＢ３の故障検出率が所定の検出率に達した場合には、ＡＴＰＧがこれを検出し、制御信号生成回路５に信号を入力する。そして、制御信号生成回路５では、この信号に基づいてセレクタ１２に対して機能マクロＢ３のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【００６６】
次に、ステップ１６ｂでは、ステップ１５ｂでバイパスした機能マクロＢ３を除いて、機能マクロＡ２のみのスキャンパス経路のテストを行うためのスキャンパターンを生成し、生成したスキャンパターンをスキャンイン端子ＳＩから入力し、機能マクロＡ２のテスト、すなわち故障検出を行う。このとき、セレクタ１２が機能マクロＢ３のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロＢ３に入力されることなく、セレクタ４から配線１６を経由してスキャンアウト端子ＳＯに至る。
【００６７】
これにより、故障検出率が所定の検出率に達した機能マクロＢ３をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロＢ３をテスト対象から除外するため、機能マクロＢ３に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができ、テスト時間の短縮を図ることが可能となる。
【００６８】
その後、機能マクロＡ２の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【００６９】
また、ステップ１４ａで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している（Ｙｅｓ）と判断された場合には、機能マクロＡ２内部のパスを所定の比率以上活性化できたものと判断し、ステップ１５ａに進む。
【００７０】
ステップ１５ａでは、セレクタ４を機能マクロＡ２のスキャンパスをバイパスする側に切り替える。これにより、機能マクロＢ３のみのスキャンパス経路を選択することができる。セレクタ４の切り替えは、制御信号生成回路５により制御される。機能マクロＡ２の故障検出率が所定の検出率に達した場合には、ＡＴＰＧがこれを検出し、制御信号生成回路５に信号を入力する。そして、制御信号生成回路５では、この信号に基づいてセレクタ４に対して機能マクロＡ２のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【００７１】
次に、ステップ１６ａでは、ステップ１５ａでバイパスした機能マクロＡ２を除いて、機能マクロＢ３のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子ＳＩから入力し、機能マクロＢ３のテスト、すなわち故障検出を行う。このとき、セレクタ４が機能マクロＡ２のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロＡ２に入力されることなく、配線１５を経由して機能マクロＢ３のスキャンパスに入力される。
【００７２】
これにより、故障検出率が所定の検出率に達した機能マクロＡ２をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロＡ２をテスト対象から除外するため、機能マクロＡ２に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【００７３】
その後、機能マクロＡ２の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【００７４】
以上のようなスキャンパターン設計方法により、複数の機能マクロを装備する半導体集積回路において、機能マクロＡ２または機能マクロＢ３のうち、先に故障検出率が所定の検出率に達した機能マクロをバイパスさせてテストを行うことが可能なスキャンパスを提供することができる。これにより、実施の形態１と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【００７５】
実施の形態３．
つぎに、この発明の実施の形態３について説明する。上述した実施の形態１及び実施の形態２では、スキャンパターン生成前にセレクタを予め挿入しておく設計方法について説明したが、本発明においては、スキャンパターン生成後に、スキャンパターン生成結果からセレクタの最適挿入位置を判断してセレクタを挿入しても良い。
【００７６】
図５は、上述したスキャンパスの設計方法のフローチャートである。以下、図５を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【００７７】
まず、ステップ２１で、図６に示すようにＬＳＩ内の機能マクロＡ２のスキャンフリップフロップ１と機能マクロＢ３のスキャンフリップフロップ７とがシリアル接続（縦列接続）されて１本の長いパスが構成された状態において、ＬＳＩ外部に設けたＡＴＰＧにより機能マクロＡ２と機能マクロＢ３の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子ＳＩからＬＳＩに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【００７８】
また、このとき生成されるスキャンパターンとしては、機能マクロＡ２と機能マクロＢ３それぞれの内部の故障に加えて、機能マクロＡ２と機能マクロＢ３との間に配置された機能回路１３、及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が可能なスキャンパターンが生成される。
【００７９】
したがって、ステップ２１でスキャンパターンを入力することにより、機能マクロＡ２、機能マクロＢ３、機能回路１３及び機能マクロＡ２と機能マクロＢ３とを接続する配線１４の故障検出が行われる。
【００８０】
そして、ステップ２２ａで、機能マクロＡ２の故障がある規定以上見つかったかどうかをＡＴＰＧが判断する。故障検出率が所定の検出率に達していない（Ｎｏ）場合には、機能マクロＡ２内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ２２ｂに進む。
【００８１】
ステップ２２ｂでは、機能マクロＢ３の故障がある規定以上見つかったかどうかをＡＴＰＧが判断する。故障検出率が所定の検出率に達していない（Ｎｏ）場合には、機能マクロＡ２内部及び機能マクロＢ３内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ２１に戻り、スキャンパターンの生成、テストを繰り返す。
【００８２】
ステップ２２ｂにおいて故障検出率が所定の検出率に達している（Ｙｅｓ）場合は、機能マクロＡ２内部のパスは未だ所定の比率以上活性化できていないが、機能マクロＢ２内部のパスは所定の比率以上活性化できたものと判断してステップ２３ｂに進む。
【００８３】
ステップ２３ｂでは、機能マクロＢ３のスキャンパスをバイパスする最適位置、すなわち図７に示すように機能マクロＢ３とスキャンアウト端子ＳＯとの間にセレクタ１２を自動挿入し、機能マクロＢ３のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして機能マクロＡ２のみのスキャンパス経路を選択することができる。
【００８４】
次に、ステップ２４ｂでは、ステップ２３ｂでバイパスした機能マクロＢ３を除いて、機能マクロＡ２のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子ＳＩから入力し、機能マクロＡ２のテスト、すなわち故障検出を行う。このとき、セレクタ１２により機能マクロＢ３のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロＢ３に入力されることがない。
【００８５】
これにより、故障検出率が所定の検出率に達した機能マクロＢ３をバイパスして機能マクロＡ２のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロＢ３をテスト対象から除外するため、機能マクロＢ３に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【００８６】
その後、機能マクロＡ２の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【００８７】
また、ステップ２２ａで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している（Ｙｅｓ）と判断された場合には、機能マクロＡ２内部のパスを所定の比率以上活性化できたものと判断し、ステップ２３ａに進む。
【００８８】
ステップ２３ａでは、機能マクロＡ２のスキャンパスをバイパスする最適位置、すなわち図８に示すようにスキャンイン端子ＳＩと機能マクロＢ３との間にセレクタ４を自動挿入し、機能マクロＡ２のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして、機能マクロＢ３のみのスキャンパス経路を選択することができる。
【００８９】
次に、ステップ２４ａでは、ステップ２３ａでバイパスした機能マクロＡ２を除いて、機能マクロＢ３のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子ＳＩから入力し、機能マクロＢ３のテスト、すなわち故障検出を行う。このとき、セレクタ４により機能マクロＡ２のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロＡ２に入力されることがない。
【００９０】
これにより、故障検出率が所定の検出率に達した機能マクロＡ２をバイパスして機能マクロＢ３のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロＡ２をテスト対象から除外するため、機能マクロＡ２に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【００９１】
その後、機能マクロＢ３の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【００９２】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、故障検出率が所定の検出率に達した機能マクロをバイパスするようにプログラムにより自動的に最適な位置を判断してセレクタを自動で挿入することで、上記と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【００９３】
【発明の効果】
以上説明したように、この発明によれば、故障検出率が所定の検出率に達した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減することができる。そして、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。したがって、この発明によれば、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法が得られる。
【図面の簡単な説明】
【図１】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図２】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図３】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図４】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図５】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図６】機能マクロＡと機能マクロＢとを縦列接合した状態を示すスキャンパスの構成図である。
【図７】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図８】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【符号の説明】
１  スキャンフリップフロップ、２  機能マクロＡ、３  機能マクロＢ、４  セレクタ、５  制御信号生成回路、７  スキャンフリップフロップ、１２  セレクタ、１３  機能回路、１４  配線、１５  配線、１６  配線。
【図１】
2004258791.tif 000003
【図２】
2004258791.tif 000004
【図３】
2004258791.tif 000005
【図４】
2004258791.tif 000006
【図５】
2004258791.tif 000007
【図６】
2004258791.tif 000008
【図７】
2004258791.tif 000009
【図８】
2004258791.tif 000010