JPH07248360A - Formation of testing vector for vlsi circuit - Google Patents

Formation of testing vector for vlsi circuit

Info

Publication number
JPH07248360A
JPH07248360A JP4338380A JP33838092A JPH07248360A JP H07248360 A JPH07248360 A JP H07248360A JP 4338380 A JP4338380 A JP 4338380A JP 33838092 A JP33838092 A JP 33838092A JP H07248360 A JPH07248360 A JP H07248360A
Authority
JP
Japan
Prior art keywords
circuit
terms
fault
implication
ternary
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.)
Granted
Application number
JP4338380A
Other languages
Japanese (ja)
Other versions
JP2901442B2 (en
Inventor
Srimat Chakradhar
チャクラドハル スリマット
Vishwani Agrawal
アグラワル ビスワニ
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4338380A priority Critical patent/JP2901442B2/en
Publication of JPH07248360A publication Critical patent/JPH07248360A/en
Application granted granted Critical
Publication of JP2901442B2 publication Critical patent/JP2901442B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

PURPOSE: To generate the test vector capable of efficiency carrying out the test by generating a composite circuit of a failure circuit and a failure-free circuit, separating and extracting the energy function in the binary and ternary terms, preparing the implication graph, obtaining the transition envelope to perform the logical judgment and processing, and repeating it to obtain the literal test. CONSTITUTION: A composite circuit is formed by extracting a failure circuit, and combining it with a failure-free circuit, and its energy function is extracted as the binary and ternary terms based on the functional and structural restrictions. An implication graph is prepared for the binary term, and the transition enclosure is obtained to derive the logical conclusion such as contradiction, identification, fixation, exclusion, etc., and the reduction of the ternary term into the binary term is advanced until the determined signal value satisfies all energy functions of the composite circuit. The work is repeated by using a new binary term and continued until the ternary term disappears. The input vector set capable of efficiently testing a VLSI logical circuit is generated.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、VLSI(Very
Large Scale Integration)回
路のテストに関し、より詳しくは、故障を見出しそして
冗長性を排除するための2進値を含む特定のVLSI論
理回路を能率良くテストするのに適する入力ベクトル集
合を生成することに関する。
BACKGROUND OF THE INVENTION The present invention relates to a VLSI (Very).
Large Scale Integration) circuit testing, and more particularly, to generating a set of input vectors suitable for efficiently testing a particular VLSI logic circuit that contains binary values for finding faults and eliminating redundancy. .

【0002】[0002]

【従来の技術及び解決すべき課題】VLSI回路の素子
数が増大するにつれそのテストは複雑になっている。回
路の内部節点をプローブであたることは実際的ではない
ためである。そのため通常は、入力ベクトル集合を入力
端子に印加し、各入力ベクトルに対して、その出力端子
における出力ベクトルを観察し、これが期待される出力
ベクトルであるかどうかを判定している。各入力ベクト
ルはそれぞれ回路で発生すると考えられるある特定の故
障を発見するために選ばれる。回路が複雑になると故障
の数も増える傾向にあるので、VLSIのテストベクト
ル集合も数多く必要となる。そのため最も短い時間で最
大量の関連情報を与えるであろう入力ベクトル集合を作
りだすことが重要である。一般に、テストは、次のよう
に行われる。期待された出力ベクトルと一致する出力ベ
クトルをチェックし、一致しないサンプルを拒絶するた
めに、テストされているサンプル回路に対して規定され
た入力ベクトル集合を順に与えるように設計された機器
により自動的に行われる。
2. Description of the Related Art As the number of VLSI circuit elements increases, the test becomes more complicated. This is because it is not practical to hit the internal node of the circuit with a probe. Therefore, usually, an input vector set is applied to the input terminal, and for each input vector, the output vector at the output terminal is observed to determine whether or not this is the expected output vector. Each input vector is chosen to find a particular fault that is believed to occur in the circuit. Since the number of failures tends to increase as the circuit becomes complicated, a large number of VLSI test vector sets are required. It is therefore important to create an input vector set that will give the maximum amount of relevant information in the shortest amount of time. In general, testing is done as follows. Automatically by an instrument designed to give a specified set of input vectors to the sample circuit under test, in order to check for output vectors that match the expected output vector and reject samples that do not match. To be done.

【0003】ふつうテストベクトル集合の選択は集積回
路の設計工程の一部である。通常では、所望の集積回路
のプロトタイプチップが作られる前でさえ、量産チップ
のテストに使用するための適切なベクトル集合が開発さ
れる。このプロセスには、回路に生ずるかもしれない種
々の故障を特定すること、そしてすべての又は大半のか
かる起こり得る故障をテストするためのベクトル集合を
開発することが含まれる。
Selection of a set of test vectors is usually part of the integrated circuit design process. Usually, even before the desired integrated circuit prototype chip is made, an appropriate vector set is developed for use in testing the production chip. This process involves identifying the various faults that may occur in the circuit, and developing a vector set to test all or most such potential faults.

【0004】このようなテストベクトル集合の開発には
改良の余地が残っている。従来は、信号割付けの部分集
合つまり信号代入のすべての論理的結果の同定を保証し
ていない。分枝限定法がテストベクトルにならない信号
割付けを効果的に回避できるように、すべてのかかる結
果を照合することは望ましい。また、従来の技術は一般
に、その論理的結果を決定する計算量を確立せず、少な
くとも合理的な量の資源を用いてすべての結果を決定す
るのが可能であるかどうかは不明である。最後に、そう
した技術は容易に対応化し得ない傾向にある。
There is room for improvement in the development of such a test vector set. Traditionally, we have not guaranteed the identification of all logical consequences of signal assignment, or a subset of signal assignments. It is desirable to match all such results so that the branch and bound method can effectively avoid signal assignments that do not result in test vectors. Also, conventional techniques generally do not establish the computational complexity that determines their logical outcome, and it is unclear whether it is possible to determine all outcomes using at least a reasonable amount of resources. Finally, such techniques tend not to be easily adaptable.

【0005】[0005]

【課題を解決するための手段】この発明の特徴はテスト
生成問題を解決するために推移閉包(TC)を使用する
ことにある。基本的に、推移閉包(TC)は、有向グラ
フに対して、その元の弧により暗示される新しい弧を加
えた結果である。本質的に、これは、親とすべてのその
子孫、すなわち子,その子の子などとの間に弧を加える
ことを含んでいる。しばしば、その結果は、通常その緊
急の応用において行われるように、マトリクス形態にお
いて表される。特に、この発明はTCの使用に基づいた
完全なテスト生成アルゴリズムを含んでいる。TCにつ
いての並列計算は広く研究されている。TCを計算する
ことは有向グラフに関連した多くの並列アルゴリズムに
おける重要なステップである。本発明の原理の特定の応
用において、複合回路は初めに、検出に対する特定のテ
ストが意図されている故障を持つ又は持たないテストさ
れつつある回路のバージョンから形成され、そこにおい
て、適用可能な制約の集合に基づいたエネルギ関数は、
そのエネルギ関数に最小値を与えるテスト信号値集合が
故障に対するテストベクトルに対応するように、その複
合回路に対して引き出される。かかるエネルギ関数は通
常、2進及び3進ポテンシャル項を共に含み、TCの使
用に対しては、一般に、3進項を2進項へ簡約する必要
がある。
A feature of the invention is the use of transitive closure (TC) to solve the test generation problem. Basically, transitive closure (TC) is the result of adding to a directed graph a new arc implied by its original arc. Essentially, this involves adding an arc between the parent and all its descendants, ie, children, children of that child, and so on. Often, the results are presented in matrix form, as is usually done in their urgent applications. In particular, the invention includes a complete test generation algorithm based on the use of TC. Parallel computing for TC has been extensively studied. Computing TC is an important step in many parallel algorithms associated with directed graphs. In a particular application of the principles of the present invention, a composite circuit is first formed from a version of the circuit under test for which a particular test for detection is with or without an intended fault, where applicable constraints are applied. The energy function based on the set of
A set of test signal values that gives a minimum in the energy function corresponds to the test vector for the fault and is derived for the composite circuit. Such energy functions usually include both binary and ternary potential terms, and for the use of TC it is generally necessary to reduce the ternary terms to binary terms.

【0006】本発明の特徴は、3進項が2進項に簡約さ
れるプロセスである。特に、このプロセスは初めに、エ
ネルギ関数における2進関係に基づいて含意集合を見出
すこと、その後、含意集合の推移閉包を得ること、その
推移閉包を用いて、複合回路での矛盾,固定,排除又は
同定の存在のような論理的結論を得ること、そして最後
に、到達されたいずれかの結論を使用して、エネルギ関
数の3進項を2進項に簡約し、更新された2進項の集合
から更新された含意集合を得ることを含んでいる。この
プロセスは、できるだけ多くの3進項が2進項へと簡約
されるまで、繰り返される。この点において、もしも3
進項が残っているならば、その回路の選ばれた節点には
特定の信号値が割付けされ、そのように固定された回路
のインプリケーション・グラフが引き出され、そして3
進項を2進項に簡約するためのプロセスが、3進項がな
くなるまで、それに対して繰り返される。もしも特定の
信号値の割付けが矛盾になると見出されるならば、その
反対の値が割付けされ、そしてプロセスが繰り返され
る。終局的に、これは、そのエネルギ関数からのすべて
の3進項の除去に導く。この点において、そのエネルギ
関数を最小にする信号値集合は容易に見出され、そして
かかる信号値は初めの回路に対する所望のテストベクト
ルを形成する。その回路の推移閉包は、その頂点が各種
内部節点で見出されるものと予期される信号の真の状態
及び否定状態であるインプリケーション・グラフから計
算される。このグラフにおいて
A feature of the invention is the process by which ternary terms are reduced to binary terms. In particular, this process first finds an entailment set based on a binary relation in the energy function, then obtains a transitive closure of the entailment set, and uses the transitive closure to detect inconsistencies, fixations, and eliminations in complex circuits Or to obtain a logical conclusion, such as the existence of an identity, and finally, using any of the reached conclusions, reduce the ternary term of the energy function to a binary term and from the updated set of binary terms Includes getting an updated implication set. This process is repeated until as many ternary terms have been reduced to binary terms. In this regard, if 3
If a binary term remains, the selected node of the circuit is assigned a specific signal value, the implication graph of the circuit so fixed is derived, and 3
The process for reducing a binary term to a binary term is repeated on it until there are no more ternary terms. If the assignment of a particular signal value is found to be inconsistent, the opposite value is assigned and the process is repeated. Ultimately, this leads to the removal of all ternary terms from the energy function. At this point, the set of signal values that minimizes its energy function is easily found, and such signal values form the desired test vector for the original circuit. The transitive closure of the circuit is calculated from the implication graph, whose vertices are the true and negated states of the signal expected to be found at various internal nodes. In this graph

【0007】[0007]

【数1】 [Equation 1]

【0008】としても表されるxからFrom x, also expressed as

【0009】[0009]

【数2】 [Equation 2]

