JP3386503B2 - Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method - Google Patents

Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method

Info

Publication number
JP3386503B2
JP3386503B2 JP03893893A JP3893893A JP3386503B2 JP 3386503 B2 JP3386503 B2 JP 3386503B2 JP 03893893 A JP03893893 A JP 03893893A JP 3893893 A JP3893893 A JP 3893893A JP 3386503 B2 JP3386503 B2 JP 3386503B2
Authority
JP
Japan
Prior art keywords
order
input variable
input
ordered set
outputs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP03893893A
Other languages
Japanese (ja)
Other versions
JPH06251098A (en
Inventor
洋重 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP03893893A priority Critical patent/JP3386503B2/en
Publication of JPH06251098A publication Critical patent/JPH06251098A/en
Application granted granted Critical
Publication of JP3386503B2 publication Critical patent/JP3386503B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、論理回路の論理関数を
表現する2分決定グラフ(BinaryDecisio
n Diagram,BDD)を用いた論理回路設計検
に用いる2分決定グラフ入力変数順序決定装置及び2
分決定グラフ入力変数順序決定方法に関する
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a binary decision graph (BinaryDecisio) representing a logic function of a logic circuit.
n-diagram, BDD) and binary decision graph input variable order decision device and 2 used for verification of logic circuit design using
The present invention relates to a method for determining the order of input variables for a minute decision graph .

【0002】[0002]

【従来の技術】論理回路の論理関数を表現する方式の1
つとして2分決定グラフ(BinaryDecisio
n Diagram,BDD)があり、これを用いた論
理回路の設計検証が行われている。2分決定グラフは、
計算機上で論理関数を処理する上で、他の表現方法より
も格段にコンパクトに表現できることや同じ論理関数を
表現するものは必ず同形になるという性質があり、近
年、論理関数を扱う論理合成、論理照合(論理比較)、
テスト生成などの各種の設計支援ツールには必須のもの
となりつつある。2分決定グラフについては、以下の文
献に詳しく説明してある。 [1]R.E.Bryant:Graph−Based
Algorithmsfor BooleanFun
ctionManipulation,IEEE Tr
ans.Comput.,Vol.C−35,No.
8,pp.677−691,1986. [2]藤田他:2分決定グラフのための変数順序決定ア
ルゴリズムとその評価,情報処理学会論文誌,Vol.
31,No.4,Apr.1990.[3]S.MAl
ik et al.:Logic Verificat
ion using Binary Decision
Diagrams ina LogicSynthe
sis Environment,in Proc.I
nt.Conf.Computer−Aided De
sign,pp.6−8,1988.[4]K.S.B
race et al.:Efficient Imp
lementation of a BDD pack
age,in Proc.Design Automa
tion Conf.,pp.40−45,1990.
2分決定グラフは、論理関数を2分決定木で表現した
後、 (1)最上位のノードからのすべてのパスについて入力
変数の順序が固定にする。 (2)共有できるサブグラフはすべて共有する。 (3)2つの子ノードが同じノードは削除する。という
ことを行なって、縮約したものである。図4を用いて具
体的に説明する。図4で示されている2分決定グラフ
は、図3の論理回路の出力の関数を、入力に関する関数
として表現したものである。図3の論理回路の出力の論
理関数を式で表現すると、Y=A・B+C・DZ=B・
E+D・Fとなる。図4において、論理関数Yは、4つ
のノードで表現されている。○がノードを表しており、
各ノードはそれぞれ1つの入力変数に対応しており、○
の中に記載されている。Yから指されている最上位のノ
ードは、入力変数Aに対応している。ノードからは、2
つの枝が下方にでており、左側が入力変数が1である場
合を、右側が入力変数が0である場合を表している。
1,0と表現されているのは論理値である。見やすくす
るために複数の1,0があるが、実際はこれらは1つの
もので表現されている。この2分決定グラフにおいて、
Yが指すノードから下位方向へノードをたどっていくこ
とにより、Yの論理関数を知ることができる。例えば、
Aが1、Bが1のときには、Yの値は1であることが、
図の一番左側のエッジをたどることによってわかる。2
分決定グラフは、固定した入力変数の順序によって、大
きさ、すなわち、ノード数が大きく異なるという特徴が
ある。そのため、複雑な論理関数でも、よい変数順序を
選択すれば、少ないノード数で表現できる場合もある
し、簡単な論理関数でも悪い変数順序を選択すれば、ノ
ード数が多くなる場合もある。論理関数を表現するため
に必要となるノード数が多くなればなるほど、処理に必
要なメモリ量、処理時間が大きくなる。したがって、ノ
ード数が小さくなるような入力変数順序を決定する技術
は極めて重要である。図4と図5を用いて、入力変数順
序の違いによる2分決定グラフの違いについて説明す
る。図4においては、入力変数順序は、A,B,E,
C,D,Fとなっており、2分決定グラフのノード数は
8となっている。一方、図5では、同じ論理関数を異な
る入力変数順序で表したものを示してあり、ノード数は
10となっている。図4と図5を見ればわかるように、
同じ論理関数を表現する場合でも、入力変数順序の違い
で論理関数を2分決定グラフで表現するのに必要となる
ノード数が異なってくる。この例の場合では、この差は
それほどないが、一般的な回路では、この違いは大き
い。そのため、図3に示したAND/ORなどのゲート
の接続で表現された論理回路図から、その論理関数を表
現するために必要なノード数を少なくするような入力変
数順序を決定する技術が非常に重要になっている。2分
決定グラフの入力変数決定方式に関する従来の技術につ
いて簡単に説明する。詳しくは、上述の文献[2]、
[3]に記述されている。論理回路図とその論理関数を
表現する2分決定グラフとの関係には、次のような傾向
があることが知られている。 ・同一ゲートの入力に接続されている入力変数はなるべ
く近い順序にしたほうがノード数が少なくなる。この性
質を満たす発見的方法として、出力からの深さ優先で入
力側の方向に探索を用い、探索された順序を2分決定グ
ラフを作るときの入力変数の順序とする方法が採用され
ている。文献[2][3]の方法では、これに改良を加
えて、よりよい入力変数順が得られるようにしている。
文献[2]では、入力のファンアウト数が2以上のもの
を先に順序付けすることを採用している。文献[3]で
は、あるゲートの入力を探索する際にゲート段数が多い
ものから優先的に探索するようにしている。2分決定グ
ラフを、論理合成やテスト発生などの論理表現として使
用する場合には、論理回路中のすべての論理関数が1つ
の共通した入力変数順序によって表現されている必要が
ある。また論理照合においては、必ずしもすべての論理
関数が共通した入力変数順序によって表現されている必
要はないが、共通した入力変数順序によって表現できる
と高速に処理できるという利点がある。したがって、す
べての論理関数を共通した入力変数順序によって表現す
るのに都合のよい入力変数順序決定方法の技術が重要に
なってくる。以上のようにすべての論理関数を同一の入
力順序で表現できるようにすることは重要であるが、従
来の入力変数決定方法では、1出力の論理回路を対象に
していた。これを多出力の論理回路に適用する場合に
は、仮想的に1出力の論理回路のように扱うようにする
必要がある。つまり、すべての出力を入力とするような
1出力のゲートを仮想的にもうけ、その仮想的なゲート
の出力をその論理回路の出力として、入力変数順序を決
定することにより、1出力論理回路用の入力変数順序決
定方法を適用することができる。図3の論理回路に対し
て従来技術で入力変数順序を決定する場合について説明
する。図3の論理回路には、出力が2つあるので、これ
らの出力を入力とする仮想的な2入力1出力のゲートG
7をもうけ、その出力を仮想的な出力Xとする(図1
3)。仮想的な出力Xから深さ優先で入力側に探索する
と、X→G7→G3→G1→A→G1→B→G1→G3
→G2→C→G2→D→G2→G3→G7→G6→G4
→E→G4→G6→G5→F→G5→G6→G7→Xの
ような順序で探索される。このうち、入力を探索された
順序に順序付けすると、得られる入力変数順序は、A,
B,C,D,E,Fとなる。この結果を見ればわかるよ
うに、従来技術では、仮想的にもうけたゲートG7の入
力につながっているゲート(もとの出力G3,G6に対
応)のうち、最初に探索された出力Yに関しては、その
出力単独で入力変数の順序づけを行なった場合と同じ結
果が得られるが、2番目以降に探索されたゲート(元の
出力Z)に関しては、これまでの探索でたどりつかなか
った入力(E,F)にたどりついたときに、その入力を
その時点での最下位に順序付けを行なうということにな
っている。これでは、2番目以降の出力に対してよい順
序付けを行なっているとは言えない。一方、このような
2分決定グラフを用いた論理回路の設計検証は2つの論
理回路が論理的に等価であるかどうかを調べることによ
って行なわれる。例えば、新しい方式のキャリールック
アヘッド加算器を設計したときに、既に正しいことが分
かっているリップルキャリー加算器と論理的に等価であ
ることが分かれば、そのキャリールックアヘッド加算器
は加算器として正しく設計されていることが検証できた
ことになる。論理的に等価かどうかの判定は、2つの論
理回路において、それぞれの出力について、入力を変数
とする論理関数を考えることにより行なう。2つの回路
ですべての対応する出力の対が同じ論理関数である場
合、2つの論理回路は論理的に等価であると判定でき
る。1つの出力の対の論理関数が同じであるかどうかを
判定するために、これらの論理関数を2分決定グラフで
表現する。2分決定グラフは、表現する論理関数が同じ
であれば、同形になるという性質があるので、これを利
用して論理関数の等価性の判定を行なうことができる。
2分決定グラフは、上述したように入力変数順序によっ
て必要となるノード数が大きく変化するという性質もあ
る。この性質のために、複数の出力を持つ論理回路の論
理的等価性の検証において、入力変数順序の決め方に2
通りある。 (1)出力の論理関数を表現する2分決定グラフの入力
変数順序をすべての出力に対して共通にする。 (2)出力の論理関数を表現する2分決定グラフの入力
変数順序を各出力ごとに決める。この2つの方法には、
それぞれ長所、短所がある。入力変数順序をすべての出
力に対して共通にすると処理時間が短くできる。出力の
論理関数を計算するためには、その出力信号を作るため
に必要なゲートのすべてについて論理関数を計算する必
要がある。一般に、ある出力の論理関数を計算するのに
必要となるゲートは、別の出力の論理関数を計算する場
合にも必要となる場合が多い。入力変数順序が共通であ
れば、このゲートの処理は1度で済ませることができる
が、出力ごとに異なる場合は、そのたびごとに計算する
必要がでてくる。このような理由から、入力変数順序を
共通にすると、各ゲートの処理は1度だけでよいので計
算時間が短くてすむ。一方、ノード数の観点から見る
と、すべての出力に対して入力変数順序を共通にする場
合よりも、各出力で個別に入力変数順序を決めた方が、
選択の自由度が広がる分、ノード数が少なくなる。ノー
ド数が大きくなりすぎると検証できなくなる場合もある
ので、検証に適用可能な範囲は、個々に入力変数順序を
決めた方が広い。
2. Description of the Related Art One of methods for expressing a logical function of a logic circuit
The binary decision graph (BinaryDecisio)
n Diagram, BDD), and design verification of a logic circuit using this is performed. The binary decision graph is
When processing a logical function on a computer, there is a property that it can be expressed much more compactly than other expression methods and that the same logical function is always the same shape.In recent years, logical synthesis that handles logical functions, Logical collation (logical comparison),
It is becoming essential for various design support tools such as test generation. The binary decision graph is described in detail in the following documents. [1] R. E. Bryant: Graph-Based
Algorithmsfor Boolean Fun
actionManipulation, IEEE Tr
ans. Comput. , Vol. C-35, No.
8, pp. 677-691, 1986. [2] Fujita et al .: A variable order decision algorithm for binary decision graphs and its evaluation, IPSJ Journal, Vol.
31, No. 4, Apr. 1990. [3] S. MAl
ik et al. : Logic Vericat
ion using Binary Decision
Diagrams ina Logic Synthe
sis Environment, in Proc. I
nt. Conf. Computer-Aided De
sign, pp. 6-8, 1988. [4] K. S. B
race et al. : Efficient Imp
element of a BDD pack
age, in Proc. Design Automa
section Conf. , Pp. 40-45, 1990.
The binary decision graph expresses a logical function by a binary decision tree, and then (1) the order of input variables is fixed for all paths from the top node. (2) Share all subgraphs that can be shared. (3) Delete a node that has the same two child nodes. It is a contracted thing. This will be specifically described with reference to FIG. The binary decision graph shown in FIG. 4 represents the function of the output of the logic circuit of FIG. 3 as a function related to the input. When the logical function of the output of the logic circuit of FIG. 3 is expressed by an equation, Y = A · B + C · DZ = B ·
It becomes E + DF. In FIG. 4, the logical function Y is represented by four nodes. ○ represents a node,
Each node corresponds to one input variable, and
It is described in. The highest node pointed to by Y corresponds to the input variable A. From the node, 2
Two branches extend downward, the left side shows the case where the input variable is 1, and the right side shows the case where the input variable is 0.
Logical values are expressed as 1,0. Although there are a plurality of 1,0 for the sake of clarity, they are actually represented by one. In this binary graph,
The logical function of Y can be known by tracing the node downward from the node pointed to by Y. For example,
When A is 1 and B is 1, the value of Y is 1.
This can be seen by following the leftmost edge of the figure. Two
The minute decision graph is characterized in that the size, that is, the number of nodes, greatly differs depending on the order of fixed input variables. Therefore, even a complicated logical function may be represented with a small number of nodes if a good variable order is selected, and a simple logical function may have a large number of nodes if a bad variable order is selected. The larger the number of nodes required to express a logical function, the larger the memory amount and processing time required for processing. Therefore, a technique for determining the order of input variables that reduces the number of nodes is extremely important. The difference in the binary decision graph due to the difference in the input variable order will be described with reference to FIGS. 4 and 5. In FIG. 4, the input variable order is A, B, E,
C, D, and F, and the number of nodes in the binary decision graph is eight. On the other hand, FIG. 5 shows the same logical function expressed in different input variable order, and the number of nodes is 10. As you can see from Figure 4 and Figure 5,
Even when the same logical function is expressed, the number of nodes required to express the logical function in the binary decision graph differs depending on the order of the input variables. In the case of this example, this difference is not so large, but in a general circuit, this difference is large. Therefore, from the logic circuit diagram expressed by the gate connection such as AND / OR shown in FIG. 3, a technique for determining the order of input variables that reduces the number of nodes necessary for expressing the logic function is very important. Has become important. A conventional technique relating to an input variable determination method for a binary decision graph will be briefly described. For details, refer to the above-mentioned document [2],
It is described in [3]. It is known that the relationship between the logic circuit diagram and the binary decision graph expressing the logic function has the following tendency. -The input variables connected to the inputs of the same gate will have a smaller number of nodes if they are arranged in the closest order. As a heuristic method that satisfies this property, a method of using a search in the direction of the input side with priority from the depth of the output and using the order of the search as the order of the input variables when creating a binary decision graph is adopted. . In the methods of [2] and [3], improvements are made to this so that a better input variable order can be obtained.
In reference [2], the ordering of input fan-outs of 2 or more is adopted first. In the literature [3], when the input of a certain gate is searched, the one having a larger number of gate stages is preferentially searched. When the binary decision graph is used as a logic expression such as logic synthesis or test generation, all logic functions in the logic circuit must be expressed by one common input variable order. Further, in the logic matching, not all logic functions are necessarily represented by a common input variable order, but if they are represented by a common input variable order, there is an advantage that processing can be performed at high speed. Therefore, a technique of an input variable order determining method which is convenient for expressing all logical functions by a common input variable order becomes important. As described above, it is important to be able to represent all logic functions in the same input order, but in the conventional input variable determination method, a one-output logic circuit was targeted. When this is applied to a multi-output logic circuit, it is necessary to virtually treat it as a one-output logic circuit. In other words, a one-output gate for all outputs is virtually provided, and the output of the virtual gate is used as the output of the logic circuit to determine the order of input variables. The input variable order determination method of can be applied. A case of determining the order of input variables in the conventional technique for the logic circuit of FIG. 3 will be described. Since the logic circuit of FIG. 3 has two outputs, a virtual 2-input 1-output gate G that receives these outputs is used.
7 and its output is a virtual output X (Fig. 1
3). When the input side is searched from the virtual output X with depth priority, X → G7 → G3 → G1 → A → G1 → B → G1 → G3
→ G2 → C → G2 → D → G2 → G3 → G7 → G6 → G4
→ E → G4 → G6 → G5 → F → G5 → G6 → G7 → X Of these, if the inputs are ordered in the searched order, the resulting input variable order is A,
B, C, D, E, F. As can be seen from this result, in the conventional technique, regarding the output Y searched first among the gates (corresponding to the original outputs G3 and G6) virtually connected to the input of the gate G7, , The same result as when the output variables are ordered by the input alone is obtained, but for the gates (original output Z) searched after the second, the input (E , F), the input is to be ordered at the lowest rank at that time. This does not mean that the second and subsequent outputs are well ordered. On the other hand, design verification of a logic circuit using such a binary decision graph is performed by checking whether or not the two logic circuits are logically equivalent. For example, if you design a new type of carry-look-ahead adder and find that it is logically equivalent to a ripple-carry adder that you know to be correct, then the carry-look-ahead adder is correct as an adder. This means that the design has been verified. The determination as to whether they are logically equivalent is made by considering a logical function having an input as a variable for each output in two logical circuits. Two logic circuits can be determined to be logically equivalent if all corresponding output pairs in the two circuits have the same logic function. To determine if the logical functions of one output pair are the same, these logical functions are represented by a BDD. Since the binary decision graph has the property that it has the same shape if the expressed logical functions are the same, it is possible to judge the equivalence of the logical functions using this.
The binary decision graph also has a property that the number of required nodes greatly changes depending on the input variable order as described above. Due to this property, in the verification of the logical equivalence of the logic circuit having a plurality of outputs, the method of deciding the order of the input variables is 2
There is a street. (1) The input variable order of the binary decision graph expressing the output logical function is made common to all outputs. (2) The input variable order of the binary decision graph expressing the output logical function is determined for each output. These two methods include
Each has its strengths and weaknesses. Processing time can be shortened by making the input variable order common to all outputs. In order to calculate the logical function of the output, it is necessary to calculate the logical function for all of the gates needed to produce the output signal. In general, a gate required to calculate a logical function of one output is often required to calculate a logical function of another output. If the order of input variables is common, this gate can be processed once, but if it is different for each output, it will be necessary to calculate each time. For this reason, if the input variable order is common, each gate needs to be processed only once, and the calculation time can be shortened. On the other hand, from the viewpoint of the number of nodes, it is better to decide the order of input variables individually for each output than to make the order of input variables common to all outputs.
As the degree of freedom in selection increases, the number of nodes decreases. If the number of nodes becomes too large, it may not be possible to perform verification. Therefore, the range applicable to verification is wider when the input variable order is determined individually.

