JP2004258791A - 半導体集積回路のスキャンパス設計方法 - Google Patents
半導体集積回路のスキャンパス設計方法 Download PDFInfo
- Publication number
- JP2004258791A JP2004258791A JP2003046343A JP2003046343A JP2004258791A JP 2004258791 A JP2004258791 A JP 2004258791A JP 2003046343 A JP2003046343 A JP 2003046343A JP 2003046343 A JP2003046343 A JP 2003046343A JP 2004258791 A JP2004258791 A JP 2004258791A
- Authority
- JP
- Japan
- Prior art keywords
- scan
- function macro
- function
- scan path
- macro
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
【課題】複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を得ること。
【解決手段】所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備える。
【選択図】 図1
【解決手段】所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、複数の機能マクロを備えた半導体集積回路(以下、LSIと称する場合がある。)のスキャンパス設計方法に関するものである。
【0002】
【従来の技術】
従来、複数の機能マクロを備えた半導体集積回路の機能テストをスキャンパス方式で実施する際には、フリップフロップ回路を縦続接続してシフトレジスタ回路として動作させ、スキャンパス回路を構成している。さらに、複数の機能マクロのスキャンパスを接続して1本のスキャンパスを構成している。
【0003】
ここで、スキャンパステストに要する時間はスキャンパステストを構成するシフトレジスタの長さに比例して長くなる。そして、近年、半導体集積回路は大規模化が進んでおり、これに伴ってテスト時間も長くなるという傾向がある。
【0004】
そこで、テスト時間を短縮する方法としては、例えばスキャンパスを複数本に分割し、1本あたりのスキャンパスの長さを短く設計するというスキャンパス構成方法が用いられる。
【0005】
例えば、スキャンパスの分割数と各論理ブロックの配置情報、各論理ブロック内のスキャンパステスト対象フリップフロップ数を利用して各論理ブロック内に割り当てるスキャンパス分割本数を配線面積が最小になるように決定するという設計方法がある(例えば特許文献1参照。)。
【0006】
【特許文献1】
特開2000−90137号公報
【0007】
【発明が解決しようとする課題】
しかしながら、特許文献1のようにスキャンパスを複数本に分割した場合には、分割したスキャンパス間の故障検出をするために別途、専用のスキャンパステスト用のスキャンパターンを用意しなければならず、テストに用いるスキャンパターンが多くなってしまう。
【0008】
また、スキャンパスを分割しない従来のスキャンパス方式のテストにおいては、機能マクロの故障検出の難易度に関係なくスキャンパスを構成している。そして、ある機能マクロAの故障検出が、少ないスキャンパターンにより短時間で可能である場合でも、この機能マクロAと接続された同一スキャンパス上にある他の機能マクロBの故障を見つけるためには、すでに故障検出が終了してスキャンパターンの生成、入力が不要な機能マクロAを含め、全てのスキャンパスに対してスキャンパターンを生成、入力する必要がある。
【0009】
その結果、スキャンパターン数が不必要に多くなり、また、テスト時間も長くなるという問題がある。したがって、半導体集積回路全体の故障を一括して、且つ、短時間で検出可能なスキャンパスは実現されていないのが現状である。
【0010】
この発明は上記に鑑みてなされたもので、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を得ることを目的とする。
【0011】
【課題を解決するための手段】
以上のような課題を解決する本発明に係る半導体集積回路のスキャンパス設計方法は、半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備えたことを特徴とする。
【0012】
以上のような本発明に係る半導体集積回路の設計方法では、まず、はじめに所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入した状態で、半導体集積回路全体、すなわち、複数の機能マクロ、機能回路及びこれらの接続状態をテストするためのスキャンパターンを生成する。
【0013】
そして、ある機能マクロの故障検出率が所定の検出率に達した場合、セレクタを切り替えてスキャンパスの接続を変更することにより該機能マクロのスキャンパスをパイバスさせてテスト対象から除外する。この後、バイパスした機能マクロを除いた残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンを生成しテストを行う。
【0014】
そして、所定の故障検出率に達した機能マクロのスキャンパスのバイパス、及び残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンの生成を繰り返す。
【0015】
このような本発明に係る半導体集積回路の設計方法によれば、故障検出率が所定の検出率に達した、すなわち、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減されたスキャンパスの設計が可能である。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間が短縮化されたスキャンパスの設計が可能である。
【0016】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る好適な実施の形態を詳細に説明する。本発明は、複数の機能マクロを装備する半導体集積回路のスキャンパス設計方法であり、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を提供するものである。なお、本発明は、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0017】
実施の形態1.
図1は、本発明に係る半導体集積回路のスキャンパス設計方法により設計し、構成した、スキャンパステスト時のスキャンパスの構成図である。
【0018】
図1に示すようにこのスキャンパスでは、機能マクロA2のスキャンフリップフロップ1がシリアル接続(縦列接続)されてなる機能マクロA2のスキャンパスと、機能マクロB3のスキャンフリップフロップ7がシリアル接続されてなる機能マクロB3のスキャンパスとがシリアル接続されて1本の長いパスが構成されている。
【0019】
機能マクロA2のスキャンフリップフロップ1のうち、機能マクロB3側のスキャンフリップフロップ1と、機能マクロBのスキャンフリップフロップ7のうちの機能マクロA2側のスキャンフリップフロップとは、パラレル方向(図1における横方向)に配線14により接続されている。
【0020】
また、機能マクロA2のスキャンフリップフロップ1のうち、機能マクロB3側のスキャンフリップフロップ1と、機能マクロBのスキャンフリップフロップ7のうちの機能マクロA2側のスキャンフリップフロップ7との間の一部には、組み合わせ回路からなる機能回路13が配置されている。
【0021】
また、機能マクロA2と機能マクロB3との間には、セレクタ4が配置されることにより機能マクロA2のスキャンパス、すなわちスキャンフリップフロップ1をバイパス可能とされている。そして、セレクタ4は、セレクタ4の切り替え信号を生成する制御信号生成回路5が接続されており、該制御信号生成回路5により適宜切り替えが制御される。
【0022】
また、機能マクロA2のスキャンパスの機能マクロB3と反対側の一端には、スキャンパステスト用のスキャンパターンを入力するスキャンイン端子(SI:Serial data Input)が接続されている。そして、機能マクロB3のスキャンパスの機能マクロA2と反対側の一端には、テストを実施した後の演算動作結果をスキャンパスから出力するスキャンアウト端子(SO:Serial data Output)が接続されている。
【0023】
このスキャンパスでは、スキャンパステスト用のスキャンパターンをLSIの外部に設けられた自動テストパターン生成プログラム(Automatic Test Pattern Generator:以下、ATPGと称する。)により生成する。そして、このスキャンパターンに従って各機能マクロや機能回路が動作し、処理したスキャンパステスト用のスキャンパターンに従い演算動作結果を出力する。
【0024】
すなわち、スキャンパステスト用のスキャンパターンが入力された各機能マクロ及び機能回路は、各回路の論理に従ってスキャンパステスト用のスキャンパターンを処理し、その処理結果をスキャンフリップフロップ1、7に出力する。そして、スキャンフリップフロップ1、7に出力され、保持された演算動作結果を直列に順次シフトしながらスキャンアウト端子SOから出力する。
【0025】
そして、スキャンアウト端子SOから順次出力される出力信号を、予め準備された各機能マクロ及び機能回路の論理を考慮した期待値と比較して、各機能マクロ、機能回路及びこれらの接続状態の良/不良の判定を行う。
【0026】
ここで、スキャンパステスト用のスキャンパターンとして、機能マクロ、機能回路及びこれらの接続を一括してテスト可能なスキャンパターンが生成され、入力される。
【0027】
すなわち、このスキャンパスでは、機能マクロ、機能回路及びこれらの接続を一括して、すなわちLSI全体の故障検出を可能に生成したスキャンパステスト用のスキャンパターンを入力することによりLSI全体の故障検出が一括して可能な構成を備えている。
【0028】
そして、このスキャンパスでは、セレクタ4を備えることにより、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行える構成となっている。すなわち、機能マクロの故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、該信号に基づいてセレクタ4を制御して、該当する機能マクロのフリップフロップをバイパスするように切り替える。具体的には、制御信号生成回路5は、セレクタ4に対して切替制御信号を入力する。
【0029】
これにより、このスキャンパスでは、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行うことができ、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、このスキャンパスにおいては、不必要なスキャンパターンの生成が不要となり、また、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。
【0030】
図2は、上述したスキャンパスの設計方法であり、本実施の形態における半導体集積回路のスキャンパス設計方法のフローチャートである。以下、図2を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0031】
まず、ステップ1で、LSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、予め機能マクロA2と機能マクロB3との間にセレクタ4を挿入する。
【0032】
そして、機能マクロA2のスキャンパス、すなわちスキャンフリップフロップ1をバイパス可能に機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを接続する。ここで、セレクタ4の入力側は、機能マクロA2のスキャンパスの一端及びスキャンイン端子SIからの配線15が接続される。また、セレクタ4の出力側は、機能マクロB3のスキャンパスの一端に接続される。
【0033】
これにより、セレクタ4を切り替えることにより機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを切り離すことができ、機能マクロA2と機能マクロB3との両方を含むスキャンパス経路と、機能マクロB3のみのスキャンパス経路を選択することができる。
【0034】
また、このとき、セレクタ4に該セレクタ4の切り替えを制御する切り替え信号を生成する制御信号生成回路5が接続される。すなわち、セレクタ4の切り替えは、制御信号生成回路5によりセレクタ4に入力される切替制御信号により行われる。
【0035】
次に、ステップ2で、セレクタ4を機能マクロA2のスキャンパス側に切り替える。セレクタ4をこのように切り替えることにより、機能マクロA2と機能マクロB3との両方を含むスキャンパスを構成することができる。
【0036】
次に、ステップ3で、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0037】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0038】
したがって、ステップ3でこのようなスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0039】
そして、ステップ4で、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ3に戻り、スキャンパターンを生成し、テストを繰り返す。
【0040】
また、ステップ4において故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断してステップ5に進む。
【0041】
ステップ5では、セレクタ4を機能マクロA2のスキャンパスをバイパスする側に切り替える。これにより、機能マクロB3のみのスキャンパス経路を選択することができる。セレクタ4の切り替えは、制御信号生成回路5により制御される。機能マクロA2の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ4に対して機能マクロA2のスキャンパスをバイパスする側に切り替える切替制御信号を送信する。
【0042】
ここで、制御信号生成回路5はセレクタ4の切り替えを制御する切替制御信号をセレクタ4に伝えることができるものであれば、どのような手段も使用することができる。例えば、最も簡単な例では、LSIにセレクタ切り替え用のピンを設けることで実現できる。また、制御信号生成回路5は、LSIの内部及び外部のどちらに配置することができる。
【0043】
次に、ステップ6では、ステップ5でバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4が機能マクロA2のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロA2に入力されることなく、配線15を経由して機能マクロB3のスキャンパスに入力される。
【0044】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0045】
その後、機能マクロB3の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0046】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0047】
なお、ここでは、スキャンパステスト用のスキャンパターンの生成にATPGを用いた場合について説明したが、本発明においてはこれに限定されるものではなく、上述した機能を実施可能な手段であればいずれのものも使用可能である。
【0048】
実施の形態2.
つぎに、この発明の実施の形態2について説明する。上述した実施の形態1では、機能マクロA2と機能マクロB3との間にのみセレクタ4を挿入し、機能マクロA2のみをバイパス可能とした場合について説明したが、機能マクロA2もしくは機能マクロB3のいずれか一方をバイパス可能なスキャンパスを設計することも可能である。
【0049】
この場合は、図3に示すように図1において機能マクロB3とスキャンアウト端子SOとの間にもセレクタ12を挿入し、機能マクロB3のスキャンパスをバイパス可能に接続されている。
【0050】
すなわち、セレクタ12の入力側は、機能マクロB3のスキャンパスの一端及びセレクタ4の出力からの配線16が接続される。また、セレクタ12の出力側は、スキャンアウト端子SOに接続される。
【0051】
このような構成とすることにより、機能マクロA2のみをバイパスすることが可能であり、また、機能マクロB3のみをバイパスすることも可能である。なお、セレクタ12もセレクタ4同様に、制御信号生成回路5により制御される。
【0052】
図4は、上述したスキャンパスの設計方法のフローチャートである。以下、図4を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0053】
まず、ステップ11で、LSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、予め機能マクロA2と機能マクロB3との間にセレクタ4を挿入する。また、セレクタ4とスキャンアウト端子SOとの間にセレクタ12を挿入する。
【0054】
そして、機能マクロA2のスキャンパス及び機能マクロB3をバイパス可能に機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを接続する。ここで、セレクタ4の入力側は、機能マクロA2のスキャンパスの一端及びスキャンイン端子SIからの配線15が接続される。また、セレクタ4の出力側は、機能マクロB3のスキャンパスの一端に接続される。
【0055】
一方、セレクタ12の入力側は、機能マクロB3のスキャンパスの一端及びセレクタ4からの配線16が接続される。また、セレクタ12の出力側は、スキャンアウト端子SOに接続される。
【0056】
これにより、セレクタ4を切り替えることにより機能マクロA2のスキャンパスをテスト用のスキャンパスから切り離すことができ、また、セレクタ12を切り替えることにより機能マクロB3のスキャンパスをテスト用のスキャンパスから切り離すことができる。すなわち、テスト用のスキャンパスとして、機能マクロA2と機能マクロB3との両方を含むスキャンパス経路、機能マクロA2のみの経路、機能マクロB3のみのスキャンパス経路のいずれかを選択することができる。
【0057】
また、このとき、セレクタ4及びセレクタ12に各セレクタの切り替えを制御する切替制御信号を生成する制御信号生成回路5が接続される。すなわち、セレクタ4及びセレクタ12の切り替えは、制御信号生成回路5によりそれぞれのセレクタに入力される切替制御信号により行われる。
【0058】
次に、ステップ12で、セレクタ4を機能マクロA2のスキャンパス側に、すなわち、機能マクロA2のスキャンパスをバイパスしない状態に切り替える。同様に、セレクタ12を機能マクロB3のスキャンパス側に、すなわち、機能マクロB3のスキャンパスをバイパスしない状態に切り替える。これにより、機能マクロA2と機能マクロB3との両方を含み、スキャンイン端子SIからスキャンアウト端子SOまで機能マクロA2、機能マクロB3を通るスキャンパスを構成することができる。
【0059】
次に、ステップ13で、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0060】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0061】
したがって、ステップ13でスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0062】
そして、ステップ14aで、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ14bに進む。
【0063】
ステップ14bでは、機能マクロB3の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部及び機能マクロB3内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ13に戻り、スキャンパターンの生成、テストを繰り返す。
【0064】
ステップ14bにおいて故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスは未だ所定の比率以上活性化できていないが、機能マクロB2内部のパスは所定の比率以上活性化できたものと判断してステップ15bに進む。
【0065】
ステップ15bでは、セレクタ12を機能マクロB3のスキャンパスをバイパスする側に切り替える。これにより、機能マクロA2のみのスキャンパス経路を選択することができる。セレクタ12の切り替えは、制御信号生成回路5により制御される。機能マクロB3の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ12に対して機能マクロB3のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【0066】
次に、ステップ16bでは、ステップ15bでバイパスした機能マクロB3を除いて、機能マクロA2のみのスキャンパス経路のテストを行うためのスキャンパターンを生成し、生成したスキャンパターンをスキャンイン端子SIから入力し、機能マクロA2のテスト、すなわち故障検出を行う。このとき、セレクタ12が機能マクロB3のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロB3に入力されることなく、セレクタ4から配線16を経由してスキャンアウト端子SOに至る。
【0067】
これにより、故障検出率が所定の検出率に達した機能マクロB3をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロB3をテスト対象から除外するため、機能マクロB3に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができ、テスト時間の短縮を図ることが可能となる。
【0068】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0069】
また、ステップ14aで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している(Yes)と判断された場合には、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断し、ステップ15aに進む。
【0070】
ステップ15aでは、セレクタ4を機能マクロA2のスキャンパスをバイパスする側に切り替える。これにより、機能マクロB3のみのスキャンパス経路を選択することができる。セレクタ4の切り替えは、制御信号生成回路5により制御される。機能マクロA2の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ4に対して機能マクロA2のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【0071】
次に、ステップ16aでは、ステップ15aでバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4が機能マクロA2のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロA2に入力されることなく、配線15を経由して機能マクロB3のスキャンパスに入力される。
【0072】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0073】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0074】
以上のようなスキャンパターン設計方法により、複数の機能マクロを装備する半導体集積回路において、機能マクロA2または機能マクロB3のうち、先に故障検出率が所定の検出率に達した機能マクロをバイパスさせてテストを行うことが可能なスキャンパスを提供することができる。これにより、実施の形態1と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0075】
実施の形態3.
つぎに、この発明の実施の形態3について説明する。上述した実施の形態1及び実施の形態2では、スキャンパターン生成前にセレクタを予め挿入しておく設計方法について説明したが、本発明においては、スキャンパターン生成後に、スキャンパターン生成結果からセレクタの最適挿入位置を判断してセレクタを挿入しても良い。
【0076】
図5は、上述したスキャンパスの設計方法のフローチャートである。以下、図5を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0077】
まず、ステップ21で、図6に示すようにLSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0078】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0079】
したがって、ステップ21でスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0080】
そして、ステップ22aで、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ22bに進む。
【0081】
ステップ22bでは、機能マクロB3の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部及び機能マクロB3内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ21に戻り、スキャンパターンの生成、テストを繰り返す。
【0082】
ステップ22bにおいて故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスは未だ所定の比率以上活性化できていないが、機能マクロB2内部のパスは所定の比率以上活性化できたものと判断してステップ23bに進む。
【0083】
ステップ23bでは、機能マクロB3のスキャンパスをバイパスする最適位置、すなわち図7に示すように機能マクロB3とスキャンアウト端子SOとの間にセレクタ12を自動挿入し、機能マクロB3のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして機能マクロA2のみのスキャンパス経路を選択することができる。
【0084】
次に、ステップ24bでは、ステップ23bでバイパスした機能マクロB3を除いて、機能マクロA2のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロA2のテスト、すなわち故障検出を行う。このとき、セレクタ12により機能マクロB3のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロB3に入力されることがない。
【0085】
これにより、故障検出率が所定の検出率に達した機能マクロB3をバイパスして機能マクロA2のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロB3をテスト対象から除外するため、機能マクロB3に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0086】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0087】
また、ステップ22aで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している(Yes)と判断された場合には、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断し、ステップ23aに進む。
【0088】
ステップ23aでは、機能マクロA2のスキャンパスをバイパスする最適位置、すなわち図8に示すようにスキャンイン端子SIと機能マクロB3との間にセレクタ4を自動挿入し、機能マクロA2のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして、機能マクロB3のみのスキャンパス経路を選択することができる。
【0089】
次に、ステップ24aでは、ステップ23aでバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4により機能マクロA2のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロA2に入力されることがない。
【0090】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスして機能マクロB3のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0091】
その後、機能マクロB3の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0092】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、故障検出率が所定の検出率に達した機能マクロをバイパスするようにプログラムにより自動的に最適な位置を判断してセレクタを自動で挿入することで、上記と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0093】
【発明の効果】
以上説明したように、この発明によれば、故障検出率が所定の検出率に達した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減することができる。そして、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。したがって、この発明によれば、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法が得られる。
【図面の簡単な説明】
【図1】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図2】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図3】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図4】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図5】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図6】機能マクロAと機能マクロBとを縦列接合した状態を示すスキャンパスの構成図である。
【図7】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図8】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【符号の説明】
1 スキャンフリップフロップ、2 機能マクロA、3 機能マクロB、4 セレクタ、5 制御信号生成回路、7 スキャンフリップフロップ、12 セレクタ、13 機能回路、14 配線、15 配線、16 配線。
【発明の属する技術分野】
この発明は、複数の機能マクロを備えた半導体集積回路(以下、LSIと称する場合がある。)のスキャンパス設計方法に関するものである。
【0002】
【従来の技術】
従来、複数の機能マクロを備えた半導体集積回路の機能テストをスキャンパス方式で実施する際には、フリップフロップ回路を縦続接続してシフトレジスタ回路として動作させ、スキャンパス回路を構成している。さらに、複数の機能マクロのスキャンパスを接続して1本のスキャンパスを構成している。
【0003】
ここで、スキャンパステストに要する時間はスキャンパステストを構成するシフトレジスタの長さに比例して長くなる。そして、近年、半導体集積回路は大規模化が進んでおり、これに伴ってテスト時間も長くなるという傾向がある。
【0004】
そこで、テスト時間を短縮する方法としては、例えばスキャンパスを複数本に分割し、1本あたりのスキャンパスの長さを短く設計するというスキャンパス構成方法が用いられる。
【0005】
例えば、スキャンパスの分割数と各論理ブロックの配置情報、各論理ブロック内のスキャンパステスト対象フリップフロップ数を利用して各論理ブロック内に割り当てるスキャンパス分割本数を配線面積が最小になるように決定するという設計方法がある(例えば特許文献1参照。)。
【0006】
【特許文献1】
特開2000−90137号公報
【0007】
【発明が解決しようとする課題】
しかしながら、特許文献1のようにスキャンパスを複数本に分割した場合には、分割したスキャンパス間の故障検出をするために別途、専用のスキャンパステスト用のスキャンパターンを用意しなければならず、テストに用いるスキャンパターンが多くなってしまう。
【0008】
また、スキャンパスを分割しない従来のスキャンパス方式のテストにおいては、機能マクロの故障検出の難易度に関係なくスキャンパスを構成している。そして、ある機能マクロAの故障検出が、少ないスキャンパターンにより短時間で可能である場合でも、この機能マクロAと接続された同一スキャンパス上にある他の機能マクロBの故障を見つけるためには、すでに故障検出が終了してスキャンパターンの生成、入力が不要な機能マクロAを含め、全てのスキャンパスに対してスキャンパターンを生成、入力する必要がある。
【0009】
その結果、スキャンパターン数が不必要に多くなり、また、テスト時間も長くなるという問題がある。したがって、半導体集積回路全体の故障を一括して、且つ、短時間で検出可能なスキャンパスは実現されていないのが現状である。
【0010】
この発明は上記に鑑みてなされたもので、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を得ることを目的とする。
【0011】
【課題を解決するための手段】
以上のような課題を解決する本発明に係る半導体集積回路のスキャンパス設計方法は、半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程とを備えたことを特徴とする。
【0012】
以上のような本発明に係る半導体集積回路の設計方法では、まず、はじめに所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入した状態で、半導体集積回路全体、すなわち、複数の機能マクロ、機能回路及びこれらの接続状態をテストするためのスキャンパターンを生成する。
【0013】
そして、ある機能マクロの故障検出率が所定の検出率に達した場合、セレクタを切り替えてスキャンパスの接続を変更することにより該機能マクロのスキャンパスをパイバスさせてテスト対象から除外する。この後、バイパスした機能マクロを除いた残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンを生成しテストを行う。
【0014】
そして、所定の故障検出率に達した機能マクロのスキャンパスのバイパス、及び残りの機能マクロ、機能回路及びこれらの接続のみをテストするスキャンパターンの生成を繰り返す。
【0015】
このような本発明に係る半導体集積回路の設計方法によれば、故障検出率が所定の検出率に達した、すなわち、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減されたスキャンパスの設計が可能である。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間が短縮化されたスキャンパスの設計が可能である。
【0016】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る好適な実施の形態を詳細に説明する。本発明は、複数の機能マクロを装備する半導体集積回路のスキャンパス設計方法であり、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法を提供するものである。なお、本発明は、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0017】
実施の形態1.
図1は、本発明に係る半導体集積回路のスキャンパス設計方法により設計し、構成した、スキャンパステスト時のスキャンパスの構成図である。
【0018】
図1に示すようにこのスキャンパスでは、機能マクロA2のスキャンフリップフロップ1がシリアル接続(縦列接続)されてなる機能マクロA2のスキャンパスと、機能マクロB3のスキャンフリップフロップ7がシリアル接続されてなる機能マクロB3のスキャンパスとがシリアル接続されて1本の長いパスが構成されている。
【0019】
機能マクロA2のスキャンフリップフロップ1のうち、機能マクロB3側のスキャンフリップフロップ1と、機能マクロBのスキャンフリップフロップ7のうちの機能マクロA2側のスキャンフリップフロップとは、パラレル方向(図1における横方向)に配線14により接続されている。
【0020】
また、機能マクロA2のスキャンフリップフロップ1のうち、機能マクロB3側のスキャンフリップフロップ1と、機能マクロBのスキャンフリップフロップ7のうちの機能マクロA2側のスキャンフリップフロップ7との間の一部には、組み合わせ回路からなる機能回路13が配置されている。
【0021】
また、機能マクロA2と機能マクロB3との間には、セレクタ4が配置されることにより機能マクロA2のスキャンパス、すなわちスキャンフリップフロップ1をバイパス可能とされている。そして、セレクタ4は、セレクタ4の切り替え信号を生成する制御信号生成回路5が接続されており、該制御信号生成回路5により適宜切り替えが制御される。
【0022】
また、機能マクロA2のスキャンパスの機能マクロB3と反対側の一端には、スキャンパステスト用のスキャンパターンを入力するスキャンイン端子(SI:Serial data Input)が接続されている。そして、機能マクロB3のスキャンパスの機能マクロA2と反対側の一端には、テストを実施した後の演算動作結果をスキャンパスから出力するスキャンアウト端子(SO:Serial data Output)が接続されている。
【0023】
このスキャンパスでは、スキャンパステスト用のスキャンパターンをLSIの外部に設けられた自動テストパターン生成プログラム(Automatic Test Pattern Generator:以下、ATPGと称する。)により生成する。そして、このスキャンパターンに従って各機能マクロや機能回路が動作し、処理したスキャンパステスト用のスキャンパターンに従い演算動作結果を出力する。
【0024】
すなわち、スキャンパステスト用のスキャンパターンが入力された各機能マクロ及び機能回路は、各回路の論理に従ってスキャンパステスト用のスキャンパターンを処理し、その処理結果をスキャンフリップフロップ1、7に出力する。そして、スキャンフリップフロップ1、7に出力され、保持された演算動作結果を直列に順次シフトしながらスキャンアウト端子SOから出力する。
【0025】
そして、スキャンアウト端子SOから順次出力される出力信号を、予め準備された各機能マクロ及び機能回路の論理を考慮した期待値と比較して、各機能マクロ、機能回路及びこれらの接続状態の良/不良の判定を行う。
【0026】
ここで、スキャンパステスト用のスキャンパターンとして、機能マクロ、機能回路及びこれらの接続を一括してテスト可能なスキャンパターンが生成され、入力される。
【0027】
すなわち、このスキャンパスでは、機能マクロ、機能回路及びこれらの接続を一括して、すなわちLSI全体の故障検出を可能に生成したスキャンパステスト用のスキャンパターンを入力することによりLSI全体の故障検出が一括して可能な構成を備えている。
【0028】
そして、このスキャンパスでは、セレクタ4を備えることにより、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行える構成となっている。すなわち、機能マクロの故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、該信号に基づいてセレクタ4を制御して、該当する機能マクロのフリップフロップをバイパスするように切り替える。具体的には、制御信号生成回路5は、セレクタ4に対して切替制御信号を入力する。
【0029】
これにより、このスキャンパスでは、故障検出率が所定の検出率に達した機能マクロをバイパスしてテストを行うことができ、故障検出の終了した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、より少ないスキャンパターンでテストを行うことができる。これにより、このスキャンパスにおいては、不必要なスキャンパターンの生成が不要となり、また、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。
【0030】
図2は、上述したスキャンパスの設計方法であり、本実施の形態における半導体集積回路のスキャンパス設計方法のフローチャートである。以下、図2を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0031】
まず、ステップ1で、LSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、予め機能マクロA2と機能マクロB3との間にセレクタ4を挿入する。
【0032】
そして、機能マクロA2のスキャンパス、すなわちスキャンフリップフロップ1をバイパス可能に機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを接続する。ここで、セレクタ4の入力側は、機能マクロA2のスキャンパスの一端及びスキャンイン端子SIからの配線15が接続される。また、セレクタ4の出力側は、機能マクロB3のスキャンパスの一端に接続される。
【0033】
これにより、セレクタ4を切り替えることにより機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを切り離すことができ、機能マクロA2と機能マクロB3との両方を含むスキャンパス経路と、機能マクロB3のみのスキャンパス経路を選択することができる。
【0034】
また、このとき、セレクタ4に該セレクタ4の切り替えを制御する切り替え信号を生成する制御信号生成回路5が接続される。すなわち、セレクタ4の切り替えは、制御信号生成回路5によりセレクタ4に入力される切替制御信号により行われる。
【0035】
次に、ステップ2で、セレクタ4を機能マクロA2のスキャンパス側に切り替える。セレクタ4をこのように切り替えることにより、機能マクロA2と機能マクロB3との両方を含むスキャンパスを構成することができる。
【0036】
次に、ステップ3で、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0037】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0038】
したがって、ステップ3でこのようなスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0039】
そして、ステップ4で、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ3に戻り、スキャンパターンを生成し、テストを繰り返す。
【0040】
また、ステップ4において故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断してステップ5に進む。
【0041】
ステップ5では、セレクタ4を機能マクロA2のスキャンパスをバイパスする側に切り替える。これにより、機能マクロB3のみのスキャンパス経路を選択することができる。セレクタ4の切り替えは、制御信号生成回路5により制御される。機能マクロA2の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ4に対して機能マクロA2のスキャンパスをバイパスする側に切り替える切替制御信号を送信する。
【0042】
ここで、制御信号生成回路5はセレクタ4の切り替えを制御する切替制御信号をセレクタ4に伝えることができるものであれば、どのような手段も使用することができる。例えば、最も簡単な例では、LSIにセレクタ切り替え用のピンを設けることで実現できる。また、制御信号生成回路5は、LSIの内部及び外部のどちらに配置することができる。
【0043】
次に、ステップ6では、ステップ5でバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4が機能マクロA2のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロA2に入力されることなく、配線15を経由して機能マクロB3のスキャンパスに入力される。
【0044】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0045】
その後、機能マクロB3の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0046】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0047】
なお、ここでは、スキャンパステスト用のスキャンパターンの生成にATPGを用いた場合について説明したが、本発明においてはこれに限定されるものではなく、上述した機能を実施可能な手段であればいずれのものも使用可能である。
【0048】
実施の形態2.
つぎに、この発明の実施の形態2について説明する。上述した実施の形態1では、機能マクロA2と機能マクロB3との間にのみセレクタ4を挿入し、機能マクロA2のみをバイパス可能とした場合について説明したが、機能マクロA2もしくは機能マクロB3のいずれか一方をバイパス可能なスキャンパスを設計することも可能である。
【0049】
この場合は、図3に示すように図1において機能マクロB3とスキャンアウト端子SOとの間にもセレクタ12を挿入し、機能マクロB3のスキャンパスをバイパス可能に接続されている。
【0050】
すなわち、セレクタ12の入力側は、機能マクロB3のスキャンパスの一端及びセレクタ4の出力からの配線16が接続される。また、セレクタ12の出力側は、スキャンアウト端子SOに接続される。
【0051】
このような構成とすることにより、機能マクロA2のみをバイパスすることが可能であり、また、機能マクロB3のみをバイパスすることも可能である。なお、セレクタ12もセレクタ4同様に、制御信号生成回路5により制御される。
【0052】
図4は、上述したスキャンパスの設計方法のフローチャートである。以下、図4を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0053】
まず、ステップ11で、LSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、予め機能マクロA2と機能マクロB3との間にセレクタ4を挿入する。また、セレクタ4とスキャンアウト端子SOとの間にセレクタ12を挿入する。
【0054】
そして、機能マクロA2のスキャンパス及び機能マクロB3をバイパス可能に機能マクロA2のスキャンパスと機能マクロB3のスキャンパスとを接続する。ここで、セレクタ4の入力側は、機能マクロA2のスキャンパスの一端及びスキャンイン端子SIからの配線15が接続される。また、セレクタ4の出力側は、機能マクロB3のスキャンパスの一端に接続される。
【0055】
一方、セレクタ12の入力側は、機能マクロB3のスキャンパスの一端及びセレクタ4からの配線16が接続される。また、セレクタ12の出力側は、スキャンアウト端子SOに接続される。
【0056】
これにより、セレクタ4を切り替えることにより機能マクロA2のスキャンパスをテスト用のスキャンパスから切り離すことができ、また、セレクタ12を切り替えることにより機能マクロB3のスキャンパスをテスト用のスキャンパスから切り離すことができる。すなわち、テスト用のスキャンパスとして、機能マクロA2と機能マクロB3との両方を含むスキャンパス経路、機能マクロA2のみの経路、機能マクロB3のみのスキャンパス経路のいずれかを選択することができる。
【0057】
また、このとき、セレクタ4及びセレクタ12に各セレクタの切り替えを制御する切替制御信号を生成する制御信号生成回路5が接続される。すなわち、セレクタ4及びセレクタ12の切り替えは、制御信号生成回路5によりそれぞれのセレクタに入力される切替制御信号により行われる。
【0058】
次に、ステップ12で、セレクタ4を機能マクロA2のスキャンパス側に、すなわち、機能マクロA2のスキャンパスをバイパスしない状態に切り替える。同様に、セレクタ12を機能マクロB3のスキャンパス側に、すなわち、機能マクロB3のスキャンパスをバイパスしない状態に切り替える。これにより、機能マクロA2と機能マクロB3との両方を含み、スキャンイン端子SIからスキャンアウト端子SOまで機能マクロA2、機能マクロB3を通るスキャンパスを構成することができる。
【0059】
次に、ステップ13で、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0060】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0061】
したがって、ステップ13でスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0062】
そして、ステップ14aで、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ14bに進む。
【0063】
ステップ14bでは、機能マクロB3の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部及び機能マクロB3内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ13に戻り、スキャンパターンの生成、テストを繰り返す。
【0064】
ステップ14bにおいて故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスは未だ所定の比率以上活性化できていないが、機能マクロB2内部のパスは所定の比率以上活性化できたものと判断してステップ15bに進む。
【0065】
ステップ15bでは、セレクタ12を機能マクロB3のスキャンパスをバイパスする側に切り替える。これにより、機能マクロA2のみのスキャンパス経路を選択することができる。セレクタ12の切り替えは、制御信号生成回路5により制御される。機能マクロB3の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ12に対して機能マクロB3のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【0066】
次に、ステップ16bでは、ステップ15bでバイパスした機能マクロB3を除いて、機能マクロA2のみのスキャンパス経路のテストを行うためのスキャンパターンを生成し、生成したスキャンパターンをスキャンイン端子SIから入力し、機能マクロA2のテスト、すなわち故障検出を行う。このとき、セレクタ12が機能マクロB3のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロB3に入力されることなく、セレクタ4から配線16を経由してスキャンアウト端子SOに至る。
【0067】
これにより、故障検出率が所定の検出率に達した機能マクロB3をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロB3をテスト対象から除外するため、機能マクロB3に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができ、テスト時間の短縮を図ることが可能となる。
【0068】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0069】
また、ステップ14aで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している(Yes)と判断された場合には、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断し、ステップ15aに進む。
【0070】
ステップ15aでは、セレクタ4を機能マクロA2のスキャンパスをバイパスする側に切り替える。これにより、機能マクロB3のみのスキャンパス経路を選択することができる。セレクタ4の切り替えは、制御信号生成回路5により制御される。機能マクロA2の故障検出率が所定の検出率に達した場合には、ATPGがこれを検出し、制御信号生成回路5に信号を入力する。そして、制御信号生成回路5では、この信号に基づいてセレクタ4に対して機能マクロA2のスキャンパスをバイパスする側に切り替える切替制御信号を入力する。
【0071】
次に、ステップ16aでは、ステップ15aでバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4が機能マクロA2のスキャンパスをバイパスする側に切り替えられているため、このスキャンパターンは機能マクロA2に入力されることなく、配線15を経由して機能マクロB3のスキャンパスに入力される。
【0072】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスしてテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0073】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0074】
以上のようなスキャンパターン設計方法により、複数の機能マクロを装備する半導体集積回路において、機能マクロA2または機能マクロB3のうち、先に故障検出率が所定の検出率に達した機能マクロをバイパスさせてテストを行うことが可能なスキャンパスを提供することができる。これにより、実施の形態1と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0075】
実施の形態3.
つぎに、この発明の実施の形態3について説明する。上述した実施の形態1及び実施の形態2では、スキャンパターン生成前にセレクタを予め挿入しておく設計方法について説明したが、本発明においては、スキャンパターン生成後に、スキャンパターン生成結果からセレクタの最適挿入位置を判断してセレクタを挿入しても良い。
【0076】
図5は、上述したスキャンパスの設計方法のフローチャートである。以下、図5を参照しながら、本実施の形態における半導体集積回路のスキャンパス設計方法の工程について説明する。
【0077】
まず、ステップ21で、図6に示すようにLSI内の機能マクロA2のスキャンフリップフロップ1と機能マクロB3のスキャンフリップフロップ7とがシリアル接続(縦列接続)されて1本の長いパスが構成された状態において、LSI外部に設けたATPGにより機能マクロA2と機能マクロB3の両方のテストを行うスキャンパターンを生成する。そして、生成したスキャンパターンをスキャンイン端子SIからLSIに入力し、各機能マクロのテスト、すなわち故障検出を行う。
【0078】
また、このとき生成されるスキャンパターンとしては、機能マクロA2と機能マクロB3それぞれの内部の故障に加えて、機能マクロA2と機能マクロB3との間に配置された機能回路13、及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が可能なスキャンパターンが生成される。
【0079】
したがって、ステップ21でスキャンパターンを入力することにより、機能マクロA2、機能マクロB3、機能回路13及び機能マクロA2と機能マクロB3とを接続する配線14の故障検出が行われる。
【0080】
そして、ステップ22aで、機能マクロA2の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部のパスを未だ所定の比率以上活性化できていないものと判断し、ステップ22bに進む。
【0081】
ステップ22bでは、機能マクロB3の故障がある規定以上見つかったかどうかをATPGが判断する。故障検出率が所定の検出率に達していない(No)場合には、機能マクロA2内部及び機能マクロB3内部のパスを未だ所定の比率以上活性化できていないものと判断し、再びステップ21に戻り、スキャンパターンの生成、テストを繰り返す。
【0082】
ステップ22bにおいて故障検出率が所定の検出率に達している(Yes)場合は、機能マクロA2内部のパスは未だ所定の比率以上活性化できていないが、機能マクロB2内部のパスは所定の比率以上活性化できたものと判断してステップ23bに進む。
【0083】
ステップ23bでは、機能マクロB3のスキャンパスをバイパスする最適位置、すなわち図7に示すように機能マクロB3とスキャンアウト端子SOとの間にセレクタ12を自動挿入し、機能マクロB3のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして機能マクロA2のみのスキャンパス経路を選択することができる。
【0084】
次に、ステップ24bでは、ステップ23bでバイパスした機能マクロB3を除いて、機能マクロA2のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロA2のテスト、すなわち故障検出を行う。このとき、セレクタ12により機能マクロB3のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロB3に入力されることがない。
【0085】
これにより、故障検出率が所定の検出率に達した機能マクロB3をバイパスして機能マクロA2のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロB3をテスト対象から除外するため、機能マクロB3に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0086】
その後、機能マクロA2の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0087】
また、ステップ22aで、機能マクロの故障がある規定以上見つかった場合、すなわち、故障検出率が所定の検出率に達している(Yes)と判断された場合には、機能マクロA2内部のパスを所定の比率以上活性化できたものと判断し、ステップ23aに進む。
【0088】
ステップ23aでは、機能マクロA2のスキャンパスをバイパスする最適位置、すなわち図8に示すようにスキャンイン端子SIと機能マクロB3との間にセレクタ4を自動挿入し、機能マクロA2のスキャンパスをバイパスさせる。これにより、テスト用のスキャンパスとして、機能マクロB3のみのスキャンパス経路を選択することができる。
【0089】
次に、ステップ24aでは、ステップ23aでバイパスした機能マクロA2を除いて、機能マクロB3のみのスキャンパス経路のテストを行うためのスキャンパターンを生成する。そして、該スキャンパターンをスキャンイン端子SIから入力し、機能マクロB3のテスト、すなわち故障検出を行う。このとき、セレクタ4により機能マクロA2のスキャンパスがバイパスされているため、このスキャンパターンは機能マクロA2に入力されることがない。
【0090】
これにより、故障検出率が所定の検出率に達した機能マクロA2をバイパスして機能マクロB3のテストを行うことができる。すなわち、スキャンパスの接続を変更することにより故障検出の終了した機能マクロA2をテスト対象から除外するため、機能マクロA2に対するスキャンパターンが不要となり、より少ないスキャンパターンでテストを行うことができる。すなわち、不必要なスキャンパターンの生成が不要となり、スキャンパターン数の削減が可能となる。また、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減することができるため、テスト時間の短縮を図ることが可能となる。
【0091】
その後、機能マクロB3の故障検出が所定の故障検出率に達した時点で、テストが終了となる。
【0092】
以上のようなスキャンパターン設計方法によれば、複数の機能マクロを装備する半導体集積回路において、故障検出率が所定の検出率に達した機能マクロをバイパスするようにプログラムにより自動的に最適な位置を判断してセレクタを自動で挿入することで、上記と同様に、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスを提供することができる。
【0093】
【発明の効果】
以上説明したように、この発明によれば、故障検出率が所定の検出率に達した機能マクロをテスト対象から除外するようにスキャンパスの接続を変更するため、不必要なスキャンパターンの生成が不要となりスキャンパターンの生成数が削減することができる。そして、故障検出が終了した機能マクロをバイパスしてテストを行うため、不要なテスト時間を削減してテスト時間の短縮を図ることが可能である。したがって、この発明によれば、より少ないテストパターンで短時間に半導体集積回路全体の故障検出が可能なスキャンパスの設計方法が得られる。
【図面の簡単な説明】
【図1】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図2】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図3】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図4】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図5】本発明に係る半導体集積回路のスキャンパス設計方法のフローチャートである。
【図6】機能マクロAと機能マクロBとを縦列接合した状態を示すスキャンパスの構成図である。
【図7】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【図8】本発明に係る半導体集積回路のスキャンパス設計方法により構成したスキャンパスの構成図である。
【符号の説明】
1 スキャンフリップフロップ、2 機能マクロA、3 機能マクロB、4 セレクタ、5 制御信号生成回路、7 スキャンフリップフロップ、12 セレクタ、13 機能回路、14 配線、15 配線、16 配線。
Claims (2)
- 半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、
所定の故障検出率に達した機能マクロのスキャンパスをバイパスするためのセレクタを各機能マクロ間に挿入する工程と、
機能マクロをバイパスさせずに機能マクロ、機能回路及びこれらの接続をテストするスキャンパターンを生成する工程と、
前記セレクタを切り替えて故障検出率が所定の検出率に達した機能マクロのスキャンパスをバイパスする工程と、
前記スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と
を備えたことを特徴とする半導体集積回路のスキャンパス設計方法。 - 半導体集積回路内の複数の機能マクロ、機能回路及びこれらの接続状態をテストするための半導体集積回路のスキャンパス設計方法であって、
前記機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と、
所定の故障検出率に達した機能マクロのスキャンパスをバイパスする位置にセレクタを挿入して該機能マクロのスキャンパスをバイパスする工程と、
前記スキャンパスをバイパスした機能マクロ以外の機能マクロ、機能回路及びこれらの接続状態をテストするスキャンパターンを生成する工程と
を備えたことを特徴とする半導体集積回路のスキャンパス設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003046343A JP2004258791A (ja) | 2003-02-24 | 2003-02-24 | 半導体集積回路のスキャンパス設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003046343A JP2004258791A (ja) | 2003-02-24 | 2003-02-24 | 半導体集積回路のスキャンパス設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004258791A true JP2004258791A (ja) | 2004-09-16 |
Family
ID=33112914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003046343A Pending JP2004258791A (ja) | 2003-02-24 | 2003-02-24 | 半導体集積回路のスキャンパス設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004258791A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011027566A (ja) * | 2009-07-27 | 2011-02-10 | Nec Corp | Lsi、及びそのテストデータ設定方法 |
JP2012128819A (ja) * | 2010-12-17 | 2012-07-05 | Fujitsu Semiconductor Ltd | 回路設計方法、プログラム及び半導体集積回路 |
JP7107602B1 (ja) * | 2021-02-25 | 2022-07-27 | Necプラットフォームズ株式会社 | スキャンパス回路の故障個所特定装置、故障個所特定方法およびプログラム |
-
2003
- 2003-02-24 JP JP2003046343A patent/JP2004258791A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011027566A (ja) * | 2009-07-27 | 2011-02-10 | Nec Corp | Lsi、及びそのテストデータ設定方法 |
JP2012128819A (ja) * | 2010-12-17 | 2012-07-05 | Fujitsu Semiconductor Ltd | 回路設計方法、プログラム及び半導体集積回路 |
JP7107602B1 (ja) * | 2021-02-25 | 2022-07-27 | Necプラットフォームズ株式会社 | スキャンパス回路の故障個所特定装置、故障個所特定方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20070007092A (ko) | 테스트 랩퍼 아키텍처, 랩퍼 입/출력 셀 및 이의 테스트방법, 집적회로, 자동 테스트 장치 | |
US7778790B2 (en) | Semiconductor integrated circuit device and delay fault testing method | |
US7380183B2 (en) | Semiconductor circuit apparatus and scan test method for semiconductor circuit | |
JP2007205933A (ja) | 半導体集積回路 | |
JP5099869B2 (ja) | 半導体集積回路および半導体集積回路のテスト方法 | |
US20090212818A1 (en) | Integrated circuit design method for improved testability | |
JP2004258791A (ja) | 半導体集積回路のスキャンパス設計方法 | |
JP2004361351A (ja) | スキャンパス回路およびそれを備える論理回路ならびに集積回路のテスト方法 | |
EP1584935A1 (en) | Configuration of unused external pins during the test mode in a semiconductor integrated circuit | |
JP2003121497A (ja) | 論理回路テスト用スキャンパス回路及びこれを備えた集積回路装置 | |
JP2007212339A (ja) | 半導体装置及びそのテスト回路の追加方法 | |
US7051254B2 (en) | Semiconductor integrated circuit device and method for designing a semiconductor integrated circuit device | |
JP2007003338A (ja) | 半導体装置及びそのテスト方法 | |
JP2007109720A (ja) | 半導体集積回路の配線構造及び半導体集積回路の配線方法 | |
US6321355B1 (en) | Semiconductor integrated circuit and method of testing the same | |
JP2005017067A (ja) | 自己テスト回路内蔵の半導体集積回路およびその故障診断方法 | |
JP3544912B2 (ja) | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 | |
JP2004286549A (ja) | スキャンテスト装置およびその設計方法 | |
JP2010032428A (ja) | 半導体装置及び半導体装置の検査方法 | |
JP2006004509A (ja) | 半導体集積回路およびハードマクロ回路 | |
JP2004012399A (ja) | スキャン機能付きフリップフロップ回路、スキャンテスト回路および半導体集積回路 | |
KR100333640B1 (ko) | 메모리바운더리용의사스캔셀 | |
JPH07294606A (ja) | 半導体集積回路の自己検査回路 | |
JP2004163287A (ja) | 半導体集積回路 | |
JP2006170963A (ja) | 半導体集積回路装置のテスト回路 |