【0010】への有向縁部は信号yの疑似状態上におけ
る信号xの真の状態の制御動作を表している。変数x及
びyは回路での同じゲートつまり信号ネットと関連して
いる。インプリケーション・グラフは対状の関係のみを
含むので、それはネットリストの部分的表示である。こ
こで使用されている項としてのインプリケーション・グ
ラフは、aの真理がbの真理を意味することを、aにお
ける頂点からbにおける頂点へと向かう縁部が示してい
る有向グラフである。インプリケーション・グラフの推
移閉包はすべての信号状態間に対状の論理的関係を含ん
でいる。信号はすべて、2進値のみ、つまり、0か又は
1をとる。故障活性化及び経路活性化を描写している信
号関係がインプリケーション・グラフに含まれる場合、
推移閉包は、多くの冗長性をじかに照合する論理的矛盾
に導く信号関係を決定する。必要な信号割付けを決定す
るのに有用である物理的及び論理的ドミネータの活性
化、多重バックレース、独特な経路活性化、静的及び動
的学習及び他の技術はそのプロセスに内在している。も
しもかくして決定された信号が最小のエネルギ関数を満
たすとすると、我々はテストを持つことになる。そのエ
ネルギ関数はネットリストにおける対状の、高次信号関
係から成っている。さもなければ、我々は識別相に入っ
て、割付けされていない信号を決め、そしてこの判定の
すべての論理的結果を決定するために推移閉包を更新す
る。推移閉包計算はマトリクス乗算に類似し、ここか
ら、容易に並列化可能である。例えば、1990年10
月,IEEETrans. on Parallela
nd Distributed System,Vo
l.1,ページ500〜507,“再構成可能なバス・
システムを持つプロセッサ・アレイに関する推移閉包及
び関連したグラフ問題に対する定時間アルゴリズム”と
いう名称の論文を参照されたい。
The directed edge to represents the control action of the true state of the signal x on the pseudo state of the signal y. The variables x and y are associated with the same gate or signal net in the circuit. Since the implication graph contains only pairwise relationships, it is a partial representation of the netlist. The implication graph as the term used here is a directed graph in which the edge from the vertex at a to the vertex at b indicates that the truth of a means the truth of b. The transitive closure of the implication graph contains a pairwise logical relationship between all signal states. All signals take only binary values, 0 or 1. If the implication graph contains signaling relationships that describe fault activation and path activation,
Transitive closure determines the signal relationships that lead to logical inconsistencies that match many redundancies directly. Physical and logical dominator activations, multiple backlaces, unique path activations, static and dynamic learning and other techniques that are useful in determining the required signal allocation are inherent in the process . If the signal thus determined meets the minimum energy function, we will have a test. The energy function consists of paired, higher order signal relationships in the netlist. Otherwise, we enter the discriminating phase, determine the unassigned signals, and update the transitive closure to determine all the logical consequences of this decision. Transitive closure computations are similar to matrix multiplications, from which they can be easily parallelized. For example, 10 October 1990
Moon, IEEE Trans. on Parallela
nd Distributed System, Vo
l. 1, pages 500-507, "reconfigurable bus
See the paper entitled "Constant Time Algorithms for Transitive Closure and Related Graph Problems for Processor Arrays with Systems".

【0011】基本的に、本発明のプロセスは以下のよう
に要約できる。すなわち: 1.まず故障回路を引き出して、それを故障のない回路
と組み合わせて、複合回路を形成する。 2.複合回路のエネルギ関数を、回路におけるゲートの
関数に依存した機能的制約、並びにゲートの特定の相互
接続トポロジには依存しているが、回路におけるゲート
の型式には無関係な構造的制約に基づいて2進及び3進
ポテンシャル項として引き出す。これを行うための各種
技術は、1990年9月,IEEE Transact
ion on Computer−Aided Des
ign,Vol.9,ページ981〜994,“大規模
並列自動テスト生成について”という名称の論文、19
90年10月,IEEE Design and Te
stof Computers,Vol.7,ページ5
6〜57,“論理回路の神経網及びブール充足可能性モ
デル”という名称の論文、そして1989年8月,Pr
oc. of the IEEE Internati
onal TestConference,ページ79
5〜801における“ブール微分を使用したテストパタ
ーンの能率的生成”という名称の論文に記述されてい
る。 3.インプリケーション・グラフと、2進項として表せ
る制約のTCとを決定し、そして矛盾,同定,固定及び
排除のような論理的結論を照合する。もしも矛盾が検出
されるならば、その故障は冗長である。もしもかくして
決定された信号値が複合回路の全エネルギ関数を満たす
とすると、我々はテストを持つ。さもなければ、それま
でに決定された信号値の部分集合を使用して、その3進
項の幾つかを2進項へと簡約することになる。こうした
項を、インプリケーション・グラフを更新するために使
用するとともに、TCを再計算して一層の論理的結論を
照合するために使用する。このプロセスは、2進関係へ
と簡約する3進関係がなくなるまで続行される。 4.割付けされていない判定変数について選択をする。
これは、3進項の幾らかが2進項になるのを可能にす
る。 5.新しい2進項を使用してインプリケーション・グラ
フを更新し、新しいTCを計算しそして付加的な論理的
結論を引き出し、もしもそこに矛盾があるならば、ステ
ップ4に戻ってそして割付けされていない判定変数につ
いて択一的選択を行う。再び、もしもその信号割付けが
複合回路のエネルギ関数に最小値を与えるとすると、我
々はテストを持つ。さもなければ、現行の信号割付け集
合により2進項に簡約された3進項をTCに加えて、そ
してステップ3に戻る。
Basically, the process of the present invention can be summarized as follows. That is: 1. First, the faulty circuit is extracted and combined with the fault-free circuit to form a composite circuit. 2. The energy function of a composite circuit is based on functional constraints that depend on the function of the gates in the circuit, as well as structural constraints that depend on the particular interconnection topology of the gates but not on the type of gate in the circuit. Extracted as binary and ternary potential terms. Various techniques for doing this are described in September 1990, IEEE Transact.
ion on Computer-Aided Des
ign, Vol. 9, pages 981-994, "About Large Scale Parallel Automatic Test Generation", 19
October 1990, IEEE Design and Te
stof Computers, Vol. 7, page 5
6-57, a paper entitled "Neural Networks and Boolean Satisfiability Models of Logic Circuits", and August 1989, Pr.
oc. of the IEEE International
onal TestConference, page 79
5-801 in the article entitled "Efficient Generation of Test Patterns Using Boolean Differentiation". 3. Determine the implication graph and the TC of the constraints that can be represented as binary terms and match the logical conclusions such as contradiction, identification, fixation and exclusion. If a contradiction is detected, the fault is redundant. If the signal value thus determined satisfies the total energy function of the composite circuit, we have a test. Otherwise, the subset of signal values determined so far will be used to reduce some of its ternary terms to binary terms. These terms are used to update the implication graph as well as to recalculate TC to match further logical conclusions. This process continues until there is no ternary relation that reduces to a binary relation. 4. Select the judgment variables that are not assigned.
This allows some of the ternary terms to become binary terms. 5. Update the implication graph using the new binary terms, calculate the new TC and draw additional logical conclusions, if there is a conflict then return to step 4 and the unassigned decision Make alternative choices for variables. Again, if that signal assignment gives the energy function of the composite circuit a minimum, we have a test. Otherwise, add the ternary term reduced to the binary term by the current signal allocation set to TC and return to step 3.

【0012】[0012]

【実施例】まず始めに、テストベクトル集合を展開する
ために使用される基本的手順について検討することは助
けとなろう。
EXAMPLES First, it will be helpful to consider the basic procedure used to develop a test vector set.

【0013】図1には、回路で生じるかもしれない可能
な故障のリストに関してその故障の各々に対するVLS
I回路をテストするベクトル集合を展開するために使用
される手続全体を例示している図が示されている。
FIG. 1 shows the VLS for each of the faults with respect to the list of possible faults that may occur in the circuit.
A diagram illustrating the entire procedure used to develop a vector set for testing I circuits is shown.

【0014】テスト生成器10には、有り得る故障が記
憶されているファイル、つまりデータ集合である故障リ
スト11から、テストされるべき特定の故障が供給され
る。また、テスト生成器10には、回路ネットリスト1
2の形態においてテストされる回路のパラメータも供給
される。所定の故障及び回路ネットリストに対し、テス
ト生成器は特定の故障をテストする際に使用するための
特定のベクトルを与える。展開されたテストベクトル1
3は、故障リスト11における他の故障をテストするた
めの特定のテストベクトルの適合性を認識するように設
計されている故障シミュレータ14に供給される。かか
る他の有り得る故障は、故障リストを更新し、かかる他
の故障を故障リスト11から削除するために手段15に
おいて使用されるので、いずれかのかかる他の故障に対
する分離ベクトルは生成される必要がない。
The test generator 10 is supplied with a specific fault to be tested from a file in which possible faults are stored, that is, a fault list 11 which is a data set. The test generator 10 also includes a circuit netlist 1
The parameters of the circuit tested in the two forms are also provided. For a given fault and circuit netlist, the test generator provides a particular vector for use in testing the particular fault. Expanded test vector 1
3 is fed to a fault simulator 14, which is designed to recognize the suitability of a particular test vector for testing other faults in the fault list 11. Since such other possible faults are used in the means 15 to update the fault list and delete such other faults from the fault list 11, a separation vector for any such other faults needs to be generated. Absent.

【0015】もしも故障が冗長故障であるならば(テス
トベクトルが有り得ない故障)、かかる故障は更新故障
リスト手段15を使用することにより故障リストから除
かれる。
If the fault is a redundant fault (a fault that has no test vector), then such fault is removed from the fault list by using the updated fault list means 15.

【0016】更に、更新故障リスト手段15が更新され
るにつれて、リスト11上に残る故障の情報は、網羅度
チェック手段16により、可能な故障の所望の網羅度が
到達されたかどうかを確認するためにチェックされ、そ
の答えがYesである場合、そのプロセスは停止され
る。網羅度チェックは、テストベクトル集合が前以って
指定された端数の故障をそのチップにおいて検出するか
どうかを決定する。
Further, as the updated fault list means 15 is updated, the information of the faults remaining on the list 11 is checked by the coverage check means 16 to confirm whether or not the desired coverage of possible faults has been reached. And the answer is yes, the process is stopped. The coverage check determines whether the test vector set detects a prespecified number of faults on the chip.

【0017】この基本システムつまりプロセスにおい
て、本発明はテスト生成ステップつまりコンポーネント
上に中心を置く。
In this basic system or process, the invention centers on test generation steps or components.

【0018】図2及び図3は、テスト生成を達成するた
めの基本ステップのフローチャートとして、つまりテス
ト生成を達成するための手段の組み合わせとして見られ
たい。
2 and 3 should be viewed as a flow chart of the basic steps for achieving test generation, ie a combination of means for achieving test generation.

【0019】本発明の実施例に従って適当なテストベク
トル集合を生成するプロセスは回路準備段階100でも
って始まる。
The process of generating a suitable test vector set in accordance with an embodiment of the present invention begins with circuit preparation step 100.

【0020】この段階は、テスト中での回路並びにチェ
ックされる予定の特定の故障に対するインプリケーショ
ン・グラフの生成において最高点に達する一連のステッ
プを含んでいる。この段階に対しては各種技術が利用で
きるけれども、以下に記述されるものは回路計算量がか
なりのときに好ましい。
This stage involves a series of steps to reach a peak in the generation of an implication graph for the circuit under test as well as the particular fault to be checked. Although various techniques are available for this stage, the ones described below are preferred when the circuit complexity is significant.