【0003】[0003]

【発明が解決しようとする課題】上述したように、従来
の入力変数決定方法は、出力が1つである論理回路を対
象にしており、出力が2つ以上の回路の場合には、全出
力とするゲートを仮想的に考えることで対処している。
しかしながら、この方式では、実際、ISCAS85の
ベンチマーク回路のC7552という回路に適用した場
合、本来よい入力変数順を選ぶと少ないノード数で表現
できるにもかかわらず、従来の方式では、同一の入力変
数順序で全出力を2分決定グラフで表現することができ
なかったと文献[2],[3]で報告されている。ま
た、従来の複数の出力を持つ論理回路の論理的等価性の
検証における入力変数順序の2つの決め方は、それぞれ
長所、短所がある。すべての出力に対して、共通の入力
変数順序にする方法は、処理時間が短いが回路の適用範
囲は狭くなる。一方、個別に入力変数順序を決める場合
は、回路の適用範囲は広いが処理時間が長くなる。本発
明の目的は、従来の入力変数順序決定方法よりも、より
少ないノード数で2分決定グラフを表現できる、多出力
論理回路の2分決定グラフ入力変数順序決定装置及び2
分決定グラフ入力変数順序決定方法を提供することにあ
る。さらに本発明の目的は、回路の適用範囲は個別に入
力変数順序を決定する場合と同等で、処理速度は個別に
入力変数順序を決定する場合よりも速い、論理回路設計
検証方法を提供することにある。
As described above, the conventional input variable determination method is intended for a logic circuit having one output, and in the case of a circuit having two or more outputs, all outputs are output. This is dealt with by virtually thinking about the gate.
However, in this method, when actually applied to the circuit C7552 of the ISCAS85 benchmark circuit, the number of nodes can be represented by selecting a good input variable order. It was reported in Refs. [2] and [3] that all outputs could not be represented by a binary decision graph. Further, the two conventional methods for determining the order of input variables in the verification of logical equivalence of a logic circuit having a plurality of outputs have advantages and disadvantages, respectively. The method of using a common input variable order for all outputs has a short processing time but narrows the application range of the circuit. On the other hand, when the input variable order is individually determined, the application range of the circuit is wide, but the processing time is long. An object of the present invention is to provide a binary decision graph input variable order decision device for a multi-output logic circuit, which can represent a binary decision graph with a smaller number of nodes than the conventional input variable order decision method.
It is to provide a method for determining the order of input variables for a minute decision graph . A further object of the present invention is to provide a logic circuit design verification method in which the circuit application range is equivalent to the case of individually determining the input variable order, and the processing speed is faster than the case of individually determining the input variable order. It is in.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の特徴は、(イ)複数出力をする論理
回路を2分決定グラフで表現するときの入力変数順序を
コンピュータが決定する方法であって、コンピュータの
出力優先順位決定手段が、複数出力の優先順位を決定す
るステップと、(ロ)コンピュータの1出力論理関数用
入力変数順序決定手段が、複数出力に対して各々の入力
変数順序を決定するステップと、(ハ)コンピュータの
入力変数順序併合手段が、第一の順序付き集合に対応さ
せ各々の出力に対して決定した入力変数順序である第二
の順序付き集合を、第一の順序付き集合に併合する処理
を行い、この併合する処理をすべての出力に対して優先
順位の高い順に繰り返し行い、得られた第一の順序付き
集合に含まれる入力変数の順序をすべての出力に対する
入力変数順序とするステップとを備え、第二の順序付き
集合を第一の順序付き集合に併合する処理において、第
二の順序付き集合に含まれる入力変数のうち、第一の順
序付き集合に含まれない第一の入力変数と、第一の順序
付き集合に含まれる第二の入力変数とが、第二の順序付
き集合において隣接するときに、第一の順序付き集合に
おいて第一の入力変数と第二の入力変数 とが隣接するよ
うに、第一の入力変数を第一の順序付き集合に挿入して
順序付ける2分決定グラフ入力変数順序決定方法である
ことを要旨とする。本発明の第2の特徴は、(イ)複数
出力を有する論理回路を2分決定グラフで表現するとき
の入力変数順序をコンピュータが決定する方法であっ
て、(ロ)コンピュータの出力優先順位決定手段が、複
数出力及び複数の選択した内部信号の優先順位を決定す
るステップと、(ハ)コンピュータの1出力論理関数用
入力変数順序決定手段が、複数出力と複数の選択した内
部信号に対して、各々の入力変数順序を決定するステッ
プと、(ニ)コンピュータの入力変数順序併合手段が、
第一の順序付き集合に対応させ出力及び内部信号の各々
に対して決定した入力変数順序である第二の順序付き集
合を、第一の順序付き集合に併合する処理を行い、この
併合する処理をすべての出力及び内部信号に対して優先
順位の高い順に繰り返し行い、得られた第一の順序付き
集合に含まれる入力変数の願序をすべての出力に対する
入力変数順序とするステップとを備え、第二の順序付き
集合を第一の順序付き集合に併合する処理において、第
二の順序付き集合に含まれる入力変数のうち、第一の順
序付き集合に含まれない第一の入力変数と、第一の順序
付き集合に含まれる第二の入力変数とが、第二の順序付
き集合において隣接するときに、第一の順序付き集合に
おいて第一の入力変数と第二の入力変数とが隣接するよ
うに、第一の入力変数を第一の順序付き集合に挿入して
順序付ける2分決定グラフ入力変数順序決定方法である
ことを要旨とする。又、本発明の第1の特徴及び第2の
特徴は、(ニ)1出力論理関数用入力変数順序を決定す
るステップが、第二の順序付き集合に含まれる入力変数
のうち第一の順序付き集合に含まれない入力変数を正順
若しくは逆順に一つずつ選び第一の入力変数とし、第一
の入力変数が最上位若しくは最下位である場合は、第一
の入力変数を第一の順序付き集合の最上位若しくは最下
位に挿入し、それ以外の場合には、第二の順序付き集合
においてこの第一の入力変数の直前若しくは直後にある
変数を第二の入力変数とし、第二の順序付き集合におい
て第二の入力変数の直後若しくは直前となるように第一
の入力変数を挿入して順序付けるようにすることを加え
ても良い。本発明の第3の特徴は、(イ)複数出力を有
する論理回路を2分決定グラフで 表現するときの入力変
数順序をコンピュータが決定する方法であって、コンピ
ュータの出力優先順位決定手段が、複数出力の優先順位
を決定するステップと、(ロ)コンピュータの入力変数
順序決定併合手段が、複数出力から、優先順位の高い順
に、入力方向へ深さ方向を優先させて論理回路を辿り、
辿った経路を戻る際に、ゲートを第一の順序付き集合に
挿入し、すべての複数出力から辿り終えた後に得られる
第一の順序付き集合の中に含まれる入力変数の順序を、
すべての出力に対する入力変数順序とするステップとを
備え、経路を辿る処理を行う際に、辿ったゲートが探索
済みの出力から辿ったゲートであった場合には、第一の
順序付き集合におけるゲート挿入位置を既に辿ったゲー
トの直後とし、それ以外の場合には、第一の順序付き集
合におけるゲート挿入位置を前回挿入したゲートの直後
とする2分決定グラフ入力変数順序決定方法であること
を要旨とする。本発明の第4の特徴は、(イ)複数出力
を有する論理回路を2分決定グラフで表現するときの入
力変数順序をコンピュータが決定する方法であって、
(ロ)コンピュータの出力優先順位決定手段が、複数出
力と複数の選択した内部信号の優先順位を決定するステ
ップと、(ハ)コンピュータの入力変数順序決定併合
が、複数出力及び複数の選択した内部信号から、優先順
位の高い順に、入力方向へ深さ方向を優先させて論理回
路を辿り、辿った経路を戻る際に、ゲートを第一の順序
付き集合に挿入し、すべての複数出力及び複数の撰択し
た内部信号から辿り終えた後に得られる第一の順序付き
集合の中に含まれる入力変数の順序を、すべての出力に
対する入力変数順序とするステップとからなり、経路を
辿る処理を行う際に、辿ったゲートが探索済みの出力及
び選択した内部信号から辿ったゲートであった場合に
は、第一の順序付き集合におけるゲート挿入位置を既に
辿ったゲートの直後とし、それ以外の場合には、第一の
順序付き集合におけるゲート挿入位置を前回挿入したゲ
ートの直後とする2分決定グラフ入力変数順序決定方法
であることを要旨とする。本発明の第5の特徴は、
(イ)複数出力を有する論理回路を2分決定グラフで表
現するときの入力変数順序を決定する装置であって、複
数出力の優先順位を決定する出力優先順位決定手段と、
(ロ)複数出力の各々の出力に対して入力変数順序を決
定する1出力論理関数用入力変数順序決定手段と、
(ハ)第一の順序付 き集合に対応させ各々の出力に対し
て決定した入力変数順序である第二の順序付き集合を、
第一の順序付き集合に併合する処理を行い、この併合す
る処理をすべての出力に対して優先順位の高い順に繰り
返し行い、得られた第一の順序付き集合に含まれる入力
変数の順序をすべての出力に対する入力変数順序とする
入力変数順序併合手段とを備え、第二の順序付き集合を
第一の順序付き集合に併合する処理において、第二の順
序付き集合に含まれる入力変数のうち、第一の順序付き
集合に含まれない第一の入力変数と、第一の順序付き集
合に含まれる第二の入力変数とが、第二の順序付き集合
において隣接するときに、第一の順序付き集合において
第一の入力変数と第二の入力変数とが隣接するように、
第一の入力変数を第一の順序付き集合に挿入して順序付
ける2分決定グラフ入力変数順序決定装置であることを
要旨とする。本発明の第6の特徴は、(イ)複数出力を
有する論理回路を2分決定グラフで表現するときの入力
変数順序を決定する装置であって、複数出力及び複数の
選択した内部信号の優先順位を決定する出力優先順位決
定手段と、(ロ)複数出力及び複数の選択した内部信号
に対して、各々の入力変数順序を決定する1出力論理関
数用入力変数順序決定手段と、(ハ)第一の順序付き集
合に対応させ出力及び内部信号の各々に対して決定した
入力変数順序である第二の順序付き集合を、第一の順序
付き集合に併合する処理を行い、この併合する処理をす
べての出力及び内部信号に対して優先順位の高い順に繰
り返し行い、得られた第一の順序付き集合に含まれる入
力変数の順序をすべての出力に対する入力変数順序とす
る入力変数順序併合手段とを備え、第二の順序付き集合
を第一の順序付き集合に併合する処理において、第二の
順序付き集合に含まれる入力変数のうち、第一の順序付
き集合に含まれない第一の入力変数と、第一の順序付き
集合に含まれる第二の入力変数とが、第二の順序付き集
合において隣接するときに、第一の順序付き集合におい
て第一の入力変数と第二の入力変数とが隣接するよう
に、第一の入力変数を第一の順序付き集合に挿入して順
序付ける2分決定グラフ入力変数順序決定装置であるこ
とを要旨とする。 本発明の第7の特徴は、(イ)複数出
力を有する論理回路を2分決定グラフで表現するときの
入力変数順序を決定する装置であって、複数出力の優先
順位を決 定する出力優先順位決定手段と、(ロ)複数出
力から、優先順位の高い順に、入力方向へ深さ方向を優
先させて論理回路を辿り、辿った経路を戻る際に、ゲー
トを第一の順序付き集合に挿入し、すべての複数出力か
ら辿り終えた後に得られる第一の順序付き集合の中に含
まれる入力変数の順序を、すべての出力に対する入力変
数順序とする入力変数順序決定併合手段とを備え、経路
を辿る処理を行う際に、辿ったゲートが探索済みの出力
から辿ったゲートであった場合には、第一の順序付き集
合におけるゲート挿入位置を既に辿ったゲートの直後と
し、それ以外の場合には、第一の順序付き集合における
ゲート挿入位置を前回挿入したゲートの直後とする2分
決定グラフ入力変数順序決定装置であることを要旨とす
る。本発明の第8の特徴は、(イ)複数出力を有する論
理回路を2分決定グラフで表現するときの入力変数順序
を決定する装置であって、複数出力及び複数の選択した
内部信号の優先順位を決定する出力優先順位決定手段
と、(ロ)複数出力及び複数の選択した内部信号から、
優先順位の高い順に、入力方向へ深さ方向を優先させて
論理回路を辿り、辿った経路を戻る際に、ゲートを第一
の順序付き集合に挿入し、すべての複数出力及び複数の
選択した内部信号から辿り終えた後に得られる第一の順
序付き集合の中に含まれる入力変数の順序を、すべての
出力に対する入力変数順序とする入力変数順序決定併合
手段とを備え、経路を辿る処理を行う際に、辿ったゲー
トが探索済みの出力及び選択した内部信号から辿ったゲ
ートであった場合には、第一の順序付き集合におけるゲ
ート挿入位置を既に辿ったゲートの直後とし、それ以外
の場合には、第一の順序付き集合におけるゲート挿入位
置を前回挿入したゲートの直後とする2分決定グラフ入
力変数順序決定装置であることを要旨とする。
In order to solve the problem] was to achieve the above purpose
Therefore, the first feature of the present invention is (a) a logic that outputs a plurality of signals.
The input variable order when the circuit is represented by a binary decision graph
A way for a computer to decide,
Output priority determining means determines priority of multiple outputs
And (b) for one-output logic function of computer
Input variable order determination means, each input for multiple outputs
The step of determining the variable order, and (c) the computer
The input variable order merging method corresponds to the first ordered set.
The second is the input variable order determined for each output.
Of merging the ordered set of to the first ordered set
And prioritize this merge process for all outputs
Repeated in order from the highest rank, and obtained the first ordered
The order of the input variables in the set for all outputs
With input variable order step and with second order
In the process of merging the sets into the first ordered set,
The first of the input variables included in the second ordered set
First input variable not included in ordered set and first order
The second input variable included in the attached set is the second ordered
The first ordered set when adjacent in
The first input variable and the second input variable are adjacent to each other.
And insert the first input variable into the first ordered set
Binary decision graph for ordering Input variable order determination method
That is the summary. The second feature of the present invention is (a) a plurality of
When expressing a logic circuit with an output in a binary decision graph
Is a way for the computer to determine the input variable order of
(B) The output priority determining means of the computer is
Prioritize multiple outputs and multiple selected internal signals
Step and (c) for one-output logic function of computer
Input variable order determination means
Steps that determine the order of each input variable
And (d) computer input variable order merging means
Each output and internal signal corresponding to the first ordered set
A second ordered collection that is the input variable order determined for
The merge is merged into the first ordered set.
Merge processing prioritized for all outputs and internal signals
Repeated in order from the highest rank, and obtained the first ordered
The input variables contained in the set for all outputs
With input variable order step and with second order
In the process of merging the sets into the first ordered set,
The first of the input variables included in the second ordered set
First input variable not included in ordered set and first order
The second input variable included in the attached set is the second ordered
The first ordered set when adjacent in
The first input variable and the second input variable are adjacent to each other.
And insert the first input variable into the first ordered set
Binary decision graph for ordering Input variable order determination method
That is the summary. Further, the first feature and the second feature of the present invention
Features are: (d) Determine the order of input variables for one-output logical functions
The input variables included in the second ordered set
Input variables that are not included in the first ordered set of
Or select them one by one in reverse order as the first input variable and
If the input variable of is the highest or the lowest, the first
The input variables of the top or bottom of the first ordered set
Position, otherwise the second ordered set
Immediately before or after this first input variable in
Use the variable as the second input variable and put it in the second ordered set.
First so that it is immediately after or just before the second input variable
Add the input variables of
May be. The third feature of the present invention is that (a) it has multiple outputs.
Input logic when expressing the logic circuit
A method of determining the numerical order by a computer,
The output priority determining means of the computer
And (b) computer input variables
The order deciding and merging means can output multiple outputs in order of priority.
In the input direction, the depth direction is prioritized and the logic circuit is traced.
Makes the gate the first ordered set when returning the route
Obtained after inserting and traversing all the multiple outputs
The order of the input variables contained in the first ordered set is
A step with the input variable order for all outputs
Prepared, when performing the process of tracing the route, the traced gate searches
If the gate was traced from the already output, the first
A game that has already traced the gate insertion position in an ordered set.
Immediately after, and otherwise in the first ordered collection
Immediately after the gate where the gate insertion position was previously inserted
Binary decision graph input variable order determination method
Is the gist. The fourth feature of the present invention is (a) multiple outputs
Input when expressing a logic circuit with
A method of determining the order of force variables by a computer,
(B) Multiple output priority order determination means for the computer
Power and a step for prioritizing multiple selected internal signals.
(C) Input variable order merge of computer
However, from multiple outputs and multiple selected internal signals,
In order of increasing order, priority is given to the depth direction in the input direction
When following a path and returning to the path that was followed
Insert into a set with all multiple outputs and multiple selections
The first ordered one obtained after the end of the internal signal
The order of the input variables contained in the set to all outputs
The input variable order with respect to
When performing the trace processing, the traced gate outputs the searched output and
And the gate traced from the selected internal signal
Already sets the gate insertion position in the first ordered set
Immediately after the traversed gate, otherwise, the first
The gate insertion position in the ordered set is
Immediately after a binary decision graph input variable order determination method
The main point is. The fifth feature of the present invention is that
(B) Display a logic circuit having multiple outputs in a binary decision graph
A device for determining the order of input variables when presenting,
An output priority determining means for determining the priority of the number output,
(B) Input variable order is determined for each output of multiple outputs
An input variable order determining means for a one-output logical function to be determined;
(C) to the output of each in correspondence to the set-out first with order
The second ordered set, which is the input variable order determined by
Perform the merge process on the first ordered set and merge
Processing for all outputs in descending order of priority.
Inputs included in the first ordered set obtained by returning
Make variable order the input variable order for all outputs
A second ordered set with input variable order merging means
In the process of merging into the first ordered set, the second order
The first ordered of the input variables included in the ordered set
The first input variable not included in the set and the first ordered collection
The second input variable contained in the
In the first ordered set when adjacent in
So that the first and second input variables are adjacent
Insert the first input variable into the first ordered set to order
It is a binary decision graph input variable order determination device.
Use as a summary. The sixth feature of the present invention is (a) a plurality of outputs
Input when expressing the logic circuit that it has with a binary decision graph
A device for determining the order of variables,
Output priority determination that determines the priority of the selected internal signal
Determining means, and (b) multiple outputs and multiple selected internal signals
, One-output logical function that determines the order of each input variable
Input variable order determining means for numbers and (c) first ordered collection
Corresponding to each output and internal signal.
The second ordered set, which is the input variable order, is
Perform the process of merging to the attached set,
Repeat for all outputs and internal signals in descending order of priority.
It is repeated and the entries included in the obtained first ordered set
Let the order of force variables be the input variable order for all outputs
A second ordered set, which comprises an input variable order merging means
In the process of merging
The first ordered variable among the input variables included in the ordered set
Input variable not included in the first set and first ordered
The second input variable contained in the set is the second ordered collection
In the first ordered set when adjacent in a match
So that the first and second input variables are adjacent
Insert the first input variable into the first ordered set
It is a binary decision graph input variable order decision device
And are the gist. The seventh feature of the present invention is (a) a plurality of outputs.
When expressing a logic circuit that has power in a binary decision graph
A device that determines the order of input variables and has priority over multiple outputs
Output priority determining means that determine the ranking, leaving a plurality (ii)
Force, the depth direction is superior to the input direction in descending order of priority.
When the logic circuit is traced first and the route that was traced back is returned,
To the first ordered set and all
Included in the first ordered set obtained after
The order of the input variables
And a means for determining and merging input variables in numerical order,
When the process of tracing is performed, the output of the traced gate has already been searched.
If the gate was traced from, the first ordered collection
Immediately after the gate that has already traced the gate insertion position in
, Otherwise, in the first ordered set
2 minutes with the gate insertion position immediately after the last inserted gate
Decision graph Input variable order determination device
It The eighth feature of the present invention is (b) a theory having a plurality of outputs
Input variable order when a logic circuit is represented by a binary decision graph
A device for determining a plurality of outputs and a plurality of selected
Output priority determining means for determining the priority of internal signals
And (b) from multiple outputs and multiple selected internal signals,
Priority is given to the depth direction in the input direction in descending order of priority.
When following a logic circuit and returning to the route that was followed, first place the gate
Insert into an ordered set of all multiple outputs and multiple
The first order obtained after finishing tracing from the selected internal signal
The order of the input variables contained in the ordered set is
Input variable order decision merge to be the input variable order for output
Means for tracing the route when performing the process of tracing the route.
Traced from the searched output and selected internal signals.
If it is a
Immediately after the gate that has already traced the gate insertion position, and other than
, Then the gate insertion position in the first ordered set
Enter the 2-minute decision graph immediately after the gate where the device was inserted
The gist is that it is a force variable order determination device.

