JPH057747B2 - - Google Patents

Info

Publication number
JPH057747B2
JPH057747B2 JP58074971A JP7497183A JPH057747B2 JP H057747 B2 JPH057747 B2 JP H057747B2 JP 58074971 A JP58074971 A JP 58074971A JP 7497183 A JP7497183 A JP 7497183A JP H057747 B2 JPH057747 B2 JP H057747B2
Authority
JP
Japan
Prior art keywords
polarity
logic
input
boolean algebraic
output
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 - Lifetime
Application number
JP58074971A
Other languages
Japanese (ja)
Other versions
JPS59201143A (en
Inventor
Yukio Ikarya
Masato Morita
Yoshio Akyama
Takao Niiya
Michihiro Hikosaka
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.)
Hitachi Software Engineering Co Ltd
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Microcomputer System Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP58074971A priority Critical patent/JPS59201143A/en
Publication of JPS59201143A publication Critical patent/JPS59201143A/en
Publication of JPH057747B2 publication Critical patent/JPH057747B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は論理回路の自動生成方法に係り、特に
ブール代数式で表現された機能論理を特定テクノ
ロジーの基本素子で電子回路化するのに好適な論
理回路の自動生成方法に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a method for automatically generating logic circuits, and in particular to a method suitable for converting functional logic expressed in Boolean algebra into an electronic circuit using basic elements of a specific technology. This paper relates to a method for automatically generating logic circuits.

〔従来の背景〕[Traditional background]