【0021】特に、我々の例示的プロセスは、1990
年9月,IEEE Trans.on Compute
r−Aided Design,Vol.9,No.
9,ページ981〜994,“大規模並列自動テスト生
成について”という名称の論文に記述されているよう
に、その回路機能がニューロンつまり神経細胞の発火し
きい値及び相互接続リンクでの重みにおいて符号化され
る複合回路網として、故障のない及び故障のある回路機
能を組み合わせることにより形成されるテストされるべ
きディジタル回路を表していることを含んでいるステッ
プ101でもって始まる。このために、そこでは、19
90年6月24日,第27回 ACM/IEEE De
sign Automation Conferenc
eで提示された“2次0−1プログラミングを使用した
自動テスト生成”という名称の論文において記述されて
いる態様でステップ103により示されているように、
自動テスト生成回路網が生成される神経回路網エネルギ
関数が引き出される。こうした最後に述べた2つの刊行
物の両方において、我々は3人の著者のうちの2人とし
て含まれた。こうした2つの刊行物の方法論において、
論理ゲートの入力及び出力信号状態間における関係は、
最小エネルギ状態がそのゲートの論理機能に対応するよ
うにエネルギ関数を通して表される。このエネルギ関数
Eは2つの副機能,同次ポジフォームEH 及び非同次ポ
ジフォームEI へと分割される。この技術において、ポ
ジフォーム(正の疑似ブール形態)は単項式に正の係数
を加えたものである。同次ポジフォームは定数項を持た
ないものであり、従って、2進項のみからなっている。
非同次ポジフォームは定数項を持ち、3進ポテンシャル
項のみからなっている。所望の最小値は、各々が0の最
小値を持っている2つの副関数の最小値の和である。最
後に述べた論文で記述されているように、同次ポジフォ
ームは多くの最小化する点を指数的に持つことになる。
最小値を見出すのを助けるために、その同次ポジフォー
ムは初めに、インプリケーション・グラフを直接に引き
出すために使用される。残りの非同次ポジフォームは、
ステップ103により示されているように、初期のイン
プリケーション・グラフを更新する際に後で少しずつ使
用されることになる補助情報を含むとして取り扱われ
る。この2段プロセスは、エネルギ関数の全体が一緒に
考慮されたとした場合よりも所望の最小値を見出すこと
をかなり容易にする。
In particular, our exemplary process is described in 1990.
September, IEEE Trans. on Compute
r-Aided Design, Vol. 9, No.
9, pages 981-994, whose circuit functions are coded in firing thresholds of neurons or nerve cells and weights at interconnecting links, as described in a paper entitled "About Large-Scale Parallel Automatic Test Generation". Beginning with step 101, which includes representing a digital circuit to be tested formed by combining fault-free and faulty circuit functions as a composite network to be embodied. For this reason, there are 19
June 24, 1990, 27th ACM / IEEE De
sign Automation Conference
As indicated by step 103 in the manner described in the paper entitled "Automatic Test Generation Using Secondary 0-1 Programming" presented in e.
The neural network energy function from which the automatic test generation network is generated is derived. In both of these last two publications we were included as two of the three authors. In the methodology of these two publications,
The relationship between the input and output signal states of a logic gate is
The minimum energy state is represented through the energy function to correspond to the logic function of that gate. This energy function E is divided into two sub-functions, a homogeneous positive form E H and an inhomogeneous positive form E I. In this technique, the positive form (positive pseudo-Boolean form) is the monomial plus a positive coefficient. Homogeneous positive forms do not have a constant term and therefore consist only of binary terms.
The non-homogeneous positive form has a constant term and only a ternary potential term. The desired minimum value is the sum of the minimum values of the two subfunctions, each having a minimum value of zero. As described in the last paper, homogeneous positive forms will have many minimizing points exponentially.
To help find the minimum, the homogeneous positive form is first used to derive the implication graph directly. The remaining non-homogeneous positive forms are
As indicated by step 103, it is treated as containing ancillary information that will be used incrementally later in updating the initial implication graph. This two-stage process makes it much easier to find the desired minimum than if the entire energy function were considered together.

【0022】前にも示されたように、有向グラフの推移
閉包を計算するステップ105は周知のプロセスであっ
て、McGraw Hill 1990,“アルゴリズ
ムへの序説”という名称の本において論議されている。
我々の特定の実施例において、我々は、図18〜図22
を参照して論議されるであろうように、このプロセスの
修正を使用している。推移閉包の重要な応用は2進関係
の集合により意味づけされるすべての論理的結論を引き
出すことにある。
As previously indicated, the step 105 of computing the transitive closure of a directed graph is a well known process and is discussed in the book McGraw Hill 1990, "Introduction to Algorithms".
In our particular embodiment, we refer to FIGS.
Using a modification of this process, as will be discussed with reference to. An important application of transitive closure lies in drawing all the logical conclusions implied by the set of binary relations.

【0023】TCからは、そこにステップ106により
示されるような矛盾があるかどうかが決定される。もし
も矛盾があるならば、その故障は冗長であり、この故障
は前にも述べたようにその故障リストから削除される。
もしもTCにより検出される矛盾がなければ、我々は、
ステップ107でのように、何等かの固定,同定及び排
除があるかどうかを調べる。もしもその答えがYesで
あるならば、この情報は、ステップ108により示され
ているように、EI から項をとりそしてステップ105
により示されるように推移閉包を再び計算することによ
り同次ポジフォームEH を更新するために使用され、そ
してプロセスは繰り返される。もしも固定,排除及び同
定がないとすると、我々はテスト生成の最終の分枝限定
相を使用する(図3)。
From the TC, it is determined if there is a conflict, as indicated by step 106. If there is a contradiction, the fault is redundant and this fault is removed from the fault list as previously described.
If there is no discrepancy detected by TC, we
Check, as in step 107, if there is any fixation, identification and exclusion. If the answer is yes, this information takes the term from E I , as indicated by step 108, and step 105.
Is used to update the homogeneous positive form E H by recalculating the transitive closure as shown by, and the process is repeated. If there is no fixation, exclusion and identification, we use the final branch and bound phase of test generation (Figure 3).

【0024】ステップ121で示されているように、そ
こでは、初期冗長性同定相から受信した情報から、包含
されている変数の順序付きリストが用意される。その
後、ステップ122により示されているように、順序付
きリスト上での次の割付けがされていない変数はスタッ
ク上へプッシュされ、そしてステップ123により示さ
れているように、値(0又は1)がそのスタックの頂部
でその変数に割付けされる。ステップ124により示さ
れているように、この値は、EH 及びその現行のインプ
リケーション・グラフを更新し、その後、ステップ12
5により示されているように推移閉包を再計算するため
に使用される。その後、ステップ126においては、矛
盾の存在がチェックされる。もしも矛盾があるならば、
ステップ127において、スタック上での頂部変数が割
付けされた0及び1でもってテストされたかどうかがチ
ェックされる。もしもその答えがNoであるならば、ス
テップ128において、或る値がスタックにおける頂部
変数に割付けされ、再割付けされた変数がステップ12
4及び125へと供給される。その後、ステップ126
において、再び、矛盾の有無がチェックされる。もしも
答えが再びYesであるならば、今度は、ステップ12
7における答えもYesであり、そのリテラルは、スタ
ック132で示されているように、そのスタックからポ
ップされる。
As shown at step 121, there is provided an ordered list of included variables from the information received from the initial redundancy identification phase. The next unallocated variable on the ordered list is then pushed onto the stack, as indicated by step 122, and the value (0 or 1), as indicated by step 123. Is assigned to the variable at the top of the stack. This value updates E H and its current implication graph, as indicated by step 124, after which step 12
It is used to recalculate the transitive closure as shown by 5. Then, in step 126, the existence of a conflict is checked. If there is a contradiction,
In step 127 it is checked whether the top variable on the stack has been tested with the assigned 0's and 1's. If the answer is no, at step 128 some value is assigned to the top variable in the stack and the reallocated variable is taken at step 12
4 and 125. Then, step 126
At, again, the presence or absence of a contradiction is checked. If the answer is yes again, then step 12
The answer at 7 is also Yes, and the literal is popped from that stack, as shown in stack 132.

【0025】次に、ステップ129では、スタックが空
であるかどうかがチェックされる。もしもその答えがY
esであるならば、テストされつつある故障は冗長であ
る。もしもその答えがNoであるならば、ステップ12
7に戻る。
Next, in step 129, it is checked whether the stack is empty. If the answer is Y
If es, then the fault being tested is redundant. If the answer is no, step 12
Return to 7.

【0026】もしもステップ126の答えがNoである
ならば、推移閉包が、ステップ130により示されるよ
うに、排除,固定及び同定に対して調べられる。もしも
いずれかがあったならば、ステップ124に戻って、E
H 及びインプリケーション・グラフを更新し、引き続
き、前と同様に進行する。
If the answer in step 126 is no, the transitive closure is examined for exclusion, fixation and identification, as indicated by step 130. If there is any, go back to step 124 and E
Update H and Implication Graph and continue as before.

【0027】もしもステップ130の答えがNoである
ならば、ステップ131に進んで、いずれかの割付けさ
れていない変数がリストに残っているかどうかがチェッ
クされる。もしもその答えがNoであるならば、それ
は、良いテストが見出されたことに対応する。もしもそ
の答えがYesであるならば、変数がそのリストに残っ
ているので、ステップ122に戻って、リスト上におけ
る次の割付けされていない変数をスタックの頂部へプッ
シュする。このプロセスは、リスト上におけるすべての
変数が循環されるまで、繰り返される。
If the answer to step 130 is no, then step 131 is entered to check if any unassigned variables remain in the list. If the answer is no, it corresponds to a good test being found. If the answer is yes, the variable is still in the list, so return to step 122 to push the next unallocated variable on the list to the top of the stack. This process is repeated until all variables on the list have been cycled.

【0028】さて、ここでは簡単な例を通して我々の方
法を示す。図5の回路について検討しよう。この回路は
入力a及びbそして出力cを持つNANDゲート50
と、入力b及びcそして出力dを持つNANDゲート5
2とからなっている。我々は、NANDゲート50のc
出力上において、“0縮退”(s−a−0)故障54に
対するテストを引き出すことになる。
Now, we will show our method through a simple example. Consider the circuit of FIG. This circuit has a NAND gate 50 with inputs a and b and output c.
And NAND gate 5 with inputs b and c and output d
It consists of 2. We are the NAND gate c
On output, it will bring out a test for a "stuck-at-0" (s-a-0) fault 54.

【0029】第1に、我々は、入力bを共有し、新しい
入力c′及び新しい出力d′を持つNAND回路55が
図5に示されている回路に付加されている、図6に示さ
れているような、複合回路を形成する。また、そこに
は、エネルギ最小化解析を簡略化するdとd′との間に
おける関係を想定したインバータ56が点線で示されて
いる。この回路に対して、我々は機能的及び構造的制約
を引き出す。 (1)機能的制約の導出。こうした制約は回路で使用さ
れるゲートの機能に依存する。 (2)構造的制約の導出。こうした制約はゲートの特定
の相互接続トポロジに依存するが、回路で使用されるゲ
ート型式には無関係である。
First, we show in FIG. 6 that a NAND circuit 55 sharing input b and having a new input c'and a new output d'is added to the circuit shown in FIG. To form a composite circuit. Further, there is shown a dotted line of the inverter 56 that assumes a relationship between d and d ′ that simplifies the energy minimization analysis. For this circuit we derive functional and structural constraints. (1) Derivation of functional constraints. These constraints depend on the functionality of the gates used in the circuit. (2) Derivation of structural constraints. These constraints depend on the particular interconnect topology of the gates, but are independent of the gate type used in the circuit.

【0030】機能的制約:故障位置から主要な出力への
経路上にある信号は故障のない及び故障のある回路にお
いて異なる値をとる。それ故、付加的な2進変数はそう
した信号に割付けされる。我々の例において、信号c及
びdはその故障位置から主要な出力への経路上にあり、
そして我々は2つの2進変数c′及びd′をそれぞれ割
付けする。概念的に、これは、図6に示されているよう
に、NANDゲート55の付加により、故障のある回路
コピーの構成として可視化される。修正された回路に対
するエネルギ関数はゲートc,d及びd′(ゲートはそ
の出力信号の名によりアドレス指定される)に対するエ
ネルギ関数の総計によって与えられる。更に、信号c及
びc′は論理値1及び0をそれぞれとるように拘束され
る。すべての機能的制約は多くの信号において線形であ
る時間計算量においてその回路のネットリストから決定
される。
Functional Constraints: The signals on the path from the fault location to the main output have different values in the fault-free and faulty circuits. Therefore, additional binary variables are assigned to such signals. In our example, signals c and d are on the path from their fault location to the main output,
And we assign two binary variables c'and d ', respectively. Conceptually, this is visualized as the configuration of a faulty circuit copy by the addition of NAND gate 55, as shown in FIG. The energy function for the modified circuit is given by the sum of the energy functions for gates c, d and d '(the gate is addressed by the name of its output signal). Furthermore, the signals c and c'are constrained to take the logical values 1 and 0 respectively. All functional constraints are determined from the circuit's netlist in a time complexity that is linear in many signals.

