JPH0213868A - コスト関数統制サーチ法 - Google Patents

コスト関数統制サーチ法

Info

Publication number
JPH0213868A
JPH0213868A JP1093266A JP9326689A JPH0213868A JP H0213868 A JPH0213868 A JP H0213868A JP 1093266 A JP1093266 A JP 1093266A JP 9326689 A JP9326689 A JP 9326689A JP H0213868 A JPH0213868 A JP H0213868A
Authority
JP
Japan
Prior art keywords
circuit
cost
block
vector
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1093266A
Other languages
English (en)
Inventor
Prathima Agrawal
プラシマ アグラワル
Vishwani D Agrawal
ヴィシュワニ デオ アグラワル
Kwang T Cheng
ワング ティン チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH0213868A publication Critical patent/JPH0213868A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 l匪匹五生旦1 本発明は製造される回路のテスト、より詳細には、大規
模集積回路のテストに関する。本発明はまたVLS I
チップのような複合デジタル回路及びSS1.MSI及
びVLS Iチップを含む回路基板をテストするための
入力信号セットを生成するための方法に関する。
l肚旦反生煎11 大規模集積回路の出現はデジタル回路テストを非常に複
雑なものにすることとなった。この複雑さは、主に、集
積回路の内側の接近不能なポイントに対する外側の接近
可能なポイント(プライマリ−人力及び出力)の比の低
下に起因する。プライマリ−出力の所で観察される応答
が回路が故障しているときと正常なときと明確に異なる
ような回路内の全ての内側ポイントをチエツクするため
のテストベクトルと呼ばれる注意深(選択された人力刺
激のシーケンスが必要である。(それに対する複数のア
ルゴリズム及び発見的方法(heuristics)が
知られている)純粋な組合せ回路に対するテストの生成
は回路が非常に複雑なことから大きな桃戦を要求するが
、順序論理回路に対するテストの生成は、この回路に固
有のメモリのために追加の複雑さを与える。
集積回路のテストと関係がある先行技術は3つの大きな
カテゴリーに分類することができる6つまり、純粋な組
合せ回路の、あるいは特にテスト性を上げるために設計
された同期順序論理回路のテスト:内部に自己テストを
遂行するためのハードウェアを含む回路のテスト:及び
外部から生成され印加されるテストパターンを持つ一般
デジタル(順序)論理回路のテストに分類できる。
組合せ回路、あるいはテスト性のために設計された順序
論理回路(例えば、回路を組合せ部分とメモリに分離す
るための回路を含む論理回路)に対するテスト生成技術
の分野においては、テストベクトルを生成するために使
用できる複数の方法が存在する。これらには、周知のD
アルゴリズム、その他が含まれる。
より最近開発されたアルゴリズムの1つが、例えば、1
980年5月27日イ寸けでボニル(Goel)に公布
された合衆国特許第4,204,633号において説明
されている。PODEMとして知られているこのアルゴ
リズムは任意の故障に対するテストを発見するためのn
−次元空間のプライマリ−人力(セットの全ての可能な
入力ベクトル、ある−いは回路のn個の入力ポートの所
の信号セット)をサーチするための含蓄的列挙スキーム
1in+plicit enumeration sc
heme)を含む。これはクラスD−アルゴリズムとの
幾らかの類似性を持つが、サーチプロセスを切り捨てる
ための簡易発見的方法(fast heuristic
s)が使用される点で異なる。
PODME発見的方法(PODEM heuristi
cs)の最も単純な説明は以下の通りである。まず最初
にこれは任意のノードの所で故障(fault)を起動
する。この回路が次にこのノードに影響を与えるプライ
マリ−人力を同定するために後方に追跡される。このプ
ロセスにおいて、制御が最も簡単な1つあるいは複数の
経路が選択される。これに対する最も単純な発見的方法
は、任意のプライマリ−人力から問題のノードまでの最
小距離の測定値である。これはこの判定トリー(dec
ision tree)サーチプロセスが問題のこの経
路に沿って最もはや(終端し、別の経路を試ることかで
きることを保証する。任意のステップにおいて、現在の
指定のプライマリ−人力が衝突を生成することが発見さ
れた場合、つまり、目的が達成できない場合は、この衝
突が解消されるまでプライマリ−人力に対する別の選択
が試られる。これは、結果として。
起動された故障に対するテストとして1つの同定された
入力信号セットを与えることも、あるいはこの故障がテ
スト不能であることを示すこともある。
PODEMアルゴリズムは多くの研究者によって研究さ
れており、例えば、フジワラ(Fujiwaral及び
シモノ(Shimono)によって、IEEEトランザ
クションコンピュータ(IEEE Trans、 Co
mput、l、C−32、ページ1137−1144 
(1983年12月)に掲載の論文[テスト生成アルゴ
リズムの加速に関して(On the Acceler
ation of Te5tGenerat、ion 
Algorithms) ]において説明のようにかな
り改良もされている。それでもテスト生成プロセスは面
倒であり、セットの可能な故障を完全にテストできるも
のではない。
組合せテスト生成アルゴリズム(combinatio
naltest genertion algorit
hmsl を向上させるためのシミュレータ(simu
lator)が提案されている。
例えば、タカマツ(Takamatsul及びキノシタ
(Kinoshitalらは、Fault−Toler
ant Co1Tlutin  S m 。
FTC5の論 ダイジェスト、ペンシルバニア州ビッツ
バーク、ページ22−27 (1987年6月)におい
て発表の論文”C0NT:同時テスト生成アルゴリズム
fA Concurrent Te5tGenerat
ion A1gorijhml]においてシミュレータ
の使用を提唱している。彼らのアプローチによると、P
ODEMアルゴリズムがターゲット故障(target
 faun)に対するテストを生成するために使用され
る。同時に、他の全ての故障がシミュレートされ、別の
故障が検出できそうであることが発見されると、ターゲ
ットがこの故障にスイッチされる。このアプローチの効
果として、非常に効率的に初期故障範囲が達成できる。
ただし、ターゲットのスイッチのために、幾つかの故障
がまったくテストできな(なる。この問題を解消するた
めに、タカマツ及びキノシタはアルゴリズムの終端の所
で”正規”PODEMにスイッチすることを示唆する。
内蔵自己テスト(Built−In 5elf−Tes
t、 B I ST)アプローチにおいては、回路は自
己テストモードな持つように設計される。この自己テス
トモードにおいては、特にこの目的に設計された回路の
部分がテストベクトルを生成し、この応答を分析する。
この目的は全ての可能なベクトルを回路の組合せ部分(
combinational portion)に加え
ることにある。非常に大きな回路においては、この組合
せ部分が独立したセクションに分離されるか1回路全体
がランダムベクトルによってテストされる。
走査設計(scan designs) (つまり、順
序回路のメモリ部分が分離される設計)及び自己テスト
設計[5elf−test designlは多くの商
、用システムにおいて問題なく使用されているが、テス
ト性のために加えられた追加の論理は性能及びコストの
面でペナルティ−をかける、これらペナルティ−は常に
許容できるものではない。今日製造されている大多数の
VLSIチップは、このため、走査ハードウェアも内蔵
自己テスト機能も含まない。これらチップ、並びにこれ
らチップにて製造された多くのシステムに対するテスト
は、上に説明のアルゴリズムによっては生成できない。
順序論理回路に対する殆どのテストジェネレータ(te
st generator )は以下のように要約で、
5る共通原理に基づいて開発されている。この回路に対
する組合せモデルは回路の前回のコピー(previo
us−time copieslからフィードバック信
号を再生することによって構築される。こうして、回路
のタイミング挙動は、組合せレベルによって近似される
。テストを生成するために、故障を起動し、組合せ回路
のこれら複数のコピーを通じての経路を敏感にさせるボ
ロジカル アナリシスアルゴリズムが使用される。この
技法を使用するテストジェネレータ(test gen
erator)がマレラflJallela) らによ
って1.1、テスト4・の・(Proc、 Inc、 
Te5t Conf、)がペンシルバニア州フィラデル
フィア、ページ57−61 (1985年、11月)に
おいて発表された論文[順序論理回路テスト生成システ
ム(A 5equential C1rcuitTes
t Generation System) 、及びマ
ーレット(Marlett)によって、Prac、 D
es、 Auto、 Conf。
ネバダ州うスベカス、ベージ250−256(1986
年6月)に発表の論文[順序論理回路のための有効なテ
スト生成システム (An Effective Te5t Genera
tion System forSequential
 C1rcuitsllにおいて報告されている。
上のアプローチには2つの基本的な問題が存在する。第
1に、順序論理回路の組合せ回路への拡大は結果として
複雑さ、及びメモリ用件を増す。
回路の個々のコピーは1つの時間フレーム(あるいはベ
クトル)を表わすため、避けられないメモリ制約のため
(つまり、扱うことができる時間フレームの数が制約を
もつため)、テストされる回路の複雑さは大きく制約さ
れる。この制約は、多′くのテスト可能な故障をテスト
ジェネレータに対して、”境界外(out−of−bo
undsl +にする。第2の問題は、テスト生成アル
ゴリズムがゲートのタイミング挙動を考慮できないこと
に起因する。従って、テストが回路内のレース(rac
esl及び障ヲ(hazardslの原因となる。これ
ら2つの問題のため、上の原理に基づいて開発された殆
どのテストジェネレータは最高1000個までのゲート
を持つ回路に対してのみ満足ができる性能を示す。
殆どの今日のテストジェネレータは組合せモデル及び時
間フレーム法を使用するが、順序論理回路に対するシミ
ュレーションに基づ(方法も報告されている。スネゼン
(Snethenlによって、1976年6月1日付け
で公布された合衆国特許筒3.961,250号に開示
される1つの方法は、組合せテストジェネレータ内にお
いて遂行されるのと殆ど同一の方法で回路を通じて後方
に追跡することによってテストを構築するが、全ての順
方向の信号伝搬は事象駆動シミュレータ(event−
driven 5iffiulatorlによって遂行
される。この方法は、中程度の複雑さを持つ回路(vl
百のゲートを持つ回路)に対しては有効であるが、後方
追跡が非常に大きな回路に対する使用には制約となる。
?jシ月i要 先行技術による制約がデジタル回路に対するテストを生
成するためにシミュレーションをベースとする統制サー
チアプローチ(directed−searchapp
roachlを使用する本発明によって克服される。任
意のテストベクトルから次のテストベクトルがこの任意
のテストベクトルを変え1回路のシミュレーション及び
事前に選択されたコスト関数に基づいて、この変られた
トライアルベクトルの回路故障を通じてプライマリ−出
力への伝搬のユティリティ(utility)を決定す
ることによって展開される。このベクトルセットは回路
故障の全体のセットをターゲットとして扱う1つのフェ
ーズを使用し1次に、前のフェーズによって検出されな
かった特定の故障をターゲットとする別のフェーズを使
用することによって効率的に展開される。
X鳳舅 第1図は3つのフェーズから構成されるものとみなすこ
とができる本発明のテスト生成プロセス(test g
eneration process)の基本流れ図を
示す6ブロツクIOから成る第1のフェーズにおいて、
回路をその開始状態と関係なく既知の状態にする初期化
ベクトルが生成される。ベクトルは、この開示において
は、この回路の外部入力fexternal 1npu
tsl に加えられるべきセットの人力信号である。設
計者供給初期化(designer−supplied
 1nitialization)ベクトルが提供され
る場合、あるいは回路が自動初期化のためのハードウェ
ア機能を持つ場合は、フェーズlはスキップされ、ブロ
ック10はなにも遂行しない。
同時故障検出フェーズであるフェーズ2は設計者によっ
て供給され、あるいはフェーズ1によって生成された初
期化ベクトルから開始される。供給されるベクトルは単
に回路の初期化に必要とされるセットのベクトル以上の
ものから成る。フェーズ2の故障範囲分析プロセス(f
ault coverageanalyssis pr
ocess)はブロック11内において故障リストが生
成されることから開始する。この故障リストは従来の方
法で生成できるが、これは全ての単一”スタックアット
(stuck−atl”故障あるいはこれら故障のサブ
セットを含む、このリスト内の全ての故障がブロック1
2内において、従来の故障シミュレータを使用してシミ
ュレートされる。潜在的なテストの範囲がブロック13
において分析され、この故障範囲が十分であることが決
定された場合(考えられる全ての故障の所定の百分率を
超える場合)は、テスト生成が停止される。そうでない
場合は、追加のテストがブロック13に続くブロックに
よって、全ての未検出の故障をターゲットとして生成さ
れる。勿論、ブロック12によるシミュレーションに対
して提供できるセットのベクトルが十分でないかぎり、
達成される範囲も十分とはならない。このような場合、
ブロック13を越えるプロセスは省略される。
フェーズ2内において、ブロック14によって生成され
るテストに続いて、ブロック15はブロック14によっ
て加えられたテストから得られる故障範囲が要求される
レベルに到達したか否かを決定する。この故障範囲が十
分である場合は、プロセスは停止する。そうでない場合
は、フェーズ3のブロック16内において、さらに追加
のテストが生成される。フェーズ3においては、単一の
故障ターゲットに対してテストベクトルが生成される。
このテストベクトルの生成は動的に計算される制御性t
controllabilitiesl及び観察性(o
bservabilities)によってガイドされる
。以下の説明は第2から第4図と一体となって、本発明
によるテスト生成プロセスをより詳細に説明する。
フェーズ17 第2図において、初期化ベクトルを生成するプロセスは
故障フリー回路(fault−free circui
t)のためのシミュレータを必要とする。このシミュレ
ータは回路接続性データ(circuit conne
ctivitydata)を受信し、任意の入力刺激ベ
クトル(inputstimulus vectorl
 に対して、回路内の全てのゲートの出力状態を計算す
るコンピュータ プログラムである(例えば、これは、
デジタル回路に対する出力状態を0、■あるいは、通常
、Xにて表わされるアンノンの表現にて計算する)。あ
る組合せ回路は、そのゲートのいずれもが”アンノン”
状態にない場合、完全に初期化されたものとみなされる
。これは、ある組合せ回路内の全ての出力は任意の人力
信号セットに対して完全に決定できるため、単一の入力
ベクトルにて達成される。順序論理回路は、一方、その
メモリ要素の全てがアンノン状態にあるとき完全に初期
化されている。回路を既知の状態にするためにセットの
初期化ベクトルを提供することが必要であり、また、こ
れら初期化ベクトルを適当に選択することが必要である
。本発明の好ましい実施態様によると、この初期化ベク
トルは”コスト関数(costfunction)′を
最小化する手順によって生成される。ここでは、このコ
スト関数は”アンノン”状態のフリップフロップの数と
対応するように選択されるが、その他のコスト関数も可
能である。
第2図の流れ図に示されるように、初期化プロセスはブ
ロック100の所で、全てのフリップフロップが”アン
ノン”状態にあり、コスト関数は単に回路内のフリップ
フロップの数、Mに等しいという想定にて開始される。
セットの初期化ベクトルを選択するプロセスは、”トラ
イアルベクトル(trial vectors) ”を
生成し、コストを低減するトライアルベクトルのみを受
は入れることがら成る。
ベクトル選択プロセスを開始するために、ブロック10
1は1つのトライアルベクトルを選択し、変数nをゼロ
にセットする。この選択されたベクトルはランダムに生
成することも、あるいはユーザによって供給することも
できる0本発明によると、変数nが受は入れられたベク
トルの位置nの所のビットを反転することによって最も
最後に受は入れられたトライアルベクトルから次のトラ
イアルベクトルを生成するために使用される。
この変数nは、従って、lからNの範囲の任意の値をと
ることができる。ここで、Nは考慮下の回路に対して存
在する外部入力の数である。
同期回路を扱う場合には、ユーザは加えられるべきシー
ケンスのクロックを供給するが、これはブロック102
において行なわれる1回路の保存された状態(これは最
初は単に全てがXのセットである)から開始して、ブロ
ック103はトライアルベクトル及び与えられたシーケ
ンスのクロック信号に対して真の値のシミュレーション
(つまり、”正常な゛回路のシミュレーション)を遂行
する。シミュレーションの間、この入力データピットが
固定され、与えられたクロックシーケンスが加えられる
シミュレーションの後、ブロック104が、トライアル
ベクトルを加えた後にアンノン状態にととまったフリッ
プフロップの数をカウントすることによって”トライア
ルコスト”値を計算する。
こうして計算されたトライアルコストがブロック105
において前に受は入れられた現コストと比較される。こ
のトライアルコストが前に受は入れられた現コストより
小さい場合(つまり、トライアルベクトルが前にアンノ
ン状態であった幾つかのフリップフロップを初期化した
ことを示す場合)は、ブロック107がこの回路の新た
な状態、トライアルベクトル、及びクロックシーケンス
を保存、nを1にセットする。また、現ベクトルがこの
トライアルベクトルにセットされ、現コストがトライア
ルコストにセットされる。そうでない場合は、ブロック
108は回路をその最後に格納された状態に戻し、nが
1だけ増分される。
回路の信号状態がブロック107において保存され1次
の反復において必要であれば、次のトライアルベクトル
が受は入れられない場合、回路が元の状態にリターンで
きるようにされる。
ブロック107の分岐に沿って進み、ブロック109は
新たに受は入れられた現コストをゼロ(これはアンノン
状態に残されメモリ要素が存在しないことを示す)と、
あるいはユーザによってセットされた最低許容コストと
比較する。このコスト状態に到達しないかぎり、この初
期化フェーズがブロックIIIに進むことによって継続
される。
前述のごとく、ブロック108はトライアルベクトルに
てコストが減少されないとき実行される。ブロック11
0はブロック108において増分された変数nの値を回
路の外部非クロック入力(exLernal、 non
−clock 1nputlの値Nと比較する6nがN
を超える場合は、ブロック102に最初に提供されたベ
クトルからのテスト初期化ベクトルの痕開の進捗(pr
ogression)が停止され、コントロールはブロ
ック112にパスする。そうでない場合は、コントロー
ルはブロック111にパスする。
ブロックIllにおいて、新たなトライアルベクトルが
現トライアルベクトルのn番目のビットを反転すること
によって生成される。コントロールは次にブロック10
2にパスするが、これはこの新たなトライアルベクトル
に応答して回路のシミュレーションを行なう。ブロク1
12に到達することは、”ローカル最小(local 
minimuml−に到達することに相当するが、これ
は多くの統制サーチ法(directed−serch
 methodslにおいてはよくある現象である。ロ
ーカル最小から抜けでる方法の1つとして、現ベクトル
内の複数(2,3101,)のビットの変更を試る方法
、あるいは新たなランタムに選択された現ベクトルから
再度開始する方法がある。このループを全てのフリップ
フロップがセットされるまで継続することもできる。た
だし、計算コストを無視して新たなベクトルの選択を望
むことは希である(例えば、予算が許す以上のコストを
要求するシミュレーションを望むことはあまり考えられ
ない)。従って、ブロック112は新たなトライアルベ
クトルを選択し、nをゼロにリセットするが、これはま
たカウンタを増分し、コントロールを再度ブロック10
6にパスする。ブロック106はカウンタが所定のいき
値を超えたか否か調べ、いき値を超えた場合は、新たな
ベクトルは選択されず、プロセスはエラーメツセージに
て終端する。
フェーズ20.故 第3図に示されるフェーズ2は、初期化ベクトル及びブ
ロック11における故障リストの生成から開始される。
ブロック12はシミュレーションを遂行し、これはリス
ト内の初期化あるいは供給されたベクトルにて検出され
た故障を同定するにこで、使用される同時故障シミュレ
ータとしては、例えば、E、G、アルリッチ(E、 G
Ulrich)及びT、ベーカー(T、 Bakerl
によって。
コンピュータ(Con+puter)、 Vol、7、
ベージ39−44.19744E 4月に発表の論文[
概むね同一のデジタル網の同時シミュレーション (Concurrent Simulation of
 Nearly IdenticalDigital 
Networksl ]に説明されるものがある。
初期化ベクトルによって検出された故障は故障リストか
ら削除される。その後、ブロック13が使用された場合
は、これは故障範囲が十分であるか否か決定される。与
えられたベクトルによるシミュレーションの後の範囲が
十分でない場合は、・この−例としての実施態様におい
ては、ブロック12によって使用されたセットのベクト
ルの最後のベクトルがブロック120において”現ベク
トル”と指定され、変Rnが1にセットされる。
“ターゲット故障セット(target fault 
setじがブロック121において、この時点で未検出
の全ての故障を含むようにアレンジされ、同時故障シミ
ュレータ内の全ての”正常”及び”故障”状態が保存さ
れる。ブロック122はターゲット故障セット内の個々
の故障に対する現コストを計算する。ここでは故障のコ
ストがその故障の一故障効果(fault effec
t)”から任意のプライマリ−出力までの最短距離とし
て定義される。この距離は、ここでは、単に経路上の論
理ゲートの数である。
この方法によって、コストが小さければ小さいほど、検
出される故障が近くなる。故障が検出されると、このコ
ストがゼロとなる。他のコスト機能を定義することもで
きる。
トライアルベクトルの生成は初期化フェーズにて使用さ
れるのと類似の方法によって遂行される。より具体的に
は、ブロック123が現ベクトルのn番目のビットを反
転することによってトライアルベクトルを生成し、ブロ
ック124がブロックシーケンスを供給し、ブロック1
25が回路の現状態のトライアルベクトルのアプリケー
ションをシミュレートし、そしてブロック126がシミ
ュレーションの結果としてのターゲット故障のコスト関
数を計算する。ブロック126はブロック104と動作
が2つの点において異なる。
第1の異なる点は、フェーズ2においては、コストはタ
ーゲット故障セット内の個々の故障に対して保持される
。従って、テストベクトルに対するサーチは、単一のタ
ーゲットでなくグループの故障によってガイドされる。
ただし、この状況においては、比較的単純な規則が適用
できる。例えば、1つの規則として、トライアルベクト
ルをこれが最低コストの未検出故障の10%に対するコ
ストの総和を減少させるとき、受は入れるようにするこ
とができる。第2の異なる点は、フリップフロップが扱
われる方法にある。フリップフロップが論理ゲートの相
互接続であるものと考えると、コスト計算は単に経路に
沿ってのゲートのカウンティングのみを要求する。ただ
し、フリップフロップが関数プリミティブ(funct
io口a1primitive)としてモデル化された
場合は、個々のフリップフロップは擬似プライマリ−出
力として扱われる。要するに、回路内に複数のレベルが
生成され、回路トポロジーに基づいて、フリップフロッ
プに特定のレベルが割り当てられる。こうして、プライ
マリ−出力は、レベルOと指定される。組合せ論理のみ
を通じてプライマリ−出力に供給するフリップフロップ
はレベル1と命名される。プライマリ−出力を駆動しな
いが、レベルlのフリップフロップに供給する組合せ論
理への供給を行なうフリップフロップはレベル2フリツ
プフロツプと呼ばれる。故障は異なるレベルの要素に伝
搬できるため、個々の故障は複数のコストを持つことが
できるん。ここでは、故障のコストがそのプライマリ−
出力及びさまざまな擬似出力の所のコストの重みを与え
られた総和として定義される。また、より大きな重みが
擬似出力のより高いレベルに割り当てられる0例えば、
プライマリ−出力(レベルO)の所のコストに対する重
み係・数を1とし、レベル1rM似出力の所の重み係数
をIOとし、レベル2の擬似出力の所の重み係数を10
0とすることができる。この方法によって、プライマリ
−出力の所ではや(検出できる故障はイ6コストとなる
また、第2図に示されるごとく、トライアルコストが現
コストより低い場合は、ブロツツク127はコントロー
ルをブロック126からブロック128にパスし、ここ
で、トライアルベクトル及びり“ロックシーケンスが保
存され、現ベクトルがトライアルベクトルにセットされ
、現コストがトライアルコストにセットされ、ターゲッ
ト故障セットが更新され、”正常”及び”故障“状態が
保存される。変数nが1にセットされ、コントロールが
ブロック130にパスする。ブロック130は故障範囲
が十分であるか否か決定する。
十分である場合は、プロセスは停止する。そうでない場
合は、コントロールはブロック123にパスする。
トライアルコストが現コストより低い場合は、コントロ
ールはブロック129にパスし、ここでnがlだけ増分
され、このシステムがその前に保存された状態にリセッ
トされる。ブロック129に続いて、ブロック131は
変数nが値Nに到達したか否かを決定する。nがNより
は大(ない間は、コントロールはブロック123にパス
する。
nがNより大きくなると、同時フェーズは、現ベクトル
内の全ての単一ビット変化がコストの減少を与えないた
め終端する。これは通常ターゲットセット内に少数の故
障のみが残された状態で発生する。これら故障に対する
テストベクトルはベクトル空間内にまばらに存在し、従
って、この集合的コスト関数は重要なガイダンスは提供
しない。
また、故障に対するコストはこれが起動されてない場合
は計算されない。コストは故障効果に基づくため、それ
自体のコスト値はプロセスを故障の起動に向けてガイド
するためには役立たない。
フェーズ3−故 検 このフェーズは、第4図に示されるごとく、フェーズ2
と2つの大きな差異を持つ。第1に、これはトライアル
ベクトルシミュレーション及びコスト計算に対して“正
常”回路シミュレータを使用し、トライアルベクトルが
受は入れられた後、次のトライアルが開始される前に全
ての残りの故障に対して故障シミュレーションが遂行さ
れる。
第2の差異は、単一ターゲット故障に対して誘導される
コストの計算にある。
このフェーズにおけるコスト計算は、5COAP様のテ
スト性測定値に基づ<、5COAPは、L、14.ゴー
ルドスタイン(L、 H,Goldstein)にts
 and S stems) 、 Vol、CAS−2
6,ページ685−693.1979年、9月号に掲載
の論文[デジタル回路の制御性及び観察性 (Controllabilitylobservab
LILty Analysis ofDigiLal 
C1rcuitslにおいて説明のごと(、個々のノー
ドに対する(a)プライマリ−人力からの制御、及び(
b)プライマリ−出力の所での観察の努力と関連する量
を計算するためのアルゴリズムである。これら量、ある
いは測定値は、回路トポロジーから特定の入力ベクトル
の考慮なしに計算される。これらは、従って、静的テス
ト性測定値と呼ばれる。
本発明によるテスト生成タスクとの関連において、我々
は現ベクトルに対して制御性及び観察性を計算し、次に
、これら量がトライアルベクトルによっていかに変化す
るかを決定することが必要である。従って、本発明によ
ると、この値を静的にでなく動的に、常に、現状態との
関連で計算する。また、この動的テスト性測定値は、タ
ーゲット故障を検出するための2つのベクトルの適合性
を比較するためにのみ使用される。つまり、このテスト
性測定値は回路のテスト性を評価するという絶対的な意
味においては使用されない。
ここでは、DCI  (i)がノードiの動的1制御性
コストとして評価される。この値は変更されるべきプラ
イマリ−人力の最小数及びノードiの値を1にするのに
必要とされる追加のベクトルの最小数と関連つけられる
。同様に、DCO(i)はノードiの動的0制御性コス
ト(controllability cost )で
ある。
より詳細には、ノードi上の現論理値が1であるときは
、DCI  (i)以下のように定義される。
D C1(i)v+u、+、= 0 V(i)=1はノードi上の論理値が1である条件を反
映する。同様に。
p CO[i) v ++1.。=0 である。
上の定義ペアはノード上の1あるいは0をこの値が既に
この状態にあるとき、この値にするために、入力の変化
を必要としないという事実に従う、他の条件下において
は、DCI (i)及びDCO(i)は、勿論、非ゼロ
値を想定する0例えば、m個の入力をもつANDゲート
の出力ラインiに対して、DCI (i)及びDCO(
i)は以下のように計算される。
ここで、に4はゲートのj番目の人力ラインであり、そ
して“min”はセットの量の最小を指す。
順序論理要素に対しては、コスト関数は幾分か異なり、
順序論理要素により大きな重みを与える必要性を反映す
る。従って、フリップフロップ出力iに対する動的II
I il性は以下のように定義される。
DC1(iltvu+−o  Qr  xl=Dc 1
  (di  +KD CO(il +v +l+−0
゜rx+= D COtd)  +にここで、dはフリ
ップフロップの入力データ信号であり、Kは大きな定数
、例えば、100である。
スタック故障fstuck fault)を検出するた
めには、テストジェネレータ(test genera
tor)はまず最初にこの故障を起動するためのシーケ
ンスのベクトルを発見し、つまり、この故障サイトの所
で故障状態と反対の適当な値をセットし、次に。
故障効果(fault effect)をプライマリ−
出力に伝搬するために経路を起動するための別のシーケ
ンスを発見することが必要である。従って、コスト関数
は、この故障を起動及び伝搬するために必要とされる努
力(effort)を反映させなければならない、ノー
ドiのUの所でスタックした故障(stack−at−
u fault)の起動コスト(activation
 cost) 。
A C(i、lは、DCa (i)であり、ここで、α
=買である。これは、0スタツク(stuck−at−
01あるいはlスタックfstuck−at−1)故障
を起動するためのコストは、この故障サイトでの反対の
論理レベルをセットアツプするためのコストであると言
う事実に従う。
この伝搬コスト(propagation cost)
は基本的には動的観察性(dynamic obser
vability)測定値である。ノードiの所の信号
がファン ア ウ ト(fan outl Lt、n個
のブランチに加えられる場合、この伝搬コストは、以下
のように、このさまざまなブランチを介してのプライマ
リ−出力へのセットの伝搬コストの最小として選択され
る。
ここで、iJはiのj番目のファン アウト ブランチ
である。その出力信号がiであるANDゲートの人力信
号i、に対して、以下が与えられる。
ここで、jは人力リードを表わし、Uは入力信号れを運
ぶ入力リードであり、そして、nはANDゲートの入力
の数である。この式はそれ自体の伝搬コストがP C(
itであるANDゲートの入力リードUを通じて信号を
伝搬するためには、P C(i)にこのゲートの全ての
他の人力を制御するためのコストを加えなければならな
いことを示す。
単一ターゲット故障に対するテスト生成(testge
nerationl に対するコスト関数は上に定義の
起動コスト(activation cost)と伝搬
コストを使用して定義できる。未検出故障F、起動され
てないαの所でスタックした(stuck−at−α)
ラインiに対して、このコストは以下のように定義され
る。
Co5tfFI IF  notact+vat*al
 = KIX AC(i  ) +PC(tlここで、
Klはこの2つのファクターの相対重みを決定する大き
な定数である。この故障が起動されており、N、が故障
効果が出現するセットのノードである場合は。
である。
このコスト関数では再集束ファンアウトlreconv
ergent fanoutl は無視されることに注
意する。これは、計算を簡単にするが、多くの場合、故
障の検出の失敗に結びつく。
上のパラグラフは、未検出の故障の数が比較的小さく、
特定の故障にこれを起動し検出するために注意が向けら
れる第3のフェーズにおいて使用されるコスト関数を説
明する。
以下に第4図に示される実際のベクトル選択手順を記述
するが、これは前のフェーズとの関連で使用されたアプ
ローチと非常によく似ている。
第4図において、最初にブロック134が実行され、こ
こで、コストがターゲットセット内の残りの故障の個々
に対して計算される。フェーズ2において現ベクトルと
して最後に受は入れられたベクトルを使用するコスト計
算は上に説明の定義に従うが、他のコスト測定を使用す
ることもできる。さまざまなコストの評価を終えたら、
最低のコストを持つ故障が現反復のターゲット故障とし
て選択され、この最低コストが現コストとして定義され
る。ブロック134のプロセスに続いて、ブロック13
5は回路の状態を保存し、現ベクトルを最終ベクトルと
してセットし、nを1にセットする。ブロック136は
現ベクトルのn番目のビットを反転することによって新
たなトライアルベクトルを生成し、適当なりロックシー
ケンス信号を加え、子のトライアルベクトルに基づいて
トライアルコストを計算する。ブロック137はこのト
ライアルコストが現コストより低いか否か決定し、これ
が低い場合は、コントロールはブロック138にバスす
る。ブロック138はトライアルベクトルを受は入れ、
現コストをトライアルコストとして更新し、他の故障上
の受は入れられたトライアルベクトルの効果を評価し、
これらの状態を更新する。他の故障の幾つかが検出され
、ターゲットリストから除去される。ブロック138に
続いて、ブロック139はターゲット故障が検出された
か否か確認する。検出されなかった場合は、コントロー
ルはブロック135に戻る6故障が検出された場合は、
コントロールはブロック140にバスし、ここで、十分
なレベルの故障範囲が到達されたか否か決定される6到
達した場合、プロセスは停止する。ただし、到達するま
で、プロセスは新たなターゲ・ント故障の選択のために
ブロック134に戻る6 トライアルコストがブロック137において現コストよ
り低くないことが発見された場合は、このトライアルベ
クトルは受は入れられない。この回路はブロック141
においてその前の状態に戻され、nが1だけ増分される
。その後、ブロック142がnがNを超えたか否かを決
定する。ここで、Nは考慮下の回路のプライマリ−人力
の数である。この数を超えた場合は、コントロールはブ
ロック143にバスし、ここで、この故障がその後の考
慮から除外され(検出不能であると考慮され)、ブロッ
ク144が実行される。nがNを超えるまでは、コント
ロールはブロック142からブロック136に戻り、他
のトライアルベクトルを試る。最後に、ブロック144
がターゲットセットが空でないか確認する。空である場
合は、プロセスは停止する。
このポイントまでは、この説明は主に組合せ及び順序論
理回路の両方をテストするためのテストベクトルをいか
に効率的に生成するかの問題を扱かったが、本発明は主
に実際の回路をテストするプロセスを扱かうことは明ら
かである。このテストは設計の段階における回路設計の
評価、並びに、製造の段階における品質保証のために遂
行される。
本発明の最終製品は先行技術による回路と比較して故障
を持たない点で優れた回路を提供する。
故障のない回路は顧客にとって重要であり、それなりの
高い価格が要求できる。
第5図はこれを通じて本発明の原理に従って大きなVL
S Iチップが実現されるプロセスのブロック図を表わ
す。これは、論理設計ブロック150、この論理設計に
続く物理設計ブロック160、及びその後のウェーハ製
造ブロック170を含む、これにテストブロック18o
が従うが、これはブロック170及び自動テスト生成ブ
ロック190に応答する。
ブロック150は設計手間(design effor
tl を表わす、このブロックの出力は製造されるべき
回路の仕様である。この仕様は物理設計ブロック及び自
動テスト生成ブロックに供給される。この物理設計ブロ
ックはレイアウトを展開し、(集積回路の場合は)マス
クを準備し、この生成物をつ工−ハ製造ブロックに加え
る。この自動テスト生成ブロックは本発明の原理に従っ
て適当なテスト信号シーケンスを展開する。
設計段階においては、サンプルウェー八がブロック17
0において製造され、テストブロック180に加えられ
る。ブロック190において展開されたテストシーケン
スが製造された回路に加えられ、出力が観察される。エ
ラーが一貫して観察されると、回路の設計が物理設計ブ
ロックにおいて設計エラーが導入されないことを保証す
るためにチエツクされる。
製造段階においては、ブロック170.180、及び1
90のみが起動される。製造された回路に関してテスト
が遂行され、故障のない回路が実現される。
第6図はテストベクトルを生成するためのプロセス、並
びにテストベクトルを展開するための装置をブロック図
にて示す、より詳細には、任意の回路をテストするため
に要求されるテストベクトルを展開するためには、回路
の記述、及び、オプションとして、セットの開始ベクト
ルを提供することが必要である。これが第6図にブロッ
ク191及び192によって図解される。また、故障範
囲の要求レベルを示すことが有効である。これは、しば
しば、100%以下のカバーが許され、この場合、より
大きなレベルのカバーを提供するために多くの手間を掛
けるのは浪費となるためである。この目的のため、ブロ
ック193は要求される故障範囲及び回路に対して非同
期動作が要求されるか同期動作が要求されるかに関して
の入力を示す、後者の場合は、勿論、クロックシーケン
スを指定することが必要である。ブロック191.19
2、及び193によって提供される情報に応答して、ブ
ロック194は考慮下の回路をテストするための入力信
号のシーケンスを同定するプロセスを実行する。ブロッ
ク194は第1図から第4図との関連で上に説明のプロ
セスを実行する。ブロック194の出力は第5図に示さ
れるプロセス及びシステム内で使用されるテストベクト
ルである。
【図面の簡単な説明】
第1図は任意の回路の動作の正常性をテストするための
シーケンスの入力信号を展開するためのプロセスを示す
一般ブロック図であり:第2図から第4図は第1図に示
されるさまざまなプロセスのフェーズを示し: 第5図は回路の設計及び製造において本発明のテストシ
ーケンスを採用するための一般手順及び構造のアウトラ
インを示し: 第6図は本発明の原理に従ってテストシーケンスを展開
するためのプロセス及び装置を大まかに図解する。

Claims (1)

  1. 【特許請求の範囲】 1、順序論理回路を製造するための方法において、該方
    法が: 該回路を製造するステップ:及び 該回路の動作の完全性を該回路のシミュレ ーションの反復使用を通じて生成される入力信号のシー
    ケンスから成るテストを用いて該シーケンスの信号メン
    バーを選択するコスト統制プロセスに基いてテストする
    ステップを含むことを特徴とするコスト関数統制サーチ
    方法。 2、該シーケンスが3つのサブシーケンスから成り: 第1のサブシーケンスが該回路をあるトラ イアルベクトルによる回路シミュレーションの反復プロ
    セスを通じて既知の状態にプリ セットするために展開され、該第1のサブシーケンスに
    対する該トライアルベクトルが該回路内のメモリ状態の
    セッティングの進捗を反映するコスト測定値が改良され
    たとき選択され: 第2のサブシーケンスが回路内の全ての 故障のあるトライアルベクトルによる故障シミュレーシ
    ョンの反復プロセスを通じて展開され、該第2のサブシ
    ーケンスに対する該トライアルベクトルが該回路のプラ
    イマリー出力に向っての回路故障の進捗を反映するコス
    ト測定値が改良されたとき選択され: 第3のサブシーケンスが検出されるべき故 障の選択の反復プロセスを通じて展開され、あるトライ
    アルベクトルに対する該回路の 応答がシミュレートされ、該第3のサブシーケンスに対
    する該トライアルベクトルが該回路のプライマリー出力
    に向けての選択された故障の進捗を反映するコスト測定
    値が向上されたとき選択することを特徴とする請求項1
    に記載の方法。 3、該コスト測定値が該3つのサブシーケンスの個々に
    対して異なることを特徴とする請求項2記載の方法。 4、あるトライアルベクトルが直前のトライアルベクト
    ルから決定論的に展開されることを特徴とする請求項3
    記載の方法。 5、順序論理回路の動作状態を検証するためのテストシ
    ーケンスを展開するための方法において、該方法が該回
    路をあるトライアルベクトルにてシミュレートし、該シ
    ーケンスに対するトライアルベクトルを該シミュレーシ
    ョンに従って、コスト統制プロセスを介して選択するス
    テップを含むことを特徴とするコスト関数統制サーチ方
    法。 6、該テストシーケンスが3つのサブシーケンスから成
    り: 第1のサブシーケンスが該回路をあるトラ イアルベクトルによる回路シミュレーションの反復プロ
    セスを通じて既知の状態にプリ セットするために展開され、該第1のサブシーケンスに
    対する該トライアルベクトルが該回路内のメモリ状態の
    セッティングの進捗を反映するコスト測定値が改良され
    たとき選択され: 第2のサブシーケンスが回路内の全ての 故障のあるトライアルベクトルによる故障シミュレーシ
    ョンの反復プロセスを通じて展開され、該第2のサブシ
    ーケンスに対する該トライアルベクトルが該回路のプラ
    イマリー出力に向っての回路故障の進捗を反映するコス
    ト測定値が改良されたとき選択され: 第3のサブシーケンスが検出されるべき故 障の選択の反復プロセスを通じて展開され、あるトライ
    アルベクトルに対する回路の応答がシミュレートされ、
    該第3のサブシーケンスに対する該トライアルベクトル
    が該回路のプライマリー出力に向けての選択された故障
    の進捗を反映するコスト測定値が向上されたとき選択さ
    れることを特徴とする請求項5記載の方法。 7、該コスト測定値が該3つのサブシーケンスの個々に
    対して異なることを特徴とする請求項6記載の方法。 8、回路の入力ボートに加えられる入力信号のシーケン
    スにて回路をテストする品質保証ステップを伴って製造
    される順序論理回路において、 該入力信号のシーケンスが該回路のシミュ レーションの反復使用を通じて該シーケンスの信号メン
    バーを選択するコスト統制プロセスに基づいて生成され
    ることを特徴とする順序論理回路。 9、信号セットメンバーを含む回路検査信号セットにお
    いて、該信号セットのメンバーの個々が任意の順序論理
    回路のシミュレーションの反復使用を通じて該シーケン
    スの信号メンバーを選択するコスト統制プロセスに基づ
    いて派生されることを特徴とする回路検査信号セット。
JP1093266A 1988-04-15 1989-04-14 コスト関数統制サーチ法 Pending JPH0213868A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18200188A 1988-04-15 1988-04-15
US182,001 1988-04-15

Publications (1)

Publication Number Publication Date
JPH0213868A true JPH0213868A (ja) 1990-01-18

Family

ID=22666702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1093266A Pending JPH0213868A (ja) 1988-04-15 1989-04-14 コスト関数統制サーチ法

Country Status (3)

Country Link
EP (1) EP0342787A3 (ja)
JP (1) JPH0213868A (ja)
CA (1) CA1315016C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406365A (en) * 1992-05-07 1995-04-11 Canon Kabushiki Kaisha Image forming apparatus having cleaning mechanism with partition members not aligned with convey rollers

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341315A (en) * 1991-03-14 1994-08-23 Matsushita Electric Industrial Co., Ltd. Test pattern generation device
JPH05273310A (ja) * 1991-08-30 1993-10-22 Matsushita Electric Ind Co Ltd 検査系列生成装置
JPH05119122A (ja) * 1991-10-25 1993-05-18 Fujitsu Ltd スキヤン回路のテストパターン生成方法
EP0574919A3 (en) * 1992-06-18 1998-01-21 Matsushita Electric Industrial Co., Ltd. State transition diagram generator and test pattern generator
US5596587A (en) * 1993-03-29 1997-01-21 Teradyne, Inc. Method and apparatus for preparing in-circuit test vectors
US5682392A (en) * 1994-09-28 1997-10-28 Teradyne, Inc. Method and apparatus for the automatic generation of boundary scan description language files
JPH09145800A (ja) * 1995-11-17 1997-06-06 Nec Corp テストパターン生成方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406365A (en) * 1992-05-07 1995-04-11 Canon Kabushiki Kaisha Image forming apparatus having cleaning mechanism with partition members not aligned with convey rollers

Also Published As

Publication number Publication date
EP0342787A2 (en) 1989-11-23
CA1315016C (en) 1993-03-23
EP0342787A3 (en) 1991-03-27

Similar Documents

Publication Publication Date Title
US5257268A (en) Cost-function directed search method for generating tests for sequential logic circuits
Agrawal et al. A directed search method for test generation using a concurrent simulator
US5737340A (en) Multi-phase test point insertion for built-in self test of integrated circuits
US5377197A (en) Method for automatically generating test vectors for digital integrated circuits
JPH0643218A (ja) 環境エミュレーションによるテスト発生
US5546408A (en) Hierarchical pattern faults for describing logic circuit failure mechanisms
Rao et al. Hierarchical test generation for VHDL behavioral models
JPH0213868A (ja) コスト関数統制サーチ法
Virazel et al. Delay fault testing: Choosing between random SIC and random MIC test sequences
Hasib et al. Optimization of small-delay defects test quality by clock speed selection and proper masking based on the weighted slack percentage
Cheng Gate-level test generation for sequential circuits
Chakravarty et al. A study of I/sub DDQ/subset selection algorithms for bridging faults
Mahlstedt et al. Simulation of non-classical faults on the gate level-the fault simulator COMSIM
Chakraborty et al. Path delay fault simulation algorithms for sequential circuits
Lee et al. An efficient procedure to generate highly compact diagnosis patterns for transition faults
Kim et al. Sequential test generators: past, present and future
Chakraborty et al. Path delay fault simulation of sequential circuits
Lin et al. Speed binning with high-quality structural patterns from functional timing analysis (FTA)
Heragu et al. A test generator for segment delay faults
Becker et al. Hybrid fault simulation for synchronous sequential circuits
Jayanthy et al. Delay Fault Testing of VLSI Circuits
JPH0894714A (ja) Lsiの故障箇所推定方法
Mao et al. DYTEST: A self-learning algorithm using dynamic testability measures to accelerate test generation
Aboulhamid et al. On the generation of test patterns for multiple faults
Fung et al. Design for testability in a silicon compilation environment