(57)【特許請求の範囲】
【請求項１】
テスト対象論理回路の論理素子及び素子間の配線の接続情報と、各素子及び各配線の信号伝搬時間の情報とを入力し、テスト対象論理回路に含まれる第１の記憶素子群に第１の内部状態を設定し、テスト装置からテスト時間間隔の複数の遷移信号を印加し、前記第１の記憶素子群を第２の内部状態に変化させた後、第１の記憶素子群が保持する値を読み出して、期待値と比較する検査系列を生成し、前記検査系列を用いて前記回路の故障を検出する論理回路の遅延故障検出方法において、
前記検査系列の生成は、
テスト対象論理回路の論理素子及び素子間の配線の接続情報を入力して各素子を定義する素子表と各素子の入出力端子の接続先を記述する接続先表を作成するステップと、
各素子及び各配線の信号伝搬時間の情報を入力して信号伝播時間値表を作成するステップと、
前記第１の記憶素子群へ論理値を割り振って第１の内部状態を決定するステップと、
前記第１の記憶素子群へ割り振られた第１の内部状態をテスト対象論理回路に設定するための検査系列を生成するステップと、
テスト対象論理回路内に遅延故障を仮定するステップと、
仮定する遅延故障の信号伝搬遅延の程度を表す第１のパラメータ値を設定するステップと、
前記第１の記憶素子群を第１の内部状態から所定の処理により信号遷移を伴って第２の内部状態へ移行させ前記第１及び第２の内部状態における前記第１の記憶素子群の出力値を前記素子表に格納するステップと、
信号遷移が前記遅延故障を仮定した故障仮定点を通る信号伝播経路を前記接続先表と前記素子表とにより探索するステップと、
前記接続先表と前記素子表により遷移信号発生源記憶素子を探索し、探索した遷移信号発生源記憶素子と遷移信号到達記憶素子との各組み合わせ毎に、その間に存在する信号伝播経路上の各信号線と各素子との信号伝播時間の和を前記信号伝播時間値表より求め、求めた信号伝播時間の内から最大値を求めるステップと、
前記テスト時間間隔から前記第１のパラメータ値を減じて検出判定値を求めるステップと、
前記信号伝播時間の最大値が前記検出判定値より大きい場合に前記故障仮定点を検出可能と判定するステップと、
前記検査系列生成ステップで生成した検査系列に対して検出可能性を判定すべき未試行の仮定故障が存在する場合に前記遅延故障仮定ステップから前記故障仮定点検出可能判定ステップまでを繰り返すステップとを有することを特徴とする論理回路の遅延故障検出方法。
【請求項２】
前記検査系列の生成は、特定の遅延故障について前記テスト時間間隔を変更して前記遅延故障仮定ステップから前記故障仮定点検出可能判定ステップまでを繰り返すステップを有することを特徴とする請求項１記載の論理回路の遅延故障検出方法。
【請求項３】
前記第１の記憶素子群への第１の内部状態の設定は、設定する論理値を乱数列の各項に対応させて求めて行うことを特徴とする請求項１または２記載の論理回路の遅延故障検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理回路の遅延故障検出方法に係り、特に、計算機を構成する論理集積回路及び複数の論理集積回路を搭載する基板の製造不良を検出し、製造工程の改善、後戻り工程の削減及び製品の品質の維持を図るために使用して好適な論理回路の遅延故障検出方法に関する。
【０００２】
【従来の技術】
一般に、計算機の機能は、その殆どが集積回路に作り込まれ、計算速度等の性能は、集積回路の製造技術に大きく依存する。そして、集積回路は、低速度では完全に動作する場合にも、製品仕様に対応する高速度では動作しないような不良なものが数多く存在する。計算機等の装置としての性能を高性能に確保するためには、部品である個々の集積回路の、製品として組み上げられたときの動作速度を保証するテストが必要である。計算機を構成する集積回路は、数多くの論理素子を含み、可能な状態数は膨大である。このため、集積回路のテストは、全ての遷移信号の伝搬状態についてテストを行うようにすれば、性能を確保するために必要な条件を全て含めることができるが、この場合、テストする状態数が非常に多くなり、テストにかかる時間が長すぎて、現実的ではない。
【０００３】
テストに用いる状態数を現実的な値に削減するために、一般には、不良を単純な故障モデルにより近似してテストを行っている。この方法によれば、モデル化によって、故障を回路に仮定し、回路の応答をシミュレートすることにより検査系列の有効性を評価することが可能になり、テストされていない回路部分を認識して、必要な検査系列を補うことができる。
【０００４】
回路の動作速度により障害を発生するような不良に対する故障モデルには、故障動作を仮定する対象部分について大別して２種類あり、１つはゲートディレイ故障であり、もう１つはパスディレイ故障である。前者は、各素子の入出力端子毎に遅延故障を仮定し、後者は、信号遷移の発生時刻を制御できる起点から、特定時刻での信号値を観測可能な点までの、全ての伝搬経路１つづつに遅延故障を仮定する。後者の起点と観測点とは、回路の外部入出力端子や、クロックで制御された記憶素子などである。
【０００５】
ゲートディレイ故障の総仮定数は、回路の構造には依存せず、各素子毎の入出力端子の伝搬経路数の総計となる。ある検査系列で、故障仮定点を信号遷移が通過し、かつ観測点に到達する場合、検出可能あると判定できる。このため、ゲートディレイ故障を仮定するモデルは、検査系列の生成や検出判定の処理で取り扱う状態の数が素子数のオーダーで済み、ほぼ完全な検出率を持つ検査系列を従来の技術の場合にも得ることができる。これに対し、パスディレイ故障の総仮定数は回路の構造に依存し、最も多くなる場合は、総素子数のほぼ指数倍になる。このため、パスディレイ故障を仮定するモデルは、全ての遷移信号伝搬経路がテスト対象に入るので、必要な状態が網羅される可能性が高いが、経路数が多くなるため、テスト生成、検出判定に多くの時間がかかり、大規模な回路では現実的なものとはいえない。
【０００６】
多数の経路を効率的に取り扱う試みは数多くなされ、この種の従来技術として、例えば、［１］ M. A. Gharaybeh、他著の“A Parallel-Vector Concurrent-Fault Simulator and Generation of Single-Input-Change Tests for Path-Delay Faults” IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems、Vol. 17、No. 4、pp. 873-876、1998等に記載された技術が知られている。この従来技術は、各パタンでの遷移信号の発生源を１ビットに制限し、１６種類の論理値を用いて、複数の遷移信号伝搬を同時に効率的に取り扱うことができるようにするというものである。しかし、この従来技術を使用しても、テスト対象となる経路数が依然として多く、大規模な集積回路の全ての部分に対してこの従来技術を適用することは困難である。
【０００７】
このような問題を回避するため、回路の性能に大きく影響すると考えられる経路を予め選んで、それらについて検査系列を生成してテストするという方法が知られている。このような方法に関する従来技術として、例えば、［２］ R. S. Fetherston、他著の“Testability Features of the AMD-K6 Microprocessor” IEEE Design & Test of Computers、Vol. 15、No. 3、pp. 64-69、1998 等に記載された技術が知られている。この従来技術は、最も伝搬時間の長い５千経路と、集積回路のチップ全面から偏り無くサンプリングした長い５千経路とを対象にパスディレイ故障を仮定してテストを実施するというものである。
【０００８】
一方、パスディレイ故障モデルによって経路のテスト網羅性を計算することなく、数多くの検査系列を印加することができる方法を工夫することにより、実質的に回路の動作を充分にテストしようとする方法も使用されている。この種の従来技術として、例えば、［３］ B. Koenemann、他著の“Delay Test: The Next Frontier for LSSD Test Systems” Proceedings of the IEEE International Test Conference、1992、pp. 578-587 等に記載された技術が知られている。この従来技術は、集積回路内に設けた疑似乱数発生器を使用して、多数の遷移信号を伝搬させ、装置に組上がった場合の動作速度に対応する時間間隔でテストを行うという方法である。この方法の有効性については、［４］ M. P. Kusko、他著の“Microprocessor Test and Test Tool Methodology for the 500MHz IBM S/390 G5 Chip” Proceedings of the IEEE International Test Conference、1998、pp. 717-726 でも議論されている。
【０００９】
遅延故障を仮定して行うテストは、故障と認識される遅延時間の程度が、前述の文献［３］でも議論されているように、テスト対象回路への検査系列の印加における信号遷移の注入と観測の間のテスト時間間隔とに依存する。検査系列の遅延故障に対する検出率は、検出と判定される故障の遅延時間の程度が前記テスト時間間隔より大きな場合について定義される。従って、従来技術による検査系列の生成や検出判定の処理は、故障による遅延時間の程度がテスト時間間隔より常に大きいとして検出判定をする遷移故障を仮定することが通例である。このため、仮定される全故障の数に対する検出可能と判定される故障の数の比である検出率は、遷移故障を仮定して求められる。
【００１０】
【発明が解決しようとする課題】
前述した従来技術は、何れも、実用時間内に可能な範囲で、実動作時の速度を保証するための検査系列群の探索及びそのテストを実行するために、対象とする信号伝搬経路の数を予め絞り込むか、疑似乱数になどを用いて多数の経路を同時に無作為に動作させ、必要な経路が偶然にカバーされることを期待する他ないものである。このため、前述した従来技術は、何れも、乱数でテストされにくい回路部分、すなわち、偶然には実現する確率の低い状態以外ではテストできないような回路部分があると、長期間乱数を印加し続けても、未検出で残る故障の数が多くなるという問題点を有している。このため、大規模な回路のテストは、残る故障の数も非常に多く、網羅性について完全な検査系列の生成が依然として困難である。
【００１１】
素子の入出力端子の論理が故障時に“０”か“１”の何れか一方に固定される単一縮退故障モデルや、故障による遅延時間の程度がテスト時間間隔より常に大きいとして検出判定をする遷移故障モデルについて、ほぼ完全な検出率を持つ検査系列で良品と判定された集積回路であっても、装置に組み上がった状態で不良動作を呈する場合があり無視することができない。すなわち、［５］ W. Needham、他著の“HIGH VOLUME MICROPROCESSOR TEST ESCAPES、AN ANALYSIS OF DEFECTS OUR TESTS ARE MISSING.” Proceedings of the IEEE International Test Conference、1998、pp. 25-34に述べられているように、既存の故障モデルにおける検出率が100%ではない故に見逃す不良もあるからである。
【００１２】
しかし、装置の不良事例を多く集め、詳細を解析をすると、たとえ単一縮退故障モデルや前述の遷移故障を仮定して100%の検出率を持つ検査系列が仮に得られ、その検査系列でテストすることができたとしても、装置として動作させた場合の不良は完全には除けないことが判る。
【００１３】
テスト種毎に歩留まりを求めると、そのテスト種で検出可能な不良を引き起こす欠陥の密度に相当する値を得ることができる。そのテスト種における、ある故障モデルに対する検出率を計算すると、その故障モデルに相当する不良をそのテストで見逃す数を推定することができる。故障モデルとして単一縮退故障モデルとゲートディレイの遷移故障モデルとを考え、実際の計算機装置を構成する集積回路について、検出率が100%でないために見逃す故障の数を推定し、この数と、計算機装置に組み上げたあとでの劣化ではない不良現象を引き起こす集積回路の数とを比較すると、モデル化された故障の見逃しと比べて、少なくない数の不良が残存していることが判明した。
【００１４】
これら残存不良の、物理的な直接原因を究明することは困難であるが、検査系列を追加したり、不良現象を細かく分析することにより、いくつかの場合において原因が判明した。それによると、物理的原因は、論理素子の構造の欠陥であり、そこを通過する遷移信号に遅延が生ずるというゲートディレイの遷移故障モデルに準ずる場合ではあるが、遅延の時間的程度が小さいために、集積回路をテストする検査系列に含まれる故障検出経路では不良と判定される閾値に達しなかったことがわかった。検査系列は、製造工程の設備投資及び時間的な制約から、限られた回路状態しか実現されていない。これに対して、組み上げられた装置内の集積回路は、様々な状態の下で動作するので、ある素子の前記のようなわずかなディレイであっても、不良として顕現するような遷移信号伝搬経路に含まれる場合がある。
【００１５】
モデル化しにくい欠陥であっても、装置の動作が遅くなるような不良現象として現れる場合が多いであろうことは、例えば、［６］ P. C. Maxwell、他著の“IDDQ AND AC SCAN: THE WAR AGAINST UNMODELLED DEFECTS” Proceedings of the IEEE International Test Conference、1996、pp. 250-258 にも述べられている。従って、集積回路の品質を高く保つために、各論理素子のわずかな遅延でも検出できるような、検査系列が必要である。
【００１６】
本発明の目的は、乱数列を用いるか、または、存在する全ての経路の数と比べて充分小さな数の経路を活性化する検査系列を用い、各論理素子のわずかな遅延を検出することができる論理回路の遅延故障検出方法を提供し、さらに、わずかな遅延が検出できない故障仮定点を同定し、その故障に対して検査系列を生成する手段をも提供すると共に、テストの品質の管理と、必要な性能の向上を可能にする論理回路の遅延故障検出方法を提供することにある。
【００１７】
【課題を解決するための手段】
本発明によれば前記目的は、テスト対象論理回路の論理素子及び素子間の配線の接続情報と、各素子及び各配線の信号伝搬時間の情報とを入力し、テスト対象論理回路に含まれる第１の記憶素子群に第１の内部状態を設定し、テスト装置からテスト時間間隔の複数の遷移信号を印加し、前記第１の記憶素子群を第２の内部状態に変化させた後、第１の記憶素子群が保持する値を読み出して、期待値と比較する検査系列を生成し、前記検査系列を用いて前記回路の故障を検出する論理回路の遅延故障検出方法において、前記検査系列の生成は、テスト対象論理回路の論理素子及び素子間の配線の接続情報を入力して各素子を定義する素子表と各素子の入出力端子の接続先を記述する接続先表を作成するステップと、各素子及び各配線の信号伝搬時間の情報を入力して信号伝播時間値表を作成するステップと、前記第１の記憶素子群へ論理値を割り振って第１の内部状態を決定するステップと、前記第１の記憶素子群へ割り振られた第１の内部状態をテスト対象論理回路に設定するための検査系列を生成するステップと、テスト対象論理回路内に遅延故障を仮定するステップと、仮定する遅延故障の信号伝搬遅延の程度を表す第１のパラメータ値を設定するステップと、前記第１の記憶素子群を第１の内部状態から所定の処理により信号遷移を伴って第２の内部状態へ移行させ前記第１及び第２の内部状態における前記第１の記憶素子群の出力値を前記素子表に格納するステップと、信号遷移が前記遅延故障を仮定した故障仮定点を通る信号伝播経路を前記接続先表と前記素子表とにより探索するステップと、信号接続先表と前記素子表により遷移信号発生源記憶素子を探索し、探索した遷移信号発生源記憶素子と遷移信号到達記憶素子との各組み合わせ毎に、その間に存在する信号伝播経路上の各信号線と各素子との信号伝播時間の和を前記信号伝播時間値表より求め、求めた信号伝播時間の内から最大値を求めるステップと、前記テスト時間間隔から前記第１のパラメータ値を減じて検出判定値を求めるステップと、前記信号伝播時間の最大値が前記検出判定値より大きい場合に前記故障仮定点を検出可能と判定するステップと、前記検査系列生成ステップで生成した検査系列に対して検出可能性を判定すべき未試行の仮定故障が存在する場合に前記遅延故障仮定ステップから前記故障仮定点検出可能判定ステップまでを繰り返すステップとを有することにより達成される。
【００２１】
一般に、遷移信号が故障仮定部位を通過するために要する時間が有限量増加する故障モデルの取り扱いを可能にするため、故障を仮定する回路部分の単位毎に、すなわち、経路、配線、素子毎に、故障を仮定する場合としない場合のそれぞれについての部分通過時間を算出するための情報を入力し、保持し、処理する手段を持つ。従来の故障シミュレーション技術は、故障が顕現し、故障仮定部位を通過する信号遷移が観測点にまで到達すれば、その故障は検出可能と判定していたが、本発明は、さらに故障仮定部位を通る信号遷移の発生源をたどり、発生から観測点に到達するまでの時間を、故障のある場合とない場合とのそれぞれについて算出する手段を用い、テスト時間間隔と比較することによって検出可能性を判定する。また、本発明は、検出対象となる故障群の検出に必要な経路を包含する伝搬時間が適切な経路の集合の情報を保持する手段と、検査系列の候補に対するテスト回路内の遷移信号伝搬経路が前記集合に含まれるか判定することによって、前記経路上の故障の検出可能性を判定する。
【００２２】
検出可能と判定されていない故障について、検出可能な検査系列を求めるには、故障仮定部位を遷移信号が通過し、通過した遷移が観測点に到達する条件を満たす回路状態を求めることが必要である。本発明は、さらに、遷移信号の通過する経路について条件を設け、伝搬時間のより長い経路を通るように誘導する手段を用いる。テスト時間間隔を、正常な回路のテスト対象経路の遷移信号伝搬時間の最大値より小さくない値とするとき、検出のための遷移信号伝搬経路は、なるべくそのテスト時間間隔に近い、大きな伝搬時間の経路を選択する方が、少ない遅延増加量の故障についても検出の可能性が高まる。このための伝搬時間の長い経路への誘導は、次の２つの手段によって可能である。
【００２３】
第１は、遷移信号の発生点となる外部入力端子または記憶素子と、遷移信号の観測点となる外部出力端子または記憶素子との組合せ毎に、伝搬時間の最大となるテスト対象経路の伝搬時間を算出し、経路中に故障を仮定する部位を持つ遷移信号の発生点と観測点との組の決定において、より時間の大きい組を採用する手段である。
【００２４】
第２は、回路を構成する各素子の入力端子毎に、記憶素子または外部端子へ至る遷移信号伝搬経路の伝搬時間の最大値と、記憶素子または外部入力端子からの遷移信号伝搬経路の伝搬時間の最大値とに相当する数値を算出または保持する手段と、故障仮定部位を通過する遷移信号の伝搬先が複数ある場合に伝搬先の素子入力端子の前記数値がより大きい方を候補として選択し、各素子への前記遷移信号の流入の経路に複数の選択肢がある場合、当該素子の入力端子の前記数値がより大きい方を候補として選択する手段とである。
【００２５】
前記２つの方法における伝搬経路の探索は、複数の候補の１つを選択し、その伝搬が可能かを調べ、不可能ならば別の選択肢を選んで可能性を調べる処理の繰り返しである。候補を選択する順番に伝搬時間に基づいた優先順位を付ける手段によって、可能な最も小さな遅延時間をもつ遅延故障を検出できる精度の高い検査系列を生成することができる。
【００２６】
伝搬経路の探索における処理量は、回路の構造と、候補の選択順などのアルゴリズムとに依存する。最も多くなる場合、その処理量は、ほぼ回路規模の指数オーダーとなり、大規模な集積回路では検査系列の生成にかけられる時間が足りなくて、探索を打ち切らねばならなくなる場合がある。打ち切りは、例えば仮定故障毎に判断する方法等も考えられるが、伝搬経路の選択に処理を戻して、伝搬時間を元にした優先順位の選択肢の内、伝搬時間が次に長い経路を選択して、前記故障の検出のための伝搬経路探索を続行する手段を備えれば、より精度の高い検査系列を生成することができる。
【００２７】
以上述べた手段によると、テスト対象回路の最も時間のかかる伝搬経路の伝搬時間に相当する時間間隔をもってテスト時間間隔としても、可能な最も精度の高い検査系列を得ることができる。互いに矛盾する値の割り振りがない複数の検査系列を重ね合わせる手段と併用すれば、時間的精度を可能な限り保った上で、少ない検査系列数で、検出率の高いテストが可能となる。
【００２８】
遷移信号の伝搬時間は、遷移の始点から終点までの各経路について、別々に取り扱う必要がある。しかし、経路の数は、全ての始点から全ての終点までの通り得る素子と配線の全ての組合せ数になり非常に多い。経路の探索における選択肢は、分岐する配線の接続先素子の入力端子または素子に遷移信号が流入する入力端子の選択に他ならない。そこで、本発明は、選択の優先順位を決める伝搬時間に相当する数値を素子の入力端子毎に算出して保持する手段を用いる。これにより、伝搬時間のより長い経路の選択の処理を簡略化し処理時間を短縮できる。
【００２９】
故障の検出判定手段は、故障仮定部位を通過する遷移信号が遷移の発生点から伝搬先の観測点まで伝搬するのにかかる時間とテスト時間間隔との差が、仮定する故障による遅延時間増加量と比較して小さい場合に検出可能と判定する。故障の検出率は、前記増加量を定義する数値に依存して変化する。前記の増加量の複数の数値に対応して検出率を求めて表示する手段を用いることにより、どの程度の遅延故障がどのくらい検出できる状態にあるか把握し、テストの品質を管理することができる。
【００３０】
【発明の実施の形態】
図１は本発明一実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャート、図２は本発明の実施形態の説明に用いるテスト対象回路例の論理的構成を示す図、図３は図２に示す記憶素子であるフリップフロップ（ＦＦ）の動作を定義する等価回路を示す図、図４は図３に示す等価回路における基本素子の動作を定義する真理値表を示す図、図５は図２に示すアドレスデコーダの動作を定義する真理値表を示す図、図６は図２に示すの回路例を記憶装置に格納する場合の情報の構造を説明する図、図７は図６における記憶素子の素子番号とスキャンアドレスとの対応を表として示す図、図８は図６に示す素子機能名毎の各入力端子から出力端子への遷移信号伝搬時間に相当する数値の例を示す図、図９は図２に示す回路例の配線毎の遷移信号伝搬時間に相当する数値の例を示す図、図１０は図２に示す回路例を対象に検査系列生成を実施した場合に得られる第１の内部状態の例を説明する図、図１１は図１０に示す第１の内部状態から導かれる検査系列のタイムチャートを説明する図、図１２は図１に示すフローにおけるステップ１０８での処理の詳細を説明するフローチャート、図１３は図２の回路例における外部クロック入力端子でのテスト時間間隔と遷移信号発生フリップフロップのデータ出力端子から遷移信号到達フリップフロップのデータ入力端子までの信号伝搬時間との関係を説明する図である。図２、図３において、２０１〜２１２は入力端子、２１３〜２２６はフリップフロップ（ＦＦ）、２２７〜２４５はゲート素子、２４６はデコーダ、２４７はＯＲゲート、２４８〜２５２は出力端子、３０２はＦＦ素子である。
【００３１】
まず、本発明の実施形態の説明に使用するテスト対象回路例について説明する。図２に示す回路例は、回路内の記憶素子であるＦＦ２１３〜２２６にスキャン回路を通してデータの書き込みと読み出しと可能に構成されている。スキャン回路は、データ書き込みのためのアドレスデコーダ２４６とデータ読み出しのためのゲート２４７とにより構成されている。なお、図２に丸印の中に記載して示す数字は、以後の説明及び図面の中における素子番号である。
【００３２】
図２に示す回路例において、スキャンアドレス入力端子Ｐ１２〜Ｐ１５（２０９〜２１２）に書き込み対象フリップフロップのスキャンアドレスを印加し、システムクロック入力端子Ｐ１１（２０８）を不活性側の値、図２の例では“０”にした状態で、スキャンデータ入力端子Ｐ１０（２０７）にデータを印加し、スキャンクロック入力端子Ｐ９（２０６）にクロックパルスを印加すると、前記データが前記書き込み対象フリップフロップに書き込まれる。また、スキャンアドレス入力端子２０９〜２１２に読み出し対象フリップフロップのスキャンアドレスを印加すると、読み出し対象フリップフロップの保持するデータがスキャンデータ出力端子Ｐ１６（２５２）から観測することができる。
【００３３】
各ＦＦ２１３〜２２６は、図３の論理等価回路で表わされる機能を持った素子であり、素子３０２の各入出力端子Ｄ、Ｃ、Ｓ、Ｒ、Ｑは、それぞれ、図４に示す真理値表の記述におけるＤ、Ｃ、Ｓ、Ｒ、Ｑの信号と対応している。図３に示す境界線３０１の入力Ｃ３０６を“０”にした状態で、入力ＳＤ３０８を“１”にし、かつ、入力ＳＣ３０７を一時“１”にすると、素子３０２に“１”が書き込まれ、出力Ｑ３０３が“１”となる。また、入力Ｃ３０６を“０”にした状態で、入力ＳＤ３０８を“０”にし、かつ、入力ＳＣ３０７を一時“１”にすると、素子３０２に“０”が書き込まれ、出力Ｑ３０３が“０”となる。出力ｑ３０４は、入力Ａ３０９が“０”のとき、常に“０”となり、入力Ａ３０９が“１”のとき、出力Ｑ３０３と同一の値を出力する。
【００３４】
図２に示す回路例におけるＦＦ２１３〜２２６の入出力端子Ｄ、Ｃ、ＳＣ、ＳＤ、Ａ、Ｑ、ｑはそれぞれ、図３における境界線３０１の信号線Ｄ３０５、Ｃ３０６、ＳＣ３０７、ＳＤ３０８、Ａ３０９、Ｑ３０３、ｑ３０４に対応している。各記憶素子の端子ＳＣ３０７には、スキャンクロック入力端子Ｐ９（２０６）の値がゲート２４３の出力信号線ｓｃを介して分配され、端子ＳＤ３０８には、スキャンデータ入力端子Ｐ１０（２０７）の値がゲート２４４の出力信号線ｓｄを介して分配され、端子Ｃ３０６には、システムクロック入力端子Ｐ１１（２０８）の値がゲート２４５の出力信号線ｃ０を介してが分配される。また、端子Ａ３０９には、スキャンアドレス入力端子Ｐ１２〜Ｐ１５（２０９〜２１２）をアドレスデコーダ２４６でデコードした結果のアドレス選択信号線ｓ０〜ｓ１３の１４本の内の対応する１本が接続されている。例えば、ＦＦ２１３は、アドレス選択信号線ｓ０に接続されている。ＦＦ２１３〜２２６の出力ｑ３０４は、その全てがゲート２４７の入力端子に接続され、アドレス選択信号線により選択されたＦＦが保持する値をスキャンデータ出力端子Ｐ１６（２５２）から観測することができる。
【００３５】
デコーダ２４６の動作は、図５に示す真理値表によって定義される。すなわち、入力端子へのアドレスの割り振りは、アドレスを２進数で表したときの最下位の２の０乗ビットがＡ０、順に、１乗ビットがＡ１、２乗ビットがＡ２、３乗ビットがＡ３にそれぞれ相当する。アドレス０から１５が昇順に、出力端子ｄ０からｄ１５に対応する。例えば、ＦＦ２１８への書き込みや読み出しは、Ａ０、Ａ１、Ａ２、Ａ３に“１”、“０”、“１”、“０”を印加して行うことができる。
【００３６】
図２に示す回路例における、スキャン機能を利用することにより、記憶素子であるＦＦに対する任意の内部状態の設定と観測の操作のパタンとを、各記憶素子とアドレスの対応とを認識するだけで生成することができる。従って、後述する図１に示すフローのステップ２で作成する図６の結線表例には、スキャン関連論理部分は記載せずに、代わりに、図７に示すような記憶素子のスキャンアドレスリストを作成し、後のステップで参照することとする。図７に示すスキャンアドレスリストは、図２に示す回路例におけるＦＦ２１３〜２２６の素子番号７〜１１、１８〜２２、３４〜３７のそれぞれに対応するスキャンアドレスを表としたものである。
【００３７】
図６に示す図２に示す回路例の結線表は、後述する図１の処理フローにおけるステップ１０２で作成されるもので、素子表６０１と、入力先表６０２と、出力先表６０３との３部分から構成される公知の形式を有するものである。素子表６０１は、素子に通し番号を振り、通し番号順に並べた表であり、各素子の機能をＦＦであれば“ｆｆ”、論理積を取る素子であるＡＮＤゲートであれば“ａｎｄ”、論理和を取る素子であるＯＲゲートであれば“ｏｒ”、外部入出力端子であれば“ｅｄｇｅ”で記述する。各素子の入力端子の接続先は、入力先表６０２に記述される。入力先表６０２の中の各素子に対応する部分は、素子表の入力先表先頭位置と入力数とにより識別する。例えば、７番素子は“ｆｆ”なのでＦＦであり、スキャン関連論理以外で接続のある入力端子は２つあり、入力先表６０２の１番目から２行がこれらの記述に相当することがわかる。入力先表６０２の該当範囲を参照すると、そのＦＦの１番端子が１番素子の１１番端子に繋がり、２番端子が１２番素子の１１番端子に繋がることがわかる。
【００３８】
各素子の出力端子の接続先は、出力先表６０３に記述される。出力先表６０３の中の各素子に対応する部分は、素子表６０１の出力先表先頭位置と出力先数とにより識別する。例えば、７番素子は、スキャン関連論理以外の接続先が１つであり、出力先表６０３の７番目の１行がこの記述に相当することが判る。出力先表の該当範囲を参照すると、そのＦＦの１１番端子が１３番素子に繋がり、繋がり先の素子の入力端子に関連した情報は、入力先表６０２の１２行目に記載されていて、接続先入力端子は１番であることがわかる。
【００３９】
なお、前述において、入力端子の番号は、図２に記載された各素子の左上から順に１番から、出力端子の番号は、図２に記載された各素子の右上から順に１１番から振っている。
【００４０】
次に、図８、図９を参照して、図２に示す回路例における素子機能名毎の各入力端子から出力端子への遷移信号伝搬時間に相当する数値の例と配線毎の遷移信号伝搬時間に相当する数値の例とについて説明する。なお、図８、図９に示す遷移信号伝搬時間の表は、後述する図１の処理フローにおけるステップ１０４で作成されるものである。
【００４１】
図８に示す表には、素子毎の各入力端子から各出力端子への信号遷移の伝搬時間が格納されており、各素子機能名の各入力端子１つと出力端子１つとの組に対して伝搬時間が定義されている。例えば、図８において、ＦＦの２番端子から１１番端子への伝搬時間（第５行目）は、保持する値と異なる値がデータ入力Ｄに存在する状態にあるとき、クロック入力Ｃに“０”から“１”への遷移信号が印加された瞬間から、出力端子Ｑに保持する値の変化が現れるまでの時間間隔である。また、ＦＦの１番端子から１１番端子への伝搬時間（第６行目）は、データ入力Ｄに遷移信号が到着した後、クロック入力Ｃに“０”から“１”への遷移信号を印加してデータ入力Ｄの遷移の後の値を素子内部に取り込むために、クロック入力Ｃの遷移信号印加をどれほどデータ入力Ｄの遷移信号が到着時刻から遅らせなければならないか示す値である。この値の絶対値は、その他のここに説明する伝搬時間の値を相殺する性質を持つため、負の値として示している。
【００４２】
図９に示す表は、素子間の配線の遷移信号の伝搬時間を記載する表であり、各伝搬時間は、各信号線の接続先素子の入力端子に対応して格納される。各伝搬時間の通し番号は、図６により説明した入力端子が対応する入力先表６０２の通し番号と一致する。そして、配線の遷移信号の伝搬時間は、外部入力端子または素子の出力端子から外部出力端子または素子の入力端子への配線経路毎に定義されている。
【００４３】
図１０に示す図２に示す回路例を対象に検査系列生成を実施した場合に得られる第１の内部状態の例は、後述する図１の処理フローにおけるステップ１０５で作成されるものであり、割り振られる論理値を、ＦＦの素子番号に対応させて定義したものである。この図１０において、論理値“Ｘ”は、未割り振り（状態不明）を意味する。また、図１１に示す図１０に示す第１の内部状態から導かれる検査系列のタイムチャートは、後述する図１の処理フローにおけるステップ１０６で作成されるものであり、これについての詳細は、図１に示すフローを説明する中で説明する。
【００４４】
次に、図１に示すフローを参照して、は本発明一実施形態を用いた検査系列生成の処理動作の概略を説明する。
【００４５】
（１）ステップ１０１、１０２での処理
初めに、図２により説明したようなテスト対象回路を構成する素子と、素子との間の配線との情報を入力する。入力された記情報は、結線表に格納される。図２に示すの回路例を入力した場合、結線表は、図６により説明したようなものとなる。
【００４６】
（２）ステップ１０３、１０４での処理
次に、各素子及び素子相互間の配線の信号伝搬時間の情報を入力し、信号伝搬時間の値の表を作成する。これにより、図８、図９により説明した素子機能名毎の各入力端子から出力端子への遷移信号伝搬時間に相当する数値と配線毎の遷移信号伝搬時間に相当する数値とを格納した表が作成される。
【００４７】
（３）ステップ１０５での処理
次に、テスト対象回路内の記憶素子へ論理値を割り振り、図１０により説明したような第１の内部状態を決定し、割り振られる論理値を、ＦＦの素子番号に対応させて定義する。
【００４８】
（４）ステップ１０６での処理
次に、ステップ１０５で記憶素子へ割り振られた第１の内部状態をテスト対象回路に設定するための検査系列を生成する。図１０に定義した第１の内部状態から生成される検査系列の例のタイムチャートを図１１に示しており、以下、これについて説明する。
【００４９】
図１１に示すように、図１０に定義した第１の内部状態の例から生成される検査系列は３０のパターンからなる。先頭から１４のパターン（通し番号０〜１３）は、図７により説明した記憶素子のスキャンアドレスリストを先頭行から順に参照して、各アドレスに相当する値４ビットをスキャンアドレスの外部入力端子Ｐ１２〜Ｐ１５に設定し、対応するアドレスのＦＦの素子番号の第１の内部状態での割り振られた論理値を図１０の内部状態の表から取得し、この値をスキャンデータの外部入力端子Ｐ１０に設定し、スキャンクロックの外部入力端子Ｐ９にパルスを設定してＦＦ内に第１の状態作成するパターンである。アドレス１０から１３に対応する４つのＦＦには、論理値の割り当てがなく、内部状態の表には“Ｘ”が記述されているので、ここでは、便宜的に外部入力端子Ｐ１０の値を“０”に固定する。
【００５０】
次の２つパターン（通し番号１４、１５）は、それぞれ、システムクロックの外部入力端子Ｐ１１にパルスを印加するパターンである。図２に示すテスト対象回路例のテスト時の動作は、通し番号１４のパターンにおけるパルスの立ち上がりが各ＦＦのクロック入力端子Ｃに到着した時刻から、図８に示す素子の信号伝搬時間の表の第５行目の伝搬時間が経過した後、保持する値と異なる値がデータ入力Ｄに存在する状態にあるＦＦの出力端子Ｑに信号遷移が発生して、回路内に伝搬するというものとなる。
【００５１】
そして、通し番号１５のパターンにおけるパルスの立ち上がりが各ＦＦのクロック入力端子Ｃに到着した時刻に、図８に示す素子の信号伝搬時間の表の第６行目の伝搬時間を足した時刻、すなわち、この例では０．１単位時間だけ遡った時刻までに、データ入力Ｄに前記遷移信号が到着したＦＦの保持する値が、遷移後の値に反転し、テスト対象回路が第２の内部状態に到達する。遅延故障が存在するために遷移信号の実回路中の伝搬時間が、設計値である図８、図９に示す伝搬時間を超えると、データ入力Ｄへの前述の遷移信号の到着が遅れ、第２の内部状態は、正常な場合と異なるものとなる。
【００５２】
図１１に示す検査系列の次の１４のパターン（通し番号１６〜２９）は、第２の内部状態の観測を目的とするパターンであり、先頭の１４のパターン（通し番号０〜１３）の場合と同様に、アドレスを順次設定するが、スキャンクロック外部入力端子Ｐ９を“０”としたまま、スキャンデータ外部出力端子Ｐ１６を観測するパターンである。
【００５３】
（５）ステップ１０７での処理
次に、テスト対象回路に遅延故障を仮定する。一例として、図２の回路例における第２８番素子の第２番入力端子に遅延故障を仮定する。この場合、入力先表６０２上の第３５行目が故障仮定点となる。
【００５４】
（６）ステップ１０８での処理
次に、第１の内部状態及び第２の内部状態における各素子の出力信号値を求める。説明している本発明の実施形態の場合、スキャン回路を用いて第１の内部状態の設定と、第２の内部状態の観測とを行うことができる。従って、前述の第１の内部状態の設定と第２の内部状態の観測を行う検査系列部分については、テスト対象回路の応答の模擬を行う必要はない。遅延故障の顕現と伝搬に係わる遷移の発生は、通し番号１４のパターンのシステムクロックのパルスの立ち上がりだけである。従って、仮定した故障の検出可能性を判定するには、前述のパルスの立ち上がりの前の第１の内部状態と、その後の第２の内部状態とにおける各素子の信号線の値を求めればよいことになる。ここでの処理の詳細は、図１２に示すフローにより後述する。すなわち、外部入力端子Ｐ０〜Ｐ１１まで、テスト中全て“０”に固定されるとみなして、図１０に示す第１の内部状態を用いて、ここでの処理を実行し、第１及び第２の内部状態における各素子の出力値を求めた結果を図６の対応する欄に格納する。
【００５５】
（７）ステップ１０９での処理
次に、仮定した故障の顕現と伝搬とを調べ、信号遷移が故障仮定点を通らないか、または、記憶素子に伝搬しないかを判定する。故障仮定点は、前述したように、第２８番素子の第２番入力端子なので、まず、その入力先を入力先表６０２でたどると第２６番素子となる。第２６番素子は、素子表６０１から、第１の内部状態では“０”、第２の内部状態では“１”となって、遷移が故障仮定点を通り、ここで顕現していることが判る。次に、伝搬を調べると、第２８番素子の出力値は“０”から“１”へ遷移しており、その出力先を出力先表６０３でたどると、第２９番素子と第３０番素子とに伝搬していることが判る。素子表６０１から、第２９番素子と第３０番素子との両出力は“０”から“１”へ遷移しているので、さらにその出力先を出力先表６０３でたどる。この結果、伝搬先は第３２番、第３５番、第３６番の各素子であるが、第３２番素子の出力は遷移を起こしていないのでさらにその先をたどることはしない。第３５番素子と第３６番素子とはＦＦであるので、前述の仮定故障は検出の可能性があり、個々での判定はｎｏとなる。
【００５６】
（８）ステップ１１０での処理
ステップ１０９で、仮定故障は検出の可能性があると判定されたので、次に、故障仮定点を通過する信号遷移の発生源となるＦＦを探索する。第２８番素子の第２番入力端子は、第２６番素子の出力に繋がる。入力先表６０２から、第２６番素子の２つの入力端子の接続先は、第２４番素子と第２１番素子とであることが判る。第２１番素子は、遷移を起こしていないので、次に第２４番素子の入力のみたどる。第２４番素子の入力端子は第２０番素子に接続され、この素子はＦＦであるのでここで探索を打ち切る。
【００５７】
そして、前述により認識される遷移信号発生源のＦＦと、ステップ１０８によって認識される遷移信号到達ＦＦとの各組合せ毎に、その間に存在する信号伝搬経路上の各信号線と各素子の伝搬時間の和の最大値を、図８及び図９の値から求める。説明している実施形態の場合、故障仮定点を通過する遷移信号発生源ＦＦは第２０番素子のＦＦ２２０であり、遷移信号到達先ＦＦは、第３５番素子のＦＦ２２４と第３６番素子のＦＦ２２５とである。それぞれ伝搬時間の和をとると、ＦＦ２２４のデータ入力端子Ｄへは１．５単位時間、ＦＦ２２５へは１．３単位時間で伝搬する値となる。
【００５８】
図１３に示すように、前述の信号伝搬時間の数値は、ＦＦの出力端子Ｑから入力端子Ｄまでの伝搬時間１３１４、１３１５であり、図１１の検査系列例におけるテスト時間間隔１３０３とは異なる。ＦＦ２２０の出力端子Ｑに信号遷移が生ずるのは、クロック外部入力端子Ｐ１１に印加されたクロックパルスの立ち上がり１３０１が、素子２４５を通ってＦＦ２２０のクロック入力Ｃに到達した１３０４後、さらに、図８に示す表の第５行目に定義された遅延時間、すなわちＦＦの遅延時間１３０７だけ経過した後である。ＦＦ２２０からＦＦ２２４、２２５への各信号遷移の伝搬は、それぞれ時間間隔１３１４、１３１５に対応する。
【００５９】
テスト対象回路が正常である場合における第２の内部状態は、前述した各信号の遷移後の値が各伝搬先のＦＦに取り込まれることが前提である。従って、前述の時間間隔１３１４、１３１５の各終端は、それぞれＦＦ２２４、２２５の外部クロックパルス１３０２によるデータ入力端子Ｄからの取り込みが可能な時間範囲にあることが必要である。各ＦＦ２２４、２２５のクロック入力端子Ｃに外部クロックパルス１３０２が到達する時刻は、それぞれクロック信号分配論理の遅延時間１３１０、１３１９の後であり、データ入力端子Ｄへの遷移到着は、それよりさらに、図８に示す表の第６行目に定義されたＦＦの遅延時間１３１１、１３１８だけ遡った時点以前である、時間範囲１３１２、１３１７に入っている必要がある。
【００６０】
図２に示す回路例のような同期式順序回路は、ＦＦ間のデータの転送をなるべく一定の時間間隔で設計できるように、外部クロック入力端子から各ＦＦまでの信号伝搬時間が揃うように設計される。また同じ理由から、ＦＦも、遅延時間が揃った種類のものが使用される。ある誤差範囲を見込むことにより、遅延時間１３０６、１３１０、１３１９は互いに等しく、また、遅延時間１３０７、１３１１、１３１８は素子の種類毎に一定とみなすことができる。従って、仮定故障の検出可能性判定と検査系列生成との処理を、ＦＦの出力端子Ｑから入力端子Ｄまでの伝搬時間１３１４、１３１５で実行することにより、精度を特に落とすことなく、処理量の削減を図ることができる。
【００６１】
説明している本発明の実施形態は、図１３に示す遅延時間１３０６は０．４単位時間であり、遅延時間１３０７と１３１１との絶対値は等しく０．１単位時間となる。外部クロック入力端子Ｐ１１におけるテスト時間間隔１３０３は、ＦＦの出力端子Ｑから入力端子Ｄまでの伝搬時間の上限１３１２に０．２単位時間を加えることにより得ることができる。
【００６２】
（９）ステップ１１１、１１２での処理
次に、仮定する遅延故障の信号伝搬遅延の程度を表す第１のパラメータを用いて、仮定した故障の検出可能性を判定する値を求め、求められた判定値を元に検出か未検出かを判定する。
【００６３】
例えば、図２に示す回路例の場合、ＦＦの出力端子Ｑから入力端子Ｄまでの全ての種類の経路の伝搬時間の最大値は１．８単位時間であるので、０．２単位時間を加え、存在しうる全ての遷移信号伝搬に対応したテスト時間間隔として２．０単位時間を用いることが考えられる。この場合、ＦＦ２２４への経路の伝搬時間１．５単位時間より、テスト時間間隔の方が０．３単位時間長く、ＦＦ２２５への経路の伝搬時間１．３単位時間より、テスト時間間隔の方が０．５単位時間長い。この結果、遅延の程度が０．３単位時間より小さい故障が当該仮定部位に存在しても、図１１に示す検査系列ではこの故障を検出することができないことになる。そして、遅延の程度が０．５単位時間より大きい故障が当該仮定部位に存在する場合、ＦＦ２２４、２２５の何れを読み出しても故障を検出ことが可能である。また、遅延の程度が０．４単位時間程度の故障が当該仮定部位に存在する場合、ＦＦ２２４を読み出せば検出が可能であるが、ＦＦ２２５を読み出しても検出することができない。
【００６４】
本発明の実施形態は、テスト時間間隔精度パラメータを導入して、信号遷移が伝搬時間の長い経路を通る場合に検出と判定することによって、第１の内部状態候補の取捨選択を行い、検出できる故障の遅延の大きさを小さくしている。前述した図１３において、第１のパラメータの値が０．４単位時間１３１３、１３１６とすると、ＦＦ２２４へ伝搬する経路では故障を検出することが可能であるが、ＦＦ２２５へ伝搬する経路では検出と判定されない。この場合、第７番素子の保持する値を“０”に置き換えた別の第１の内部状態としても、ＦＦ２２４へ伝搬する経路が第２９番素子２３８で途切れてしまうので、仮定した故障を検出することができず、検査系列として採用することができない。
【００６５】
記憶素子への信号遷移の伝搬経路が確立されると、その伝搬経路上の信号線や素子の端子に対して仮定される故障は、故障による遅延が大きければ全て検出可能である。前述した第１のパラメータを導入すると、テスト時間間隔に依存して、故障が検出されない場合がある。例えば、第３０番素子２３９の出力端子を信号遷移が通ると、その遷移が記憶素子２２５に伝搬時間１．３の時間単位で伝搬しているので、その出力端子に遅延故障を仮定すると検出される可能性がある。しかし、テスト時間間隔として２．０単位時間を用い、前記第１のパラメータの値が０．４単位時間であると、伝搬経路の時間的長さが１．４単位時間以上ないと故障検出と判定されない。前述の条件の元では素子２３９の出力端子の遅延故障を検出するためには、ＦＦ２２２から２２５への伝搬時間１．５時間単位の伝搬経路を使う検査系列を追加する必要がある。
【００６６】
検査系列毎にテスト時間間隔を変える方法も考えられる。第２の内部状態にある記憶素子の内容の読み出しをＦＦ２２４、２２５に限定すると、観測結果に影響する信号遷移は、ＦＦ２２０からＦＦ２２４への１．５単位時間と、ＦＦ２２５への１．３単位時間の伝搬経路のみである。そこで、０．２単位時間を加え、テスト時間間隔として１．７単位時間を用いることが考えられる。この場合、前述した第１のパラメータの値を小さくすることができ、例えば、この第１のパラメータの値を０．１単位時間とすると、検出と判定されるＦＦの出力Ｑからデータ入力Ｄへの伝搬時間範囲は１．４から１．５単位時間までであり、第２８番素子２３７の第２番入力端子の故障は検出と判定されるが、第３０番素子２３９の出力端子の故障は未検出と判定される。
【００６７】
（10）ステップ１１３、１１４での処理
次に、終了判定の処理を行う。前述したステップ１０５とステップ１０６との処理で生成した処理中の検査系列に対して検出可能性を判定すべき未試行の仮定故障が存在する場合、ステップ１０７の処理に戻ってステップ１０７から１１３の処理の繰り返し、その繰返しが終了した後、未検出で残っている仮定故障を検出するための別の検査系列が必要か否か判定し、必要な場合、ステップ１０５の処理に戻って、ステップ１０５〜１１４の処理を繰り返す。判定すべき仮定故障が存在しない場合、処理を終了する。
【００６８】
次に、図１２に示すフローを参照して、前述したステップ１０８の処理の詳細を説明する。
【００６９】
（１）ステップ１０８の処理が開始されると、まず、この処理が最初のステップ１０８の処理か否かをチェックし、最初の処理であった場合、記憶素子以外の素子の出力値を不定値“Ｘ”に設定する（ステップ１２０１、１２０２）。
【００７０】
（２）ステップ１２０１で処理が最初の処理でなかった場合、または、ステップ１２０２の処理後、第１の内部状態の各記憶素子の値が素子表の記憶論理値と異なる場合、そのフィールドの値を入れ替える（ステップ１２０３）。
【００７１】
（３）値の入れ替えのあった信号線の接続先の素子の論理機能名を参照して、その素子がＦＦであるか、外部出力端子であるか、あるいはそれ以外かを判定する（ステップ１２０４、１２０５）。
【００７２】
（４）ステップ１２０５の判定で、信号線の接続先の素子がＦＦでもなく、外部出力端子でもなかった場合、素子の出力端子の値を、素子の論理に基づいて演算し、素子表の記載論理値と異なる場合、その内部状態のフィールドの値を入れ替える（ステップ１２０６）。
【００７３】
（５）ステップ１２０６の処理後、または、ステップ１２０５の判定で、信号線の接続先の素子がＦＦまたは外部出力端子であった場合、値の入れ替えがあった信号線の接続先の素子がまだあるか否かを判定する。信号線の接続先の素子がまだあった場合、ステップ１２０４からの処理を繰り返す（ステップ１２０７）。
【００７４】
（６）ステップ１２０７で、信号線の接続先の素子がないと判定した場合、第１の内部状態の各記憶素子の値を第２の内部状態の各記憶素子の値のフィールドに複写する。そして、各ＦＦについて、データ入力端子Ｄに伝搬している値と、保持している値Ｑとが異なる場合、第２の内部状態のフィールドの値を、データ入力端子Ｄに伝搬している値に入れ替える（ステップ１２０８、１２０９）。
【００７５】
（７）前述したステップ１２０４〜１２０６と同一の処理を第２の内部状態のフィールドについて繰り返し、値の入れ替えのあった信号線の接続先の素子があるか否かをチェックし、値の入れ替えのあった信号線の接続先の素子がある間、ステップ１２０４〜１２０６と同一の処理を第２の内部状態のフィールドについて繰り返し、値の入れ替えのあった信号線の接続先の素子がなくなったとき処理を終了する（ステップ１２１０、１２１１）。
【００７６】
次に、図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を乱数列から得る本発明の他の実施形態の方法について説明する。
【００７７】
実用的な擬似乱数列を簡便なアルゴリズムで得る方法は数多く知られている。例えば、Paul H. Bardell 著の Built-In Test for VLSI: Pseudorandom Techniques(1987)には、フィードバックレジスタを用いる方法が示されている。乱数を用いる方法は、信号遷移を特定の伝搬経路に限定することができず、最も時間のかかる経路を信号遷移が伝搬する可能性が常にある。この場合、テスト時間間隔を、信号遷移の伝搬し得る経路の最大値とし、図１に示すステップ１１１の判定値として、テスト時間間隔から時間間隔精度パラメータを減じた値を用いればよい。図２に示す回路例の場合、第２０番素子２２０から第３４番素子２２３への経路が最長で、値は１．８時間単位となる。
【００７８】
テスト生成の処理が容易な、乱数列や疑似乱数発生回路を用いてテストする場合に、本発明を適用することによって、遅延の程度の大きな故障しか検出することができない故障仮定部位を未検出と認識することができる。すなわち、この未検出故障仮定部位を含む信号伝搬経路にのみ信号遷移が伝搬するテストパタンを生成し、必要なテスト時間間隔でテストすれば、全ての故障仮定部位について、遅延の程度の小さな故障を検出することができる。計算量を多く必要とするテスト生成の回数を、対象となる故障仮定部位の数を減らすことによって削減し、かつ検出可能な遅延の程度を小さくすることができる。
【００７９】
図１４は図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャート、図１５は図１４に示すフローのステップ１４０４〜１４０６で、格納されまた順序付けられる経路情報の例を説明する図、図１６は図１４に示すフローのステップ１４０７で、Ｄアルゴリズムを用いて遷移信号伝搬の条件を求める手段を説明する図、図１７は図１６に示す検査キューブを元に得られた第１の内部状態の例を説明する図である。以下、図１５〜図１７を参照しながら図１４に示すフローについて説明する。図１４により説明する例は、遷移信号伝搬経路の探索に繰り返し処理が生じることによる処理時間をある範囲内に抑えるため、それぞれの探索処理を途中で放棄する判定と、判定の基準とを用意したものである。
【００８０】
（１）ステップ１４０１〜１４０３での処理
最初に処理をする場合か否かを判定し、最初に処理をする場合、１つの故障についての探索試行の対象とする遷移信号伝搬経路の種類数を入力する。最初に処理ではない場合、または、後述するステップ１４０９の処理で、試行中の故障について別の種類の経路を選択して探索を繰り返すか、別の故障についての経路の探索処理へ移るかの決定により、別の故障についての経路の探索となった場合、まだ未検出で、未試行の故障仮定点に故障を仮定する。ここにおいて、いま、図２の回路例における第２８番素子２３７の第２番入力、すなわち、入力先表６０２の第３５番に故障を仮定した場合を考える。
【００８１】
（２）ステップ１４０４での処理
次に、故障仮定点から入力側にたどり、記憶素子の出力との間の信号伝搬可能経路の伝搬時間を求め、その数値及び経路を特定する情報を格納する。すなわち、前述した故障仮定点から入力側に向かって、遷移信号の可能な伝搬元と伝搬経路とを探索すると、図１５（ａ）に示すように情報が得られる。伝搬経路は２つあり、経路番号１５０１としてそれぞれｓ１、ｓ２と番号を付ける。始点となる記憶素子の番号１５０２は、それぞれ第２０番素子２２０と第２１番素子２２１であり、経路の配線番号と素子番号とはそれぞれ図に示すとおりとなる。図１５において、経路の配線番号と素子番号とを示す列１５０３の配線番号は括弧で囲まれ、素子番号と区別している。配線番号は、入力先表６０２の第１列に記載した番号に相当する。経路ｓ１は、第２０番素子２２０から始まり、第２４番素子２３３と第２６番素子２３５を通り、第２８番素子２３７の第２番端子に至る。各経路の伝搬時間は、図９、図８に示した伝搬時間を参照して得ることができ、それぞれ伝搬時間の列１５０４に記載された。
【００８２】
（３）ステップ１４０５での処理
次に、故障仮定点から出力側にたどり、記憶素子の出力との間の信号伝搬可能経路の伝搬時間を求め、その数値及び経路を特定する情報を格納する。すなわち、前述した故障仮定点のある第３５番配線から、出力側に向かって、遷移信号の可能な伝搬先と伝搬経路を探索する。その結果は、図１５（ｂ）に示すようなものとなる。説明している例では、３種類の伝搬経路が考えられ、それぞれｋ１、ｋ２、ｋ３と番号が付けられる。
【００８３】
（４）ステップ１４０６での処理
次に、ステップ１４０４で格納された経路とステップ１４０５で格納された経路との組について、記憶素子の出力から故障仮定点を通り、記憶素子の入力端子に到る経路の伝搬時間について長い方から順序付ける。図１５（ａ）の経路と図１５（ｂ）との各経路の組合せについて、すなわち、記憶素子の出力端子から故障仮定点を通り、記憶素子の入力端子に至る経路について伝搬時間の値の大きな順に順序づける。結果を図１５（ｃ）に示しており、組合せは、６種類がありえることになる。
【００８４】
（５）ステップ１４０７での処理
次に、ステップ１４０６で順序付けられた伝搬経路の組の未試行であるもものうち、尤も伝搬時間の大きな方から選択し、その経路を遷移信号が伝搬する条件を満たす記憶素子への論理値の割り振りを探索する。すなわち、まだ、遷移信号の伝搬条件が成立するか探索していない回路の組のうち最も伝搬時間のかかる組について、遷移信号の伝搬条件を探索する。この探索は、システムクロック入力端子Ｐ１１（２０８）にパルスを印加し、経路始点の記憶素子の出力端子に信号遷移が発生し、この遷移が、選択された伝搬経路を伝搬し、終点の記憶素子の入力端子にまで至るような各記憶素子への論理値割り振り、すなわち、経路活性化条件を満たす第１の内部状態を求めることである。この探索は、樹下行三著「ディジタル回路の故障診断（上）」に記載されているＤアルゴリズム等を応用して行うことができる。
【００８５】
Ｄアルゴリズムは、正常時に論理的“１”、故障時に論理的“０”となる状態を表す論理値“Ｄ”及びその論理的反転値、すなわち正常時に論理的“０”、故障時に論理的“１”となる状態を表す論理値“＾Ｄ”を外部出力端子まで伝搬させる条件である検査キューブを求める。例えば、“０”から“１”への信号遷移を“Ｄ”に、“１”から“０”への信号遷移を“＾Ｄ”に置き換えて、Ｄアルゴリズムを適用することにより、信号遷移の伝搬条件を求めることができる。例として、“０”から“１”への信号遷移を伝搬させる条件を求める方法を、図１５（ｃ）に示す最長経路である第１番の組（ｓ１、ｋ１）を選択し、検査キューブを求めるものとして、その過程を図１６（ａ）に示しており、これについて説明する。
【００８６】
まず、経路上の素子である素子番号２６、２４、２８、２９、３２番の伝搬ＤキューブのＤ交差をとる。各配線番号毎にＤ交差の結果を記述し、中間結果の検査キューブを第６行目に示す。Ｄアルゴリズムは、Ｄドライブが完了した状態に相当する。次に、図１６に記載された番号の配線に接続する未だ入出力値が決定されていない素子（素子番号２３、２７）の基本キューブとＤ交差をとる。この結果、素子番号２３についてのＤ交差は成功するが、素子番号２７についてのＤ交差は、配線番号３３について矛盾することがわかる。これは、第１番の組の経路を活性化する条件を満足する論理値の割り振りが存在しないことを意味する。
【００８７】
（６）ステップ１４０８、１４０９での処理
ステップ１４０７での探索で経路を活性化する条件を満足する論理値の割り振りが存在しなかったか否かを判定する。条件を満足する論理値の割り振りが存在しなかった場合、“ｙｅｓ”の方へ処理が移り、他の故障を仮定するか、次に伝搬時間の長い経路について試行するかを決定する。
【００８８】
（７）ステップ１４０７、１４０８での再処理とステップ１４１０での処理
ステップ１４０９で、故障あたりの試行伝搬経路種類上限数に達していない場合は、次の経路、説明している例では、図１５（ｃ）の第２番の組（ｓ１、ｋ２）を選択し、ステップ１４０７の処理に戻って、再度検査キューブを求める。この場合の検査キューブを求める過程を図１６（ｂ）に示す。Ｄドライブ完了後の状態に相当する中間検査キューブと第２３番素子の基本キューブとのＤ交差をとって、図１６（ｂ）の第４行目の検査キューブを得る。配線番号第３２、３４、２８番は、それぞれ記憶素子の第２１、１９、１８番の出力端子に接続されており、各配線への要求値“０”、“１”、“１”をそのままそれぞれの記憶素子の第１の内部状態でとる値とする。この段階では矛盾は生じていないので、次に、遷移信号の始点である第２０番の記憶素子に“０”から“１”への信号遷移を発生させ、値の割り振られた他の記憶素子（第２１、１９、１８番）の値が変化しない条件を求める。第１の内部状態において第２０番記憶素子の出力は“０”であるので、第２０番記憶素子への値の割り振りは“０”である。
【００８９】
クロック入力にパルスが印加された後に“１”になるのであるから、第１の内部状態において、第２０番記憶素子のデータ入力端子には“１”が伝搬している必要がある。他の記憶素子（第２１、１９、１８番）については、第１の状態で割り振られている値と同じ値がそれぞれのデータ入力端子に伝搬していれば遷移が生じない。従って、これら記憶素子のデータ入力に接続されている配線番号１８、２０、２２、２４番に対して、それぞれ、“１”、“１”、“１”、“０”を要求して、繋がる素子の基本キューブを選択してＤ交差を繰り返し、検査キューブを求める。
【００９０】
前述の処理結果を図１６（ｃ）に示す。配線１２〜１６番にそれぞれ“１”、“１”、“１”、“０”、“０”が伝搬すればよく、これは接続先記憶素子第７〜１０番にそれぞれ“１”、“１”、“１”、“０”が書き込まれていればよいことを示す。以上に説明したステップ１４０７の処理によって、候補となる６種の遷移信号伝搬経路のうち、仮定した故障を検出できる最も伝搬時間の長い経路の１つは第２番の（ｓ１、ｋ２）の組であり、伝搬時間が１．５時間単位で、スキャンによって書き込む第１の内部状態は図１７に示す通りとなる。
【００９１】
前述した本発明の実施形態による処理によれば、候補としてあげることのできる故障検出のための遷移信号伝搬経路のうちで、ある処理時間の範囲内で見つけることのできる、最も伝搬時間の長い経路を使う検査系列を作ることができ、テスト時間間隔が広くても、全ての故障仮定部位において、遅延の程度のより小さな故障を検出する確率を高めることができる。ある故障を検出するための検査系列を前述した本発明の実施形態によって生成する場合、検出可能な遅延の程度がある値であるならば検査系列の生成を放棄して、処理時間の節約を図ることも容易であり、この場合、図１５（ｃ）に例示した表の合計伝搬時間がある値より小さい要素を無効とすればよい。
【００９２】
図１８は図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャート、図１９は図１８のステップ１８０３の処理で得られる情報の例を説明する図、図２０は図１８のステップ１８０５〜１８１９での処理での検査キューブの生成過程を説明する図、図２１は図１８に示す処理で求められた第１の内部状態の例を示す図である。
【００９３】
本発明は、テスト生成処理において、可能な最も大きい遷移信号の伝搬時間値を持つ経路を探索することによって、遅延時間の程度の小さな故障の検出能力の高い検査系列を得ることができる。この場合の処理について、図１９〜図２１を参照しながら図１８に示すフローを説明する。
【００９４】
（１）ステップ１８０１〜１８０３での処理
ステップ１０５の処理が開始されると、その処理が最初の処理か否かをチェックし、最初の処理の場合、矛盾打切り回数を入力し、全素子全入力端子について、記憶素子への遷移信号の伝搬経路の伝搬時間の最大値Ｔ１と、記憶素子からの遷移信号の伝搬経路の伝搬時間の最大値Ｔ２を求め、これらの和の値Ｔを格納する。ここでのステップ１８０２、１８０３の処理は、故障を仮定して検出経路を探索する以後のステップ１８０４の処理に先立って１度実行されればよい。
【００９５】
以下、図２に示す回路例について、図８に示す素子遅延時間と、図９に示す配線遅延時間とを使用してステップ１８０３を実行した場合の例を図１９を参照して説明する。
【００９６】
各素子の入力端子における記憶素子への遷移信号の伝搬経路の伝搬時間の最大値Ｔ１は、記憶素子のデータ入力端子からその入力端子まで配線をたどり、経路上の各配線の遅延時間と各素子の遅延時間とを合計して得ることができる。複数の経路がある場合、数値の大きい方を選択する。例えば、図２における第２９番素子２３８の入力端子の場合、第３５番記憶素子への経路の遅延時間は０．３時間単位であるが、第３４番記憶素子への経路の遅延時間は０．６時間単位であり、伝搬時間の最大値Ｔ１として、０．６時間単位を用いる。伝搬時間の最大値Ｔ１は、同一素子の入力端子については同じ値となる。
【００９７】
各素子の入力端子における記憶素子からの遷移信号の伝搬経路の伝搬時間の最大値Ｔ２は、記憶素子の出力端子からその入力端子まで配線をたどり、経路上の各配線の遅延時間と各素子の遅延時間とを合計して得ることができる。複数の経路がある場合、数値の大きい方を選択する。例えば、図２における第２９番素子２３８の第２入力端子の場合、第１９番、第２０番、第２１番の記憶素子からの経路があり、それぞれ０．６、１．２、０．９時間単位となる。従って、伝搬時間の最大値Ｔ２として、１．２時間単位を用いる。図１９に示す例ではＴ１とＴ２との合計値Ｔ１９０４も示している。各素子の入力端子は、配線番号に１対１に対応するので、各値は配線番号に対応させて格納される。
【００９８】
（２）ステップ１８０４での処理
素子の入出力端子のうち、まだ故障仮定を試行していない部位を探して選択し、故障を仮定する。一度選択された故障は、試行済みとする。説明している例では、図２に示す回路例における第２８番素子の第２番端子が選択されたものとする。この第２８番素子の第２番端子は配線番号の第３５番に対応する。ここに、“０”から“１”への遷移信号の伝搬が遅延する種類の故障を仮定する。
【００９９】
（３）ステップ１８０５での処理
以後の処理において、信号遷移を論理値“Ｄ”または“＾Ｄ”（Ｄの反転値）に対応させて、Ｄアルゴリズムを用い、故障を仮定した素子の入力端子を信号遷移が通る、可能な最も長い経路を伝搬する第１の内部状態を探索する。すなわち、まず、“０”から“１”への信号遷移を論理値“Ｄ”に対応させて、故障を仮定した素子の入力端子から出力端子へ“Ｄ”または“＾Ｄ”が伝搬する伝搬Ｄキューブを選択する。この条件を満足する未試行のキューブが複数存在する場合、“Ｄ”または“＾Ｄ”が割り振られる入力端子が前記選択肢の範囲で、伝搬時間Ｔ１とＴ２との和Ｔ１９０４が最大のキューブを選択する。
【０１００】
縮退故障に対する従来のＤアルゴリズムの場合、故障を仮定した素子の基本Ｄキューブを選択するが、ここで説明している本発明の実施形態の場合、記憶素子の出力端子を始点に記憶素子の入力端子まで、故障仮定点を通る経路に“Ｄ”または“＾Ｄ”を伝搬させるので、故障仮定素子についても伝搬Ｄキューブを選択する。前記伝搬Ｄキューブを検査キューブとして、後述するステップ１８０６以降で必要な各素子のキューブとＤ交差を繰り返し、目的の第１の状態に対応する検査キューブを求める。
【０１０１】
（４）ステップ１８０６〜１８０８での処理
ここでのステップの処理において、含意操作、すなわち、一意に選択される基本キューブと検査キューブのＤ交差を行う。矛盾が生じた場合、直前の一意ではない選択における未試行の選択肢を選択して処理を繰り返す。
【０１０２】
（５）ステップ１８０９での処理
未試行の伝搬Ｄキューブのある方について、優先順位の高い方から選択し、検査キューブとＤ交差をとる。その際、前述のステップ１８０４または１８０５で別の選択がなされるまで、一度選択されたキューブは試行済みとする。前述の選択は、Ｄフロンティアを選択した場合、“Ｄ”または“＾Ｄ”が割り振られる入力端子の伝搬時間Ｔが大きい方の伝搬Ｄキューブを選択するように行い、また、拡張Ｄフロンティアを選択した場合、その素子の出力端子の接続先の“Ｄ”または“＾Ｄ”が割り振られる入力端子の伝搬時間Ｔが大きい値である拡張Ｄフロンティアを選択し、あるいは、“Ｄ”または“＾Ｄ”が割り振られるその素子の入力端子の伝搬時間Ｔが大きい値である伝搬キューブを選択するように行われる。
【０１０３】
すなわち、“Ｄ”または“＾Ｄ”を故障仮定部位から記憶素子の入出力端子へ伝搬させる。記憶素子の入力端子まで伝搬させる操作は、縮退故障に対する従来のＤアルゴリズムのＤドライブに相当する。記憶素子の出力端子まで遡って伝搬させる操作は、従来アルゴリズムに相当する操作が存在しないが、出力端子の接続先に“Ｄ”または“＾Ｄ”が割り振られていて、入力端子にまだ割り振りがなされていない記憶素子以外の素子を従来のＤフロンティアに対応させて拡張Ｄフロンティアとみなし、入力端子に“Ｄ”または“＾Ｄ”が割り振られるように伝搬Ｄキューブを選択し、Ｄ交差をとる操作を繰り返し、遡って伝搬させることができる。ここでのＤフロンティア及び拡張Ｄフロンティアの選択、及び伝搬Ｄキューブの選択に際しては、“Ｄ”または“＾Ｄ”の伝搬する入力端子の伝搬時間Ｔ１９０４が、未試行の選択肢について最大となるようにする。
【０１０４】
（６）ステップ１８１０での処理
ステップ１８０９での処理に矛盾があるか否か、すなわち、Ｄ交差に失敗がしているか否かをチェックし、処理に矛盾があるし認識した場合、直前の一意ではない選択における未試行の選択肢を選択して処理を繰り返す。
【０１０５】
（７）ステップ１８１１〜１８１３での処理
ここでのステップの処理において、含意操作、すなわち、一意に選択される基本キューブと検査キューブのＤ交差を行う。矛盾が生じた場合、直前の一意ではない選択における未試行の選択肢を選択して処理を繰り返すが、後述するステップ１８１９で、ここでのステップ１８１２と後述のステップ１８１６とにおける矛盾の認識の連続回数が、ステップ１８０２で入力した数値を超えると、ステップ０８０９へは戻らず、ステップ１８０４か１８０５のうち最も後の選択で、未試行の選択肢を採用して処理を繰り返す。
【０１０６】
（８）ステップ１８１４での処理
Ｄフロンティアか拡張Ｄフロンティアが存在するか否かをチェックし、Ｄフロンティアと拡張Ｄフロンティアとが記憶素子に到達して消滅したと認識されるまで、ステップ１８０４から１８１３までの“Ｄ”または“＾Ｄ”の伝搬経路の探索を続ける。
【０１０７】
（９）ステップ１８１５〜１８１７での処理
ステップ１８１４で、Ｄフロンティアと拡張Ｄフロンティアとが記憶素子に到達して消滅したことを確認すると、まず、一致操作、すなわち、基本キューブと検査キューブのＤ交差をとる処理において、従来のＤアルゴリズムと同様に、出力端子の接続先配線には値が割り振られているが、値の割り振られていない入力端子のある素子の、一意に選択される基本キューブと検査キューブとのＤ交差をとる。ステップ１８１２と１８１６とにおける矛盾の認識の連続回数が、ステップ１８０２で入力した数値を超えると、ステップ１８０９へは戻らず、ステップ１８０４か１８０５のうち、最も後の選択で、未試行の選択肢を採用して処理を繰り返す。Ｄ交差のために選択できるキューブがなくなると処理は終了する。
【０１０８】
ステップ１８０５から１８１９までの処理における、“０”から“１”への遷移信号の伝搬が遅延する種類の故障を、第２８番素子の第２番端子に仮定した場合の検査キューブの生成過程を図２０（ａ）に示している。最終行の検査キューブにおいて、それぞれ配線番号２８、２９、３０、３２、３３に論理値“１”、“Ｄ”、“０”、“０”、“１”が割り振られる。配線番号２９に割り振られた論理値“Ｄ”は、接続先の第２０番記憶素子が、第１の内部状態において“０”を保持していて、かつ、データ入力端子に“１”が伝搬していることを意味する。そこで、各接続先の記憶素子の第１８、２０、２２、２１、１９番の入力端子、すなわち、配線番号１８、２２、２６、２４、２０に、それぞれ論理値“１”、“１”、“０”、“０”、“１”を要求して、図１８に示す一致操作を行うことにより必要な記憶素子の保持する値を求めることができ、図２０（ｂ）に示すような検査キューブが得られる。以上の結果から、第１の内部状態が、図２１に示ように求められる。
【０１０９】
前述した図１８による処理を行う本発明の実施形態によれば、故障仮定点を信号遷移が通る、可能な最も伝搬時間の長い経路を使った検査が可能となる。そして、この例によれば、テスト時間間隔を各故障毎に調整しないテスト方法をとっても、全ての故障について、実用上可能な範囲で最も時間精度の高いテストを行うことができる。
【０１１０】
図２２は図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャート、図２３は図２２のステップ２２１７の処理で求められた第１の内部状態の例を示す図である。以下、これについて説明する。
【０１１１】
（１）ステップ２２０１〜２２１９での処理
図２２に示すフローにおけるステップ２２０１〜ステップ２２１９の処理は、図１８に示すフローにおけるステップ１８０１〜ステップ１８１９での処理と同一である。前述で説明した図１８に示すフローにおいては、ステップ１８１７で、一致操作の対象となる基本キューブが存在しない場合、その時点での論理値の割り振りが１つの第１の内部状態を求めた結果となり、図１に示すフローの１回のステップ１０５の処理が終了する。これに対して、図２２に示すフローの場合、ステップ２２１７で、一致操作の対象となる基本キューブがないと判定された後の処理が図１８の場合と相違する。
【０１１２】
（２）ステップ２２２０〜２２２２での処理
ステップ２２１７で、一致操作の対象となる基本キューブがないと判定された後、ステップ２２２０で、検査キューブと既にＤ交差をとられているキューブが属していない素子について、まだ未検出で未試行な故障の仮定点があるか判定する。もしあれば、ステップ２２２１に進んで故障を仮定をする。次に、ステップ２２２２で、信号遷移を論理値“Ｄ”に対応させて、故障を仮定した素子の入力端子から出力端子へ、故障仮定点を経由して“Ｄ”または“＾Ｄ”が伝搬する条件が成立する伝搬Ｄキューブを選択する。前述の条件を満足する未試行のキューブが複数存在する場合、“Ｄ”または“＾Ｄ”が割り振られる入力端子が前記選択肢の範囲で、伝搬時間Ｔ１とＴ２との和１９０４が最大のキューブが選択される。ここでのステップの処理は、ステップ２２０５と類似するが、ステップ２２０５処理は、選択した伝搬Ｄキューブを新たな別の検査キューブとするのに対し、ステップ２２２１で選択した伝搬Ｄキューブは、その時点の検査キューブとＤ交差をとる。
【０１１３】
処理は、次に、ステップ２２０６へ合流し、図１８に示すフローの場合と同様の処理により、論理値“Ｄ”または“＾Ｄ”（Ｄの反転値）の伝搬と、この伝搬を可能にする記憶素子への論理値割り振りを行う。ステップ２２２０が成立した後はステップ２２１８の条件が不成立の場合でも、２２１９からステップ２２０４、ステップ２２０５へはフィードバックせず、ステップ２２２１を含む直前の選択における別の選択肢が選択される。
【０１１４】
前述した図２２に示す処理によって求めた第１の内部状態は、複数の種類の故障に対して検出能力があり、かつ、それぞれの故障について最も時間のかかる経路を選択してテストするので、テスト時間間隔を広めにとってテストを行った場合にも、遅延の程度の小さな故障を検出することができる。
【０１１５】
図２に示す回路例の第２３番素子２３２の出力端子に“０”から“１”への信号遷移が遅延する故障を仮定した場合を考えると、図２２に示すフローの処理によって、信号遷移を第１８番記憶素子２１８から第３５番記憶素子２２４へ伝搬させる第１の内部状態が求められる。これにより求められた各記憶素子に格納すべき値を図２３（ａ）に示す。この時点で、処理は、ステップ２２１６の条件が不成立となっている。第３０番素子の１番入力端子には“１”が割り当てられるが、出力端子への要求はないので一致操作の対象にはなっていない。従って、第２５番素子も、対応するキューブは１つもこの時点での検査キューブとＤ交差をとられていない。
【０１１６】
次の処理は、ステップ２２２０へ移り、さらにステップ２２２１で、第２５番素子の出力端子に“０”から“１”への信号遷移が遅延する故障を選択して仮定する。第２５番素子を経由する遷移信号の伝搬先には、第３０番素子２３９と第３１番素子２４０があるが、伝搬時間Ｔ１９０４の数値の大きい第３０番素子への伝搬を選択する。これは、第３０番素子２３９の第１番入力端子に“１”を割り振る伝搬Ｄキューブを選択することを意味するが、前述した通り、この時点での検査キューブの割り当てとは矛盾しないので、処理は続行される。次に処理がステップ２２２０に移った時点で、仮定可能な故障が存在しないと処理は終了する。この処理の終了時に得られた第１の内部状態を図２３（ｂ）に示している。
【０１１７】
図１に示すフローにおけるステップ１０３で入力する正常なテスト対象回路の各部分が持つ信号遅延時間の情報の記述形式は、より簡単化して、保持するために必要な記憶装置の容量を小さくすることができる。
【０１１８】
図２４は図２に示す回路例に対する信号遅延時間の情報の記述例を説明する図、図２５は経路の選択時に各入力端子毎に参照される伝搬時間の値を図２４の情報から作成した例を示す図であり、以下、これらについて説明する。
【０１１９】
図２４における各行の番号は、図６における入力先表６０２の行番号に一致する。入力先表６０２の各行は、各素子の各入力端子に対応する。図２４に示す信号伝搬時間は、図８に例示した各入力端子から、属する素子の出力端子まで信号遷移が伝わるのにかかる時間と、図９に例示した各入力端子の配船先に接続された出力端子から当該する入力端子まで信号遷移が伝わるのにかかる時間との和となっている。記憶素子の出力端子から記憶素子の入力端子までの選択された経路の信号遷移伝搬時間の計算は、経路上の該当値を合計することにより得ることができる。
【０１２０】
図２５に示す経路の選択時に各入力端子毎に参照される伝搬時間の値を図２４の情報から作成した例において、配線番号２５０１、記憶素子への伝搬時間Ｔ１（２５０２）、記憶素子からの伝搬時間Ｔ２（２５０３）、記憶素子間伝搬時間合計Ｔ２５０４は、それぞれ、図１９に示す配線番号１９０１、記憶素子への伝搬時間Ｔ１（１９０２）、記憶素子からの伝搬時間Ｔ２（１９０３）、記憶素子間伝搬時間合計Ｔ１９０４に対応し、図１９の場合と同様に参照される。例えば、伝搬時間Ｔ１（２５０２）は、その配線番号の配線に接続された出力端子からその配線番号の配線に接続された入力端子の属する素子の出力端子を通って、何れかの記憶素子の入力端子へ至る経路について、入力端子を通る度に、該当する図２４の行の数値を加算していくことにより得ることができる。
【０１２１】
図２６は本発明の他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートであり、以下、これについて説明する。
【０１２２】
図２６に示すフローにおいて、ステップ２６０１からステップ２６０４の処理は、順に、図１に示すフローにおけるステップ１０１からステップ１０４の処理と同一であり、また、ステップ２６０６からステップ２６１４の処理は、順に、図１に示すステップ１０６からステップ１１４の処理と同一である。図１に示すステップ１０５で保持した第１の内部状態を決める機能は、図２６に示すフローにおけるステップ２６０５、ステップ２６１５、ステップ２６１６、ステップ２６１７の４つが保持する。
【０１２３】
図２６に示すフローにおいて、ステップ２６０４の処理が終了した後、ステップ２６０５の処理で乱数列を用いて第１の内部状態を求める。そして、ステップ２６０６からステップ２６１３の処理で、その時点での未検出故障の検出可能性を判定し、さらに未検出と判定された故障があると、ステップ２６１４の処理で、ステップ２６１５の処理に移行する。ステップ１５の処理で生成された最後の第１の内部状態において、検出と判定される故障の数が少なく、故障検出効率が充分でないと、ステップ２６１５からステップ２６１６へ処理が移る。故障検出効率は、例えば、全体の故障の仮定数に対する最後の第１の内部状態における検出故障数等で判定ことができる。
【０１２４】
ステップ２６１６の処理では、図１８に示すフローのステップ１８０１からステップ１８１９に従って第１の内部状態を求めるが、ステップ２６１６の処理では、必ずしも第１の内部状態を得られるとは限らない。第１の内部状態が得られない場合、テスト生成失敗としてステップ２６１７の処理から終了する。
【０１２５】
前述したような本発明の実施形態により検査系列を求めると、処理時間がかかりすぎる場合、本発明は、乱数列を用いることにより、遅延の程度の小さな故障の検出能力を損ねることなく、第１の内部状態を決定する処理の処理時間を節約することができる。
【０１２６】
同一の回路に対する、同一の検査系列であっても、テスト時間間隔と、仮定する遅延故障の信号伝搬遅延の程度を表す第１のパラメータ値との差によって、検出と判定される故障の数が異なる。このような場合、複数の第１のパラメータ値を用いて、各値における検出可能な故障の数の全仮定故障数に対する比を表示すれば、遅延故障の遅延の程度の分布に対する検査系列の検出能力を評価することができる。
【０１２７】
図２７は本発明のさらに他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートであり、以下、これについて説明する。
【０１２８】
図２７に示すフローにおいて、ステップ２７０１からステップ２７１０の処理は、図１に示すフローのステップ１０１からステップ１１０の処理と同一であり、また、ステップ２７１３とステップ２７１４の処理は、図１に示すフローのステップ１１３からステップ１１４の処理と同一である。そして、図２７におけるステップ２７１１の処理では、第１のパラメータを複数用い、各第１のパラメータ毎に検出判定値を求める。また、ステップ２７１２の処理では、各検出判定値毎に検出可能性を判定する。検出と判定された故障を、それ以降の処理において仮定しない制御をする場合、ステップ２７０７での処理において、少なくとも１つの判定値に対して未検出と判定されている故障が仮定の対象となる。
【０１２９】
前述までに説明した本発明の実施形態の説明から判るように、本発明の本質は、遅延故障のモデルに、故障による遅延時間増加の値を複合させ、故障の顕現に条件を設けることにある。そして、検査系列を求める場合、故障仮定点を通り、検出に関与する遷移信号伝搬経路の探索において、なるべく伝搬時間の長い経路を選択することによって、遅延時間の増加量が小さい故障をも検出することができるようにすることができる。
【０１３０】
また、検査系列によって検出可能な故障を判別する場合、故障仮定点を通る信号遷移の発生点から観測点までの伝搬経路の、故障を仮定しないときの伝搬時間とテスト時間間隔との差が前記故障による遅延時間増加の値と比べて充分に少ないときにのみ検出と判定し、遅延時間の増加量が小さい故障の検出ができる回路部分とできない回路部分との区別、検出能力の評価を行うことができる。
【０１３１】
また、検査系列を求める場合、または、検出可能な故障を判別する場合、有効となる遷移信号伝搬経路の集合は、故障による遅延時間増加の値と回路の遅延時間と、テスト時間間隔などの情報から、検査系列の生成とは独立に求めることができる。
【０１３２】
本発明は、予め検出に有効な伝搬経路の集合の情報を保持することによって、検査系列を求める場合または検出可能な故障を判別する場合の処理を簡単化することができる。
【０１３３】
図２８は本発明のさらに他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートであり、以下、これについて説明する。この図２８に示すフローは、前述した予め検出に有効な伝搬経路の集合の情報を保持することによって検査系列を求める場合または検出可能な故障を判別する場合の処理を簡単化するものである。
【０１３４】
図２８に示すフローにおいて、ステップ２８０１とステップ２８０２との処理は、図１に示すフローにおけるステップ１０１とステップ１０２との処理に対応する。ステップ２８０３の処理で、故障の検出可能性を判別する場合、有効となる遷移信号伝搬経路の集合を入力する。各経路毎に、遷移信号の伝搬と観測とが成立すれば、検出と判定する故障を特定する情報も入力する。ステップ２８０４、ステップ２８０５、ステップ２８０６の処理は、それぞれ、図１に示すフローのにおけるステップ１０５、ステップ１０６、ステップ１０８の処理に対応する。そして、図１に示すフローにおけるステップ１０３、ステップ１０４、ステップ１０７に相当する処理は不要である。
【０１３５】
図２８におけるステップ２８０７の処理では、ステップ２８０６で記録した遷移信号伝搬経路が、ステップ２８０３で入力した有効伝搬経路の集合に含まれるか否かを判別する。伝搬経路は、遷移信号発生点と観測点との各組合せについて、複数定義される。ステップ２８０８からステップ２８０９の処理では、故障の検出可能性を判定する。ステップ２８０７の記録において、ある記憶素子の出力端子から、ある記憶素子の入力端子まで遷移信号が伝搬している場合であって、その伝搬経路上の素子群が、ステップ２８０３で入力した伝搬経路集合の中の、同じ遷移発生点となる記憶素子と、観測点となる記憶素子とを持つ伝搬経路部分の経路上の素子群と同じである場合、その伝搬経路部分の故障を検出と判定する。故障は、ステップ２８０３の入力情報で結びつけられた伝搬経路に代表させて処理されるので、図１に示すフローにおけるステップ１１３に相当するステップ２８１０の処理では、未試行の、別の伝搬経路部分があるか否かを判定する。ステップ２８１１の処理は、図１に示すフローにおけるステップ１１４の処理に相当する。
【０１３６】
従来技術による検査系列生成手段は、遅延故障の遅延の程度にかかわらず検出可能と判定するので、遅延の程度が小さい故障を検出ができる検査系列となるように、検査系列を追加していくことができなかった。このため、従来、故障仮定部位の全てについて検出可能と判定される検査系列を生成し、それを用いて集積回路をテストし、良品と判定されたものだけから装置を組み立てても、遅延の程度の小さな故障が集積回路のテストで検出されずに見逃され、装置の性能をそこねる場合があった。
【０１３７】
前述した本発明の実施形態によれば、いずれの実施形態によっても、全ての故障仮定部位について、最も性能に影響する遷移信号伝搬経路を通して検出する検査系列を生成するので、遅延の程度は小さいが、装置の性能に影響する故障を見逃さないようにすることができる。
【０１３８】
また、集積回路を動作速度の設計限界近くで使用する場合、非常に小さな遅延の程度でも問題になり、そのような故障が集積回路の単位面積当たりに出現する期待値である故障密度は相対的に大きくなる。密度が高い種類の故障の見逃し数を小さく抑えるためには、その故障のモデルについての検出率が高い検査系列が不可欠である。しかし、従来技術は、最も伝搬時間の長い経路をいくつか選択して検査系列を生成するか、論理の設計者が性能に影響する部分をテストすることができる検査系列を作成するなど、遅延の程度が小さな故障に対する検出率を保証する手段が存在しなかった。
【０１３９】
前述した本発明の実施形態によれば、いずれの実施形態によっても、遅延の程度が小さな故障が存在すると検出できない故障仮定部位を同定し、その部位の遅延の程度が小さな仮定故障に対する検査系列を生成することができ、高速性が重要である装置の性能を保証することができる。
【０１４０】
本発明は、前述までに説明してきた詳細な説明によって、図面と共に記載されたが、当業者にとって、形態的あるいは詳細についての種々の他の変化が特許請求の範囲に定められた精神及び範囲から逸脱することなく実施することができる。以下に、前述の変化させられる事項を開示する。
【０１４１】
（１）テスト対象論理回路の論理素子及び素子間の配線の接続情報と、各素子及び各配線の信号伝搬時間の情報とを入力して、テスト対象論理回路に含まれる第１の記憶素子群を第１の内部状態に初期化し、次にテスト装置から、テスト時間間隔の複数の遷移信号を印加し、前記第１の記憶素子群を第２の内部状態に変化させた後、第１の記憶素子群の保持する値をテスト装置が読み出し、期待値と比較する検査系列を生成し、前記検査系列を用いて前記回路の故障を検出する論理回路の遅延故障検出方法において、
テスト対象論理回路を構成する論理素子及び素子間の配線の設計情報を用いて、第１の記憶素子群を第１の状態に初期化し、テスト時間間隔の複数の遷移信号を印加し、第２の状態における前記記憶素子の保持する値を読み出し、期待値と比較する検査系列を生成する第１の手段と、テスト対象論理回路内に遅延故障を仮定し、前記検査系列に対するテスト対象論理回路の論理動作を模擬し、第１の記憶素子群の内の、第１の内部状態から第２の内部状態への移行で出力端子に信号遷移を生起させ、該信号遷移をテスト対象回路内に伝搬させ、前記伝搬経路に前記故障仮定部位を含むような、第２の記憶素子またはテスト時の外部入力端子の部分群から、前記故障仮定部位における前記信号遷移がテスト対象回路内を伝搬し、前記伝搬が入力端子へ到達するような、第３の記憶素子またはテスト時の外部出力端子の部分群への経路があるか判定し、前記経路が存在する場合の、第２の記憶素子部分群の出力端子または前記外部入力端子部分群から、第３の記憶素子部分群の入力端子または前記外部出力端子部分群までの、遷移信号の伝搬経路の伝搬時間に相当する値を計算し、前記信号伝搬時間の最大値が、前記テスト時間間隔に相当する閾値と、前記閾値から仮定する遅延故障の信号伝搬遅延の程度を表す第１のパラメータ値を減じた値との間にある場合に検出可能と判定する第２の手段か、あるいは、前記第１の部分群の内、第１の内部状態と第２の内部状態との間で出力端子に信号遷移を起こす記憶素子または前記外部入力端子の部分群から、前記信号遷移が伝搬し、入力端子へ到達するような、記憶素子または前記外部出力端子の部分群へ至るテスト対象経路の遷移信号伝搬時間の最大値に相当する閾値と、前記閾値から前記第１のパラメータ値を減じた値との間にある場合に検出可能と判定する第３の手段とを備える故障シミュレーションを行って検査系列を生成し、生成された検査系列を用いて論理回路の故障を検出することを特徴とする論理回路の遅延故障検出方法。
【０１４２】
（２）第１項記載の論理回路の遅延故障検出方法において、第１の手段が、第１の内部状態すなわちテストに関連する各記憶素子またはテスト時の外部入力端子の保持する論理値を乱数列の各項に対応させて求め、第３の手段が、テスト対象となる全ての記憶素子と外部入出力端子の相互の間の信号伝搬時間の最大値に相当する閾値と、前記閾値から第１のパラメータ値を減じた値との間にある場合に検出可能と判定することを特徴とする論理回路の遅延故障検出方法。
【０１４３】
（３）第１項記載の論理回路の遅延故障検出方法において、第１の手段が、第１の内部状態を求める計算量の上限を規定する第２のパラメータを入力する第４の手段と、遅延故障をテスト対象回路内に仮定する第５の手段と、前記故障仮定部位の信号遷移に影響を及ぼす回路接続関係にある第４の記憶素子の部分群に含まれる第１の記憶素子またはテスト時の外部入力端子から、前記故障部位の信号遷移が伝搬し得る回路接続関係にある第５の記憶素子部分群に含まれる第２の記憶素子またはテスト時の外部出力端子までの経路の信号伝搬時間を算出する第６の手段と、第４及び第５の部分群からの、第１の記憶素子または前記外部入力端子と第２の記憶素子または前記外部出力端子の選択に複数の組合せがある場合に、前記伝搬時間のより長い組を選択し、第１の内部状態における第１の遷移信号の印加によって第１の記憶素子または前記外部入力端子の保持する値が論理的に反転する信号遷移を生じさせ、第２の状態における前記故障仮定部位の値が第１の状態における同部位の値の論理的反転値になり、第２の状態において、前記故障仮定部位の信号遷移が前記第２の記憶素子または前記外部出力端子まで伝搬する条件が成立する、第１の記憶素子部分群または前記外部入力端子への論理値の割り振りを探索し、前記割り振りに論理的矛盾が存在する場合、または、探索にかかる計算量が前記第２のパラメータの値を超えた場合、前記時間の次に長い組を選択し、前記探索を繰り返す第７の手段とを備え、これらを用いて、第１の内部状態を求めることを特徴とする論理回路の遅延故障検出方法。
【０１４４】
（４）第１項記載の論理回路の遅延故障検出方法において、第１の手段が、第１の内部状態を求める計算量の上限を規定する第２のパラメータを入力する第４の手段と、遅延故障をテスト対象回路内に仮定する第５の手段と、記憶素子及びテスト時の外部入出力端子の間の遷移信号伝搬経路に含まれる全ての素子の入力端子に対応させて、前記各入力端子に生じる信号遷移が伝搬可能な、記憶素子または前記外部出力端子へ伝搬する複数の経路の各伝搬時間に相当する数値のうちの最大値と、前記各入力端子へ信号遷移を伝搬させることが可能な接続関係にある記憶素子の出力端子または前記外部入力端子から、前記各入力端子への複数の経路の各伝搬時間に相当する数値のうちの最大値とに対応する第１の数値を保持する第８の手段と、前記故障仮定部位に信号遷移が生じ、前記信号遷移がテスト対象回路内に伝搬し、記憶素子の入力端子または前記外部出力端子へ到達する、遷移信号伝搬経路が活性化される存在可能な第１の内部状態を探索する処理において、任意の素子出力端子における前記遷移が複数の素子入力端子に伝搬する場合に、第８の手段が保持する、前記入力端子の第１の数値がより大きな値を持つ第１の入力端子を伝搬経路のより優先度の高い候補として、出力端子に前記遷移を生ずる素子が複数の入力端子を持つ場合、第８の手段が保持する、前記入力端子の第１の数値がより大きな値を持つ入力端子を伝搬経路のより優先度の高い候補として、前記伝搬を可能にする値を伝搬経路上の素子の入力端子へ割り振り、前記伝搬経路の探索における論理値割り振りがテスト対象論理回路の動作と矛盾して実現不可能と判定されるか、前記割り振りの探索処理の計算量が前記第２のパラメータと比較して大きいと判定されたとき、前記伝搬経路候補の次に優先度の高い経路から選択することを繰り返す第９の手段とを備え、第１の内部状態を求めることを特徴とする論理回路の遅延故障検出方法。
【０１４５】
（５）第３項または第４項記載の論理回路の遅延故障検出方法において、第５、第６または第８、第７または第９の手段とを繰り返して複数の相異なる第１の内部状態の候補を求め、各１の内部状態候補の間において、テスト対象回路内の同一の記憶素子またはテスト時の外部入端子に対する、互いに論理値の“０”と“１”とが矛盾する割り振りが存在しない場合、同一の記憶素子または前記外部入力端子に対して各第１の内部状態候補の間で論理的'1'が割り振られていて、論理的“０”が割り振られていない場合、前記記憶素子または前記外部入力端子に対して論理的“１”を割り振り、同一の記憶素子または前記外部入力端子に対して、論理的“０”が割り振られていて、論理的“１”が割り振られていない場合、前記記憶素子または前記外部入力端子に対して論理的“０”を割り振ることにより、第１の内部状態を求める手段を備えることを特徴とする論理回路の遅延故障検出方法。
【０１４６】
（６）第１項記載の論理回路の遅延故障検出方法において、各素子及び各配線の信号伝搬時間の情報を、素子の出力端子から素子の入力端子に至る信号線の信号遷移伝搬時間の値と、前記入力端子から、前記入力端子の属する素子の出力端子まで信号遷移が伝搬する時間の値との和の値として保持し、前記入力端子を信号遷移が伝搬する経路として選択した場合の該当部分の伝搬時間の値として参照する手段を備えることを特徴とする論理回路の遅延故障検出方法。
【０１４７】
（７）第３項または第４項記載の論理回路の遅延故障検出方法において、第１の内部状態、すなわちテストに関連する各記憶素子またはテスト時の外部入力端子の保持する論理値を乱数列の各項に対応させて求め、第１の検査系列を生成するステップを備え、前記第１の検査系列について、第３の手段が、テスト対象となる全ての記憶素子及びテスト時の外部入出力端子の相互の間の信号伝搬時間の最大値に相当する閾値を用い、第２または第３の手段が、仮定故障の検出可能性を判定し、前記判定において検出不可能と判定された仮定故障に限って、第１の手段が第２の検査系列を生成し、第１と第２との検査系列をあわせてテスト対象論理回路をテストすることを特徴とする論理回路の遅延故障検出方法。
【０１４８】
（８）第１項ないし第７項のうち１項記載の論理回路の遅延故障検出方法に使用する故障シミュレーションまたは検査系列生成方法において、仮定する遅延故障の遅延時間の程度に相当する第１のパラメータの数値を１つまたは複数入力して、仮定故障の検出可能性を前記各数値毎に判定し、全ての仮定故障数に対する前記各第１のパラメータ毎の検出可能と判定される故障の数の比を求め、表示する手段を備えることを特徴とする故障シミュレーションまたは検査系列生成方法。
【０１４９】
（９）第８項記載の故障シミュレーションまたは検査系列生成方法において、仮定する遅延故障の遅延時間の程度に相当する第１のパラメータの数値を１つまたは複数入力して、テスト対象論理回路内に遅延故障を仮定し、検査系列に対するテスト対象論理回路の論理動作を模擬し、故障仮定部位を通る遷移信号が、故障による遅延を仮定しない場合に、観測時刻よりも前に観測点に到達し、前記部位に前記各第１のパラメータの数値に相当する故障による遅延を仮定する場合には観測時刻よりも後に観測点に到達する条件を満たす時、前記仮定故障が検出可能と判定し、全ての仮定故障数に対する前記各第１のパラメータ毎の検出可能と判定される故障の数の比を求めて表示する手段を備えることを特徴とする故障シミュレーションまたは検査系列生成方法。
【０１５０】
【発明の効果】
以上説明したように本発明によれば、乱数列を用いるか、または、存在する全ての経路の数と比べて充分小さな数の経路を活性化する検査系列を用い、各論理素子のわずかな遅延を検出することができる論理回路の遅延故障検出方法を提供することができ、さらに、わずかな遅延が検出できない故障仮定点を同定し、その故障に対して検査系列を生成する手段をも提供すると共に、テストの品質の管理と、必要な性能の向上を可能にする論理回路の遅延故障検出方法を提供することができる。
【図面の簡単な説明】
【図１】本発明一実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートである。
【図２】本発明の実施形態の説明に用いるテスト対象回路例の論理的構成を示す図である。
【図３】図２に示す記憶素子であるフリップフロップ（ＦＦ）の動作を定義する等価回路を示す図である。
【図４】図３に示す等価回路における基本素子の動作を定義する真理値表を示す図である。
【図５】図２に示すアドレスデコーダの動作を定義する真理値表を示す図である。
【図６】図２に示すの回路例を記憶装置に格納する場合の情報の構造を説明する図である。
【図７】図６における記憶素子の素子番号とスキャンアドレスとの対応を表として示す図である。
【図８】図６に示す素子機能名毎の各入力端子から出力端子への遷移信号伝搬時間に相当する数値の例を示す図である。
【図９】図２に示す回路例の配線毎の遷移信号伝搬時間に相当する数値の例を示す図である。
【図１０】図２に示す回路例を対象に検査系列生成を実施した場合に得られる第１の内部状態の例を説明する図である。
【図１１】図１０に示す第１の内部状態から導かれる検査系列のタイムチャートを説明する図である。
【図１２】図１に示すフローにおけるステップ１０８での処理の詳細を説明するフローチャートである。
【図１３】テスト時間間隔と遷移信号発生ＦＦのデータ出力端子から遷移信号到達ＦＦのデータ入力端子までの信号伝搬時間との関係を説明する図である。
【図１４】図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャートである。
【図１５】図１４に示すフローのステップ１４０４〜１４０６で、格納されまた順序付けられる経路情報の例を説明する図である。
【図１６】図１４に示すフローのステップ１４０７で、Ｄアルゴリズムを用いて遷移信号伝搬の条件を求める手段を説明する図である。
【図１７】図１６に示す検査キューブを元に得られた第１の内部状態の例を説明する図である。
【図１８】図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャートである。
【図１９】図１８のステップ１８０３の処理で得られる情報の例を説明する図である。
【図２０】図１８のステップ１８０５〜１８１９での処理での検査キューブの生成過程を説明する図である。
【図２１】図１８に示す処理で求められた第１の内部状態の例を示す図である。
【図２２】図１に示すフローにおけるステップ１０５の記憶素子へ割り振る論理値を得る本発明のさらに他の実施形態の処理動作を説明するフローチャートである。
【図２３】図２２のステップ２２１７の処理で求められた第１の内部状態の例を示す図である。
【図２４】図２に示す回路例に対する信号遅延時間の情報の記述例を説明する図である。
【図２５】経路の選択時に各入力端子毎に参照される伝搬時間の値を図２４の情報から作成した例を示す図である。
【図２６】本発明の他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートである。
【図２７】本発明のさらに他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートである。
【図２８】本発明のさらに他の実施形態を用いた検査系列生成の処理動作の概略を説明するフローチャートである。
【符号の説明】
２０１〜２１２  入力端子
２１３〜２２６  フリップフロップ（ＦＦ）
２２７〜２４５  ゲート素子
２４６  デコーダ
２４７  ＯＲゲート
２４８〜２５２  出力端子
３０２  ＦＦ素子
【図１】
0004053695.tif 000002
【図２】
0004053695.tif 000003
【図３】
0004053695.tif 000004
【図４】
0004053695.tif 000005
【図５】
0004053695.tif 000006
【図６】
0004053695.tif 000007
【図７】
0004053695.tif 000008
【図８】
0004053695.tif 000009
【図９】
0004053695.tif 000010
【図１０】
0004053695.tif 000011
【図１１】
0004053695.tif 000012
【図１２】
0004053695.tif 000013
【図１３】
0004053695.tif 000014
【図１４】
0004053695.tif 000015
【図１５】
0004053695.tif 000016
【図１６】
0004053695.tif 000017
【図１７】
0004053695.tif 000018
【図１８】
0004053695.tif 000019
【図１９】
0004053695.tif 000020
【図２０】
0004053695.tif 000021
【図２１】
0004053695.tif 000022
【図２２】
0004053695.tif 000023
【図２３】
0004053695.tif 000024
【図２４】
0004053695.tif 000025
【図２５】
0004053695.tif 000026
【図２６】
0004053695.tif 000027
【図２７】
0004053695.tif 000028
【図２８】
0004053695.tif 000029