【0005】[0005]

【作用】この発明は、まず出力優先順位決定手段によっ
て、出力の優先順位を決める。また、各出力に対して、
1出力論理関数用入力変数順序決定手段により、それぞ
れの入力変数順序を決定する。先に決定された出力の優
先順位と各出力に対する入力変数順序をもとに、入力変
数順序併合手段により、すべての出力に対する最終的な
入力変数順序を決定する。さらに本発明は、まず、すべ
ての出力に対して、共通の入力変数順序を決定する。そ
の入力変数順序ですべての出力について1つずつ2分決
定グラフの生成を試みる。2分決定グラフが生成できた
ら、2つの回路で対応する出力を比較する。すべての出
力の2分決定グラフが生成できれば、従来の入力変数順
をすべての出力で共通にした場合と同じ処理時間で実行
できる。2分決定グラフを生成できない出力があった場
合、それらの出力の信号に対してその全部または一部に
対して新たに共通の入力変数順序を決定する。この順序
に対して、2分決定グラフの生成を試みる。このときに
も2分決定グラフを生成できない場合は、同様に生成で
きなかった出力の集合に対して入力変数順序を決定し、
2分決定グラフの生成を試みる。以降、すべての出力に
対し2分決定グラフが生成できるか、1つも生成できな
くなるまで繰り返す。新たに1つも生成できなくなった
場合には、各出力ごとに入力変数順を決定して2分決定
グラフの生成を試みる。これでも生成できない出力につ
いては検証不可とする。なお、ここで2分決定グラフが
生成できないというのは、ノード数が上限を越えると
か、実行時間が上限を越えるなどの要因で判定し、生成
できないと判定した場合には、その生成を中断させ、次
の出力の生成に移るようにする。
According to the present invention, the output priority is first determined by the output priority determining means. Also, for each output
The input variable order determining means for the one-output logical function determines each input variable order. The input variable order merging means determines the final input variable order for all the outputs based on the previously determined priority order of the outputs and the input variable order for each output. Further, the present invention first determines a common input variable order for all outputs. Attempts to generate a BDD for every output, in that input variable order. After the binary decision graph is generated, the two circuits compare the corresponding outputs. If a binary decision graph of all outputs can be generated, it can be executed in the same processing time as when the conventional input variable order is common to all outputs. When there are outputs for which the binary decision graph cannot be generated, a new common input variable order is determined for all or some of the signals at those outputs. Attempts to generate a binary decision graph for this order. If the binary decision graph cannot be generated at this time as well, the input variable order is determined for the set of outputs that could not be similarly generated,
Attempt to generate a binary decision graph. After that, the process is repeated until a binary decision graph can be generated for all outputs or no binary decision graph can be generated. When no new one can be generated, the order of input variables is determined for each output and an attempt is made to generate a binary decision graph. Output that cannot be generated even by this is not verifiable. Note that the fact that the binary decision graph cannot be generated here is determined due to factors such as the number of nodes exceeding the upper limit or the execution time exceeding the upper limit. If it is determined that the graph cannot be generated, the generation is interrupted. , So that we can move on to the generation of the next output.