【0031】構造的制約:我々は、経路変数と呼ばれる
2進変数Sx を、故障位置から主要な出力への経路上に
あるあらゆる信号xへと割付けする。この変数は、x上
での故障がその主要な出力で観察可能であるときにのみ
論理値1をとる。我々の例において、信号c及びdには
2進変数Sc 及びSd が割付けされる。ここには2つの
型式の構造的制約がある。両者は多くの信号において線
形である時間計算量においてその回路のネットリストか
ら引き出される。初めに、ゲート上における入力故障
は、ゲート出力故障が観察し得るときにのみ観察可能で
ある。逆は真理である必要がないことに注意されたい。
我々の例において、もしもSc =1であるならば、Sd
は値1をとらなければならない。この制約は以下のよう
に、つまり、
Structural Constraints: We assign a binary variable S x , called the path variable, to every signal x on the path from the fault location to the main output. This variable takes a logical 1 only when a fault on x is observable at its primary output. In our example, the signals c and d are assigned the binary variables S c and S d . There are two types of structural constraints here. Both are derived from the circuit's netlist in a time complexity that is linear in many signals. First, the input fault on the gate is observable only when the gate output fault can be observed. Note that the reverse need not be the truth.
In our example, if S c = 1 then S d
Must take the value 1. This constraint is as follows:

【0032】[0032]

【数3】 [Equation 3]

【0033】のように表される。観察可能になる幹故障
に対して、その故障は1つ以上の分枝を通して伝搬しな
ければならない。このケースはここでの例には応用でき
ない。第2に、もしも信号xと関連する経路変数が真理
であるとすると、信号xは故障のない及び故障のある回
路において異なる値をとらなければならない。もしも故
障のある回路の値がx′であるならば、この制約は
It is expressed as follows. For a trunk fault to become observable, the fault must propagate through one or more branches. This case cannot be applied to the example here. Second, if the path variable associated with signal x is true, then signal x must take different values in the fault-free and faulty circuits. If the value of the faulty circuit is x ', then this constraint is

【0034】[0034]

【数4】 [Equation 4]

【0035】のエネルギ関数として表される。この条件
は2進関係として表せない。観察可能になる故障にとっ
て、故障位置及びその主要な出力に関連した経路変数は
1であるように拘束される。故に、我々の例において、
c =Sd =1である。
It is expressed as an energy function of This condition cannot be expressed as a binary relation. For a fault to become observable, the path variables associated with the fault location and its primary output are constrained to be one. So in our example,
S c = S d = 1.

【0036】要約するに、機能的制約は次のように、つ
まり、
In summary, the functional constraints are as follows:

【0037】[0037]

【数5】 [Equation 5]

【0038】として示される。構造的制約は、Denoted as Structural constraints are

【0039】[0039]

【数6】 [Equation 6]

【0040】となる。It becomes

【0041】機能的制約と構造的制約との総和は故障を
持つ回路に対するエネルギ関数である。ディジタル回路
のエネルギ関数はすべてのゲートに対するエネルギ関数
の総和である。テスト生成手順は次のステップから成っ
ている。すなわち、 1.故障に対する機能的及び構造的制約を引き出す。 2.インプリケーション・グラフにおいて表現可能な制
約のTCを2進関係として決定し、そして矛盾,同定,
固定及び排除(TCからの論理的結論の導出は後で記述
される)を照合する。もしも矛盾が検出されるならば、
その故障は冗長である。もしもかくして決定された信号
値がエネルギ関数を満たすとすると、我々はテストを持
つ。さもない場合、それまでに決定された信号値の部分
集合は、その変数のうちのいずれか1つが既知な値をと
るときに3進項が2進項になるので、3進項の或るもの
を2進項へと簡約する。我々はそうした項をTCに包含
させ、そして論理的結論を再計算する。このプロセスは
2進項に簡約される3進項がなくなるまで継続される。 3.割付けされていない判定変数に関した選択をする。
これは3進項の或るものが2進項になるのを可能にす
る。 4.新しい2進項をTCに含ませ、そしていずれかの矛
盾,同定,固定及び排除を観察する。もしもそこに矛盾
があるならば、我々はステップ3に戻って、二者択一的
選択をする。もしもその信号割付けがそのエネルギ関数
を満たすとすると、我々はテストを持ちそして停止す
る。さもない場合、現行の組み合わせでの信号割付けに
より2進項へと簡約された3進項はその推移閉包に加え
られる。我々はこのプロセスを、2進項へ簡約される3
進項がなくなるまで、継続し、そしてステップ3へと行
く。
The sum of the functional and structural constraints is the energy function for the faulty circuit. The energy function of a digital circuit is the sum of energy functions for all gates. The test generation procedure consists of the following steps. That is, 1. Bring out functional and structural constraints on failures. 2. The TC of constraints that can be expressed in the implication graph is determined as a binary relation, and contradiction, identification,
Match locks and exclusions (the derivation of logical conclusions from TC is described later). If a conflict is detected,
The failure is redundant. If the signal value thus determined satisfies the energy function, we have a test. Otherwise, the subset of signal values determined up to that point will have some of the ternary terms as 2 because the ternary term becomes a binary term when any one of its variables has a known value. Reduce to a base. We include these terms in the TC and recalculate the logical conclusions. This process continues until there are no ternary terms that reduce to binary terms. 3. Make selections regarding unassigned decision variables.
This allows some of the ternary terms to become binary terms. 4. Include the new binary term in the TC and observe any discrepancies, identifications, fixations and exclusions. If there is a contradiction, we return to step 3 and make a binary choice. If the signal assignment satisfies the energy function, we have a test and stop. Otherwise, the ternary terms reduced to binary terms by signal assignment in the current combination are added to the transitive closure. We reduce this process to binary terms 3
Continue until there are no more binaries, then go to step 3.

【0042】我々は信号c上においてs−a−0(0縮
退)故障に対するテストを引き出すので、c=1,c′
=0,Sc =Sd =1を得、そして我々の制約集合は、
Since we derive a test for an s-a-0 (stuck-at-0) fault on signal c, c = 1, c '
= 0, S c = S d = 1 and our constraint set is

【0043】[0043]

【数7】 [Equation 7]

【0044】となる。すべての項は2進項として表現さ
れる。
It becomes All terms are expressed as binary terms.

【0045】図7には結果的に得られるインプリケーシ
ョン・グラフが示されている。それは、変数に対する頂
点及びそれらの補集合から成っている。ここで、頂点集
合は
The resulting implication graph is shown in FIG. It consists of vertices for variables and their complements. Where the vertex set is

【0046】[0046]

【数8】 [Equation 8]

【0047】である。制約ab=0は、弧It is The constraint ab = 0 is an arc

【0048】[0048]

【数9】 [Equation 9]

【0049】としてそれぞれ表されている1対の2進関
A pair of binary relations, each represented as

【0050】[0050]

【数10】 [Equation 10]

【0051】として表現できる。他の項による弧は同様
に引き出される。
Can be expressed as Arcs from other terms are similarly derived.

【0052】図8には、インプリケーション・グラフの
マトリクス形態における推移閉包が示されている。これ
は、標準のグラフ−理論的技術か又は図22〜図24に
示されている好ましい技術を使用して計算される。以下
の型式の論理的結論は2進項により示され、それらは次
のように、TCから決定される。つまり: 1.矛盾:変数xは、TCが弧
FIG. 8 shows the transitive closure in the matrix form of the implication graph. This is calculated using standard graph-theoretical techniques or the preferred techniques shown in Figures 22-24. The following types of logical conclusions are indicated by binary terms, which are determined from TC as follows: That is: 1. Contradiction: Variable x is TC arc

【0053】[0053]

【数11】 [Equation 11]

【0054】から成っているとき、0及び1の値を同時
にとらなければならない。もしも、この状況が、探索プ
ロセスの開始前又は探索空間が暗黙のうちに使いつくさ
れた後に生ずるとすると、その故障は冗長である。もし
も探索プロセス中に矛盾が生じるならば、我々は前の選
択に戻らなければならない。 2.固定:変数xは、TCが、弧
When consisting of, the values 0 and 1 must be taken at the same time. If this situation occurs before the start of the search process or after the search space has been implicitly exhausted, then the fault is redundant. If inconsistencies arise during the search process, we must return to our previous choice. 2. Fixed: TC is an arc for the variable x

【0055】[0055]

【数12】 [Equation 12]

【0056】ではなくて、弧Not an arc

【0057】[0057]

【数13】 [Equation 13]

【0058】から成ることを条件に、値cに固定され
る。同様に、もしもTCが、弧
It is fixed to the value c on condition that it consists of Similarly, if TC is an arc

【0059】[0059]

【数14】 [Equation 14]

【0060】ではなくて、Instead of

【0061】[0061]

【数15】 [Equation 15]

【0062】から成るとすると、変数xは1において固
定される。 3.同定:もしもTCが弧(x,y)及び(y,x)か
ら成るならば、或る対のリテラルは同じ値をとらなけれ
ばならない。図19〜図21は、同定の例として有用な
回路60と、この性質がいかに使用されるのかとを示し
ている。それは、入力a及びbそして出力cを持つ排他
的ORゲート61と、入力a及びbそして出力dを持つ
排他的NOR回路62と、入力c(c=0)及びdそし
て出力eを持つORゲート63とから成っている。
The variable x is fixed at 1 if it consists of 3. Identification: If TC consists of arcs (x, y) and (y, x), then a pair of literals must take the same value. 19-21 show a circuit 60 useful as an example of identification and how this property is used. It is an exclusive OR gate 61 having inputs a and b and output c, an exclusive NOR circuit 62 having inputs a and b and output d, and an OR gate having inputs c (c = 0) and d and output e. It consists of 63 and.

【0063】図20は回路の部分的表示のみのインプリ
ケーション・グラフである。回路情報の残りは、2進関
係でないために、インプリケーション・グラフにおける
包含に適合していない非同次項に含まれる。非同次項
は、
FIG. 20 is an implication graph of only a partial representation of the circuit. The rest of the circuit information is contained in inhomogeneous terms that are not eligible for inclusion in the implication graph because they are not binary related. The non-homogeneous term is

【0064】[0064]

【数16】 [Equation 16]

【0065】である。インプリケーション・グラフか
ら、a=b、そしてe=dであるので、含まれていない
2つの項の第2のものは
It is From the implication graph, a = b and e = d, so the second of the two terms not included is

【0066】[0066]

【数17】 [Equation 17]

【0067】となり、こうした項は図21に示されてい
るように、そのインプリケーション・グラフに加えられ
る。このグラフは固定
And such terms are added to its implication graph, as shown in FIG. This graph is fixed

【0068】[0068]

【数18】 [Equation 18]

【0069】になり、それには、cが1に等しいことを
必要とする。 4.排除:これは、或る対の変数が或る組み合わせでの
値をとれない大局的従属性である。もしも推移閉包が弧
Which requires that c equals 1. 4. Exclusion: This is a global dependency in which a pair of variables cannot take a value in a combination. If transitive closure is an arc

【0070】[0070]

【数19】 [Formula 19]

【0071】から成り、変数xとyとの間に他の弧がな
いとすると、その組み合わせx=1及びy=0は排除さ
れる。これは、そうした弧が
If there are no other arcs between the variables x and y, then the combination x = 1 and y = 0 is eliminated. This is because such an arc

【0072】[0072]

【数20】 [Equation 20]

【0073】を意味し且つ上述した組み合わせがこの関
係を満たさないためである。
This is because the above-mentioned combination does not satisfy this relationship.