いわゆる論理回路設計支援システムを利用し
て、ブール(論理)代数式からゲート論理レベル
の論理回路の生成を自動化しようとする試みは古
から行なわれており、その公知例も多い。しかし
ながら、従来のブール代数式から論理回路の生成
を自動化する方式は、人手による設計に比較しゲ
ート数が増大するという欠点があつた。たとえ
ば、IBM社の「局所変換による論理生成」(J.A.
Darniger他、IBM J.RES.DEVELOP.Vol25、No.
4.Jul.'81)では、(1)AND/ORレベルの簡単化、
(2)NAND(NOR)レベルの簡単化、(3)ハードウ
エア・レベルの簡単化と3段階に渡り変換・局所
最適化を試みているが、処理が複雑であり、人手
による設計に比較し0〜15%のゲート増となり、
最適な論理回路の生成ができないという欠点があ
つた。
Attempts have been made for a long time to automate the generation of logic circuits at the gate logic level from Boolean algebraic expressions using so-called logic circuit design support systems, and there are many known examples. However, the conventional method of automating the generation of logic circuits from Boolean algebraic expressions has the disadvantage that the number of gates increases compared to manual design. For example, IBM's "Logic generation by local transformation" (JA
Darniger et al., IBM J.RES.DEVELOP.Vol25, No.
4.Jul.'81), (1) simplification of AND/OR level,
Conversion and local optimization have been attempted in three stages: (2) simplification at the NAND (NOR) level and (3) simplification at the hardware level, but the processing is complex and compared to manual design. Gates will increase by 0-15%,
The drawback was that an optimal logic circuit could not be generated.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、ブール代数式の変数および出
力に極性の明示概念を導入することによつて、ブ
ール代数式の特定のテクノロジーに依存した
NAND、NOR形式に変換することなく、ブール
代数式から直接、ゲートレベルの論理回路を自動
生成することを可能にし、かつ人手による設計並
みの変換性能を有する論理回路の自動生成方法を
提供することにある。
It is an object of the present invention to make Boolean expressions more technology-dependent by introducing an explicit concept of polarity in the variables and outputs of Boolean expressions.
To provide a method for automatically generating logic circuits that enables gate-level logic circuits to be automatically generated directly from Boolean algebraic expressions without converting to NAND or NOR format, and that has conversion performance comparable to that of manual design. be.

〔発明の概要〕[Summary of the invention]

本発明の要点は、機能論理を表すブール代数式
をポーランド記法変換することによつて2入力の
基本素子に対応する2分木構造を作成し、引続き
同一オペレータ群を使用可能な特定テクノロジー
の基本素子のフアンイン条件を考慮してグルーピ
ングすることにより多分木に変換し、次に該特定
テクノロジーで使用可能な基本素子について入出
力極性、フアイン数を素子数の最小化や遅延時間
などの制約条件を考慮して優先順位付けして作成
した部品表に基づいて、前記多分木を後方(根
側)追跡することによつて、特定テクノロジーの
条件を満足する基本素子を選択し、論理回路を生
成するものである。
The key point of the present invention is to create a binary tree structure corresponding to two-input basic elements by converting Boolean algebraic expressions expressing functional logic into Polish notation, and to create basic elements of a specific technology that can continue to use the same operator group. Convert it into a multi-tree by grouping considering fan-in conditions, and then consider constraints such as input/output polarity, minimization of fan-in number, delay time, etc. for basic elements that can be used with the specific technology. A logic circuit is generated by selecting basic elements that satisfy the conditions of a specific technology by tracing the polygon tree backward (root side) based on a parts list created by prioritizing It is.

ここで、特定テクノロジーとは論理機能を実現
する場合のトランジスタや抵抗等の回路部品の構
成方式のことである。即ち、構成方式によつて使
用できる基本素子や電気的特性、設計制約が異な
つてくるLSIには、バイポーラLSIとCMOS−
LSIがあり、それぞれNORゲート(ORゲート+
インバータ)、NANDゲート(ANDゲート+イ
ンバータ)が基本となつて素子が構成されてい
る。与えられた機能論理から特定LSI(作成すべ
きLSI)の電子回路(論理回路)を作成する場
合、特定LSIのテクノロジー(特定テクノロジ
ー)に基づいて準備されている基本素子や設計制
約を使用して電子回路を作成する必要がある。
Here, the specific technology refers to the configuration method of circuit components such as transistors and resistors when realizing logical functions. In other words, bipolar LSI and CMOS LSI have different basic elements, electrical characteristics, and design constraints depending on the configuration method.
There are LSIs, each with a NOR gate (OR gate +
The device is basically composed of a NAND gate (AND gate + inverter) and a NAND gate (AND gate + inverter). When creating an electronic circuit (logic circuit) for a specific LSI (LSI to be created) from a given functional logic, use the basic elements and design constraints prepared based on the technology of the specific LSI (specific technology). It is necessary to create an electronic circuit.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の論理回路の自動生成方法の一実
施例を図面に基づいて説明する。
An embodiment of the method for automatically generating a logic circuit according to the present invention will be described below with reference to the drawings.

第1図は極性の概念を導入した機能論理の記述
方法を示す図である。同図において、1は負極、
2は正極、3は入力変数であり、正極2はボツク
スに直接出入りするように表わし、負極1は丸印
○を介して出入りするように表わす。ポツクス内
では、必ず正論理でブール代数式を記述するもの
とする。
FIG. 1 is a diagram showing a method of describing functional logic that introduces the concept of polarity. In the figure, 1 is a negative electrode,
2 is a positive electrode, and 3 is an input variable. The positive electrode 2 is shown as going in and out of the box directly, and the negative electrode 1 is shown going in and out through a circle. Boolean algebraic expressions must always be written in positive logic within the box.

(1) まず、正論理で記述されたブール代数式をポ
ーランド記法変換により2分木に変換する。こ
の2分木に変換したものを第2図1に示す。
(1) First, a Boolean algebraic expression written in positive logic is converted into a binary tree using Polish notation conversion. This binary tree converted is shown in FIG. 2.1.

(2) 上記(1)で作成した2分木について、連続する
同一オペレータ(AND、OR等)群を、使用可
能な特定テクノロジーのフアイン数以内にグル
ーピングする。これによつて前記第1図1示す
ような2分木を同図2に示すような多分木に変
換する。すなわち、第2図1のノード(分岐
点)5およびノード6を第2図2のノード9の
様に変換する。
(2) Regarding the binary tree created in (1) above, group consecutive identical operators (AND, OR, etc.) within the number of fines of the specific technology that can be used. As a result, a binary tree as shown in FIG. 1 is converted into a multitree as shown in FIG. 2. That is, the nodes (branch points) 5 and 6 in FIG. 2 are converted into nodes 9 in FIG. 2.

(3) 2分木から多分木への変換が終了した後、第
2図2に示す木の根になつているノード8から
後方追跡を行なう。ノード8は、オペレータが
OR、ノードのフアイン数が2、出力極性が正
であるため、この条件を満足する基本素子を予
め準備した第4図に示す部品表から優先順位に
従い選択する。この部品表は、特定のテクノロ
ジーで使用可能な基本素子について入出力極
性、フアイン数を素子数の最小化や遅延時間な
どの制約条件を考慮して優先順位付けしてあら
かじめ作成したものである。ノード8に対し、
選択される素子は具体的には3入力ORと6入
力ORが該当するが、3入力が6入力ORより
選択順位が高いため、3入力ORを選択する。
選択した結果、第2図2のノード8に対応する
部品として第3図1の基本素子11が得られ
る。
(3) After the conversion from a binary tree to a multi-tree is completed, backward tracing is performed from node 8, which is the root of the tree shown in FIG. Node 8 is
OR, since the number of fines of the node is 2 and the output polarity is positive, basic elements satisfying these conditions are selected in accordance with the order of priority from the parts list shown in FIG. 4 prepared in advance. This bill of materials is created in advance by prioritizing the basic elements that can be used with a specific technology, taking into account constraints such as input/output polarity, number of fines, minimization of the number of elements, and delay time. For node 8,
Specifically, the elements to be selected correspond to the 3-input OR and the 6-input OR, but since the 3-input has a higher selection order than the 6-input OR, the 3-input OR is selected.
As a result of the selection, basic element 11 in FIG. 3 is obtained as a component corresponding to node 8 in FIG. 2.

(4) 選択した基本素子11の入力条件をチエツク
し、後方追跡の継続、終了を決定する。第2図
2のノード8の右側へは、直接入力変数Dが入
力されているため、後方追跡は終了するが、入
力変数Dの入力極性が負(第1図のD参照)
で、基本素子11の入力極性が正(第4図の表
参照)と一致しないから、第3図1に示す極正
マツチング用インバータ12を生成し、両者を
一致させて完了する。他方、ノード8の左側へ
は、ノード9の出力が入力されているため、後
方追跡を継続する。この時、ノード9の出力極
性として、ノード8の入力極性(すなわち基本
素子11の入力極性条件)正を伝播させる。
(4) Check the input conditions of the selected basic element 11 and decide whether to continue or end backward tracking. Since the input variable D is directly input to the right side of the node 8 in FIG. 2, backward tracking ends, but the input polarity of the input variable D is negative (see D in FIG. 1).
Since the input polarity of the basic element 11 does not match the positive (see the table in FIG. 4), the polar positive matching inverter 12 shown in FIG. 3 is generated, and the polarity matching is completed by matching the two. On the other hand, since the output of node 9 is input to the left side of node 8, backward tracking is continued. At this time, the positive input polarity of the node 8 (that is, the input polarity condition of the basic element 11) is propagated as the output polarity of the node 9.

(5) ノード9およびノード10について、順次上
記(3)、(4)の処理を行なう。ノード9はオペレー
タがAND、ノードのフアイン数が3、出力極
性が正であるから、第4図に示す部品表により
この条件を満足する基本素子13を選択する。
ノード9の左側へは直接入力変数A、Bが入力
されて、しかも入力変数A、Bの入力極性が負
で基本素子11の入力極性も負であり、両者は
一致するから後方追跡は終了し完了する。ノー
ド9の右側へはノード9の出力が入力されてい
るため、後方追跡を継続する。ノード10はオ
ペレータがNOTでフアイン数が1、出力極性
はノード9の入力極性と同じく負、入力極性は
入力変数Cの入力極性が正であるから、基本素
子14が第4図の部品表から選択される。
(5) The above processes (3) and (4) are performed sequentially for node 9 and node 10. Since the operator of node 9 is AND, the number of fines of the node is 3, and the output polarity is positive, the basic element 13 that satisfies these conditions is selected using the parts list shown in FIG.
The input variables A and B are directly input to the left side of the node 9, and the input polarities of the input variables A and B are negative, and the input polarity of the basic element 11 is also negative, so the backward tracking ends because they match. Complete. Since the output of node 9 is input to the right side of node 9, backward tracking is continued. At node 10, the operator is NOT, the number of fines is 1, the output polarity is negative like the input polarity of node 9, and the input polarity of input variable C is positive, so basic element 14 is determined from the parts list shown in Figure 4. selected.

(6) すべてのノードについて、基本素子の選択が
完了した後、不要インバータの削除を行なう。
第3図1の基本素子13はNAND回路である
ため、入力レベル正の入力変数を反転させる機
能をもつている。このため入力変数Cを反転さ
せるために生成された基本素子14は不要とな
り、この基本素子14を不要インバータとして
削除する。このようにして得た最終の論理回路
を第3図2に示す。
(6) After completing the selection of basic elements for all nodes, delete unnecessary inverters.
Since the basic element 13 in FIG. 3 is a NAND circuit, it has a function of inverting an input variable having a positive input level. Therefore, the basic element 14 generated to invert the input variable C becomes unnecessary, and this basic element 14 is deleted as an unnecessary inverter. The final logic circuit thus obtained is shown in FIG. 3.

第5図は本発明による論理回路の自動生成方法
の処理手順を示すフローチヤートであり、論理設
計支援システム上で実行されるものである。同図
において、符号はフローの各ステツプを示す。
FIG. 5 is a flowchart showing the processing procedure of the method for automatically generating a logic circuit according to the present invention, which is executed on a logic design support system. In the figure, reference numerals indicate each step of the flow.

論理回路を設計しようとする正論理で記述され
たブール代数式を入力する(ステツプ21)。前記
ブール代数式をポーランド記法変換により2分木
に変換する(ステツプ22)。連続する同一オペレ
ータ群を、特定テクノロジーのフアイン数以内に
グルーピングして、多分木に変換する(ステツプ
23)。多分木の根ノードから後方向追跡を行い
(ステツプ24)、部品表を参照して基本素子を選択
し(ステツプ25)、入力変数に到達して(ステツ
プ26)、該当ノードの後方追跡を終了する。全ノ
ードについて基本素子の選択が行なわれたか否か
を判断し(ステツプ27)、もし基本素子の選択さ
れないノードがあつたらステツプ24に戻る。全ノ
ードについて基本素子の選択が終了したら、不要
インバータを削除して(ステツプ28)、目的の論
理回路の生成処理が終了する。
Input the Boolean algebraic expression written in positive logic for which the logic circuit is to be designed (step 21). The Boolean algebraic expression is converted into a binary tree by Polish notation conversion (step 22). Continuous groups of identical operators are grouped within the number of fines of a specific technology and converted into a polygon tree (step
twenty three). Backward tracking is performed from the root node of the tree (step 24), a basic element is selected by referring to the parts list (step 25), an input variable is reached (step 26), and the backward tracking of the corresponding node is completed. It is determined whether basic elements have been selected for all nodes (step 27), and if there is a node for which basic elements have not been selected, the process returns to step 24. When the selection of basic elements for all nodes is completed, unnecessary inverters are deleted (step 28), and the process of generating the target logic circuit is completed.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明に係る論理回路の
自動生成方法はブール代数式を構成する基本的な
電子部品が特定のテクノロジーで限られたもので
あり、この部品を選択・組み合わせて電子的に動
作可能な電子回路とするために、ブール代数式の
出力と入力変数の極性を正または負論理で統一的
に与えると共に、特定テクノロジーの基本素子と
なる部品を部品毎に論理機能と入出力端末の極性
を正または負論理で統一的に表現し、ある優先順
位でこれを参照する部品表を具備し、ブール代数
式をポーランド記法変換により2分木に変換した
後、演算子総合により多分木構造に変換し、前記
ブール代数式の出力極性を鍵に前記部品表から部
品を選択した後、ブール代数の入力変数にたどり
付くまで後方追跡を続け、多分木を部品に写像す
るようにしたので、簡単な処理手順でかつ人手に
よる設計並みの変換性能を有するという優れた効
果を有する。
As explained above, in the method for automatically generating a logic circuit according to the present invention, the basic electronic components constituting a Boolean algebraic expression are limited by a specific technology, and these components are selected and combined to operate electronically. In order to create a possible electronic circuit, the output of the Boolean algebraic expression and the polarity of the input variable are uniformly given as positive or negative logic, and the logic function and polarity of the input/output terminal are determined for each component, which is the basic element of a specific technology. is uniformly expressed using positive or negative logic, has a parts list that refers to it in a certain priority order, converts the Boolean algebraic expression into a binary tree using Polish notation conversion, and then converts it into a multitree structure using operator synthesis. Then, after selecting a component from the parts list using the output polarity of the Boolean algebra expression as a key, backward tracing is continued until the input variable of the Boolean algebra is reached, and the polygon tree is mapped to the component, making the process simple. It has an excellent effect of having conversion performance similar to that of a procedural and manual design.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は極性の概念を導入した機能論理の記述
方法を示す説明図、第2図1,2はブール代数式
の多分木表現法を示す説明図、第3図1,2は基
本素子への変換過程を示す説明図、第4図は部品
表を示す図、第5図は本発明による処理手順を示
すフローチヤート図である。 1……負極、2……正極、3……入力変数、4
〜10……ノード番号、11〜14……基本素
子。
Figure 1 is an explanatory diagram showing a method for describing functional logic that introduces the concept of polarity, Figure 2 1 and 2 are explanatory diagrams showing a multitree representation method for Boolean algebraic expressions, and Figure 3 1 and 2 are diagrams showing how to express functional logic to basic elements. FIG. 4 is an explanatory diagram showing the conversion process, FIG. 4 is a diagram showing a parts list, and FIG. 5 is a flowchart showing the processing procedure according to the present invention. 1...Negative pole, 2...Positive pole, 3...Input variable, 4
~10...Node number, 11-14...Basic element.

Claims (1)

【特許請求の範囲】 1 ブール代数式で表現された機能論理の論理回
路を特定テクノロジーの基本素子を用いて自動生
成する方法であつて、 特定テクノロジーの基本素子となる部品毎に、
その論理機能、フアンイン・フアンアウト数や極
性の入出力条件及び選択優先順位を示す部品表を
具備すると共に、 ブール代数式の出力と変数の極性を正または負
論理で統一的に与えるステツプと、 前記ブール代数式をポーランド記法変換して、
演算子・変数の二分木構造に分解するステツプ
と、 前記分解した二分木の連続する同一演算子群を
特定テクノロジーのフアイン条件に従つて統合し
て、二分木構造を多分木構造に変換するステツプ
と、 前記多分木構造について、前記ブール代数式の
出力極性を鍵にして前記部品表を参照し、論理機
能・出力極性を満足する部品を選択優先順位に従
つて選択し、これで求めた部品の入力極性を次の
部品選択のための出力極性として用い、極性を含
めたブール代数式の入力変数にたどり着くまで順
次後方追跡を続け、多分木の各ノードを部品に写
像して前記ブール代数式の機能論理の論理回路を
生成するステツプと、 よりなることを特徴とする論理回路の自動生成方
法。
[Scope of Claims] 1. A method for automatically generating a functional logic logic circuit expressed in a Boolean algebraic expression using basic elements of a specific technology, which comprises:
It is equipped with a bill of materials showing its logic functions, fan-in/fan-out numbers, polarity input/output conditions, and selection priority, and a step for uniformly providing the output of a Boolean algebraic expression and the polarity of variables with positive or negative logic; Convert Boolean algebraic expressions to Polish notation,
a step of decomposing the binary tree into a binary tree structure of operators and variables, and a step of converting the binary tree structure into a multitree structure by integrating consecutive identical operators in the decomposed binary tree according to the fine conditions of a specific technology. Then, regarding the multitree structure, refer to the parts list using the output polarity of the Boolean algebraic expression as a key, select parts that satisfy the logical function and output polarity according to the selection priority, and then Using the input polarity as the output polarity for the next component selection, sequential backward tracing is continued until the input variable of the Boolean algebraic expression including the polarity is reached, and each node of the polygon tree is mapped to a component to calculate the functional logic of the Boolean algebraic expression. A method for automatically generating a logic circuit, comprising: steps for generating a logic circuit; and a method for automatically generating a logic circuit.
JP58074971A 1983-04-28 1983-04-28 Decision for selection and connection of electronic parts Granted JPS59201143A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58074971A JPS59201143A (en) 1983-04-28 1983-04-28 Decision for selection and connection of electronic parts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58074971A JPS59201143A (en) 1983-04-28 1983-04-28 Decision for selection and connection of electronic parts

Publications (2)

Publication Number Publication Date
JPS59201143A JPS59201143A (en) 1984-11-14
JPH057747B2 true JPH057747B2 (en) 1993-01-29

Family

ID=13562684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58074971A Granted JPS59201143A (en) 1983-04-28 1983-04-28 Decision for selection and connection of electronic parts

Country Status (1)

Country Link
JP (1) JPS59201143A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083819B2 (en) * 1986-06-18 1996-01-17 株式会社日立製作所 Logic circuit manufacturing system
JPH063918B2 (en) * 1986-09-12 1994-01-12 株式会社日立製作所 Integrated wiring system

Also Published As

Publication number Publication date
JPS59201143A (en) 1984-11-14

Similar Documents

Publication Publication Date Title
David et al. An efficient implementation of Boolean functions as self-timed circuits
US5461574A (en) Method of expressing a logic circuit
Unger Tree realizations of iterative circuits
JPS595349A (en) Adder
JPH057747B2 (en)
Pal An algorithm for optimal logic design using multiplexers
Martínez-Peiró et al. A comparison between lattice, cascade and direct form FIR filter structures by using a FPGA bit-serial distributed arithmetic implementation
Kauffman Knot automata
JPS62194578A (en) Production of logic circuit
JPH04112270A (en) Bisecting decision graph simplifying method
Sato et al. Boolean technology mapping for both ECI and CMOS circuits based on permissible functions and binary decision diagrams
JPH05250435A (en) Inverter curtailing method in logic circuit
JP2681968B2 (en) Arithmetic processing unit
EP0413831A1 (en) Method of representing logic circuit
Ginsburg AND-OR-NOT-NAND-NOR LOGIC
JP2518551B2 (en) Multi-input adder circuit
JP3177916B2 (en) Inverter reduction method in logic circuit
JP2560990B2 (en) Logic circuit minimization device
JPH083819B2 (en) Logic circuit manufacturing system
JPH03131976A (en) Production of logical circuit
JPS63237161A (en) Logic simulation method
Ay et al. Design and evaluation of a bipolar tri-state logic family
Rachapalli Design of FIR digital filter using FPGAs
JPH052469A (en) Arithmetic circuit for variable-length word-length
JPH05165918A (en) Generating method for logic circuit