JPH05216956A - Optimizing approach for multistage logic circuit - Google Patents

Optimizing approach for multistage logic circuit

Info

Publication number
JPH05216956A
JPH05216956A JP4019626A JP1962692A JPH05216956A JP H05216956 A JPH05216956 A JP H05216956A JP 4019626 A JP4019626 A JP 4019626A JP 1962692 A JP1962692 A JP 1962692A JP H05216956 A JPH05216956 A JP H05216956A
Authority
JP
Japan
Prior art keywords
logic
logic circuit
output
dichotomizing
gate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4019626A
Other languages
Japanese (ja)
Inventor
Hiroshi Honjo
浩 本庄
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP4019626A priority Critical patent/JPH05216956A/en
Publication of JPH05216956A publication Critical patent/JPH05216956A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently perform the logic synthesization and logic verification of a large-scaled circuit by utilizing a numbering approach optimum for the numbering of an input variable and expressing logic function by means of a dichotomizing determination graph having suppressed number of nodes, in the dichotomizing determination graph for expressing the logic function. CONSTITUTION:When the logic function to be outputted from a multi-output logic circuit is expressed with a common dichotomizing determination graph, the numbering approach utilizing the base separation method efficiently making the common use of the part graph of the dichotomizing determination graph in each output is adopted. Thus, the logic synthesization and logic verification of a large-scaled circuit, which has been considered to be impossible, can be efficiently performed.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は多段論理回路の最適化手
法に関し、特に多段論理回路の合成あるいは検証に際し
て用いられる論理関数の表現方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of optimizing a multi-stage logic circuit, and more particularly to a method of expressing a logic function used when synthesizing or verifying a multi-stage logic circuit.

【0002】[0002]

【従来の技術】順序付け手法の多くは多段論理回路の結
線情報を利用するもので、現在のところこの方法が最も
有力な手法である。従来の手法として、「論理合成環境
での二分決定グラフを用いた論理検証(Logic Verifica
tion using Binary Decision Diagrams in a Logic Syn
thesis Environment)」(In proceedings of the Interna
tional Conference on Computer-Aided Design、 pp6-9、
1988)に発表されたファンインヒューリスティック法が
ある。
2. Description of the Related Art Most of the ordering methods utilize connection information of a multi-stage logic circuit, and this method is the most effective method at present. As a conventional method, “Logic verification using a BDD in a logic synthesis environment (Logic Verifica
tion using Binary Decision Diagrams in a Logic Syn
thesis Environment) '' (In proceedings of the Interna
tional Conference on Computer-Aided Design, pp6-9,
1988) is a fan-in heuristic method.

【0003】ファンインヒューリスティック法について
簡単に説明する。まず、論理回路の外部入力、外部出力
をそれぞれプライマリ入力、プライマリ出力と呼ぶ。ま
た、プライマリ出力のレベルを0とし、その他のゲート
のレベルは次式で定義される。 level(gi)=max(level(gj))+1 ただし、ゲートgjは、ゲートgiのファンアウトである。
また、あるゲートのトランジティブファンインはそのゲ
ートへのパスが存在するゲートの集合である。
The fan-in heuristic method will be briefly described. First, the external input and external output of the logic circuit are called primary input and primary output, respectively. The level of the primary output is 0, and the levels of the other gates are defined by the following equations. level (g i ) = max (level (g j )) + 1 where gate g j is a fanout of gate g i .
A transitive fan-in of a gate is a set of gates that have a path to the gate.

【0004】以下に手法を説明する。まずすべてのゲー
トのレベルとトランジティブファンインを求める。その
際ゲートのファンイン接続している各ゲートのトランジ
ティブファンインに交わりをもたぬように決める。そし
てプライマリ出力からプライマリ入力へつまりレベルの
低い方から高い方へゲートを探索していき、プライマリ
入力の出現する順に高い順序を与える。探索方法は、そ
のゲートのファンイン接続しているゲートの中で上記の
トランジティブファンインの深さが最も大きいゲートを
深さ優先で探索していく。
The method will be described below. First, find the level and transitional fan-in of all gates. At that time, the fan-in of the gate is decided not to have a communion with the transitive fan-in of each connected gate. Then, the gate is searched from the primary output to the primary input, that is, from the lower level to the higher level, and the higher order is given in the order in which the primary input appears. The search method is to search for the gate having the largest depth of the above-mentioned transitional fan-in among the gates connected to the fan-in of the gate with priority on the depth.

