JPH05233749A - Logical equivalence verifying method - Google Patents
Logical equivalence verifying methodInfo
- Publication number
- JPH05233749A JPH05233749A JP4037562A JP3756292A JPH05233749A JP H05233749 A JPH05233749 A JP H05233749A JP 4037562 A JP4037562 A JP 4037562A JP 3756292 A JP3756292 A JP 3756292A JP H05233749 A JPH05233749 A JP H05233749A
- Authority
- JP
- Japan
- Prior art keywords
- signal line
- output
- gate
- circuit
- value
- 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
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、組合せ論理等価検証に
関する。FIELD OF THE INVENTION The present invention relates to combinatorial logic equivalence verification.
【0002】[0002]
【従来の技術】組合せ論理の等価検証方法としては、主
に次の方法が現在までに提案されている。全ての入力パ
ターンをシミュレーションして検証する方法と、2つの
組合せ論理回路の出力をXNOR(排他論理和の否定)
で接続し、正当化により出力が0になる入力パターンが
存在するか否かを調べる方法がIEEE ITC−86,p
p.350−359(1986)に記載されている。こ
の内、後者の正当化による方法は、2つの組合せ論理回
路の出力をXNORで接続した回路の出力論理値を1と
して含意操作を行い、含意操作の過程で生じた未正当化
信号線を論理回路の故障診断における組合せ回路のテス
トパターン生成アルゴリズムDアルゴリズムやPODE
Mでの正当化手法を使って正当化する方法である。(正
当化とは、対象信号線を出力信号線として持つゲートの
論理演算結果が対象信号線の論理値と一致するように入
力エッジまで論理値を決めていくことである。)又、2
つの組合せ論理を2分決定グラフ(BDD)で表し、グ
ラフの構造一致判定により等価検証を行う方法がIEEE T
RANSACTIONS ON COMPUTERS, VOL.C−35, NO.8,AUG.
pp.677−691(1986) に記載されている。組
合せ論理のBDDによる表現の例を図35に示す。2. Description of the Related Art The following methods have been mainly proposed as the equivalence verification method for combinational logic. A method of simulating and verifying all input patterns and XNOR (Negation of exclusive OR) of outputs of two combinational logic circuits
IEEE ITC-86, p is a method of checking whether or not there is an input pattern in which the output is 0 by justification.
p. 350-359 (1986). Among these, the latter method by justification performs implication operation with the output logic value of the circuit connecting the outputs of the two combinational logic circuits by XNOR as 1, and the unjustified signal line generated in the process of implication operation is logically processed. Test pattern generation algorithm D algorithm and PODE for combinational circuits in circuit fault diagnosis
This is a justification method using the justification method in M. (The justification is to determine the logical value up to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the target signal line.) 2
IEEE T is a method of expressing one combinational logic by a binary decision graph (BDD) and performing equivalence verification by judging the structural match of the graph.
RANSACTIONS ON COMPUTERS, VOL. C-35, NO.8, AUG.
pp. 677-691 (1986). FIG. 35 shows an example of BDD representation of the combinational logic.
【0003】[0003]
【発明が解決しようとする課題】論理等価検証には、論
理回路の大規模化に伴って、次の問題点が生ずる。The logical equivalence verification has the following problems with the increase in scale of the logic circuit.
【0004】全入力パターンによるシミュレーション検
証においては、入力パターン数が指数のオーダーで増え
るという問題が生ずる。正当化による方法においては、
正当化のやりなおし、すなわち、バックトラックの数が
最悪の場合指数のオーダーで増加するという問題が生ず
る。又、BDDの比較による方法においては、BDDの
深さが最悪の場合指数のオーダーで増加するという問題
が生ずる。これらバックトラック数の増加やBDDの深
さの増加は、論理回路の大規模化により回路の冗長性が
より広範囲、且つ、より複雑に現れることに起因してい
る。この回路の冗長性には、もともとの論理が持ってい
た冗長性と、2つの似た論理をあわせたことから生じる
冗長性がある。In the simulation verification with all the input patterns, there arises a problem that the number of input patterns increases in the order of exponent. In the justification method,
There is a problem of re-justification, that is, the number of backtracks increases in an exponential order in the worst case. Further, in the method of comparing BDDs, there is a problem that the depth of BDDs increases in an exponential order in the worst case. The increase in the number of backtracks and the increase in BDD depth are caused by the fact that the circuit redundancy becomes wider and more complicated due to the increase in the scale of the logic circuit. The redundancy of this circuit includes the redundancy that the original logic had and the redundancy that results from combining two similar logics.
【0005】従来の方法はこれらの回路の冗長性を捉え
て除去するという手法をとっていないため、冗長性を含
んだままの複雑な回路をそのまま扱わなければならない
という欠点を持つ。Since the conventional method does not take a method of catching and removing the redundancy of these circuits, it has a drawback that a complicated circuit including the redundancy must be handled as it is.
【0006】本発明の目的は、上記の問題点を解決する
ために論理等価検証を難しくしている回路の冗長性を統
一的に把握し、冗長な部分を除去することにより、効率
的に論理等価検証を行うことにある。An object of the present invention is to efficiently grasp the logic by grasping the redundancy of the circuit which makes the logic equivalence verification difficult in order to solve the above problems, and removing the redundant portion. Equivalence verification is performed.
【0007】[0007]
【課題を解決するための手段】本発明では上記の目的を
達成するために、以下に述べるステップを実行する。対
象組合せ論理をNORゲートのみで表現した等価回路に
変換する第1ステップ。第1ステップで得られた2つの
組合せ回路の対応する入力エッジを1つにまとめ、出力
の排他論理和をとる第2ステップ。第2ステップで得ら
れた1出力回路の出力が1になる入力パターンが存在す
るか否かを判定する第3ステップ。更に、第3ステップ
は以下に述べるサブステップからなる。対象1出力回路
内の同一論理を表す複数ゲートを1つのゲートで置換さ
せる第3ステップの第1サブステップ。第1サブステッ
プで得られた回路において互いに独立に0又は1となる
出力を制御できる回路内のゲートの組で、このゲートの
組より入力側に信号線の分岐点が存在するようなものを
抽出することにより、該分岐点から到達可能な回路領域
と該分岐点から到達不可能な回路領域の境界にある信号
線(先頭信号線)を、抽出したゲートの組より出力側に
更新する第3ステップの第2サブステップ。第2サブス
テップで得られた回路内の冗長な論理を簡約する第3ス
テップの第3サブステップ。第3サブステップで得られ
た回路を1先頭信号線1出力回路に変換する第3ステッ
プの第4サブステップ。第4サブステップで得られた1
先頭信号線1出力回路の出力が1になる入力パターンが
存在するか否かを判定する第3ステップの第5サブステ
ップ。更に、第3ステップで2つの対象組合せ回路が等
価でないと判定された場合に、第3ステップで値の定ま
った入力エッジの確定論理値情報から反例パターンを生
成する第4ステップ。The present invention performs the following steps in order to achieve the above object. The first step of converting the target combinational logic into an equivalent circuit expressed only by NOR gates. A second step in which the corresponding input edges of the two combinational circuits obtained in the first step are combined into one and the output is exclusive ORed. A third step of determining whether or not there is an input pattern in which the output of the one-output circuit obtained in the second step is 1. Furthermore, the third step consists of the substeps described below. A first substep of the third step in which a plurality of gates representing the same logic in the target 1 output circuit are replaced by one gate. In the circuit obtained in the first sub-step, the set of gates in the circuit that can control the outputs to be 0 or 1 independently of each other, and in which the branch point of the signal line exists on the input side from this set of gates By extracting, the signal line (leading signal line) at the boundary between the circuit area reachable from the branch point and the circuit area unreachable from the branch point is updated to the output side from the set of extracted gates. Second sub-step of 3 steps. A third sub-step of the third step for reducing redundant logic in the circuit obtained in the second sub-step. The fourth substep of the third step of converting the circuit obtained in the third substep into one head signal line 1 output circuit. 1 obtained in the 4th substep
A fifth substep of the third step of determining whether or not there is an input pattern in which the output of the head signal line 1 output circuit becomes 1. Furthermore, if it is determined in the third step that the two target combinational circuits are not equivalent, a fourth step of generating a counterexample pattern from the deterministic logical value information of the input edge whose value has been determined in the third step.
【0008】[0008]
【作用】上記の手段は、回路内の同一論理を表す複数ゲ
ートを1つのゲートで代表させ、回路内の互いに独立に
0又は1に出力を制御できる回路内のゲートの組で、こ
のゲートの組の入力側に信号線の分岐点が存在するもの
を認識することにより、該分岐点から到達可能な回路領
域と該分岐点から到達不可能な回路領域の境界にある信
号線(先頭信号線)を上記ゲートの組より出力側に更新
し、更に、回路内の冗長な論理を簡約することにより、
論理等価検証を難しくしている回路の冗長性を統一的に
捉え、且つ、冗長な回路部分を除去し、効率的に論理等
価検証を行うことを可能にする。According to the above means, a plurality of gates representing the same logic in the circuit are represented by one gate, and a set of gates in the circuit capable of controlling the output to 0 or 1 independently of each other in the circuit. By recognizing that there is a branch point of the signal line on the input side of the set, a signal line (leading signal line) at the boundary between the circuit area reachable from the branch point and the circuit area not reachable from the branch point ) Is updated to the output side from the set of gates described above, and further, by reducing redundant logic in the circuit,
The redundancy of the circuits that makes the logical equivalence verification difficult can be grasped in a unified manner, and the redundant circuit parts can be removed to efficiently perform the logical equivalence verification.
【0009】[0009]
(実施例1)本発明を実施する計算機システムの構成を
図31に示す。処理装置10には本発明の処理プログラ
ムである論理等価検証プログラム20が格納されてお
り、外部記憶装置に本発明の論理等価検証の対象となる
論理回路データ30,ブール式データ40、及び出力結
果である反例パターンデータ50が格納されている。(Embodiment 1) FIG. 31 shows the configuration of a computer system for implementing the present invention. A logical equivalence verification program 20 which is a processing program of the present invention is stored in the processing device 10, and a logical circuit data 30, a Boolean expression data 40, and an output result which are targets of the logical equivalence verification of the present invention are stored in an external storage device. Counter example pattern data 50 is stored.
【0010】図31に示した論理回路データ30を図3
2に、ブール式データ40の構成を図33に、反例パタ
ーンデータ50の構成を図34に示す。The logic circuit data 30 shown in FIG. 31 is shown in FIG.
2, the structure of the Boolean expression data 40 is shown in FIG. 33, and the structure of the counterexample pattern data 50 is shown in FIG.
【0011】図32に示した論理回路データ30は、論
理等価検証の対象となる論理回路を各ゲート間の接続関
係として表したものであり、データはテーブル形式で格
納されている。各ゲートに対応したデータは、以下に述
べるようなフィールドから構成されている。項番(N
o.)31は各ゲートに対応したテーブルのエントリを
示す番号である。要素(ELEMENT)32は、各ゲ
ートの識別子(ID)32aとそのゲートの種類(KI
ND)32bから構成されている。出力ゲート(OUT
PUT GATE)33のフィールドには、要素32の
出力値(VALUE)33a,要素32の出力側に接続されて
いるゲートの個数(OUTNUM)33b及びそれらゲー
トのID(OUT1,OUT2,…)33c,33d,
…が格納されている。入力ゲート(INPUT GAT
E)34のフィールドには、要素32の入力側に接続さ
れているゲートの個数(INNUM)34a、それらゲ
ートのID(I1,I2,I3,…)34b,34d,
34f,…、及び入力値(V1,V2,…)34c,3
4e,…が格納されている。制御データ(CONTROLDAT
A)35のフィールドには、本発明の処理中に設定ある
いは参照される情報が格納されている。特に出力信号線
の情報(KIND OF LINE)35aのフィールド
には、要素32の出力信号線が束縛信号線(bound lin
e),先頭信号線(head line)、或いは先頭信号線以外
の非束縛信号線(free line)のいずれかを示す情報が
登録される。又、出力段数(PO LEVEL)35b
のフィールドには、要素32の回路の出力ゲートからの
ゲート段数が登録される。The logic circuit data 30 shown in FIG. 32 represents a logic circuit to be subjected to logic equivalence verification as a connection relationship between respective gates, and the data is stored in a table format. The data corresponding to each gate is composed of fields as described below. Item number (N
o. ) 31 is a number indicating an entry in the table corresponding to each gate. The element (ELEMENT) 32 includes an identifier (ID) 32a of each gate and a type (KI) of the gate.
ND) 32b. Output gate (OUT
In the field of (PUT GATE) 33, the output value (VALUE) 33a of the element 32, the number of gates (OUTNUM) 33b connected to the output side of the element 32, and the IDs (OUT1, OUT2, ...) 33c of these gates, 33d,
... is stored. Input gate (INPUT GAT
E) In the field 34, the number of gates (INNUM) 34a connected to the input side of the element 32, IDs (I1, I2, I3, ...) 34b, 34d of these gates,
34f, ..., and input values (V1, V2, ...) 34c, 3
4e, ... Are stored. Control data (CONTROLDAT
The field A) 35 stores information that is set or referred to during the processing of the present invention. In particular, in the field of the output signal line information (KIND OF LINE) 35a, the output signal line of the element 32 is bound to the bound signal line (bound line).
Information indicating either e), the head signal line (head line), or an unbounded signal line (free line) other than the head signal line is registered. Also, the number of output stages (PO LEVEL) 35b
The number of gate stages from the output gate of the circuit of the element 32 is registered in the field of.
【0012】図32の各エントリには、一例として、後
述の図11の(a)に示す論理回路に対応したデータが
格納されている。なお、図30に示すように、論理回路
データ30には入出力エッジも登録される。As an example, each entry in FIG. 32 stores data corresponding to the logic circuit shown in FIG. As shown in FIG. 30, input / output edges are also registered in the logic circuit data 30.
【0013】図33に示したブール式データ40には、
論理等価検証の対象となる論理の内、ブール式で記述さ
れたものがテーブル形式で格納されている。ブール式の
各要素に対応したデータは、以下に述べるようなフィー
ルドから構成されている。項番(No.)41はブール式
の各要素に対応したテーブルのエントリを示す番号であ
る。KIND42には、ブール式の要素が変数か演算子
のいずれかを示す情報が登録される。BOOL43に
は、要素が変数の場合にはその変数名が、演算子の場合
には演算子の種類が登録される。図33の各エントリに
は、一例として、X=A&Bという形のブール式のデー
タが格納されている。In the Boolean expression data 40 shown in FIG. 33,
Among the logics subject to logical equivalence verification, those described by Boolean expressions are stored in a table format. The data corresponding to each element of the Boolean expression is composed of fields as described below. The item number (No.) 41 is a number indicating an entry in the table corresponding to each element of the Boolean expression. Information indicating whether the element of the Boolean expression is a variable or an operator is registered in the KIND 42. In the Boolean 43, the variable name is registered when the element is a variable, and the operator type is registered when the element is an operator. In each entry of FIG. 33, as an example, Boolean data of the form X = A & B is stored.
【0014】図34に示した反例パターンデータ50に
は、本発明の論理等価検証の結果得られる反例パターン
データがテーブル形式で格納されている。各入力エッジ
に対応したデータは、以下に述べるようなフィールドか
ら構成されている。項番(No.)51は各入力エッジに
対応したテーブルのエントリを示す番号である。ID5
2は各入力エッジの識別子である。設定値(VALU
E)53は入力エッジに設定すべき値である。図34の
エントリには、一例として、後述の図11の(a)に示
す論理回路の入力エッジに対応したデータが格納されて
いる。In the counterexample pattern data 50 shown in FIG. 34, counterexample pattern data obtained as a result of the logical equivalence verification of the present invention is stored in a table format. The data corresponding to each input edge is composed of fields as described below. The item number (No.) 51 is a number indicating the entry of the table corresponding to each input edge. ID5
2 is an identifier of each input edge. Setting value (VALU
E) 53 is a value to be set at the input edge. As an example, the entry of FIG. 34 stores data corresponding to the input edge of the logic circuit shown in FIG.
【0015】先ず、本発明の第1の実施例を図面により
説明する。First, a first embodiment of the present invention will be described with reference to the drawings.
【0016】図1は、本発明に基づく論理等価検証処理
の各部の流れを表す図である。1は対象論理を表した組
合せ回路XとYを表している。1に対して、問題1「回
路Xと回路Yは等価な回路か?」を考える。2は1の回
路Xと回路Yの出力の排他論理和をとり、対応する入力
エッジを1つにまとめて得られた1出力組合せ回路Zを
表す。2に対して、問題2「回路Zの出力は常に0か
?」を考えると、問題1と問題2は等価な問題になる。
3は簡約処理等により回路を簡単にする過程を表す。4
の先頭信号線のリダクションとは先頭信号線を1つ減ら
す過程を意味する。ここで、非束縛信号線の内、束縛信
号線と隣接しているものを先頭信号線と呼ぶ。非束縛信
号線とは、回路内のどの分岐点から出力側に辿っていっ
ても辿りつけない信号線のことであり、束縛信号線と
は、回路内の適当な分岐点から出力側に辿っていくと到
達可能な信号線のことである。回路Yに3と4の処理を
繰り返し施すことにより、最終的に5に示す最終回路
(1先頭信号線1出力回路)が得られる。5に対して、
問題3「最終回路の出力は常に0か?」を考えると、問
題3は問題2と等価になっており、しかも回路の出力に
影響する先頭信号線の数が1つになっているので、問題
3を簡単に解くことができる。問題3の答がYESであ
れば、問題2と問題1の答もYESであり、問題3の答
がNOであれば、問題2と問題1の答もNOである。FIG. 1 is a diagram showing the flow of each part of the logical equivalence verification processing according to the present invention. Reference numeral 1 represents combinational circuits X and Y representing the target logic. For example, consider Problem 1 “Is circuit X and circuit Y equivalent circuits?”. Reference numeral 2 represents a one-output combination circuit Z obtained by taking the exclusive OR of the outputs of the circuit X and the circuit Y of 1 and collecting the corresponding input edges into one. On the other hand, considering Problem 2 “Is the output of circuit Z always 0?”, Problem 1 and Problem 2 are equivalent.
Reference numeral 3 represents a process for simplifying the circuit by a reduction process or the like. Four
The reduction of the head signal line of means the process of reducing the head signal line by one. Here, of the unbounded signal lines, the one that is adjacent to the bounded signal line is called the head signal line. An unbound signal line is a signal line that cannot be traced from any branch point in the circuit to the output side, and a bound signal line is traced from an appropriate branch point in the circuit to the output side. A signal line that can be reached as you go. By repeatedly performing the processes 3 and 4 on the circuit Y, the final circuit (1 head signal line 1 output circuit) shown by 5 is finally obtained. For 5,
Considering the problem 3 "Is the output of the final circuit always 0?", The problem 3 is equivalent to the problem 2, and since the number of head signal lines that affect the output of the circuit is one, Problem 3 can be easily solved. If the answer to question 3 is YES, then the answers to questions 2 and 1 are also YES, and if the answer to question 3 is NO, then the answers to question 2 and 1 are also NO.
【0017】図2は、本発明に基づく論理等価検証処理
の第1の実施例の概要を表すフローチャートである。ス
テップ100では、論理等価検証の対象となる2つの論
理をNORゲートと入力エッジのみで構成される組合せ
回路で表す。ステップ200では、ステップ100で得
られた2つの組合せ回路の出力を排他論理和で結び、対
応する入力エッジを1つにまとめて1出力回路を得る。
この1出力回路は元の2つの対象論理が等価ならば、ど
んな入力パターンに対しても出力が0になり、元の2つ
の対象論理が等価でないならば、その反例パターンに対
しては出力が1になるという性質を持つ。ステップ30
0では、ステップ200で得られた1出力回路の出力が
どんな入力パターンに対しても0になるか否かを判定す
る。ステップ500では、ステップ300で対象論理は
等価でないと判定されたかどうかを調べ、判定されたな
らばステップ600へ、判定されなかったならば処理を
終了する。ステップ600では、対象論理が等価になら
ない入力パターン、すなわち、反例パターンを生成す
る。FIG. 2 is a flow chart showing the outline of the first embodiment of the logical equivalence verification processing according to the present invention. In step 100, the two logics to be subjected to logic equivalence verification are represented by a combinational circuit composed only of NOR gates and input edges. In step 200, the outputs of the two combinational circuits obtained in step 100 are connected by exclusive OR, and the corresponding input edges are combined to obtain one output circuit.
This 1-output circuit has an output of 0 for any input pattern if the original two target logics are equivalent, and an output for its counterexample pattern if the original two target logics are not equivalent. It has the property of becoming 1. Step 30
At 0, it is determined whether the output of the 1-output circuit obtained at step 200 becomes 0 for any input pattern. In step 500, it is checked whether or not it is determined in step 300 that the target logic is not equivalent. If it is determined, the process proceeds to step 600, and if it is not determined, the process ends. In step 600, an input pattern in which the target logic is not equivalent, that is, a counterexample pattern is generated.
【0018】以下、これらの各ステップを図面により詳
細に説明する。Hereinafter, each of these steps will be described in detail with reference to the drawings.
【0019】図3は、図2のステップ100に示した対
象論理のNOR変換の詳細なフローチャートである。ス
テップ101では、1つ目の対象論理の記述形式を調
べ、回路記述形式ならばステップ103へ分岐し、ブー
ル式記述形式ならばステップ102へ分岐する。ステッ
プ102では、1つ目の対象論理のブール式記述を回路
記述に変換する。ステップ103では、2つ目の対象論
理の記述形式を調べ、回路記述形式ならばステップ10
5へ分岐し、ブール式記述形式ならばステップ104へ
分岐する。ステップ104では、2つ目の対象論理のブ
ール式記述を回路記述に変換する。ステップ105で
は、ステップ101からステップ104で得られた2つ
の対象論理回路をNORゲートと入力エッジだけで構成
された回路に変換する。FIG. 3 is a detailed flowchart of the NOR conversion of the target logic shown in step 100 of FIG. In step 101, the description format of the first target logic is checked, and if it is a circuit description format, branch to step 103, and if it is a Boolean expression description format, branch to step 102. In step 102, the Boolean expression description of the first target logic is converted into a circuit description. In step 103, the description format of the second target logic is checked, and if it is the circuit description format, step 10
5, and if it is a Boolean expression description format, it branches to step 104. In step 104, the Boolean expression description of the second target logic is converted into a circuit description. In step 105, the two target logic circuits obtained in steps 101 to 104 are converted into a circuit composed of only NOR gates and input edges.
【0020】図4は、図3のステップ105に示した対
象回路のNOR変換において使用される等価表現の変換
例であり、2入力AND,NAND,OR、及びNOR
ゲートをそれぞれNORゲートの組合せで表現したもの
である。FIG. 4 is a conversion example of an equivalent expression used in the NOR conversion of the target circuit shown in step 105 of FIG. 3, which is a 2-input AND, NAND, OR, and NOR.
Each gate is expressed by a combination of NOR gates.
【0021】図5は、図1のステップ300に示した、
図2のステップ200で得られた1出力回路の出力が常
に0か否かを判定する処理の詳細なフローチャートであ
る。ステップ301では、図2のステップ200で得ら
れた回路内に入力の集合が全く同じ2つ以上のゲートが
存在するかどうかを調べ、存在すればそれらのゲートを
1つのゲートで置換する。ステップ302では、先頭信
号線の更新を行う。ここで、非束縛信号線の内、束縛信
号線と隣接しているものを先頭信号線と呼ぶ。非束縛信
号線とは、回路内のどの分岐点から出力側に辿っていっ
ても辿りつけない信号線のことであり、束縛信号線と
は、回路内の適当な分岐点から出力側に辿っていくと到
達可能な信号線のことである。ステップ303では、回
路内の複雑な部分を簡単にする回路の簡約処理を行う。
ステップ304では、ステップ303の簡約処理中に2つ
の対象論理が等価であると判定されたか、或いは、等価
でないと判定されたかどうかを調べ、いずれかの判定が
なされたならば処理を終了し、いずれの判定もなされて
いなければステップ305へ分岐する。ステップ305
では、ステップ303で簡約処理を行った回路に含まれ
る先頭信号線のリダクションを行って、1先頭信号線1
出力回路に変換する。FIG. 5 shows step 300 of FIG.
3 is a detailed flowchart of a process for determining whether or not the output of the 1-output circuit obtained in step 200 of FIG. 2 is always 0. In step 301, it is checked whether or not there are two or more gates having the same set of inputs in the circuit obtained in step 200 of FIG. 2, and if they exist, those gates are replaced by one gate. In step 302, the top signal line is updated. Here, of the unbounded signal lines, the one that is adjacent to the bounded signal line is called the head signal line. An unbound signal line is a signal line that cannot be traced from any branch point in the circuit to the output side, and a bound signal line is traced from an appropriate branch point in the circuit to the output side. A signal line that can be reached as you go. In step 303, circuit simplification processing is performed to simplify complicated parts in the circuit.
In step 304, it is checked during the reduction process of step 303 whether the two target logics are equal or not, and if any of the determinations is made, the process is terminated, If neither determination is made, the process branches to step 305. Step 305
Then, reduction of the head signal line included in the circuit subjected to the reduction processing in step 303 is performed to obtain 1 head signal line 1
Convert to output circuit.
【0022】図6は図5のステップ301に示した共通
論理をまとめる処理の具体例を表す。図6(a)におい
て、1c,2c,3c,4c,5c,6c、及び7cは
NORゲートを表す。ここで、NORゲート4cと5c
はどちらもNORゲート6cと7cをファンイン先ゲー
トとして持つ。従って、NORゲート4cと5cはそれ
ぞれ同じ入力関係を持つので、NORゲート4cと5c
を1つにまとめることが可能である。図6(b)は、N
ORゲート6c,7cと5cとの間の結線とNORゲート
5cと2c,3cとの間の結線を切り離し、NORゲー
ト4cと2c,3cとの間に結線を繋いで、図6(a)
のNORゲート5cを4cで置換した回路を表す。FIG. 6 shows a concrete example of the processing of putting together the common logic shown in step 301 of FIG. In FIG. 6A, 1c, 2c, 3c, 4c, 5c, 6c and 7c represent NOR gates. Here, NOR gates 4c and 5c
Both have NOR gates 6c and 7c as fan-in destination gates. Therefore, since the NOR gates 4c and 5c have the same input relationship, the NOR gates 4c and 5c
Can be combined into one. FIG. 6B shows N
By disconnecting the connection between the OR gates 6c, 7c and 5c and the connection between the NOR gates 5c, 2c and 3c, and connecting the connection between the NOR gates 4c and 2c and 3c, as shown in FIG.
2 shows a circuit in which the NOR gate 5c of is replaced by 4c.
【0023】図7は、図5のステップ302に示した先
頭信号線の更新の詳細なフローチャートである。ここ
で、非束縛信号線の内、束縛信号線と隣接しているもの
を先頭信号線と呼ぶ。非束縛信号線とは、回路内のどの
分岐点から出力側に辿っていっても辿りつけない信号線
のことであり、束縛信号線とは、回路内の適当な分岐点
から出力側に辿っていくと到達可能な信号線のことであ
る。ステップ311では、分岐を持つ先頭信号線の中で
まだ先頭信号線の更新の可能性について調査を行ってい
ないものが存在するかどうかを調べ、存在すればステッ
プ312へ分岐し、存在しなければ処理を終了する。ス
テップ312では、分岐を持つ先頭信号線の中で先頭信
号線の更新の可能性について調査を行っていないものを
1つ選択し、この先頭信号線をHとする。ステップ31
3では、先頭信号線Hの論理値を0にして前方含意を行
う。ステップ314では、前方含意ができなくなった箇
所の出力論理値Xのゲート(前方含意で入力論理値は変
化したのに、出力論理値はXのままで変化しなかったゲ
ート)の全てが互いに独立に出力信号線の論理値を0又
は1に制御できるゲートであるかどうか、すなわち、分
岐点を持たない出力論理値Xのゲートを通って入力エッ
ジまで辿れるかどうかを調べ、辿れればステップ315
へ分岐し、辿れなければステップ318へ分岐する。ス
テップ315では、論理値が0又は1の信号線の結線を
切り離す。ステップ316では、ステップ315の処理
の最中に出力が浮きになった束縛信号線に接続されたゲ
ートを削除する。ステップ317では、先頭信号線Hの
論理値を正当化する。ここで、正当化とは、その信号線
を出力信号線として持つゲートの論理演算結果がその信
号線の論理値と一致するように入力エッジまで辿りなが
ら順次論理値を決めていくことである。ステップ318
では、先頭信号線Hの論理値が1かどうかを調べ、1な
らばステップ319へ分岐し、1でなければステップ3
20へ分岐する。ステップ319では、先頭信号線Hの
論理値をXに設定して前方含意を行う。ステップ320
では、先頭信号線Hの論理値をXに設定して前方含意を
行う。ステップ321では、先頭信号線Hの論理値を1
に設定して前方含意を行う。その後、ステップ314か
らの処理を繰り返す。FIG. 7 is a detailed flowchart for updating the head signal line shown in step 302 of FIG. Here, of the unbounded signal lines, the one that is adjacent to the bounded signal line is called the head signal line. An unbound signal line is a signal line that cannot be traced from any branch point in the circuit to the output side, and a bound signal line is traced from an appropriate branch point in the circuit to the output side. A signal line that can be reached as you go. In step 311, it is checked whether or not there is a head signal line having a branch that has not been checked for the possibility of updating the head signal line. If it exists, the process branches to step 312, and if it does not exist. The process ends. In step 312, one of the head signal lines having a branch that has not been investigated for the possibility of updating the head signal line is selected, and this head signal line is set to H. Step 31
In 3, the logical value of the head signal line H is set to 0 and the forward implication is performed. In step 314, all the gates of the output logical value X (where the input logical value has changed but the output logical value has remained unchanged at X) due to the forward implication are all independent of each other. It is checked whether the gate can control the logical value of the output signal line to 0 or 1, that is, whether the gate can be traced to the input edge through the gate of the output logical value X having no branch point.
If not traceable, the process branches to step 318. In step 315, the connection of the signal line whose logical value is 0 or 1 is disconnected. In step 316, the gate connected to the bound signal line whose output floated during the process of step 315 is deleted. At step 317, the logical value of the head signal line H is justified. Here, the justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the signal line as the output signal line matches the logical value of the signal line. Step 318
Then, it is checked whether the logical value of the head signal line H is 1, and if it is 1, the process branches to step 319.
Branch to 20. In step 319, the logical value of the head signal line H is set to X, and the forward implication is performed. Step 320
Then, the logical value of the head signal line H is set to X to perform the forward implication. In step 321, the logical value of the head signal line H is set to 1
Set to and do forward implications. Then, the process from step 314 is repeated.
【0024】図8は、図5のステップ302に示した先
頭信号線の更新の1例を示す。図8(a)において、1
d,2d,3d,4d,5d,6d,7d、及び8dは
NORゲートを、9d,10d,11d,12d、及び1
3dは入力エッジを、14d,15d,16d,17
d、及び18dは信号線を表す。ここで、先頭信号線は
信号線14d,15d,16d、及び17dで、信号線
14dは分岐を持ち、信号線15d,16d、及び17
dは分岐を持たない。図8(b)は分岐を持つ先頭信号
線14dの出力論理値を0とし、前方含意を行った状態
を表す(ステップ713)。ここで、前方含意ができな
くなり、且つ、出力論理値がXとなるNORゲート2d,
3d、及び4dは、2dから入力エッジ9d,3dから
入力エッジ10d,4dから入力エッジ11dのように
分岐を持たず、出力論理値がXとなるゲートを通って入
力エッジまで辿ることができるので、NORゲート2
d,3d、及び4dの出力は互いに独立に0又は1に制
御可能である。図8(c)は、図8(b)で論理値が0
又は1の信号線の結線を切り離し(ステップ715)、信
号線14dの正当化により入力エッジ12dの出力論理
値を1とした状態を表す。すなわち、図8(b)におい
て、信号線12d,13dの論理値のNOR演算結果が
信号線14dの論理値0と等しくなるように、例えば図
8(c)のように、信号線12dの論理値に1を割当て
る。図8(c)において、先頭信号線は信号線18dの
みで、先頭信号線が図8(a)の信号線14d,15
d,16d、及び17dから出力側の信号線18dに更
新されている。FIG. 8 shows an example of updating the head signal line shown in step 302 of FIG. In FIG. 8A, 1
d, 2d, 3d, 4d, 5d, 6d, 7d, and 8d are
NOR gates 9d, 10d, 11d, 12d, and 1
3d designates the input edges as 14d, 15d, 16d, 17
d and 18d represent signal lines. Here, the head signal lines are the signal lines 14d, 15d, 16d, and 17d, and the signal line 14d has a branch, and the signal lines 15d, 16d, and 17d.
d has no branch. FIG. 8B shows a state in which the output logical value of the head signal line 14d having a branch is set to 0 and the forward implication is performed (step 713). Here, the NOR implication becomes impossible, and the output logical value becomes X, the NOR gate 2d,
Since 3d and 4d do not have branches like 2d to input edges 9d and 3d to input edges 10d and 4d to input edge 11d, they can be traced to the input edge through the gate whose output logical value is X. , NOR gate 2
The outputs of d, 3d, and 4d can be controlled to 0 or 1 independently of each other. In FIG. 8C, the logical value is 0 in FIG. 8B.
Alternatively, the connection of the signal line 1 is cut off (step 715), and the output logical value of the input edge 12d is set to 1 by justifying the signal line 14d. That is, in FIG. 8B, the logic operation of the signal line 12d is performed so that the NOR operation result of the logic values of the signal lines 12d and 13d becomes equal to the logic value 0 of the signal line 14d, for example, as shown in FIG. 8C. Assign 1 to the value. In FIG. 8C, the head signal line is only the signal line 18d, and the head signal line is the signal lines 14d and 15 in FIG. 8A.
The signal lines 18d on the output side are updated from d, 16d, and 17d.
【0025】図9は、図5のステップ303に示した回
路の簡約処理の詳細なフローチャートである。回路の簡
約処理には簡約処理A1,簡約処理A,簡約処理Bの3
種類の簡約処理がある。簡約処理A1では、回路の出力
ゲートの入力側にある冗長な論理を簡約する。簡約処理
Aでは、回路の多入力ゲート(回路の出力ゲートを除
く)の入力側にある冗長な論理を簡約する。簡約処理B
では、先頭信号線の論理値が回路の出力論理値に与える
影響を調べ、先頭信号線の論理値が0の時にその論理値
が回路の出力を1にしようとする影響しか持たないなら
ば、先頭信号線の論理値に0を割当てて固定し、先頭信
号線の論理値が1の時にその論理値が回路の出力を1に
しようとする影響しか持たないならば、先頭信号線の論
理値に1を割当てて固定する。ステップ331では、簡
約処理Aが可能な多入力ゲートが存在するかどうかを調
べ、存在すればステップ332へ分岐し、存在しなけれ
ばステップ337へ分岐する。ステップ332では、簡
約処理Aが可能な多入力ゲートRを選択する。ステップ
333では、多入力ゲートRが回路の出力ゲートかどう
かを調べ、そうならばステップ334へ分岐し、そうで
なければステップ335へ分岐する。ステップ334で
は、多入力ゲートRを対象に簡約処理A1を行う。ステ
ップ335では、多入力ゲートRを対象に簡約処理Aを
行う。ステップ336では、簡約処理A1又は簡約処理
Aの途中で、2つの対象論理が等価である、或いは、等
価でないと判定されたかどうかを調べ、いずれかに判定
されたならば処理を終了し、いずれにも判定されなかっ
たならばステップ331へ分岐する。ステップ337で
は、簡約処理Bが可能な先頭信号線が存在するかどうか
を調べ、存在すればステップ338へ分岐し、存在しな
ければ処理を終了する。FIG. 9 is a detailed flowchart of the reduction processing of the circuit shown in step 303 of FIG. For the circuit reduction processing, there are three types of reduction processing A1, reduction processing A, and reduction processing B.
There are various types of reduction processing. In the reduction process A1, redundant logic on the input side of the output gate of the circuit is reduced. In the reduction process A, the redundant logic on the input side of the multi-input gate (excluding the output gate of the circuit) of the circuit is reduced. Simplification process B
Then, the influence of the logical value of the head signal line on the output logical value of the circuit is examined, and when the logical value of the head signal line is 0, the logical value has only the effect of making the output of the circuit 1 If the logic value of the head signal line is fixed by assigning 0, and the logic value of the head signal line has a value of 1, the logic value of the head signal line only has the effect of trying to set the output of the circuit to 1. Assign 1 to and fix. In step 331, it is checked whether or not there is a multi-input gate capable of the reduction processing A. If it exists, the process branches to step 332, and if it does not exist, the process branches to step 337. In step 332, the multi-input gate R capable of the reduction processing A is selected. In step 333, it is checked whether the multi-input gate R is the output gate of the circuit, and if so, the process branches to step 334, and if not, the process branches to step 335. In step 334, the reduction process A1 is performed on the multi-input gate R. In step 335, reduction processing A is performed on the multi-input gate R. In step 336, it is checked in the middle of the reduction processing A1 or the reduction processing A whether or not the two target logics are equivalent or not equivalent to each other. If not, the process branches to step 331. In step 337, it is checked whether or not there is a leading signal line that can be subjected to the reduction processing B. If it exists, the processing branches to step 338, and if it does not exist, the processing ends.
【0026】(非束縛信号線の内、束縛信号線と隣接し
ているものを先頭信号線と呼ぶ。非束縛信号線とは、回
路内のどの分岐点から出力側に辿っていっても辿りつけ
ない信号線のことであリ、束縛信号線とは、回路内の適
当な分岐点から出力側に辿っていくと到達可能な信号線
のことである。)ステップ338では、簡約処理Bが可
能な先頭信号線Hを選択する。ステップ339では、先
頭信号線Hを対象に簡約処理Bを行う。ステップ340
では、簡約処理Bの途中で、2つの対象論理が等価であ
る、或いは、等価でないかのいずれかであると判定され
たかどうかを調べ、いずれかに判定されたならば処理を
終了し、いずれにも判定されなかったならばステップ3
41へ分岐する。ステップ341では、簡約処理Bが可
能な新たな先頭信号線が存在するかどうかを調べ、存在
すればステップ338へ分岐し、存在しなければステッ
プ342へ分岐する。ステップ342では、簡約処理A
が可能な多入力ゲートが存在するかどうかを調べ、存在
すればステップ332へ分岐し、存在しなければ処理を
終了する。(Of the unbounded signal lines, the one adjacent to the bounded signal line is called the head signal line. The unbounded signal line is traced from any branch point in the circuit to the output side. The signal line that is not attached, and the bound signal line is a signal line that can be reached by tracing from an appropriate branch point in the circuit to the output side.) In step 338, the reduction process B is performed. A possible head signal line H is selected. In step 339, the reduction process B is performed on the head signal line H. Step 340
Then, in the middle of the reduction process B, it is checked whether or not the two target logics are equivalent or not equivalent, and if any of them is determined, the process is terminated, and If not, step 3
Branch to 41. In step 341, it is checked whether or not there is a new head signal line that can be subjected to the reduction process B. If it exists, the process branches to step 338, and if it does not exist, the process branches to step 342. In step 342, the reduction process A
It is checked whether or not there is a multi-input gate capable of performing the above process. If it exists, the process branches to step 332, and if not, the process ends.
【0027】図10は、図9のステップ334に示した
簡約処理A1の詳細なフローチャートである。ステップ
351では、多入力ゲートRの出力論理値を1にして含
意操作を行う。但し、非束縛信号線に対しては含意操作
を行わない。ステップ352では、含意操作中に矛盾
(含意操作中にそれぞれ異なる経路を介して0と1の2
つの値が同一信号線に設定されようとする状況)が生じ
たかどうかを調べ、生じたならばステップ358へ分岐
し、生じなかったならばステップ353へ分岐する。ス
テップ353では、出力論理値が0で入力論理値が0又
はXであるゲートと、論理値が0又は1の先頭信号線を
出力信号線として持つゲートを終端ゲート(入力エッジ
を含む)として登録する。ステップ354では、論理値
が0又は1の信号線の結線を切り離す。ステップ355
では、各終端ゲートに対して、その出力信号線が先頭信
号線ならば出力論理値を入力エッジまで正当化し、その
出力信号線が束縛信号線であって、且つ、入力数が1以
上ならばその終端ゲートと多入力ゲートRとの間に結線
を繋ぐ。ここで、正当化とは、対象となる信号線を出力
信号線として持つゲートの論理演算結果がその信号線の
論理値と一致するように入力エッジまで辿りながら順次
論理値を決めていくことである。ステップ356では、多
入力ゲートRの入力数が0かどうかを調べ、0ならばス
テップ357へ、0でなければステップ359へ分岐す
る。ステップ357では、2つの対象論理は等価でない
と判定する。ステップ358では、2つの対象論理が等
価であると判定する。ステップ359では、処理中に出
力数が0となった浮きゲートの削除を行う。ステップ3
60では、論理値が0又は1の信号線の論理値を全てX
に戻す。FIG. 10 is a detailed flowchart of the reduction process A1 shown in step 334 of FIG. In step 351, the output logical value of the multi-input gate R is set to 1 and an implication operation is performed. However, the implication operation is not performed on the unbound signal line. In step 352, a contradiction occurs during the implication operation (2 of 0 and 1 via different paths during the implication operation).
It is checked whether or not a situation in which two values are about to be set in the same signal line) has occurred. If so, the process branches to step 358, and if not, the process branches to step 353. In step 353, a gate having an output logical value of 0 and an input logical value of 0 or X and a gate having a leading signal line having a logical value of 0 or 1 as an output signal line are registered as termination gates (including input edges). To do. In step 354, the connection of the signal line whose logical value is 0 or 1 is disconnected. Step 355
Then, for each terminal gate, if the output signal line is the first signal line, the output logical value is justified up to the input edge, and if the output signal line is a bound signal line and the number of inputs is 1 or more. A wire is connected between the terminal gate and the multi-input gate R. Here, the justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the signal line. is there. In step 356, it is checked whether or not the number of inputs of the multi-input gate R is 0. If 0, the process branches to step 357, and if not 0, the process branches to step 359. In step 357, it is determined that the two target logics are not equivalent. In step 358, it is determined that the two target logics are equivalent. In step 359, the floating gate whose number of outputs becomes 0 during processing is deleted. Step 3
At 60, all the logical values of the signal line whose logical value is 0 or 1 are X.
Return to.
【0028】図11は、図9のステップ334に示した
簡約処理A1の1例である。図11(a)において、1
e,2e,3e,4e,5e,6e,7e,8e、及び
9eはNORゲートを、10e,11e,12e,13
e、及び14eは入力エッジを表す。ここで、簡約処理
A1の対象となっている多入力ゲートはNORゲート1
eである。図11(b)は、NORゲート1eの出力論
理値を1に設定して含意を行った状態を表す(ステップ
351)。ここで、NORゲート8e,9e、及び入力
エッジ10eが終端ゲートとなっている(ステップ35
3)。図11(c)は、論理値0又は1の信号線の結線
(1eと2e,1eと3e,1eと4e,2eと8e,
2eと6e,3eと5e,4eと6e,5eと8e,5
eと10e,6eと9e、及び6eと10eとの間の結
線)を切り離し(ステップ354)、終端ゲート8e及
び9eの結線処理(ステップ355)と浮きゲート2
e,7e、及び11eの削除(ステップ359)を行っ
た状態を表す。FIG. 11 shows an example of the reduction process A1 shown in step 334 of FIG. In FIG. 11A, 1
e, 2e, 3e, 4e, 5e, 6e, 7e, 8e and 9e are NOR gates, 10e, 11e, 12e, 13
e and 14e represent input edges. Here, the multi-input gate that is the target of the reduction process A1 is the NOR gate 1
It is e. FIG. 11B shows a state in which the output logical value of the NOR gate 1e is set to 1 and implication is performed (step 351). Here, the NOR gates 8e and 9e and the input edge 10e are termination gates (step 35).
3). FIG. 11C shows connection of signal lines having logical values 0 or 1 (1e and 2e, 1e and 3e, 1e and 4e, 2e and 8e,
2e and 6e, 3e and 5e, 4e and 6e, 5e and 8e, 5
e and 10e, 6e and 9e, and 6e and 10e) are disconnected (step 354), the termination gates 8e and 9e are connected (step 355), and the floating gate 2 is connected.
The state in which e, 7e, and 11e are deleted (step 359) is shown.
【0029】図12は、図9のステップ335に示した
簡約処理Aの詳細なフローチャートである。ステップ3
71では、多入力ゲートRの出力論理値を1にして後方
含意を行う。但し、非束縛信号線に対しては含意を行わ
ない。ステップ372では、含意中に矛盾(含意操作中
にそれぞれ異なる経路を介して0と1の2つの値が同一
信号線に設定されようとする状況)が生じたかどうかを
調べ、生じたならばステップ379へ分岐し、生じなか
ったならばステップ373へ分岐する。ステップ373
では、出力論理値が0であって、且つ、入力論理値が0
又はXであるゲートと、論理値が0又は1の先頭信号線
を出力信号線として持つゲートを終端ゲートとして登録
する。ステップ374では、終端ゲートから出力側の回
路を多入力ゲートRに収斂する部分と収斂しない部分と
に分離する。ステップ375では、終端ゲートから多入
力ゲートRに収斂する部分において、終端ゲートから前
方含意を行う。但し、多入力ゲートRより出力側での含
意は行わない。ステップ376では、前方含意中に矛盾
が生じたかどうかを調べ、生じたならばステップ379
へ分岐し、生じなかったならばステップ377へ分岐す
る。ステップ377では、論理値が0又は1の信号線の結
線と、出力論理値が0であって、且つ、入力論理値に1
が存在するゲートの全ての入力結線を切り離す。ステッ
プ378では、各終端ゲートに対して、この終端ゲート
が出力論理値が0であって且つ入力数が1以上、或い
は、この終端ゲートの出力信号線が論理値0の先頭信号
線ならば、その終端ゲートと多入力ゲートRとの間に結
線を繋ぐ。又、この終端ゲートが出力論理値が1であっ
て且つ入力数が1以上、或いは、この終端ゲートの出力
信号線が論理値1の先頭信号線ならば、新たにNORゲ
ートNを追加し、その終端ゲートとNORゲートNの
間、及びNORゲートNと多入力ゲートRとの間に結線
を繋ぐ。ステップ379では、多入力ゲートRの出力論
理値に0を設定して前方含意を行う。ステップ380で
は、多入力ゲートRより出力側にある信号線の内、その
論理値が0又は1の信号線の結線を切り離す。ステップ
381では、上記の処理中に出力数が0となった浮きゲ
ートを削除する。ステップ382では、回路の出力論理
値を調べ、0ならばステップ383へ、1ならばステッ
プ384へ、Xならばステップ385へそれぞれ分岐す
る。ステップ383では、2つの対象論理は等価である
と判定する。ステップ384では、2つの対象論理は等
価でないと判定する。ステップ385では、論理値が0
又は1の信号線の論理値を全てXに戻す。FIG. 12 is a detailed flowchart of the reduction processing A shown in step 335 of FIG. Step 3
At 71, the output logical value of the multi-input gate R is set to 1 to perform backward implication. However, no implication is applied to unbound signal lines. In step 372, it is checked whether or not a contradiction occurs during implication (a situation in which two values 0 and 1 are set to the same signal line via different paths during implication operation). If it does not occur, the process branches to step 373. Step 373
Then, the output logical value is 0 and the input logical value is 0.
Alternatively, a gate having X and a gate having a leading signal line having a logical value of 0 or 1 as an output signal line are registered as termination gates. In step 374, the circuit on the output side from the termination gate is separated into a part that converges on the multi-input gate R and a part that does not converge. In step 375, forward implication is performed from the termination gate in the part where the termination gate converges to the multi-input gate R. However, no implication is made on the output side of the multi-input gate R. In step 376, it is checked whether a contradiction occurs during the forward implication, and if so, step 379.
If not, the process branches to step 377. In step 377, the connection of the signal lines whose logical value is 0 or 1 and the output logical value that is 0 and the input logical value is 1
Disconnect all input connections to the gate where is present. In step 378, for each termination gate, if this termination gate has an output logic value of 0 and the number of inputs is 1 or more, or if the output signal line of this termination gate is a leading signal line of logic value 0, A wire is connected between the terminal gate and the multi-input gate R. If this termination gate has an output logic value of 1 and the number of inputs is 1 or more, or if the output signal line of this termination gate is the first signal line with a logic value of 1, a NOR gate N is newly added, Connections are connected between the termination gate and the NOR gate N, and between the NOR gate N and the multi-input gate R. In step 379, the output logical value of the multi-input gate R is set to 0 to perform forward implication. In step 380, among the signal lines on the output side of the multi-input gate R, the connection of the signal line whose logical value is 0 or 1 is disconnected. In step 381, the floating gate whose output number becomes 0 during the above processing is deleted. In step 382, the output logical value of the circuit is checked. If 0, the process branches to step 383, to 1 to step 384, and to X to step 385. In step 383, it is determined that the two target logics are equivalent. In step 384, it is determined that the two target logics are not equivalent. In step 385, the logical value is 0
Alternatively, all the logical values of the signal line of 1 are returned to X.
【0030】図13は、図9のステップ335に示した
簡約処理Aの1例である。図13(a)において、1
f,2f,3f,4f,5f,6f,7f,8f、及び
9fはNORゲートを表す。ここで、簡約処理Aの対象
となっている多入力ゲートRはNORゲート2fであ
る。図13(b)は、NORゲート2fの出力論理値に
1を設定して後方含意を行った状態を表す(ステップ3
71)。ここで、終端ゲートはNORゲート4f,7
f、及び8fである(ステップ373)。図13(c)
は、NORゲート4f,7f、及び8fから出力側に到
る回路をNORゲート2fに収斂する部分と収斂しない
部分に分離した状態を表す(ステップ374)。図15
(c)では、回路を分離するために、新たにNORゲー
ト10f及び11fを追加した。図13(d)は、NO
Rゲート4f,7f、及び8fからNORゲート2fに
収斂する部分において、NORゲート4f,7f、及び
8fから前方含意を行った状態を表す(ステップ37
5)。図13(e)は、論理値が0又は1の信号線の結
線と、出力論理値が0であって、且つ、入力論理値に1
が存在するゲートの全ての入力結線を切り離し(ステッ
プ377)、終端ゲートの処理(ステップ378)と浮
きゲートの削除(ステップ381)を行った状態を示
す。FIG. 13 is an example of the reduction process A shown in step 335 of FIG. In FIG. 13A, 1
f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, and 9f represent NOR gates. Here, the multi-input gate R that is the target of the reduction process A is the NOR gate 2f. FIG. 13B shows a state in which the output implication value of the NOR gate 2f is set to 1 and the backward implication is performed (step 3).
71). Here, the termination gates are NOR gates 4f, 7
f and 8f (step 373). FIG. 13 (c)
Shows a state in which the circuits from the NOR gates 4f, 7f, and 8f to the output side are separated into a portion that converges on the NOR gate 2f and a portion that does not converge (step 374). Figure 15
In (c), NOR gates 10f and 11f are newly added to separate the circuit. FIG. 13D shows NO.
In the portion where the R gates 4f, 7f, and 8f converge to the NOR gate 2f, the state in which the forward implication is performed from the NOR gates 4f, 7f, and 8f is shown (step 37).
5). In FIG. 13 (e), the connection of signal lines having a logical value of 0 or 1 and the output logical value of 0, and the input logical value of 1
Shows the state in which all the input connections of the gate in which there is a line are disconnected (step 377), the processing of the termination gate (step 378) and the removal of the floating gate (step 381) have been performed.
【0031】図14は、図9のステップ339に示した
簡約処理Bの詳細なフローチャートを表す。ステップ3
91では、先頭信号線Hから回路の出力に到る全ての経
路が偶数個のゲート(入力エッジを含む)から構成され
ているかどうかを調べ、構成されていればステップ39
2へ分岐し、構成されていなければステップ393へ分
岐する。ステップ392では、先頭信号線Hの出力論理
値に0を設定して前方含意を行う。ステップ393で
は、先頭信号線Hから回路の出力に到る全ての経路が奇
数個のゲート(入力エッジを含む)から構成されている
かどうかを調べ、構成されていればステップ394へ分
岐し、構成されていなければ処理を終了する。ステップ
394では、先頭信号線Hの論理値に1を設定して前方
含意を行う。ステップ395では、論理値が0又は1で
ある信号線の結線を切り離す。ステップ396では、先
頭信号線Hの論理値の正当化を行う。ここで、正当化と
は、対象となっている信号線を出力信号線として持つゲ
ートの論理演算結果がその信号線の論理値と一致するよ
うに入力エッジまで辿りながら順次論理値を決めていく
ことである。ステップ397では、処理中に出力数が0
となった浮きゲートを削除する。ステップ398では、
回路の出力論理値が0ならばステップ399へ分岐し、
1ならばステップ400へ分岐し、Xならば処理を終了
する。ステップ399では、2つの対象論理は等価であ
ると判定する。ステップ400では、2つの対象論理は
等価でないと判定する。FIG. 14 shows a detailed flowchart of the reduction processing B shown in step 339 of FIG. Step 3
At 91, it is checked whether all the paths from the head signal line H to the output of the circuit are composed of an even number of gates (including input edges), and if so, step 39.
2 and to step 393 if not configured. In step 392, the output logical value of the head signal line H is set to 0 to perform forward implication. In step 393, it is checked whether or not all the paths from the head signal line H to the output of the circuit are composed of an odd number of gates (including input edges). If not, the process ends. In step 394, the logical value of the leading signal line H is set to 1 to perform forward implication. In step 395, the connection of the signal line whose logical value is 0 or 1 is disconnected. In step 396, the logical value of the head signal line H is justified. Here, the justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the signal line. That is. In step 397, the number of outputs is 0 during processing.
Delete the floating gate that became. In step 398,
If the output logical value of the circuit is 0, the process branches to step 399.
If it is 1, the process branches to step 400, and if it is X, the process ends. In step 399, it is determined that the two target logics are equivalent. In step 400, it is determined that the two target logics are not equivalent.
【0032】図15は、図9のステップ339に示した
簡約処理Bの1例である。図15(a)において、1
g,2g,3g,4g、及び5gはNORゲートを表
し、6g及び7gは入力エッジを表し、8gは信号線を
表す。ここで、簡約処理Bの対象となっている先頭信号
線Hは信号線8gであり、信号線8gから回路の出力に
到る2つの経路、すなわち、入力エッジ7g→NORゲ
ート4g→NORゲート2g→NORゲート1g及び入
力エッジ7g→NORゲート5g→NORゲート3g→
NORゲート1gはどちらも入力エッジ7gも含めて4
個のゲートから構成されている。先頭信号線8gの論理
値を0とした場合には、NORゲート4g,2gの出力
論理値はそれぞれ1,0になろうとし、NORゲート5
g,3gの出力論理値はそれぞれ1,0になろうとする
ため、NORゲート1gの論理値は1になろうとする。
逆に信号線8gの論理値を1とした場合にはNORゲー
ト1gの論理値は0になろうとする。NORゲート1g
の出力論理値すなわち回路の出力論理値を1にするよう
に信号線8gの論理値を固定して得られた回路の出力が
常に0ならば元の回路の出力も常に0という性質を持
つ。図15(b)は、信号線8gの論理値を0に設定し
て前方含意を行った状態を表す(ステップ392)。図
15(c)は、図15(b)で論理値が0又は1となっ
た信号線の結線を切り離し(ステップ395)、浮きゲ
ート(ゲート2gと4g)を削除(ステップ397)し
た状態を表す。FIG. 15 is an example of the reduction process B shown in step 339 of FIG. In FIG. 15A, 1
g, 2g, 3g, 4g, and 5g represent NOR gates, 6g and 7g represent input edges, and 8g represents signal lines. Here, the leading signal line H that is the target of the reduction processing B is the signal line 8g, and there are two paths from the signal line 8g to the output of the circuit, that is, the input edge 7g → the NOR gate 4g → the NOR gate 2g. → NOR gate 1g and input edge 7g → NOR gate 5g → NOR gate 3g →
Both NOR gates 1g are 4 including the input edge 7g.
It consists of individual gates. When the logical value of the head signal line 8g is set to 0, the output logical values of the NOR gates 4g and 2g tend to be 1 and 0, respectively, and the NOR gate 5
Since the output logical values of g and 3g tend to be 1,0, respectively, the logical value of the NOR gate 1g tends to be 1.
On the contrary, when the logical value of the signal line 8g is set to 1, the logical value of the NOR gate 1g tends to become 0. NOR gate 1g
If the output of the circuit obtained by fixing the logic value of the signal line 8g so that the output logic value of the above, that is, the output logic value of the circuit is 1, is always 0, the output of the original circuit also has the property of always 0. FIG. 15B shows a state in which the logical value of the signal line 8g is set to 0 and the forward implication is performed (step 392). FIG. 15C shows a state in which the connection of the signal line whose logical value is 0 or 1 in FIG. 15B is separated (step 395) and the floating gates (gates 2g and 4g) are deleted (step 397). Represent
【0033】図16は、図5のステップ305に示した
先頭信号線のリダクションの詳細なフローチャートであ
る。ステップ411では、先頭信号線の数が1かどうか
を調べ、1ならばリダクションを行う必要がないのでス
テップ425へ分岐し、1でなければステップ412へ
分岐する。ステップ412では、先頭信号線のリダクシ
ョンの1ステップ分の処理を行う。図16に示したステ
ップ413から429は図9に示した簡約処理303と
同一である。但し、ステップ419では、簡約処理Bが
可能な先頭信号線Hが存在するかどうかを調べ、存在す
ればステップ420へ分岐し、存在しなければステップ
411へ分岐する。更に、ステップ424では、簡約処
理Aが可能な多入力ゲートRが存在するかどうかを調
べ、存在すればステップ414へ分岐し、存在しなけれ
ばステップ411へ分岐する。ステップ425では、先
頭信号線Hの論理値によって回路の出力値がどのように
決定されるかを調べ、2つの対象論理が等価であるか、
それとも等価でないかを判定する。FIG. 16 is a detailed flowchart of the reduction of the head signal line shown in step 305 of FIG. In step 411, it is checked whether or not the number of head signal lines is 1, and if it is 1, it is not necessary to perform reduction, and therefore the process branches to step 425. If it is not 1, the process branches to step 412. At step 412, processing for one step of reduction of the head signal line is performed. Steps 413 to 429 shown in FIG. 16 are the same as the reduction process 303 shown in FIG. However, in step 419, it is checked whether or not the leading signal line H capable of the reduction processing B exists, and if it exists, the process branches to step 420, and if it does not exist, the process branches to step 411. Further, in step 424, it is checked whether or not there is a multi-input gate R capable of the reduction processing A. If it exists, the process branches to step 414, and if it does not exist, the process branches to step 411. In step 425, it is examined how the output value of the circuit is determined by the logical value of the first signal line H, and whether the two target logics are equivalent,
Or determine if they are not equivalent.
【0034】図17は、図16のステップ412に示し
た先頭信号線のリダクションの1ステップ分の処理の詳
細なフローチャートである。(非束縛信号線の内、束縛
信号線と分岐点又はゲートを介して接続されているもの
を先頭信号線と呼ぶ。非束縛信号線とは、回路内のどの
分岐点から出力側に辿っていっても辿りつけない信号線
のことであり、束縛信号線とは、回路内の適当な分岐点
から出力側に辿っていくと到達可能な信号線のことであ
る。)ステップ431では、リダクション可能な先頭信
号線が存在するかどうかを調べ、存在すればステップ4
32へ分岐し、存在しなければステップ434へ分岐す
る。ここで、リダクション可能な先頭信号線とは、この
先頭信号線から回路の出力に到る任意の経路上の出力段
数が2以上であって、その経路上に含まれるゲートは全
て1入力ゲートであるような先頭信号線のことである。
ステップ432では、リダクション可能な先頭信号線H
を1つ選択する。ステップ433では、リダクション可
能な先頭信号線Hのリダクションを行う。ステップ43
4では、出力段数が2以上である多入力束縛信号線Lを
1つ選択する。ステップ435では、多入力束縛信号線
Lの近傍を多入力束縛信号線Lの代わりに1入力ゲート
を用いた等価表現で置換する。ここで、「近傍」とは、
本実施例では、注目しているゲートの入力側1段及び2
段先までの出力側ゲートの範囲を言う。FIG. 17 is a detailed flowchart of the processing for one step of reduction of the head signal line shown in step 412 of FIG. (Of the unbounded signal lines, the one that is connected to the bounded signal line via a branch point or a gate is called the head signal line. The unbounded signal line is traced from any branch point in the circuit to the output side. However, the bound signal line is a signal line that can be reached by tracing from an appropriate branch point in the circuit to the output side.) In step 431, the reduction is performed. Check whether there is a possible leading signal line, and if there is, step 4
If not, the process branches to step 434. Here, the reduction-capable head signal line means that the number of output stages on an arbitrary path from the head signal line to the output of the circuit is two or more, and all the gates included in the path are one-input gates. It is a certain head signal line.
In step 432, the head signal line H that can be reduced
Select one. In step 433, the reduction of the reduction-enabled head signal line H is performed. Step 43
At 4, one multi-input bound signal line L having two or more output stages is selected. In step 435, the vicinity of the multi-input bound signal line L is replaced with an equivalent expression using one input gate instead of the multi-input bound signal line L. Here, "neighborhood" means
In this embodiment, the first stage and the second stage on the input side of the gate of interest are
It is the range of the output side gate to the destination.
【0035】図18は、図17のステップ433に示し
たリダクション可能な先頭信号線のリダクションの1例
である。図18(a)において、1h,2h,3h,4
h,5h,6h,7h,8h,9h,10h、及び11
hはNORゲートを、12hは入力エッジを表す。ここ
で、回路の出力ゲートはNORゲート1hで、リダクシ
ョンの対象となっている先頭信号線Hは信号線13hで
あり、NORゲート8h及び9hの出力は信号線13h
から回路の出力に到る経路の内、偶数個のゲートから構
成されるものに合流しており、NORゲート10h及び
11hの出力は信号線13hから回路の出力に到る経路
の内、奇数個のゲートから構成されるものに合流してい
る。図18(b)は、信号線13hのリダクションを行
った回路を表す。ここで、NORゲート2h,3h,4
h,5h,6h,7h、及び入力エッジ12hは削除さ
れ、新たにNORゲート14h,15h,16h、及び
17hが追加されている。更に、図18(a)におい
て、信号線13hから回路の出力に到る経路の内、その
中に偶数個のゲートを含む経路に合流していた2つのゲ
ート8h,9hと、信号線13hから回路の出力に到る
経路の内、その中に奇数個のゲートを含む経路に合流し
ていた2つのゲート10h,11hとがそれぞれ1つず
つ組になってNORゲート14h,15h,16h、及
び17hのファンイン先ゲートとなっている。FIG. 18 shows an example of the reduction of the reduction-enabled head signal line shown in step 433 of FIG. In FIG. 18A, 1h, 2h, 3h, 4
h, 5h, 6h, 7h, 8h, 9h, 10h, and 11
h represents a NOR gate, and 12h represents an input edge. Here, the output gate of the circuit is the NOR gate 1h, the head signal line H targeted for reduction is the signal line 13h, and the outputs of the NOR gates 8h and 9h are the signal line 13h.
The output from the NOR gates 10h and 11h is an odd number among the paths from the signal line 13h to the output of the circuit. It merges with the one that consists of the gate. FIG. 18B shows a circuit in which the signal line 13h is reduced. Here, NOR gates 2h, 3h, 4
h, 5h, 6h, 7h and the input edge 12h are deleted, and NOR gates 14h, 15h, 16h and 17h are newly added. Further, in FIG. 18A, from the signal line 13h, two gates 8h and 9h, which were merged into a path including an even number of gates in the path from the signal line 13h to the output of the circuit, Of the paths leading to the output of the circuit, the two gates 10h and 11h, which were merged into the path including an odd number of gates therein, are paired one by one to form NOR gates 14h, 15h and 16h, and It is a fan-in destination gate for 17h.
【0036】図19は、図17のステップ435に示し
た多入力信号線Lの1入力ゲート表現の1例である。図
19(a)において、1l,2l,3l,4l,5l,
6l,7l、及び8lはNORゲートを表す。ここで、
回路の出力ゲートはNORゲート1lで、1入力ゲート
表現の対象となっているゲートLはNORゲート3lで
ある。図19(b)は、NORゲート3lを1入力ゲー
ト表現に変換した状態を表す。9l及び10lはNOR
ゲート2lをコピーしたゲートを、11l,12l、及
び13lはNORゲート3lを1入力ゲート表現に変換
したゲートを表す。図19(b)の回路と図19(a)
の回路とは等価である。1入力ゲート表現の対象となっ
ていたNORゲート3lは変換されて、ゲート11l,
12l、及び13lのように全て1入力ゲートになって
いる。FIG. 19 is an example of the one-input gate representation of the multi-input signal line L shown in step 435 of FIG. In FIG. 19 (a), 1l, 2l, 3l, 4l, 5l,
6l, 7l, and 8l represent NOR gates. here,
The output gate of the circuit is the NOR gate 11 and the gate L that is the target of the one-input gate expression is the NOR gate 3l. FIG. 19B shows a state in which the NOR gate 3l is converted into a one-input gate representation. 9l and 10l are NOR
A gate obtained by copying the gate 2l is represented, and 11l, 12l, and 13l are gates obtained by converting the NOR gate 3l into a one-input gate representation. The circuit of FIG. 19 (b) and FIG. 19 (a)
Is equivalent to the circuit. The NOR gate 3l which has been the object of the one-input gate expression is converted to the gate 11l,
Like 12l and 13l, they are all 1-input gates.
【0037】図20は、図16のステップ425に示し
た最終判定の詳細なフローチャートである。ステップ4
41では、唯一の先頭信号線Hの論理値をyとする。ス
テップ442では、回路の出力をyの関数f(y)で表
した場合、f(y)がどうなるかを調べ、f(y)が恒
等的に1或いは^y(yの反転)ならばステップ443
へ、yならばステップ444へ、恒等的に0ならばステ
ップ447へそれぞれ分岐する。ステップ443では、
先頭信号線Hの論理値を0にする。ステップ444では、
先頭信号線Hの論理値を1にする。ステップ445で
は、先頭信号線Hの論理値の正当化を行う。ここで、正
当化とは、対象となっている信号線を出力信号線として
持つゲートの論理演算結果がその信号線の論理値と一致
するように入力エッジまで辿りながら順次論理値を決め
ていくことである。ステップ446では、2つの対象論
理は等価でないと判定する。ステップ447では、2つ
の対象論理は等価であると判定する。FIG. 20 is a detailed flowchart of the final judgment shown in step 425 of FIG. Step 4
In 41, the logical value of the only first signal line H is y. In step 442, when the output of the circuit is represented by a function f (y) of y, what happens to f (y) is checked. If f (y) is 1 or ^ y (inversion of y), Step 443
If y, the process branches to step 444. If 0, the process branches to step 447. In step 443,
The logical value of the head signal line H is set to 0. In step 444,
The logical value of the head signal line H is set to 1. At step 445, the logical value of the head signal line H is justified. Here, the justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the signal line. That is. In step 446, it is determined that the two target logics are not equivalent. In step 447, it is determined that the two target logics are equivalent.
【0038】図21は、図2のステップ600に示した
反例パターン生成の詳細なフローチャートである。ステ
ップ601では、2つの対象論理の等価検証処理におい
て入力エッジのリダクションを行ったかどうかを調べ、
行っていればステップ602へ分岐し、行っていなけれ
ば処理を終了する。ステップ602では、簡約処理を行
った回路に対して論理等価検証処理を行っている際に出
力論理値が0又は1のいずれかに定まった入力エッジに
その論理値を設定して含意操作を行う。ステップ603
では、論理値が0又は1となっている信号線の結線を切
り離す。ステップ604では、ステップ603の処理中
に出力数が0になった浮きゲートを削除する。ステップ
605では、回路の出力論理値が1になったかどうかを
調べ、1になったならばステップ609へ分岐し、1に
ならなかったならばステップ606へ分岐する。ステップ
606では、回路の出力ゲートの出力論理値を1に設定
して含意操作を行う。ステップ607では、ステップ6
06の含意中に生じた未正当化信号線を先頭信号線まで
正当化する。ここで、正当化とは、対象となっている信
号線を出力信号線として持つゲートの論理演算結果がそ
の信号線の論理値と一致するように先頭信号線まで論理
値を決めていくことである。ステップ608では、出力
論理値が0又は1となった先頭信号線を入力エッジまで
正当化する。ここで、正当化とは、対象となっている信
号線を出力信号線として持つゲートの論理演算結果がそ
の信号線の論理値と一致するように入力エッジまで辿り
ながら順次論理値を決めていくことである。FIG. 21 is a detailed flowchart of the counterexample pattern generation shown in step 600 of FIG. In step 601, it is checked whether or not the input edge has been reduced in the equivalence verification processing of the two target logics.
If so, the process branches to step 602, and if not, the process ends. In step 602, the implication operation is performed by setting the logical value to the input edge whose output logical value is set to 0 or 1 while performing the logical equivalence verification process on the circuit that has undergone the reduction process. .. Step 603
Then, the connection of the signal line whose logical value is 0 or 1 is disconnected. In step 604, the floating gate whose output number becomes 0 during the processing of step 603 is deleted. In step 605, it is checked whether or not the output logical value of the circuit has become 1, and if it becomes 1, the process branches to step 609, and if it does not become 1, the process branches to step 606. In step 606, the output logic value of the output gate of the circuit is set to 1 to perform the implication operation. In Step 607, Step 6
The unjustified signal line generated during the implication of 06 is justified to the head signal line. Here, justification is to determine the logical value up to the leading signal line so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the signal line. is there. In step 608, the leading signal line having an output logical value of 0 or 1 is justified up to the input edge. Here, the justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the signal line. That is.
【0039】(実施例2)次に、本発明の第2の実施例
を図面により説明する。(Embodiment 2) Next, a second embodiment of the present invention will be described with reference to the drawings.
【0040】図2は本発明に基づく論理等価検証処理の
第2の実施例の概要を表すフローチャートであり、第1
の実施例の場合と同一である。但し、第2の実施例で
は、図2のフローチャートに含まれるステップ100に
おいて、対象論理のNOR変換を行う代わりに対象論理
のNAND変換を行う。又、第2の実施例では、ステッ
プ200において、2つの対象論理回路の排他論理和を
とる代わりに排他論理和の否定をとる。FIG. 2 is a flow chart showing the outline of the second embodiment of the logical equivalence verification processing according to the present invention.
This is the same as the case of the above embodiment. However, in the second embodiment, in step 100 included in the flowchart of FIG. 2, the NAND conversion of the target logic is performed instead of the NOR conversion of the target logic. Also, in the second embodiment, in step 200, the exclusive OR is negated instead of the exclusive OR of the two target logic circuits.
【0041】以下では、NAND変換に伴う処理の変更
部のみについて説明する。In the following, only the changing unit of the process associated with the NAND conversion will be described.
【0042】図3は図2のステップ100に示した対象
論理のNOR変換の詳細なフローチャートである。FIG. 3 is a detailed flowchart of the NOR conversion of the target logic shown in step 100 of FIG.
【0043】図22は図3のステップ105に示した対
象回路のNAND変換において使用される等価表現の変
換例であり、2入力AND,NAND,OR、及びNO
RゲートをそれぞれNANDゲートの組合せで表現した
ものである。FIG. 22 is a conversion example of an equivalent expression used in the NAND conversion of the target circuit shown in step 105 of FIG. 3, which is a 2-input AND, NAND, OR, and NO.
Each R gate is represented by a combination of NAND gates.
【0044】図5は図2のステップ300に示した回路
の出力が常に0か否かの判定処理の詳細なフローチャー
トである。FIG. 5 is a detailed flowchart of the processing for determining whether the output of the circuit shown in step 300 of FIG. 2 is always 0.
【0045】図7は図5のステップ302に示した先頭
信号線の更新の詳細なフローチャートである。(非束縛
信号線の内、束縛信号線と隣接しているものを先頭信号
線と呼ぶ。非束縛信号線とは、回路内のどの分岐点から
出力側に辿っていっても辿りつけない信号線のことであ
り、束縛信号線とは、回路内の適当な分岐点から出力側
に辿っていくと到達可能な信号線のことである。)図9
は図5のステップ303に示した回路の簡約処理の詳細
なフローチャートである。FIG. 7 is a detailed flowchart of updating the head signal line shown in step 302 of FIG. (The unbounded signal line that is adjacent to the bounded signal line is called the top signal line. The unbounded signal line is a signal that cannot be reached from any branch point in the circuit to the output side. A bound signal line is a signal line that can be reached by tracing from an appropriate branch point in the circuit to the output side.) FIG.
6 is a detailed flowchart of the reduction processing of the circuit shown in step 303 of FIG.
【0046】図10は図9のステップ334に示した簡
約処理A1の詳細なフローチャートである。但し、第2
の実施例では、ステップ351において、Rの論理値に
1を設定して含意を行う代わりにRの論理値に0を設定
して含意を行う。FIG. 10 is a detailed flowchart of the reduction process A1 shown in step 334 of FIG. However, the second
In this embodiment, in step 351, the implication is performed by setting the logical value of R to 0 instead of setting the logical value of R to 1 and performing implication.
【0047】図12は図9のステップ335に示した簡
約処理Aの詳細なフローチャートである。但し、第2の
実施例では、ステップ371において、Rの論理値に1
を設定して後方含意を行う代わりにRの論理値に0を設
定して後方含意を行い、ステップ379において、Rの
論理値に0を設定して前方含意を行う代わりにRの論理
値に1を設定して前方含意を行う。更に、ステップ38
3において、2つの対象論理が等価であると判定する代
わりに2つの対象論理が等価でないと判定し、ステップ
384において、2つの対象論理が等価でないと判定す
る代わりに2つの対象論理が等価であると判定する。FIG. 12 is a detailed flowchart of the reduction process A shown in step 335 of FIG. However, in the second embodiment, in step 371, the logical value of R is set to 1
Is set to the logical value of R instead of carrying out the backward implication, and backward implication is carried out. In step 379, the logical value of R is set to 0 and the logical value of R is taken instead of carrying out the forward implication. Set 1 to perform forward implication. Further, step 38
In 3, instead of determining that the two target logics are equivalent, it is determined that the two target logics are not equivalent, and in step 384, instead of determining that the two target logics are not equivalent, the two target logics are equivalent. Determined to be
【0048】図14は図9のステップ339に示した簡
約処理Bの詳細なフローチャートである。但し、第2の
実施例では、ステップ392において、Hの論理値に0
を設定して前方含意を行う代わりにHの論理値に1を設
定して前方含意を行い、ステップ394においてHの論
理値に1を設定して前方含意を行う代わりにHの論理値
に0を設定して前方含意を行う。更に、ステップ399
において、2つの対象論理が等価であると判定する代わ
りに2つの対象論理が等価でないと判定し、ステップ4
00において、2つの対象論理が等価でないと判定する
代わりに2つの対象論理は等価であると判定する。FIG. 14 is a detailed flowchart of the reduction process B shown in step 339 of FIG. However, in the second embodiment, in step 392, the logical value of H is set to 0.
Instead of performing the forward entailment, the logical value of H is set to 1 to perform the forward implication, and in step 394, the logical value of H is set to 1 and the logical value of H is set to 0 instead of performing the forward implication. And set the forward implication. Further, step 399
, It is determined that the two target logics are not equivalent, instead of determining that the two target logics are equivalent.
At 00, instead of determining that the two target logics are not equivalent, it is determined that the two target logics are equivalent.
【0049】図16は図5のステップ305に示した先
頭信号線のリダクションの詳細なフローチャートであ
る。FIG. 16 is a detailed flowchart of the reduction of the head signal line shown in step 305 of FIG.
【0050】図17は図16のステップ412に示した
先頭信号線のリダクションの1ステップ分の処理の詳細
なフローチャートである。FIG. 17 is a detailed flowchart of the processing for one step of the reduction of the head signal line shown in step 412 of FIG.
【0051】図23は図16のステップ425に示した
最終判定の詳細なフローチャートである。ステップ45
1では、唯一の先頭信号線Hの論理値をyに設定する。
ステップ452では、回路の出力をyの関数f(y)で
表した場合、f(y)がどのような値になるかを調べ、
f(y)が恒等的に0又はyならばステップ453へ、
^y(yの反転)ならばステップ454へ、恒等的に1
ならばステップ457へ分岐する。ステップ453で
は、先頭信号線Hの論理値を0に設定する。ステップ4
54では、先頭信号線Hの論理値を1に設定する。ステ
ップ455では、先頭信号線Hの論理値の正当化を行
う。ここで、正当化とは、対象信号線を出力信号線とし
て持つゲートの論理演算結果が対象信号線の論理値と一
致するように入力エッジまで辿りながら順次論理値を決
めていくことである。ステップ456では、2つの対象
論理は等価でないと判定する。ステップ457では、2
つの対象論理は等価であると判定する。FIG. 23 is a detailed flowchart of the final determination shown in step 425 of FIG. Step 45
In 1, the logical value of only the first signal line H is set to y.
In step 452, when the output of the circuit is represented by the function f (y) of y, the value of f (y) is checked,
If f (y) is equal to 0 or y, go to step 453.
If y (inversion of y), go to step 454 and identify 1
If so, the process branches to step 457. In step 453, the logical value of the head signal line H is set to 0. Step 4
At 54, the logical value of the head signal line H is set to 1. At step 455, the logical value of the head signal line H is justified. Here, justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the target signal line. In step 456, it is determined that the two target logics are not equivalent. In step 457, 2
The two target logics are judged to be equivalent.
【0052】図21は図2のステップ600に示した反
例パターン生成の詳細なフローチャートである。但し、
第2の実施例ではステップ606において回路の出力ゲ
ートの出力論理値に1を設定して含意操作を行う代わり
に回路の出力ゲートの出力論理値に0を設定して含意操
作を行う。FIG. 21 is a detailed flowchart of the counterexample pattern generation shown in step 600 of FIG. However,
In the second embodiment, instead of setting the output logic value of the output gate of the circuit to 1 and performing the implication operation in step 606, the output logic value of the output gate of the circuit is set to 0 and the implication operation is performed.
【0053】(実施例3)簡約処理後、信号線に論理値
を割当てる操作を試行することにより、回路の出力が1
になるような入力パターンが存在するか否かを判定する
第3の実施例について説明する。(Embodiment 3) After the reduction processing, the operation of assigning a logical value to the signal line is tried, and the output of the circuit becomes 1
A third embodiment for determining whether or not such an input pattern that
【0054】図24は、図2のステップ300に示した
図2のステップ200で得られた1出力回路の出力が常
に0か否かの判定の詳細なフローチャートである。図2
4に示したステップ301bから304bは図5に示し
たステップ301から304と同一であり、図5のステ
ップ305の代わりに図24はステップ305bを実行
する。ステップ304bまでで判定処理が終了しなかっ
た場合、ステップ305bでは、簡約処理303bを行った
回路に対して論理値の割当てをいろいろ試行することに
より、2つの対象論理が等価であるか否かを判定する。FIG. 24 is a detailed flowchart for determining whether or not the output of the 1-output circuit obtained in step 200 of FIG. 2 shown in step 300 of FIG. 2 is always 0. Figure 2
Steps 301b to 304b shown in FIG. 4 are the same as Steps 301 to 304 shown in FIG. 5, and FIG. 24 executes Step 305b instead of Step 305 in FIG. If the determination process is not completed up to step 304b, in step 305b, it is checked whether or not the two target logics are equivalent by trying various assignments of logical values to the circuit that has undergone the reduction process 303b. judge.
【0055】図25は、図24のステップ305bに示
した論理値割当て試行による判定の詳細なフローチャー
トである。ステップ411aでは、図24のステップ30
3bで得られた回路の出力論理値に1を設定して含意操作
を行う。含意操作中に含意操作の対象となった各ゲート
の出力信号線が未正当化信号線か否かがそのつどチェッ
クされ、未正当化信号線ならばその出力信号線を登録し
ておく。ここで、未正当化信号線とは、入力論理値の演
算結果が出力論理値と一致しないようなゲートの出力信
号線のことである。ステップ412aでは、ステップ4
11aの含意操作で生じた未正当化信号線を先頭信号線
まで正当化し、全ての未正当化信号線が正当化されたな
らば、2つの対象論理は等価でないと判断する。一方、
どのように論理値を割当てても正当化がうまくいかなか
ったならば、2つの対象論理は等価であると判断する。
ここで、正当化とは、対象信号線を出力信号線として持
つゲートの論理演算結果が対象信号線の論理値と一致す
るように先頭信号線まで論理値を決めていくことであ
る。ステップ413aでは、ステップ412aで2つの
対象論理は等価でないと判定されたならばステップ41
4aへ分岐し、2つの対象論理が等価であると判定され
たならば処理を終了する。ステップ414aでは、論理
値が0又は1のいずれかに定まった先頭信号線を入力エ
ッジまで正当化する。ここで、正当化とは、対象信号線
を出力信号線として持つゲートの論理演算結果が対象信
号線の論理値と一致するように入力エッジまで辿りなが
ら順次論理値を決めていくことである。FIG. 25 is a detailed flowchart of the judgment by the logical value allocation trial shown in step 305b of FIG. In step 411a, step 30 in FIG.
The implication operation is performed by setting 1 to the output logical value of the circuit obtained in 3b. During the implication operation, it is checked each time whether the output signal line of each gate that is the target of the implication operation is an unjustified signal line, and if it is an unjustified signal line, the output signal line is registered. Here, the unjustified signal line is an output signal line of a gate such that the operation result of the input logical value does not match the output logical value. In Step 412a, Step 4
The unjustified signal lines generated by the implication operation of 11a are justified up to the head signal line, and if all the unjustified signal lines are justified, it is determined that the two target logics are not equivalent. on the other hand,
If justification does not work well no matter how the logical values are assigned, it is determined that the two target logics are equivalent.
Here, the justification is to determine the logical value up to the head signal line so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the target signal line. In step 413a, if it is determined in step 412a that the two target logics are not equivalent, step 41
If the two target logics are determined to be equivalent, the process ends. In step 414a, the leading signal line whose logical value is set to either 0 or 1 is justified up to the input edge. Here, justification is to sequentially determine the logical value while tracing to the input edge so that the logical operation result of the gate having the target signal line as the output signal line matches the logical value of the target signal line.
【0056】図26は、図25のステップ412aに示
した未正当化信号線に対する正当化の詳細なフローチャ
ートである。ステップ421aでは、矛盾フラグに0を
設定する。矛盾フラグとは、ステップ426a及びステ
ップ430aの含意操作において、矛盾(含意操作中に
それぞれ異なる経路を介して0と1の2つの値が同一信
号線上に設定されようとする状況)が生じたかどうかを
表すフラグであり、矛盾フラグが0であるとは矛盾が無
い状態を表し、矛盾フラグが1であるとは矛盾が生じた
状態を表す。ステップ422aでは、矛盾フラグが0な
らばステップ423aへ分岐し、1ならばステップ42
8aへ分岐する。ステップ423aでは、回路内に未正
当化信号線があればステップ424aへ分岐し、無けれ
ばステップ427aへ分岐する。ステップ424aで
は、登録されている未正当化信号線の中から1つを選択
する。ステップ425aでは、ステップ424aで選択
した未正当化信号線を出発点として後方追跡を行う。後
方追跡では、出発点となった信号線から入力側に向かっ
て論理値がXの信号線で構成される経路を辿っていき、
追跡を打ち切った箇所の信号線に論理値を設定する。ス
テップ426aでは、ステップ425aで設定した論理
値を元に含意操作を行う。ステップ427aでは、2つ
の対象論理は等価でないと判定する。ステップ428a
では、矛盾解消のためのバックトラックを行う。ステッ
プ429aでは、ステップ428aにおいて2つの対象
論理が等価であると判定されたならば処理を終了し、判
定されなかったならばステップ430aへ分岐する。ス
テップ430aでは、バックトラック428aの過程で
変更した信号線の論理値を元に含意操作を行う。FIG. 26 is a detailed flowchart of the justification for the unjustified signal line shown in step 412a of FIG. In step 421a, 0 is set to the contradiction flag. The inconsistency flag means whether or not an inconsistency (a situation in which two values of 0 and 1 are about to be set on the same signal line via different routes during the implication operation) in the implication operation of steps 426a and 430a. The contradiction flag is 0, which means that there is no contradiction, and the contradiction flag is 1, which means that the contradiction has occurred. In step 422a, if the contradiction flag is 0, the process branches to step 423a;
Branch to 8a. In step 423a, if there is an unjustified signal line in the circuit, the process branches to step 424a, and if not, the process branches to step 427a. At step 424a, one is selected from the registered unjustified signal lines. In step 425a, backward tracing is performed using the unjustified signal line selected in step 424a as a starting point. In the backward tracing, the signal line having the logical value X is traced from the signal line which is the starting point toward the input side,
Set a logical value for the signal line at the location where the tracking was terminated. In step 426a, an implication operation is performed based on the logical value set in step 425a. In step 427a, it is determined that the two target logics are not equivalent. Step 428a
Now, backtrack to resolve the contradiction. In step 429a, if it is determined in step 428a that the two target logics are equivalent, the process ends, and if not, the process branches to step 430a. In step 430a, an implication operation is performed based on the logical value of the signal line changed in the process of the back track 428a.
【0057】図27は図26のステップ425aに示し
た後方追跡の詳細なフローチャートである。ステップ4
31aでは、その出力信号線が未正当化信号線であるゲ
ートを後方追跡の目標ゲートUIOBJNとし、目標値
UIOBJLに未正当化信号線の論理値を設定する。ス
テップ432aでは、UIOBJNの出力信号線が先頭
信号線ならばステップ434aへ分岐し、先頭信号線で
なければステップ433aへ分岐する。ステップ433aで
は、UIOBJNに対する入力ゲートであって、且つ、
出力論理値がXであるゲートを1つ選択し、選択した入
力ゲートをUIOBJNとし、UIOBJNを更新す
る。又、UIOBJLの値を反転(0→1,1→0)さ
せることによって、UIOBJLの値を更新する。ステ
ップ434aでは、UIOBJNの出力論理値にUIO
BJLの値を設定する。ステップ435aでは、処理装
置10内に設けた所定のスタックにUIOBJNのID
を積む。FIG. 27 is a detailed flowchart of the backward tracking shown in step 425a of FIG. Step 4
At 31a, a gate whose output signal line is an unjustified signal line is set as a target gate UIOBJN for backward tracing, and a logical value of the unjustified signal line is set to a target value UIOBJL. In step 432a, if the output signal line of UIOBJN is the head signal line, the process branches to step 434a, and if it is not the head signal line, the process branches to step 433a. In step 433a, which is an input gate for UIOBJN, and
One gate having an output logical value of X is selected, the selected input gate is set to UIOBJN, and UIOBJN is updated. The value of UIOBJL is updated by inverting (0 → 1, 1 → 0) the value of UIOBJL. In step 434a, the output logical value of UIOBJN is set to UIO.
Set the value of BJL. In step 435a, the ID of the UIOBJN is added to a predetermined stack provided in the processing device 10.
Pile up.
【0058】図28は図26のステップ428aに示し
たバックトラックの詳細なフローチャートである。ステ
ップ441aでは、スタックが空か否かを調べ、スタッ
クが空ならばステップ447aへ分岐し、空でなければ
ステップ442aへ分岐する。ステップ442aでは、
スタックの1番上に積んであるIDに対応したゲートの
論理値が反転済みであるか否かを調べ、反転済みならば
ステップ443aへ分岐し、未反転ならばステップ44
6aへ分岐する。ステップ443aでは、スタックの1
番上に積まれたIDに対応するゲートの出力論理値をX
に戻す。ステップ444aでは、含意操作を行う。ステ
ップ445aでは、ゲートをスタックから除去する、す
なわち、スタックの1番上に積まれたIDを除去する。
ステップ446aでは、スタックの1番上に積まれたI
Dに対応するゲートの出力論理値を反転(0→1,1→
0)する。ステップ447aでは、2つの対象論理は等
価であると判定する。FIG. 28 is a detailed flowchart of the backtrack shown in step 428a of FIG. In step 441a, it is checked whether or not the stack is empty. If the stack is empty, the process branches to step 447a, and if not, the process branches to step 442a. In step 442a,
It is checked whether or not the logic value of the gate corresponding to the ID stacked on the top of the stack has been inverted, and if it has been inverted, the process branches to step 443a.
Branch to 6a. In step 443a, the stack 1
The output logical value of the gate corresponding to the ID piled up at the top is X
Return to. In step 444a, an implication operation is performed. In step 445a, the gate is removed from the stack, i.e., the ID stacked on top of the stack is removed.
In step 446a, the I on top of the stack
Invert the output logic value of the gate corresponding to D (0 → 1, 1 →
0) In step 447a, it is determined that the two target logics are equivalent.
【0059】図29は、図24のステップ305bに示
した論理値割当て試行による判定処理の具体例である。
図29において、1r,2r,3r,4r,5r,6
r、及び7rはいずれもNORゲートを表し、8rは入
力エッジを表し、9r,10r,11r,12r,13
r,14r、及び15rはいずれも信号線を表す。図2
9(a)は、図24に示した簡約処理303bで得られ
た回路の出力論理値に1を設定し、含意操作を行った回
路を表す(ステップ411a)。ここで、信号線9rと
10rをそれぞれ出力信号線とするNORゲート2rと
3rの出力論理値が1であり、入力論理値が全てXであ
るため、信号線9rと10rはいずれも未正当化信号線
である。図29(b)は、図29(a)に示した回路に
含まれる未正当化信号線の中から9rを選択して後方追
跡を行った図である(ステップ424a,ステップ42
5a)。ここで、(後方追跡の目標ゲート,目標値)は
(2r,0)→(4r,1)→(6r,0)→(8r,
1)と順次更新される(ステップ433a)。図29
(c)は、後方追跡の最終目標ゲート8rに最終目標値
1を設定し(ステップ434a)、含意操作426aを
行った結果を示した図である。ここで、論理値を設定し
たゲート8rはスタックに積まれる(ステップ435
a)。ここで、NORゲート3rの出力論理値は0であ
るのに、入力論理値0と0のNOR演算結果は1であ
り、論理値に矛盾が生じている。図29(d)は、図2
9(c)に示した回路に対してバックトラックおよび含
意操作を行った結果を示した図である(ステップ428
a,ステップ429a)。スタックの1番上に積まれた
ゲート8rの論理値を1から0に反転して(ステップ446
a)、含意操作を行うと今度はNORゲート2rで矛盾が
生じる。図29(e)は図29(d)の回路に対して更
にバックトラックを行った結果を示した図である。スタ
ックの1番上に積まれたゲート8rは既に論理値反転済
みのため、論理値をXに戻し(ステップ443a)、含
意操作を行い(ステップ444a)、次のバックトラッ
クの対象となるゲートを探索するが、スタックが空のた
め、2つの対象論理は等価であると判定する(ステップ
447a)。FIG. 29 is a specific example of the determination process by the logical value allocation trial shown in step 305b of FIG.
In FIG. 29, 1r, 2r, 3r, 4r, 5r, 6
r and 7r each represent a NOR gate, 8r represents an input edge, and 9r, 10r, 11r, 12r, 13
Each of r, 14r, and 15r represents a signal line. Figure 2
Reference numeral 9 (a) represents a circuit in which the output logical value of the circuit obtained by the reduction processing 303b shown in FIG. 24 is set to 1 and the implication operation is performed (step 411a). Here, since the output logical values of the NOR gates 2r and 3r whose output signal lines are the signal lines 9r and 10r are 1 and the input logical values are all X, the signal lines 9r and 10r are both unjustified. It is a signal line. FIG. 29B is a diagram in which 9r is selected from the unjustified signal lines included in the circuit shown in FIG. 29A to perform backward tracking (steps 424a and 42).
5a). Here, (target gate and target value for backward tracking) is (2r, 0) → (4r, 1) → (6r, 0) → (8r,
1) is sequentially updated (step 433a). FIG. 29
(C) is a diagram showing a result of performing the implication operation 426a by setting the final target value 1 to the final target gate 8r for backward tracking (step 434a). Here, the gate 8r for which the logical value is set is stacked on the stack (step 435).
a). Here, although the output logical value of the NOR gate 3r is 0, the NOR operation result of the input logical values 0 and 0 is 1, and thus the logical values are inconsistent. FIG. 29D is the same as FIG.
9C is a diagram showing a result of performing backtracking and implication operations on the circuit shown in FIG. 9C (step 428). FIG.
a, step 429a). The logical value of the gate 8r stacked on the top of the stack is inverted from 1 to 0 (step 446
a) When the implication operation is performed, a contradiction occurs in the NOR gate 2r this time. FIG. 29E is a diagram showing a result of backtracking further performed on the circuit of FIG. 29D. Since the gate 8r stacked on the top of the stack has already undergone the logic value inversion, the logic value is returned to X (step 443a), the implication operation is performed (step 444a), and the gate to be the target of the next backtrack is selected. A search is performed, but since the stack is empty, it is determined that the two target logics are equivalent (step 447a).
【0060】図30は、図26のステップ425aに示
した後方追跡の別実施例の詳細なフローチャートであ
る。図30に示したステップ431b,433b,43
4b、及び435bは図27に示したステップ431
a,433a,434a、及び435aと同一のもので
ある。図30に示した実施例では、目標ゲート(UIOBJN)
および目標値(UIOBJL)の更新を1回行っただけ
で後方追跡を打ち切る。FIG. 30 is a detailed flowchart of another embodiment of backward tracking shown in step 425a of FIG. Steps 431b, 433b, 43 shown in FIG.
4b and 435b are steps 431 shown in FIG.
a, 433a, 434a, and 435a. In the embodiment shown in FIG. 30, the target gate (UIOBJN)
The target tracking (UIOBJL) is updated once and the backward tracking is terminated.
【0061】[0061]
【発明の効果】本発明によれば、回路の冗長性を除去す
ることにより、効率的に論理等価検証ができる。According to the present invention, the logical equivalence verification can be efficiently performed by removing the redundancy of the circuit.
【図1】本発明における論理等価検証処理の概要を示す
図である。FIG. 1 is a diagram showing an outline of a logical equivalence verification process in the present invention.
【図2】本発明における論理等価検証処理のフローチャ
ートである。FIG. 2 is a flowchart of a logical equivalence verification process in the present invention.
【図3】図2のステップ100に示した対象論理のNO
R変換の詳細なフローチャートである。FIG. 3 is a NO of the target logic shown in step 100 of FIG.
It is a detailed flowchart of R conversion.
【図4】AND,NAND,OR,NORゲートのNO
R変換例を表す図である。[FIG. 4] NO of AND, NAND, OR, and NOR gates
It is a figure showing the R conversion example.
【図5】図2のステップ300に示した論理等価判定の
詳細なフローチャートである。5 is a detailed flowchart of the logical equivalence determination shown in step 300 of FIG.
【図6】共通論理をまとめる処理の具体例を表す図であ
る。FIG. 6 is a diagram illustrating a specific example of a process of collecting common logic.
【図7】図5のステップ301に示した先頭信号線の更
新の詳細なフローチャートである。FIG. 7 is a detailed flowchart of updating the head signal line shown in step 301 of FIG.
【図8】先頭信号線の更新例を表す図である。FIG. 8 is a diagram illustrating an example of updating a head signal line.
【図9】図5のステップ303に示した簡約処理の詳細
なフローチャートである。9 is a detailed flowchart of the reduction processing shown in step 303 of FIG.
【図10】図9のステップ334に示した簡約処理A1
の詳細なフローチャートである。FIG. 10 is a reduction process A1 shown in step 334 of FIG.
2 is a detailed flowchart of FIG.
【図11】簡約処理A1の1例を表す図である。FIG. 11 is a diagram illustrating an example of reduction processing A1.
【図12】図9のステップ335に示した簡約処理Aの
詳細なフローチャートである。12 is a detailed flowchart of the reduction process A shown in step 335 of FIG.
【図13】簡約処理Aの1例を表す図である。FIG. 13 is a diagram illustrating an example of reduction processing A.
【図14】図9のステップ339に示した簡約処理Bの
詳細なフローチャートである。14 is a detailed flowchart of the reduction processing B shown in step 339 of FIG.
【図15】簡約処理Bの1例を表す図である。FIG. 15 is a diagram illustrating an example of reduction processing B.
【図16】図5のステップ305に示した入力エッジの
リダクションの詳細なフローチャートである。16 is a detailed flowchart of the reduction of the input edge shown in step 305 of FIG.
【図17】図16のステップ412に示した入力エッジ
のリダクション(1ステップ)の詳細なフローチャート
である。FIG. 17 is a detailed flowchart of the input edge reduction (1 step) shown in step 412 of FIG. 16;
【図18】入力エッジのリダクションの1例を表す図で
ある。FIG. 18 is a diagram illustrating an example of reduction of an input edge.
【図19】回路の標準化の1例を表す図である。FIG. 19 is a diagram illustrating an example of standardization of a circuit.
【図20】図16のステップ425に示した最終判定の
詳細なフローチャートである。20 is a detailed flowchart of the final determination shown in step 425 of FIG.
【図21】図2のステップ600に示した反例パターン
データの生成の詳細なフローチャートである。FIG. 21 is a detailed flowchart of generation of counterexample pattern data shown in step 600 of FIG.
【図22】第2の実施例におけるAND,NAND,O
R,NORゲートの変換例を表す図である。FIG. 22 shows AND, NAND, O in the second embodiment.
It is a figure showing the example of a conversion of R and a NOR gate.
【図23】第2の実施例における図16のステップ42
5に示した最終判定の詳細なフローチャートである。FIG. 23 is step 42 of FIG. 16 in the second embodiment.
6 is a detailed flowchart of the final determination shown in FIG.
【図24】第3の実施例におけるステップ300に示し
た論理等価判定の詳細なフローチャートである。FIG. 24 is a detailed flowchart of the logical equivalence determination shown in step 300 in the third embodiment.
【図25】図24のステップ305bに示した論理値割
当て試行による判定の詳細なフローチャートである。FIG. 25 is a detailed flowchart of the determination by the logical value allocation trial shown in step 305b of FIG.
【図26】図25のステップ412aに示した未正当化
信号線の正当化の詳細なフローチャートである。FIG. 26 is a detailed flowchart of justification of the unjustified signal line shown in step 412a of FIG. 25.
【図27】図26のステップ425aに示した後方追跡
の詳細なフローチャートである。FIG. 27 is a detailed flowchart of the backward tracking shown in step 425a of FIG.
【図28】図26のステップ428aに示したバックト
ラックの詳細なフローチャートである。FIG. 28 is a detailed flowchart of the backtrack shown in step 428a of FIG.
【図29】ステップ305bに示した論理値割当て試行
による判定の具体例を表す図である。FIG. 29 is a diagram showing a specific example of the determination by the logical value allocation trial shown in step 305b.
【図30】図26のステップ425aに示した後方追跡
の別実施例における詳細なフローチャートである。FIG. 30 is a detailed flowchart of another embodiment of the backward tracking shown in step 425a of FIG. 26.
【図31】本発明を実施する計算機システムの構成図で
ある。FIG. 31 is a configuration diagram of a computer system that implements the present invention.
【図32】本発明の処理に必要な回路データの構成を示
した図である。FIG. 32 is a diagram showing a configuration of circuit data necessary for processing of the present invention.
【図33】本発明の処理に必要なブール式データの構成
を示した図である。FIG. 33 is a diagram showing a structure of Boolean expression data necessary for the processing of the present invention.
【図34】本発明の処理に必要な反例パターンデータの
構成を示した図である。FIG. 34 is a diagram showing a configuration of counterexample pattern data necessary for the processing of the present invention.
【図35】組合せ論理のBDDによる表現の例を表す図
である。[Fig. 35] Fig. 35 is a diagram illustrating an example of a BDD representation of combinational logic.
1…対象組合せ回路XとY、2…対象組合せ回路XとY
を排他論理和で結合して得られた1出力回路Z、3…簡
約処理、4…先頭信号線のリダクション、5…最終回路
(1先頭信号線1出力回路)。1 ... Target combination circuits X and Y, 2 ... Target combination circuits X and Y
1 output circuit Z obtained by combining with an exclusive OR, 3 ... Reduction processing, 4 ... Reduction of head signal line, 5 ... Final circuit (1 head signal line 1 output circuit).
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中田 孝広 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 新舎 隆夫 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 碇谷 幸夫 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 霜田 裕子 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Takahiro Nakata 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Inside the Hitachi, Ltd. Systems Development Laboratory (72) Inventor Takao, 1099, Ozen-ji, Aso-ku, Kawasaki, Kanagawa Ceremony Company Hitachi Systems Development Laboratory (72) Inventor Yukio Ikitani 1 Horiyamashita, Hadano City, Kanagawa Pref., Kanagawa Plant, Hiritsu Manufacturing Co., Ltd. (72) Yuko Shimoda 1 Horiyamashita, Hadano City, Kanagawa Prefecture Hitachi Compu Ta Engineering Co., Ltd.
Claims (13)
等価検証において、対象組合せ論理を一種類の基本ゲー
トのみで構成した等価回路に変換する第1ステップと、
前記第1ステップで得られた2つの組合せ回路の対応す
る入力エッジを1つにまとめ、前記第1ステップで回路
の構成要素として選択した基本ゲートの種類により出力
の排他論理和もしくは排他論理和の否定をとる第2ステ
ップと、前記第2ステップで得られた1出力回路の出力
が真値になる入力パターンが存在するか否かを判定する
第3ステップと、前記第3ステップで前記第2ステップ
で得られた1出力回路の出力が真値になる入力パターン
が存在すると判定された場合、すなわち、2つの対象組
合せ回路が等価でないと判定された場合に、第3ステッ
プで値の定まった入力エッジの確定論理値情報から反例
パターンを生成する第4ステップとを備えることを特徴
とする論理等価検証方法。1. A first step of converting a target combinational logic into an equivalent circuit composed of only one kind of basic gate in the logic equivalence verification for judging the equivalence of one combinational logic,
The corresponding input edges of the two combinational circuits obtained in the first step are combined into one, and the exclusive OR or the exclusive OR of the outputs is output depending on the type of the basic gate selected as a constituent element of the circuit in the first step. A second step of making a negative, a third step of determining whether or not there is an input pattern in which the output of the one-output circuit obtained in the second step is a true value, and the second step in the third step When it is determined that there is an input pattern in which the output of the one-output circuit obtained in step is a true value, that is, when it is determined that the two target combination circuits are not equivalent, the value is determined in the third step. And a fourth step of generating a counterexample pattern from the deterministic logical value information of the input edge.
いて、該1出力回路内の同一論理を表す複数ゲートを1
つのゲートにまとめる第1ステップと、前記第1ステッ
プで得られた回路において互いに独立に真値又は偽値に
出力を制御できる該回路内のゲートの組であってこのゲ
ートの組より入力側に信号線の分岐点が存在するものを
認識することにより該分岐点から到達可能な回路領域と
該分岐点から到達不可能な回路領域の境界にある信号線
を該ゲートの組より出力側に更新する第2ステップと、
前記第2ステップで得られた回路内の冗長な論理を簡約
する第3ステップと、前記第3ステップで得られた回路
を1先頭信号線1出力回路変換する第4ステップと、該
1先頭信号線1出力回路の出力が真値になる入力パター
ンが存在するか否かを判定する第5ステップとを備える
論理等価検証方法。2. In the third step of claim 1, a plurality of gates representing the same logic in the one output circuit are set to one.
A first step of arranging into one gate, and a set of gates in the circuit that can control the output to a true value or a false value independently of each other in the circuit obtained in the first step, and to the input side from this set of gates By recognizing the existence of the branch point of the signal line, the signal line at the boundary between the circuit area reachable from the branch point and the circuit area unreachable from the branch point is updated to the output side from the gate set. The second step to do,
A third step of reducing redundant logic in the circuit obtained in the second step, a fourth step of converting the circuit obtained in the third step into one head signal line and one output circuit, and the one head signal. A fifth step of determining whether or not there is an input pattern in which the output of the line 1 output circuit is a true value.
いて、分岐を持つ先頭信号線に論理値0又は1をセット
し、前方含意を行い、含意の止まった基本ゲートを登録
する第1ステップと、該登録基本ゲートの入力側にある
論理値Xの先頭信号線の論理値を0又は1に制御するこ
とにより、該登録基本ゲートの出力論理値を独立に0又
は1に制御できるか否かを判定する第2ステップと、前
記第2ステップにおいて該登録基本ゲートの該出力論理
値を独立に0又は1に制御できると判定された場合に前
記第1ステップにおいて論理値が0又は1に確定した信
号線の結線を切り離すことにより該先頭信号線が該登録
基本ゲートより出力側に更新された回路に変換する第3
ステップとを備える論理等価検証方法。3. The second step of claim 2, wherein a logical value 0 or 1 is set in the head signal line having a branch, a forward implication is performed, and a basic gate whose implication has stopped is registered. Whether the output logical value of the registered basic gate can be independently controlled to 0 or 1 by controlling the step and the logical value of the head signal line of the logical value X on the input side of the registered basic gate to 0 or 1 In the second step of determining whether or not the output logical value of the registered basic gate can be independently controlled to 0 or 1 in the second step, the logical value is 0 or 1 in the first step. Thirdly, the head signal line is converted to a circuit updated from the registered basic gate to the output side by disconnecting the connection of the signal line determined in the third step.
A logical equivalence verification method comprising:
いて、特許請求の範囲第2項の第2ステップで得られた
回路内の多入力基本ゲートの入力側にある冗長な部分回
路を簡約する第1ステップと、前記第1ステップで得ら
れた回路の出力基本ゲートまでのどの経路も偶数個の基
本ゲートで構成されるような先頭信号線に対しては該先
頭信号線の論理値を偽値にして前方含意を行い、論理値
が0又は1に確定した信号線の結線を切り離し、前記第
1ステップで得られた回路の出力基本ゲートまでのどの
経路も奇数個の基本ゲートで構成されるような先頭信号
線に対しては該先頭信号線の論理値を真値にして前方含
意を行い、論理値が0又は1に確定した信号線の結線を
切り離す第2ステップとを備える論理等価検証方法。4. In the third step of claim 2, a redundant partial circuit on the input side of the multi-input basic gate in the circuit obtained in the second step of claim 2 is provided. For the first step of reduction and for the head signal line such that any path to the output base gate of the circuit obtained in the first step is composed of an even number of base gates, the logical value of the head signal line Is performed as a false value to perform forward implication, disconnect the connection of the signal line whose logical value is determined to be 0 or 1, and use an odd number of basic gates for any route to the output basic gate of the circuit obtained in the first step. A second step of performing forward implication on the head signal line to be configured by setting the logical value of the head signal line to a true value and disconnecting the connection of the signal line whose logical value is set to 0 or 1 Logical equivalence verification method.
いて、該多入力基本ゲートの論理値を真値として後方含
意を行い、後方含意の止まったところの基本ゲートを登
録する第1ステップと、該多入力基本ゲートと該登録基
本ゲートとの間の不要な論理回路を除去する第2ステッ
プと、該登録基本ゲートの論理値が偽値ならば該登録基
本ゲートと該多入力基本ゲートとの間に結線を繋ぎ、該
登録基本ゲートの論理値が真値ならば該登録基本ゲート
と該多入力基本ゲートとの間に論理値を反転する1入力
基本ゲートをはさんで結線を繋ぐ第3ステップとを備え
る論理等価検証方法。5. The first step of claim 4, wherein the implication is performed backward with the logical value of the multi-input basic gate as a true value, and the basic gate where the backward implication has stopped is registered. And a second step of removing an unnecessary logic circuit between the multi-input basic gate and the registered basic gate, and if the logic value of the registered basic gate is a false value, the registered basic gate and the multi-input basic gate , And if the logic value of the registered basic gate is a true value, connect the wire between the registered basic gate and the multi-input basic gate by interposing a 1-input basic gate. A logical equivalence verification method comprising a third step.
いて、特許請求の範囲第2項の第3ステップで得られた
回路の1つを除く残りの各先頭信号線について該先頭信
号線から該回路の出力基本ゲートに到る経路上の基本ゲ
ートが該出力基本ゲートと該出力基本ゲートに対する入
力基本ゲートを除いて全て論理値を反転する1入力基本
ゲートとなっている等価回路に変換する第1ステップ
と、該等価回路内の先頭信号線であって該等価回路の出
力基本ゲートに到る経路上の該出力基本ゲートと該出力
基本ゲートに対する入力基本ゲートを除く全ての基本ゲ
ートが論理値を反転する1入力基本ゲートであるものを
除去する第2ステップとを備える論理等価検証方法。6. The head signal line according to the fourth step of claim 2 for each of the remaining head signal lines except one of the circuits obtained in the third step of claim 2. To an equivalent circuit in which all the basic gates on the path from the circuit to the output basic gate of the circuit are 1-input basic gates that invert logical values except for the output basic gate and the input basic gate for the output basic gate. All the basic gates except the output basic gate on the path leading to the output basic gate of the equivalent circuit and the input basic gate for the output basic gate in the first signal line in the equivalent circuit. And a second step of removing a one-input basic gate that inverts a logical value.
いて、該等価回路の出力基本ゲートに対する入力基本ゲ
ートであって該入力基本ゲートと該先頭信号線との間に
偶数個の論理値を反転する1入力基本ゲートが存在する
もの全体の集合を{A1,…,Am}とし、奇数個の論
理値を反転する1入力基本ゲートが存在するもの全体の
集合を{B1,…,Bn}とするとき、新たに基本ゲー
トCij(1<=i<=m,1<=j<=n)を設け、
CijとAiに接続される全ての入力基本ゲートとの間
に結線を繋ぎ、CijとBjに含まれる全ての入力基本
ゲートとの間に結線を繋ぎ、AiからAiに接続される
全ての入力基本ゲート及び出力基本ゲートを切り離し、
BjからBjに接続される全ての入力基本ゲート及び出
力基本ゲートを切り離す論理等価検証方法。7. The second basic step of claim 6 is an input basic gate for the output basic gate of the equivalent circuit, wherein an even number of logical values are provided between the input basic gate and the head signal line. , {A1, ..., Am}, and {B1, ..., Bn} the entire set having one-input basic gates that invert an odd number of logical values. }, A basic gate Cij (1 <= i <= m, 1 <= j <= n) is newly provided,
Connect all connections between Cij and all input basic gates connected to Ai, connect all connections between Cij and all input basic gates included in Bj, and connect all input basics connected from Ai to Ai. Separate the gate and output basic gate,
A method for verifying logical equivalence in which all input basic gates and output basic gates connected from Bj to Bj are disconnected.
いて、該1出力回路内の同一論理を表す複数ゲートを1
つのゲートにまとめる第1ステップと、前記第1ステッ
プで得られた回路において互いに独立に真値又は偽値に
出力を制御できる該回路内のゲートの組であってこのゲ
ートの組より入力側に信号線の分岐点が存在するものを
認識することにより該分岐点から到達可能な回路領域と
該分岐点から到達不可能な回路領域の境界にある信号線
を該ゲートの組より出力側に更新する第2ステップと、
前記第2ステップで得られた回路内の冗長な論理を簡約
する第3ステップと、前記第3ステップで得られた回路
で信号線の論理値割当てを試行することにより該1出力
回路の出力が真値になる入力パターンが存在するか否か
を判定する第4ステップとを備える論理等価検証方法。8. In the third step of claim 1, a plurality of gates representing the same logic in the one output circuit are set to one.
A first step of arranging into one gate, and a set of gates in the circuit that can control the output to a true value or a false value independently of each other in the circuit obtained in the first step, and to the input side of this gate set. By recognizing the existence of the branch point of the signal line, the signal line at the boundary between the circuit area reachable from the branch point and the circuit area unreachable from the branch point is updated to the output side from the gate set. The second step to do,
The third step of reducing the redundant logic in the circuit obtained in the second step, and the output of the one-output circuit by trying the logic value assignment of the signal line in the circuit obtained in the third step A logical equivalence verifying method, which comprises a fourth step of determining whether or not an input pattern having a true value exists.
いて、特許請求の範囲第8項の第3ステップで得られた
回路の出力論理値に真値を設定し、含意操作を行う第1
ステップと、前記第1ステップで生じた未正当化信号線
を正当化し、正当化が成功した場合には該1出力回路の
出力が真値になる入力パターンが存在すると判定し、ど
のように論理値を割当てても正当化ができない場合には
該1出力回路の出力が真値になるような入力パターンが
存在しないと判定する第2ステップと、前記第2ステッ
プで該1出力回路の出力が真値になる入力パターンが存
在すると判定した場合には、論理値が0又は1に定まっ
た先頭信号線を入力エッジまで正当化する第3ステップ
とを備える論理等価検証方法。9. In the fourth step of claim 8, the true value is set to the output logical value of the circuit obtained in the third step of claim 8, and the implication operation is performed. 1
Step, and the unjustified signal line generated in the first step is justified, and if the justification is successful, it is determined that there is an input pattern in which the output of the one output circuit becomes a true value, and how If it cannot be justified even if a value is assigned, the second step of determining that there is no input pattern that makes the output of the one output circuit a true value, and the output of the one output circuit in the second step are A logical equivalence verifying method comprising a third step of validating a leading signal line having a logical value of 0 or 1 up to an input edge when it is determined that an input pattern having a true value exists.
おいて、含意操作による矛盾が生じない間は、未正当化
信号線の有無を調べ、未正当化信号線が無ければ該1出
力回路の出力が真値になる入力パターンが存在すると判
定し、有れば未正当化信号線を1つ選択し、該未正当化
信号線からの後方追跡と含意操作を行う第1ステップ
と、含意操作による矛盾が生じた場合にバックトラック
と含意操作を行う第2ステップとを備える論理等価検証
方法。10. In the second step of the claim 9, while the inconsistency due to the implication operation does not occur, the presence or absence of the unjustified signal line is checked, and if there is no unjustified signal line, the 1 output circuit. It is determined that there is an input pattern whose output is a true value, and if there is, an unvalidated signal line is selected, and the first step of performing backward tracking and implication operation from the unvalidated signal line; A logical equivalence verifying method comprising a backtrack and a second step of performing an implication operation when a contradiction occurs due to the operation.
において、未正当化信号線の有無を調べ、未正当化信号
線が無ければ該1出力回路の出力が真値になる入力パタ
ーンが存在すると判定し、有れば未正当化信号線を1つ
選択し、該未正当化信号線を出力信号線とするゲートを
後方追跡目標ゲート、該未正当化信号線の論理値を目標
値とし、後方追跡目標ゲートが先頭信号線を出力とする
ゲートになるまで、後方追跡目標ゲートを後方追跡目標
ゲートの論理値Xの入力ゲートの1つに、目標値を目標
値の反転論理値に更新することを繰り返し、最終後方追
跡目標ゲートの出力信号線に最終目標値を設定し、含意
操作を行う論理等価検証方法。11. In the first step of claim 10, whether or not there is an unjustified signal line is checked, and if there is no unjustified signal line, an input pattern in which the output of the one output circuit is a true value is obtained. It is determined that there is, and if there is, one unjustified signal line is selected, a gate having the unjustified signal line as an output signal line is a backward tracking target gate, and a logical value of the unjustified signal line is a target value. Then, until the backward tracking target gate becomes a gate that outputs the first signal line, the backward tracking target gate becomes one of the input gates of the logical value X of the backward tracking target gate, and the target value becomes the inverted logical value of the target value. A logic equivalence verification method that repeats updating, sets the final target value on the output signal line of the final rear tracking target gate, and performs an implication operation.
において、特許請求の範囲第9項の第1ステップの後方
追跡で論理値を設定した信号線が全て既に論理値を反転
済みならば、該1出力回路の出力が真値になるような入
力パターンは存在しないと判定し、そうでなければ、論
理値が未反転の信号線の内、最も最後に論理値を設定し
たものを選択し、該信号線よりも後に論理値を設定した
信号線の論理値を全てXに戻し、該信号線の論理値を反
転し、含意操作を行う論理等価検証方法。12. In the second step of claim 10, if all the signal lines having the logical values set in the backward tracing in the first step of claim 9 have already been inverted. , It is determined that there is no input pattern in which the output of the one-output circuit becomes a true value, and if not, the signal line whose logic value has not been inverted has the logic value set at the end. Then, all the logical values of the signal lines whose logical values are set after the signal line are returned to X, the logical value of the signal line is inverted, and the implication operation is performed.
において、未正当化信号線の有無を調べ、未正当化信号
線が無ければ該1出力回路の出力が真値になる入力パタ
ーンが存在すると判定し、有れば未正当化信号線を1つ
選択し、該未正当化信号線を出力信号線とするゲートを
後方追跡目標ゲート、該未正当化信号線の論理値を目標
値とし、後方追跡目標ゲートを後方追跡目標ゲートの論
理値Xの入力ゲートの1つに、目標値を目標値の反転論
理値に更新し、後方追跡目標ゲートの出力信号線に目標
値を設定し、含意操作を行う論理等価検証方法。13. In the first step of claim 10, the presence or absence of an unjustified signal line is checked, and if there is no unjustified signal line, an input pattern in which the output of the one output circuit is a true value is obtained. It is determined that there is, and if there is, one unjustified signal line is selected, a gate having the unjustified signal line as an output signal line is a backward tracking target gate, and a logical value of the unjustified signal line is a target value. Then, the backward tracking target gate is updated to one of the input gates of the logical value X of the backward tracking target gate, the target value is updated to the inverted logical value of the target value, and the target value is set to the output signal line of the backward tracking target gate. , A logical equivalence verification method that performs implications.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4037562A JPH05233749A (en) | 1992-02-25 | 1992-02-25 | Logical equivalence verifying method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4037562A JPH05233749A (en) | 1992-02-25 | 1992-02-25 | Logical equivalence verifying method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05233749A true JPH05233749A (en) | 1993-09-10 |
Family
ID=12500965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4037562A Pending JPH05233749A (en) | 1992-02-25 | 1992-02-25 | Logical equivalence verifying method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05233749A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7086016B2 (en) | 2002-06-20 | 2006-08-01 | Fujitsu Limited | Method and apparatus for verifying logical equivalency between logic circuits |
-
1992
- 1992-02-25 JP JP4037562A patent/JPH05233749A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7086016B2 (en) | 2002-06-20 | 2006-08-01 | Fujitsu Limited | Method and apparatus for verifying logical equivalency between logic circuits |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheng et al. | Multi-level logic optimization by redundancy addition and removal | |
US5493504A (en) | System and method for processing logic function and fault diagnosis using binary tree representation | |
Zhao et al. | Static logic implication with application to redundancy identification | |
US4758953A (en) | Method for generating logic circuit data | |
Chang et al. | Circuit optimization by rewiring | |
Cha et al. | 9-V algorithm for test pattern generation of combinational digital circuits | |
JPH0756656B2 (en) | Gate logic automatic update method | |
JP3175322B2 (en) | Automatic logic generation method | |
Chang et al. | Layout driven logic synthesis for FPGAs | |
CN101317179A (en) | Timing constraint merging in hierarchical SOC designs | |
Kunz et al. | A novel framework for logic verification in a synthesis environment | |
US5856926A (en) | Logic synthesis method and system with intermediate circuit files | |
JPH05233749A (en) | Logical equivalence verifying method | |
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 | |
CN114328525A (en) | Data processing method and device | |
US7120829B2 (en) | Failure propagation path estimate system | |
JPH055774A (en) | Method for judging theoretical undetected trouble of logical circuit | |
JP2853649B2 (en) | How to create a logic simulation model | |
JPH07159499A (en) | Judging method for fundamental undetected failure of logic circuit, and test pattern production method | |
JP3080037B2 (en) | How to create a logic simulation model | |
JP2935316B2 (en) | Logic circuit delay path search method | |
Long et al. | IBAW: An implication-tree based alternative-wiring logic transformation algorithm | |
JPH06149927A (en) | Processing method for conjuncture normal form | |
CN114064654A (en) | Method for establishing logic relation system of integrated circuit and query method |