【0074】例として、図25に示されている回路20
0の部分を検討する。この回路は、入力a及びbそして
出力dを持つNANDゲート201と、入力a及びcそ
して出力eを持つNANDゲート202とを含んでい
る。出力d及びeはORゲート203への入力となって
おり、ORゲート203は出力gを持っている。入力b
及びcは排他的ORゲート204の入力となっており、
その出力はfである。或る故障に対するテスト生成中、
信号g及びfには、示されているように、値1及び0が
それぞれ割付けされたものと仮定する。こうした信号割
付けにより、ゲートg及びfの機能的制約は、
As an example, the circuit 20 shown in FIG.
Consider the 0 part. This circuit includes a NAND gate 201 having inputs a and b and output d, and a NAND gate 202 having inputs a and c and output e. The outputs d and e are inputs to the OR gate 203, and the OR gate 203 has an output g. Input b
And c are inputs to the exclusive OR gate 204,
Its output is f. During test generation for a fault,
It is assumed that the signals g and f have been assigned the values 1 and 0, respectively, as shown. Due to such signal allocation, the functional constraint of the gates g and f is

【0075】[0075]

【数21】 [Equation 21]

【0076】に簡素化する。ゲートd及びeに対する機
能的制約は、
It is simplified to Functional constraints on gates d and e are:

【0077】[0077]

【数22】 [Equation 22]

【0078】である。こうした機能的制約での2進項に
対するインプリケーション・グラフは図26に示されて
いる。もしも我々がインプリケーション・グラフの推移
閉包を計算するならば、信号b及びcが同定を形成する
か又は、それらが同じ値をとらなければならないことに
気付くことになる。更に、その推移閉包は、制約
It is The implication graph for a binary term with these functional constraints is shown in FIG. If we compute the transitive closure of the implication graph, we will notice that the signals b and c form the identity or they must take the same value. Moreover, its transitive closure is a constraint

【0079】[0079]

【数23】 [Equation 23]

【0080】を意味する弧An arc that means

【0081】[0081]

【数24】 [Equation 24]

【0082】から成っている。故に、d+e=1であ
る。信号b及びcの同定及びd+e=1の条件を使用す
ると、3進項abd=0及びace=0は、ab=0に
簡素化される。
It consists of: Therefore, d + e = 1. Using the identification of the signals b and c and the condition of d + e = 1, the ternary terms abd = 0 and ace = 0 are simplified to ab = 0.

【0083】我々は、制約ab=0をインプリケーショ
ン・グラフに含める。図27には更新されたインプリケ
ーション・グラフが示されている。もしも我々が更新さ
れたインプリケーション・グラフの推移閉包を計算する
とすると、我々は、信号d及びeが値1に固定されると
いうことを観察する。
We include the constraint ab = 0 in the implication graph. The updated implication graph is shown in FIG. If we compute the transitive closure of the updated implication graph, we observe that the signals d and e are fixed at the value 1.

【0084】一般に、もしもその推移閉包が、変数In general, if the transitive closure is a variable

【0085】[0085]

【数25】 [Equation 25]

【0086】間での他の弧ではなくて、弧Arcs, not other arcs between

【0087】[0087]

【数26】 [Equation 26]

【0088】から成るとすると、変数xとxとの間での
制約は、
The constraint between the variables x and x, if

【0089】[0089]

【数27】 [Equation 27]

【0090】である。それ故、x及びyは、組み合わせ
x=1及びy=0を除いたいずれかの組み合わせの値を
とることができる。これは、
It is Therefore, x and y can take the values of any combination except the combination x = 1 and y = 0. this is,

【0091】[0091]

【数28】 [Equation 28]

【0092】であることを意味し、その3進項は更に簡
素化される。
Which means that the ternary term is further simplified.

【0093】図5での信号c上においてs−a−0故障
に対するテスト生成プロセスを継続すると、図8に示さ
れている推移閉包は弧
Continuing the test generation process for the s-a-0 fault on signal c in FIG. 5, the transitive closure shown in FIG.

【0094】[0094]

【数29】 [Equation 29]

【0095】を含み、それ故、我々は固定a=0を持
つ。同様にして、b=d′=1そしてd=0である。す
べての主要な入力信号は決定されたので、探索相に対す
る必要性はない。ベクトルa=0,b=1は図5に示さ
れている回路における故障c s−a−0に対するテス
トである。
, We therefore have a fixed a = 0. Similarly, b = d '= 1 and d = 0. Since all major input signals have been determined, there is no need for a search phase. Vectors a = 0 and b = 1 are tests for fault c s-a-0 in the circuit shown in FIG.

【0096】含意,正当化,静的学習,動的学習及びド
ミネータの活性化の技術はTC法に暗に含まれている。
また、後でも説明するように、論理的なドミネータつま
り支配的因子は暗黙のうちに活性化される。更に、他の
技術によっては検出できない困難な冗長性を検出するこ
とが可能である。
The techniques of implications, justification, static learning, dynamic learning and dominator activation are implicitly included in the TC method.
As will be explained later, the logical dominator, that is, the dominant factor, is implicitly activated. Furthermore, it is possible to detect difficult redundancies that cannot be detected by other techniques.

【0097】暗黙の含意(インプリケーション)及び正
当化 図9に示されている回路について検討する。これはNA
ND回路30,31及び32を含んでいる。NAND回
路30は入力a及びbそして出力dを持ち、NAND回
路31は入力b及びcそして出力eを持ち、そしてNA
ND回路32は入力d及びeそして出力fを持ってい
る。ゲートd,e及びfに対するエネルギ関数の総和で
あるこの回路に対するエネルギ関数は、次の2進項、つ
まり、
Implicit Implications and Justification Consider the circuit shown in FIG. This is NA
It includes ND circuits 30, 31 and 32. NAND circuit 30 has inputs a and b and output d, NAND circuit 31 has inputs b and c and output e, and NA
The ND circuit 32 has inputs d and e and an output f. The energy function for this circuit, which is the sum of the energy functions for gates d, e and f, is the following binary term:

【0098】[0098]

【数30】 [Equation 30]

【0099】から成っている。It consists of:

【0100】それら2進項は図10に示されているIG
に表されている。また、このグラフはそれ自身のTCに
なるように生じる。TCの隣接マトリクスは図11に示
されている。
Those binary terms are the IG shown in FIG.
It is represented in. Also, this graph occurs to have its own TC. The TC adjacency matrix is shown in FIG.

【0101】d=0と仮定する。前進インプリケーショ
ンはf=1となり、正当化はa=b=1となる。これは
TC法において暗黙のうちに決定される。すなわち: 1.弧
Assume d = 0. The forward implication is f = 1 and the justification is a = b = 1. This is implicitly determined in the TC method. That is: 1. Arc

【0102】[0102]

【数31】 [Equation 31]

【0103】を加えることにより図10のIGに関係d
=0を含める。更新されたIGは図12に示されてい
る。 2.更新されたインプリケーション・グラフのTCを構
成する。マトリクス形態における更新されたTCは図1
3に示されている。我々は、以下のように、図11に示
されているTCから更新された推移閉包をじかに引き出
すことができる。弧
The relationship d to the IG of FIG.
= 0 is included. The updated IG is shown in FIG. 2. Construct the TC of the updated implication graph. The updated TC in matrix form is shown in FIG.
3 is shown. We can directly derive the updated transitive closure from the TC shown in FIG. 11 as follows. Arc

【0104】[0104]

【数32】 [Equation 32]

【0105】の付加はdの先祖がThe addition of is the ancestor of d

【0106】[0106]

【数33】 [Expression 33]

【0107】のすべての子孫に到るのを可能にする。d
の先祖つまり頂点
Allows to reach all descendants of. d
The ancestor or vertex of

【0108】[0108]

【数34】 [Equation 34]

【0109】は図11での欄dでの1を持つ頂点であ
り、そして
Is the vertex with 1 in column d in FIG. 11, and

【0110】[0110]

【数35】 [Equation 35]

【0111】の子孫つまり頂点a,b及びfは列The descendants of vertices a, b and f are columns

【0112】[0112]

【数36】 [Equation 36]

【0113】での1を持つ頂点である。例えば、図11
で、d及びeのみに到達できる頂点
It is a vertex having 1 in 1. For example, in FIG.
And a vertex that can reach only d and e

【0114】[0114]

【数37】 [Equation 37]

【0115】は、いまや、頂点Is now the vertex

【0116】[0116]

【数38】 [Equation 38]

【0117】にも到達できる(図13を参照)。 3.図13の更新されたTCから論理的結論を引き出
す。そこには、弧
Can also be reached (see FIG. 13). 3. Draw logical conclusions from the updated TC of FIG. There is an arc

【0118】[0118]

【数39】 [Formula 39]

【0119】はあるが、弧There is an arc

【0120】[0120]

【数40】 [Formula 40]

【0121】はない。かくして、固定a=1は、弧There is no. Thus, fixed a = 1 is an arc

【0122】[0122]

【数41】 [Formula 41]

【0123】(この弧は関係(This arc is related

【0124】[0124]

【数42】 [Equation 42]

【0125】からのみ生ずることに注意)を満たすこと
のできる唯一の値である。同様にして、我々は、b=f
=1と結論することができる。
It is the only value that can satisfy the above). Similarly, we have b = f
It can be concluded that = 1.

【0126】含意及び正当化以上の推移閉包 図9の回路における信号fに値1が割付けされるケース
について検討する。これは、図14に通じるIGに対す
る弧
Implications and Transitive Closure Over Justification Consider the case where the signal f in the circuit of FIG. 9 is assigned the value 1. This is the arc for IG leading to FIG.

【0127】[0127]

【数43】 [Equation 43]

【0128】の付加となる。推移閉包は、以下に説明さ
れるように、信号bを論理値1に固定する。特に注意し
たいことは、f=1とすると、従来の含意及び正当化手
順では、信号bが1に固定されるべきものであると結論
することができないことである。
[0128] is added. Transitive closure fixes the signal b to a logical 1 as described below. Of particular note is that, for f = 1, the conventional implication and justification procedure cannot conclude that the signal b should be fixed at 1.

【0129】もしもf=1とすると、ゲートfの故障関
数における3変数項dcfはdcになる。関係
If f = 1, the three variable term dcf in the failure function of the gate f becomes dc. Relationship

【0130】[0130]

【数44】 [Equation 44]

【0131】の包含は図14のIGに対する次の弧、つ
まり
The inclusion of is the next arc for IG in FIG.

【0132】[0132]

【数45】 [Equation 45]

【0133】の付加となる。更新されたIGは図14に
示され、そして図15には、対応するTC隣接マトリク
スが与えられている。前に説明したように、我々はま
た、図11に示されているTCを漸増状に変えることに
より更新されたTCを構成することができる。
[0133] is added. The updated IG is shown in FIG. 14 and given in FIG. 15 the corresponding TC adjacency matrix. As explained previously, we can also construct an updated TC by incrementally changing the TC shown in FIG.

【0134】更新されたTC(図15)は、The updated TC (FIG. 15) is

【0135】[0135]

【数46】 [Equation 46]

【0136】に1を持っている。かくして、It has 1 in. Thus,

【0137】[0137]

【数47】 [Equation 47]

【0138】はbを意味している。しかし、bはMeans b. But b

【0139】[0139]

【数48】 [Equation 48]

【0140】を意味しない。それ故、弧Does not mean. Hence the arc

【0141】[0141]

【数49】 [Equation 49]

【0142】は関係Is the relationship

【0143】[0143]

【数50】 [Equation 50]

【0144】を示している。ここから、bは、f=1と
いう初期の固定の結果として、1に固定されなければな
らない。
Is shown. From here, b must be fixed at 1 as a result of the initial fixation of f = 1.