【0005】この手法は、次のような観察に基づいてい
る。まず、多段論理回路のゲートと二分決定グラフを相
関させる。図5に示すようにゲートG1の論理関数y1
はa0、b0、c0の情報を必要とするだけだが、ゲート
G2の論理関数y2はa0、b0、c0、a1、b1の情報を
必要とする。そのことから図6の二分決定グラフにおい
ては次のことがいえる。論理関数y2はa1、b1、y1で
表現できるが、y1はa0、b0、c0の情報を必要とす
る。すなわちa1、b1の情報を利用する場合は、a0、
b0、c0の情報を必要とするのである。したがってa
0、b0、c0の順序をa0、b0よりも上位に置いたほう
が効率的だといえる。しかしこの手法は、論理回路のあ
る出力の論理関数を二分決定グラフで表現する際そのノ
ード数を最少にすることだけを目的とし、多出力の論理
回路の出力の論理関数を共有二分決定グラフで表現する
ことを考慮にいれていない。
This technique is based on the following observations. First, the gate of the multi-stage logic circuit and the BDD are correlated. As shown in FIG. 5, the logic function y1 of the gate G1
Requires the information of a0, b0, c0, but the logic function y2 of the gate G2 requires the information of a0, b0, c0, a1, b1. Therefore, the following can be said in the BDD of FIG. The logical function y2 can be represented by a1, b1, and y1, but y1 requires information on a0, b0, and c0. That is, when using the information of a1 and b1, a0,
The information of b0 and c0 is required. Therefore a
It can be said that it is more efficient to place the order of 0, b0, c0 higher than a0, b0. However, this method aims only to minimize the number of nodes when expressing a logical function of a certain output of a logic circuit by a BDD, and shares the logical function of the output of a multi-output logic circuit with a BDD. It does not take into account the expression.

【0006】[0006]

【発明が解決しようとする課題】論理関数を二分決定グ
ラフで表現する時、そのノード数は入力変数の順序付け
に大きく依存する。最適な入力変数の順序を決定する方
法として上述のような手法がある。しかしその手法は論
理回路のある出力の論理関数を二分決定グラフで表現す
る際そのノード数を最少にすることだけを目的とし、多
出力の論理回路の出力の論理関数を共有二分決定グラフ
で表現することを考慮に入れていない。多出力の多段論
理回路の出力を共有二分決定グラフを用いて表現する際
には各出力の論理関数の二分決定グラフの部分グラフを
効率良く共有させなければならない。
When a logical function is represented by a BDD, the number of nodes depends largely on the ordering of input variables. There is a method as described above as a method of determining the optimum order of input variables. However, the method is intended only to minimize the number of nodes when expressing a logical function of a certain output of a logic circuit by a BDD, and express the logical function of the output of a multi-output logic circuit by a shared BDD. Not taking into account what to do. When the output of a multi-output multi-stage logic circuit is expressed by using a shared BDD, it is necessary to efficiently share the subgraphs of the BDD of the logical function of each output.

【0007】そこで、本発明の目的は入力変数の順序付
けに最適な順序付け手法を用いてノード数を低く抑えた
二分決定グラフで論理関数を表現することにより、大規
模回路の論理合成、論理検証を効率的に行うことを可能
にすることにある。
Therefore, an object of the present invention is to perform logic synthesis and logic verification of a large-scale circuit by expressing a logic function with a binary decision graph in which the number of nodes is suppressed to a low level by using an optimal ordering method for ordering input variables. It is to be able to do it efficiently.

【0008】[0008]