【0006】[0006]

【実施例】本発明の実施例を図面を用いて説明する。
発明の2分決定グラフ入力変数順序決定装置の構成を、
図1に示す。本発明は、出力優先順位決定手段1、1出
力論理関数用入力変数順序決定手段2、入力変数順序併
合手段3とからなる。出力優先順位決定手段1は、入力
変数順序を決定する際の出力の優先順位を決定するもの
である。一般的には、多出力論理関数において、ある出
力に対してよい入力変数順序は、別の出力に対しては必
ずしもよい入力変数順序とはならない。したがって、ど
の出力に対してよい入力変数順になるようにするかとい
う出力優先順位を決める必要がある。最終的な全出力に
対する入力変数順序は、優先順位が高い出力ほどよりよ
い順序となる。本実施例の出力順位決定手段1では、入
力からのゲート段数が大きい出力ほど優先順位を高くす
るように出力の優先順位を決定する。1出力論理関数用
入力変数順序決定手段2は、複数ある出力の中の1つの
出力に対して、ノード数が少なくなるような入力変数順
序を決定する。この方法は、上述の従来技術またはそれ
と同様のものを利用する。本実施例の1出力論理関数用
入力変数順序決定手段2は、出力から入力へ向かって深
さ優先で探索し、探索された順番に、入力変数の順序付
けを行なう。入力変数順序併合手段3は、1出力論理関
数用入力変数順序決定手段2により決定された各出力に
対する入力変数順序をすべて併合して、すべての出力に
対する最終的な入力変数順序を決定する。そのときの併
合は、出力優先順位決定手段1により決定された優先順
位に基づいて行なわれる。優先順位の高い出力から順番
に、その出力に対する入力変数順序をもとに順序づけを
行なう。入力変数の併合は次のように行なう。まず、優
先順位の最も高い出力に対する入力変数順序は、そのま
ま最終的な入力変数順序として保存される。ここで順序
が保存されるといっているのは、その相対的な順序が保
存されていることを意味する。例えば、A,B,Cとい
う順序が、A,P,B,Q,Cとなっても、A,B,C
という順序は保存されている。次に、2番目の優先順位
の出力に対する入力変数順序を既に決定している入力変
数順序に併合する。最初の出力で順序付けされなかった
(最初の出力には無関係な)入力が併合によって新たに
順序付けされる。新たに順序付けされる入力変数は、既
に順序付けされている入力変数順序の中のどの位置に順
序付けしても、より優先度の高い出力に対して決められ
た入力変数順序に悪影響は全く与えない。新たに順序づ
けされる入力変数は、より優先度の高い出力には無関係
の変数であり、無関係の入力変数は、どのように順序付
けされていてもその出力の2分決定グラフには影響しな
いからである。そこで、新たに順序付けされる入力変数
は、その入力変数が影響する出力のうち最も優先順位の
高い出力に都合がよいように順序づけすればよい。した
がって、新たに順序づけする入力変数は、その入力変数
が影響する最も優先順位の高い出力に対する入力変数順
序における順序を保持するように順序付けする。つま
り、新たに順序付けする入力変数に隣接している順序付
け済み入力変数に隣接するように順序付けする。例え
ば、A,B,C,Dが優先順位の高い出力により既にこ
の順序で順序づけされている入力変数とし、Eを新たに
順序づけする入力変数とする。Eに影響する優先度の最
も高い出力に対する入力変数順位が、A,B,E,Cで
あった場合、全体の入力変数順序をA,B,E,C,D
となるように併合する。3番目以降の優先順位の出力に
ついても同様に行なう。 第1の実施例 第1の実施例における入力変数順序併合手段3の詳細な
フローチャートを図2に示す。図3に示す論理回路を用
いて図2のフローチャートを詳細に説明する。図2の処
理に入る前に、出力優先順位決定手段1により、Y、Z
の優先順位が得られているとする。また、1出力論理関
数用入力変数順序決定手段2により、Yに対しては、
A,B,C,Dの入力変数順序が得られており、Zに対
しては、B,E,D,Fの入力変数順序が得られている
とする。図2のフローチャートを実行すると、変数VL
に順序付きの入力変数の集合として結果が得られる。ま
ず、ステップS101で、VL=φ、OUT={Y,
Z}のように初期化される。次に、ステップS102
で、oとしてYが選ばれる。次に、ステップS103
で、oに対する入力変数順序がVL1にいれられ、VL
1={A,B,C,D}となる。次に、ステップS10
4で、vとしてAが選ばれる。次にvはVL1の中の最
上位であるので(S105)、vをVLの先頭に入れ
る。その結果、VL={A}となる。VL1の変数で順
序づけがされていない変数があるので(S108)、S
104に戻る。S104では、まだ順序づけされていな
いVL1中の最上位の変数Bがvとして選ばれる。vは
VL1中の最上位ではないので(S105)、S107
に行く。VL1の中でのvの直前の上位に順序付けされ
ている変数は、AであるのでwはAとなる。VL中のw
の直後にvを入れると、VL={A,B}となる。以
降、VL1の残りの変数についてもS104〜S108
を適用すると、VL={A,B,C,D}となる。次
に、S109で、処理の終了したoをOUTから除く
と、OUT={Z}となる。OUTは空集合ではないの
で(S110)、再びS102へ戻る。S102でo=
Y、S103でVL1={B,E,D,F}となる。次
にS104で、VL1中でVLにない最上位の変数を選
ぶとEとなりこれをvとする。ここでBは既にVL中に
順序付けされているので選択されない。vはVL1の中
で最上位ではないので(S105)、S107にすす
む。VL1におけるvの直前の変数はBであるので、v
をVL中のBの直後に順序付けする。その結果、VL=
{A,B,E,C,D}となる。同様にしVL1の残り
の変数についても、S104〜S108まで処理する
と、VL={A,B,C,D,F}となる。S109で
OUT=φとなり、S110で終了と判定される。以上
で、入力変数順序は、A,B,E,C,D,Fと決定さ
れた。以上で説明した図2のフローチャートで得られた
入力順序で図3の論理回路の出力の2分決定グラフを作
成すると図4のようになり、全部で8ノードとなる。一
方、従来技術では、入力変数順序はA,B,C,D,
E,Fが得られる。この変数順序で図3の論理回路の出
力の2分決定グラフを作成すると図5のようになり、全
部で10ノードとなる。この結果、本発明により従来よ
りも少ないノード数の2分決定グラフを生成できること
がわかる。 第2の実施例 次に、図6〜図8に第2の実施例のフローチャートを示
す。図6〜図8では、1出力論理関数用入力変数順序決
定手段2と入力変数順序併合手段3が融合されたかたち
になっており、各出力に対する入力変数順序を決めなが
ら、最終的な全体の入力変数順序も同時に決めていくよ
うになっている。まず、このフローチャートの概要を説
明する。このフローチャートでは、入力は0入力1出力
のゲート、出力は1入力0出力のゲートとして扱うもの
としている。最終的な入力変数順序は、変数VLに順序
付き集合として得られる。VLには、入力のゲートだけ
でなくすべてのゲートをVLに順序付けして入れた後、
最後に入力以外のゲートを削除するようにしている。こ
のようにするのは、既に探索されているゲートを探索し
ないようにし、かつ、よい入力変数順序を得るためであ
る。各ゲートは一度しか探索されないので、図2の第1
の実施例よりも効率よく実行でき、また、従来技術と同
等の効率で実行できる。変数lastは、VL中のどこ
にゲートを順序付けするかを示すもので、lastで指
されるゲートの直後に挿入される。また、各ゲートは、
どの出力から探索されたものであるかを示すための変数
fromをもつ。lastは、通常直前に挿入されたゲ
ートを指しているが、探索中に既に探索済みでありかつ
現在探索している出力から探索されたのではないゲート
に出会ったときには、このlastをこのゲートにする
ようになっている。この既探索ゲートは、このゲートか
らたどり着ける入力より後に順序づけされているので、
これからたどりつく入力を、これらの既探索の入力の後
に順序づけていくことになる。このようにすることによ
り、優先度の高い出力から決められた入力変数順序を変
えることなく、優先度の低い出力に対してもよい入力変
数順を決定することができる。この実施例についても、
図3の論理回路を用いて詳細に説明する。
Embodiments of the present invention will be described with reference to the drawings. Book
The configuration of the binary decision graph input variable order determination device of the invention is
As shown in FIG. The present invention comprises an output priority order determining means 1, an output variable function input variable order determining means 2, and an input variable order merging means 3. The output priority determining means 1 determines the output priority when determining the input variable order. In general, in a multi-output logic function, a good input variable order for one output will not necessarily be a good input variable order for another output. Therefore, it is necessary to determine the output priority order for which output the good input variable order is set. The final input variable order for all outputs will be better for higher priority outputs. The output order determining means 1 of the present embodiment determines the output priority order such that the output having a larger number of gate stages from the input has a higher priority order. The one-output logical function input variable order determining means 2 determines an input variable order such that the number of nodes is reduced for one output among a plurality of outputs. This method utilizes the above-mentioned conventional technique or the like. The 1-output logic function input variable order determining means 2 of the present embodiment performs depth-first search from the output to the input, and orders the input variables in the searched order. The input variable order merging means 3 merges all the input variable orders for each output determined by the one-output logical function input variable order determining means 2 to determine a final input variable order for all outputs. The merging at that time is performed based on the priority order determined by the output priority order determining means 1. Ordering is performed in order from the output with the highest priority, based on the input variable order for the output. Input variables are merged as follows. First, the input variable order for the output with the highest priority is stored as it is as the final input variable order. The order being preserved here means that the relative order is preserved. For example, even if the order of A, B, C becomes A, P, B, Q, C, A, B, C
That order is preserved. Next, the input variable order for the output of the second priority is merged with the already determined input variable order. Inputs that were unordered in the first output (irrelevant to the first output) are reordered by merging. Ordering a newly ordered input variable at any position in the already ordered input variable order has no adverse effect on the input variable order determined for the higher priority output. The newly ordered input variables are irrelevant to the higher-priority output, and irrelevant input variables do not affect the binary decision graph for that output, no matter how they are ordered. is there. Therefore, the newly ordered input variables may be ordered so as to favor the output with the highest priority among the outputs affected by the input variable. Therefore, the newly ordered input variables are ordered so that they retain their order in the input variable order for the highest priority output that they affect. That is, the input variables are ordered so as to be adjacent to the input variable to be newly ordered. For example, let A, B, C, and D be the input variables that are already ordered in this order by the output with a high priority, and E be the input variable that is newly ordered. If the input variable order for the highest priority output that affects E is A, B, E, C, the overall input variable order is A, B, E, C, D.
To be merged. The same applies to the output of the third and subsequent priorities. First Embodiment FIG. 2 shows a detailed flow chart of the input variable order merging means 3 in the first embodiment. The flowchart of FIG. 2 will be described in detail using the logic circuit shown in FIG. Before the processing of FIG. 2 is started, the output priority determining means 1 sets Y, Z.
It is assumed that the priority order of is obtained. Further, with respect to Y by the input variable order determining means 2 for 1-output logical function,
It is assumed that the input variable order of A, B, C, D has been obtained, and the input variable order of B, E, D, F has been obtained for Z. When the flowchart of FIG. 2 is executed, the variable VL
The result is obtained as a set of ordered input variables. First, in step S101, VL = φ, OUT = {Y,
Z} is initialized. Next, step S102.
Then, Y is selected as o. Then, step S103
Then, the input variable order for o is put into VL1, and VL
1 = {A, B, C, D}. Next, step S10
In 4, A is selected as v. Next, since v is the highest in VL1 (S105), v is inserted at the beginning of VL. As a result, VL = {A}. Since there is a variable in VL1 that is not ordered (S108), S
Return to 104. In S104, the highest order variable B in VL1 which is not yet ordered is selected as v. Since v is not the highest level in VL1 (S105), S107
go to. The variable in the upper order immediately before v in VL1 is A, so w becomes A. W in VL
If v is inserted immediately after, VL = {A, B}. After that, S104 to S108 are also applied to the remaining variables of VL1.
Is applied, VL = {A, B, C, D}. Next, in S109, when the processed o is removed from OUT, OUT = {Z}. Since OUT is not an empty set (S110), the process returns to S102 again. O = in S102
In Y and S103, VL1 = {B, E, D, F}. Next, in S104, the highest variable not in VL is selected in VL1 and becomes E, which is v. Here B is not selected because it is already ordered in the VL. Since v is not the highest in VL1 (S105), the process proceeds to S107. The variable immediately before v in VL1 is B, so v
Order immediately after B in VL. As a result, VL =
It becomes {A, B, E, C, D}. Similarly, for the remaining variables of VL1, if S104 to S108 are processed, VL = {A, B, C, D, F}. In S109, OUT = φ, and in S110, it is determined to end. Thus, the input variable order is determined to be A, B, E, C, D, F. When the binary decision graph of the output of the logic circuit of FIG. 3 is created in the input order obtained in the flow chart of FIG. 2 explained above, it becomes as shown in FIG. 4, and there are a total of 8 nodes. On the other hand, in the prior art, the input variable order is A, B, C, D,
E and F are obtained. When the binary decision graph of the output of the logic circuit of FIG. 3 is created in this variable order, it becomes as shown in FIG. 5, and there are 10 nodes in total. As a result, it can be seen that the present invention can generate a binary decision graph with a smaller number of nodes than the conventional one. Second Embodiment Next, FIGS. 6 to 8 show flowcharts of the second embodiment. 6 to 8, the one-output logic function input variable order determining means 2 and the input variable order merging means 3 are combined so that the final overall order is determined while determining the input variable order for each output. The order of input variables is also decided at the same time. First, the outline of this flowchart will be described. In this flowchart, the input is treated as a 0-input 1-output gate and the output is treated as a 1-input 0-output gate. The final input variable order is obtained in the variable VL as an ordered set. After putting all the gates in the VL in order, not just the input gates,
Finally, the gates other than the input are deleted. This is done in order not to search the gate that has already been searched and to obtain a good input variable order. Since each gate is searched only once,
It can be executed more efficiently than the above-mentioned embodiment, and can be executed with the same efficiency as the prior art. The variable last indicates where in the VL the gates are ordered, and is inserted immediately after the gate pointed to by last. Also, each gate is
It has a variable from to indicate from which output it was searched. last usually points to the gate that was just inserted, but when it encounters a gate that was already searched during the search and was not searched from the output it is currently searching, it will point this gate to this gate. It is supposed to do. This searched gate is ordered after the input that can be reached from this gate, so
We will now order the inputs that we can reach after these previously searched inputs. By doing so, it is possible to determine a good input variable order for low-priority output without changing the input variable order decided from high-priority output. Also for this example,
This will be described in detail using the logic circuit of FIG.