【0145】物理的及び理論的ドミネータの暗黙の活性
化 ドミネータは、故障が観察可能にされるようにするため
にそこを通して伝搬するゲートである。我々はかかるゲ
ートを物理的ドミネータと呼ぶ。例として、図9の回路
での0縮退故障bについて検討する。その故障が回路の
出力で観察可能であるようにゲートを通して伝搬しなけ
ればならないことは容易に理解でき、かくして、fは物
理的ドミネータとして照合される。信号aに値0が割付
けされる場合、その故障は、出力に達するように、ゲー
トcを通して伝搬しなければならない。ここで、ゲート
cは論理的ドミネータである。
Implicit Activation of Physical and Theoretical Dominators Dominators are gates that propagate through a fault so that it can be observed. We call such a gate a physical dominator. As an example, consider the stuck-at-0 fault b in the circuit of FIG. It is easy to see that the fault must propagate through the gate to be observable at the output of the circuit, thus f is matched as a physical dominator. If signal a is assigned the value 0, then the fault must propagate through gate c to reach the output. Here, the gate c is a logical dominator.

【0146】TC法は多くの物理的及び論理的ドミネー
タを暗黙のうちに照合しそして活性化する。我々はこう
した特長を例を通して示す。故障b s−a−0の物理
的ドミネータは、そうした経路変数、つまり、
The TC method implicitly matches and activates many physical and logical dominators. We demonstrate these features through examples. The physical dominator of the fault b s-a-0 is such a path variable:

【0147】[0147]

【数51】 [Equation 51]

【0148】により表されるように、その構造的制約か
ら純粋に決定される。最後の制約は、b上における幹故
障がその主要な出力で観察可能にされるようにするため
に、信号d,eのいずれか、又はその両方へ伝搬するこ
とを保証する。ここで、幹b上における故障は観察可能
であると仮定しているので、Sb は、初めに、1に設定
される。これは、3進項
It is purely determined from its structural constraints, as represented by: The last constraint ensures that the trunk fault on b propagates to either or both of the signals d, e in order to be observable at its primary output. Here, S b is initially set to 1 since it is assumed that the fault on trunk b is observable. This is a ternary term

【0149】[0149]

【数52】 [Equation 52]

【0150】を2進関係Binary relation

【0151】[0151]

【数53】 [Equation 53]

【0152】へと簡約する。こうした2進関係のTCは
f を1に固定する。故に、ゲートfはドミネータであ
る。もしもこの回路が大きい回路に埋め込まれたとして
さえ、fは故障のドミネータとして照合される。
We reduce to Such a binary TC fixes S f to 1. Therefore, the gate f is a dominator. Even if this circuit is embedded in a large circuit, f will be matched as a fault dominator.

【0153】論理的ドミネータの同定及び活性化の例と
して、信号aが論理値0に設定される場合を検討する。
幹b上における故障はゲートdへと伝搬できないので、
ゲートeは論理的ドミネータになる。更に、論理的ドミ
ネータeを活性化するには、信号cが1に設定されなけ
ればならない。論理的ドミネータ及び割付けe=1とし
てのeの同定は、その回路が大きな回路の一部であって
そしてそこに信号fから主要な出力への多重経路がある
場合でさえ、TC法によって暗黙のうちに決定される。
これを見るために、我々は故障を持つ回路に対するエネ
ルギ関数を構成する。概念的に、我々は故障のある回路
を図16に示されている修正された回路として可視化で
きる。図16に示されている回路はNANDゲート41
〜46と、各種の入力及び出力と、故障b s−a−0
とを含み、そこにおいて、bはNANDゲート41及び
42への入力となっている。機能的及び構造的制約を故
障回路のエネルギ関数に含ませ、インプリケーション・
グラフ及びTCを計算することにより、Se =1及びc
=1を得る。
As an example of identifying and activating a logical dominator, consider the case where signal a is set to a logical value of zero.
Since the failure on trunk b cannot propagate to gate d,
The gate e becomes a logical dominator. Furthermore, the signal c must be set to 1 to activate the logical dominator e. The identification of e as a logical dominator and the assignment e = 1 implies that by the TC method even if the circuit is part of a large circuit and there is a multipath from signal f to the main output. It will be decided at home.
To see this, we construct the energy function for the faulty circuit. Conceptually, we can visualize the faulty circuit as the modified circuit shown in FIG. The circuit shown in FIG. 16 has a NAND gate 41.
~ 46, various inputs and outputs, and failure bs-a-0
And where b is an input to NAND gates 41 and 42. Include functional and structural constraints in the energy function of the fault circuit to
By calculating the graph and TC, S e = 1 and c
= 1 is obtained.

【0154】冗長性同定 ここでは、1縮退故障kを持つ図17に示されている回
路について検討しよう。ここでの回路は、入力a及び
b、出力c及びdをそれぞれ持つ2つのインバータ60
及び61と、NANDゲート62,63,64及び65
とを含み、そのうち、NANDゲート62は入力a及び
bそして出力eを持ち、NANDゲート63は入力a及
びdそして出力fを持ち、NANDゲート64は入力c
及びbそして出力gを持ち、そしてNANDゲート65
は入力c及びdそして出力hを持っている。それは又、
入力e及びfそして出力iを持つNANDゲート67
と、入力g及びhそして出力jを持つNANDゲート6
8とを含んでいる。最後に、それは、入力i及びjそし
て出力kを持つNANDゲート69を含んでいる。a及
びbのすべての可能な組み合わせに対する回路をシミュ
レートすることによって、故障k s−a−1は冗長で
あることが照合される。故障は主要な出力上にあるの
で、我々は単に、信号k上での値0を正当化しなければ
ならない。回路のエネルギ関数から得られる2進項は図
18に表記されている。ゲートkに対するエネルギ関数
は、k=0であるので、
Redundancy Identification Now consider the circuit shown in FIG. 17 with a stuck-at-1 fault k. The circuit here consists of two inverters 60 with inputs a and b and outputs c and d respectively.
And 61 and NAND gates 62, 63, 64 and 65.
, Of which NAND gate 62 has inputs a and b and output e, NAND gate 63 has inputs a and d and output f, and NAND gate 64 has input c.
And b and output g, and NAND gate 65
Has inputs c and d and output h. It also
NAND gate 67 with inputs e and f and output i
And NAND gate 6 with inputs g and h and output j
Including 8 and. Finally, it includes a NAND gate 69 with inputs i and j and output k. By simulating the circuit for all possible combinations of a and b, the fault k s-a-1 is verified to be redundant. Since the fault is on the main output, we simply have to justify the value 0 on signal k. The binary term derived from the energy function of the circuit is shown in FIG. The energy function for gate k is k = 0, so

【0155】[0155]

【数54】 [Equation 54]

【0156】である。それ故、ゲートkは、項i=0及
びj=0を全回路のエネルギ関数に寄与する。他のゲー
トにより寄与される2進項は同様に引き出される。
It is Therefore, the gate k contributes the terms i = 0 and j = 0 to the energy function of the whole circuit. Binary terms contributed by other gates are similarly derived.

【0157】もしも我々がそうした項をIGとして表
し、そしてTCを計算するならば、両弧
If we represent such terms as IG and calculate TC, then both arcs

【0158】[0158]

【数55】 [Equation 55]

【0159】はTCに与えられる。これは矛盾を示し、
それ故、信号値の割付けは、k=0とした回路に対する
エネルギ関数を満たさない。この故障は冗長であると結
論できる。
Is given to TC. This shows a contradiction,
Therefore, the assignment of signal values does not satisfy the energy function for the circuit with k = 0. It can be concluded that this fault is redundant.

【0160】本発明の別な特徴として、我々は、周知の
手順にとって好ましい図2でのステップ105として示
されている推移閉包を計算するための新規な手順を展開
した。この手順の基本的ステップは図22の流れ図にお
いて示されている。
As another feature of the invention, we have developed a novel procedure for computing transitive closure, shown as step 105 in FIG. 2, which is preferred for the known procedure. The basic steps of this procedure are shown in the flow chart of FIG.

【0161】図22の流れ図は3つの基本的ステップを
含んでいる。第1のステップ140は、先行するステッ
プ103で引き出されたインプリケーション・グラフの
強く結合されたコンポーネントつまり成分を計算するこ
とを含んでいる。強く結合された成分において、この集
合での各頂点はその集合の各他の頂点から到達可能であ
る。ステップ140は後で一層詳細に論議されよう。強
く結合された成分が一旦、決定されると、そこでは、ス
テップ141により示されているように、閉路を含まな
い有向グラフ(DAG)が構成され、次いで、ステップ
142で示されているように、何等かの固定又は排除が
決定される。ステップ141に含まれる動作はアジソン
−ウエスレイ出版社,リーディング,MA(197
4),A.V.アホその他による“コンピュータアルゴ
リズムの設計及び解析”という名称の本に記述されてい
る。ステップ142については前に記述されている。
The flowchart of FIG. 22 includes three basic steps. The first step 140 involves computing the strongly connected components or components of the implication graph derived in the preceding step 103. In strongly connected components, each vertex in this set is reachable from each other vertex in the set. Step 140 will be discussed in more detail later. Once the strongly coupled components have been determined, a directed graph (DAG) that does not include closed cycles is constructed therein, as shown by step 141, and then as shown in step 142. Any fixation or exclusion is decided. The operations included in step 141 are performed by Addison-Wesley Publishing Co., Reading, MA (197).
4), A. V. It is described in the book entitled "Computer Algorithm Design and Analysis" by AHO et al. Step 142 has been previously described.

【0162】強く結合された成分を決定するための例示
的プロセスは図23の流れ図を参照して記述される。
An exemplary process for determining strongly bound components is described with reference to the flow chart of FIG.

【0163】このプロセスは、サイズn,インプリケー
ション・グラフでの頂点の数、その推移閉包の各々が計
算される予定の3つのアレイを形成するために作業空間
を初期化することによるステップ155でもって始ま
る。そのアレイは巡回済頂点に対する巡回済アレイと、
ローリンクアレイと呼ばれる別なもの、Dfs−no
(深さ優先探索)ナンバーである第3のものを含み、そ
れらはすべて、初めに、零に設定される。
This process begins at step 155 by initializing the workspace to form three arrays of size n, the number of vertices in the implication graph, each of its transitive closures are to be calculated. Start with The array is a visited array for the visited vertices,
Another thing called a low link array, Dfs-no
All of them are initially set to zero, including the third one, which is the (depth-first search) number.

【0164】その後、ステップ156では、まだ巡回さ
れてない頂点として1つを選び、ステップ157では、
作業空間を更新して、巡回されつつある頂点を真として
マークし、Vのローリンク及びVのDfs−noをDf
sナンバーに等しくなるように設定する。
Then, in step 156, one is selected as a vertex that has not yet been visited, and in step 157,
Update the workspace, mark the vertices being traversed as true, set V's lowlink and V's Dfs-no to Df
Set to be equal to the s number.

【0165】ステップ158では、頂点Vが、dfsス
タック及び帰納スタックと呼ばれる2つの分離スタック
上へとプッシュされる。
In step 158, vertex V is pushed onto two separate stacks called the dfs stack and the recursive stack.

【0166】その後、ステップ159では、帰納スタッ
クの頂部上での頂点の子が選ばれる。ステップ160に
おいて、もしもこのスタックの頂部が既に巡回されてい
るならば、我々は、ステップ161により示されている
ように、ローリンク値を適切に更新する。もしもそうで
なければ、頂点Vは、ステップ162で、ωとして再分
類され、その後、我々はステップ157に戻る。
Then, in step 159, the vertex child on the top of the induction stack is chosen. In step 160, if the top of this stack has already been cycled, we update the rowlink value appropriately, as indicated by step 161. If not, the vertex V is reclassified as ω in step 162, after which we return to step 157.