【課題を解決するための手段】上述の目的を達成するた
め、本発明は多出力の多段論理回路の出力を共有二分決
定グラフを用いて表現する際の各出力の論理関数の二分
決定グラフの部分グラフを効率良く共有させる手法とし
て台分割法を用いる。台分割法は入力変数を部分集合に
分割して順序付けを行なう手法である。各部分集合に属
する入力変数は同一のゲートの論理関数の集合に影響を
与える。同じ部分集合に属する入力変数に隣接した順序
を与えることと、多くのゲートの論理関数に影響を及ぼ
すような入力変数に低い順序を与えることにより共有で
きる部分グラフを生み出す可能性を高める。それは多く
の出力の論理関数に影響を及ぼすような入力変数によ
り、共有できる部分グラフの論理関数が表現される可能
性が高いということに基づいている。
To achieve the above object, the present invention provides a binary decision graph of a logical function of each output when the output of a multi-output multistage logic circuit is represented by a shared binary decision graph. The trapezoidal division method is used as a method for efficiently sharing subgraphs. The platform division method is a method of dividing an input variable into subsets and performing ordering. The input variables belonging to each subset affect the set of logic functions of the same gate. Giving an adjacency order to input variables that belong to the same subset, and giving a lower order to input variables that affect the logic functions of many gates increases the likelihood of creating a subgraph that can be shared. It is based on the fact that input variables that affect many output logical functions are likely to represent sharable subgraph logical functions.

【0009】[0009]

【作用】本発明の順序付け手法により多段論理回路の出
力の論理関数を表現する共有二分決定グラフのノード数
を最少に抑え、大規模回路の論理合成、論理検証を効率
的に行うことが可能になる。
With the ordering method of the present invention, the number of nodes in the shared BDD representing the logical function of the output of the multi-stage logic circuit can be minimized, and the logic synthesis and logic verification of a large-scale circuit can be efficiently performed. Become.

【0010】[0010]

【実施例】まず、多段論理回路に関していくつかの用語
を導入する。その後、順序付けの手法を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, some terms are introduced regarding a multi-stage logic circuit. After that, the ordering method is shown.

【0011】「台」は、あるゲートの論理関数が依存す
る入力変数の集合である。「部分台」は、台の部分集合
で相互に排他的であり、またある部分台に属するすべて
の入力変数はある台に属する、または属さないである。
A "stand" is a set of input variables on which the logic function of a gate depends. A "partial platform" is a subset of platforms that are mutually exclusive, and all input variables belonging to a certain platform belong or do not belong to a platform.

【0012】以下に図1を参照しながら本発明に係る手
法を説明する。 ステップ1:多段論理回路のすべてのゲートのプライマ
リ入力からのレベルを求める。論理関数の複雑度はプラ
イマリ入力から遠ざかるにつれて増大すると考えられる
からである。プライマリ入力のレベルを0として、その
他のゲートのレベルを次式で定義する。
The method according to the present invention will be described below with reference to FIG. Step 1: Determine the levels from the primary inputs of all gates of the multi-stage logic circuit. This is because it is considered that the complexity of the logic function increases as the distance from the primary input increases. With the level of the primary input set to 0, the levels of the other gates are defined by the following expressions.

【0013】level(gi)=max(level(gj))+1 ただし、ゲートgjは、ゲートgiのファンインである。 ステップ2:与えられたゲートの集合についての台を構
築する。最初は、プライマリ入力から最も遠いゲートの
集合となる。
Level (g i ) = max (level (g j )) + 1 However, the gate g j is a fan-in of the gate g i . Step 2: Build a platform for a given set of gates. The first is the set of gates furthest from the primary input.

【0014】ステップ3:部分台の集合を構築する。Step 3: Build a set of sub-stands.

【0015】ステップ4:部分台を配置する。影響を及
ぼすゲートの個数が多い部分台ほど低い順序に置く。影
響を及ぼすゲートの個数が多い部分台に属する入力変数
ほど、共有される部分グラフを構成する入力変数になる
可能性が高いためである。ここで要素を1個しかもたな
い部分台に属する入力変数の順序は決まる。
Step 4: Arrange the sub stand. Place the parts in order of decreasing number of gates that affect more. This is because an input variable that belongs to a sub stand having a large number of gates that have an influence is more likely to be an input variable that forms a shared subgraph. Here, the order of the input variables belonging to the sub stand having only one element is determined.

【0016】ステップ5:部分台のうち、2個以上の要
素をもつものに対してステップ2以降を適用する。この
とき、新たに台の集合を構築するのに用いるゲートの集
合は1だけプライマリ入力に近いレベルのゲートの集合
である。
Step 5: The step 2 and the subsequent steps are applied to the sub stand having two or more elements. At this time, the set of gates used to newly construct the set of stages is a set of gates whose level is close to the primary input by one.

【0017】ステップ6:全ての部分台の中の順序付け
が終了、すなわち全ての部分台の要素の個数が1個にな
れば全ての入力変数の順序付けが完了する。
Step 6: The ordering of all the input variables is completed when the ordering in all the sub-tables is completed, that is, the number of elements in all the sub-tables is one.

【0018】上記の処理を図2の多段論理回路に適用し
た具体例を次に説明する。まず、ゲートの集合として
{g2,g3}を与える。ステップ2によってゲートg
2,g3の台がそれぞれ{x1,x2,x3},{x
1,x2,x4}のように求まる。次にステップ3によ
り部分台s1はs1={x1,x2},s2={x
3},s3={x4}のように求まる。次にステップ4
において部分台s1,s2,s3に属する入力変数が影
響を及ぼすゲートの個数はそれぞれ2,1,1だから、
部分台の順序はs2,s3,s1となる(s2,s3の
順序は任意)。最終的に入力変数の順序はx3、x4、
x1、x2となり、図3のような二分決定グラフになる
(x1,x2の順序は任意)。
A specific example in which the above processing is applied to the multi-stage logic circuit of FIG. 2 will be described below. First, {g2, g3} is given as a set of gates. Gate g by step 2
The bases of 2 and g3 are {x1, x2, x3} and {x, respectively.
1, x2, x4}. Next, in step 3, the partial platform s1 is s1 = {x1, x2}, s2 = {x
3}, s3 = {x4}. Next step 4
Since the number of gates affected by the input variables belonging to the sub-slabs s1, s2, s3 is 2, 1, 1 respectively,
The order of the sub-stands is s2, s3, s1 (the order of s2, s3 is arbitrary). Finally, the order of the input variables is x3, x4,
x1, x2, and the binary decision graph as shown in FIG. 3 is obtained (the order of x1, x2 is arbitrary).

【0019】同様の多段論理回路に先述のファンイン法
を用いると、入力変数の順序は高い方からx1、x2、
x3、x4となり、図4のような二分決定グラフにな
る。両者を比較すると、図4の方はノード数が6個、図
3の方はノード数が4個であり図3の二分決定グラフの
方が効率良くノードを共有していることがわかる。
When the above-mentioned fan-in method is used for a similar multi-stage logic circuit, the order of the input variables is x1, x2,
x3 and x4 are obtained, and the binary decision graph as shown in FIG. 4 is obtained. Comparing the two, it can be seen that the number of nodes in FIG. 4 is 6 and the number of nodes in FIG. 3 is 4, and the binary decision graph of FIG. 3 efficiently shares the nodes.

【0020】[0020]

【発明の効果】本発明の入力変数の順序付け手法を用い
ることにより多段論理回路の多出力の論理関数を共有二
分決定グラフで表現する際のノード数を少なく抑えるこ
とが可能になる。それにより従来不可能と考えられてい
た大規模回路の論理合成、論理検証を効率的に行うこと
が可能になる。
By using the input variable ordering method of the present invention, it is possible to reduce the number of nodes when expressing a multi-output logic function of a multi-stage logic circuit in a shared BDD. As a result, it becomes possible to efficiently perform logic synthesis and logic verification of a large-scale circuit, which was considered impossible in the past.

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

【図1】本発明に係る入力変数の順序付け方法を説明す
る図である。
FIG. 1 is a diagram illustrating an input variable ordering method according to the present invention.

【図2】多段論理回路の例を示す図である。FIG. 2 is a diagram showing an example of a multi-stage logic circuit.

【図3】本発明の入力変数の順序付けをした二分決定グ
ラフの図である。
FIG. 3 is a diagram of an ordered binary decision graph of the input variables of the present invention.

【図4】従来のファンイン法を用いて入力変数の順序付
けをした二分決定グラフの図である。
FIG. 4 is a diagram of a BDD with input variables ordered using a conventional fan-in method.

【図5】多段論理回路を抽象的に表現した図である。FIG. 5 is an abstract representation of a multi-stage logic circuit.

【図6】図1の回路の出力を二分決定グラフで表現した
図である。
FIG. 6 is a diagram in which the output of the circuit of FIG. 1 is represented by a BDD.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 共有二分決定グラフを用いた多段論理回
路の最適化手法において、 台分割法によって入力変数を部分集合に分割することを
特徴とする多段論理回路の最適化手法。
1. A method for optimizing a multi-stage logic circuit using a shared BDD, wherein an input variable is divided into a subset by a platform division method.
JP4019626A 1992-02-05 1992-02-05 Optimizing approach for multistage logic circuit Pending JPH05216956A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4019626A JPH05216956A (en) 1992-02-05 1992-02-05 Optimizing approach for multistage logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4019626A JPH05216956A (en) 1992-02-05 1992-02-05 Optimizing approach for multistage logic circuit

Publications (1)

Publication Number Publication Date
JPH05216956A true JPH05216956A (en) 1993-08-27

Family

ID=12004411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4019626A Pending JPH05216956A (en) 1992-02-05 1992-02-05 Optimizing approach for multistage logic circuit

Country Status (1)

Country Link
JP (1) JPH05216956A (en)

Similar Documents

Publication Publication Date Title
US5734917A (en) System for producing combination circuit to satisfy prescribed delay time by deleting selected path gate and allowing to perform the permissible function for initial circuit
JP3175322B2 (en) Automatic logic generation method
US5712792A (en) Logic circuit sythesizing method utilizing binary decision diagram explored based upon hierarchy of correlation between input variables
JPH08339291A (en) Selection circuit of maximum value
US6253356B1 (en) System and method for improving logic synthesis in logic circuits
JPH05216956A (en) Optimizing approach for multistage logic circuit
US8661061B2 (en) Data structure, data structure generation method, information processing apparatus, information processing system, and computer-readable storage medium having stored therein information processing program
CN111062180B (en) FPGA wiring method and device
US5880978A (en) Method and apparatus for creating an output vector from an input vector
JPH096821A (en) Composing method for logic circuit, manufacture of semiconductor device, an optimizing method for bisect determination graph
US8136061B2 (en) Method of logic circuit synthesis and design using a dynamic circuit library
US7058915B1 (en) Pin reordering during placement of circuit designs
Marakkalage et al. Fanout-Bounded Logic Synthesis for Emerging Technologies
CN113255257B (en) S box circuit optimization method and system based on process library
JP2853649B2 (en) How to create a logic simulation model
JPH1196203A (en) Method for designing logical circuit
JPH06266795A (en) Delay time improving system
JPH05342302A (en) Multilevel logic optimizing device
JPH06282602A (en) Multistage logic generation method
JP2519336B2 (en) Technology-mapping method
CN117057304A (en) Method for wiring superconducting fast single flux quantum circuit and related product
JPH04124775A (en) Method for generating logic circuit
CN115859884A (en) FPGA (field programmable Gate array) layout and wiring method based on sparse technology
JPH01279372A (en) Production of logic circuit
JP2000067097A (en) Logic circuit synthesizing device and method therefor and medium for recording logic circuit synthesizing program