【0007】まず、S201で各変数を初期化する。次
に、S202〜S205で、優先順位の高い出力から順
番に1つずつ選び、それをoとし、手続きorder
(o)を呼び出す。呼び出す前にlastをnilに設
定しておく。図3の回路では、まず、order(Y)
が呼び出される。手続きorder(g)が呼び出され
た段階で、引数gはYとなる(S301)。Yは探索済
みではないので(S302)、Yを探索済みとし(S3
03)、YのfromをYとする(S304)。Yにつ
ながっているゲートは、G3なので、FANIN={G
3}となる(S305)。S306〜S309で、FA
NINのすべてのゲートに対して手続きorderが呼
び出される。ここでは、order(G3)が呼び出さ
れる。order(G3)の中では、order(Y)
のときと同様に、S301〜S305までの処理が行な
われ、S306〜S309で、order(G1)が呼
ばれる。さらに同様にorder(G1)の中でord
er(A)が呼ばれる。order(A)の中では、A
の入力はないため、S310へ進む。lastはnil
なので、VL={A}となる。last=Aとしてor
der(A)からリターンし、order(G1)のS
308が終わる。G1の入力につながるゲートBが残っ
ているので、order(B)を呼び出す。order
(B)の中では、Bの入力はないため、S310へ進
む。lastはAになっているので、Aの直後にBを挿
入し、VL={A,B}となる。last=Bとして、
order(B)からリターンし、order(G1)
のS308が終わる。入力につながっているゲートで残
っているものはないので、S310に進む。lastは
Bであるので、G1はBの直後に挿入される。その結
果、VL={A,B,G1}となる。その後、同様に処
理して、図6のS203のorder(Y)が終了する
まで処理すると、その段階で、VL={A,B,G1,
C,D,G2,G3,Y}、VLに含まれているゲート
のfromすべてYとなっている。S204で、OUT
からYが除かれ、OUT={Z}となる。lastはn
ilに設定され(S202a)、手続きorder
(Z)が呼び出される(S203)。以降、これまでと
同様に、order(Z)のS308でorder(G
6)が呼び出され、order(G6)のS308でo
rder(G4)が呼び出され、order(G4)の
S308でorder(B)が呼び出される。Bは探索
済みなので(S302)、S314へ進む。Bが以前に
探索されたのはYからであるから、S314の条件は成
立しないので、S315でlastをBに更新して手続
きorder(B)からorder(G4)のS308
に戻る。ここで、lastをBに更新することにより、
それ以降の順序付けはBの直後に行なわれることにな
る。order(G4)で入力につながる残りのゲート
Eについて、order(E)が呼び出される(S30
8)。order(E)の中では、Eは探索済みではな
く、入力もないので、S310へ進む。lastはBと
なっているので(S310)、EをVL中のBの直後に
挿入する。これにより、VL={A,B,E,G1,
C,D,G2,G3,Y}となる。lastをEに更新
してorder(E)からorder(G4)のS30
8に戻る。入力につながるゲートはもう残っていないの
で、G4をVL中のEの直後に挿入し、order(G
6)のS308に戻る。以降同様に、order(G
5)、order(D)、order(F)が呼び出さ
れて処理され、最終的にorder(Z)が終了した段
階で、VL={A,B,E,G4,G1,C,D,F,
G5,G6,Z,G2,G3,Y}となる。order
(Z)からS203に戻る。OUT=φとなるので(S
204,S205)、S206で、VL中から入力以外
のゲートを除くと、最終的な入力変数順序として、VL
={A,B,E,C,D,F}が得られる。この結果
は、図2の第1の実施例を適用したときに得られた結果
と同じになっているが、第1の実施例を適用した結果
と、第2の実施例を適用した結果は、常に一致するわけ
ではない。以上の説明では、あるゲートの入力につなが
っているゲートが複数ある場合に、どのゲートから探索
するかということについては触れなかったが、実際に
は、 (1)入力からそのゲートまでのゲート段数が多いのか
ら先に探索する。 (2)そのゲートからたどれる入力のファンアウト数の
最大値が大きいものから先に探索する。 (3)そのゲートからたどれる入力の数が多いものから
先に探索する。 (4)既に探索済みのゲートがあった場合、そのゲート
を優先する。などの探索順序を決める方法が考えられ、
これらを単独または組み合わせて使用する。これらは、
出力優先順位の決定でも使用することができる。図9に
ISCAS85ベンチマーク回路に対して、従来技術、
第1の実施例、第2の実施例を適用した場合の結果(決
定した入力変数順序を用いたときの2分決定グラフのノ
ード数)を示す。これをみればわかるように、全般的に
従来技術を適用した場合に比べて、第1の実施例あるい
は第2の実施例を適用した場合の方が少ないノード数と
なっている。特にC2670とC7552については、
従来技術では、ノード数が大きくなりすぎて2分決定グ
ラフが作成できなかったのが、第1の実施例あるいは第
2の実施例を適用した場合には少ないノード数で表現で
きていることがわかる。このことから、従来技術では、
2分決定グラフを生成できなかった回路についても、本
発明により表現できるようになったことで、本発明によ
り2分決定グラフを用いた技術の適用範囲が広がること
になる。これまで述べてきた多出力論理回路に対する入
力変数順序決定方法は1出力論理回路に対する入力変数
順序の決定にも効果がある。図10の論理回路に従来の
技術を適用すると、A0,B0,A1,B1,C0,C
1という入力変数順序が得られ、そのときに必要となる
ノード数は14となる。一方、図11のように仮想的に
出力X,Yをもうけ、出力優先順位をX,Y,Zとして
本発明を適用すると、A0,C0,B0,A1,C1,
B1という入力変数順序が得られ、そのときの必要なノ
ード数は9となる。本発明の適用で得られた入力変数順
序を用いた時のノード数は、従来技術で得られた入力変
数順序を用いた時のノード数より少なくなっていること
がわかる。 第3の実施例 最後に、本発明の第3の実施例のフローチャートを図1
2に示す。この実施例は大きく分けて、S401〜S4
07の部分と、S408〜S412の部分の2つからな
る。S401〜S407の部分は、できるだけ多くの出
力に対して共通の入力変数順序を用いて2分決定グラフ
を生成して検証しようと試みる部分である。S408〜
S412の部分は、共通の入力変数順序では2分決定グ
ラフを生成できそうにない場合に、最後の手段として、
2分決定グラフを生成できないで残った出力について
は、個々に入力変数順序を決めて2分決定グラフの生成
して検証しようと試みる部分である。まず、S401〜
S407の部分について詳細に説明する。集合Sは、ま
だ2分決定グラフが生成できておらず検証できていない
出力の集合を表す。一番最初は、Sをすべての出力とす
る(S401)。次にS402で、Sに含まれる出力に
対する共通の入力変数順序を決定する。S403では、
S402で決定された入力変数順序を用いてSに含まれ
る出力に対する2分決定グラフを生成することを試み
る。このとき、ノード数が上限を越える場合には、その
出力に対する処理は中断し、次の出力の2分決定グラフ
の生成を試みる。2分決定グラフの生成に成功した場合
は、比較対象となる2つの回路の対応する出力に対する
2分決定グラフが同形かどうかを判定し、同形であれば
論理的に等価であると判定し、そうでなければ、等価で
ないと判定する。S404〜S406で2分決定グラフ
が生成できた出力の集合をTとし、SからTに含まれる
出力を除く。Sには、まだ2分決定グラフが生成できて
いない出力が残ることになり、これらについては再びS
401から2分決定グラフの生成と検証を試みる。Tが
空集合の場合には、Sに対する入力変数順序では、どの
出力に対しても2分決定グラフができなかったことを意
味している。この実施例では、S408〜S412でS
に含まれるすべての出力について、1つずつ入力変数順
序を決定し(S409)、2分決定グラフの生成と検証
を試みる(S410)。このようにすることにより、従
来の最初からの個々に入力変数順序を決めて処理する方
法と同等の適用範囲を保証している。Sのすべての出力
に対して処理が終わると、2分決定グラフの生成の成否
にかかわらず、このフローチャートの処理は終了する。
2分決定グラフが生成できなかった出力に関しては検証
ができなかったということになる。第3の実施例では、
できるだけ複数の出力をまとめて処理するようになって
おり、まとめて処理できなくなってから、個別の入力変
数順序を用いる(S408〜S412)に移っている
が、まとめて処理できる場合でも途中で個別の入力変数
順序を用いる処理に移るようにしてもよい。
First, in S201, each variable is initialized. Next, in steps S202 to S205, one by one is selected in order from the output with the highest priority, and it is set to o, and the procedure order
Call (o). Set last to nil before calling. In the circuit of FIG. 3, first, order (Y)
Is called. When the procedure order (g) is called, the argument g becomes Y (S301). Since Y has not been searched (S302), Y has been searched (S3).
03), Y from is set to Y (S304). The gate connected to Y is G3, so FANIN = {G
3} (S305). FA in S306 to S309
The procedure order is called for all gates in NIN. Here, order (G3) is called. In order (G3), order (Y)
As in the case of, the processing from S301 to S305 is performed, and in S306 to S309, order (G1) is called. Similarly, in the order (G1), ord
er (A) is called. A in order (A)
Since there is no input of, the process proceeds to S310. last is nil
Therefore, VL = {A}. or as last = A
Return from der (A), S of order (G1)
308 ends. Since the gate B connected to the input of G1 remains, order (B) is called. order
In (B), since B is not input, the process proceeds to S310. Since last is A, B is inserted immediately after A, and VL = {A, B}. As last = B,
Return from order (B), order (G1)
S308 ends. Since there is no gate left connected to the input, the process proceeds to S310. Since last is B, G1 is inserted immediately after B. As a result, VL = {A, B, G1}. After that, the same process is performed until the order (Y) in S203 of FIG. 6 is completed, and at that stage, VL = {A, B, G1,
The gates included in C, D, G2, G3, Y} and VL are all Y. In S204, OUT
From Y is removed, and OUT = {Z}. last is n
is set to il (S202a), procedure order
(Z) is called (S203). After that, in the same way as before, the order (G
6) is called, and at S308 of order (G6), o
rder (G4) is called, and in step S308 of order (G4), order (B) is called. Since B has already been searched (S302), the process proceeds to S314. Since B was previously searched from Y, the condition of S314 is not satisfied. Therefore, last is updated to B in S315 and the procedure order (B) to order (G4) in S308 is updated.
Return to. Here, by updating last to B,
Subsequent ordering will occur immediately after B. Order (E) is called for the remaining gate E connected to the input in order (G4) (S30).
8). In order (E), since E has not been searched and there is no input, the process proceeds to S310. Since last is B (S310), E is inserted immediately after B in VL. As a result, VL = {A, B, E, G1,
C, D, G2, G3, Y}. Update last to E and change from order (E) to order (G4) S30
Return to 8. Since there is no gate left to connect to the input, insert G4 right after E in VL and set order (G
It returns to S308 of 6). Similarly, order (G
5), order (D), order (F) are called and processed, and finally order (Z) ends, VL = {A, B, E, G4, G1, C, D, F ,
G5, G6, Z, G2, G3, Y}. order
The process returns from (Z) to S203. Since OUT = φ, (S
204, S205) and S206, if gates other than inputs are excluded from VL, the final input variable order is VL.
= {A, B, E, C, D, F} is obtained. This result is the same as the result obtained when the first embodiment of FIG. 2 is applied, but the result of applying the first embodiment and the result of applying the second embodiment are , Not always a match. In the above explanation, when there are multiple gates connected to the input of a certain gate, which gate to search from is not mentioned, but in reality, (1) the number of gate stages from the input to the gate Since there are many, I will search first. (2) The search is performed from the one having the largest maximum fan-out number of the input traced from the gate. (3) It searches first from the one having the largest number of inputs that can be traced from the gate. (4) If there is a gate that has already been searched, that gate is given priority. A method of deciding the search order such as
These are used alone or in combination. They are,
It can also be used to determine output priority. FIG. 9 shows a conventional technique for the ISCAS85 benchmark circuit.
The result (the number of nodes of the binary decision graph when the determined input variable order is used) when the first embodiment and the second embodiment are applied is shown. As can be seen from this, the number of nodes is generally smaller when the first embodiment or the second embodiment is applied than when the conventional technique is applied. Especially for C2670 and C7552,
In the prior art, the number of nodes was too large to create a binary decision graph, but when the first or second embodiment is applied, it can be expressed with a small number of nodes. Recognize. From this, in the conventional technology,
With the present invention, a circuit that cannot generate a binary decision graph can be represented, and thus the present invention expands the scope of application of the technique using the binary decision graph. The input variable order determining method for the multi-output logic circuit described above is also effective for determining the input variable order for the 1-output logic circuit. When the conventional technique is applied to the logic circuit of FIG. 10, A0, B0, A1, B1, C0, C
An input variable order of 1 is obtained, and the number of nodes required at that time is 14. On the other hand, if the present invention is applied with virtual outputs X and Y as shown in FIG. 11 and the output priority order is X, Y, and Z, A0, C0, B0, A1, C1,
An input variable order of B1 is obtained, and the required number of nodes at that time is 9. It can be seen that the number of nodes when using the input variable order obtained by applying the present invention is smaller than the number of nodes when using the input variable order obtained by the conventional technique. Third Embodiment Finally, FIG. 1 shows a flowchart of a third embodiment of the present invention.
2 shows. This embodiment is roughly divided into S401 to S4.
07, and S408 to S412. The part of S401 to S407 is a part that tries to generate and verify a binary decision graph by using a common input variable order for as many outputs as possible. S408 ~
The part of S412 is as a last resort when the binary decision graph is unlikely to be generated with the common input variable order.
The remaining output that cannot be generated by the binary decision graph is a part in which the order of input variables is individually determined and the binary decision graph is generated and verified. First, S401-
The part of S407 will be described in detail. The set S represents a set of outputs for which the binary decision graph has not yet been generated and has not been verified. At the very beginning, S is set as all outputs (S401). Next, in S402, a common input variable order for the outputs contained in S is determined. In S403,
Attempts to generate a BDD for the outputs contained in S using the input variable order determined in S402. At this time, if the number of nodes exceeds the upper limit, the process for the output is interrupted and an attempt is made to generate a binary decision graph for the next output. When the binary decision graph is successfully generated, it is determined whether the binary decision graphs for the corresponding outputs of the two circuits to be compared have the same shape, and if they are the same, it is determined that they are logically equivalent. Otherwise, it is determined that they are not equivalent. The set of outputs for which the binary decision graph has been generated in S404 to S406 is set as T, and the outputs contained in S to T are excluded. The output that has not yet been able to generate the binary decision graph remains in S.
Attempt to generate and verify a binary decision graph from 401. If T is an empty set, it means that the binary decision graph could not be made for any output in the input variable order for S. In this embodiment, S408 to S412
The input variable order is determined one by one for all the outputs included in (S409), and an attempt is made to generate and verify a binary decision graph (S410). By doing so, the range of application equivalent to the conventional method of individually deciding the order of input variables and processing is guaranteed. When the processing is completed for all the outputs of S, the processing of this flowchart is completed regardless of whether the binary decision graph is successfully generated.
This means that the output for which the binary decision graph could not be generated could not be verified. In the third embodiment,
It is designed to process a plurality of outputs as much as possible, and since it is not possible to process them collectively, the process shifts to using individual input variable order (S408 to S412). Alternatively, the processing may be shifted to the processing using the input variable order of.

【0008】[0008]

【発明の効果】本発明を用いることにより、従来の方式
を用いた場合に比べ、必要となる2分決定グラフのノー
ド数が大幅に減少し、2分決定グラフを処理するための
記憶容量、処理時間が削減できる2分決定グラフ入力変
数順序決定装置及び2分決定グラフ入力変数順序決定方
法を提供することが出来る。また、本発明により、従来
の方式では、2分決定グラフを生成することができなか
った回路が、本発明による変数順序を用いると2分決定
グラフを生成することができるようになったものもあ
り、2分決定グラフ処理が適用可能な回路の範囲が広が
ることになる。さらに本発明により、2分決定グラフを
用いた論理回路設計検証において、適用可能な回路の範
囲を狭めることなく、高速に処理できるようになる。
By using the present invention, the required number of nodes in the binary decision graph is significantly reduced as compared with the case of using the conventional method, and the storage capacity for processing the binary decision graph is reduced. Inputting a 2-minute decision graph that can reduce processing time
Number order determination device and binary decision graph input variable order determination method
Can provide the law . Further, according to the present invention, there is also a circuit that can generate a binary decision graph by using the variable order according to the present invention, while a circuit that could not generate the binary decision graph in the conventional method. Yes, the range of circuits to which the binary decision graph processing can be applied is expanded. Further, according to the present invention, in the logic circuit design verification using the binary decision graph, the processing can be performed at high speed without narrowing the range of applicable circuits.

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

【図1】2決定グラフ入力変数順序決定装置の構成を示
す構成図である。
FIG. 1 shows the configuration of a 2 decision graph input variable order determination device.
It is a configuration diagram.

【図2】第1の実施例のフローチャートであるFIG. 2 is a flow chart of the first embodiment.

【図3】論理回路の一例であるFIG. 3 is an example of a logic circuit.

【図4】本発明による入力変数順序による2分決定グラ
である
FIG. 4 is a binary decision graph according to an input variable order according to the present invention.

【図5】従来技術による入力変数順序による2分決定グ
ラスである
FIG. 5 is a binary decision glass with input variable order according to the prior art.

【図6】第2の実施例のフローチャートであるFIG. 6 is a flowchart of the second embodiment.

【図7】手続きorderのフローチャートであるFIG. 7 is a flowchart of a procedure order.

【図8】図7に続くフローチャートであるFIG. 8 is a flowchart following FIG.

【図9】ベンチマーク回路に適用した結果であるFIG. 9 is a result applied to a benchmark circuit.

【図10】論理回路の一例であるFIG. 10 is an example of a logic circuit.

【図11】仮想的な出力を付加した論理回路であるFIG. 11 is a logic circuit to which a virtual output is added.

【図12】本発明の第3の実施例のフローチャートであ
Flowchart der of the third embodiment of the present invention; FIG
It

【図13】仮想的なゲートを付加した論理回路であるFIG. 13 is a logic circuit to which a virtual gate is added.

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

1 出力優先順位決定手段 2 1出力論理関数用入力変数順序決定手段 3 入力変数順序併合手段 1 Output priority order determination means 21 Input variable order determining means for 1-output logical function 3 Input variable order merging means

Claims (14)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数出力を有する論理回路を2分決定グ
ラフで表現するときの入力変数順序をコンピュータが決
定する方法であって、 コンピュータの出力優先順位決定手段が、前記複数出力
の優先順位を決定するステップと、 コンピュータの1出力論理関数用入力変数順序決定手段
が、前記複数出力の対して、各々の入力変数順序を決定
するステップと、 コンピュータの入力変数順序併合手段が、前記各々の出
力に対して決定した入力変数順序である第二の順序付き
集合を、第一の順序付き集合に併合する処理を行い、こ
の併合する処理をすべての出力に対して前記優先順位の
高い順に繰り返し行い、得られた第一の順序付き集合に
含まれる入力変数の順序をすべての出力に対する入力変
数順序とするステップとを備え、前記第二の順序付き集
合を前記第一の順序付き集合に併合する処理において、
第二の順序付き集合に含まれる入変数のうち、第一の
順序付き集合に含まれない第一の入力変数と、第一の順
序付き集合に含まれる第二の入力変数とが、第二の順序
付き集合において隣接するときに、第一の順序付き集合
において第一の入力変数と第二の入力変数とが隣接する
ように、第一の入力変数を第一の順序付き集合に挿入し
て順序付けることを特徴とする2分決定グラフ入力変数
順序決定方法。
1. A binary circuit for determining a logic circuit having a plurality of outputs.
The computer decides the order of the input variables when expressing it roughly.
A method of determining the output priority of the computer,
Determining the order of priority of input variables for computer one-output logic function
Determines the order of each input variable for the multiple outputs
And the input variable order merging means of the computer,
The second ordered with the input variable order determined for the force
Perform the process of merging the sets into the first ordered set.
The process of merging the
Iterate in ascending order to obtain the first ordered set
Change the order of the included input variables to the input variables for all outputs.
The step of providing a numerical order, the second ordered collection
In the process of merging a combination into the first ordered set,
Of the input variables included in the second ordered set , the first
The first input variable not included in the ordered set and the first order
The second input variable included in the ordered set is the second order
The first ordered set when adjacent in the attached set
The first and second input variables are adjacent in
Insert the first input variable into the first ordered set, like
Decision graph input variable characterized by sequential ordering
Order determination method.
【請求項2】 複数出力を有する論理回路を2分決定グ2. A binary circuit for determining a logic circuit having a plurality of outputs.
ラフで表現するときの入力変数順序をコンピュータが決The computer decides the order of the input variables when expressing it roughly.
定する方法であって、Method, コンピュータの出力優先順位決定手段が、前記複数出力The output priority determining means of the computer outputs the plurality of outputs.
及び複数の選択した内部信号の優先順位を決定するステAnd a step for prioritizing a plurality of selected internal signals.
ップと、And コンピュータの1出力論理関数用入力変数順序決定手段Input variable order determining means for one-output logic function of computer
が、前記複数出力と前記複数の選択した内部信号に対しFor the multiple outputs and the selected internal signals
て、各々の入力変数順序を決定するステップと、And determining the order of each input variable, コンピュータの入力変数順序併合手段が、前記出力及びThe input variable order merging means of the computer outputs the output and
前記内部信号の各々にFor each of the internal signals 対して決定した入力変数順序であThe input variable order determined for
る第二の順序付き集合を、第一の順序付き集合に併合すMerges the second ordered set into the first ordered set
る処理を行い、この併合する処理をすべての前記出力及And perform this merging process on all the output and
び前記内部信号に対して前記優先順位の高い順に繰り返And the internal signals are repeated in the order of higher priority.
し行い、得られた第一の順序付き集合に含まれる入力変Input variable included in the obtained first ordered set
数の順序をすべての出力に対する入力変数順序とするスA sequence whose order of numbers is the order of input variables for all outputs.
テップとを備え、前記第二の順序付き集合を前記第一のAnd the second ordered set to the first
順序付き集合に併合する処理において、第二の順序付きIn the process of merging into an ordered set, the second ordered
集合に含まれる入力変数のうち、第一の順序付き集合にOf the input variables included in the set, the first ordered set
含まれない第一の入力変数と、第一の順序付き集合に含The first input variable that is not included and the first
まれる第二の入力変数とが、第二の順序付き集合においAnd the second input variable is in the second ordered set
て隣接するときに、第一の順序付き集合において第一のWhen they are adjacent to each other in the first ordered set
入力変数と第二の入力変数とが隣接するように、第一のSo that the input variable and the second input variable are adjacent,
入力変数を第一の順序付き集合に挿入して順序付けるこInsert and order the input variables in the first ordered set.
とを特徴とする2分決定グラフ入力変数順序決定方法。A binary decision graph input variable order determining method characterized by:
【請求項3】 前記第二の順序付き集合を前記第一の順3. The second ordered set is converted into the first ordered set.
序付き集合に併合する処理が、前記第二の順序付き集合The process of merging into an ordered set is the second ordered set.
に含まれる入力変数のうち前記第一の順序付き集合に含Of the input variables included in the first ordered set
まれない入力変数を正順若しくは逆順に一つずつ選び前Select input variables that cannot be filled one by one in forward or reverse order
記第一の入力変数とし、前記第一の入力変数が最上位若As the first input variable, the first input variable is the highest
しくは最下位である場合は、前記第一の入力変数を第一If it is the lowest, set the first input variable to the first
の順序付き集合の最上位若しくは最下位に挿入し、それInsert at the top or bottom of the ordered set of
以外の場合には、第二の順序付き集合においてこの第一Otherwise, this first in the second ordered set
の入力変数の直前若しくは直後にある変数を第二の入力Input the variable immediately before or after the input variable of
変数とし、第一の順序付き集合において第二の入力変数A second input variable in the first ordered set as a variable
の直後若しくは直前となるように第一の入力変数を第一Set the first input variable to be immediately after or just before
の順序付き集合に挿入して順序付けるようにすることをTo insert into the ordered set of
特徴とする請求項1又は請求項2に記載の2分決定グラThe binary decision graph according to claim 1 or 2, characterized in that
フ入力変数順序決定方法。Input variable order determination method.
【請求項4】 前記各々の入力変数順序を決定するステ4. A step for determining the order of each of the input variables.
ップが、入力方向への深さを優先して前記論理回路を辿Traces the logic circuit, giving priority to the depth in the input direction.
り、辿った経路を戻る順序で入力変数を順序付けることOrder the input variables in the order in which
を特徴とする請求項1乃至3のいずれか1項に記載の2The method according to any one of claims 1 to 3, characterized in that
分決定グラフ入力変数順序決定方法。Minute decision graph Input variable order determination method.
【請求項5】 前記各々の入力変数順序を決定するステ5. A step for determining the order of each of the input variables.
ップが各々の入力変数順序を訣定する処理と、前記入力Input processing for each input variable order, and the input
変数順序併合とするステップが前記各々の入力変数順序The step of merging variable orders is the step of input variable order
を併合する処理とを同時に行うことを特徴とする請求項Claim that is characterized by performing the process of merging
1乃至4のいずれか1項に記載の2分決定グラフ入力変The binary decision graph input variable described in any one of 1 to 4.
数順序決定方法。Number order determination method.
【請求項6】 複数出力を有する論理回路を2分決定グ6. A binary circuit for determining a logic circuit having a plurality of outputs.
ラフで表現するときの入力変数順序をコンピュータが決The computer decides the order of the input variables when expressing it roughly.
定する方法であって、Method, コンピュータの出力優先順位決定手段が、前記複数出力The output priority determining means of the computer outputs the plurality of outputs.
の優先順位を決定するステップと、Determining the priority of コンピュータの入力変数順序決定併合手段が、前記複数The input variable order determining and merging means of the computer is the plurality of
出力から、前記優先順位の高い順に、入力方向へ深さ方From the output, in the order of the above-mentioned priority, depth direction
向を優先させて前記論理回路を辿り、辿った経路を戻るTrace the logic circuit, giving priority to the direction, and return to the traced path.
際に、ゲートを第一の順序付き集合に挿入し、すべてのWhen inserting the gate into the first ordered set,
前記複数出力から辿り終えた後に得られる第一の順序付The first ordering obtained after finishing tracing from the plurality of outputs
き集合の中に含まれる入力変数の順序を、すべての出力The order of the input variables contained in the
に対する入力変数順序とするステップとを備え、前記経The order of input variables for
路を辿る処理を行う際に、辿ったゲートが探索済みの出When performing the process of tracing a route, the gate that was traced has already been searched.
力から辿ったゲートであった場合には、第一の順序付きIf the gate was traced from force, the first ordered
集合におけるゲート挿入位置を前記既に辿ったゲートのThe gate insertion position in the set of the gates already traced
直後とし、それ以外の場合には、第一の順序付き集合にImmediately after, otherwise in the first ordered set
おけるゲート挿入位置を前回挿入したゲートの直後とすThe gate insertion position in the
ることを特徴とする2分決定グラフ入力変数順序決定方Binary decision graph input variable order determination method characterized by
法。Law.
【請求項7】 複数出力を有する論理回路を2分決定グ7. A binary circuit for determining a logic circuit having a plurality of outputs.
ラフで表現するときの入力変数順序をコンピュータが決The computer decides the order of the input variables when expressing it roughly.
定する方法であって、Method, コンピュータの出力優先順位決定手段が、前記複数出力The output priority determining means of the computer outputs the plurality of outputs.
及び複数の選択した内部信号の優先順位を決定するステAnd a step for prioritizing a plurality of selected internal signals.
ップと、And コンピュータの入力変数順序決定併合手段が、前記複数The input variable order determining and merging means of the computer is the plurality of
出力と前記複数の選択した内部信号から、前記優先順位From the output and the plurality of selected internal signals, the priority order
の高い順に、入力方向へ深さ方向を優先させて前記論理In the order of increasing
回路を辿り、辿った経路を戻る際に、ゲートを第一の順When following the circuit and returning to the route that was followed, the gates are in the first order.
序付き集合に挿入し、すべての前記出力と前記選択したInsert into an ordered set and select all the outputs and the selected
内部信号から辿り終えた後に得られる第一の順序付き集The first ordered collection obtained after finishing the internal signal
合の中に含まれる入力変数の順序を、すべての出力に対The order of the input variables contained in the
する入力変数順序とするステップを備え、前記経路を辿The step of setting the input variable order to
る処理を行う際に、辿ったゲートが探索済みの出力及びWhen performing a process that
選択した内部信号から辿ったゲートであった場合には、If the gate was traced from the selected internal signal,
第一の順序付き集合におけるゲート挿入位置を前記既にThe gate insertion position in the first ordered set has already been
辿ったゲートの直後とし、それ以外の場合には、第一のImmediately after the traversed gate, otherwise, the first
順序付き集合におけるゲート挿入位置を前回挿入したゲThe gate insertion position in the ordered set is
ートの直後とすることを特徴とする2分決定グラフ入力Input of a binary decision graph characterized by being immediately after
変数順序決定方法。Variable order determination method.
【請求項8】 複数出力を有する論理回路を2分決定グ
ラフで表現するときの入力変数順序を決定する装置であ
って、前記複数出力の優先順位を決定する出力優先順位決定手
段と、 前記複数出力の各々の出力に対して入力変数順序を決定
する1出力論理関数用入力変数順序決定手段と、 前記各々の出力に対して決定した入力変数順序である第
二の順序付き集合を、第一の順序付き集合に併合する処
理を行い、この併合する処理をすべての出力に対して前
記優先順位の高い順に繰り返し行い、得られた第一の順
序付き集合に含まれる入力変数の順序をすべての出力に
対する入力変数順序とする入力変数順序併合手段とを備
え、前記第二の順序付き集合を前記第一の順序付き集合
に併合する処理において、第二の順序付き集合に含まれ
る入力変数のうち、第一の順序付き集合に含まれない第
一の入力変数と、第一の順序付き集合に含まれる第二の
入力変数とが、第二の順序付き集合において隣接すると
きに、第一の順序付き集合において第一の入力変数と第
二の入力変数とが隣接するように、第一の入力変数を第
一の順序付き集合に挿入して順序付けることを特徴とす
る2分決定グラフ入力変数順序決定装置。
8. An apparatus for determining an input variable order when a logic circuit having a plurality of outputs is represented by a binary decision graph, and an output priority order determining unit for determining a priority order of the plurality of outputs.
Stage and the input variable order is determined for each output of the multiple outputs
Input variable order determining means for 1-output logical function, and an input variable order determining means for each output
A process that merges the second ordered set into the first ordered set.
And merge this merge process for all outputs.
Repeated in descending order of priority, the first order obtained
The order of input variables in the ordered set to all outputs
Equipped with input variable order merging means to be the input variable order for the
The second ordered set to the first ordered set
In the process of merging into
Input variables that are not included in the first ordered set
One input variable and the second in the first ordered set
If the input variables and are adjacent in the second ordered set
First input variable and the first input variable in the first ordered set.
Set the first input variable to the second so that the two input variables are adjacent.
Characterized by inserting and ordering in one ordered set
A binary decision graph input variable order determination device.
【請求項9】 複数出力を有する論理回路を2分決定グ9. A binary circuit for determining a logic circuit having a plurality of outputs.
ラフで表現するときの入力変数順序を決定する装置であIt is a device that determines the order of input variables when expressed roughly.
って、I mean 前記複数出力及び複数の選択した内部信号の優先順位をPriority of the plurality of outputs and the plurality of selected internal signals
決定する出力優先順位決定手段と、Output priority determining means for determining, 前記複数出力と前記複数の選択した内部信号に対して、For the plurality of outputs and the plurality of selected internal signals,
各々の入力変数順序を決定する1出力論理関数用入力変Input variables for one-output logic functions that determine the order of each input variable
数順序決定手段と、A numerical order determining means, 前記出力及び前記内部信号の各々に対して決定した入力Input determined for each of the output and the internal signal
変数順序である第二の順序付き集合を、第一の順序付きThe second ordered set, which is a variable order, is
集合に併合する処理を行い、この併合する処理をすべてPerform the process of merging to the set, and perform all this merging process.
の前記出力及び前記内部信号に対して前記優先順位の高The priority of the output and the internal signal of
い順に繰り返し行い、得られた第一の順序付き集合に含In the first ordered set obtained.
まれる入力変数の順序をすべての出力に対する入力変数Input variable order for all outputs
順序とする入力変数順序併合手段とを備え、前記第二のAnd an input variable order merging means for setting the order,
順序付き集合を前記第一の順序付き集合に併合する処理The process of merging an ordered set into the first ordered set
において、第二の順序付き集合に含まれる入力変数のう, The input variables in the second ordered set
ち、第一の順序付き集合に含まれない第一の入力変数The first input variable that is not included in the first ordered set
と、第一の順序付き集合に含まれる第二の入力変数とAnd a second input variable contained in the first ordered set
が、第二の順序付き集合においBut in the second ordered set smell て隣接するときに、第一First when they are adjacent
の順序付き集合において第一の入力変数と第二の入力変The first input variable and the second input variable in the ordered set of
数とが隣接するように、第一の入力変数を第一の順序付Order the first input variable in the first order so that the numbers and
き集合に挿入して順序付けることを特徴とする2分決定Dichotomy characterized by inserting into a set and ordering
グラフ入力変数順序決定装置。Graph input variable order determination device.
【請求項10】 前記入力変数順序併合手段が、前記第10. The input variable order merging means comprises:
二の順序付き集合に含まれる入力変数のうち前記第一のThe first of the input variables included in the second ordered set
順序付き集合に含まれない入力変数を正順若しくは逆順Forward or reverse input variables that are not included in the ordered set
に一つずつ選び前記第一の入力変数とし、前記第一の入One by one as the first input variable, and the first input variable
力変数が最上位若しくは最下位である場合は、前記第一If the force variable is highest or lowest, then the first
の入力変数を第一の順序付き集合の最上位若しくは最下The input variables of the top or bottom of the first ordered set
位に挿入し、それ以外の場合には、第二の順序付き集合Position, otherwise the second ordered set
においてこの第一の入力変数の直前若しくは直後にあるImmediately before or after this first input variable in
変数を第二の入力変数とし、第一の順序付き集合においUse the variable as the second input variable and put it in the first ordered set.
て第二の入力変数の直後若しくは直前となるように第一First so that it is immediately after or just before the second input variable
の入力変数を第一の順序付き集合に挿入して順序付けるInsert the input variables of into the first ordered set and order
ようにすることを特徴とする請求項8又は請求項9に記According to claim 8 or claim 9, characterized in that
載の2分決定グラフ入力変数順序決定装置。The binary decision graph input variable order determination device described above.
【請求項11】 前記1出力論理関数用入力変数順序決11. Order determination of input variables for the one-output logic function
定手段が、入力方向への深さを優先して前記論理回路をThe determining means prioritizes the depth in the input direction to configure the logic circuit.
辿り、辿った経路を戻る順序で入力変数を順序付けるこThe input variables can be ordered in the order that they are followed and the paths that are followed are returned.
とを特徴とする請求項8乃至10のいずれか1項に記載11. The method according to any one of claims 8 to 10, characterized in that
の2分決定グラフ入力変数順序決定装置。Binary decision graph input variable order determining device.
【請求項12】 前記入力変数順序併合手段が、入力変12. The input variable order merging means is an input variable
数順序を決定する処理と、前記入力変数順序併合手段がThe process of determining the numerical order and the input variable order merging means are
前記複数の出力に対する入力変数順序を併合する処理とA process of merging input variable orders for the plurality of outputs,
を同時に行うことを特徴とする請求項8乃至11のいず12. The method according to any one of claims 8 to 11, characterized in that
れか1項に記載の2分決定グラフ入力変数順序決定装The binary decision graph input variable order decision device according to item 1
置。Place
【請求項13】 複数出力を有する論理回路を2分決定13. A logic circuit having a plurality of outputs is divided into two.
グラフで表現するときの入力変数順序を決定する装置でA device that determines the order of input variables when expressed in a graph
あって、There 前記複数出力の優先順位を決定する出力優先順位決定手Output priority determining means for determining the priority of the plurality of outputs
段と、Dan, 前記複数出力から、前記優先順位の高い順に、入力方向From the multiple outputs, the input direction is in the descending order of priority.
へ深さ方向を優先させて前記論理回路を辿り、辿った経To the depth direction, tracing the logic circuit,
路を戻る際に、ゲートを第一の順序付き集合に挿入し、Insert the gate into the first ordered set on the way back,
すべての前記複数出力から辿り終えた後に得られる第一First obtained after all the multiple outputs have been traced
の順序付き集合の中に含まれる入力変数の順序を、すべThe order of the input variables contained in the ordered set of
ての出力に対する入力変数順序とする、入力変数順序決Input variable order, which is the input variable order for all outputs
定併合手段を備え、前記経路を辿る処理を行う際に、辿When the processing for tracing the route is provided, the constant merging means is provided.
ったゲートが探索済みの出力から辿ったゲートであったThe gate that was traced was the gate traced from the searched output
場合には、第一の順序付き集合にIf in the first ordered set おけるゲート挿入位置Gate insertion position
を前記既に辿ったゲートの直後とし、それ以外の場合にIs immediately after the gate already traced, and in other cases
は、第一の順序付き集合におけるゲート挿入位置を前回Is the gate insertion position in the first ordered set.
挿入したゲートの直後とすることを特徴とする2分決定Two minute decision, characterized by being immediately after the inserted gate
グラフ入力変数順序決定装置。Graph input variable order determination device.
【請求項14】 複数出力を有する論理回路を2分決定14. A logic circuit having a plurality of outputs is divided into two.
グラフで表現するときの入力変数順序を決定する装置でA device that determines the order of input variables when expressed in a graph
あって、There 前記複数出力及び複数の選択した内部信号の優先順位をPriority of the plurality of outputs and the plurality of selected internal signals
決定する出力優先順位決定手段と、Output priority determining means for determining, 前記複数出力と前記複数の選択した内部信号から、前記From the plurality of outputs and the plurality of selected internal signals, the
優先順位の高い順に、入力方向へ深さ方向を優先させてPriority is given to the depth direction in the input direction in descending order of priority.
前記論理回路を辿り、辿った経路を戻る際に、ゲートをWhen following the logic circuit and returning to the route that was followed,
第一の順序付き集合に挿入し、すべての前記複数出力とInsert into the first ordered set, with all the multiple outputs
前記複数の選択した内部信号から辿り終えた後に得られObtained after finishing tracing from the plurality of selected internal signals
る第一の順序付き集合の中に含まれる入力変数の順序The order of the input variables contained in the first ordered set
を、すべての出力に対する入力変数順序とする入力変数Input variables where is the input variable order for all outputs
順序決定併合手段とを備え、前記経路を辿る処理を行うAn order determining and merging unit, and performs processing for tracing the route.
際に、辿ったゲートが探索済みの出力及び選択した内部In this case, the output traced by the traced gate and the selected internal
信号から辿ったゲートであった場合には、第一の順序付If the gate was traced from the signal, the first ordering
き集合におけるゲート挿入位置を前記既に辿ったゲートThe gate that has already been traced the gate insertion position in the set
の直後とし、それ以外の場合には、第一の順序付き集合Immediately after, otherwise the first ordered set
におけるゲート挿入位置を前回挿入したゲートの直後とImmediately after the gate where the gate was inserted in
することを特徴とする2分決定グラフ入力変数順序決定Binary decision graph input variable order determination characterized by
装置。apparatus.
JP03893893A 1993-02-26 1993-02-26 Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method Expired - Fee Related JP3386503B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03893893A JP3386503B2 (en) 1993-02-26 1993-02-26 Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03893893A JP3386503B2 (en) 1993-02-26 1993-02-26 Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method