【0167】ステップ161の後、もしも帰納スタック
の頂部上に頂点の別な子があるならば、ステップ162
により示されているように、我々はステップ159に戻
る。もしもそこに一層の子があるならば、我々はdfs
スタックを処理する。このステップ163については、
図24の流れ図を参照して一層詳細に説明されよう。
After step 161, if there is another child of the vertex on top of the induction stack, step 162
We return to step 159, as indicated by. If there are more children, we are dfs
Process the stack. For this step 163,
More details will be described with reference to the flow chart of FIG.

【0168】ステップ163におけるかかる処理後、我
々はステップ164において帰納スタックをポップす
る。もしもそれが既に空であれば(ステップ165)、
プロセスは停止する。さもなければ、プロセスはステッ
プ159に戻る。
After such processing at step 163, we pop the induction stack at step 164. If it is already empty (step 165),
The process stops. Otherwise, the process returns to step 159.

【0169】dfsスタックを処理するステップの詳細
は図24のフローチャートに示されている。基本的に、
ステップ163の機能はすべての強く結合された頂点を
分離して、エス・シー・シー・リスト(以下、sccリ
ストとして扱う)と呼ばれるファイルにそれらを記憶
し、そこから、ステップ164に対して供給される。
Details of the steps for processing the dfs stack are shown in the flow chart of FIG. fundamentally,
The function of step 163 separates all the strongly connected vertices and stores them in a file called the SCI list (hereinafter referred to as the scc list), from which it feeds to step 164. To be done.

【0170】ステップ170では、頂点Vのローリンク
がnよりも大きいナンバーに等しいかどうかが決定され
る。もしもそうであれば、ステップ171において、我
々は、頂点Vがこのスタックから除かれるまで、dfs
スタックをポップする。ステップ172において、我々
は、頂点Vのローリンクが頂点VのDfs−noに等し
いかどうかを決定する。もしもそうであれば、ステップ
173に進んで、sccリストを空に設定する。次に、
ステップ174では、頂点Vがdfsスタックの頂部に
来るまで、dfsスタックをポップする。dfsスタッ
クを離れるすべての頂点は、ステップ174,175,
176,177及び178により与えられるように、強
く結合されている頂点の部分集合を形成する。こうした
ステップは、もしも頂点がスタックからポップされ、そ
してそれがVに等しくないならば、それはsccリスト
に含まれるという性質を使用する。更に特定するに、ス
テップ172において、我々は、頂点Vのローリンクが
そのDfs−noに等しいかどうかを決定する。もし
も、そうであるならば、ステップ174,175及び1
76において、我々はdfsスタックの頂部上での頂点
を処理する。ステップ174において、我々はdfsス
タックの頂部から頂点xをポップする。それから、我々
はローリンクと、頂点xの及びそのコンプリメントのD
fs−noを、nよりも大きいナンバーに再割付けす
る。ここで、我々は、MAXINTをnよりも大きいナ
ンバーであるように選ぶ。ステップ175において、我
々は、頂点xを巡回されたものとしてマークし、そして
頂点Vを含む強く結合された成分を形成する頂点のリス
トに頂点xを含める。次に、ステップ177において、
もしもdfsスタックの頂部上での頂点(ステップ17
6)が頂点Vに等しいとすると、我々はその同じ強く結
合された成分でのすべての頂点を頂点Vとして決定す
る。もしもそうでないならば、我々はステップ176に
戻り、そしてステップ175,176及び177を繰り
返す。
In step 170, it is determined whether the low link at vertex V is equal to a number greater than n. If so, in step 171, we use dfs until vertex V is removed from this stack.
Pop the stack. In step 172 we determine whether the low link of vertex V is equal to Dfs-no of vertex V. If so, proceed to step 173 and set the scc list to empty. next,
In step 174, pop the dfs stack until vertex V is at the top of the dfs stack. All vertices leaving the dfs stack are step 174,175,
Form a subset of vertices that are strongly connected, as given by 176, 177 and 178. These steps use the property that if a vertex is popped from the stack and it is not equal to V, it is included in the scc list. More specifically, in step 172, we determine if the rowlink of vertex V is equal to its Dfs-no. If so, steps 174, 175 and 1
At 76, we process the vertices on the top of the dfs stack. At step 174, we pop vertex x from the top of the dfs stack. Then we rollin and D of the vertex x and its complement
Reassign fs-no to a number greater than n. Here we choose MAXINT to be a number greater than n. In step 175 we mark vertex x as cycled and include vertex x in the list of vertices forming a strongly connected component that includes vertex V. Then, in step 177,
If a vertex on top of the dfs stack (step 17
Given 6) equal to vertex V, we determine as vertex V all vertices in that same strongly connected component. If not, we return to step 176 and repeat steps 175, 176 and 177.

【0171】ここで記述された特定の例は本発明の基本
的原理の単なる例示であり、本発明の基本的原理に一致
して種々な他の実施例も考えられよう。
The particular examples described herein are merely illustrative of the basic principles of the invention and various other embodiments are conceivable consistent with the basic principles of the invention.

【0172】[0172]

【発明の効果】本発明によれば、VLSI回路のテスト
において、故障を見出しそして冗長性を排除するための
2進値を含む特定のVLSI論理回路を能率良くテスト
するのに適する入力ベクトル集合を生成する方法が実現
できた。
According to the present invention, in the VLSI circuit test, an input vector set suitable for efficiently testing a specific VLSI logic circuit including a binary value for finding a fault and eliminating redundancy is provided. The method to generate was realized.

【図面の簡単な説明】[Brief description of drawings]

【図1】VLSI回路において最も予期される故障のリ
ストをテストするベクトル集合を展開するために現在広
く使用されている基本的手順を示す図である。
FIG. 1 illustrates the basic procedure currently in widespread use for developing a vector set to test a list of the most anticipated faults in a VLSI circuit.

【図2】特定の故障をテストするためのベクトルを生成
するために使用される本発明の方法の例示的実施例の流
れ図である。
FIG. 2 is a flow chart of an exemplary embodiment of the method of the present invention used to generate a vector for testing a particular fault.

【図3】特定の故障をテストするためのベクトルを生成
するために使用される本発明の方法の例示的実施例の流
れ図である。
FIG. 3 is a flow chart of an exemplary embodiment of the method of the present invention used to generate a vector for testing a particular fault.

【図4】図2と図3の配置関係を示す図である。FIG. 4 is a diagram showing a positional relationship between FIGS. 2 and 3;

【図5】テストベクトルがそれに対して引き出される故
障を含んでいる回路を示す図である。
FIG. 5 shows a circuit containing a fault for which a test vector is drawn.

【図6】所定の故障に対する複合回路で、テストベクト
ルを引き出すのに有用な、図5の回路の修正バージョン
を示す図である。
FIG. 6 shows a modified version of the circuit of FIG. 5 useful in deriving test vectors in a complex circuit for a given fault.

【図7】図6の回路のインプリケーション・グラフを示
す図である。
FIG. 7 shows an implication graph for the circuit of FIG.

【図8】図7のインプリケーション・グラフの推移閉包
を示す図である。
8 shows the transitive closure of the implication graph of FIG. 7.

【図9】別な回路例を示す図である。FIG. 9 is a diagram showing another circuit example.

【図10】図9の回路のインプリケーション・グラフを
示す図である。
10 is a diagram showing an implication graph of the circuit of FIG. 9. FIG.

【図11】図10のインプリケーション・グラフの推移
閉包を示す図である。
11 is a diagram showing the transitive closure of the implication graph of FIG.

【図12】図9の回路の修正バージョンのインプリケー
ション・グラフを示す図である。
12 shows an implication graph of a modified version of the circuit of FIG.

【図13】図12の修正バージョンのインプリケーショ
ン・グラフの推移閉包を示す図である。
13 shows the transitive closure of the implication graph of the modified version of FIG.

【図14】割付けされた出力を持つ図9の回路のインプ
リケーション・グラフを示す図である。
14 shows an implication graph for the circuit of FIG. 9 with allocated outputs.

【図15】図14のインプリケーション・グラフの推移
閉包を示す図である。
15 is a diagram showing the transitive closure of the implication graph of FIG.

【図16】図9に示されている回路の修正を示す図であ
る。
FIG. 16 shows a modification of the circuit shown in FIG.

【図17】冗長性故障を持つ回路例を示す図である。FIG. 17 is a diagram showing an example of a circuit having a redundancy fault.

【図18】図17における回路の特別な場合に対して得
られた2進項の表を示す図である。
FIG. 18 shows a table of binary terms obtained for the special case of the circuit in FIG.

【図19】同定及び固定の概念を説明するための図であ
る。
FIG. 19 is a diagram for explaining the concepts of identification and fixation.

【図20】同定及び固定の概念を説明するための図であ
る。
FIG. 20 is a diagram for explaining the concepts of identification and fixation.

【図21】同定及び固定の概念を説明するための図であ
る。
FIG. 21 is a diagram for explaining the concepts of identification and fixation.

【図22】図2及び図3に記述されているプロセスで使
用するための推移閉包の計算に対する好ましい技術の流
れ図である。
FIG. 22 is a flow diagram of a preferred technique for transitive closure computation for use in the processes described in FIGS. 2 and 3.

【図23】図2及び図3に記述されているプロセスで使
用するための推移閉包の計算に対する好ましい技術の流
れ図である。
FIG. 23 is a flow diagram of a preferred technique for computing transitive closure for use in the processes described in FIGS. 2 and 3.

【図24】図2及び図3に記述されているプロセスで使
用するための推移閉包の計算に対する好ましい技術の流
れ図である。
FIG. 24 is a flowchart of a preferred technique for computing transitive closure for use in the processes described in FIGS. 2 and 3.

【図25】排除論理的結論を示す図である。FIG. 25 is a diagram showing exclusionary logical conclusions.

【図26】図25の回路のインプリケーション・グラフ
を示す図である。
26 is a diagram showing an implication graph of the circuit of FIG. 25. FIG.

【図27】基本的制約の包含後での更新されたインプリ
ケーション・グラフを示す図である。
FIG. 27 shows an updated implication graph after inclusion of basic constraints.

【符号の説明】[Explanation of symbols]

10 テスト生成器 11 故障リスト 12 回路ネットリスト 13 テストベクトル 14 故障シミュレータ 15 更新故障リスト手段 10 Test Generator 11 Fault List 12 Circuit Netlist 13 Test Vector 14 Fault Simulator 15 Update Fault List Means

フロントページの続き (72)発明者 ビスワニ アグラワル アメリカ合衆国 07974 ニュージャーシ ー州 マレイ ヒル コルチェスター ロ ード 40Front Page Continuation (72) Inventor Biswani Agrawal United States 07974 Murray Hill, New Jersey Colchester Road 40

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】論理回路における故障を検出するためのテ
ストベクトルを決定するためにエネルギ関数の現在のポ
テンシャル項を処理する方法において、 故障を持つ及び持たない論理回路を表している複合回路
の特定のポテンシャル項を含んでいる項の関係、すなわ
ち、前記ポテンシャル項での変数に対するポテンシャル
値の割付けから生ずる関係を含んでいる関係に基づいて
含意集合を見出すステップと、 前記含意集合の推移閉包を得るステップと、 前記複合回路について論理的推断をするために前記推移
閉包を使用するステップと、 前記論理的推断を反映させるために前記含意集合を更新
するステップと、 前記含意集合が矛盾した含意を含むか又はそれ以上の論
理的推断がなされなくなるまで、前記推移閉包を得るス
テップと、その推移閉包を使用するステップと、そして
前記含意集合を更新するステップとを繰り返すステップ
と、を含むことを特徴とする方法。
1. A method of processing a current potential term of an energy function to determine a test vector for detecting a fault in a logic circuit, the identification of a composite circuit representing a logic circuit with and without a fault. Finding the implication set based on the relation of terms containing the potential terms of, i.e., the relations resulting from the assignment of potential values to the variables in the potential terms, and obtaining the transitive closure of the implication set. A step of using the transitive closure to make a logical inference on the composite circuit; updating the implication set to reflect the logical inference; and the implication set includes inconsistent implications. Until there is no further logical inference, and the step of obtaining the transitive closure and its inference. Method characterized by comprising the step of using the closure, and a step of repeating the steps of updating the implications set, the.
【請求項2】前記割付けされたポテンシャル値は2つの
可能な値のうちの1つであり、そして更に、前に処理さ
れたポテンシャル項に割付けされたポテンシャル値のト
ラックを維持するステップと、 現在のポテンシャル項及び前に処理されたポテンシャル
項の各々に対して、そのポテンシャル項が既にそれに割
付けされた2つの可能な値の両方を持ったかどうかを決
定し、もしも持っていないならば、請求項1のステップ
を繰り返してそれら2つの値の他方を割付けし、そして
もしもそれに対してポテンシャル項が見出されないなら
ば、請求項1のステップを繰り返し、それら2つの値の
他方が矛盾にならないことを条件にして、その故障を冗
長であると決定するステップと、を含むことを特徴とす
る請求項1記載の方法。
2. The assigned potential value is one of two possible values, and further maintaining a track of potential values assigned to previously processed potential terms, and For each of the potential terms of and the previously processed potential term, determine whether the potential term already had both of the two possible values assigned to it, and if not, claim Repeat step 1 to assign the other of the two values, and if no potential term is found for it, repeat the steps of claim 1 to ensure that the other of the two values is inconsistent. Conditionally determining that the fault is redundant.
【請求項3】一層の論理的推断をするために推移閉包を
使用する前記ステップは更に、 固定に関する論理的推断をするステップと、 排除に関する論理的推断をするステップと、 同定に関する論理的推断をするステップと、を含むこと
を特徴とする請求項1記載の方法。
3. The step of using transitive closure to make a further logical inference further comprises the steps of making a logical inference about fixation, making a logical inference about exclusion, and making a logical inference about identification. The method of claim 1, further comprising:
【請求項4】含意集合を更新する前記ステップは、前記
論理的推断をエネルギ関数の非同次的ポジフォーム準関
数に適用するステップと、 前記非同次的ポジフォーム準関数に対する論理的推断の
適用にて示されるように同次的ポジフォーム準関数を更
新するステップと、 前記エネルギ関数の同次的ポジフォーム準関数の更新に
て示されるように前記含意集合を更新するステップと、
を含むことを特徴とする請求項1記載の方法。
4. The step of updating the implication set comprises applying the logical inference to a non-homogeneous positive-form quasi-function of an energy function, and the logical inference of the non-homogeneous positive-form quasi-function. Updating the homogeneous positive-form quasi-function as indicated in the application, updating the implication set as indicated in updating the homogeneous positive-form quasi-function of the energy function,
The method of claim 1, comprising:
【請求項5】複合回路の項に対するいずれかのポテンシ
ャル値の割付けに先立って、前記項の関係に基づいて、
先の含意集合を見出すステップと、 前記先の含意集合の先の推移閉包を得るステップと、 前記先の論理的推断を反映させるために先の含意集合を
使用するステップと、 矛盾に到るか、又はそれ以上の先の論理的推断がなされ
なくなるまで、前記先の推移閉包を使用するステップ
と、前記先の含意集合を更新するステップと、そして前
記先の推移閉包を更新するステップとを繰り返すステッ
プとを更に含み、 もしも矛盾に到るならば、その故障を冗長であると決定
して、プロセスを終止するか、さもなければ請求項1に
記載のステップを続行することを特徴とする請求項1記
載の方法。
5. Prior to assigning any potential value to the term of the composite circuit, based on the relation of the term,
A step of finding the previous implication set, a step of obtaining the previous transitive closure of the previous implication set, and a step of using the previous implication set to reflect the logical inference of the previous , Or more, the steps of using the previous transitive closure, updating the previous implication set, and updating the previous transitive closure until no further logical inference is made. The method further comprising the step of: if the inconsistency is reached, the failure is determined to be redundant and the process is terminated, or the step of claim 1 is continued. The method according to item 1.
【請求項6】論理回路での与えられた故障を検出するた
めの信号値集合からなるテストベクトルを生成する方法
であって、そこで、信号値に関する判定がその回路のイ
ンプリケーション・グラフモデルに関する推移閉包計算
により指示され、その判定が固定,同定,排除又は矛盾
を含むクラスからなされるようになっている方法におい
て、 (a)そのディジタル回路の故障機能バージョンを引き
出して、それを故障のない機能バージョンと組み合わせ
て、そのディジタル回路の複合機能バージョンを形成す
るステップと、 (b)その複合機能バージョンのエネルギ関数を引き出
し、それを2進及び3進項へと分離するステップと、 (c)前記エネルギ関数の2進項のインプリケーション
・グラフを形成するステップと、 (d)前記インプリケーション・グラフの推移閉包を計
算するステップと、 (e)前記推移閉包から、何等かの固定,同定,排除及
び矛盾を決定し、いずれかの見出されたものを用いて、
そのエネルギ関数の幾つかの3進項を新しい2進項へと
簡約するステップと、 (f)その新しい2進項を前のインプリケーション・グ
ラフに加えることにより新しいインプリケーション・グ
ラフを形成するステップと、 (g)前記新しいインプリケーション・グラフに基づい
て新しい推移閉包を計算するステップと、 (h)前記エネルギ関数から3進項を除去できる限り、
ステップ(e),(f)及び(g)を繰り返すステップ
と、 (i)もしも3進項が残っていなければ、リテラルのリ
ストを引き出すステップと、 (j)もしも3進項が残っているならば、割付けされて
いない信号を特定の値に固定し、そして、ステップ
(c),(d),(e),(f),(g)(h)及び
(i)を繰り返すとともに、3進項が除かれている限り
いずれかの冗長性固定,同定,排除及び矛盾の決定を繰
り返し、その後、変数のリストを引き出すステップと、 (k)もしも3進項が残っているならば、その割付けさ
れていない信号を反対の値に固定して、ステップ
(c),(d),(e),(f),(g),(h)及び
(i)を繰り返すステップと、 (l)前記リテラルのリストから、その故障に対するテ
ストベクトルを引き出すステップと、を含むことを特徴
とする方法。
6. A method for generating a test vector consisting of a set of signal values for detecting a given fault in a logic circuit, wherein the decision regarding the signal value is a transition related to an implication graph model of the circuit. A method in which the closure computation indicates that the decision is to be made from a class that includes fixed, identified, excluded or inconsistent, Combining with a version to form a composite function version of the digital circuit; (b) deriving an energy function of the composite function version and separating it into binary and ternary terms; (c) the energy. Forming a binary term implication graph of the function, and (d) implementing the Calculating a transitive closure of the application graph, and (e) determining some fixation, identification, exclusion and contradiction from the transitive closure and using any found one,
Reducing some ternary terms of the energy function to new binary terms, and (f) forming the new implication graph by adding the new binary terms to the previous implication graph; g) calculating a new transitive closure based on the new implication graph, and (h) as long as ternary terms can be removed from the energy function,
If steps (e), (f) and (g) are repeated, (i) if there are no ternary terms remaining, then a list of literals is retrieved, and (j) if there are ternary terms remaining, The unassigned signal is fixed to a specific value, and steps (c), (d), (e), (f), (g), (h) and (i) are repeated, while the ternary term is removed. Repeat any redundancy fixation, identification, elimination and inconsistency determination for as long as it is followed by the step of deriving a list of variables, and (k) the unassigned signal if ternary terms remain. Fixed to opposite values and repeating steps (c), (d), (e), (f), (g), (h) and (i), and (l) from the list of literals , Pull the test vector for that fault A step of issuing.
【請求項7】各々が与えられた故障集合の異なる故障を
検出するように設計されているテストベクトル集合を引
き出す方法において、前記故障集合の異なる故障の各々
に対して繰り返される請求項6の方法を含むことを特徴
とする方法。
7. The method of claim 6, wherein the method derives a set of test vectors each designed to detect different faults in a given fault set, and is repeated for each different fault in the fault set. A method comprising:
【請求項8】与えられた故障集合に対するディジタル集
積回路をテストする方法において、前記与えられた故障
集合に対する請求項7の方法に従って引き出されるテス
トベクトル集合の各テストベクトルを順々に、前記集積
回路の入力に対して印加することを特徴とする方法。
8. A method of testing a digital integrated circuit for a given fault set, wherein each test vector of a test vector set derived in accordance with the method of claim 7 for the given fault set is in turn. Applying to the input of the.
JP4338380A 1992-12-18 1992-12-18 Generating test vectors for logic circuits Expired - Lifetime JP2901442B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4338380A JP2901442B2 (en) 1992-12-18 1992-12-18 Generating test vectors for logic circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4338380A JP2901442B2 (en) 1992-12-18 1992-12-18 Generating test vectors for logic circuits

Publications (2)

Publication Number Publication Date
JPH07248360A true JPH07248360A (en) 1995-09-26
JP2901442B2 JP2901442B2 (en) 1999-06-07

Family

ID=18317611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4338380A Expired - Lifetime JP2901442B2 (en) 1992-12-18 1992-12-18 Generating test vectors for logic circuits

Country Status (1)

Country Link
JP (1) JP2901442B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513137B1 (en) * 1999-10-18 2003-01-28 Cardiac Pacemakers, Inc. Test method and apparatus using energy consumption ratio

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210047127A (en) 2019-10-21 2021-04-29 삼성전자주식회사 An electronic device for generating optimized verification vector for verifying semiconductor circuit and operating method there of

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08114657A (en) * 1991-06-18 1996-05-07 Nec Corp Formation of test vector

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08114657A (en) * 1991-06-18 1996-05-07 Nec Corp Formation of test vector

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513137B1 (en) * 1999-10-18 2003-01-28 Cardiac Pacemakers, Inc. Test method and apparatus using energy consumption ratio

Also Published As

Publication number Publication date
JP2901442B2 (en) 1999-06-07

Similar Documents

Publication Publication Date Title
US5377201A (en) Transitive closure based process for generating test vectors for VLSI circuit
Kunz et al. Multi-level logic optimization by implication analysis
Chang et al. Perturb and simplify: Multilevel boolean network optimizer
Fuchs et al. DYNAMITE: An efficient automatic test pattern generation system for path delay faults
US6301687B1 (en) Method for verification of combinational circuits using a filtering oriented approach
CN100440480C (en) Method and system for calibrating attribute of complete model of research system
JP3857961B2 (en) Computer-aided design method and apparatus based on digital circuit logic network
Yeh et al. OBDD-based evaluation of k-terminal network reliability
US5691925A (en) Deriving tractable sub-system for model of larger system
Chang et al. Circuit optimization by rewiring
Reddy et al. Novel verification framework combining structural and OBDD methods in a synthesis environment
JPH08338861A (en) Test in vlsi circuit with non-boolean primitive and removal method of redundancy
JP3949764B2 (en) Method for extracting gate model circuit from FET model circuit
US6408424B1 (en) Verification of sequential circuits with same state encoding
JP2001312530A (en) Method for image calculation, method for pre-image calculation and method for pruning
Kunz et al. A novel framework for logic verification in a synthesis environment
Krieger et al. A BDD-based algorithm for computation of exact fault detection probabilities
US20040237057A1 (en) Performing latch mapping of sequential circuits
JPH07248360A (en) Formation of testing vector for vlsi circuit
Ashar et al. Functional timing analysis using ATPG
Doyle et al. Combinatorial-models and coverage: A binary decision diagram (BDD) approach
Entrena et al. Timing optimization by an improved redundancy addition and removal technique
JP3159165B2 (en) Method and apparatus for managing estimated logical state in failure diagnosis and machine-readable recording medium recording program
Hong Fault analysis and test generation for programmable logic arrays (PLA's)
Mukherjee et al. Functional Learning: A new approach to learning in digital circuits

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080319

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 14