JP3785388B2 - 故障検出方法 - Google Patents
故障検出方法 Download PDFInfo
- Publication number
- JP3785388B2 JP3785388B2 JP2002270069A JP2002270069A JP3785388B2 JP 3785388 B2 JP3785388 B2 JP 3785388B2 JP 2002270069 A JP2002270069 A JP 2002270069A JP 2002270069 A JP2002270069 A JP 2002270069A JP 3785388 B2 JP3785388 B2 JP 3785388B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- scan
- test
- input
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims description 11
- 238000012360 testing method Methods 0.000 claims description 284
- 238000012937 correction Methods 0.000 claims description 38
- 238000004088 simulation Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 6
- 239000004065 semiconductor Substances 0.000 claims description 6
- 238000013461 design Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000000630 rising effect Effects 0.000 description 6
- 238000010998 test method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
- G01R31/31835—Analysis of test coverage or failure detectability
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、半導体集積回路における故障を検出する故障検出方法に関する。
【0002】
【従来の技術】
図12は従来の集積回路テスト方法の構成図である(例えば、特許文献1参照。)。図12において、0201はチップ、0202は内部メモリ手段(RAM)、0203はCPU、0204は被テスト回路、0205はこれらを相互に接続する内部バス、0206は内部バス0205と被テスト回路0204に接続されたスキャンテスト用回路、0206aは被テスト回路0204のスキャンテスト関連端子をスキャンテスト用回路0206と接続する信号線、0207は内部バス0205を入出力端子0208に接続する外部バスIFユニットである。
【0003】
被テスト回路0204のテストにおいて、CPU0203または入出力端子0208からバス0205を介してスキャンテスト用回路0206を制御することにより、被テスト回路0204のスキャンテスト関連端子にテスト用データを設定入力するとともに、被テスト回路0204のスキャンテスト関連端子の値を読み出すことができる。
【0004】
【特許文献1】
特開平11−108998号公報(第3−4頁、図1)
【0005】
【発明が解決しようとする課題】
上記した従来の集積回路テスト方法はフルスキャンテストと呼ばれる方式で、被テスト回路0204内のレジスタをすべてスキャンレジスタに置き換えてスキャンチェーン接続することを前提としている。このため、バスから直接制御/観測可能なレジスタについてもスキャンレジスタに置き換えているが、スキャンレジスタは通常のレジスタに比べて、面積が大きいものであり、すべてを置き換えることから大きなチップ面積を必要としていた。
【0006】
また、通常動作時のクロックとは別に、バス0205を介してCPU0203または入出力端子0208からスキャンテスト用回路0206を制御し、スキャンテスト用回路0206からスキャンテスト用のスキャンクロックを被テスト回路0204に入力しテストを行う構成である。このため、チップが高速で動作する場合に、通常、バスのスピードは内部クロックのスピード以下であり、通常動作と同じスピードでテストを行うことは不可能であった。
【0007】
本発明は、このような事情に鑑みて創案されたものであり、チップ面積の無駄を削減するとともに、高速動作が行えるようにすることを目的とする。
【0008】
【課題を解決するための手段】
上記の課題を解決するために、本発明は次のような手段を講じる。すなわち、故障シミュレーション実施手段、未検出故障リストアップ手段、テスト条件決定手段、テストパターン検索手段、スキャンレジスタ置換手段、パターン変更手段、プロセッサ、アドレスデコーダを含む半導体集積回路においてテスト対象の組合せ回路とテスト条件を入力するための入力側レジスタ及びテスト結果を出力するための出力側レジスタを含むテスト容易化修正回路を用いて故障シミュレーションを行う方法であって、次のような複数の工程を含むものである。
【0009】
第1の工程において、前記故障シミュレーション実施手段が半導体集積回路に対して各入力側レジスタと前記各入力側レジスタの出力信号線における論理値の組み合わせである所定のテストパターンに基づく故障シミュレーションを行って検出可能な故障と検出不可能な故障との弁別を行う。
【0010】
第2の工程において、前記未検出故障リストアップ手段が前記検出不可能な故障を未検出故障としてリストアップする。
【0011】
第3の工程において、前記テスト条件決定手段が前記未検出故障をテストするための前記各入力側レジスタと前記各入力側レジスタの出力信号線における論理値の組み合わせであるテスト条件を求める。
【0012】
第4の工程において、前記テストパターン検索手段が前記第1の工程の故障シミュレーションの所定のテストパターンにおける前期各入力側レジスタの出力信号線における論理値と、前記テスト条件における各入力側のレジスタの出力信号線における論理値とが一致する個数が最も多いテストパターンを求める。
【0013】
第5の工程において、前記スキャンレジスタ置換手段が前記テスト条件における各入力側レジスタの出力信号線における論理値と前記テストパターンにおける論理値とが一致しない入力側のレジスタ及び、故障が無いときと故障が起きたときとで出力/期待値の変化が起きる信号を設定入力する出力側のレジスタをスキャンレジスタに置き換えるとともに、前記スキャンレジスタをスキャンチェーン接続して修正回路を構成する。
【0014】
第6の工程において、前記パターン変更手段が前記修正回路に対して前記第1の工程における前記所定のテストパターンを用いながら前記テスト条件における論理値と前記テストパターンにおける論理値と一致する個数が最も多くなったタイミングでは前記第4の工程で求めたテストパターンに切り換えて故障シミュレーションを行う。
前記アドレスデコーダは前記プロセッサから入力を行う前記入力側レジスタを指定し、前記テストパターンを前記プロセッサによって動作させる。
【0015】
この構成による作用は次のとおりである。すなわち、従来方式のすべてのレジスタをスキャンレジスタに置き換えるフルスキャンテストとは異なり、未検出故障に対応するレジスタのみをスキャンレジスタに置き換えるだけである。テスト対象の組み合わせ回路の入力側のスキャンレジスタに対しては外部よりテスト用データを設定入力する。組み合わせ回路の入力側でスキャンレジスタに関連するが故障相当ではないレジスタに対しては、搭載プロセッサまたは集積回路端子からテスト用データを設定入力する。組み合わせ回路の出力側のスキャンレジスタに対しては外部よりテスト用データを設定入力して出力の初期化を行う。このようにすれば、故障シミュレーション用にあらかじめ用意されている所定のテストパターンを利用して、故障相当ではないレジスタにテスト用データを設定入力するとともに、外部よりスキャンレジスタにテスト用データを設定入力し、故障シミュレーションを遂行することができる。フルスキャンテスト方式に比べて、スキャンレジスタに置き換えるべきレジスタの数を必要最小限とでき、チップ面積の増大を効果的に抑制することができる。また、故障相当ではないレジスタを動作させる通常の基本クロックのもとで、あらかじめ用意された所定のテストパターンを利用して、入出力動作全体を制御でき、高速処理が可能である。
【0016】
上記の故障検出方法の代替として、前記第5の工程については、前記入力側のレジスタを、スキャンレジスタに置き換えることに代えて、前記レジスタの値を強制的に設定入力する場合はセット付きレジスタまたはリセット付きレジスタに置き換えて修正回路を構成するのでもよい。この場合、上記同様の作用のほか、セット付きレジスタまたはリセット付きレジスタは搭載プロセッサまたは集積回路端子からの制御性が向上し、より効率の良い処理が可能である。
【0025】
【発明の実施の形態】
以下、本発明にかかわる故障検出方法の実施の形態について図面に基づいて詳細に説明する。
【0026】
(実施の形態1)
図1はテスト容易化設計を行う前の元の回路C0を示す。論理回路設計段階において、元の回路C0に対してテスト容易化のための回路修正すなわちテスト容易化設計を行う。
【0027】
図1において、101,102,103は、入力が決まると出力が一意に決まる組み合わせ回路である。この組み合わせ回路は、内部にレジスタ、ラッチ、メモリを含まない。今回の例では、組み合わせ回路102がテスト対象であり、説明の簡単のため、AND回路29が1個のみ入っている回路としている。104は半導体集積回路に搭載されているプロセッサ、105はプロセッサ104と各部を接続するバス、106はアドレスデコーダである。アドレスデコーダ106は、バス105のアドレス部分をデコードし、書き込み制御信号WE2、読み出し制御信号RE1,RE3を生成して出力する。
【0028】
1,2,3,4,5,6,7,8,9,10,11,12,13,14はDフリップフロップからなるレジスタである。
【0029】
レジスタ1は、プロセッサ104から書き込み制御可能なレジスタであり、アドレスデコーダ106からの書き込み制御信号WE2により、バス105のデータ部分の値をセレクタ30を介して取り込むことができるように構成されている。
【0030】
レジスタ8は、プロセッサ104からデータ読み込み制御が可能なレジスタであり、アドレスデコーダ106からの読み出し制御信号RE1によりトライステートバッファ(読み出し制御回路)31を介してバス105のデータ部分に値を出力する。
【0031】
プロセッサ104は、バス105のデータ部分に出力された値を読む込むことができる。CKは組み合わせ回路で使用される基本クロックであり、プロセッサ104から供給される。
【0032】
図2は、テスト容易化設計を行う前の元の回路C0に対して、テスト容易化のために修正を行った後の修正回路C1を示す。図示例の修正回路C1は、元の回路C0におけるレジスタ2およびレジスタ10がスキャンレジスタ2′およびスキャンレジスタ10′に置き換えられている(置き換え方法については、図4、図5で説明する)。スキャンレジスタ2′,10′がスキャンチェーンを構成する。
【0033】
図3(a)は、図2に示す修正回路C1で使用されたスキャンレジスタの構成を示す。図3(b)は等価回路を示す。このスキャンレジスタは、通常動作時のデータ入力(D)とは別にスキャンテスト用のデータ入力(TD)を有し、さらに、スキャンイネーブル入力(SE)を有している。スキャンレジスタにおいて、スキャンイネーブル入力(SE)が“0”のときは、クロック入力(CK)の立ち上がりタイミングで、データ入力(D)の値を内部に取り込む。また、スキャンイネーブル入力(SE)が“1”のときは、クロック入力(CK)の立ち上がりタイミングで、テスト用データ入力(TD)の値を内部に取り込む。
【0034】
図2において、TDI(Test Data Input)は、スキャンレジスタ2′,10′からなるスキャンチェーンに対するデータ入力端子である。TDO(TestData Output)は、スキャンレジスタ2′,10′からなるスキャンチェーンのデータ出力端子である。TCKはテストクロック入力端子であり、テストデータ入力端子TDIからデータを取り込み、スキャンチェーン内でテスト用データをシフトさせ、組み合わせ回路102を経て得られたデータをテストデータ出力端子TDOへ出力する動作において、テストクロック入力端子TCKからのテストクロックはタイミング制御を司る。
【0035】
32はOR回路であり、外部のテストクロック入力端子TCKからのテストクロックとプロセッサ104からの基本クロックCKとを2入力とし、出力はスキャンチェーンを構成するスキャンレジスタ2′およびスキャンレジスタ10′のクロック入力(CK)に接続する。
【0036】
修正回路C1において、レジスタから置き換えられたスキャンレジスタ2′,10′およびこれに接続されたテストデータ入力端子TDI、テストデータ出力端子TDOでスキャンチェーンが構成される。このスキャンチェーンをテストするときは、プロセッサ104は基本クロックCKの出力を停止するとともに、スキャンイネーブル信号SEをアクティブの“1”に切り換える。このスキャンイネーブル信号SEはスキャンレジスタ2′,10′のスキャンイネーブル入力(SE)に与えられる。これにより、スキャンレジスタ2′,10′はデータ入力端子を通常動作時のデータ入力(D)からテスト用データ入力(TD)に切り換える。そして、外部のテストクロック入力端子TCKからのテストクロックをOR回路32を介してスキャンレジスタ2′,10′のクロック入力(CK)に供給する。これにより、外部のテストデータ入力端子TDIから任意のテスト用データをスキャンレジスタ2′のテスト用データ入力(TD)に入力することができる。スキャンレジスタ2′のデータ出力(Q)から出力されたデータは組み合わせ回路102において論理合成され、その結果がスキャンレジスタ10′のデータ入力(D)に入力され、さらにスキャンレジスタ10′のデータ出力(Q)から外部のテストデータ出力端子TDOに出力される。すなわち、組み合わせ回路102による論理合成を観測することができる。
【0037】
図4は、図1に示す元の回路C0を図2に示す修正回路C1に修正するとともに、修正回路C1用のテストパターンを作成して行うテスト動作を示すフローチャートである。
【0038】
元の回路C0に対するテストパターンが既にあるとする。故障検出率を上げるためにテスト容易化設計、テストパターン追加を行う。故障検出率とは、全故障のうち、与えられたテストパターンにより何%が検出できるかという割合であり、テストパターンの完成度の指標である。
【0039】
初めに、ステップS1において、元の回路C0で故障シミュレーションを行う。故障シミュレーションとは、設計、特にテスト関連の設計を行うテスト設計の一過程であり、与えられたテストパターン系列によって検出可能な故障、検出不可能な故障を調べることである。故障シミュレーションは、元の回路C0に対して、既に作成済みのテストパターンを印加することにより行う。
【0040】
次に、ステップS2において、故障シミュレーションで未検出であった故障をリストアップする。故障シミュレーションで未検出の故障とは、たとえ、その箇所が故障していても、故障シミュレーションで使用したテストパターンでは検出・発見できない故障のことである。今回の例では、元の回路C0のレジスタ2の出力の信号線16が“1”に縮退している故障(Stuck At “1”であり、これを“SA1”と記載する)が未検出であるとする。
【0041】
次に、ステップS3において、未検出故障〔信号線16:SA1〕をテストするための条件(テスト条件)を求める。未検出故障〔信号線16:SA1〕を検出するためには、信号線16が“1”に縮退するという故障が発生したときに期待値として観測される値が変るようなテストであればよい。そのための入力側のテスト条件は、
レジスタ1の出力の信号線15 ……“1”
レジスタ2の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ……“1”
レジスタ4の出力の信号線18 ……“1”
という入力条件になる。この条件のとき、〔信号線16:SA1〕という故障がなければ、AND回路29の出力の信号線24が“0”になり、〔信号線16:SA1〕という故障が起これば、AND回路29の出力の信号線24が“1”となる。
【0042】
次に、ステップS4において、テストパターンを作成するために、故障シミュレーションの実施中でテスト条件に最も近い状態を探す。今回の例では、時刻T12の状態、
レジスタ1の出力の信号線15 ……“1”
レジスタ2の出力の信号線16 ……“1”
レジスタ3の出力の信号線17 ……“1”
レジスタ4の出力の信号線18 ……“1”
が最も近い状態であるとする。
【0043】
次に、テストパターンが容易に作成できるように元の回路C0に対して修正を加える。
【0044】
すなわち、ステップS5において、テスト条件に最も近い状態で条件に合わないレジスタをスキャンレジスタに置き換える。なお、テスト条件に最も近い状態とは、ある時刻におけるレジスタの出力信号線の値と、テスト条件のレジスタにおける出力信号線の値とが全て一致しているわけではないが、一致している率が最も高い状態であることを表している。今回の例では、レジスタ2をスキャンレジスタ2′に置き換える。また、故障が無いときと故障が起きたときとで出力/期待値の変化が起きる信号を設定入力するレジスタをスキャンレジスタに置き換える。今回の例では、レジスタ10をスキャンレジスタ10′に置き換える。
【0045】
併せて、スキャン用のテスト用データを設定入力するためのテストデータ入力端子TDI、スキャンデータを観測するためのテストデータ出力端子TDO、テスト用データの設定入力・シフト・出力のためのテストクロックを入力するテストクロック入力端子TCKを加える。また、プロセッサ104において、スキャンモードを設定するためのスキャンイネーブル信号SEを加える。そして、テストデータ入力端子TDIをスキャンチェーンの初段のレジスタとなるスキャンレジスタ2′のテスト用データ入力(TD)に接続する。また、テストデータ出力端子TDOをスキャンチェーンの最後のレジスタとなるスキャンレジスタ10′のデータ出力(Q)に接続する。スキャンイネーブル信号SEをスキャンレジスタ2′,10′のスキャンイネーブル入力(SE)に接続する。テストクロック入力端子TCKをOR回路32の1つの入力に接続し、OR回路32のもうひとつの入力をプロセッサ104の基本クロックCKに接続し、OR回路32の出力をスキャンレジスタ2′,10′のクロック入力(CK)に接続する。スキャンレジスタ2′のデータ出力(Q)をスキャンレジスタ10′のテスト用データ入力(TD)に接続する。
【0046】
今回の例では、未検出故障が1つなので、以上によって、図1に示す元の回路C0が図2に示す修正回路C1に修正されたことになる。未検出故障が複数ある場合には、未検出故障の数だけスキャンレジスタへの置き換えを繰り返す。すなわち、レジスタへの置き換えを未検出故障の数だけ繰り返して行い、各レジスタ毎に段落0044〜0045の一連の処理を行う。
【0047】
次に、ステップS6において、図2に示す修正回路C1において、未検出故障〔信号線16:SA1〕を検出できるテストパターンを作成する。テスト条件に最も近い状態となる時刻T12まではステップS1の故障シミュレーションで用いたテストパターンをそのまま用いる(これについては、図5で詳述する)。そのテストパターンでは、時刻T12において、
レジスタ1の出力の信号線15 ……“1”
レジスタ2の出力の信号線16 ……“1”
レジスタ3の出力の信号線17 ……“1”
レジスタ4の出力の信号線18 ……“1”
となっている。この状態から、スキャンチェーンを動作させることにより、未検出故障〔信号線16:SA1〕を検出できるテストパターンを作る。今回の例では、作成されたテストパターンは、
レジスタ1の出力の信号線15 ……“1”
レジスタ2の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ……“1”
レジスタ4の出力の信号線18 ……“1”
となる。
【0048】
未検出故障が複数ある場合は、以上のパターン作成を繰り返す。
【0049】
図5は、図2に示す修正回路C1の動作を説明するタイミングチャートである。基本クロックCK、テストクロック入力端子TCK、スキャンイネーブル信号SE、テストデータ入力端子TDI、テストデータ出力端子TDOにおける各波形、レジスタ1〜4が保持する値およびレジスタ10が保持する値を示している。
【0050】
時刻T1から時刻T12はスキャン動作でない通常の動作モードで故障シミュレーションを行う。時刻T1から時刻T12では、テストクロック入力端子TCKは“0”であり、また、スキャンイネーブル信号SEは“0”であり、レジスタ1〜4(2′はスキャンレジスタ)およびスキャンレジスタ10′は、故障シミュレーションと同様に値を変化させていく。
【0051】
時刻T12において、レジスタ1〜4が図4のテスト設計フローの中のテスト条件に最も近い状態になる。この状態になると、一時的にスキャンレジスタ2′をスキャン動作に切り換える。スキャン動作により、スキャンレジスタ2′の値を書き換えてテスト条件を作る。時刻T12の後半から基本クロックCKを“0”、スキャンイネーブル信号SEを“1”、テストデータ入力端子TDIをスキャンレジスタ2′に設定入力するデータ“0”にする。
【0052】
時刻T13の開始タイミングにおいて、テストクロック入力端子TCKを立ち上げてテストデータ入力端子TDIのデータ“0”をスキャンレジスタ2′に取り込む。この状態で、テスト条件が整うことになる。作成されたテストパターンは、
レジスタ1の出力の信号線15 ………“1”
レジスタ2′の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ………“1”
レジスタ4の出力の信号線18 ………“1”
となる。
【0053】
テスト条件でのAND回路29の出力をスキャンレジスタ10′に取り込むため、時刻T13の後半からスキャンイネーブル信号SEを“0”にする。
【0054】
時刻T14の開始タイミングにおいて、テストクロック入力端子TCKを立ち上げてAND回路29の出力をスキャンレジスタ10′に取り込む。この例では、時刻T14でスキャンレジスタ10′が“0”の値をもち、テストデータ出力端子TDOにスキャンレジスタ10′の値が出力されている。時刻T14でのテストデータ出力端子TDOを期待値データ“0”と比較することにより未検出故障〔信号線16:SA1〕を検出することができる。今回の例では、未検出故障が1つであるので、これで必要なテストが終了する。
【0055】
未検出故障が複数の場合は、未検出故障の数だけテストを繰り返す。すなわち、段落0047でそれぞれの未検出故障に対して作成されたパターンを基に、それぞれの未検出故障ごとに段落0050〜0054におけるテストを行う。
【0056】
本実施の形態はパーシャルスキャンテストであり、必要なレジスタのみをスキャンレジスタに置き換えるため、すべてのレジスタをスキャンレジスタに置き換えるフルスキャンテストに比べて、チップ面積の増加が少ない。
【0057】
また、フルスキャンテストではスキャンチェーンを構成するレジスタが増え、チェーンが長くなると、テスト条件を設定入力するために多くのデータをテストデータ入力端子TDIから設定入力してなければならず、多くの時間がかかってしまう。また、結果をテストデータ出力端子TDOに読み出すのにも同様に多くの時間がかかってしまう。
【0058】
これに対して、本発明のこの実施の形態では、レジスタ群が並列に動作している通常の動作状態(ステップS1のテストパターンの動作状態)を利用してテスト条件を作成するとともに、スキャンチェーンの長さを必要最小限にしていることから、より短いテスト時間で未検出の故障を捕捉することができる。
【0059】
(実施の形態2)
図6は、図1に示すテスト容易化設計を行う前の元の回路C0に対して、テスト容易化のために修正を行った後の修正回路C2を示す。図示例の修正回路C2は、元の回路C0におけるレジスタ2がリセット付きレジスタ2″に置き換えられ、レジスタ10がスキャンレジスタ10′に置き換えられている。
【0060】
すなわち、図1において、プロセッサ104が制御しても、その値を“0”にすることが難しいと判断されたレジスタ2を強制的に“0”に設定入力できるようにするためにリセット付きレジスタ2″に置き換えている。RESETは、強制リセットのためのリセット信号であり、今回の例ではプロセッサ104が出力するものとしている。ただし、プロセッサ104の出力に限定する必要性はない。また、図1のレジスタ10は、プロセッサ104の制御では観測が難しいとされたもので、スキャンレジスタ10′に置き換えられている。リセット付きレジスタ2″への置き換え方法およびスキャンレジスタ10′への置き換え方法については、図7で説明する。
【0061】
スキャンイネーブル信号SEは、スキャンレジスタ10′がテスト用データ入力(TD)よりデータを取り込むことを指定する。スキャンレジスタ10′のデータ出力(Q)には、スキャンチェーンのデータ出力端子TDOが接続されている。今回の例ではスキャンレジスタはスキャンレジスタ10′の1つのみであるので、スキャンチェーンとなっていないが、スキャンレジスタが複数ある場合に、データ出力(Q)を次のスキャンレジスタのテスト用データ入力(TD)に連続して接続することによりスキャンチェーンを構成する。テストクロック入力端子TCKは、OR回路32を介してスキャンレジスタ10′のクロック入力(CK)に接続されている。すなわち、OR回路32は、プロセッサ104からの基本クロックCKと外部からのテストクロック入力端子TCKを2入力とし、出力はスキャンレジスタ10′のクロック入力(CK)に接続する。テストクロック入力端子TCKからのテストクロックは、スキャンチェーンのデータをシフトさせ、テストデータ出力端子TDOへ出力する動作をタイミング制御する。
【0062】
図7は、図1に示す元の回路C0を図6に示す修正回路C2に修正するとともに、修正回路C2用のテストパターンを作成して行うテスト動作を示すフローチャートである。
【0063】
元の回路C0に対するテストパターンが既にあるとする。故障検出率を上げるためにテスト容易化設計、テストパターン追加を行う。
【0064】
初めに、ステップS11において、元の回路C0で故障シミュレーションを行う。
【0065】
次に、ステップS12において、故障シミュレーションで未検出であった故障をリストアップする。今回の例では、元の回路C0のレジスタ2の出力の信号線16が“1”に縮退している故障が未検出であるとする。
【0066】
次に、ステップS13において、未検出故障〔信号線16:SA1〕をテストするための条件(テスト条件)を求める。未検出故障〔信号線16:SA1〕を検出するための入力側のテスト条件は、上記同様に、
レジスタ1の出力の信号線15 ……“1”
レジスタ2の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ……“1”
レジスタ4の出力の信号線18 ……“1”
である。この条件のとき、〔信号線16:SA1〕という故障がなければ、AND回路29の出力側の信号線24が“0”になり、〔信号線16:SA1〕という故障が起これば、信号線24が“1”となる。
【0067】
次に、ステップS14において、テストパターンを作成するために、故障シミュレーションの実施中でテスト条件に最も近い状態を探す。なお、テスト条件に最も近い状態とは、ある時刻におけるレジスタの出力信号線の値と、テスト条件のレジスタにおける出力信号線の値とが全て一致しているわけではないが、一致している率が最も高い状態であることを表している。今回の例では、時刻T12の状態、
レジスタ1の出力の信号線15 ……"1"
レジスタ2の出力の信号線16 ……"1"
レジスタ3の出力の信号線17 ……"1"
レジスタ4の出力の信号線18 ……"1"
が最も近い状態であるとする。
【0068】
次に、テストパターンが容易に作成できるように元の回路C0に対して修正を加える。
【0069】
すなわち、ステップS15において、テスト条件に最も近い状態で条件に合わないレジスタをテスト条件に合うように、セット付きレジスタまたはリセット付きレジスタに置き換える。今回の例では、レジスタ2をリセット付きレジスタ2″に置き換える。また、故障が無いときと故障が起きたときとで出力/期待値の変化が起きる信号を設定入力するレジスタをスキャンレジスタに置き換える。今回の例では、レジスタ10をスキャンレジスタ10′に置き換える。
【0070】
併せて、スキャンデータを観測するためのテストデータ出力端子TDO、テスト用データの設定入力・シフト・出力のためのテストクロックを入力するテストクロック入力端子TCKを加える。また、プロセッサ104において、スキャンモードを設定するためのスキャンイネーブル信号SEを加える。そして、テストデータ出力端子TDOをスキャンレジスタ10′(一般的にはスキャンチェーンの最後のスキャンレジスタ)のデータ出力(Q)に接続する。スキャンイネーブル信号SEの信号線をスキャンレジスタ10′のスキャンイネーブル入力(SE)に接続する。テストクロック入力端子TCKをOR回路32の1つの入力に接続し、OR回路32のもうひとつの入力をプロセッサ104の基本クロックCKに接続し、OR回路32の出力をスキャンレジスタ10′のクロック入力(CK)に接続する。
【0071】
この例では、スキャンレジスタ10′(一般的にはスキャンチェーンの最初のスキャンレジスタ)のテスト用データ入力(TD)をVDDに固定している。GNDに固定しても良い。あるいは、スキャン用データを設定入力するためのテストデータ入力端子TDIを設けて、スキャンレジスタ10′のテスト用データ入力(TD)に接続しても良い。
【0072】
今回の例では、未検出故障が1つなので、以上によって、図1に示す元の回路C0が図6に示す修正回路C2に修正される。未検出故障が複数ある場合には、未検出故障の数だけレジスタの置き換えを繰り返す。すなわち、レジスタへの置き換えを未検出故障の数だけ繰り返して行い、各レジスタ毎に段落0044〜0045の一連の処理を行う。
【0073】
次に、ステップS16において、図6に示す修正回路C2において、未検出故障〔信号線16:SA1〕を検出できるテストパターンを作成する。テスト条件に最も近い状態となる時刻T12まではステップS11のシミュレーションパターンをそのまま用いる(これについては、図8で詳述する)。この状態では、
レジスタ1の出力の信号線15 ………“1”
レジスタ2″の出力の信号線16 ……“1”
レジスタ3の出力の信号線17 ………“1”
レジスタ4の出力の信号線18 ………“1”
となっている。この状態から、リセット信号RESETを動作させることにより、未検出故障〔信号線16:SA1〕を検出できるテストパターンを作る。今回の例では、作成されたテストパターンは、
レジスタ1の出力の信号線15 ………“1”
レジスタ2″の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ………“1”
レジスタ4の出力の信号線18 ………“1”
となる。
【0074】
未検出故障が複数ある場合は、以上のパターン作成を繰り返す。
【0075】
図8は図6に示す修正回路C2の動作を説明するタイミングチャートである。
【0076】
時刻T1から時刻T12はスキャン動作でない通常の動作モードで故障シミュレーションを行う。時刻T1から時刻T12では、テストクロック入力端子TCKは“0”であり、また、スキャンイネーブル信号SEは“0”であり、レジスタ1〜4(2はリセット付きレジスタ)およびスキャンレジスタ10′は、故障シミュレーションと同様に値を変化させていく。
【0077】
時刻T12において、レジスタ1〜4が図10のテスト設計フローの中のテスト条件に最も近い状態になる。時刻T13において、基本クロックCKを止め、リセット信号RESETを立ち上げてリセット付きレジスタ2″の値を書き換え、テスト条件を作る。作成されたテストパターンは、
レジスタ1の出力の信号線15 ………“1”
レジスタ2″の出力の信号線16 ……“0”
レジスタ3の出力の信号線17 ………“1”
レジスタ4の出力の信号線18 ………“1”
となる。
【0078】
テスト条件でのAND回路29の出力をスキャンレジスタ10′に取り込むため、時刻T14の後半でスキャンイネーブル信号SEを“1”にし、時刻T15でテストクロック入力端子TCKを1発動作させ、AND回路29の出力をスキャンレジスタ10′に取り込む。今回の例では、スキャンチェーンがスキャンレジスタ10′のみであり、スキャンレジスタ10′の値をテストデータ出力端子TDOから観測できる。スキャンチェーンが複数のレジスタからなる場合は、スキャンイネーブル信号SEを“1”にしたままテストクロック入力端子TCKを動作させ、スキャンチェーンを通して順次、レジスタの値をテストデータ出力端子TDOから観測する。今回の例では、未検出故障が1つなので、これで必要なテストが終了する。
【0079】
未検出故障が複数の場合は、未検出故障の数だけテストを繰り返す。すなわち、段落0047でそれぞれの未検出故障に対して作成されたパターンを基に、それぞれの未検出故障ごとに段落0050〜0054におけるテストを行う。
【0080】
本実施の形態もパーシャルスキャンテストであり、必要なレジスタのみをリセット付きレジスタ(あるいはセット付きレジスタ)とスキャンレジスタに置き換えるため、すべてのレジスタをスキャンレジスタに置き換えるフルスキャンテストに比べて、チップ面積の増加が少ない。
【0081】
また、実施の形態1と同様に、レジスタ群が並列に動作している通常の動作状態(ステップS11のテストパターンの動作状態)を利用してテスト条件を作成するとともに、スキャンチェーンの長さを必要最小限にしていることから、より短いテスト時間で未検出の故障を捕捉することができる。
【0082】
(実施の形態3)
図9は、図1に示すテスト容易化設計を行う前の元の回路C0に対して、テスト容易化のために修正を行った後の修正回路C3を示す。元の回路C0において、レジスタ1はプロセッサ104からデータを設定入力でき、レジスタ8はそのデータをプロセッサ104から読み出すことができる。この2つのレジスタ1,8以外のレジスタをスキャンレジスタに置き換えて図9に示す修正回路C3としている。すなわち、元の回路C0におけるレジスタ2〜7およびレジスタ9〜14がスキャンレジスタ2′〜7′およびスキャンレジスタ9′〜14′に置き換えられている(置き換え方法については、図10、図11で説明する)。スキャンレジスタ2′〜7′,14′〜9′がスキャンチェーンを構成する。各スキャンレジスタのデータ出力(Q)は次段のスキャンレジスタのテスト用データ入力(TD)に接続されている。
【0083】
テストデータ入力端子TDIはスキャンチェーンにおける初段のスキャンレジスタ2′のテスト用データ入力(TD)に接続されている。テストデータ出力端子TDOはスキャンチェーンにおける最終段のスキャンレジスタ9′のデータ出力(Q)に接続されている。プロセッサ104からの基本クロックCKがOR回路32と外部からのテストクロック入力端子TCKを2入力とし、出力はスキャンチェーンを構成するスキャンレジスタ2′〜7′およびスキャンレジスタ9′〜14′のクロック入力(CK)に接続する。プロセッサ104からのスキャンイネーブル信号SEの信号線は各スキャンレジスタ2′〜7′,9′〜14′のスキャンイネーブル入力(SE)に接続されている。
【0084】
修正回路C3において、レジスタから置き換えられたスキャンレジスタ2′〜7′,14′〜9′およびこれに接続されたテストデータ入力端子TDI、テストデータ出力端子TDOでスキャンチェーンが構成される。このスキャンチェーンをテストするときは、プロセッサ104は基本クロックCKの出力を停止するとともに、スキャンイネーブル信号SEをアクティブの“1”に切り換える。これにより、スキャンレジスタ2′〜7′,14′〜9′はデータ入力端子を通常動作時のデータ入力(D)からテスト用データ入力(TD)に切り換える。そして、外部からテストクロックをテストクロック入力端子TCKから入力する。このテストクロックはOR回路32を介してスキャンレジスタ2′〜7′,14′〜9′のクロック入力(CK)に供給される。したがって、外部から任意のテスト用データをテストクロック入力端子TCKから初段のスキャンレジスタ2′のテスト用データ入力(TD)に設定入力、順次、次段のスキャンレジスタにシフトさせることができる。スキャンレジスタ2′〜7′に所望のテスト用データを設定入力した状態で、キャプチャー動作を行い、スキャンレジスタ2′〜7′のデータ出力(Q)から出力されたデータは組み合わせ回路102において論理合成され、その結果がスキャンレジスタ9′〜14′のデータ入力(D)に設定入力される。再びスキャン動作を行い、スキャンレジスタ14′のデータをスキャンレジスタ13′に、スキャンレジスタ13′のデータをスキャンレジスタ12′に、以下同様にして、スキャンレジスタ10′のデータをスキャンレジスタ9′にそれぞれシフトさせ、さらにスキャンレジスタ9′のデータ出力(Q)から外部のテストデータ出力端子TDOに出力させる。すなわち、組み合わせ回路102による論理合成を観測することができる。
【0085】
図10は、図1に示す元の回路C0を図9に示す修正回路C3に修正するとともに、修正回路C3のテストパターンを作成する動作を示すフローチャートである。本実施の形態では、実施の形態1,2のテスト容易化設計とは違い、元の回路C0用の既存テストパターンはなく、図9の状態になってからテストパターンを作成する。
【0086】
初めに、ステップS21において、元の回路C0で、データの設定入力または読み出しを直接に行えないレジスタをスキャンレジスタに置き換える。今回の例では、レジスタ2〜7,9〜14をスキャンレジスタに置き換える。
【0087】
併せて、スキャン用のテスト用データを設定入力するためのテストデータ入力端子TDI、スキャンデータを観測するためのテストデータ出力端子TDO、テスト用データの設定入力・シフト・出力のためのテストクロックを入力するテストクロック入力端子TCKを加える。また、プロセッサ104において、スキャンモードを設定するためのスキャンイネーブル信号SEを加える。そして、テストデータ入力端子TDIをスキャンチェーンの初段のレジスタとなるスキャンレジスタ2′のテスト用データ入力(TD)に接続する。テストデータ出力端子TDOをスキャンチェーンの最終段のレジスタとなるスキャンレジスタ9′のデータ出力(Q)に接続する。スキャンイネーブル信号SEをスキャンレジスタ2′〜7′,14′〜9′のスキャンイネーブル入力(SE)に接続する。テストクロック入力端子TCKをOR回路32の1つの入力に接続し、OR回路32のもうひとつの入力をプロセッサ104の基本クロックCKに接続し、OR回路32の出力をスキャンレジスタ2′〜7′,14′〜9′のクロック入力(CK)に接続する。以上によって、図1に示す元の回路C0が図9に示す修正回路C3に修正される。
【0088】
次に、ステップS22において、対象故障をリストアップする。今回の例では、信号線16が“1”に縮退している故障SA1の場合を考える。故障が複数ある場合は、以下の考え方/手順によるパターン作成を故障の数だけ繰り返す。
【0089】
ステップS23において、対象とする故障をテストするための条件を求める。今回の例では、組み合わせ回路102において、AND回路29の入出力にかかわる信号線を対象とする。AND回路29の入力側はレジスタ1、スキャンレジスタ2′,3′,4′の出力の信号線15〜18であり、出力側はスキャンレジスタ10′の信号線24である。そして、信号線16が“1”に縮退していることをテストするためのテスト条件を求める。そのテスト条件は、
レジスタ1の出力の信号線15 ………“1”
レジスタ2′の出力の信号線16 ……“0”
レジスタ3′の出力の信号線17 ……“1”
レジスタ4′の出力の信号線18 ……“1”
である。
【0090】
ステップS24において、プログラムでプロセッサ104を動作させて、または集積回路端子からの入力でテスト用データの設定入力ができるレジスタについては、プログラムまたは集積回路端子を用いてテスト用データを設定入力する。今回の例では、レジスタ1に対してプログラムによりテスト用データを設定入力するようなパターンとする。
【0091】
次に、ステップS25において、プログラムでプロセッサ104を動作させて、または集積回路端子からの入力でテスト用データの設定ができないレジスタについては、スキャンチェーンで値を設定入力する。今回の例では、スキャンレジスタ2′,3′,4′をスキャンチェーンでテスト用データを設定入力するパターンとする。以上でテスト条件を満たすようなパターンとなる。
【0092】
テスト条件が満たされた後、結果を観測するため、ステップS26において、プログラムでプロセッサ104を動作させて、または集積回路端子からの出力でテスト用データの観測ができないレジスタについては、スキャンチェーンでテスト用データを観測する。今回の例では、スキャンレジスタ10′の値をスキャンチェーンで観測する。すなわち、スキャンレジスタ9′にシフトした上で、データ出力端子TDOから読み出す。
【0093】
次に、ステップS27において、プログラムでプロセッサ104を動作させて、または集積回路端子からの出力でテスト用データの観測ができるレジスタについては、プログラムまたは集積回路端子を用いてテスト用データを観測する。今回の例では、本来必要無いが、例えば、レジスタ8の値などをプログラムでプロセッサ104を動作させて観測する。
【0094】
図11は図9に示す修正回路C3の動作を説明するタイミングチャートである。図5の場合と同じ要素と、書き込み制御信号WE2および読み出し制御信号RE1が示されている。
【0095】
時刻T1から時刻T2にかけては、スキャン動作でなく、通常の動作モードにおいて、プログラムまたは集積回路端子で制御できるレジスタに対してテスト用データの設定入力を行う。今回の例ではプロセッサ104を動作させてレジスタ1に“1”を設定入力する。すなわち、時刻T1において、プロセッサ104はバス105に対して、レジスタ1を示すアドレスとレジスタ1に書き込むデータ“1”を出力する。
【0096】
時刻T2において、基本クロックCKの立ち上がりタイミングで、レジスタ1に“1”が書き込まれる。
【0097】
時刻T3から時刻T5にかけてはスキャン動作を行って、スキャンレジスタ2′,3′,4′にテスト用データの設定入力を行う。スキャン動作にするために、時刻T2の後半からスキャンイネーブル信号SEを“1”にし、プロセッサ104からの基本クロックCKを停止する一方、テストクロック入力端子TCKからテストクロックを供給する。
【0098】
時刻T2の後半からテストデータ入力端子TDIを“1”にする。これは、最終的にスキャンレジスタ4′に設定入力すべき値である。
【0099】
時刻T3において、テストクロック入力端子TCKの立ち上がりタイミングでスキャンレジスタ2′にテストデータ入力端子TDIの値が取り込まれる。
【0100】
時刻T3の後半からテストデータ入力端子TDIを“1”にする。これは、最終的にスキャンレジスタ3′に設定入力すべき値である。
【0101】
時刻T4において、テストクロック入力端子TCKの立ち上がりタイミングでスキャンレジスタ2′の値がスキャンレジスタ3′に取り込まれ、スキャンレジスタ2′にテストデータ入力端子TDIの値が取り込まれる。
【0102】
時刻T4の後半からテストデータ入力端子TDIを“0”にする。これは、最終的にスキャンレジスタ2′に設定入力すべき値である。
【0103】
時刻T5において、テストクロック入力端子TCKの立ち上がりタイミングでスキャンレジスタ3′の値がスキャンレジスタ4′に取り込まれ、スキャンレジスタ2′の値がスキャンレジスタ3′に取り込まれ、スキャンレジスタ2′にテストデータ入力端子TDIの値が取り込まれる。時刻T5の状態でテスト状態となる。すなわち、レジスタ1,2′,3′,4′にデータ“1”,“0”,“1”,“1”が設定入力される。
【0104】
時刻T5の後半からスキャンイネーブル信号SEを“0”にする。
【0105】
時刻T6において、基本クロックCKを1発動作させ、テスト状態でのAND回路29の出力をスキャンレジスタ10′に取り込む。スキャンレジスタ10′の値をスキャンチェーンによりテストデータ出力端子TDOに読み出すため、時刻T6の後半からスキャンイネーブル信号SEを“1”にし、時刻T7において、テストクロック入力端子TCKを1発動作させ、スキャンレジスタ10′の値をスキャンレジスタ9′に取り込む。スキャンレジスタ9′のデータ出力(Q)からテストデータ出力端子TDOに出力され、その値を観測することができる。
【0106】
以上により信号線16が“1”に縮退している故障SA1を検出することができる。
【0107】
今回の例では本来必要無いが、プログラムでプロセッサ104を動作させてレジスタ8を観測する場合は、時刻T7の後半からスキャンイネーブル信号SEを“0”にするとともに、、バス105のアドレス部分にレジスタ8を指すアドレスを載せる。時刻T8に基本クロックCKを動作させ、レジスタ8の値をバス105のデータ部分に読み出し観測する。
【0108】
レジスタ1〜14のすべてをスキャンレジスタに置き換えるフルスキャンテストに比べて、本実施の形態では、プロセッサ104から直接制御/観測可能なレジスタ1,8についてはそのままとし、直接制御/観測が不可能なレジスタ2〜7,9〜14に限ってスキャンレジスタと置き換えるようにしたので、チップ面積の増加を抑制することができる。また、レジスタ群が並列に動作している通常の動作状態(プロセッサが動作している状態)を利用して、テスト条件を作成するとともに、スキャンチェーンの長さをなるべく短いものにしていることから、より短いテスト時間で未検出の故障を捕捉することができる。
【0109】
以上、3つの実施の形態について説明したが、実施の形態1と実施の形態2との組み合わせ、実施の形態2と実施の形態3との組み合わせ、実施の形態1と実施の形態3との組み合わせ、実施の形態1と実施の形態2と実施の形態3との組み合わせがある。
【0110】
【発明の効果】
本発明によれば、従来方式のすべてのレジスタをスキャンレジスタに置き換えるフルスキャンテストとは異なり、未検出故障に対応するレジスタのみをスキャンレジスタに置き換えるだけ、あるいは、セット付きレジスタ・リセット付きレジスタとスキャンレジスタとに置き換えるだけである。あるいは、搭載プロセッサまたは集積回路端子から直接に制御/観測できないレジスタのみをスキャンレジスタに置き換えるだけである。このようなパーシャルスキャンテスト方式を採用しているので、フルスキャンテスト方式に比べて、スキャンレジスタに置き換えるべきレジスタの数を少なくすることができ、チップ面積の増大を抑制できる。そして、一部のテストは通常の基本クロックのもとで実行でき、高速処理が可能である。
【0111】
セット付きレジスタまたはリセット付きレジスタとすれば、プロセッサまたは集積回路端子からの制御性が向上する。
【図面の簡単な説明】
【図1】 本発明の実施の形態1〜3に共通のテスト容易化設計を行う前の元の回路を示す回路図
【図2】 本発明の実施の形態1におけるテスト容易化のために元の回路に対して修正を行った後の修正回路を示す回路図
【図3】 実施の形態1における修正回路で使用されたスキャンレジスタの構成を示すレジスタ構成図とその等価回路の回路図
【図4】 実施の形態1における修正回路の作成とテストパターンの作成を含むテスト動作を示すフローチャート
【図5】 実施の形態1における修正回路の動作を説明するタイミングチャート
【図6】 本発明の実施の形態2におけるテスト容易化のために元の回路に対して修正を行った後の修正回路を示す回路図
【図7】 実施の形態2における修正回路の作成とテストパターンの作成を含むテスト動作を示すフローチャート
【図8】 実施の形態2における修正回路の動作を説明するタイミングチャート
【図9】 本発明の実施の形態3におけるテスト容易化のために元の回路に対して修正を行った後の修正回路を示す回路図
【図10】 実施の形態3における修正回路の作成とテストパターンの作成を含むテスト動作を示すフローチャート
【図11】 実施の形態3における修正回路の動作を説明するタイミングチャート
【図12】 従来の集積回路テスト方法の構成図
【符号の説明】
C0 元の回路
C1,C2,C3 修正回路
1〜14 レジスタ(Dフリップフロップ)
1,8 プロセッサから直接制御可能なレジスタ
2〜7 プロセッサから直接制御できないレジスタ
9〜14 プロセッサから直接制御できないレジスタ
2 スキャンレジスタ、リセット付きレジスタ
10 スキャンレジスタ
29 AND回路
30 セレクタ
31 トライステートバッファ(読み出し制御回路)
32 OR回路
101,102,103 組み合わせ回路
104 プロセッサ
105 バス
106 アドレスデコーダ
WE2 書き込み制御信号
RE1,RE3 読み出し制御信号
CK 基本クロック
TDI データ入力端子
TDO データ出力端子
TCK テストクロック入力端子
SE スキャンイネーブル信号
Claims (2)
- 故障シミュレーション実施手段、未検出故障リストアップ手段、テスト条件決定手段、テストパターン検索手段、スキャンレジスタ置換手段、パターン変更手段、プロセッサ、アドレスデコーダを含む半導体集積回路においてテスト対象の組合せ回路とテスト条件を入力するための入力側レジスタ及びテスト結果を出力するための出力側レジスタを含むテスト容易化修正回路を用いて故障検出を行う方法であって、
前記故障シミュレーション実施手段が半導体集積回路に対して各入力側レジスタと前記各入力側レジスタの出力信号線における論理値の組み合わせである所定のテストパターンに基づく故障シミュレーションを行って検出可能な故障と検出不可能な故障との弁別を行う第1の工程と、
前記未検出故障リストアップ手段が前記検出不可能な故障を未検出故障としてリストアップする第2の工程と、
前記テスト条件決定手段が前記未検出故障をテストするための前記各入力側レジスタと前記各入力側レジスタの出力信号線における論理値の組み合わせであるテスト条件を求める第3の工程と、
前記テストパターン検索手段が前記第1の工程の故障シミュレーションの所定のテストパターンにおける前期各入力側レジスタの出力信号線における論理値と、前記テスト条件における各入力側のレジスタの出力信号線における論理値とが一致する個数が最も多いテストパターンを求める第4の工程と、
前記スキャンレジスタ置換手段が前記テスト条件における各入力側レジスタの出力信号線における論理値と前記テストパターンにおける論理値とが一致しない入力側のレジスタ及び、故障が無いときと故障が起きたときとで出力/期待値の変化が起きる信号を設定入力する出力側のレジスタをスキャンレジスタに置き換えるとともに、前記スキャンレジスタをスキャンチェーン接続して修正回路を構成する第5の工程と、
前記パターン変更手段が前記修正回路に対して前記第1の工程における前記所定のテストパターンを用いながら前記テスト条件における論理値と前記テストパターンにおける論理値と一致する個数が最も多くなったタイミングでは前記第4の工程で求めたテストパターンに切り換えて故障シミュレーションを行う第6の工程とを含み、
前記アドレスデコーダは前記プロセッサから入力を行う前記入力側レジスタを指定し、前記テストパターンを前記プロセッサによって動作させることを特徴とする故障検出方法。 - 請求項1に記載の故障検出方法において、
前記第5の工程は、前記入力側のレジスタを、スキャンレジスタに置き換えることに代えて、前記レジスタの値を強制的に設定入力する場合はセット付きレジスタまたはリセット付きレジスタに置き換えて修正回路を構成する故障検出方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002270069A JP3785388B2 (ja) | 2002-09-17 | 2002-09-17 | 故障検出方法 |
CN03158977.4A CN1266481C (zh) | 2002-09-17 | 2003-09-17 | 用于半导体集成电路的故障检测方法 |
US10/663,993 US7168004B2 (en) | 2002-09-17 | 2003-09-17 | Technique for testability of semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002270069A JP3785388B2 (ja) | 2002-09-17 | 2002-09-17 | 故障検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004110265A JP2004110265A (ja) | 2004-04-08 |
JP3785388B2 true JP3785388B2 (ja) | 2006-06-14 |
Family
ID=32267814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002270069A Expired - Fee Related JP3785388B2 (ja) | 2002-09-17 | 2002-09-17 | 故障検出方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7168004B2 (ja) |
JP (1) | JP3785388B2 (ja) |
CN (1) | CN1266481C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100901522B1 (ko) | 2007-08-07 | 2009-06-08 | 연세대학교 산학협력단 | 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322423C (zh) * | 2004-07-20 | 2007-06-20 | 华为技术有限公司 | 芯片故障的检测方法 |
US7519863B2 (en) * | 2005-05-20 | 2009-04-14 | Nokia Corporation | Detection of a malfunction in a hardware module |
JP4554441B2 (ja) * | 2005-06-06 | 2010-09-29 | 富士通株式会社 | 磁気ディスク装置、その予防保守検出方法及び予防保守検出プログラム |
JP4693526B2 (ja) * | 2005-07-06 | 2011-06-01 | 株式会社東芝 | 半導体集積回路、および、半導体集積回路のテスト方法 |
US20070174679A1 (en) * | 2006-01-26 | 2007-07-26 | Ibm Corporation | Method and apparatus for processing error information and injecting errors in a processor system |
JP2008089545A (ja) * | 2006-10-05 | 2008-04-17 | Matsushita Electric Ind Co Ltd | 解析装置 |
US8522080B2 (en) * | 2008-03-24 | 2013-08-27 | Emulex Design & Manufacturing Corporation | Generation of simulated errors for high-level system validation |
KR20160080586A (ko) * | 2014-12-30 | 2016-07-08 | 삼성전자주식회사 | 집적 회로의 설계 방법 및 집적 회로의 설계를 위한 컴퓨팅 시스템 |
CN105842607A (zh) * | 2016-03-21 | 2016-08-10 | 北京航空航天大学 | 一种测试性设计中测试点定量选择方法及装置 |
US10598730B1 (en) * | 2018-11-13 | 2020-03-24 | Realtek Semiconductor Corporation | Testing method and testing system |
CN112698187B (zh) * | 2020-12-08 | 2023-08-04 | 重庆百瑞互联电子技术有限公司 | 一种提高集成电路测试覆盖率的方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL192801C (nl) * | 1986-09-10 | 1998-02-03 | Philips Electronics Nv | Werkwijze voor het testen van een drager met meerdere digitaal-werkende geïntegreerde schakelingen, geïntegreerde schakeling geschikt voor het aanbrengen op een aldus te testen drager, en drager voorzien van meerdere van zulke geïntegreerde schakelingen. |
US4742293A (en) * | 1987-04-06 | 1988-05-03 | Hughes Aircraft Company | Pseudo-memory circuit for testing for stuck open faults |
JPH0580120A (ja) | 1991-04-16 | 1993-04-02 | Matsushita Electric Ind Co Ltd | 集積回路の検査方法 |
US5291495A (en) * | 1991-07-12 | 1994-03-01 | Ncr Corporation | Method for designing a scan path for a logic circuit and testing of the same |
JPH06230075A (ja) | 1993-02-05 | 1994-08-19 | Fujitsu Ltd | シリアルスキャンチェーンにおける不良フリップフロップの検出方法 |
US5648733A (en) * | 1995-11-01 | 1997-07-15 | Lsi Logic Corporation | Scan compatible 3-state bus control |
US5717700A (en) * | 1995-12-04 | 1998-02-10 | Motorola, Inc. | Method for creating a high speed scan-interconnected set of flip-flop elements in an integrated circuit to enable faster scan-based testing |
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
DE69822694T2 (de) * | 1997-04-25 | 2004-08-12 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung |
US6658615B2 (en) * | 1998-06-30 | 2003-12-02 | Texas Instruments Incorporated | IC with IP core and user-added scan register |
US6219812B1 (en) * | 1998-06-11 | 2001-04-17 | Sun Microsystems, Inc. | Apparatus and method for interfacing boundary-scan circuitry with DTL output drivers |
US6745357B2 (en) * | 1998-10-27 | 2004-06-01 | Intrinsity, Inc. | Dynamic logic scan gate method and apparatus |
US6415403B1 (en) * | 1999-01-29 | 2002-07-02 | Global Unichip Corporation | Programmable built in self test for embedded DRAM |
US6651197B1 (en) * | 1999-05-20 | 2003-11-18 | Silicon Graphics, Inc. | Method for determining the optimum locations for scan latches in a partial-scan IC built in self test system |
JP2001165999A (ja) * | 1999-12-14 | 2001-06-22 | Mitsubishi Electric Corp | 半導体集積回路およびこれを用いた半導体集積回路装置 |
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6807645B2 (en) * | 2002-02-04 | 2004-10-19 | International Business Machines Corporation | Method and apparatus for implementing enhanced LBIST diagnostics of intermittent failures |
-
2002
- 2002-09-17 JP JP2002270069A patent/JP3785388B2/ja not_active Expired - Fee Related
-
2003
- 2003-09-17 US US10/663,993 patent/US7168004B2/en not_active Expired - Fee Related
- 2003-09-17 CN CN03158977.4A patent/CN1266481C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100901522B1 (ko) | 2007-08-07 | 2009-06-08 | 연세대학교 산학협력단 | 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치 |
Also Published As
Publication number | Publication date |
---|---|
US7168004B2 (en) | 2007-01-23 |
JP2004110265A (ja) | 2004-04-08 |
CN1495434A (zh) | 2004-05-12 |
CN1266481C (zh) | 2006-07-26 |
US20040153806A1 (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3851782B2 (ja) | 半導体集積回路及びそのテスト方法 | |
JP2009059434A (ja) | 半導体集積回路 | |
JP3785388B2 (ja) | 故障検出方法 | |
JP2003332443A (ja) | 半導体集積回路とその設計支援装置およびテスト方法 | |
JP2007205933A (ja) | 半導体集積回路 | |
US7152194B2 (en) | Method and circuit for scan testing latch based random access memory | |
US20070022343A1 (en) | Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and computer readable medium for the same | |
JP4265934B2 (ja) | スキャンパス回路およびそれを備える論理回路ならびに集積回路のテスト方法 | |
JP4315775B2 (ja) | 半導体集積回路装置 | |
US7716549B2 (en) | Semiconductor apparatus and testing method | |
JP4610919B2 (ja) | 半導体集積回路装置 | |
JPH09269959A (ja) | 経路遅延故障の検査容易化設計方法及び検査系列生成方法 | |
JP2007003338A (ja) | 半導体装置及びそのテスト方法 | |
JP4416469B2 (ja) | 半導体集積回路およびその設計方法 | |
JPH05119122A (ja) | スキヤン回路のテストパターン生成方法 | |
JP5796404B2 (ja) | 半導体回路及びテスト方法 | |
JP3275952B2 (ja) | ディジタル論理回路のテスト回路 | |
JP2009175154A (ja) | 半導体集積回路およびその設計方法 | |
KR100532747B1 (ko) | 반도체 집적회로 및 그 설계방법과 반도체 집적회로의 설계프로그램을 기록한 기록매체 | |
JP3240744B2 (ja) | 出力パッド回路及びテスト回路 | |
JP2002196047A (ja) | Bist回路内蔵半導体集積回路装置およびテスト方法 | |
KR100345673B1 (ko) | 자기 진단 가능한 집적 회로 | |
JPH07174821A (ja) | バウンダリスキャンセルおよびテスト回路の検証方法 | |
JP3544415B2 (ja) | 半導体集積回路及び検査系列生成方法 | |
JPH06194416A (ja) | 順序回路を含む論理回路の診断システムおよび診断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060125 |
|
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: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060317 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100324 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110324 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110324 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |