JP3851782B2 - 半導体集積回路及びそのテスト方法 - Google Patents
半導体集積回路及びそのテスト方法 Download PDFInfo
- Publication number
- JP3851782B2 JP3851782B2 JP2001063725A JP2001063725A JP3851782B2 JP 3851782 B2 JP3851782 B2 JP 3851782B2 JP 2001063725 A JP2001063725 A JP 2001063725A JP 2001063725 A JP2001063725 A JP 2001063725A JP 3851782 B2 JP3851782 B2 JP 3851782B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- observation
- observation point
- test
- semiconductor integrated
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/40—Response verification devices using compression techniques
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
この発明は、半導体集積回路及びそのテスト方法に関するもので、特に半導体集積回路の面積効率を向上させ、且つ故障検出率を向上させるための技術に係るものである。
【0002】
【従来の技術】
従来、マイコン等のLSI(Large Scale Integrated circuit)製品では、機能検証目的のために人手で作成した通常動作用のテストパターンを、量産での出荷テストにも用いることが一般的に行われてきた。この方法における故障検出率の向上は、テストパターンを用いて対象とするLSIの故障シミュレーションを実施し、その結果得られる未検出故障リストを調べ、その未検出故障を検出できそうなテストパターンを追加して再度故障シミュレーションを行い、その効果を確認する、という形を基本として進められる。この方法は、テスト回路の付加が全く必要ないという意味で、最も面積コストの低い方法である。しかし、比較的高い故障検出率(85%〜92%程度)の達成は容易なものの、LSI内部の深いロジックや、LSIのテスト環境の設定により検出困難な未検出故障を外部からのテストパターンだけによって完全に検出することは極めて困難であった。そのため、最近のLSI商品に要求されている、例えば95%以上という高い故障検出率の達成には膨大な労力を費やす必要があり、しかも必ず目標値に到達できるという保証が得られないと言う点が大きな問題であった。
【0003】
一方、大規模なシステムLSI製品に用いられている、フルスキャン設計をベースとするテスト容易化設計手法では、ATPG(Automatic Test Pattern Generation)ツールによって95%以上の故障検出率のテストパターンを容易に達成することができる。しかし、この方法では内部のほぼ全てのフリップフロップ、ラッチのスキャン化(スキャン動作可能な回路構成への変更)が必要で、これに伴う面積増加が5%から20%にも及ぶ場合がある。そのため、長期に亙って生産され、コスト競争の厳しいマイコン製品等では必ずしも満足の出来る解決法とはなっていなかった。
【0004】
基本的なスキャン設計手法につき図17を用いて説明する。図17はLSI内部の概略構成を示している。本手法は、スキャン用のクロックシステムがシステムクロックと共通に使用される方式である。
【0005】
図示するように、LSI100内部には組み合わせロジック(ランダムロジック)200と、LSI100のメモリ要素であるフリップフロップ210-1〜210-4が設けられている。また、各フリップフロップ210-1〜210-4の各入力Dの直前には、テストモード信号TESTにより制御されるマルチプレクサ220-1〜220-4が設けられている。1段目のマルチプレクサ220-1には、スキャンイン端子SIから入力されるテストパターンと、組み合わせロジック200からの出力とが入力され、TEST信号により選択されたいずれかがフリップフロップ210-1に入力される。次段のマルチプレクサ220-2には、フリップフロップ210-1の出力Qと組み合わせロジック200からの出力が入力され、選択されたいずれかがフリップフロップ210-2の入力となる。以降、フリップフロップ210-3、210-4についても同様であり、最終段のフリップフロップ210-4の出力がスキャンアウト端子SOとなる。
【0006】
上記回路において、TEST=0の時は通常動作が行われる。すなわち、各フリップフロップ210-1〜210-4には通常動作の組み合わせロジック200からの出力がクロックに同期して格納される。一方、TEST=1の時はスキャン動作が行われる。すなわち、全てのフリップフロップ210-1〜210-4が、スキャンイン端子SIを入力、スキャンアウト端子SOを出力とするシフトレジスタとして動作する。そして、LSI100外部からフリップフロップ210-1〜210-4に任意のテストデータをシリアルに入力できると共に、それらの内容をLSI100外部に読み出せるように(スキャン動作可能に)なる。スキャンテストは、
(1)TEST=1として必要なテストデータの設定とテスト結果の読み出しをシリアルに実施、
(2)TEST=0として通常動作のテスト結果を各フリップフロップに格納、
という2種類のステップを繰り返し行うことによって実行される。このように、スキャン設計手法によりLSI内部のフリップフロップ、ラッチは仮想的に外部の端子と同等に扱えるようになる。そのため、テストパターン発生には組み合わせ回路に対するテスト発生アルゴリズムが適用できることになり、現在では市販のATPGツールを活用して高い故障検出率を比較的容易に得ることが出来るようになっている。但し、既に触れたように、スキャン設計手法では、高い故障検出率を確実に得るためにはほぼ全てのフリップフロップ、ラッチのスキャン化が必要で、面積増加が大きいことが問題である。また、例えば図17の例でマルチプレクサが挿入されているように、インプリメントの方法によっては通常動作の性能(動作周波数)が低下してしまうという問題もあった。
【0007】
さて、テスト対象のLSIの故障検出率を向上させるために観測ポイントを追加するという手法そのものは従来からあった。最も単純なものは、観測したいノードをLSIの外部端子に引き出し、テスト実行時に直接観測するというものである。しかし、このような方法では端子数が観測ポイントの数だけ増加してしまい、現実的な解とは言えない。この問題への対策として、複数の観測ポイントを排他的論理和(exclusive OR : XOR)ゲートに入力し、その出力だけを観測するという方法も考案されている。しかし、この考案であっても故障が発生した場合の解析が依然として困難である。そのため、多数の観測ポイントを1つに纏めることは出来ず、観測ポイントを増加させるとそれに応じて外部端子数が増加するという問題を本質的に解決するものではなかった。
【0008】
そこで、LSI内部に多数の観測ポイントが存在する場合に、LSIの端子数を増加させない従来の方法としては、並列シグネチャ圧縮レジスタが一般的に用いられてきており、マイクロプロセッサ等の内部に観測用レジスタとして設けると言った形で利用されてきた。図18にシグネチャ圧縮以外の動作も含んだ基本的な構成例(4ビット幅)を示す。これは、BILBO(Built-In Block Observer)として知られる回路とほぼ同じである。
【0009】
図示するように、本回路はクロックCLKにより動作する4つのフリップフロップ210-5〜210-8を備えている。3段目のフリップフロップ210-7と4段目のフリップフロップ210-8の出力は、XORゲート230-1により排他的論理和演算が行われ、この演算結果及びスキャンイン端子SIからのテストパターンのいずれかが、信号Aによりマルチプレクサ240で選択される。スキャンイン端子SIは例えばLSI100の外部入力端子である。
【0010】
各観測ポイントにおいて観測された信号をそれぞれ信号D[0]〜D[3]とすると、これらの信号D[0]〜D[3]は信号AとANDゲート250-1〜250-4にてそれぞれ論理積演算が行われる。
【0011】
マルチプレクサ240により選択された信号は、信号BとANDゲート250-5にて論理積演算が行われる。そして、この論理積演算結果とANDゲート250-1の出力との排他的論理和演算がXORゲート230-2にて行われ、その排他的論理和演算結果がフリップフロップ210-5の入力Dとなる。フリップフロップ210-5の出力Qは、ANDゲート250-2における演算結果との排他的論理和演算がXORゲート230-3で行われ、この演算結果がフリップフロップ210-6の入力Dとなる。
【0012】
以降、フリップフロップ210-6、210-7の出力QはANDゲート250-7、250-8により信号Bとの論理積演算が行われ、この演算結果はXORゲート230-4、230-5によりANDゲート250-3、250-4の出力との排他的論理和演算が行われ、その出力がそれぞれ次段のフリップフロップ210-7、210-8の各入力Dとなる。そして、フリップフロップ210-8の出力Qはバッファ260を経由してスキャンアウト端子SOより出力される。スキャンアウト端子SOは、例えばLSI100の外部出力端子である。
【0013】
また、各フリップフロップ210-5〜210-8の出力Q[0]〜Q[3]は、通常、LSI100内の別の回路ブロックへの入力となる。
【0014】
さて、上記回路の動作は信号A、Bにより表1に示すように制御される。
【0015】
【表1】
【0016】
以下、各動作につき、本図のビット1(フリップフロップ210-6)を中心に説明する。A=0、B=0の時、ANDゲート250-2、250-6の出力は共に”0”となり、XORゲート230-3の出力も”0”となる。従って、フリップフロップ210-6を含めた全てのフリップフロップに0が入力され、リセット動作が行われる。
【0017】
次に、A=0、B=1の時、マルチプレクサ240はスキャンイン端子SIから入力されたデータを選択する。また、XORゲート230-3の出力は、ANDゲート250-6の出力(1個手前のフリップフロップ210-5の出力)と同じになり、全体としては4個のフリップフロップ210-5〜210-8がシリアル接続されたのと同じになり、クロックに同期したシリアル動作をすることになる。
【0018】
次に、A=1、B=0の時、D[1]と同じ値がフリップフロップ210-6に格納されることになり、全体としては観測ポイントの出力をキャプチャする動作を行う。
【0019】
また、A=1、B=1の時、D[1]と1個手前のフリップフロップ210-5の出力Qとの排他的論理和がフリップフロップ210-6に格納され、同時にXORゲート230-1の出力とD[0]との排他的論理和がビット0のフリップフロップ210-5に格納される。すなわち、全体としてはシグネチャ圧縮レジスタとなり、シグネチャ圧縮動作が行われる。この動作では、フリップフロップ内のデータと新たに印加される観測ポイントからの出力とにより、疑似乱数化されたデータがフリップフロップ内に生成される。そしてテスト終了後は、テスト結果として、観測ポイントからの出力データの時系列に固有なデータがフリップフロップに格納されていることとなる。
【0020】
テストの順序としては、まず観測すべき最初のデータが出力される前に、A=0、B=0に設定することで、フリップフロップの内部を0にしておく。次に、A=1、B=1として、観測ポイントからの全ての有効な出力をシグネチャ圧縮する。テスト終了後、A=0、B=1として、内部のフリップフロップにシリアル動作を行わせる。そして、テスト結果をシリアルにLSI外部に読み出し、正常回路での期待値と比較して故障の有無を判断する。この読み出しについては、テストモード信号との関連も含め、種々の論理的な実現方法があり得る。なお、A=1、B=0の時は、観測ポイントからの出力をそのままフリップフロップに格納することが出来るため、通常動作時の任意の1サイクルにおいて、A=1、B=0として通常動作での観測ポイントからのデータを格納した後、A=0、B=1として格納したデータをLSI外部にシリアル出力することにより、LSIの観測ポイントに関わる故障診断を行うことが可能である。
【0021】
しかしながら、上記従来の観測ポイント挿入方法は、適当な観測用回路を用いて観測性を向上させ、ある程度の故障検出率の向上を期待するという形で適用されてきたに過ぎない。すなわち、検出対象とすべき故障を明確に意識して、当該観測ポイントが設けられているわけではない。そのため従来の方法は、観測用の付加回路の最適化(最小化)という面で満足できるものではなかった。また、テスト対象のLSIに印加されるテストパターンの特性を十分考慮した制御方式の決定法が考えられていなかったため、観測用回路を設けても期待通りの故障検出率の向上効果が得られない恐れもあった。
【0022】
【発明が解決しようとする課題】
上記のように、従来のLSIの故障診断における観測ポイントの挿入方法は、検出対象とすべき故障を明確に意識して設けられているものではなかった。そのため、故障検出率の向上のためにLSIの面積効率が悪化するという問題があった。
【0023】
また、テストパターンの特性を十分考慮して制御方式を選択するということが行われていなかったため、故障検出率の向上効果が十分でないという問題があった。
【0024】
この発明は、上記事情に鑑みてなされたもので、その目的は、面積効率及び故障検出率を向上出来る半導体集積回路及びそのテスト方法を提供することにある。
【0025】
【課題を解決するための手段】
この発明の一態様に係る半導体集積回路は、テスト対象回路と、実質的に通常の機能動作を行わせるテストにおいて検出されない故障に対応する前記テスト対象回路内のノード、または端子を観測ポイントとし、該観測ポイントにおけるデータを入力とする、複数個のフリップフロップを備える観測用回路と、外部クロック信号、外部リセット信号、及び外部動作モード信号を入力され、前記各信号に応じて、前記観測用回路を制御するための内部クロック信号、内部リセット信号、及び動作モード信号を生成する制御回路とを具備し、前記観測用回路は、前記内部リセット信号に応じて前記各フリップフロップをリセットし、前記動作モード信号に応じて、前記観測ポイントにおけるデータを入力とするシグネチャ圧縮動作、または前記フリップフロップがシリアル接続され、データをシリアルに転送するシリアル動作を行い、前記シリアル動作は前記シグネチャ圧縮動作の結果を前記テスト対象回路外部に読み出すために用いられ、前記シグネチャ圧縮動作時に入力される前記データは、前記テスト対象回路に実質的に通常の機能動作を行わせるテストパターンに従って、前記テスト対象回路内部で生成されるものであり、前記観測ポイントは、故障シミュレーションで得られた未検出故障の内の、前記半導体集積回路の機能レベルの回路接続情報上のノード名と対応付け可能なノード、または端子である。
【0033】
また、この発明の一態様に係る半導体集積回路のテスト方法は、第1故障シミュレーションにより得られ、該第1故障シミュレーションでは検出されなかった故障を列挙した第1未検出故障リストから観測ポイント候補、及び該観測ポイントにおける故障の未検出の種類を含む観測ポイント情報を抽出するステップと、前記観測ポイント候補を選別して第1観測ポイントを得るステップと、前記第1観測ポイント、第1ゲートレベルの回路接続情報、及びテスト対象回路における通常動作用の第1テストパターンを用いて第2故障シミュレーションを行い、前記第1観測ポイント挿入の効果を確認すると共に、第2未検出故障リストを得るステップと、前記第2故障シミュレーションにより、挿入効果の少ない前記第1観測ポイントを削除して、第2観測ポイントを得るステップとを具備し、前記観測ポイント候補は、前記機能レベルの回路接続情報上のノード名と対応付け可能なノード、または端子である。
【0040】
【発明の実施の形態】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0041】
この発明の第1の実施形態に係る半導体集積回路及びそのテスト方法について図1を用いて説明する。図1はLSIの内部構成を示すブロック図であり、特にテスト時に使用される回路について示したものである。
【0042】
図示するように、LSI10内にはテスト用の複数の観測ポイント(黒丸印)と、各観測ポイントにおけるテスト結果が入力される観測用回路20と、観測用回路20を制御する制御回路30が設けられている。観測ポイントは、LSI10内のテスト対象回路、例えば組み合わせロジックや、フリップフロップ、ラッチ等を含むランダムロジック内のノードや端子である。制御回路はSystem_CLOCK信号、System_RESET信号、RESET_OBS信号、SHIFT_OBS信号がLSI10の外部から入力され、リセット信号RST、クロック信号CLK、及びシフト信号SHIFTを出力する。そして、このRST信号、CLK信号、及びSHIFT信号により観測用回路20が制御される。なお観測用回路20は、LSI10の通常動作に影響を与えないようにして設けられている。観測用回路20の4ビットの構成例を図2に示す。
【0043】
図示するように観測用回路20は、CLK信号及びRST信号により動作する4つのフリップフロップ21-1〜21-4を備えている。2段目のフリップフロップ21-2と3段目のフリップフロップ21-3の出力Q2、Q3は、XORゲート22-1により排他的論理和演算が行われ、この演算結果及びスキャンイン端子SIから入力されるテストパターンが、インバータ23で反転されたシフト信号SHIFTによりマルチプレクサ25で選択される。
【0044】
各観測ポイントにおいて観測された信号をそれぞれ信号DI0〜DI3とすると、信号DI0、DI1、DI3はインバータ23にて反転されたシフト信号SHIFTと、ANDゲート24-1、24-2、24-4にてそれぞれ論理積演算が行われる。信号DI2は、外部から入力されるDI2_disable信号の反転信号とSHIFT信号の反転信号とがANDゲート24-5で論理積演算された結果と、ANDゲート24-3にて論理積演算が行われる。DI2_disable信号については後に詳細に説明する。
【0045】
さて、マルチプレクサ25により選択された信号は、ANDゲート24-1の出力とXORゲート22-2にて排他的論理和演算が行われ、その演算結果がフリップフロップ21-1の入力D1となる。フリップフロップ21-1の出力Q1は、ANDゲート24-2における演算結果と、XORゲート22-3で排他的論理和演算が行われ、この演算結果がフリップフロップ21-2の入力D2となる。フリップフロップ21-2の出力Q2は前述の通りXORゲート22-1へ入力されると共に、XORゲート22-4にてANDゲート24-3の出力との論理積演算が行われ、その演算結果がフリップフロップ21-2の入力D3となる。フリップフロップ21-3の出力Q3もまたXORゲート22-1へ入力されると共に、XORゲート22-5にてANDゲート24-4の出力との論理積演算が行われ、その演算結果がスキャンアウト信号SOとなる。
【0046】
上記観測用回路20は制御回路30からの入力によって制御され、表2に示すように非同期リセット信号RSTによってリセットし、シフト信号SHIFTによってシフト動作を行う。
【0047】
【表2】
【0048】
観測ポイントの値のキャプチャは、キャプチャが必要な1つ手前のサイクルで観測用回路20をリセットし、1サイクルシグネチャ圧縮動作させた後、シリアル動作させることによって可能である。さて、本観測用回路20は、その中心的な機能をシグネチャ圧縮レジスタとしての動作によって実現している。ここで注意すべき点は、テスト対象のLSI10内部に故障が存在し、観測ポイントから正常な場合と異なる出力が出たにもかかわらず、最終のテスト結果が正常動作時と同じになる「aliasing」確率が1/2n(nはフリップフロップの数)あることである。よって、実際の利用に際して、観測ポイントの数が少ない場合は、少なくともn>20程度になるような工夫をしておくことが必要となる。また、最適なフィードバック回路(フィードバックするビット位置)は、一般にシグネチャ圧縮レジスタのビット数に依存して変化するため、この点の配慮も必要である。
【0049】
制御回路30は前述の通り、LSI10の通常動作用とは別にRESET_OBS信号とSHIFT_OBS信号を入力され、その他、System_RESET信号とSystem_CLOCK信号が入力される。そして、観測用回路20を制御するRST信号、SHIFT信号及びCLK信号を出力する。
【0050】
次に、各観測ポイントの決定方法について説明する。各観測ポイントは基本的に通常動作用のテストパターンでのテストによって検出されなかった故障に対して、図3に示す処理フローによって決定されるものである。観測ポイントの決定フローについて図3を用いて説明する。
【0051】
まず、未検出故障リスト40(第1未検出故障リスト)は、LSI10の通常動作モードのテストパターンを用いて行った故障シミュレーション(第1故障シミュレーション)において検出されなかった故障を列挙したものである。そして、観測ポイント候補抽出ツールが、未検出故障リスト40に記載された未検出故障に対応するLSI10内部のノードの内、観測ポイントとして効果のありそうな観測ポイント候補を抽出し(ステップS10)、観測ポイント候補41を得る。未検出故障リスト40はLSI10内の一部でスキャン設計乃至はBIST(Built In Self Test)を適用して、その未検出故障に対して通常動作用のテストパターンでの故障シミュレーションを実行した結果として得られた未検出故障のリストであっても差し支えない。
【0052】
抽出ツールは、観測ポイントとして抽出したノードに対応する故障の未検出が、0縮退か、1縮退か、またはそのいずれもかであるかといった観測ポイント情報42も出力する(ステップS10)。観測ポイント候補としては、RTL(Register Transfer Level) ネット上のノード名が認識できるものが選ばれる。RTL ネットとは、レジスタ転送レベルの論理記述により得られた回路網の接続情報(機能レベルの回路接続情報)のことである。こうしたノードが多数に及ぶ場合は、等価な故障数が多いものから優先的に選ぶようにする。ここで、観測ポイント候補としてRTL ネット上のノード名が認識できるものを選ぶ理由について触れておく。最近のLSIは、殆どの場合、RTL記述によってLSIの機能を記述したRTL ネットを作成し、動作検証用テストパターンを作成して検証し、所定の動作を確認した後、論理合成ツールを利用することにより、ゲートレベルネットデータに変換するようになっている。ゲートレベルネットとは、ゲートレベルの論理記述により得られた回路網の接続情報のことである。故障シミュレーションは、ゲートレベルネットデータに対して実施される。なお、論理合成の手間を省くため、論理合成ツールは、タイミングなどの最適化を施す前の中間的なゲートレベルネットを作成することが出来る。今後のシステムLSI開発においてキーになる再利用(reuse)においては、殆どの場合、LSIのネットはRTL ネット(合成及びタイミング最適化の方法についての情報付き)、またはこの中間的なゲートレベルネット(タイミング最適化の方法についての情報付き)の形で提供されることになると見られる。この場合、ゲートレベルネットには、RTL ネット名との対応が判別できるノードと、論理合成ツールが任意に名前を割り付けたノードが混在することになるが、後者については、再論理合成したり、別の最適化を行った場合に名前が保存されない可能性があり、一度行った観測ポイント設定の結果が利用できなくなる恐れがある。観測ポイントの設定は、こうした事情を十分ふまえておく必要がある。そこで本発明では、原則としてRTL ネット名との対応が判別できるノードに対応した未検出故障に対し、そのノードを観測ポイントとして設定するようにする。なお、最近はより高品質を目標として、LSI内部の基本セルの入出力端子に故障(ピン故障)を仮定して故障シミュレーションを実施することも行われている。この場合、故障そのものからは、RTL ネットのノード名が明確に判定できない場合があるため、ピン名とネット名の対応付けをするツールが必要になる。
【0053】
ステップS10において抽出ツールにより選択した観測ポイント候補41は、更に設計者が内容をチェックし、実際には効果の薄そうな候補を削除し、故障シミュレーションで確認するための観測ポイント43(第1観測ポイント)を決定する(ステップS11)。効果の薄そうな候補とは、例えば特定のレジスタの入力側と出力側のノードがいずれも選ばれている場合のいずれかのノード、といったものがある。この場合、いずれの方が効果が薄いかは必ずしもはっきり決められないため、それぞれを削除した故障シミュレーションでの確認をする必要がある。以上により選別された観測ポイント43とLSI10の入出力端子44を故障の検出ポイントとして、LSI10のゲートレベルネット45(第1ゲートレベルの回路接続情報)と通常動作用テストパターン46(第1テストパターン)とにより、故障シミュレーション(第2故障シミュレーション)を実行(ステップS12)し、未検出故障リスト47(第2未検出故障リスト)を得る。これは、基本的には観測ポイント挿入の効果を見積もるためのものであるが、故障リスト47と観測ポイント情報42を、低効果ポイント削除ツールに入力して、観測ポイントとして設定したが、故障の追加検出効果の無かったもの、例えばある0縮退故障に対応するノードを観測ポイントに設定したにもかかわらず検出がなされなかったものを観測ポイントから除外し(ステップS13)、最終的な観測ポイント48(第2観測ポイント)を出力する。
【0054】
さて、最終的に正確な故障検出率を求めるためには、観測用回路をどのようなタイミングで初期化するか決定する必要がある。本実施形態では、通常動作用テストパターンの活用を考慮している。一般に通常動作用のテストパターン全体は多数の個々のテストパターンより構成されており、それぞれLSI10内部の特定の領域をテストしている。この結果、複数本あるテストパターンではいくつかの観測ポイントは初期化されなかったり、各テストパターンにおいても、LSI10のシステムリセットと相前後して確定値を取る観測ポイントがあったり、システムリセット後特定のテストパターンだけでしか確定値を取らないものがあったりする。この例を表3に示す。これは、ある特定のテストパターンにてLSI10の論理シミュレーションを実行し、観測ポイントP1〜P7の値の変化をモニターにしたものである。T1〜T10はシミュレーション時刻である。
【0055】
【表3】
【0056】
表3に示すように、基本的にP1、P2、P3、P5はシステムリセット後比較的速やかに確定値をとるが、P4、P6、P7はシステムリセット後に確定値を取るまでしばらくの時間が必要である。特にP4は、システムリセット後のかなり長い期間不定のままであることが分かる。このため、観測ポイント挿入の効果(故障検出率向上)を最大にするには、まずはP1、P2、P3、P5とP4、P6、P7を別のグループにして、独立にリセット可能な異なる観測用回路にそれぞれ入力するようにすることが望ましいことが分かる(第2の実施形態として後述する)。実際には、こうした論理シミュレーション出力を全てのテストパターンについて調べ、観測ポイントをリセットロジックからの面からグループ化することになる。上記のようにグループ化された観測ポイントの各グループに対してそれぞれ独立したリセット信号が割り当てられるが、これらリセット信号はテストパターン毎に所定の時刻にアクティブになるように制御する必要がある。この制御ロジックは、テストパターン毎のリセット信号がアクティブになる時間的順序を全てのテストパターンにつき重ね合わせ、実際に存在しているリセット信号の時間的順序の組み合わせ情報に基づいて作成することにより、必要十分(最適)な規模のものが得られる。
【0057】
ここまでが図3のフロー中で、観測ポイント43、LSI10のゲートレベルネット45、テストパターン46を用いた論理シミュレーションを実行し(ステップS14)、期待値49を得て、それを基に観測用回路・制御ロジック・タイミング決定支援ツールにより、観測用回路・制御ロジックの構成、各テストパターン毎の制御タイミング情報50を得る(ステップS15)までに相当している。なお、本実施形態における観測用回路の構成は、各観測ポイントの観測用回路の特定の入力端子への接続情報も含んでいる。制御タイミング情報50とは、例えばリセット信号を如何なるサイクルで入力するかといった情報を含むものである。
【0058】
観測ポイントと観測用回路のタイミング関係については、例えば図4(a)乃至(c)に示したようにする。図4(a)は観測対象と観測用回路の一部を示すブロック図であり、(b)、(c)は観測ポイントがそれぞれラッチ出力から組み合わせロジックを経由した出力、及びフリップフロップ出力から組み合わせロジックを経由した出力である場合の、クロックとデータのタイミングチャートである。また、図中CLKはシステムクロックを示している。
【0059】
図示するように、観測ポイントがラッチ出力から組み合わせロジックを経由してなる回路の出力であった場合、そのラッチがホールド(Hold)からスルー(through)になるクロックのエッジでその出力はキャプチャされる。また、観測ポイントがフリップフロップ出力から組み合わせロジックを経由してなる回路の出力であった場合、そのフリップフロップの出力が更新されるクロックのエッジでその出力がキャプチャされる。
【0060】
本実施形態の観測用回路は、通常動作用のロジックに対し、殆どディレイ増加等の悪影響を及ぼすことはないが、観測ポイントの実際のレイアウトへのインプリメントにおいては、観測ポイントから観測用回路内のフリップフロップまでのデータ転送時のホールドタイム(Hold Time)違反と、観測用回路内部でシリアルに接続された2個のフリップフロップ間でのデータ転送時のホールドタイム違反(スキャンクロックがシステムクロックと同じタイプのスキャン設計での注意点と同じ)に十分に注意する必要がある。観測用ポイントの値が各々異なるクロックに同期して変化している場合は、勿論異なるクロック毎に観測用回路を構成する必要がある。
【0061】
ここで、図2に少し触れたdisable信号について説明する。上述したように、観測ポイントの中には、他と比較して少数のパターンでしか確定値を取らず、しかもシステムリセット後かなり時間が経過してから漸く確定値となるようなものが含まれる可能性がある。こうしたものはごく少数と見られ、これらだけに対して1個の観測用回路を設けるのは、テスト回路の無駄な増加を招くことになる。このため、こうした観測ポイントについては、似通った振る舞いをしている観測ポイントのグループに含め、確定値とならないテストパターンではdisable=1とすることで、その観測ポイントからの出力が観測用回路に入力されないようにして、観測用回路の内容が不定になるのを防ぐようにしている。disable信号の発生回路を図5(a)に、System_CLOCK信号、System_RESET信号、SET_DISABLE信号、及びdisable信号のタイミングチャートを図5(b)に示す。
【0062】
図示するように、disable信号発生回路60は、フリップフロップ61とマルチプレクサ62とにより構成される。マルチプレクサ62は、外部から入力されるSystem_RESET信号により、フリップフロップ61の出力と、外部から入力されるSET_DISABLE信号とを選択する。そしてマルチプレクサ62で選択された信号がフリップフロップ61の入力となり、その出力がdisable信号となる。このように、システムリセット中だけアクティブになるフリップフロップに適当な通常動作用入力端子から値を設定することで容易に実現可能である。
【0063】
さて、以上により観測ポイント48、観測用回路・制御ロジックの構成50が得られる。これらの情報と、LSI10のRTL ネット51、または論理最適化前のゲートレベルネット45とを入力として、論理合成ツールまたはネット変更補助ツールを用いて、観測ポイント、観測用回路及び制御ロジックの付加されたLSI10のネットの変更を行い(ステップS16)、新たなゲートレベルネット52(第2ゲートレベルの回路接続情報)を得る。一方、テストパターン46については、情報50を利用し、パターン変更ツールにより、変更後のゲートレベルネット52に対応した変換を行い(ステップS17)、新たなテストパターン53(第2テストパターン)を作成する。また、最終的な故障検出率と未検出故障リスト54は、次のようにして得ることが出来る。
【0064】
すなわち、観測ポイント48とLSI10の入出力端子55を故障の検出ポイントとして、未検出故障リスト40と、元のゲートレベルネット45とテストパターン46(一般に複数のテストパターンで構成される)を故障シミュレータに入力して最終故障シミュレーション(第3故障シミュレーション)を実行する(ステップS18)。なお、テストパターン46については、制御ロジックとリセットタイミング(時刻)の情報に基づき、テストパターン46の各テストパターンにおいて各観測ポイントで故障の検出が開始される時刻を抽出して、これを各観測ポイントに関わる付加情報として故障シミュレータに入力して故障シミュレーションを行う。これにより、実際に行われるリセットタイミングに基づいた故障シミュレーションが実行されることになり、最終的な故障検出率と未検出故障リスト54(第3未検出故障リスト)が得られることになる。なお、上記のような情報を直接利用できない故障シミュレータについては、例えばゲートレベルネット45の観測ポイントに仮のバッファを付加したネットを作成し、その出力を観測ポイントとし、リセット時刻まで強制的に不定状態に設定するといった形でも同様の効果を得ることが出来る。
【0065】
なお、全てのテストパターンを連続的にLSI10に印加し、2番目以降のテストパターンでは観測ポイントに不定値で出現しないことが確認できているのであれば、リセットタイミング別に観測ポイントをグループ化する必要が無くなる。但し、テストの途中で故障が検出された場合の解析効率が低下し、また故障シミュレーションを長大なテストパターンにより実行する必要が生じ、故障シミュレータによっては困難となる場合がある。そのため、テスト用付加回路量について極めて厳しい制約がある場合を除けば、前述のようなリセットロジックを付加することが望ましいと考えられる。また、観測用回路20へのクロック入力については、通常動作モードを観測用回路20を動作させない(CLKを変化させない)モードと観測用回路20を動作させるモードに分け、テスト以外の場合は前者のモードで使用するようにすれば、低消費電力化が実現される。
【0066】
上記実施形態によれば、故障シミュレーションの結果得られた未検出故障に基づいて観測ポイントを設定している。また、テストパターンは通常動作用のものを使用することが出来る。そのため、従来の手法に比べてテスト回路の付加を最小限に抑えつつ、故障検出率の向上を図ることが出来る。
【0067】
なお、本実施形態では、未検出故障リスト40は、LSI10のゲートレベルネット45に対し、テストパターン46を用いて故障シミュレーションを実施して得られた結果となっている。しかしながら、一般に故障シミュレーションは極めて長いCPU時間(計算時間)を要するものであり、未検出故障40を本発明の目的のために効率よく得ることも本発明の一部として重要である。
【0068】
図6は本実施形態の第1の変形例について説明するためのものであり、観測ポイントの決定フローを示している。
【0069】
すなわち、本変形例では図3のフローの入力となる未検出故障リスト40(第1未検出故障リスト)を得るために次の処理を行っている。まず、予めLSI10のゲートレベルネット45の未検出故障56(第4未検出故障リスト)の内、RTL ネットのノード名が判別できるものだけ選別して(ステップS19)、未検出故障リスト57を得る。そして、この未検出故障リスト57を用いて故障シミュレーション(第1故障シミュレーション)を実行する(ステップS20)ことにより未検出故障40(第1未検出故障リスト)を得るようにしても良い。
【0070】
本変形例によれば、未検出故障リスト40を得るまでのCPU時間(計算時間)を大幅に削減できる。なお、この故障シミュレーション及び観測ポイント追加の効果を見積もるために実行する故障シミュレーションと、最終確認用の故障シミュレーションに用いる故障シミュレータは、必ずしも同じである必要はない。後者の故障シミュレーションは、RTL ネットのノード名が判別できる故障以外の故障も含めて実行するため、多くのCPU時間が必要となる。一般に市販の故障シミュレーションは、故障シミュレーションの実行環境を整えるまでの準備が容易なものと、性能が高いもの(CPU時間がより少ないもの)とがある。よって、最初の未検出故障リストを求めるため及び観測ポイント追加の効果を見積もるための故障シミュレーションは前者の故障シミュレータで行い、最終確認用の故障シミュレーションは後者の故障シミュレータで行うことにより、テスト全体の効率を向上させることが出来る。
【0071】
次に本実施形態の第2の変形例について図7のLSIのブロック図を用いて説明する。本変形例は、LSI10内部のノードすなわち観測ポイントが、異なるクロックに同期して変化する複数のグループに分かれる場合について示している。この場合は、基本的に各クロックに同期して変化する観測ポイントのグループ毎に観測用回路とテスト制御ロジックを設けるようにする。
【0072】
図示するように、制御回路30は、System_CLOCK信号から2種類のクロック信号CLK1、CLK2を生成するクロック発生回路30-1と、クロック信号CLK1により動作する制御ロジック30-2と、クロック信号CLK2により動作する制御ロジック30-3とを備えている。制御ロジック30-2、30-3はRESET_OBS信号及びSHIFT_OBS信号に従って、リセット信号RST1、シフト信号SHIFT1、及びリセット信号RST2、シフト信号SHIFT2信号をそれぞれ生成する。
【0073】
LSI10の内部はクロックCLK1、CLK2に同期して動作しており、CLK1に同期して動作する観測ポイント(黒丸印)はCLK1に同期して動作する観測用回路20-1に接続されている。観測用回路20-1は、CLK1に同期して動作する制御ロジック30-2によって制御される。同様に、CLK2に同期して動作する観測ポイント(黒三角印)はCLK2に同期して動作する観測用回路20-2に接続されている。観測用回路20-2は、CLK2に同期して動作する制御ロジック30-3によって制御される(制御ロジックは見かけ上1個の制御ロジックのように構成される場合もある)。但し、例えばLSI10内部のノードが同一周期で位相が反転した2種類のクロックに同期して動作している場合に、ある観測ポイントが一方のクロックに同期して動作するフリップフロップ出力であれば、その観測ポイントをもう一方クロックに同期して動作する観測用回路に接続しても差し支えないように、観測ポイントが同期して動作しているクロックと異なるクロックに同期して動作している観測用回路に接続しても、確定した値がその観測用回路に入力されることが明確である場合は、そのように接続しても差し支えない。
【0074】
次にこの発明の第2の実施形態に係る半導体集積回路及びそのテスト方法について図8を用いて説明する。図8はLSIの内部構成の概念図である。
【0075】
図示するように、本実施形態に係るLSI10では、第1の実施形態で説明した観測ポイントのグループ化に従って3つの観測用回路20-3〜20-5が設けられている。観測用回路20-3及び20-4は制御回路30が出力するRST_OBS0信号によって同じ制御を受けるが、インプリメント及び故障解析の容易性を考慮して2個の観測用回路に分割されている。なお、各観測用回路20-3〜20-5の内部構成は図2に示したものと同様である。観測用回路20-3〜20-5におけるシグネチャ圧縮動作は、各観測用回路毎に行われ、シフト動作は観測用回路20-3〜20-5全てがシリアル接続された状態で行われる。
【0076】
また、制御回路30の内部のリセットロジックの構成及びその動作タイミングはそれぞれ図9(a)、(b)に示したようになっている。
【0077】
図示するようにリセットロジックは、2つのフリップフロップ70、71と、インバータ72と、2個のORゲート73、74とから構成されている。フリップフロップ70はSystem_CLOCK信号により制御され、RESET_OBS信号が入力される。フリップフロップ71は、フリップフロップ70の出力Q1及びSystem_RESET信号により制御され、インバータ72により反転された当該フリップフロップ71の出力Q2が入力される。そしてフリップフロップ71の出力Q2の反転信号とRESET_OBS信号の論理和演算がORゲート74により行われ、このORゲート74の出力がRST_OBS1信号となる。更に、フリップフロップ71の出力Q1とRESET_OBS信号の論理和演算がORゲート73により行われ、このORゲート73の出力がRST_OBS0信号となる。
【0078】
上記回路は、System_RESET信号により初期化され、図9(b)に示すように、RESET_OBS信号をアクティブ(”L”レベル)にする毎に、RST_OBS0、RST_OBS1信号の順にアクティブとなる。
【0079】
また、リセット信号が3個必要となった場合のリセットロジックの構成例とタイミング図をそれぞれ図10(a)、(b)に示す。
【0080】
図示するようにリセットロジックは、3つのフリップフロップ75〜77、2つのマルチプレクサ78、79、1つのインバータ80、及び3つのORゲート81〜83とを有している。フリップフロップ75はSystem_CLOCK信号により制御され、RESET_OBS信号が入力される。そして、この出力Q1がフリップフロップ76、77のクロックとして機能する。フリップフロップ76、77はそれぞれマルチプレクサ78、79の出力を入力とする。
【0081】
マルチプレクサ78は、外部から入力されインバータ80により反転されたSTD_ORDER信号と、フリップフロップ77の出力とをSystem_RESET信号に基づいて選択する。また、マルチプレクサ79はSTD_ORDER信号と、フリップフロップ76の出力とをSystem_RESET信号に基づいて選択する。
【0082】
そして、ORゲート81による、System_RESET信号とRESET_OBS信号の論理和演算結果がRST_OBS0信号となる。また、ORゲート82による、RESET_OBS信号と、フリップフロップ76の出力Q2の反転信号と、フリップフロップ77の出力Q3との論理和演算結果がRST_OBS1信号となる。更に、ORゲート83によるRESET_OBS信号と、フリップフロップ76の出力Q2と、フリップフロップ77の出力Q3の反転信号との論理和演算結果がRST_OBS2信号となる。
【0083】
上記構成では、System_RESET信号により初期化が行われ、STD_ORDER=1の場合、RST_OBS信号をアクティブにする毎に、RST_OBS0、RST_OBS1、RST_OBS2信号の順にアクティブとなる。逆に、STD_ORDER=0の場合は(図10(b))、RST_OBS0、RST_OBS2、RST_OBS1信号の順にアクティブとなる。このように、RST_OBS1信号とRST_OBS2信号は初期設定に応じていずれを先にアクティブにする事も可能であり、より細かいリセット設定が可能である。
【0084】
なお、図9(a)、(b)及び図10(a)、(b)においては、リセットロジックの出力であるRST_OBSi(i=0,1…)信号は全てRESET_OBS信号との論理和により構成しているが、単にクロックCLKに同期したフリップフロップの出力の組み合わせで構成しても良い。
【0085】
次に、この発明の第3の実施形態に係る半導体集積回路及びそのテスト方法について図11を用いて説明する。図11は本実施形態に係るLSIの内部構成を示す概念図である。なお本実施形態は、観測用回路のリセットを非同期リセットにて行わず、SI入力を介してシリアルに実行するものである。
【0086】
図示するように、制御回路30はSFT/RST_0、SFT/RST_1信号を生成し、ANDゲート90によるSFT/RST_0信号とGNDとの論理積演算結果が、観測用回路20-6のスキャンイン端子SIへ入力される。観測用回路20-7のSIには、観測用回路20-6の出力SOと、SFT/RST_0信号とのANDゲート91における論理積演算結果が入力される。また、観測用回路20-8のSIには、観測用回路20-7の出力SOと、SFT/RST_1信号とのANDゲート92における論理積演算結果が入力される。
【0087】
上記観測用回路20-6〜20-8の構成について図12に示す。図示するように、本構成は、図2の構成において、リセット信号RSTに関わる部分を無くしたものである。
【0088】
また、制御回路30におけるリセットロジックの構成例を図13に示す。図示するように、本リセットロジックは図10に示すリセットロジックにおいて、ORゲート81〜83をNORゲート84〜86に変更すると共に、NORゲート87〜89を追加したものである。すなわち、RST_OBS0〜RST_OBS2信号とSHIFT_OBS信号との論理和演算結果が、それぞれSFT/RST_0、SFT/RST_1、SFT/RST_2信号となる。
【0089】
本リセットロジックはSystem_RESET信号により初期化がなされ、STD_ORDER=1の場合、RESET_OBS信号をアクティブにする毎に、SFT/RST_0、SFT/RST_1、SFT/RST_2信号の順に”0”となる。逆にSTD_ORDER=0の場合、SFT/RST_0、SFT/RST_2、SFT/RST_1信号の順に”0”となる。RESET_OBS信号は、観測用回路20-6〜20-8を確実にリセットするため、少なくともこれらの回路の内、最大のビット数に対応するサイクル数分をアクティブにする必要がある。但し、本実施形態によれば、リセット入力無しのフリップフロップを利用できるため、観測用回路の負荷量を軽減できるという利点がある。
【0090】
次にこの発明の第4の実施形態に係る半導体集積回路及びそのテスト方法について説明する。上記実施形態では、基本的に観測ポイント1個に対し、観測用回路のフリップフロップ1ビットが対応する構成になっていた。しかしながら、実際のところは、観測ポイントを追加した場合に、故障が追加検出されるテストパターンは、全体の一部であり、且つ実際に故障を検出している観測ポイントは全体の一部である。更に、異なるテストパターンだけで故障検出される観測ポイントの組がある場合がある。従って、各テストパターンによる未検出故障の検出に関する詳細情報(検出時刻、検出した観測ポイント)を解析することにより、構成の冗長な部分を割り出すことが出来、その結果に基づいて、よりテスト用付加回路の少ない観測用回路を構成することが可能となる。
【0091】
上記の点についての修正を行った観測ポイント決定フローについて図14を用いて説明する。図示するように、本フローでは、詳細な情報を含む故障シミュレーション結果リスト47と観測ポイント情報42、観測ポイントに関する各テストパターンでの論理シミュレーション実行結果49に基づいて、最適なポイント・観測用回路・制御ロジックを決定する(ステップS21)ようになっている。
【0092】
図15はLSIの内部構成の概念図であり、各テストパターンにおいて、ある観測用回路では故障の検出がない点に注目したものである。すなわち、LSI10のシステムリセット中に適当な通常動作用入力端子を経由して制御回路32に値を設定しておくことにより、故障検出の無かった観測用回路内のフリップフロップはスキップしてシリアル転送が出来るようにしたものである(制御回路32の構成はdisable信号設定用のものと同様)。本図の例では、観測用回路20-11において故障の検出が見られなかったため、制御回路32の対応するビットに”0”を設定し、この部分のデータがシリアル転送時にスキップされるようにしている。これにより、テスト結果の読み出し時間が短縮されるという効果がある。
【0093】
次にこの発明の第5の実施形態に係る半導体集積回路及びそのテスト方法について図16を用いて説明する。図16はLSIの内部構成を示す概略図である(本実施形態に関わる部分以外は省略)。観測ポイント決定フローは図14と同様である。この例はいくつかの観測ポイントに対応する観測用回路のビット数を削減する方法を示している。
【0094】
対象のLSIに対するテストパターンと、観測ポイントでの検出状況が表4に示すようなものであったとする。
【0095】
【表4】
【0096】
TPi(i=1〜5)はテストパターンの種類を示し、Pj(j=1〜6)は観測ポイントを示す。Dnは、n個の故障が検出されたことを示し、Uは検出された故障がなかったことを示している。表4から容易に読みとれるように、観測ポイントの組(P2,P5)、(P3,P6)では故障が検出されるテストパターンに重なりが無く、且つ同一のテストパターン内では(P2,P5)、(P5,P6)の検出、未検出は排他的になっている。従って、図16に示すように、これらの組を2入力マルチプレクサ35-1、35-2の各入力に接続した上、その出力を観測用回路20-13の入力に接続するようにしてもよい。そしてその出力がLSI10内部の観測用回路20-13へ入力される。また、回路34は既に説明した、システムリセット中に適当な通常動作用入力端子を経由して、”0”または”1”を設定できる回路であり、この回路の出力が上記のマルチプレクサの選択信号として利用されている。
【0097】
上記の手順を詳細に記述すると以下のようになる。
【0098】
(1)まず、故障を検出するテストパターンに重なりがない観測ポイントの組を全て抽出する。本実施形態の場合では、(P1,P4)、(P1,P5)、(P1,P6)、(P2,P5)、(P2,P6)、(P3,P5)、(P3,P6)、(P4,P6)が該当する。これらは、2入力マルチプレクサの入力の候補となる。
【0099】
(2)上記(1)で抽出された観測ポイントの組(Pi,Pj)において、Piで検出、Pjで未検出の場合は”0”、その逆の場合は”1”、いずれも検出がなかった場合は”x”とする。本実施形態の場合は表5のようになる。これらは(1)のマルチプレクサの選択信号を与える。”x”は選択信号がいずれの値でも良いことを示す。
【0100】
【表5】
【0101】
(3)上記(2)で得た表に基づき、全てのテストパターンにおいて、互いに矛盾のない観測ポイントの組を選択する。”x”は”0”及び”1”のいずれとも適合する。また、特定の組において、全テストパターンで”0”→”1”、”1”→”0”に変更したものとその他の組が矛盾しない場合も、観測ポイントの左右位置を交換し、選択しても良い。本実施形態では、
(P1,P5)、(P2,P6)
(P1,P6)、(P2,P5)
(P2,P5)、(P3,P6)
(P2,P6)、(P3,P5)
が該当する。面積削減の効果ではいずれも同等であり、図16は上記の内3番目の構成を実現したものになっている。この構成でのマルチプレクサ(フリップフロップ34に設定される)の選択信号の値は、TP1〜TP5に対し、それぞれ”0”、”1”、”0”、”1”、”0”となる。
【0102】
本実施形態によれば、観測用回路内のフリップフロップの数を観測ポイントの数より減少させることが可能となり、テスト回路の付加に伴う面積の増加は更に抑えられることになる。
【0103】
上記第1乃至第5の実施形態で説明したように、この発明によれば通常動作用のテストパターンを用いて実行した故障シミュレーションの結果得られる未検出故障に対応するノードに対してのみ観測ポイント(観測用回路)を追加している。そのため、基本的に全てのレジスタをスキャン動作可能とするためのテスト回路追加が必要なスキャン設計手法に比べ、大幅に少ないテスト回路の付加で済む。更に、テストパターンは通常動作用のものをわずかに変更するだけで利用でき、テストも通常動作とほぼ同じクロック周波数で実行出来、従来に比べて大幅に少ない労力で十分に高い故障検出率を達成できるため、従来の手法より低コストまたは効率的に高い故障検出率を達成できる。
【0104】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【0105】
【発明の効果】
以上説明したように、この発明によれば、面積効率及び故障検出率を向上出来る半導体集積回路及びそのテスト方法を提供できる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態に係る半導体集積回路のブロック図。
【図2】この発明の第1の実施形態に係る半導体集積回路における観測用回路の回路図。
【図3】この発明の第1の実施形態に係る半導体集積回路における観測ポイントを決定するためのフローチャート。
【図4】この発明の第1の実施形態に係る半導体集積回路のテスト方法について説明するためのもので、(a)図は観測対象回路と観測用回路路の接続を示す回路図であり、(b)図、(c)図はクロックと観測ポイントから出力されるデータのタイムチャート。
【図5】この発明の第1の実施形態に係る半導体集積回路において、(a)図はdisable信号の発生回路の回路図であり、(b)図は各信号のタイムチャート。
【図6】この発明の第1の実施形態の第1の変形例に係る半導体集積回路における観測ポイントを決定するためのフローチャート。
【図7】この発明の第1の実施形態の第2の変形例に係る半導体集積回路のブロック図。
【図8】この発明の第2の実施形態に係る半導体集積回路のブロック図。
【図9】この発明の第2の実施形態に係る半導体集積回路において、(a)図はリセットロジックの回路図であり、(b)図は各信号のタイムチャート。
【図10】この発明の第2の実施形態に係る半導体集積回路において、(a)図はリセットロジックの回路図であり、(b)図は各信号のタイムチャート。
【図11】この発明の第3の実施形態に係る半導体集積回路のブロック図。
【図12】この発明の第3の実施形態に係る半導体集積回路における観測用回路の回路図。
【図13】この発明の第3の実施形態に係る半導体集積回路におけるリセットロジックの回路図。
【図14】この発明の第4、第5の実施形態に係る半導体集積回路における観測ポイントを決定するためのフローチャート。
【図15】この発明の第4の実施形態に係る半導体集積回路のブロック図。
【図16】この発明の第5の実施形態に係る半導体集積回路のブロック図。
【図17】従来の半導体集積回路のブロック図。
【図18】従来の半導体集積回路における観測用回路の回路図。
【符号の説明】
10、100…LSI
20、20-1〜20-13…観測用回路
21-1〜21-4、61、70、71、75〜77、210-1〜210-8…フリップフロップ
22-1〜22-5、230-1〜230-5…XORゲート
23、72、80…インバータ
24-1〜24-5、90〜92、250-1〜250-8…ANDゲート
25、33-1、33-2、35-1、35-2、62、78、79、220-1〜220-4、240…マルチプレクサ
30、30-1、30-2、32、34…制御回路
40、47、56、57…未検出故障リスト
41…観測ポイント候補
42…観測ポイント情報
43、48…観測ポイント
44、55…入出力端子
45、52…ゲートレベルネット
46、53…テストパターン
49…観測ポイントシミュレーション期待値
50…制御ロジック・タイミング情報
51…RTL ネット
54…故障検出率、未検出故障リスト
73、74、81〜83、87〜89…ORゲート
84〜86…NORゲート
260…バッファ
Claims (12)
- テスト対象回路と、
実質的に通常の機能動作を行わせるテストにおいて検出されない故障に対応する前記テスト対象回路内のノード、または端子を観測ポイントとし、該観測ポイントにおけるデータを入力とする、複数個のフリップフロップを備える観測用回路と、
外部クロック信号、外部リセット信号、及び外部動作モード信号を入力され、前記各信号に応じて、前記観測用回路を制御するための内部クロック信号、内部リセット信号、及び動作モード信号を生成する制御回路と
を具備し、前記観測用回路は、
前記内部リセット信号に応じて前記各フリップフロップをリセットし、
前記動作モード信号に応じて、前記観測ポイントにおけるデータを入力とするシグネチャ圧縮動作、または前記フリップフロップがシリアル接続され、データをシリアルに転送するシリアル動作を行い、
前記シリアル動作は前記シグネチャ圧縮動作の結果を前記テスト対象回路外部に読み出すために用いられ、
前記シグネチャ圧縮動作時に入力される前記データは、前記テスト対象回路に実質的に通常の機能動作を行わせるテストパターンに従って、前記テスト対象回路内部で生成されるものであり、
前記観測ポイントは、故障シミュレーションで得られた未検出故障の内の、前記半導体集積回路の機能レベルの回路接続情報上のノード名と対応付け可能なノード、または端子である
ことを特徴とする半導体集積回路。 - 前記観測ポイントは、前記内部リセット信号入力後から該観測ポイントにおけるデータが確定値を取るまでに必要な時刻毎にグループ化され、
前記観測用回路は、前記グループ化された各観測ポイント群毎に複数設けられ、
前記制御回路は、前記観測ポイント群毎に設けられた複数の前記観測用回路毎に、異なる前記内部リセット信号を供給する
ことを特徴とする請求項1記載の半導体集積回路。 - 前記制御回路は、前記内部リセット信号を生成する制御ロジックを含み、
前記制御ロジックは、シリアル動作を利用して前記観測用回路をリセットできるように構成されている
ことを特徴とする請求項1または2記載の半導体集積回路。 - 前記観測用回路は、特定の前記観測ポイントからの入力データを強制的に無効とし、該データを固定の値とする
ことを特徴とする請求項1乃至3いずれか1項記載の半導体集積回路。 - 前記観測ポイントの各々が、相異なるクロック信号に同期している場合、
前記観測ポイントは同じクロック信号毎にグループ化され、
前記観測用回路は、前記グループ化された観測ポイント群毎に設けられ、前記グループ化された観測ポイントが同期するクロック信号と同一の内部クロック信号で動作する
ことを特徴とする請求項1乃至4いずれか1項記載の半導体集積回路。 - 前記観測ポイントの各々は、相異なるクロック信号に同期し、前記観測ポイントの少なくとも1つは、該観測ポイントが同期している前記クロック信号と異なる前記内部クロック信号に同期して動作する前記観測用回路に接続されている
ことを特徴とする請求項1乃至4いずれか1項記載の半導体集積回路。 - 前記観測用回路に接続されている前記各観測ポイントのデータは、前記テスト対象回路に実質的に通常の機能動作を行わせる前記テストパターンに応じて選択的に該観測用回路に入力される
ことを特徴とする請求項1乃至6いずれか1項記載の半導体集積回路。 - 第1故障シミュレーションにより得られ、該第1故障シミュレーションでは検出されなかった故障を列挙した第1未検出故障リストから観測ポイント候補、及び該観測ポイントにおける故障の未検出の種類を含む観測ポイント情報を抽出するステップと、
前記観測ポイント候補を選別して第1観測ポイントを得るステップと、
前記第1観測ポイント、第1ゲートレベルの回路接続情報、及びテスト対象回路における通常動作用の第1テストパターンを用いて第2故障シミュレーションを行い、前記第1観測ポイント挿入の効果を確認すると共に、第2未検出故障リストを得るステップと、
前記第2故障シミュレーションにより、挿入効果の少ない前記第1観測ポイントを削除して、第2観測ポイントを得るステップと
を具備し、前記観測ポイント候補は、前記機能レベルの回路接続情報上のノード名と対応付け可能なノード、または端子であることを特徴とする半導体集積回路のテスト方法。 - 前記第1観測ポイントを得るステップの後、
前記第1観測ポイント、第1ゲートレベルの回路接続情報、及びテストパターンを用いて論理シミュレーションを行い、該第1観測ポイントにおけるシミュレーション期待値を得るステップと、
得られた前記シミュレーション期待値に応じて、前記テスト結果を受ける観測用回路及び該観測用回路を制御する制御回路の構成、接続、並びに該回路の動作タイミングを決定するステップと
を更に備えることを特徴とする請求項8記載の半導体集積回路のテスト方法。 - 前記テスト結果を受ける観測用回路及び該観測用回路を制御する制御回路の構成、並びに該回路の動作タイミングを決定するステップの後、
前記第2観測ポイント、前記観測用回路及び前記制御回路の構成、該回路の動作タイミング、並びに機能レベルの回路接続情報を用いて前記第1ゲートレベルの回路接続情報の変更を行い、第2ゲートレベルの回路接続情報を得るステップを更に備える
ことを特徴とする請求項9記載の半導体集積回路のテスト方法。 - 前記第2観測ポイントを得るステップの後、
前記第2観測ポイント、第1ゲートレベルの回路接続情報、第1未検出故障リスト、及び第1テストパターンを用いて第3故障シミュレーションを行い、第3未検出故障リスト及び故障検出率を得るステップを更に備える
ことを特徴とする請求項8乃至10いずれか1項記載の半導体集積回路のテスト方法。 - 前記観測ポイント候補及び前記観測ポイント情報を抽出するステップの前に、
テスト対象回路内部に仮定される故障を列挙した第4未検出故障リストを得るステップと、
前記第4未検出故障リストから、前記機能レベルの回路接続情報上のノード名と対応付け不可能なノード、または端子を除くことにより第5未検出故障リストを得るステップと、
前記第5未検出故障リスト、第1ゲートレベルの回路接続情報、及び第1テストパターンを用いて前記第1故障シミュレーションを行うステップと
を更に備えることを特徴とする
ことを特徴とする請求項8乃至11いずれか1項記載の半導体集積回路のテスト方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001063725A JP3851782B2 (ja) | 2001-03-07 | 2001-03-07 | 半導体集積回路及びそのテスト方法 |
US10/091,552 US7082559B2 (en) | 2001-03-07 | 2002-03-07 | Semiconductor integrated circuit device and test method thereof |
US10/918,732 US7139956B2 (en) | 2001-03-07 | 2004-08-16 | Semiconductor integrated circuit device and test method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001063725A JP3851782B2 (ja) | 2001-03-07 | 2001-03-07 | 半導体集積回路及びそのテスト方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002267719A JP2002267719A (ja) | 2002-09-18 |
JP3851782B2 true JP3851782B2 (ja) | 2006-11-29 |
Family
ID=18922664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001063725A Expired - Fee Related JP3851782B2 (ja) | 2001-03-07 | 2001-03-07 | 半導体集積回路及びそのテスト方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7082559B2 (ja) |
JP (1) | JP3851782B2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3606525B2 (ja) | 2002-12-05 | 2005-01-05 | 沖電気工業株式会社 | スキャンテスト回路 |
JP4322509B2 (ja) * | 2003-01-16 | 2009-09-02 | 株式会社東芝 | 故障検出率算出装置及び故障検出率算出方法 |
FR2850464A1 (fr) * | 2003-01-28 | 2004-07-30 | St Microelectronics Sa | Test en parallele de circuits integres |
JP2005037995A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Corp | 半導体集積回路の検証システム |
KR20050078704A (ko) * | 2004-01-31 | 2005-08-08 | 삼성전자주식회사 | 스캔 베이스 atpg 테스트회로, 테스트방법 및 스캔체인 재배열방법 |
US7055118B1 (en) * | 2004-03-01 | 2006-05-30 | Sun Microsystems, Inc. | Scan chain verification using symbolic simulation |
JP4496006B2 (ja) * | 2004-05-12 | 2010-07-07 | 株式会社東芝 | 故障候補特定システムおよび故障候補特定方法 |
EP1946132B1 (en) | 2005-11-04 | 2010-04-14 | Nxp B.V. | Integrated circuit test method and test apparatus |
WO2007113828A2 (en) * | 2006-04-03 | 2007-10-11 | Power2B Inc. | User interface functionalities |
JP2007310714A (ja) * | 2006-05-19 | 2007-11-29 | Seiko Epson Corp | 集積回路装置、デバッグツール、デバッグシステム、マイクロコンピュータ及び電子機器 |
US20080195904A1 (en) * | 2007-02-08 | 2008-08-14 | Nec Laboratories America, Inc. | Test Point Insertion and Scan Chain Reordering for Broadcast-Scan Based Compression |
JP4842876B2 (ja) * | 2007-03-30 | 2011-12-21 | 富士通セミコンダクター株式会社 | 故障診断装置及び故障診断方法 |
JP2009042017A (ja) * | 2007-08-08 | 2009-02-26 | Nec Electronics Corp | スキャンパス回路及び半導体集積回路 |
US7983871B2 (en) * | 2007-09-04 | 2011-07-19 | Advanced Micro Devices, Inc. | Method and apparatus for employing previous test insertion results for testing a device |
JP4881332B2 (ja) * | 2008-02-15 | 2012-02-22 | 株式会社東芝 | 半導体集積回路のテスト品質評価装置、および半導体集積回路のテスト品質評価方法 |
US7971176B2 (en) * | 2008-03-18 | 2011-06-28 | International Business Machines Corporation | Method for testing integrated circuits |
JP5408052B2 (ja) * | 2010-06-23 | 2014-02-05 | 富士通セミコンダクター株式会社 | 集積回路、シミュレーション装置、及びシミュレーション方法 |
US8990760B2 (en) * | 2011-08-26 | 2015-03-24 | Mentor Graphics Corporation | Cell-aware fault model generation for delay faults |
US9081929B2 (en) * | 2012-01-06 | 2015-07-14 | New York University | Systems, processes and computer-accessible medium for providing logic encryption utilizing fault analysis |
JP6070100B2 (ja) * | 2012-11-19 | 2017-02-01 | 株式会社ソシオネクスト | 回路設計方法、回路設計プログラムおよび回路設計装置 |
US9564877B2 (en) | 2014-04-11 | 2017-02-07 | Qualcomm Incorporated | Reset scheme for scan chains with asynchronous reset signals |
JP2016085152A (ja) * | 2014-10-28 | 2016-05-19 | 富士通株式会社 | 診断装置、診断プログラム及び診断方法 |
US9374219B2 (en) * | 2014-11-24 | 2016-06-21 | Advanced Micro Devices, Inc. | Method and apparatus for securing access to an integrated circuit |
US10365327B2 (en) | 2017-10-18 | 2019-07-30 | International Business Machines Corporation | Determination and correction of physical circuit event related errors of a hardware design |
CN108152619B (zh) * | 2017-12-16 | 2021-02-05 | 西安翌飞核能装备股份有限公司 | 一种电网故障模拟装置及其控制方法 |
JP7269896B2 (ja) * | 2020-02-17 | 2023-05-09 | ルネサスエレクトロニクス株式会社 | 故障診断装置および故障診断方法 |
US20230258714A1 (en) * | 2022-02-15 | 2023-08-17 | Mediatek Singapore Pte. Ltd. | Icg test coverage with no timing overhead |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4377757A (en) | 1980-02-11 | 1983-03-22 | Siemens Aktiengesellschaft | Logic module for integrated digital circuits |
JPS6480885A (en) | 1987-09-24 | 1989-03-27 | Nec Corp | Lsi testing circuit |
US5184067A (en) | 1988-07-12 | 1993-02-02 | Kabushiki Kaisha Toshiba | Signature compression circuit |
JPH0247574A (ja) | 1988-08-10 | 1990-02-16 | Toshiba Corp | 半導体集積回路装置及びその動作テスト方法 |
US5488615A (en) * | 1990-02-28 | 1996-01-30 | Ail Systems, Inc. | Universal digital signature bit device |
JPH0682325B2 (ja) | 1990-05-29 | 1994-10-19 | 株式会社東芝 | 情報処理装置のテスト容易化回路 |
US5349587A (en) | 1992-03-26 | 1994-09-20 | Northern Telecom Limited | Multiple clock rate test apparatus for testing digital systems |
US5414716A (en) * | 1993-09-22 | 1995-05-09 | Mitsubishi Electronic Research Laboratories, Inc. | Weighting system for testing of circuits utilizing determination of undetected faults |
JP2561032B2 (ja) | 1994-06-14 | 1996-12-04 | 日本電気株式会社 | 半導体集積回路のテスト方式 |
US5872794A (en) * | 1994-09-30 | 1999-02-16 | Texas Instruments Incorporated | Flash EPROM control with embedded pulse timer and with built-in signature analysis |
US5867409A (en) | 1995-03-09 | 1999-02-02 | Kabushiki Kaisha Toshiba | Linear feedback shift register |
JP3207727B2 (ja) | 1995-10-03 | 2001-09-10 | 株式会社東芝 | 半導体集積回路およびその応用装置 |
US5680543A (en) * | 1995-10-20 | 1997-10-21 | Lucent Technologies Inc. | Method and apparatus for built-in self-test with multiple clock circuits |
US5737340A (en) * | 1996-07-01 | 1998-04-07 | Mentor Graphics Corporation | Multi-phase test point insertion for built-in self test of integrated circuits |
US5805608A (en) * | 1996-10-18 | 1998-09-08 | Samsung Electronics Co., Ltd. | Clock generation for testing of integrated circuits |
US5841867A (en) * | 1996-11-01 | 1998-11-24 | Xilinx, Inc. | On-chip programming verification system for PLDs |
US6249893B1 (en) | 1998-10-30 | 2001-06-19 | Advantest Corp. | Method and structure for testing embedded cores based system-on-a-chip |
US6442723B1 (en) | 1999-05-12 | 2002-08-27 | International Business Machines Corporation | Logic built-in self test selective signature generation |
US6327685B1 (en) * | 1999-05-12 | 2001-12-04 | International Business Machines Corporation | Logic built-in self test |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
-
2001
- 2001-03-07 JP JP2001063725A patent/JP3851782B2/ja not_active Expired - Fee Related
-
2002
- 2002-03-07 US US10/091,552 patent/US7082559B2/en not_active Expired - Fee Related
-
2004
- 2004-08-16 US US10/918,732 patent/US7139956B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002267719A (ja) | 2002-09-18 |
US20020176288A1 (en) | 2002-11-28 |
US7139956B2 (en) | 2006-11-21 |
US7082559B2 (en) | 2006-07-25 |
US20050015691A1 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3851782B2 (ja) | 半導体集積回路及びそのテスト方法 | |
US5684808A (en) | System and method for satisfying mutually exclusive gating requirements in automatic test pattern generation systems | |
US20040237015A1 (en) | Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits | |
US7124342B2 (en) | Smart capture for ATPG (automatic test pattern generation) and fault simulation of scan-based integrated circuits | |
US20090113263A1 (en) | Methods for analyzing scan chains, and for determining numbers or locations of hold time faults in scan chains | |
US8819507B2 (en) | Field programmable gate arrays with built-in self test mechanisms | |
JP2003332443A (ja) | 半導体集積回路とその設計支援装置およびテスト方法 | |
US6311318B1 (en) | Design for test area optimization algorithm | |
US6862717B2 (en) | Method and program product for designing hierarchical circuit for quiescent current testing | |
JPH11352188A (ja) | 半導体装置 | |
US8145963B2 (en) | Semiconductor integrated circuit device and delay fault testing method thereof | |
CN114667455A (zh) | 用于测试电路的通用压缩器架构 | |
JP3785388B2 (ja) | 故障検出方法 | |
JPH10132899A (ja) | レジスタトランスファレベル回路の低コストテスト方法 | |
US6532571B1 (en) | Method to improve a testability analysis of a hierarchical design | |
JP2002312410A (ja) | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP6731733B2 (ja) | スキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法 | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
JP2002100738A (ja) | 半導体集積回路及びテスト容易化回路の自動挿入方法 | |
JP7169044B2 (ja) | 半導体集積回路、その設計方法、プログラム及び記憶媒体 | |
JPWO2009084424A1 (ja) | 半導体テスト装置、半導体装置および試験方法 | |
JP2003006253A (ja) | ロジック回路設計方法およびその方法をコンピュータに実行させるプログラム | |
JP2004280426A (ja) | 論理集積回路の内部信号トレース装置 | |
JPH11203158A (ja) | テスト回路付パイプライン回路およびテスト回路付パイプライン回路をテストするための自動テストパターン生成方法 | |
JP2004012374A (ja) | 半導体集積回路のテストシステム、検査方法およびスキャンテストパターン作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |