JP2007071713A - 半導体集積回路の試験方法 - Google Patents
半導体集積回路の試験方法 Download PDFInfo
- Publication number
- JP2007071713A JP2007071713A JP2005259412A JP2005259412A JP2007071713A JP 2007071713 A JP2007071713 A JP 2007071713A JP 2005259412 A JP2005259412 A JP 2005259412A JP 2005259412 A JP2005259412 A JP 2005259412A JP 2007071713 A JP2007071713 A JP 2007071713A
- Authority
- JP
- Japan
- Prior art keywords
- test
- circuit
- value
- flip
- failure
- 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.)
- Withdrawn
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】半導体集積回路の故障解析のための試験で、スキャン試験は不良原因箇所の確定は容易だが、試験される条件が限定されていて充分とはいえない。一方、ユーザーファンクション試験を用いると、不良原因箇所の確定が難しく、工数が余計にかかる。
【解決手段】最初、ユーザーファンクション試験プログラムを所定の停止アドレスまで実行し、停止したときに前記フリップフロップ回路が保持する値を該フリップフロップ回路で構成するスキャンチェーンを用いて出力し、論理より求めた保持すべき期待値と比較する試験サイクルを含み、期待値との不一致が生じるまで停止アドレスを順次加算設定して前記試験サイクルを繰り返し、期待値と不一致となったフリップフロップ回路を求める半導体集積回路の試験方法。不一致となったフリップフロップからスキャンバックして故障箇所を確定する。
【選択図】図2
【解決手段】最初、ユーザーファンクション試験プログラムを所定の停止アドレスまで実行し、停止したときに前記フリップフロップ回路が保持する値を該フリップフロップ回路で構成するスキャンチェーンを用いて出力し、論理より求めた保持すべき期待値と比較する試験サイクルを含み、期待値との不一致が生じるまで停止アドレスを順次加算設定して前記試験サイクルを繰り返し、期待値と不一致となったフリップフロップ回路を求める半導体集積回路の試験方法。不一致となったフリップフロップからスキャンバックして故障箇所を確定する。
【選択図】図2
Description
本発明は、半導体集積回路の動作不良原因を求める故障解析において、短時間に効率よく不良箇所を確定するための試験方法に関するものであって、実使用状態に近い条件で不良を検出し、故障箇所に近い論理的な場所を同定するための試験方法に関わる。
近年の半導体集積回路は微細化と高密度化により回路規模やテストパターンは益々増加の傾向にある。故障解析もその影響を受け、解析作業は複雑化の一途をたどっている。
集積回路の製造工程における試験工程で発生する不良や、出荷後に動作不良が生じたときには、不良の原因となった場所を見つけ出し、その原因を明らかにして早期に対策をとることが重要なことである。不良原因の箇所を見つけ出す作業を故障解析と呼んでいる。現在用いられている故障解析のための試験方法には、大きく分けてスキャン試験とユーザーファンクション試験との2つがある。
スキャン試験は、組み合わせ回路単位に入力端子と出力端子にフリップフロップ回路(以下FF回路と記す)を割り当てておく方法である。通常動作では、これらのFF回路はLSIの設計仕様に従って接続されているが、スキャン試験モードに設定されると、FF回路の入力端子と出力端子を相互に直列に接続して1本のシフトレジスタとして動作するスキャンチェーンを構成し、最初の入力端子と、最終の出力端子がテスターに接続される。
そして、入力端子からクロック信号に同期して所定の信号を入力し、順次転送することで特定の組み合わせ回路の入力端子に対応するFF回路に所定の入力条件に設定することができる。この状態でFF回路の出力端子を組み合わせ回路の入力に接続すると、出力端子には入力条件に従った出力が現れ、この値を出力端子に接続されたFF回路に取り込むとができる。再び、FF回路を直列に接続してスキャンチェーンを構成し、このFF回路に取り込まれた信号を順次転送し最終の出力端子から取り出せば、対象とする組み合わせ回路の入力信号と出力信号の関係を検証することができる。
故障信号を取り込んだFF回路が特定されるので、このFF回路のデータ端子を起点にして対象となる組み合わせ回路の活性なパスをバックトレースすることで故障箇所を明らかにすることができる。
バックトレースは、このFF回路の端子から組み合わせ回路の信号が伝播してくる逆方向に回路をさかのぼり、電子ビームなどのプローブを用いて回路内部の論理値を測定して行われる。測定された信号と論理シミュレーションから得られる信号とを比較し、FF回路で不一致であった状態から、一致する状態に変わった点が故障箇所と確定することができる。
このように、スキャン試験によると個々の組み合わせ回路の動作を独立に検証することができるので不良箇所の特定は比較的に容易である。しかし一方で、スキャン試験は不良箇所が活性化できない場所にあった場合は検出することができない。また、試験される組み合わせ回路が別々に特定されていて、電源電圧や温度、タイミングなどの最悪の組み合わせを再現することが困難なため、マージン不良の故障解析を行うのが困難である。
このように、スキャン試験で全ての不良原因を明らかにすることはできない。他方、少しでも検出率を上げるための試験方法として、実際にユーザーが実機で使用するようなパターンを用い、スキャン試験では活性化できない回路を試験することができるユーザーファンクション試験が用いられる。
ユーザーファンクション試験は、ユーザーが実機で使用する様々なパターンに対応した試験プログラムを用いる試験方法であって、故障箇所を原因とした誤信号が、集積回路内部の論理パスを通って出力端子にフェイル信号を出力する。ユーザーファンクション試験での故障解析は、テスターがファンクションフェイルを検出したときフェイルアドレスとフェイル端子情報をもとに、フェイル端子を起点として論理回路をバックトレースする。バックトレースはフェイル時に活性化しているパスをシミュレーション値を考慮しながら行っている。
この方法は、実機で使用されるような条件を与えることが可能で、実際に使用条件で試験を行うことができる。しかし、故障箇所が原因となって誤った信号が生成され、その信号が内部の論理パスを経由してから、出力信号として不良と判定されるまでに複数の命令ステップが実行されている場合が多く、容易に故障箇所を確定することができない。
故障解析を行う場合、通常は単一故障を想定してバックトレースを進めるため、トレース先の入力が複数ある場合は活性化している全てのパスがバックトレースの対象となる。活性化しているパスを検証することで故障経路と非故障経路とを選別し、故障箇所が見つかるまでバックトレースを繰り返す必要がある。そのため、故障解析に要する時間が増加すると共に、必ずしも故障箇所を特定できない場合が多くなる。
特開2000−2753号公報
特開2000−304820号公報
このように、スキャン試験は故障解析を行う上で有効な手法であって、特に回路素子や配線の欠陥や経時劣化による固定不良と呼ばれるものを見つけ出すのに適した方法である。しかし、実機として動作する集積回路では電源電圧の変動によるマージン不足を初め、信号間のタイミングマージンの不足や温度変動による特性の変動から来るマージン不足などが個別の組み合わせ回路の検証では見つけ出すことができない場合がある。不良発生箇所は組み合わせ回路の内部で生じる場合もあれば、組み合わせ回路に入力される複数の回路から組み合わせによって生じる場合もある。このように、複数の信号の組み合わせで発生する不良は実際にユーザーファンクションを用いて動作試験で検出することが必要である。
従って、回路の動作不良を検出する際には、実機が使用される環境に近い条件を与えて試験することができるユーザーファンクションを用いることが望ましい。
一方、動作不良を検出したあと、故障箇所を確定容易に確定するために、故障箇所に近い場所で不良を検出できるスキャン試験の特徴を取り入れられることが求められている。
すなわち、本発明の目的はより実機に近い条件で試験を行って不良検出の確率を高め、同時に不良検出に引き続いて容易に故障箇所が確定できる試験方法を提供することにある。
上記課題を解決するために、本発明による試験方法は、複数のフリップフロップ回路と、該フリップフロップ回路に接続された論理素子を有する組み合わせ回路を複数含む半導体集積回路の試験方法であって、ユーザーファンクション試験プログラムを所定の停止アドレスまで実行し、前記フリップフロップ回路が保持する値を該フリップフロップ回路を含むスキャンチェーンを用いて出力し、前記停止アドレスに対応して論理より求めた前記フリップフロップ回路が保持すべき期待値と前記出力した値とを比較する試験サイクルを含み、前記停止アドレスを順次加算設定して前記試験サイクルを繰り返すことで該半導体集積回路が含む故障の結果が反映されたフリップフロップ回路を検出している。
そして、検出されたFF回路が接続される組み合わせ回路に対して、該FF回路を起点に論理的に活性化されたパスをさかのぼって論理的期待値と比較することで故障箇所を判定することができる。
すなわち、ユーザーファンクション試験を利用して集積回路が実際に使用される状態に近い条件で試験を行う。そして、試験プログラムの命令が所定のアドレスまで実行されたときに停止し、組み合わせ回路が実行した結果をFF回路に保持する。保持された値はFF回路で構成するスキャンチェーンを用いて出力し、論理より求めた保持すべき期待値とを比較することで、命令を実行・停止する毎に集積回路が論理設計どおりに動作しているかどうかを検証することができる。この試験サイクルを繰り返すことで、不良が発生したとき結果が論理パスでつながる直近のFF回路に反映されたところで故障の発生を検出することができる。
このように、故障箇所に近いFF回路が検出されるので、通常のユーザーファンクション試験でフェイル信号を検出した出力端子から故障箇所を判定するのに比べると大幅に容易になり、短時間で判定を行うことが可能になる。
さらに、予めユーザーファンクション試験でフェイルするプログラムのアドレスが判明している場合などは、試験サイクルの間隔を予め広く設定しておき、FF回路の期待値との不一致を検出してから間隔を狭く設定して実行することで短時間に検出を行うことが可能になる。
ユーザーファンクション動作モードで発生した不良動作の結果を直近のFF回路に保持し、期待値と比較することで故障が引き起こす不良を発生箇所に最も近い場所で、早いタイミングで捕らえることが可能になるので、故障箇所を見つける手間が軽減され時間が短縮される。
さらに、ユーザーファンクション試験で不良を発生させることができるため、集積回路が実際に使用されるのに近い条件で故障解析を行うことが可能になる。
また、ユーザーファンクション試験では検出できない不良を検出することができる可能性があるので、検出率を向上することができる。また、本発明はスキャン試験に対応して設計された品種ならば容易に適用することができる。
本発明が適用される半導体集積回路は複数のFF回路と、このFF回路に接続される論理素子を有する組み合わせ回路を含んでいて、ユーザーファンクション試験モード時には、これらのFF回路はそれぞれの組み合わせ回路の出力端子に接続されて出力値を取り込み、この値を次の組み合わせ回路の入力に与える。また、これらのFF回路はスキャン試験が可能であって、FF回路をチェーン状に直列に接続されたスキャンチェーンを形成し、それぞれのFF回路が保持する値を出力端子から順番に出力する。
また本発明では、ユーザーファンクション試験プログラムの命令が実行されたときにそれぞれのFF回路が保持すべき期待値を論理的に求める機能を備えている。
上記の構成で、先ず調査する集積回路に対して、ユーザーファンクション試験パターンを最初の命令アドレスから処理実行し予め設定された所定の命令アドレスで停止し、実行の結果がFF回路に保持される。そしてFF回路にその値を保持した状態で、スキャン試験モードに切り換えて保持した値をスキャンチェーンを介して順次出力端子から出力される。出力された値は、停止した命令アドレスのときにそれぞれのFF回路がとるべき期待値と比較される。
全てのFF回路の値が期待値と一致すれば入力された信号が通る回路が正しく動作していると判断して次に停止する命令アドレスの設定を変更し再びユーザーファンクション試験から繰り返す。
前記比較した結果、期待値と異なる値を持つFF回路が検出されたとき、そのときの命令アドレスすなわち故障発生アドレスと、不良組み合わせ回路、不良信号を保持したFF回路すなわちキャプチャーFF回路が確定される。これらの情報をもとに、不良端子からバックトレースすることで故障箇所を確定することができる。以下に、実施例をもとに具体的な試験方法について説明する。
図1は本発明が適用される集積回路100の構成を示している。半導体集積回路100は複数の組み合わせ回路1〜4がFF回路1〜12を介して接続される構成でなっている。各FF回路はそれぞれ入力端子Dと、出力端子Qを備えている。そして、組み合わせ回路の入力端子Iはそれぞれ対応して配置されたFF回路出力端子Qに接続され、組み合わせ回路の出力端子Oはそれぞれ対応するFF回路の入力端子Dに接続されている。それぞれの入力端子Iおよび出力端子OはゲートRなどの論理回路が接続されていて、その組み合わせで入力信号の組み合わせに応じて所定の論理処理を行ってその結果が出力端子Oに出力される。
組み合わせ回路1の入力端子Iはそれぞれ本半導体集積回路100の入力パッドIN1〜4に接続されていて、外部から入力信号が加えられる。また、組み合わせ回路4の出力端子Oは出力パッドOUT1〜4に接続されていて入力信号が処理された結果が外部に出力される。図1の例では入出力パッドから直接組み合わせ回路に接続されている構成になっているが、間にFF回路を介して接続するようにしても構わない。
通常のユーザーファンクション動作モードでは、それぞれの組み合わせ回路は入力端子に接続されたFF回路の出力Qの値が入力信号として供給され、論理回路R等の組み合わせに従って処理されその結果が出力端子Oに出力される。出力された値は出力端子Oに接続されたFF回路の入力端子Dに取り込まれ、その値はタイミング信号に応じてFF回路の出力端子Qに現れる。その値は次の段の組み合わせ回路の入力値となる。このようにして、集積回路100に入力された信号は、次々と組み合わせ回路で処理されて出力端子から出力される。
ユーザーファンクション試験を行うときは、上記ユーザーファンクション動作モードに設定され、集積回路の入力端子から試験パターンを入力すると、入力された信号は各組み合わせ回路1の結果がFF回路1〜4のデータ入力端子Dより取り込まれる。取り込まれたデータ値は出力端子Qに反映され、この値が次の組み合わせ回路2の入力として設定される。このようにして、入力信号は組み合わせ回路1〜4を経て出力端子OUT1〜OUT4に現れ、この値と期待値とを比較して動作の正否を判定する。
さらに図1で示す半導体集積回路100はスキャン試験を行うことができる。スキャン試験モードに設定されると、前記FF回路1〜12のスキャンイン端子SIとスキャンアウト端子SOは、隣接するFF回路の間で相互に直列に接続されて、前記FF回路の全てが1本のスキャンチェーンを構成する。そして、初段のスキャンイン端子SIはスキャンインパッドSDIに接続され、最終段のFF回路の出力端子SOはスキャンアウトパッドSDOに接続される。
このように直列接続されたFF回路はシフトレジスタとして動作し、テスターからスキャンインパッドSDIにクロックに同期して信号を順次入力し、入力値をシフトすることで各FF回路に所定のデータ値をセットすることができる。また、各FF回路が保持する値はクロックに同期して順番にシフトされて出力端子SDOから順次出力される。従って、特定のタイミングにおいてFF回路が保持するデータ値を読み出すことができる。
スキャン試験で、例えば組み合わせ回路2の試験を行う場合は、スキャンインパッドSDIから、クロックに同期して順次データを入力してFF回路1〜4に所定の値を設定する。次にスキャンチェーンの接続を解除して、それぞれのFF回路の出力Qを組み合わせ回路2の入力端子Iに接続する。すると組み合わせ回路2の各出力端子には論理回路の組み合わせに応じた出力値が現れ、この出力値は、FF回路5〜8に取り込まれる。次に、再びスキャンチェーンを構成してFF回路5〜8の値をシフトしてスキャンアウトパッドSDOから出力する。得られた出力値と論理より求めた期待値とを比較することで組み合わせ回路2が所定の動作を行っているかどうかを判定することができる。
本発明は、図1に示すようにユーザーファンクション試験と、スキャン試験が実行できる半導体集積回路100に対して、両方の試験を組み合わせて行うことで、少ない工数でより精度の高い故障解析を可能とする試験方法である。
次に、図2のフローチャートを用いて本発明の試験の手順について説明する。
ステップS1で、試験の初期条件を設定する。停止アドレスAは、ユーザーファンクション試験を最初の命令アドレスから実行を開始したあと、途中で命令実行を停止するアドレスである。図2の例ではA=1と設定してあって最初の命令ステップの処理を実行して停止するように設定している。
ステップS1で、試験の初期条件を設定する。停止アドレスAは、ユーザーファンクション試験を最初の命令アドレスから実行を開始したあと、途中で命令実行を停止するアドレスである。図2の例ではA=1と設定してあって最初の命令ステップの処理を実行して停止するように設定している。
アドレス加算ステップBは、後述する試験サイクルが実行されて次の試験サイクルを行うとき、停止アドレスAの設定値が加算されたとき増加するステップ値である。図2の例ではB=1であるので試験サイクルを実行する毎に、停止アドレスAが1ずつ加算される。最終アドレスCは本試験でユーザーファンクション試験の実行を完了する命令アドレスである。通常は、ユーザーファンクション試験で最初に不良を検出したファーストフェイルアドレスの値を設定する。
次にステップS2で、FF回路をユーザーファンクションモードに設定して集積回路の試験サイクル動作が開始される。このときはFF回路の入力端子Dと出力端子Qはそれぞれ対応する組み合わせ回路の出力端子Oと入力端子Iに接続される。ここで試験サイクルとは、ステップS2からステップS8に至る間での一連の試験動作のことである。
試験サイクルが開始されるとステップS3で、ユーザーファンクション試験のプログラムが最初の1パターン目から実行され、停止アドレスAの処理が実行されたところで停止する。図2の例では最初の命令が実行されたところで停止する。そしてこのときそれぞれの組み合わせ回路1〜3の出力値は、対応して接続されたFF回路1〜12に保持される。
一方、試験動作の開始と並行して、ステップS4でテストシミュレータを用いてユーザーファンクション試験の論理シミュレーションが実行され、停止アドレスAで停止したときにそれぞれのFF回路が保持する期待値が算出される。
命令の実行が停止するとステップS5で、スキャン試験モードに切り換えられ、FF回路1〜12を含むスキャンチェーンが形成され、停止したときFF回路が保持していた値がクロック信号に同期して順番にスキャンデータ出力端子SDOから出力される。
ステップS6では、スキャンチェーンから出力されたFF回路の値と、シミュレーションで求めた期待値とがそれぞれ比較され一致するかどうかの判定が行われる。
一致しない場合は、故障箇所と論理的に活性なパスでつながるFF回路が特定されたことであり、同時に故障箇所が含まれる組み合わせ回路が特定できたことを示す。従って、ここで試験サイクル動作は終了し、得られた結果を用いて故障場所の確定作業が行われる。
一方、ステップS6で回路と期待値のそれぞれが一致した場合は、未だ不良の発生は検出されていないので、ユーザーファンクション試験の命令ステップを次に進めて試験サイクルを実行する。そのため、ステップS7では停止アドレスAの値をアドレス加算ステップBの分を進め、A=A+Bとする。
次にステップS8では停止アドレスAの値と最終アドレスCの値とを比較を行い、停止アドレスAの値が最終アドレスCの値を超えていない場合、再びステップS2にもどって、次の試験サイクルが実行される。
このようにして、停止アドレスAを順次加算ステップBずつ増加させながら試験サイクルを繰り返し、ステップS6でFF回路の値と期待値とが一致しない不良の発生を検出するまで行われる。
ステップS8でAの値がCの値を超えている場合、本発明の試験方法で不良の発生が無かったことが確認されて試験を終了する。
ステップS6で期待値と異なる値を持つFF回路が検出されたときの不良回路の解析は前記で説明したようにバックトレースを行って故障箇所を判定する。図3に示す集積回路100から不良が検出されたときを例にして本発明を用いたときの故障解析の手順を説明し、併せて従来技術で行ったときの故障解析にかかる工数と比較を行う。ここで一点鎖線は故障した論理回路から組み合わせ回路の出力端子に至る論理パスを示している。点線は、故障解析を行うとき活性化される論理パスを示している。
図3では、組み合わせ回路2のゲートGの入力1に故障箇所が存在し、その結果FF回路8の値が本来保持すべき期待値と異なっていたことを示している。ゲートGの出力はこのとき活性化されていた一点鎖線で示すパスを経由してFF回路8に誤った値として保持されていることを示している。
故障箇所の確定は、電子ビームなどのプローブを用いて、FF回路8が接続された出力端子Oから活性化されたパスを逆の方向にバックトレースし信号を測定する。測定した値は論理シミュレーションから求めた値と比較して一致と不一致を判定してゆく。FF回路8に近い場所ではシミュレーション値とは一致していない。そして、ゲートGに至ると出力値が異なった値を示すが入力端子の信号が正しいことが検出され、故障箇所がゲートGの入力1であることが確定される。この作業を行うとき、FF回路8に対して活性化しているパスは点線で示すように複数個あるのでそれぞれのパスについて測定してシミュレーション値との比較を行う必要がある。
一方、従来行っていたユーザーファンクション試験の結果から故障箇所を確定する方法で行った場合、FF回路8の出力Qが組み合わせ回路3および4を経由して出力端子OUT3に現れたところでフェイル判定が行われる。従って故障解析は出力端子OUT3から逆の方向にバックトレースを行う。そのため故障箇所に到達するまでの論理パスの距離が長いだけでなく、解析対象となる活性化されたパスの数が本発明の方法を使用した場合に比べて指数関数的に大きな数になり、その結果解析に要する時間が長くかかることになる。
図3の下部の図がこの様子を示している。横軸は故障箇所Lから、組み合わせ回路の出力端子までの距離の相対値を示し、縦軸は故障解析を行うときに解析対象となる論理回路の数の相対値の対数を示している。図3の場合、本発明を用いると故障箇所Lから組み合わせ回路2の出力端子Oまでの距離がLMであって、解析対象の回路数はSMの長さに相当する。一方、従来のユーザーファンクション試験から故障解析を行った場合は、出力端子OUT3までの距離がLNであって、解析対象の回路数はTNとなって、LMと比較すると大きな値となることを示している。
さらに、本発明を用いることによって出力端子にフェイル信号を出力するより前にフェイルを検出することが可能になり、その結果故障検出率が向上し品質の向上を図ることができる。一般にユーザーファンクション試験のプログラムは全ての論理回路の組み合わせを実現するとプログラムのステップが膨大になるため、実現可能な数に抑えている。そのため、故障検出率は100%にならず、試験を合格した集積回路が実際に使用されたとき、試験を行わなかった部分で不良が発生する可能性がある。
図3では集積回路100にはゲートHの入力2に故障箇所が存在する例を示していて、故障の結果ユーザーファンクション試験でFF回路2に誤った値を出力している。しかし、引き続いて実行される試験プログラムのステップではその誤ったFF回路2が接続されるパスが偶然活性化されない場合があり得る。そのようなときは出力端子OUT1〜4にはフェイルの信号が出力されないため、従来のユーザーファンクション試験では故障の存在を検出することができなかった。
しかし、実使用上でのプログラムの組み合わせによって誤った値が出力端子まで伝わった場合、試験プログラムをパスした集積回路が動作不良を示すことになる。一方、本発明によれば、FF回路2が期待値を異なった値を保持した時点で不良の発生が検出される。従って、本発明の試験方法を用いた場合、従来方法で用いる試験プログラムであっても故障検出率が向上し、集積回路の品質を向上することができる。
次に、図2のステップS1で行った初期値の設定について説明する。本発明において、通常のLSIテスターを用いて行ったユーザーファンクション試験で最初に不良と判定された命令アドレスをファーストフェイルアドレスと言い、出力端子のいずれかの出力がテスターが判定に用いる期待値とが異なっている。なお、本発明の試験で最初に期待値と異なる値を保持したFF回路が故障キャプチャーFF回路であり、このときの命令アドレスを故障発生アドレスと呼ぶ。一般的に故障発生アドレスはファーストフェイルアドレスよりも小さな値をとる。
[設定1] ファーストフェイルアドレスがわかっている場合。
図2の初期設定では最終アドレスCの値にはファーストフェイルアドレスの値を設定し、初期の停止アドレスA=1と設定して命令アドレスの1パターン目から試験を行う例場合を想定している。
図2の初期設定では最終アドレスCの値にはファーストフェイルアドレスの値を設定し、初期の停止アドレスA=1と設定して命令アドレスの1パターン目から試験を行う例場合を想定している。
しかし、ファーストフェイルアドレスが大きな値である場合、最初の停止アドレスAを1から始めると故障発生アドレスに到達するまでの試験サイクルの回数が多くなって試験時間が長くなってしまい、故障解析の時間短縮の効果が充分に得られない場合がある。このようなときは、初期設定の停止アドレスAの値を最終アドレスCに近い値に設定することで試験のステップを短くすることが可能である。あるいは、アドレス加算ステップBの値を1より大きな値にして試験サイクルの回数を減らすことが可能である。このような方法をとった場合について説明を行う。
[設定2] 最初に設定する停止アドレスAを1よりも大きな値にするとき。
最初のステップS6で不良が見つかったとき、そのときの停止アドレスAが故障発生アドレスと等しい場合と、それより前の命令アドレスでフェイルが発生した場合とがある。従って、故障発生アドレスを確定する必要があり、停止アドレスAから減算しながら試験サイクルを実行する。図4のフローチャートにこのときの手順を表す。
最初のステップS6で不良が見つかったとき、そのときの停止アドレスAが故障発生アドレスと等しい場合と、それより前の命令アドレスでフェイルが発生した場合とがある。従って、故障発生アドレスを確定する必要があり、停止アドレスAから減算しながら試験サイクルを実行する。図4のフローチャートにこのときの手順を表す。
ステップS6でFF回路の値と期待値が一致しなかった場合、ステップS11でAの値をA−1に置き換えてステップS12の試験サイクルを実行する。ステップS13〜S15はステップS3〜S5と同じである。
ステップS16でFF回路の値と期待値とが一致しない場合は未だ故障発生アドレスが確定できないのでステップS11にもどってこれを繰り返す。ステップS16でFF回路の値と期待値とが一致したときは、そのときの停止アドレスAの次の命令アドレスが故障発生アドレスであることが明らかになる。従って、テップ17で停止アドレスAの値をA+1に置き換えてこれを故障発生アドレスとして出力し終了する。このように停止アドレスを予め最終アドレスに近い値に設定することで全体にかかる試験時間を短縮して効率を上げることが可能になる。
[設定3]ユーザーファンクション試験での良否が判明していない場合。
ユーザーファンクション試験を行わずに本発明の試験を行う場合が考えられる。この場合は、初期に設定するアドレス加算ステップBを1より大きく設定することで、少ない試験サイクルの回数で早くフェイルアドレスを見つけ出すことができる。このときはアドレス加算ステップBの値を1より大きい任意の値に設定することで実現できる。
ユーザーファンクション試験を行わずに本発明の試験を行う場合が考えられる。この場合は、初期に設定するアドレス加算ステップBを1より大きく設定することで、少ない試験サイクルの回数で早くフェイルアドレスを見つけ出すことができる。このときはアドレス加算ステップBの値を1より大きい任意の値に設定することで実現できる。
このようにアドレス加算ステップBの値を1よりも大きな値に設定した場合、ステップS6で最初にFF回路の値と期待値との不一致が見つかったときの停止アドレスAの値が故障発生アドレスであるとは限らない。従ってこの場合も図3に示すフローを用いて、最初の停止アドレスAの値を1ずつ減算して試験実行のステップを繰り返すことで故障発生アドレスを確定することができる。
[設定4]アドレス加算ステップBの値を途中で変更することで試験時間を短縮する。
アドレス加算ステップBの値は、最初は大きな値に設定しておいて、最初にFF回路の値と期待値が一致しない停止アドレスAの値を求める。しかし、加算ステップBの値が大きくて図3のステップS4のように1ずつ減算すると試験サイクルの数が大きくなりすぎる場合、アドレス加算ステップBの値を小さく設定する方が早く故障発生アドレスを見つけ出せる場合がある。
アドレス加算ステップBの値は、最初は大きな値に設定しておいて、最初にFF回路の値と期待値が一致しない停止アドレスAの値を求める。しかし、加算ステップBの値が大きくて図3のステップS4のように1ずつ減算すると試験サイクルの数が大きくなりすぎる場合、アドレス加算ステップBの値を小さく設定する方が早く故障発生アドレスを見つけ出せる場合がある。
図5にアドレス加算ステップBの設定を変更する場合のフローを示している。ステップS6でFF回路の値と期待値が一致しないと、ステップS18でアドレス加算ステップBの変更を行うか確認を行う。変更を行わない場合は、図4の場合と同じでステップS11に進みそのときの停止アドレスAから順次減算して故障発生アドレスを求める。
変更を行う場合は、ステップS19で所望の加算ステップBの値を設定する。このとき同時に停止アドレスAの値をA−Bに減算しておく必要がある。
上記に挙げた初期設定の例で、停止アドレスAを最終アドレスCの値を設定した場合も、アドレス加算ステップBの値を最終アドレスCの値を設定したときも共に、最初の試験サイクルで得られた結果が、従来のユーザーファンクション試験のみで得られた結果と同等の結果となる。従って、ステップS1の初期設定でA=B=Cと設定しておいて、結果に応じてAまたはBの値を置き換えることでより柔軟に対応することができる。
あるいはステップS6の結果で設定する条件を予めテスターに設定することで効率よく自動的に故障発生アドレスを見つけ出すことが可能になる。
半導体集積回路の故障解析は、試作段階や製造工程、あるいは市場で発生する不良原因を明らかにして適切な対応をとるための重要な作業である。本発明を使用することで、故障解析を行うときに適した試験方法であって、従来のユーザーファンクション試験のプログラムを用いることで実使用状態に近い試験で不良状態を再現し、同時にスキャン試験と同程度の工数で故障箇所の解析を行うことが可能になる。従って、従来に比較して、より精度の高い不良解析を、少ない工数で短時間に行うことができる。
100 集積回路
1、2 故障ゲートの入力
1、2 故障ゲートの入力
Claims (5)
- 複数のフリップフロップ回路と、該フリップフロップ回路に接続された論理素子を有する組み合わせ回路を複数含む半導体集積回路の試験方法であって、
ユーザーファンクション試験プログラムを所定の停止アドレスまで実行し、前記フリップフロップ回路が保持する値を該フリップフロップ回路を含むスキャンチェーンを用いて出力し、
前記停止アドレスに対応して論理より求めた前記フリップフロップ回路が保持すべき期待値と前記出力した値とを比較する試験サイクルを含み、
前記停止アドレスを順次加算設定して前記試験サイクルを繰り返すことで該半導体集積回路が含む故障の結果が反映されたフリップフロップ回路を検出することを特徴とする半導体集積回路の試験方法。 - 前記検出されたフリップフロップ回路が接続される組み合わせ回路において、該フリップフロップ回路を起点に論理的に活性化されたパスをさかのぼって論理的期待値と比較し、前記故障箇所を確定することを含む請求項1記載の半導体集積回路の試験方法。
- 前記所定の停止アドレスは、前記ユーザーファンクション試験を単独で行ったとき最初に不良を検出するアドレスを超えることなく設定されることを特徴とする請求項1または2記載の半導体集積回路の試験方法。
- 前記故障の結果が反映されたフリップフロップ回路が検出されたとき、前記停止アドレスを前記順次加算されたステップより小さいステップで順次減算して前記試験サイクルを繰り返すことを特徴とする請求項1または2記載の半導体集積回路の試験方法。
- 前記故障の結果が反映されたフリップフロップ回路が検出されたとき、前記停止アドレスを前記順次加算されたステップより小さいステップで再び順次加算して前記試験サイクルを繰り返すことを特徴とする請求項1記載の半導体集積回路の試験方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005259412A JP2007071713A (ja) | 2005-09-07 | 2005-09-07 | 半導体集積回路の試験方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005259412A JP2007071713A (ja) | 2005-09-07 | 2005-09-07 | 半導体集積回路の試験方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007071713A true JP2007071713A (ja) | 2007-03-22 |
Family
ID=37933273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005259412A Withdrawn JP2007071713A (ja) | 2005-09-07 | 2005-09-07 | 半導体集積回路の試験方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007071713A (ja) |
-
2005
- 2005-09-07 JP JP2005259412A patent/JP2007071713A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7296201B2 (en) | Method to locate logic errors and defects in digital circuits | |
US6971054B2 (en) | Method and system for determining repeatable yield detractors of integrated circuits | |
JP3893238B2 (ja) | 半導体記憶装置の不良解析装置 | |
JP4031954B2 (ja) | 集積回路の診断装置および診断方法 | |
JP4815326B2 (ja) | 集積回路のタイミング不良改善装置、並びに、集積回路のタイミング不良診断装置および方法、並びに、集積回路 | |
JP5032395B2 (ja) | テスト条件の生成方法およびテスト条件生成装置 | |
US9400311B1 (en) | Method and system of collective failure diagnosis for multiple electronic circuits | |
WO2007113940A1 (ja) | 半導体検査装置 | |
US7168004B2 (en) | Technique for testability of semiconductor integrated circuit | |
US6799292B2 (en) | Method for generating test pattern for semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
JP5476995B2 (ja) | 半導体装置の解析方法及び調整方法と半導体システム | |
JP4265934B2 (ja) | スキャンパス回路およびそれを備える論理回路ならびに集積回路のテスト方法 | |
JP2006292646A (ja) | Lsiのテスト方法 | |
WO2009084424A1 (ja) | 半導体テスト装置、半導体装置および試験方法 | |
US11092645B2 (en) | Chain testing and diagnosis using two-dimensional scan architecture | |
US7716549B2 (en) | Semiconductor apparatus and testing method | |
US20090210761A1 (en) | AC Scan Diagnostic Method and Apparatus Utilizing Functional Architecture Verification Patterns | |
JP2006349548A (ja) | 組み込み自己検査回路 | |
JP2007071713A (ja) | 半導体集積回路の試験方法 | |
JP2008527322A (ja) | 回路配置並びにその検査および/または診断方法 | |
US20100153056A1 (en) | Method of generating a restricted inline resistive fault pattern and a test pattern generator | |
JP5796404B2 (ja) | 半導体回路及びテスト方法 | |
US8539327B2 (en) | Semiconductor integrated circuit for testing logic circuit | |
JP2010032428A (ja) | 半導体装置及び半導体装置の検査方法 | |
JP5426933B2 (ja) | 半導体集積装置の故障検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081202 |