Publications (2)

Publication Number Publication Date
JPH06251098A JPH06251098A (en) 1994-09-09
JP3386503B2 true JP3386503B2 (en) 2003-03-17

Family

ID=12539172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03893893A Expired - Fee Related JP3386503B2 (en) 1993-02-26 1993-02-26 Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method

Country Status (1)

Country Link
JP (1) JP3386503B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850891B1 (en) * 1999-07-23 2005-02-01 Ernest H. Forman Method and system of converting data and judgements to values or priorities

Also Published As

Publication number Publication date
JPH06251098A (en) 1994-09-09

Similar Documents

Publication Publication Date Title
US6301687B1 (en) Method for verification of combinational circuits using a filtering oriented approach
US6449761B1 (en) Method and apparatus for providing multiple electronic design solutions
US5956257A (en) Automated optimization of hierarchical netlists
US6415430B1 (en) Method and apparatus for SAT solver architecture with very low synthesis and layout overhead
US5787010A (en) Enhanced dynamic programming method for technology mapping of combinational logic circuits
US6405345B1 (en) Updating placement during technology mapping
US20070094204A1 (en) Rule processing method and apparatus providing automatic user input selections
JP2627512B2 (en) Network diagram creation device
Snow et al. A technology-relative computer-aided design system: Abstract representations, transformations, and design tradeoffs
US7134112B1 (en) Incremental routing in integrated circuit design
US6378116B1 (en) Using budgeted required time during technology mapping
US20040111687A1 (en) Method for optimizing a VLSI floor planner using a path based hyper-edge representation
US6510542B1 (en) Method of placing a repeater cell in an electricalcircuit
CN117521576B (en) Computing resource sharing method, device, equipment and medium
Dasgupta et al. Multiobjective heuristic search: An introduction to intelligent search methods for multicriteria optimization
CN112257368A (en) Clock layout method, device, EDA tool and computer readable storage medium
JP3386503B2 (en) Binary decision graph input variable order determining apparatus and binary decision graph input variable order determining method
Septién et al. Heuristics for branch-and-bound global allocation.
Zhang et al. Towards backbone computing: A Greedy-Whitening based approach
US20060282801A1 (en) Enhanced method of optimizing multiplex structures and multiplex control structures in rtl code
JP3648370B2 (en) Satisfaction judgment method and apparatus for sum product type logic
Baneres Logic Synthesis Techniques for High-Speed Circuits
Facchini et al. On the weak index problem for game automata
Cai et al. Grouping-based architecture exploration of system-level design
Chang et al. Removing multiple redundancies in combinational circuits

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080110

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090110

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100110

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110110

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120110

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130110

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees