JPH1166146A - Designing method for logic circuit and cad system for same - Google Patents

Designing method for logic circuit and cad system for same

Info

Publication number
JPH1166146A
JPH1166146A JP10159765A JP15976598A JPH1166146A JP H1166146 A JPH1166146 A JP H1166146A JP 10159765 A JP10159765 A JP 10159765A JP 15976598 A JP15976598 A JP 15976598A JP H1166146 A JPH1166146 A JP H1166146A
Authority
JP
Japan
Prior art keywords
logic
logical
input
variables
variable
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
JP10159765A
Other languages
Japanese (ja)
Inventor
Norimitsu Sako
則光 迫
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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel 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
Priority claimed from US08/965,771 external-priority patent/US6185719B1/en
Application filed by Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP10159765A priority Critical patent/JPH1166146A/en
Publication of JPH1166146A publication Critical patent/JPH1166146A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To design a path-transistor logic circuit with a minimum number of transistors and a minimum number of path stages by connecting the input terminals and control terminal of a multiplexer so that the 1st logic group of a logic expression including high-order variables is outputted from the output terminal of the multiplexer. SOLUTION: A given combination logic expression is converted to optimum form suitably mapped to the logic circuit, and primary mapping is performed to match a logic level. In the logic expression, a 1st logic group including 1st logic functions and at least one high-order variable shared by the 1st logic functions is specified and a multiplexer having input terminals, at least one control terminal and an output terminal is arranged in the logic circuit. Then the 1st logic functions and at least one high-order variable are inputted and the input terminals and control terminal of the multiplexer are so connected that the 1st logic group is outputted from the output terminal of the multiplexer.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、パストランジスタ
を用いた論理回路に係り、特に、1以上のパストランジ
スタと1以上の多入力論理ゲートの組合せを持つ論理回
路に関する。更に、本発明は、パストランジスタ及び多
入力論理ゲートの利点を生かし、少数のトランジスタと
少数のパス段数によって、所望の論理演算を行うための
論理回路を設計する方法に関する。ここでパス段数と
は、論理回路中で信号が通過するパストランジスタ及び
多入力論理ゲートの段数を表わす。本発明は、更に、パ
ストランジスタを用いた、論理演算を効率良く実行可能
な論理回路、及び、そのような論理回路を用いたシステ
ムに関する。本発明は、更に、パストランジスタを含む
論理回路を用いて、論理演算を効率良く実行する方法に
関する。
The present invention relates to a logic circuit using a pass transistor, and more particularly, to a logic circuit having a combination of at least one pass transistor and at least one multi-input logic gate. Further, the present invention relates to a method of designing a logic circuit for performing a desired logic operation by using a small number of transistors and a small number of pass stages by taking advantage of pass transistors and a multi-input logic gate. Here, the number of pass stages indicates the number of stages of a pass transistor and a multi-input logic gate through which a signal passes in a logic circuit. The present invention further relates to a logic circuit using a pass transistor and capable of efficiently executing a logic operation, and a system using such a logic circuit. The present invention further relates to a method for efficiently executing a logical operation using a logic circuit including a pass transistor.

【0002】[0002]

【従来の技術】素子数及び消費電力を低減し、演算速度
を向上するために、いわゆる「パストランジスタ論理回
路」を用いることが知られている。パストランジスタ論
理回路は、スイッチング素子からなるパストランジスタ
を用いている。スイッチング素子の入力端子と出力端子
の間の導通は、制御端子の電圧に従ってオン又はオフさ
れる。各パストランジスタは、入力端子に印加される論
理信号が出力端子に伝達されるか否かが、各スイッチン
グ素子の導通又は非導通状態によって決定されるようス
イッチング素子を接続することによって実現される。一
般に、所望の論理演算を実行するパストランジスタ論理
回路を構成するために、複数のパストランジスタが直列
及び/又は並列に接続される。スイッチング素子として
は、例えば、MOSトランジスタが用いられる。この場
合、各MOSトランジスタのゲート、ソース及びドレイ
ンが、それぞれ制御端子、入力端子及び出力端子に対応
する。n−チャネル又はp−チャネルMOSトランジス
タや、n−チャネルとp−チャネルMOSトランジスタ
の組合せが、パストランジスタとして使用される。n−
チャネル及びp−チャネルMOSトランジスタの組合せ
を用いたパストランジスタは、しばしば、「トランスミ
ッションゲート」又は「トランスファゲート」と呼ばれ
ている。
2. Description of the Related Art It is known to use a so-called "pass transistor logic circuit" in order to reduce the number of elements and power consumption and improve the operation speed. The pass transistor logic circuit uses a pass transistor including a switching element. The conduction between the input terminal and the output terminal of the switching element is turned on or off according to the voltage of the control terminal. Each pass transistor is realized by connecting switching elements such that whether or not a logic signal applied to an input terminal is transmitted to an output terminal is determined by a conduction or non-conduction state of each switching element. Generally, a plurality of pass transistors are connected in series and / or in parallel to configure a pass transistor logic circuit that performs a desired logical operation. As the switching element, for example, a MOS transistor is used. In this case, the gate, source, and drain of each MOS transistor correspond to a control terminal, an input terminal, and an output terminal, respectively. An n-channel or p-channel MOS transistor or a combination of n-channel and p-channel MOS transistors is used as a pass transistor. n-
Pass transistors using a combination of channel and p-channel MOS transistors are often referred to as "transmission gates" or "transfer gates."

【0003】1以上のトランスファゲートと、インバー
タ、多入力NORゲート、多入力NANDゲート等の論
理ゲートの組合せを用いて論理回路を構成することも知
られている。
It is also known to form a logic circuit using a combination of one or more transfer gates and logic gates such as an inverter, a multi-input NOR gate, and a multi-input NAND gate.

【0004】本出願人は、特開平9−93118で、複
数のパストランジスタ論理回路(パストランジスタ論理
演算系統)及び多入力論理回路の組合せによって構成さ
れた複合パストランジスタ論理回路を提案している。
The applicant of the present invention has proposed, in Japanese Patent Application Laid-Open No. 9-93118, a composite pass transistor logic circuit composed of a combination of a plurality of pass transistor logic circuits (pass transistor logic operation system) and a multi-input logic circuit.

【0005】しかしながら、様々なユーザによって要求
される様々な機能が、パストランジスタを含む論理回路
を用いて構成された集積回路を設計する実際的な技術
は、確立されていなかった。例えば、特開平1−216
622に開示された技術においては、それぞれトランス
ファゲートと論理ゲートの組合せからなる論理回路が論
理セルとして作成され、これらの論理セルの組合せによ
って所望のLSIが設計される。しかしながら、エクス
クルーシブOR、エクスクルーシブNOR及び全加算器
のような、いくつかの単純な論理回路は開示されている
ものの、実際のアプリケーションに必要な、様々な論理
回路を設計するための具体的な技術は開示されていなか
った。
However, a practical technique for designing an integrated circuit in which various functions required by various users are constituted by using a logic circuit including a pass transistor has not been established. For example, Japanese Patent Application Laid-Open No. Hei 1-216
In the technology disclosed in 622, a logic circuit composed of a combination of a transfer gate and a logic gate is created as a logic cell, and a desired LSI is designed by the combination of the logic cells. However, while some simple logic circuits are disclosed, such as an exclusive OR, an exclusive NOR, and a full adder, specific techniques for designing various logic circuits required for actual applications are not described. Was not disclosed.

【0006】パストランジスタ論理回路を設計する公知
技術の一つは、BDD(binary decision diagram:2分
決定法)を用いるものである。例えば、変数a、b、c
を含む次の論理式(1)は、BDDでは図1のように表
現することができる。
One of the known techniques for designing a pass transistor logic circuit is to use a BDD (binary decision diagram). For example, variables a, b, c
The following logical expression (1) including the following can be expressed in BDD as shown in FIG.

【0007】[0007]

【数1】 (Equation 1)

【0008】このBDDは、図2に示すようなパストラ
ンジスタ論理回路にマッピングすることができる。ここ
で、論理式を、対応する論理回路に置き換える処理をマ
ッピングと称する。論理式(1)において、
The BDD can be mapped to a pass transistor logic circuit as shown in FIG. Here, the process of replacing a logical expression with a corresponding logical circuit is referred to as mapping. In the logical expression (1),

【外1】 は便宜上エクスクルーシブOR演算を示す。[Outside 1] Indicates an exclusive OR operation for convenience.

【0009】同じ論理式をBDDで表した場合、グラフ
の大きさは、同じ論理式中に含まれる変数の順序によっ
て変化する。例えば図3の論理回路と図5の論理回路は
互いに等価な論理演算を行うものの、BDDで扱う変数
の順序が異なる。図3の論理回路をBDDのグラフで表
現すると、図4の通りとなり、図5の論理回路をBDD
のグラフで表現すると、図6に示す通りとなる。図3の
論理回路及び対応する図4のBDDグラフは、変数の順
序が最適である。これに対して、図5の論理回路及び対
応する図6のBDDグラフは、変数の順序が最悪であ
る。
When the same logical expression is represented by BDD, the size of the graph changes depending on the order of variables included in the same logical expression. For example, the logic circuit in FIG. 3 and the logic circuit in FIG. 5 perform equivalent logical operations, but differ in the order of variables handled by the BDD. The logic circuit of FIG. 3 is represented by a BDD graph as shown in FIG. 4, and the logic circuit of FIG.
This can be expressed as shown in FIG. In the logic circuit of FIG. 3 and the corresponding BDD graph of FIG. 4, the order of the variables is optimal. In contrast, the logic circuit of FIG. 5 and the corresponding BDD graph of FIG. 6 have the worst order of variables.

【0010】ここで論理演算の入力の数、即ち論理式の
変数の数をnとすると、変数の順序は、理論的には最大
で2n 通りとなる。変数がとりうる、このように多数の
順序の中から最適な順序を選択するのは、該最適順序の
選択処理に非常に長い時間がかかるため、実際上、不可
能である。一方、変数の順序を決定するのに必要な処理
時間が限られていると、得られた変数の順序が不十分で
あり、最適な順序から大きくはずれて、不適切なBDD
グラフからマッピングされた論理回路を形成するゲート
数が非現実的に増大してしまう危険がある。
If the number of inputs of the logical operation, that is, the number of variables of the logical expression is n, the order of the variables is theoretically 2 n at maximum. It is practically impossible to select an optimum order from such a large number of orders that variables can take, since the process of selecting the optimum order takes a very long time. On the other hand, if the processing time required to determine the order of the variables is limited, the obtained order of the variables is inadequate, greatly deviating from the optimal order, and an inappropriate BDD
There is a risk that the number of gates forming the logic circuit mapped from the graph may increase unrealistically.

【0011】BDDにおける変数の順序決定について
は、様々な手法が知られている。例えば情報処理学会第
42回(平成3年前期)全国大会における論文集の2J
−5の「共通二分決定グラフの『幅』に着目した変数の
順序づけ手法」(NTT湊真一)(以降、第1従来例と
称する)では、BDDをk番目の入力変数と(k+1)
番目の入力変数との間で2つに切り分けたときに、断面
を通過するエッジの本数を「幅」と定義する。変数を決
定する処理で、上から下へ順に入力変数を選ぶ際に、候
補として残っている入力変数の中で、この「幅」を最小
にするものを選ぶ。この方法では、入力変数の数をnと
し、BDDのノード数をGとすると、O(n2 ・G)程
度の計算時間で入力変数の順序決定処理を行うことがで
きる。ここでO(n2 ・G)は、n2 ・G回の計算に必
要な時間である。
Various methods are known for determining the order of variables in BDD. For example, 2J of a collection of papers at the 42nd Information Processing Society of Japan (early 1991) National Convention
In -5, “Ordering Method of Variables Focusing on“ Width ”of Common Binary Decision Diagram” (Shinichi Minato) (hereinafter referred to as a first conventional example), BDD is defined as a k-th input variable and (k + 1)
The number of edges passing through the cross section when cut into two with the second input variable is defined as “width”. In the process of determining variables, when input variables are selected in order from top to bottom, among input variables remaining as candidates, the one that minimizes this “width” is selected. In this method, assuming that the number of input variables is n and the number of nodes of the BDD is G, the order of input variables can be determined in a calculation time of about O (n 2 · G). Here, O (n 2 · G) is the time required for n 2 · G calculations.

【0012】次に、IEEE 0−7803−3036
−6/95の“Multi-Level Pass-Transistor Logic fo
r Low-Power ULSIs ”(矢野和男ら)(以降、第2従来
例と称する)では、まず同じ論理関数を共有する部分を
元のBDDから抽出し、次にこれを元のBDDと同数の
「葉」を持つ新しいBDDに置き換える。その後、置き
換えたBDDのノードの制御入力に関する論理を作り、
元の論理と同じになるように合わせる。
Next, IEEE 0-7803-3036
-6/95 “Multi-Level Pass-Transistor Logic fo
r Low-Power ULSIs ”(Kazuo Yano et al.) (hereinafter referred to as a second conventional example) first extracts a portion sharing the same logical function from the original BDD, and then extracts the same number of“ Replace with a new BDD with "leaves". Then, create logic about the control input of the replaced BDD node,
Adjust to match the original logic.

【0013】[0013]

【発明が解決しようとする課題】しかしながら前述の第
1従来例では、BDDの構成上、AND及び/又はOR
論理回路がパストランジスタによって直列に接続される
ため、論理回路におけるパストランジスタの段数が大き
くなってしまう。又、入力変数の順序を、実際的な計算
時間内に決定するためには、入力変数の数を数十、ノー
ド数を数万程度に限定する必要がある。更に、上記計算
によって得られた入力変数の順序の解も、最適解には未
だ遠い。
However, in the above-mentioned first conventional example, AND and / or OR are required due to the structure of the BDD.
Since the logic circuits are connected in series by pass transistors, the number of pass transistors in the logic circuit increases. Further, in order to determine the order of input variables within a practical calculation time, it is necessary to limit the number of input variables to tens and the number of nodes to tens of thousands. Furthermore, the solution of the order of the input variables obtained by the above calculation is still far from the optimal solution.

【0014】次に第2従来例は、論理式を、パストラン
ジスタ段数が少ないパストランジスタ論理回路にマッピ
ングすることができるものの、各パストランジスタの制
御入力にバッファを設ける必要があるため、トランジス
タ数は削減されない。又、共通の論理を持つ部分を新し
いBDDで置換する過程での自由度が大きすぎるため、
大規模集積回路をCAD(コンピュータ支援設計)シス
テムで設計する際に用いるには適していない。
Next, in the second conventional example, although the logical expression can be mapped to a pass transistor logic circuit having a small number of pass transistor stages, it is necessary to provide a buffer at the control input of each pass transistor. Not reduced. In addition, since the degree of freedom in the process of replacing the part having the common logic with the new BDD is too large,
It is not suitable for use in designing a large-scale integrated circuit with a CAD (computer-aided design) system.

【0015】更に第1及び第2従来例のいずれにおいて
も、所望の論理回路は、パストランジスタで構成された
複数段のマルチプレクサを含む従来のパストランジスタ
論理回路を用いて構成されている。このため、パストラ
ンジスタと一以上の多入力論理ゲートを共に含む複合パ
ストランジスタ論理回路の設計に用いるには不適当とな
っている。即ち、複合パストランジスタ論理回路を、そ
の利点を生かしつつ効率的に設計するのは不可能であっ
た。そのため、第1又は第2従来例で論理式を最適化し
た後にマッピングした複合パストランジスタ論理回路で
は、論理回路に必要なトランジスタ数が増大してしまっ
たり、パストランジスタの段数が多くなってしまう虞が
ある。
Further, in each of the first and second conventional examples, the desired logic circuit is constituted by using a conventional pass transistor logic circuit including a multi-stage multiplexer constituted by pass transistors. This makes it unsuitable for use in designing complex pass transistor logic circuits that include both pass transistors and one or more multi-input logic gates. That is, it has not been possible to efficiently design a complex pass transistor logic circuit while taking advantage of it. Therefore, in the complex pass transistor logic circuit mapped after optimizing the logic expression in the first or second conventional example, the number of transistors required for the logic circuit may increase or the number of pass transistors may increase. There is.

【0016】本発明は前記従来の問題点を解決するべく
なされたもので、最小限のトランジスタ数及びパス段数
でパストランジスタ論理回路を設計するための設計方法
及びCADシステムを提供することを目的とする。
The present invention has been made to solve the above-mentioned conventional problems, and has as its object to provide a design method and a CAD system for designing a pass transistor logic circuit with a minimum number of transistors and a minimum number of pass stages. I do.

【0017】本発明は、又、様々な論理演算が効率的に
実現されるパストランジスタ論理回路と、このような論
理回路を用いた電子システム、及び、様々な論理演算を
効率的に実行する方法を提供することを目的とする。
The present invention also provides a pass transistor logic circuit in which various logic operations are efficiently realized, an electronic system using such a logic circuit, and a method for efficiently executing various logic operations. The purpose is to provide.

【0018】本発明の1側面によれば、論理回路によっ
て実現されるべき論理を表現した論理式を、パストラン
ジスタが有効に使われる特定の形式の論理回路にマッピ
ングする方法、及び、そのようなマッピング処理を含む
論理回路の設計方法が与えられる。更に、そのような方
法を実行する際に用いるためのCADシステムが与えら
れる。
According to one aspect of the present invention, a method of mapping a logical expression representing a logic to be implemented by a logical circuit to a specific type of logical circuit in which pass transistors are effectively used, and such a method. A method for designing a logic circuit including a mapping process is provided. Further, a CAD system is provided for use in performing such a method.

【0019】本発明の他の側面によれば、パストランジ
スタが有効に使われる論理回路に論理式を容易にマッピ
ングできるように、論理式を最適形に変換する処理を含
む論理回路の設計方法が与えられる。
According to another aspect of the present invention, there is provided a method of designing a logic circuit including a process of converting a logical expression into an optimal form so that the logical expression can be easily mapped to a logical circuit in which pass transistors are effectively used. Given.

【0020】本発明の更に他の側面によれば、論理回路
が少数のトランジスタで構成されるように、パストラン
ジスタを組合せたマルチプレクサと反転論理ゲートから
なる論理回路に、組合せ論理式をマッピングする方法が
提供される。更に、そのような設計方法を実施する際に
用いるCADシステムも与えられる。
According to still another aspect of the present invention, a method of mapping a combinational logic expression to a logic circuit comprising a multiplexer combining pass transistors and an inverting logic gate so that the logic circuit comprises a small number of transistors. Is provided. In addition, a CAD system for use in implementing such a design method is provided.

【0021】本発明の更に他の側面によれば、様々な数
の論理関数を含む積項を、1以上の多入力論理ゲートと
適当な数のマルチプレクサの組合せを含む論理回路に、
少数のトランジスタ及びパス段数になるようにマッピン
グする方法が提供される。更に、そのような方法を実施
する際に用いられるCADシステムも提供される。更
に、様々な数の論理関数を有する積項を含む論理式によ
って表わされた論理演算を実行するための論理回路であ
って、少数のトランジスタ及びパス段数を含む論理回路
が提供される。更に、そのような論理回路を用いた電子
システムも提供される。更に、様々な数の論理関数を有
する積項を含む論理式によって表わされた論理演算を、
効率的に実行するための方法が提供される。
In accordance with yet another aspect of the present invention, a product term including various numbers of logic functions is converted into a logic circuit including a combination of one or more multi-input logic gates and an appropriate number of multiplexers.
A method is provided for mapping to a small number of transistors and pass stages. Further, a CAD system for use in performing such a method is also provided. Further, there is provided a logic circuit for performing a logical operation represented by a logical expression including a product term having various numbers of logical functions, the logic circuit including a small number of transistors and the number of pass stages. Further, an electronic system using such a logic circuit is provided. Furthermore, logical operations represented by logical expressions involving product terms having various numbers of logical functions are:
A method is provided for performing efficiently.

【0022】本発明の他の側面によれば、上位変数を有
する論理グループを含む論理式を、1以上の多入力論理
ゲートと1以上のマルチプレクサの組合せを含む論理回
路において、少数のトランジスタ及びパス段数になるよ
うにマッピングする方法が提供される。ここで上位変数
とは、複数の論理関数において肯定リテラル(x)と否
定リテラル
According to another aspect of the present invention, a logic expression including a logic group having upper variables is used in a logic circuit including a combination of one or more multi-input logic gates and one or more multiplexers. A mapping method is provided so that the number of stages is equal to the number of stages. Here, upper variables are positive literals (x) and negative literals in a plurality of logical functions.

【外2】 が表われる変数のことで、相補変数、あるいは双形変数
とも呼ばれる。更に、そのような方法を実施する際に用
いるCADシステムも提供される。更に、上位変数を有
する論理グループを含む論理式によって表わされる論理
演算を実行するための、1以上の多入力論理ゲートと1
以上のマルチプレクサの組合せを有する論理回路におい
て、少数のトランジスタとパス段数を含む論理回路が提
供される。更に、そのような論理回路を用いた電子シス
テムも提供される。更に、上位変数を有する論理グルー
プを含む論理式によって表わされる論理演算を、1以上
の多入力論理ゲートと1以上のマルチプレクサの組合せ
を有する論理回路を用いて効率的に実行するための方法
が与えられる。
[Outside 2] Are also called complementary variables or dimorphic variables. In addition, a CAD system for use in performing such a method is provided. Further, one or more multi-input logic gates and one or more multi-input logic gates for performing a logical operation represented by a logical expression including a logical group having an upper variable.
In the logic circuit having the above combination of multiplexers, a logic circuit including a small number of transistors and the number of pass stages is provided. Further, an electronic system using such a logic circuit is provided. Further, a method is provided for efficiently executing a logical operation represented by a logical expression including a logical group having a higher variable using a logical circuit having a combination of one or more multi-input logical gates and one or more multiplexers. Can be

【0023】本発明の他の側面によれば、上位変数を有
する論理グループを含む論理式を、2種類の多入力論理
ゲート及び1以上のマルチプレクサの組合せを有する、
少数のトランジスタ及び段数を含む論理回路にマッピン
グする方法が提供される。更に、そのような方法を実施
する際に用いるCADシステムも提供される。更に、上
位変数を有する論理グループを含む論理式によって表わ
される論理演算を実行するための、2種類の多入力論理
ゲートと1以上のマルチプレクサの組合せを有する論理
回路であって、少数のトランジスタとパス段数を含む論
理回路が提供される。更に、そのような論理回路を用い
た電子システムも提供される。更に、2種類の多入力論
理ゲートと1以上のマルチプレクサの組合せを有する論
理回路を用いて、上位変数を有する論理グループを含む
論理式によって表わされる論理演算を効率的に実行する
ための方法が提供される。
According to another aspect of the present invention, a logical expression including a logical group having an upper variable includes a combination of two types of multi-input logical gates and one or more multiplexers.
A method is provided for mapping to a logic circuit including a small number of transistors and stages. In addition, a CAD system for use in performing such a method is provided. Furthermore, a logic circuit having a combination of two types of multi-input logic gates and one or more multiplexers for executing a logic operation represented by a logic expression including a logic group having a higher variable, the logic circuit having a small number of transistors and paths A logic circuit including a number of stages is provided. Further, an electronic system using such a logic circuit is provided. Further, there is provided a method for efficiently executing a logical operation represented by a logical expression including a logical group having upper variables using a logical circuit having a combination of two types of multi-input logical gates and one or more multiplexers. Is done.

【0024】[0024]

【課題を解決するための手段】本発明の1側面によれ
ば、論理式をマッピングするための論理回路の設計方法
であって、論理式中の、第1の複数の論理関数、及び、
該第1の複数の論理関数によって共有された少なくとも
1つの上位変数を含む第1の論理グループを特定するス
テップと、論理回路中に、複数の入力端子と少なくとも
1つの制御端子と出力端子を有するマルチプレクサを配
置するステップ、及び、前記第1の複数の論理関数、及
び、前記少なくとも1つの上位変数を入力し、第1の論
理グループがマルチプレクサの出力端子から出力される
ように、マルチプレクサの入力端子と制御端子を接続す
るステップを含む、論理式のマッピングステップを有す
る論理回路の設計方法が提供される。
According to one aspect of the present invention, there is provided a method for designing a logic circuit for mapping a logic expression, comprising: a first plurality of logic functions in the logic expression;
Identifying a first logic group that includes at least one upper variable shared by the first plurality of logic functions; and having a plurality of input terminals, at least one control terminal, and an output terminal in the logic circuit. Arranging a multiplexer, and inputting the first plurality of logic functions and the at least one upper variable, such that a first logic group is output from an output terminal of the multiplexer; And a control method for designing a logic circuit having a logic expression mapping step including a step of connecting a logic terminal to a control terminal.

【0025】好ましくは、前記特定のステップが、更
に、論理式中の第2の複数の論理関数、及び、該第2の
複数の論理関数によって共有された共通変数を特定し、
前記マッピングステップが、更に、複数の入力端子と出
力端子を有する多入力論理ゲートを論理回路中に配置す
るステップと、前記共通変数と前記第2の複数の論理関
数の和を入力し、第2の論理グループが、多入力論理ゲ
ートの出力端子から出力されるように多入力論理ゲート
の入力端子を接続するステップを含む。
Preferably, the specific step further specifies a second plurality of logical functions in the logical expression and a common variable shared by the second plurality of logical functions,
The mapping step further comprises: arranging a multi-input logic gate having a plurality of input terminals and output terminals in a logic circuit; and inputting a sum of the common variable and the second plurality of logic functions, Connect the input terminals of the multi-input logic gate such that the output of the logic group is output from the output terminal of the multi-input logic gate.

【0026】更に、論理式をマッピングするための論理
回路を設計するCADシステムであって、論理式中の、
第1の複数の論理関数と該第1の複数の論理関数によっ
て共有される少なくとも1つの上位変数を含む第1の論
理グループを特定するための手段と、論理式をマッピン
グするための手段であって、複数の入力端子、少なくと
も1つの制御端子及び出力端子を有するマルチプレクサ
を論理回路中に配置するための手段と、前記第1の複数
の論理関数及び前記少なくとも1つの上位変数を入力
し、第1の論理グループがマルチプレクサの出力端子か
ら出力されるように、マルチプレクサの入力端子及び制
御端子を接続するための手段を含むCADシステムが提
供される。
Furthermore, there is provided a CAD system for designing a logic circuit for mapping a logic expression, wherein
Means for specifying a first logical group including a first plurality of logical functions and at least one upper variable shared by the first plurality of logical functions; and means for mapping a logical expression. Means for arranging a multiplexer having a plurality of input terminals, at least one control terminal and an output terminal in a logic circuit, and inputting the first plurality of logic functions and the at least one upper variable, A CAD system is provided that includes means for connecting an input terminal and a control terminal of a multiplexer such that one logical group is output from an output terminal of the multiplexer.

【0027】更に、論理式をマッピングするための論理
回路の設計方法であって、論理回路中に、複数の入力端
子、少なくとも1つの制御端子及び出力端子を有するマ
ルチプレクサを配置するステップと、第1の複数の論理
関数及び少なくとも1つの上位変数を入力し、前記第1
の複数の論理関数及び該第1の複数の論理関数によって
共有された少なくとも1つの上位変数を含む、論理式の
第1の論理グループが、マルチプレクサの出力端子から
出力されるように、マルチプレクサの入力端子と制御端
子を接続する設計方法が提供される。
Further, there is provided a method for designing a logic circuit for mapping a logic expression, comprising: arranging a multiplexer having a plurality of input terminals, at least one control terminal, and an output terminal in the logic circuit; Inputting a plurality of logic functions and at least one upper variable,
And a first logical group of logical expressions comprising at least one upper variable shared by the first plurality of logical functions is output from an output terminal of the multiplexer. A design method for connecting a terminal and a control terminal is provided.

【0028】少数のトランジスタで、低消費電力で高速
動作可能な高性能の論理回路を得るために、論理式中の
パストランジスタを用いてマッピングするのに適した形
式の論理グループが、パストランジスタを用いてマッピ
ングされるように、与えられた論理式を論理回路にマッ
ピングすることが望ましい。
In order to obtain a high-performance logic circuit that can operate at high speed with low power consumption with a small number of transistors, a logic group of a type suitable for mapping by using pass transistors in a logical expression includes a pass transistor. It is desirable to map a given logical expression to a logic circuit, as mapped using.

【0029】例えば、相補形式の変数aを含む、即ち、
1つの積項が変数aを非反転(正論理)形式で含み、他
方の積項が変数aを反転(負論理)形式で含む積項の和
である論理式
For example, including the variable a in the complementary form,
A logical expression in which one product term contains variable a in non-inverted (positive logic) form and the other product term is the sum of product terms containing variable a in inverted (negative logic) form

【外3】 (ここで、C及びEは任意の論理関数、・はAND演
算、+はOR演算を表わす)によって表わされる形の論
理グループの場合、この論理グループは、出力端子が互
いに接続された2つのパストランジスタにより構成され
た2入力1段マルチプレクサ(以下、「単位マルチプレ
クサ」と称する)を有する論理回路に効率良くマッピン
グされる。詳細には、変数a(変数aに対応する信号)
が、マルチプレクサの制御端子に入力され、変数aを共
有する論理関数C及びE(論理関数C及びEに対応する
信号)が、マルチプレクサの2つの入力端子にそれぞれ
入力され、その結果、論理グループ(論理グループに対
応する信号)が、マルチプレクサの出力端子から出力さ
れる。ここで、上記のような変数(相補変数、あるいは
双形変数)を、「上位変数」と称する。上位変数を含む
論理グループが、上記のようにして、パストランジスタ
で構成されたマルチプレクサにマッピングされると、使
用トランジスタの総数及び消費電力が、同一の論理グル
ープを例えば多入力論理ゲートを用いてマッピングした
場合に比べて低減される。
[Outside 3] (Where C and E are arbitrary logical functions,... Represents an AND operation, and + represents an OR operation), the logical group is composed of two paths whose output terminals are connected to each other. It is efficiently mapped to a logic circuit having a two-input one-stage multiplexer (hereinafter, referred to as a “unit multiplexer”) constituted by transistors. Specifically, a variable a (a signal corresponding to the variable a)
Are input to the control terminal of the multiplexer, and the logical functions C and E (signals corresponding to the logical functions C and E) sharing the variable a are input to the two input terminals of the multiplexer, and as a result, the logical group ( Signal corresponding to the logical group) is output from the output terminal of the multiplexer. Here, the above variables (complementary variables or dimorphic variables) are referred to as “upper variables”. When the logic group including the upper variable is mapped to the multiplexer constituted by the pass transistors as described above, the total number of transistors used and the power consumption are mapped to the same logic group using, for example, a multi-input logic gate. It is reduced as compared with the case of performing.

【0030】上記の論理式において、aのような小文字
は変数は表わし、C及びEのような大文字は論理関数を
表わす。この論理関数は、単一の変数を含むだけの単純
な関数、又は、多数の変数の積や和で表わされる複雑な
関数のいずれでもよい。更に、上記論理式中のa・C及
びaバー・Eのような複数の変数又は論理関数の積によ
って表わされる項は、「積項」と称する。ここで「バ
ー」は否定を表わし、「aバー」はaの否定リテラルを
表わす。C及びEが単純な変数である場合、上記の積項
は、複数の変数を有する単純な積項となる。逆に、積項
の全ての要素が(単純な変数ではなく)論理関数であっ
てもよい。
In the above formula, lowercase letters such as a represent variables, and uppercase letters such as C and E represent logic functions. The logical function may be a simple function including only a single variable or a complex function represented by a product or a sum of many variables. Further, a term represented by a product of a plurality of variables or logic functions such as a · C and a bar · E in the above logical expression is referred to as a “product term”. Here, "bar" represents negation, and "a bar" represents a negation literal of a. If C and E are simple variables, the above product term will be a simple product term with multiple variables. Conversely, all elements of the product term may be logical functions (rather than simple variables).

【0031】他の例として、2つの変数をそれぞれ相補
的に含む積項の和を含む、
As another example, the sum of the product terms each including the two variables complementarily,

【外4】 (ここでC、D、E及びFは任意の論理関数)のような
論理グループ、即ち、各変数が正論理形式又は負論理形
式のいずれかである2つの変数の可能な4つの組合せの
どれか1つを各積項が含むものを考える。この場合、論
理グループは、2つの第1段の単位マルチプレクサの出
力端子が、それぞれ、第2段の単位マルチプレクサの入
力端子に接続された3個の単位マルチプレクサを含む2
段マルチプレクサを使って、論理回路に効率的にマッピ
ングできる。この例では、論理式中の変数a及びbは、
上位変数であり、これらの変数がマルチプレクサの制御
端子に入力される。詳細には、論理関数C、D、E及び
Fが、それぞれ2つの入力端子を有する2つの第1段の
単位マルチプレクサの4つの入力端子に入力され、変数
bが2つの第1段単位マルチプレクサのそれぞれの制御
端子に入力され、変数aが第2段の単位マルチプレクサ
の制御端子に入力されるようマッピングが行われる。上
記例のように、2以上の段数のマルチプレクサを用いて
効率的にマッピングされ得る論理グループの上位変数
を、「多重上位変数」と称する。上記の説明から理解さ
れるように、多重上位変数を含む論理グループは、少数
のトランジスタ及び段数を含む多段マルチプレクサを用
いて、論理回路に効率的にマッピングされる。
[Outside 4] (Where C, D, E and F are any logical functions), i.e., any of the four possible combinations of two variables where each variable is in either positive or negative logic form Consider what each product term contains. In this case, the logical group includes two unit multiplexers in which the output terminals of the two first-stage unit multiplexers are respectively connected to the input terminals of the second-stage unit multiplexer.
A stage multiplexer can be used to efficiently map to a logic circuit. In this example, variables a and b in the logical expression are
These are upper variables, and these variables are input to the control terminal of the multiplexer. In detail, logic functions C, D, E and F are input to four input terminals of two first-stage unit multiplexers each having two input terminals, and a variable b is input to two first-stage unit multiplexers. Mapping is performed such that the variable a is input to each control terminal and the variable a is input to the control terminal of the unit multiplexer in the second stage. An upper variable of a logical group that can be efficiently mapped using two or more stages of multiplexers as in the above example is referred to as a “multiple upper variable”. As can be understood from the above description, a logic group including multiple high-order variables is efficiently mapped to a logic circuit using a multi-stage multiplexer including a small number of transistors and the number of stages.

【0032】[0032]

【外5】 のように、2つの変数の正論理形式及び負論理形式の可
能な4つの組合せの内の3つの組合せの和を有する論理
式によって表わされる論理グループは、2段マルチプレ
クサを用いて効率的にマッピングされる。この場合も、
変数a及びbは、多重上位変数として作用する。
[Outside 5] The logical group represented by the logical expression having the sum of three combinations of the four possible combinations of positive and negative logical forms of two variables is efficiently mapped using a two-stage multiplexer. Is done. Again,
Variables a and b act as multiple upper variables.

【0033】更に、3つ以上の多重上位変数を含む論理
式は、3以上の段数のマルチプレクサを用いてマッピン
グされる。しかしながら、実際には、パストランジスタ
が直列に接続できる数には限界がある。従って、マルチ
プレクサの段数には制限がある。
Further, a logical expression including three or more multiple upper variables is mapped using three or more stages of multiplexers. However, in practice, the number of pass transistors that can be connected in series is limited. Therefore, the number of stages of the multiplexer is limited.

【0034】パストランジスタと多入力論理ゲートを共
に用いて設計される論理回路の場合、論理回路によって
実現される論理式の、多入力論理ゲートを用いてマッピ
ングするのに適した特定の形式の部分をマッピングする
ために、多入力論理ゲートが用いられるのが望ましい。
例えば、複数の変数を含む単純なNAND論理は、多入
力論理ゲートを使って、マッピングするのが好ましい。
複数の積項に共通に含まれる変数(以下、このような変
数を「共通変数」と称する)は、多入力論理ゲートを共
通に用いてマッピングする方が、異なる多入力論理ゲー
トを用いて各積項が個別にマッピングされるときより
も、好ましい。共通の多入力論理ゲートを用いることに
よって、AND又はNAND項の発散が防止される。そ
の結果、論理が、少数のトランジスタで実現される。更
に、共通変数は、多入力論理ゲートに並列的に入力され
るので、論理回路のパス段数も減少される。
In the case of a logic circuit designed using both a pass transistor and a multi-input logic gate, a part of a logical expression realized by the logic circuit in a specific format suitable for mapping using the multi-input logic gate Preferably, a multiple-input logic gate is used to map
For example, a simple NAND logic containing multiple variables is preferably mapped using a multi-input logic gate.
Variables commonly included in a plurality of product terms (hereinafter, such variables are referred to as “common variables”) are mapped using a common multi-input logic gate. It is preferable to when the product terms are individually mapped. By using a common multi-input logic gate, divergence of AND or NAND terms is prevented. As a result, the logic is implemented with a small number of transistors. Further, since the common variables are input in parallel to the multi-input logic gate, the number of pass stages of the logic circuit is also reduced.

【0035】例えば、変数aを共通に含む積項を含む論
理式 a・C+a・D=a・(C+D) で表わされる形式の論理グループの場合、論理関数C及
びDは、共通変数aを共有している。この場合、変数a
がANDゲートの入力端子の1つに入力され、論理関数
C及びDを適切にマッピングすることによって得られ
る、論理関数C及びDの和を、ANDゲートの他方の入
力端子に入力すれば、論理グループが効率的にマッピン
グされる。後述する論理レベル整合が行われる場合、N
ANDゲート又はNORゲートは、共通変数を含む論理
をマッピングするための多入力論理ゲートとして用いら
れる。
For example, in the case of a logical group of the form represented by a logical expression a.C + a.D = a. (C + D) including a product term commonly including the variable a, the logical functions C and D share the common variable a. doing. In this case, the variable a
Is input to one of the input terminals of the AND gate, and the sum of the logical functions C and D obtained by appropriately mapping the logical functions C and D is input to the other input terminal of the AND gate. Groups are mapped efficiently. When the logical level matching described later is performed, N
An AND gate or a NOR gate is used as a multi-input logic gate for mapping logic including a common variable.

【0036】より具体的には、例えば、a・b・c・
d、a・b・c・e、aバー・bバー・cバー・f及び
a・bバー・gが積項として与えられた場合、グループ
化された積項a・b・c・(d+e)中の変数a、b、
c、及び、グループ化された積項bバー・(aバー・c
バー・f+a・g)中の変数bバーが共通変数である。
この場合、a・b・c及び(d+e)が、1つの多入力
論理ゲートの入力端子に入力され、bバー及び(aバー
・cバー・f+a・g)は、もう1つの多入力論理ゲー
トの入力端子に入力される。
More specifically, for example, a.b.c.
If d, a, b, c, e, a, b, c, f and a, b, g are given as product terms, the grouped product terms a, b, c, (d + e ) Variables a, b,
c and the grouped product terms b bar · (a bar · c
The variable b bar in the bar f + ag) is a common variable.
In this case, a, b, c and (d + e) are input to the input terminal of one multi-input logic gate, and b bar and (a bar, c bar, f + a, g) are input to another multi-input logic gate. Input terminal.

【0037】更に、パストランジスタ及び多入力論理ゲ
ートを含む論理回路の設計に際して、上記の2点を同時
に考慮することが、より好ましい。例えば、1以上の上
位変数を含む論理グループを、パストランジスタの組合
せからなるマルチプレクサを使ってマッピングし、1以
上の共通変数を含む論理グループを、多入力論理ゲート
を用いてマッピングすることが好ましい。
Further, when designing a logic circuit including a pass transistor and a multi-input logic gate, it is more preferable to consider the above two points at the same time. For example, it is preferable to map a logic group including one or more upper variables using a multiplexer including a combination of pass transistors, and map a logic group including one or more common variables using a multi-input logic gate.

【0038】実際には、上記マッピング処理は、CPU
及び記憶装置を含むCADシステムを用いて論理回路を
設計する過程で実行される。CADシステムを用いた実
際の動作に際して、マッピング処理はCPUによって実
行され、回路に対応する電子情報が発生され、これが記
憶装置内の適切な場所に蓄えられる。上記の情報は、様
々な処理の後、最終的にマスクデータに変換され、この
マスクデータに従ってマスクが作られる。これらのマス
クを用いて、実際の回路が、半導体集積回路の形で実現
される。CADシステムを使った設計過程において、一
般に、マルチプレクサ及び多入力論理ゲートを用いて論
理グループを回路にマッピングする前に、論理回路によ
って実現されるべき論理式中の上位変数を含む論理グル
ープや、共通変数を含む論理グループが発見(特定)さ
れる。この発見(特定)は、様々な方法で行われる。例
えば、後で詳細に説明するような、論理式を最適化する
処理も、上位変数を含む論理グループや共通変数を含む
論理グループを発見する処理を含む。
Actually, the above-mentioned mapping processing is executed by the CPU.
And in the process of designing a logic circuit using a CAD system including a storage device. In actual operation using the CAD system, the mapping process is executed by the CPU, and electronic information corresponding to the circuit is generated and stored in an appropriate location in the storage device. The above information is finally converted into mask data after various processes, and a mask is created according to the mask data. By using these masks, an actual circuit is realized in the form of a semiconductor integrated circuit. In a design process using a CAD system, generally, before mapping a logic group to a circuit using a multiplexer and a multi-input logic gate, a logic group including an upper variable in a logic expression to be realized by the logic circuit, The logical group containing the variable is found (identified). This discovery (identification) is performed in various ways. For example, a process of optimizing a logical expression, which will be described in detail later, also includes a process of finding a logical group including an upper variable and a logical group including a common variable.

【0039】本発明のもう1つの側面によれば、論理式
をマッピングするための論理回路の設計方法であって、
(a)複数の変数をそれぞれ含む複数の積項を含む、論
理式の少なくとも一部を選択するステップ、(b)その
積項の少なくとも2つに相補的に含まれる少なくとも1
つの上位変数を特定するステップ、及び、(c)この上
位変数で、前記の少なくとも2つの積項をグループ化し
て、少なくとも1つの上位変数と、この上位変数を共有
する少なくとも2つの論理関数を含む論理グループを作
るステップからなる第1の処理を、少なくとも1サイク
ルを含む論理式の最適化ステップと、最適化された論理
式を論理回路にマッピングするステップとを含む設計方
法が提供される。
According to another aspect of the present invention, there is provided a method of designing a logic circuit for mapping a logic expression,
(A) selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables; and (b) at least one complementary to at least two of the product terms.
(C) grouping the at least two product terms with the upper variable and including at least one upper variable and at least two logic functions sharing the upper variable. A first aspect of the present invention provides a design method including: optimizing a logical expression including at least one cycle in a first process including forming a logical group; and mapping the optimized logical expression to a logic circuit.

【0040】好ましくは、前記最適化ステップは、更
に、(a)複数の変数をそれぞれ含む複数の積項を含む
論理式の少なくとも一部を選択するステップ、(b)こ
の複数の積項の少なくとも2つに共通に含まれる少なく
とも1つの共通変数の組を特定するステップ、及び、
(c)前記少なくとも2つの積項をグループ化して、前
記少なくとも1つの共通変数と、この共通変数を共有す
る複数の第2の論理関数を含む第2の論理グループを作
るステップを有する第2の処理を少なくとも1サイクル
含む。
Preferably, the optimizing step further includes the step of: (a) selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables; and (b) at least one of the plurality of product terms. Identifying at least one set of common variables that are commonly included in the two; and
(C) grouping the at least two product terms to form a second logical group including the at least one common variable and a plurality of second logical functions sharing the common variable. The process includes at least one cycle.

【0041】更に、論理式をマッピングするための論理
回路を設計するためのCADシステムであって、(a)
複数の変数をそれぞれ含む複数の積項を含む、論理式の
少なくとも一部を選択するステップ、(b)その積項の
少なくとも2つに相補的に含まれる少なくとも1つの上
位変数を特定するステップ、及び、(c)この上位変数
で、前記の少なくとも2つの積項をグループ化して、少
なくとも1つの上位変数と、この上位変数を共有する少
なくとも2つの論理関数を含む論理グループを作るステ
ップからなる第1の処理を少なくとも1サイクル含む、
論理式の最適化手段と、最適化された論理式を論理回路
にマッピングする手段と、を有するCADシステムが提
供される。
Further, there is provided a CAD system for designing a logic circuit for mapping a logic expression, wherein (a)
Selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables; (b) identifying at least one upper-order variable complementary to at least two of the product terms; And (c) grouping the at least two product terms with the upper variable to form a logical group including at least one upper variable and at least two logical functions sharing the upper variable. 1 at least one cycle,
A CAD system is provided that includes a logic expression optimizing unit and a unit that maps the optimized logical expression to a logic circuit.

【0042】更に、論理式をマッピングするための論理
回路の設計方法であって、(a)複数の変数をそれぞれ
含む複数の積項を含む、論理式の少なくとも一部を選択
するステップ、(b)この複数の積項の少なくとも2つ
に共通に含まれる少なくとも1つの共通変数の組を特定
するステップ、及び、(c)前記少なくとも2つの積項
をグループ化して、前記共通変数と、この共通変数を共
有する複数の論理関数を含む論理グループを作るステッ
プからなる処理を少なくとも1サイクル含む、論理式の
最適化ステップと、最適化された論理式を、マルチプレ
クサを含む論理回路にマッピングするステップと、を含
む設計方法が提供される。
Further, there is provided a method of designing a logic circuit for mapping a logic expression, wherein (a) selecting at least a part of the logic expression including a plurality of product terms each including a plurality of variables, (b) ) Identifying at least one set of common variables that are commonly included in at least two of the plurality of product terms; and (c) grouping the at least two product terms to form the common variable and the common variable. Optimizing a logical expression including at least one cycle of forming a logical group including a plurality of logical functions sharing variables, and mapping the optimized logical expression to a logical circuit including a multiplexer. Are provided.

【0043】更に、論理式をマッピングするための論理
回路を設計するためのCADシステムであって、(a)
複数の変数をそれぞれ含む複数の積項を含む、論理式の
少なくとも一部を選択するステップ、(b)この複数の
積項の少なくとも2つに共通に含まれる少なくとも1つ
の共通変数の組を特定するステップ、及び、(c)前記
少なくとも2つの積項をグループ化して、前記共通変数
と、この共通変数を共有する複数の論理関数を含む論理
グループを作るステップを含む処理を少なくとも1サイ
クル含む、論理式の最適化手段と、最適化された論理式
を、マルチプレクサを含む論理回路にマッピングする手
段と、を有するCADシステムが提供される。
Further, there is provided a CAD system for designing a logic circuit for mapping a logic expression, wherein (a)
Selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables, and (b) identifying at least one set of common variables commonly included in at least two of the plurality of product terms. And at least one cycle comprising: (c) grouping the at least two product terms to form a logical group including the common variable and a plurality of logical functions sharing the common variable. A CAD system is provided that includes a logical expression optimizing unit and a unit that maps the optimized logical expression to a logical circuit including a multiplexer.

【0044】パストランジスタ及び多入力論理ゲートが
有効に用いられた論理回路を設計するためには、マッピ
ングの前に、論理回路によって実行される論理演算を表
わす、与えられた論理式を最適化し、論理回路が、特定
の形で有効に、容易にマッピングされるようにすること
が望ましい。この最適化は、CADシステムによって行
われる。
In order to design a logic circuit in which pass transistors and multiple-input logic gates are effectively used, before mapping, a given logic expression representing a logic operation performed by the logic circuit is optimized. It is desirable that the logic circuit be effectively and easily mapped in a particular manner. This optimization is performed by a CAD system.

【0045】本発明は、マルチプレクサが有効に用いら
れた論理回路に論理式を容易にマッピングできるよう、
1以上の上位変数を含む論理グループを作る技術を提供
する。この技術は、好ましくは、可能であれば、多重上
位変数を含む論理グループを作る。この目的で、論理式
中に含まれる積項中の変数の論理組合せ種類数という概
念を導入する。
The present invention provides a method for easily mapping a logical expression to a logical circuit in which a multiplexer is effectively used.
A technique for creating a logical group including one or more upper variables is provided. The technique preferably creates logical groups that include multiple superior variables, if possible. For this purpose, we introduce the concept of the number of types of logical combinations of variables in product terms included in logical expressions.

【0046】例えば、積項a・b・c、a・bバー・
d、aバー・b・c及びaバー・bバー・fを含む論理
式の場合、2つの変数a及びbが、多重上位変数として
作用する。この式で、変数aとbの組に関係する変数の
論理組合せは、a・b、a・bバー、aバー・b、及び
aバー・bバーである。従って、この例では、変数aと
bの組に関する変数の論理組合せ種類数は4である。変
数a又はbのいずれかと、変数c、d、e、fのいずれ
か1つの間の組合せ種類数は1であり、従って、変数
c、d、e、fは、いずれも、上位変数にはならない。
2つの変数a及びbが多重上位変数として作用する積項
a・b・c、a・bバー・d及びaバー・b・eを含む
論理式の例では、変数a及びbに関する論理組合せはa
・b、a・bバー、及びaバー・bであり、従って、変
数a及びbの組に関する論理組合せ種類数は3である。
For example, the product terms a · b · c, a · b bar ·
In the case of a logical expression including d, a-bar-b-c and a-bar-b-bar-f, two variables a and b act as multiple higher-order variables. In this equation, the logical combinations of the variables related to the set of the variables a and b are ab, abbar, abarb, and abarbbar. Therefore, in this example, the number of types of logical combinations of variables related to the pair of variables a and b is four. The number of types of combinations between any one of the variables a and b and any one of the variables c, d, e, and f is 1. Therefore, each of the variables c, d, e, and f is No.
In the example of a logical expression including product terms a, b, c, a, b, b, d, and a, bar, b, in which two variables a and b act as multiple upper variables, the logical combination for variables a and b is a
B, a · b bar, and a bar · b. Therefore, the number of logical combination types for the set of variables a and b is 3.

【0047】上記の検討から理解されるように、より大
きな論理組合せ種類数を有する変数の組に含まれる変数
が、上位変数である可能性を有する。従って、最大の論
理組合せ種類数を有する1以上の変数の組に含まれる1
以上の変数が、上位変数を特定するための第1の候補で
ある。更に、2番目に大きな組合せ種類数を有する1以
上の変数の組に含まれる1以上の変数が、第2の候補で
ある。
As can be understood from the above discussion, the variables included in the set of variables having a larger number of types of logical combinations have the possibility of being upper variables. Therefore, the one included in the set of one or more variables having the maximum number of logical combination types
The above variables are the first candidates for specifying the upper variables. Further, one or more variables included in the set of one or more variables having the second largest number of combination types are the second candidates.

【0048】論理組合せ種類数は、特定の変数に関して
組合せたときに、考慮中の特定の変数に応じて変わるこ
とがある。例えば、a・b・c・d、a・b・c・e、
aバー・bバー・cバー・f、及びa・bバー・gが積
項として与えられたとき、全ての変数を対等に取り扱え
ば、3つの変数a、b及びcの組は“a、b、c”及び
“aバー、bバー、cバー”である。即ち、論理組合せ
種類数は2である。これに対して、変数aに関する変数
の同じ組の論理組合せは、“a、b、c”、“aバー、
bバー、cバー”及び“a、bバー”である。即ち、論
理組合せ種類数は3である。同様に、変数bに関する組
合せ種類数も3である。一方、変数cに関する組合せは
“a、b、c”及び“aバー、bバー、cバー”であ
る。即ち、組合せ種類数は2である。特定の変数に関し
て論理を組合せるときには、組中に変数の1つを含まな
い組合せも、その組合せが考慮中の変数を含む限り、許
される組合せとみなされる。
The number of logical combination types, when combined for a particular variable, may change depending on the particular variable under consideration. For example, a, b, c, d, a, b, c, e,
When a bar, b bar, c bar, f, and a, b bar, g are given as product terms, if all variables are treated equally, the set of three variables a, b, and c becomes "a, b, c "and" a bar, b bar, c bar ". That is, the number of logical combination types is two. On the other hand, the logical combination of the same set of variables regarding the variable a is “a, b, c”, “a bar,
b bar, c bar "and" a, b bar ", that is, the number of logical combination types is 3. Similarly, the number of combination types for the variable b is 3. On the other hand, the combination for the variable c is" a ". , B, c "and" a bar, b bar, c bar ", that is, the number of combination types is 2. When logic is combined with respect to a specific variable, a combination that does not include one of the variables in the set is included. Is also considered an allowed combination as long as the combination includes the variable under consideration.

【0049】従って、変数の特定の組に対して、特定の
変数に関して組合せることによって組合せ種類数が決定
されると、検討中の変数に応じて論理組合せ種類数が変
化する可能性がある。より大きい組合せ種類数を有する
組に含まれる変数が上位変数の候補として選択される場
合、個々の変数に関する組合せ種類数により、選択が行
われることが好ましい。
Therefore, when the number of combination types is determined by combining a specific set of variables with respect to a specific variable, the number of logical combination types may change according to the variable under consideration. When a variable included in a set having a larger combination type number is selected as a candidate for a higher-order variable, it is preferable that selection be performed based on the combination type number of each variable.

【0050】従って、上記4つの積項をグループ化する
処理において、a及びbが上位変数として選択される
と、論理グループは、
Therefore, in the process of grouping the above four product terms, if a and b are selected as upper variables, the logical group becomes

【外6】 となる。この論理グループは、多重上位変数a、b、及
びこの上位変数を共有する3つの論理関数c・d+c・
e、g及びcバー・fを含む。従って、この論理グルー
プは、2段マルチプレクサを用いて効率的に論理回路に
マッピングされる。
[Outside 6] Becomes This logical group is composed of multiple upper variables a and b and three logical functions cd, d + c,
Including e, g and c-bar-f. Therefore, this logic group is efficiently mapped to the logic circuit using the two-stage multiplexer.

【0051】このような最適化は、積項中の変数から1
以上の上位変数を特定するステップと、選択された上位
変数によって2以上の積項をグループ化して上位変数を
含む論理グループを形成するステップを含み、論理回路
によって実現されるべく与えられた論理式の全部、又
は、特定の部分に対して実行される。更に、最適化処理
は、最適化の度合を増大するために、複数サイクル繰り
返して実行することができる。2回目及びこれに続く最
適化サイクルにおいては、先行する最適化処理の結果に
応じて、特定の部分が選択され、最適化される。
Such optimization is performed by changing the variables in the product term by 1
A logic expression given to be realized by a logic circuit, including a step of specifying the upper variable and a step of grouping two or more product terms by the selected upper variable to form a logical group including the upper variable Is performed on all or a specific part. Further, the optimization process can be repeatedly executed in a plurality of cycles in order to increase the degree of optimization. In the second and subsequent optimization cycles, a specific part is selected and optimized according to the result of the preceding optimization process.

【0052】変数が、より大きな組合せ種類数を有する
変数の組に含まれるか否かによってのみ特定を実行する
と、同値の変数の数が多くなり過ぎる可能性がある。こ
のような場合、大きな組合せ種類数を有する変数の組に
含まれる回数を、変数を上位変数として特定する基準と
して採用することができる。与えられた論理式が、上位
変数を含む論理グループを作る処理を繰り返し実行する
ことによって最適化される場合、このような選択基準の
採用により、より高度の最適化処理を達成する可能性が
高まる。
If the specification is performed only by determining whether the variable is included in a set of variables having a larger number of combinations, the number of variables having the same value may be too large. In such a case, the number of times included in a set of variables having a large number of combination types can be adopted as a criterion for specifying a variable as a higher-order variable. When a given logical expression is optimized by repeatedly performing a process of creating a logical group including a higher-order variable, adoption of such a selection criterion increases the possibility of achieving a higher-level optimization process. .

【0053】本発明の実施形態である組合せ種類法にお
いては、大きな組合せ種類数を有する変数の組に含まれ
る回数を基準にして、上位変数が選択される。
In the combination type method according to the embodiment of the present invention, an upper variable is selected based on the number of times included in a set of variables having a large number of combination types.

【0054】更に、本発明は、多入力論理ゲートを有効
に用いて論理式を回路に容易にマッピングできるよう、
共通変数を含む論理グループを作る技術を提供する。
Further, the present invention provides a method for easily mapping a logical expression to a circuit by effectively using a multi-input logical gate.
A technique for creating a logical group including common variables is provided.

【0055】積項の特定の組に含まれる共通変数を見つ
けるのは容易である。例えば、積項のANDを計算する
ことによって発見される。しかしながら、どの積項が互
いにグループ化されるべきか決定するには、注意深い考
慮が必要である。例えば、論理式が3以上の積項を含む
場合、どの積項をグループ化するかによって共通変数が
異なる恐れがある。例えば、論理式 a・b・c・d+a・b・c・e+a・d・f・g の場合、1番目と2番目の積項がグループ化されると、
変数a、b、cが共通変数となる。一方、1番目と3番
目の積項がグループ化されると、変数a及びdが共通変
数となる。2番目と3番目の積項がグループ化される
と、変数aが共通変数となる。1番目、2番目及び3番
目の積項がグループ化されると、変数aが共通変数とな
る。一般に、同じ数の積項が、異なる方法でグループ化
されるとき、より多くの共通変数を含むグループを採用
することが望ましい。一方、積項が異なる方法でグルー
プ化された結果、各グループが同数の共通変数を有する
ときは、通常、より大きな数の積項を含むグループを選
択することが望ましい。しかしながら、一般的に、共通
変数の数は、互いにグループ化された積項の数が増える
に従って減っていく。
It is easy to find the common variables contained in a particular set of product terms. For example, it is found by calculating the AND of the product terms. However, deciding which product terms should be grouped together requires careful consideration. For example, when a logical expression includes three or more product terms, common variables may differ depending on which product terms are grouped. For example, in the case of the logical expression a · b · c · d + a · b · c · e + a · d · f · g, when the first and second product terms are grouped,
The variables a, b, and c are common variables. On the other hand, when the first and third product terms are grouped, the variables a and d become common variables. When the second and third product terms are grouped, the variable a becomes a common variable. When the first, second, and third product terms are grouped, the variable a becomes a common variable. In general, when the same number of product terms are grouped in different ways, it is desirable to employ a group that includes more common variables. On the other hand, when the product terms are grouped in different ways and each group has the same number of common variables, it is usually desirable to select the group that contains a larger number of product terms. However, in general, the number of common variables decreases as the number of product terms grouped together increases.

【0056】本発明の実施形態においては、1以上の共
通変数を含む論理グループを作ることによって論理式を
最適化する2つの技術、即ち、ボトムアップの共通変数
法とトップダウンの共通変数法が提供される。
In the embodiment of the present invention, two techniques for optimizing a logical expression by creating a logical group including one or more common variables, namely, a bottom-up common variable method and a top-down common variable method, are used. Provided.

【0057】ボトムアップの共通変数法においては、グ
ループがより大きな数の共通変数を含むように、積項
は、それぞれ2つの積項を含むグループにまずグループ
化される。それから、上記1回目のサイクルで特定され
た共通変数が積項とみなされ、各積項中に含まれる共通
変数が特定され、更にグループ化される。従って、この
技術では、処理が繰り返されると、グループ化された積
項の数が増える。
In the bottom-up common variable method, the product terms are first grouped into groups each containing two product terms so that the group contains a larger number of common variables. Then, the common variables specified in the first cycle are regarded as product terms, and the common variables included in each product term are specified and further grouped. Therefore, in this technique, when the processing is repeated, the number of product terms grouped increases.

【0058】一方、トップダウンの共通変数法において
は、積項が、まず、2v 個のグループにグループ化され
る。ここで、vは、論理回路に使用されるパストランジ
スタの許容段数である。例えば、v=2で、32の積項
がある場合、8つの積項の組に対して共通変数が特定さ
れ、これらの積項がグループ化される。この技術におい
ては、従って、より多くの数の積項間の共通変数が、ま
ず特定される。それから、各グループ内で、減少した積
項から更に共通変数を特定することによって、各グルー
プの積項が更に2v 個のグループにグループ化される。
従って、この技術では、処理が繰り返されるに従って、
共通変数の数が増えていく。
On the other hand, in the top-down common variable method, the product terms are first grouped into 2 v groups. Here, v is the allowable number of pass transistors used in the logic circuit. For example, if v = 2 and there are 32 product terms, a common variable is specified for a set of 8 product terms, and these product terms are grouped. In this technique, therefore, common variables between a larger number of product terms are first identified. Then, within each group, the product terms of each group are further grouped into 2 v groups by specifying more common variables from the reduced product terms.
Therefore, in this technique, as the process is repeated,
The number of common variables increases.

【0059】例えば、論理式For example, a logical expression

【外7】 において、1番目及び2番目の積項が互いにグループ化
され、3番目及び4番目の積項が互いにグループ化され
た結果、グループは共通変数a、b、cとbバーを有す
ることになり、式は、
[Outside 7] , The first and second product terms are grouped together and the third and fourth product terms are grouped together such that the group has common variables a, b, c and b bar, ceremony,

【外8】 に変換される。第1の論理グループでは、論理関数(そ
れぞれ単一の変数である)d及びeが、共通変数a、b
及びcを共有する。これに対して、第2の論理グループ
では、論理関数aバー・cバー・f及びa・gが共通変
数bバーを共有する。これらの2つの論理グループのそ
れぞれは、多入力論理ゲートが有利に使用された論理回
路に、効率的にマッピングされる。
[Outside 8] Is converted to In the first logical group, the logical functions d and e, each being a single variable, are the common variables a, b
And c. On the other hand, in the second logical group, the logical functions a bar, c bar, f and a, g share the common variable b bar. Each of these two logic groups is efficiently mapped to a logic circuit in which multiple-input logic gates are advantageously used.

【0060】上位変数を含む論理グループを作る処理、
又は、共通変数を含む論理グループを作る処理のいずれ
かのみを実行することも可能である。しかし、より多く
の利点を得るために、両方の処理を行うことがより望ま
しい。これらの2つの技術が互いに適切に組み合わされ
ると、論理式は、より望ましい形で最適化され、両方の
技術の利点が達成される。即ち、論理回路中に使用され
るトランジスタの総数を減らすと共に、パス段数を減ら
すことによって回路の動作速度を向上することが可能で
ある。上位変数を含む論理グループへの積項のグループ
化は、様々な方法で実行することができ、共通変数を含
む論理グループへの積項のグループ化も、様々な方法で
実行することができる。これらの様々な処理は、様々な
順番で組合せることができる。
Processing for creating a logical group including upper variables,
Alternatively, it is also possible to execute only one of the processes for creating a logical group including a common variable. However, it is more desirable to perform both processes to obtain more benefits. When these two techniques are properly combined with each other, the logical expressions are optimized in a more desirable manner, and the advantages of both techniques are achieved. That is, it is possible to improve the operation speed of the circuit by reducing the total number of transistors used in the logic circuit and reducing the number of pass stages. The grouping of product terms into logical groups that include superior variables can be performed in various ways, and the grouping of product terms into logical groups that include common variables can also be performed in various ways. These various processes can be combined in various orders.

【0061】本発明の一実施形態である共通変数/組合
せ種類法においては、上記の共通変数法と組合せ種類法
が組み合わされる。この技術では、共通変数法に従っ
て、共通変数を含む論理グループがまず作られる。次い
で、上記のグループ化処理で特定された共通変数を積項
とみなし、上位変数を含む論理グループを作るよう、こ
れらの積項に対して組合せ種類法が実行される。共通変
数法と組合せ種類法が組み合わされた本技術において
は、共通変数の発散を防ぐことができる形に積項がまず
グループ化され、それから、上位変数が特定される。こ
れにより、多入力論理ゲートとマルチプレクサの両方を
有効に利用することが可能になる。
In the common variable / combination type method according to one embodiment of the present invention, the above-described common variable method and combination type method are combined. In this technique, a logical group including common variables is first created according to the common variable method. Next, the common variable specified in the above grouping process is regarded as a product term, and a combination type method is executed on these product terms so as to form a logical group including the upper variables. In the present technology in which the common variable method and the combination type method are combined, the product terms are first grouped in a form that can prevent the divergence of the common variables, and then the upper variables are specified. This makes it possible to effectively use both the multi-input logic gate and the multiplexer.

【0062】あるいは、組合せ種類法によるグループ化
がまず実行され、それから、得られたグループ中の論理
関数が、共通変数法に従って更にグループ化される。以
下、組合せ種類/共通変数法と称するこの技術も、最適
化に有用である。この技術は、更に、共通変数法がボト
ムアップ又はトップダウンのいずれで実行されるかによ
って、組合せ種類/ボトムアップ共通変数法と、組合せ
種類/トップダウン共通変数法に分けられる。
Alternatively, grouping by the combination type method is first executed, and then the logical functions in the obtained group are further grouped according to the common variable method. This technique, hereinafter referred to as the combination type / common variable method, is also useful for optimization. This technique is further divided into a combination type / bottom-up common variable method and a combination type / top-down common variable method depending on whether the common variable method is executed bottom-up or top-down.

【0063】組合せ種類法と共通変数法を、例えば1回
ずつ、交互に実施することも好ましい。この方法で最適
化した論理式は、特定の段数のマルチプレクサと多入力
論理ゲートとが交互に配置された、この両者を有効に組
合せた、論理回路にマッピングされる。
It is also preferable to alternately execute the combination type method and the common variable method, for example, once. The logic expression optimized by this method is mapped to a logic circuit in which a multiplexer of a specific number of stages and a multi-input logic gate are alternately arranged, and the two are effectively combined.

【0064】本発明のもう1つの側面によれば、組合せ
論理式を論理回路にマッピングする方法であって、論理
回路を少なくとも3つの連続した正論理、負論理及び正
論理領域に区切るステップと、少なくとも1つの入力端
子及び出力端子を有する第1の非反転論理ゲートを負論
理領域の入力側に配置し、入力端子、少なくとも1つの
制御端子及び出力端子を有するマルチプレクサを負論理
領域に配置し、少なくとも1つの入力端子及び出力端子
を有する第2の非反転論理ゲートを負論理領域の出力側
に配置するステップと、第1の非反転論理ゲートの出力
端子からの出力信号を非反転で入力するか、又は、直接
入力信号を入力するよう、マルチプレクサの入力端子を
接続するステップと、第1の非反転論理ゲートからの出
力信号及び第2の非反転論理ゲートの少なくとも1つの
入力端子に入力される少なくとも1つの入力信号を反転
することによって、論理回路内の論理レベルを整合する
ステップと、を含むマッピング方法が提供される。
According to another aspect of the present invention, there is provided a method for mapping a combinational logic expression to a logic circuit, comprising: dividing the logic circuit into at least three consecutive positive logic, negative logic, and positive logic regions; A first non-inverting logic gate having at least one input terminal and an output terminal is disposed on an input side of the negative logic region; a multiplexer having an input terminal, at least one control terminal and an output terminal is disposed in the negative logic region; Arranging a second non-inverting logic gate having at least one input terminal and an output terminal on the output side of the negative logic region; and inputting a non-inverting output signal from an output terminal of the first non-inverting logic gate. Or connecting the input terminals of the multiplexer to directly input an input signal; and outputting the output signal from the first non-inverting logic gate and the second By inverting the at least one input signal is input to the at least one input terminal of the inverting logic gate, the mapping method comprising the steps of: aligning the logic level of the logic circuit, is provided.

【0065】好ましくは、この方法は、更に、第2の非
反転論理ゲートの少なくとも1つの入力端子の1つを、
マルチプレクサの出力端子からの出力信号を非反転で入
力するように接続して、第2の非反転論理ゲートへの入
力信号の反転が、マルチプレクサの入力端子に入力され
る直接入力信号の反転を含むようにするステップを含
む。
Preferably, the method further comprises the step of connecting one of the at least one input terminal of the second non-inverting logic gate to:
The output signal from the output terminal of the multiplexer is connected so as to be input non-inverted, and the inversion of the input signal to the second non-inverted logic gate includes the inversion of the direct input signal input to the input terminal of the multiplexer. And so on.

【0066】更に、組合せ論理式を論理回路にマッピン
グするためのCADシステムであって、論理回路を少な
くとも3つの連続する正論理、負論理及び正論理領域に
区分する手段と、少なくとも1つの入力端子と出力端子
を有する第1の非反転論理ゲートを負論理領域の入力側
に配置し、入力端子と少なくとも1つの制御端子と出力
端子を有するマルチプレクサを負論理領域に配置し、少
なくとも1つの入力端子と出力端子を有する第2の非反
転論理ゲートを負論理領域の出力側に配置する手段と、
第1の多入力論理ゲートの出力端子からの出力信号を非
反転で入力するか、あるいは、直接入力信号を入力する
ようマルチプレクサの入力端子を接続する手段と、第1
の非反転論理ゲートからの出力信号及び、第2の非反転
論理ゲートの少なくとも1つの入力端子に入力される、
少なくとも1つの入力信号を反転することによって、論
理回路中の論理レベルを整合する手段と、を含むCAD
システムが提供される。
Further, there is provided a CAD system for mapping a combinational logic expression to a logic circuit, comprising: means for dividing the logic circuit into at least three continuous positive logic, negative logic, and positive logic areas; and at least one input terminal. A first non-inverting logic gate having an input terminal, an output terminal, and a multiplexer having an input terminal, at least one control terminal, and an output terminal disposed in the negative logic region; Means for arranging a second non-inverting logic gate having an output terminal on the output side of the negative logic area;
Means for inputting the output signal from the output terminal of the first multi-input logic gate in a non-inverted manner, or connecting the input terminal of the multiplexer so as to directly input the input signal;
And an output signal from the non-inverting logic gate of the first non-inverting logic gate and at least one input terminal of the second non-inverting logic gate,
Means for matching a logic level in the logic circuit by inverting at least one input signal.
A system is provided.

【0067】パストランジスタのみを含む論理回路の場
合、論理レベルの反転は発生しない。従って、この場
合、与えられた論理式は、論理レベルの反転を考慮する
ことなく論理回路にマッピングすることができる。しか
しながら、パストランジスタ論理回路においては、信号
がパストランジスタを通過するに従って論理振幅の減衰
が発生し、この減衰が、直列接続されるパストランジス
タの段数を制限する。その結果、論理振幅を回復するた
めに、インバータ等の回路要素を、所定の段数毎に挿入
し、パストランジスタによって減衰された論理振幅を元
のレベルまで回復する必要がある。インバータは、論理
レベルの反転を引き起こすので、論理レベルの反転を考
慮したマッピングを行う必要がある。論理振幅の減衰を
回復するために、論理レベルの反転を生じないバッファ
のような回路要素を採用することもできる。しかしなが
ら、バッファを使用するとトランジスタの総数が増加す
るので、インバータの方が好ましい。論理回路がパスト
ランジスタと1以上の多入力論理ゲートで構成されてい
る場合、論理振幅の減衰は、多入力論理ゲートによって
回復される。更にこの場合、信号を反転させるNAND
又はNORゲートのような多入力論理ゲートの方が、ト
ランジスタの総数を減らすという観点から、AND又は
ORゲートのような論理レベルの反転を生じないものよ
りも好ましい。従って、マッピングは、論理レベルの反
転を考慮して行われる。
In the case of a logic circuit including only pass transistors, inversion of the logic level does not occur. Therefore, in this case, the given logical expression can be mapped to the logical circuit without considering the inversion of the logical level. However, in a pass transistor logic circuit, as a signal passes through the pass transistor, the logic amplitude is attenuated, and this attenuation limits the number of pass transistors connected in series. As a result, in order to recover the logic amplitude, it is necessary to insert a circuit element such as an inverter for every predetermined number of stages and to recover the logic amplitude attenuated by the pass transistor to the original level. Since the inverter causes the inversion of the logic level, it is necessary to perform the mapping in consideration of the inversion of the logic level. In order to recover the attenuation of the logic amplitude, a circuit element such as a buffer which does not cause the inversion of the logic level can be employed. However, the use of buffers increases the total number of transistors, so inverters are preferred. If the logic circuit is composed of pass transistors and one or more multi-input logic gates, the attenuation of the logic amplitude is restored by the multi-input logic gate. Further, in this case, the NAND for inverting the signal
Alternatively, a multi-input logic gate such as a NOR gate is preferable to a logic that does not cause inversion of a logic level such as an AND or OR gate from the viewpoint of reducing the total number of transistors. Therefore, the mapping is performed in consideration of the inversion of the logic level.

【0068】論理レベルの反転を考慮してマッピングを
行う1つの技術は、まず、論理レベルの反転を考慮する
ことなくマッピングを行い(1次マッピング)、それか
ら論理レベルを整合する(論理レベル整合)ことであ
る。1次マッピングにおいては、与えられた論理式が、
バッファ、ANDゲート又はORゲートのような、論理
レベルの反転を引き起こさない回路要素(以下、このよ
うな種類の要素を「非反転論理ゲート」と称する)を用
いてマッピングする。与えられた論理式の少なくとも主
要部がマッピングされた論理回路を形成した後で、論理
レベルが調整される。この論理レベル整合において、非
反転論理ゲートは、インバータ、NANDゲート、又は
NORゲートのような、論理レベルの反転を生じる回路
要素(以下、このような種類の要素を「反転論理ゲー
ト」と称する)によって置き換えられる。1次マッピン
グ処理においては、反転論理ゲートが使用されていない
ので、論理レベルの反転を考慮する必要はない。従っ
て、与えられた論理式は、単純な処理により短時間でマ
ッピングされる。その後、非反転論理ゲートは論理レベ
ル整合で反転論理ゲートに置き換えられ、その結果、最
終的な論理回路は、少ないトランジスタ数で実現され
る。
One technique for performing mapping in consideration of logic level inversion is to perform mapping without considering logic level inversion (primary mapping), and then to match logic levels (logic level matching). That is. In the primary mapping, the given logical expression is
The mapping is performed using a circuit element that does not cause inversion of the logic level, such as a buffer, an AND gate, or an OR gate (hereinafter, such a type of element is referred to as a “non-inversion logic gate”). The logic level is adjusted after at least the main part of the given logic expression forms a mapped logic circuit. In this logic level matching, a non-inverted logic gate is a circuit element that causes a logic level inversion, such as an inverter, a NAND gate, or a NOR gate (hereinafter, such an element is referred to as an “inverted logic gate”). Is replaced by In the primary mapping process, since the inverted logic gate is not used, it is not necessary to consider the inversion of the logic level. Therefore, the given logical expression is mapped in a short time by simple processing. Thereafter, the non-inverted logic gate is replaced with an inverted logic gate with logic level matching, so that the final logic circuit is realized with a small number of transistors.

【0069】1次マッピングにおいて、非反転論理ゲー
トの出力がマルチプレクサの入力端子に接続されるとき
は、その接続は非反転で行われる。即ち、例えばインバ
ータのような反転論理ゲートを通過することなく接続が
行われる。同様に、マルチプレクサの出力が非反転論理
ゲートの入力端子に接続されるときも、論理レベルの反
転が発生しないように接続が行われる。非反転論理ゲー
トの出力端子からの信号に加えて、変数や定数のような
他の入力信号も、非反転論理ゲートを通過することな
く、マルチプレクサの入力端子に入力される。ここで、
そのような信号を「直接入力信号」と称する。
In the primary mapping, when the output of the non-inverting logic gate is connected to the input terminal of the multiplexer, the connection is made non-inverting. That is, the connection is made without passing through an inverted logic gate such as an inverter. Similarly, when the output of the multiplexer is connected to the input terminal of the non-inverting logic gate, the connection is made so that inversion of the logic level does not occur. In addition to the signal from the output terminal of the non-inverting logic gate, other input signals such as variables and constants are input to the input terminal of the multiplexer without passing through the non-inverting logic gate. here,
Such a signal is called a "direct input signal".

【0070】論理レベル整合において、1次マッピング
により得られた論理回路は、非反転論理ゲートのところ
で分割され、正論理領域と負論理領域が交互に形成され
る。この処理は、まず正論理領域と負論理領域を交互に
形成し、それから非反転論理ゲートを隣接する正論理領
域と負論理領域の間に配置し、マルチプレクサを各正論
理及び負論理領域内に配置して、与えられた論理式をそ
の中にマッピングすることにより行ってもよい。一番単
純な場合、例えば、3つの連続した正論理、負論理及び
正論理領域が形成され、それから非反転論理ゲートが負
論理領域の入力側及び出力側に配置され、マルチプレク
サが負論理領域内に配置される。更に、負論理領域の入
力側に配置された非反転論理ゲートから出力される信号
が反転され、負論理領域の出力側に配置された非反転論
理ゲートに入力される信号が反転される。
In the logic level matching, the logic circuit obtained by the primary mapping is divided at the non-inverting logic gate, and the positive logic area and the negative logic area are formed alternately. This process involves first forming a positive logic region and a negative logic region alternately, then placing a non-inverting logic gate between the adjacent positive and negative logic regions and placing a multiplexer in each of the positive and negative logic regions. This may be done by arranging and mapping a given logical expression into it. In the simplest case, for example, three consecutive positive logic, negative logic and positive logic regions are formed, then non-inverting logic gates are placed on the input and output sides of the negative logic region, and the multiplexer is placed in the negative logic region. Placed in Further, the signal output from the non-inverting logic gate arranged on the input side of the negative logic area is inverted, and the signal input to the non-inverting logic gate arranged on the output side of the negative logic area is inverted.

【0071】ここで、「反転信号」の処理は、CADシ
ステム上で実行される処理を指しており、回路中に実際
にインバータを挿入する処理は指していない。このよう
に、非反転論理ゲートが反転論理ゲートによって置き換
えられる。上記の処理は、インバータが一時的に回路中
に挿入され、その後、非反転論理ゲートと1以上のイン
バータの各組が、より少数のトランジスタを含む等価な
反転論理ゲートによって置き換えられる処理と等価であ
る。詳細には、負論理領域の入力側のAND及びORゲ
ートが、それぞれNAND及びNORゲートで置き換え
られ、負論理領域の出力側のAND及びORゲートがゼ
ロANDゲート(=NORゲート)及びゼロORゲート
(=NANDゲート)によって置き換えられる。入力及
び出力側のバッファは、全てインバータによって置き換
えられる。更に、負論理領域のマルチプレクサの入力端
子に直接入力される信号も反転される。従って、これら
の信号は、マルチプレクサを介して、負論理領域の出力
側の論理ゲートの入力端子に伝達される。その結果、マ
ルチプレクサを介して伝達され、負論理領域の出力側の
論理ゲートに入力される信号も反転されていることにな
る。
Here, the processing of the "inverted signal" refers to the processing executed on the CAD system, and does not refer to the processing of actually inserting an inverter in the circuit. Thus, the non-inverted logic gate is replaced by the inverted logic gate. The above process is equivalent to a process in which an inverter is temporarily inserted into a circuit, and then each set of non-inverting logic gates and one or more inverters is replaced by an equivalent inversion logic gate containing fewer transistors. is there. Specifically, the AND and OR gates on the input side of the negative logic area are replaced with NAND and NOR gates, respectively, and the AND and OR gates on the output side of the negative logic area are replaced with zero AND gate (= NOR gate) and zero OR gate. (= NAND gate). The input and output buffers are all replaced by inverters. Further, a signal directly input to the input terminal of the multiplexer in the negative logic region is also inverted. Therefore, these signals are transmitted to the input terminal of the logic gate on the output side of the negative logic area via the multiplexer. As a result, the signal transmitted through the multiplexer and input to the logic gate on the output side of the negative logic area is also inverted.

【0072】実際には、与えられた論理関数が論理回路
に直接マッピングされると、得られる論理回路では、高
効率及び高性能(トランジスタ数が少なく、消費電力が
低く、動作速度が速い)は必ずしも達成されない。この
ような問題を避けるべく、与えられた論理式をマッピン
グの前に最適化して、論理式が論理回路に非常に効率良
くマッピングされるようにすることが望ましい。即ち、
図7に示したように、次のように論理回路を設計するこ
とが望ましい。まず、図7のステップS12で、与えら
れた論理式を最適化する。次いで、ステップS14で、
最適化された論理式を論理回路に1次マッピングする。
最終的に、ステップS16で、論理レベルを調整する。
In practice, when a given logic function is directly mapped to a logic circuit, the resulting logic circuit has high efficiency and high performance (small number of transistors, low power consumption, and high operation speed). Not always achieved. In order to avoid such problems, it is desirable to optimize a given logical expression before mapping so that the logical expression is mapped to the logic circuit very efficiently. That is,
As shown in FIG. 7, it is desirable to design a logic circuit as follows. First, in step S12 of FIG. 7, a given logical expression is optimized. Next, in step S14,
The optimized logical expression is primarily mapped to a logical circuit.
Finally, in step S16, the logic level is adjusted.

【0073】1次マッピング処理は、マッピングが論理
式中の最下位グループから最上位グループに向けて行わ
れるか、又は、最上位グループから最下位グループに向
けて行われるように実行することができる。ここで、
「最上位グループ」とは、論理式の値に最も強い影響を
持つグループを指し、「最下位グループ」とは、最も弱
い影響を持つグループを指す。最上位グループは論理回
路の出力に一番近いところにマッピングされ、最下位グ
ループは論理回路の入力側に一番近いところにマッピン
グされる。これは、マッピングが、論理回路の入力側か
ら出力側へ、又は、出力側から入力側へ行われることを
意味する。マッピングをこのような組織的な順番で行う
ためには、マッピングされる論理式が、少なくともその
どこかの部分で階層的な構成を有する必要がある。例え
ば、後で詳細に説明するように、組合せ種類法、共通変
数法、及び、共通変数/組合せ種類法においては、与え
られた論理式中の積項を、上位変数を含む論理グループ
を作るようにグループ化する処理、及び、論理式中の積
項を、共通変数を含む論理グループを作るようにグルー
プ化する処理のいずれか一方又は両者が、繰り返し行わ
れ、これにより、論理式が階層構造を持つように最適化
される。
The primary mapping process can be executed such that the mapping is performed from the lowest group to the highest group in the logical expression or from the highest group to the lowest group. . here,
The “top group” refers to a group having the strongest influence on the value of the logical expression, and the “bottom group” refers to a group having the weakest influence. The highest group is mapped closest to the output of the logic circuit, and the lowest group is mapped closest to the input of the logic circuit. This means that the mapping is performed from the input side of the logic circuit to the output side or from the output side to the input side. In order to perform mapping in such an organized order, it is necessary that the logical expression to be mapped has a hierarchical structure at least at some point. For example, as will be described in detail later, in the combination type method, the common variable method, and the common variable / combination type method, a product term in a given logical expression is formed into a logical group including a high-order variable. Either or both of the processing of grouping the product terms in the logical expression and the processing of grouping the product terms in the logical expression so as to form a logical group including a common variable are repeatedly performed, whereby the logical expression has a hierarchical structure. Optimized to have

【0074】反転論理ゲートにおける論理レベルの反転
を考慮して論理式をマッピングするもう1つの方法は、
マッピング処理の最初から論理レベルの反転を考慮し
て、マッピング過程で同時に論理レベル整合を行う方法
である。この方法の利点は、反転論理ゲートを含む論理
回路が、論理レベル整合を1次マッピング処理の後で行
う方法よりも少数の処理ステップ数で形成される点であ
る。
Another method of mapping a logical expression taking into account the inversion of the logic level in the inverting logic gate is as follows:
This is a method in which logic level matching is performed simultaneously during the mapping process, taking into account the inversion of the logic level from the beginning of the mapping process. An advantage of this method is that a logic circuit including inverted logic gates is formed with a smaller number of processing steps than a method in which logic level matching is performed after the primary mapping process.

【0075】この場合も、マッピング処理は、論理レベ
ル整合が同時に行われる点を除き、1次マッピングの後
で論理レベル整合が行われる場合と同じである。
Also in this case, the mapping process is the same as the case where the logical level matching is performed after the primary mapping, except that the logical level matching is performed simultaneously.

【0076】詳細には、正論理領域及び負論理領域が交
互に配置され、反転論理ゲートが各正論理領域と負論理
領域の境界に配置されるよう、回路を論理ゲートで分割
する。例えば、ANDゲートが、負論理領域の入力側で
共通変数を含む論理グループをマッピングするために必
要なときは、そこにANDゲートの代わりにNANDゲ
ートを配置し、出力信号を反転する。一方、ANDゲー
トが負論理領域の出力側に必要なときは、そこにAND
ゲートの代わりにゼロANDゲート(=NORゲート)
を配置する。ORゲートが負論理領域の入力側に必要な
ときは、ORゲートの代わりにNORゲートを採用す
る。ORゲートが負論理領域の出力側に必要なときは、
そこにORゲートの代わりにNANDゲートを配置す
る。直接入力信号を負論理領域に入力する場合には、信
号を反転する。
More specifically, the circuit is divided by logic gates such that positive logic areas and negative logic areas are alternately arranged, and inverted logic gates are arranged at boundaries between the respective positive logic areas and negative logic areas. For example, when an AND gate is needed to map a logic group containing a common variable at the input side of the negative logic area, a NAND gate is placed there instead of the AND gate and the output signal is inverted. On the other hand, when an AND gate is required on the output side of the negative logic area, the AND gate is provided there.
Zero AND gate (= NOR gate) instead of gate
Place. When an OR gate is required on the input side of the negative logic area, a NOR gate is employed instead of the OR gate. When an OR gate is required at the output of the negative logic area,
There, a NAND gate is arranged instead of the OR gate. When the input signal is directly input to the negative logic area, the signal is inverted.

【0077】本発明の実施形態によるトップダウンのマ
ッピング方法では、反転論理ゲートにおける論理レベル
反転を考慮して、階層構造を有する論理式が最上位グル
ープから最下位グループへマッピングされる。詳細に
は、実現すべく与えられた論理式に応じて論理回路の最
終段が決定される。論理が正論理形式で表わされていれ
ば、回路の最終段を正論理領域に作り、一方、論理が負
論理形式で表わされていれば、回路の最終段を負論理領
域に作る。それから、論理回路の出力側から入力側へマ
ッピングする際に、反転論理ゲートが回路中に配置され
る毎に、正論理領域と負論理領域が交互に形成される。
最上位グループをマッピングするときに、この最上位グ
ループが1以上の上位変数を共有する論理関数のみを有
していれば、出力側にインバータを有するマルチプレク
サを論理回路の出力に配置する。最上位グループが1以
上の共通変数を含む1つの論理関数のみを含むときは、
論理回路の出力が正論理形式あれば、NORゲートを論
理回路の出力に配置し、論理回路の出力が負論理形式で
あれば、NANDゲートを配置する。最上位グループが
共通変数を有しない1つの論理関数のみを含むときは、
インバータを論理回路の出力に配置する。最上位グルー
プが独立した複数の下位の論理グループを含むときは、
最終出力が正論理形式であれば論理回路の出力側にNA
NDゲートを配置し、最終出力が負論理形式であればN
ORゲートを配置する。
In the top-down mapping method according to the embodiment of the present invention, a logical expression having a hierarchical structure is mapped from the highest order group to the lowest order group in consideration of logic level inversion in an inverted logic gate. Specifically, the final stage of the logic circuit is determined according to a given logical expression to be realized. If the logic is expressed in a positive logic format, the last stage of the circuit is made in a positive logic region, while if the logic is expressed in a negative logic format, the last stage of the circuit is made in a negative logic region. Then, when mapping from the output side to the input side of the logic circuit, every time an inverted logic gate is arranged in the circuit, a positive logic area and a negative logic area are alternately formed.
When mapping the highest-order group, if this highest-order group has only a logical function sharing one or more higher-order variables, a multiplexer having an inverter on the output side is arranged at the output of the logic circuit. When the top-level group contains only one logical function containing one or more common variables,
If the output of the logic circuit is of a positive logic type, a NOR gate is arranged at the output of the logic circuit, and if the output of the logic circuit is of a negative logic type, a NAND gate is arranged. If the top-level group contains only one logical function with no common variables,
An inverter is placed at the output of the logic circuit. When the top-level group contains multiple independent lower-level logical groups,
If the final output is in positive logic format, NA
An ND gate is arranged, and if the final output is a negative logic type, N
An OR gate is arranged.

【0078】本発明のもう1つの側面によれば、n個と
m個(m>n)の論理関数を含む第1及び第2の積項を
有する論理式を論理回路にマッピングする方法であっ
て、少なくともn個の入力端子と出力端子を有する第1
の多入力論理ゲートを配置するステップと、該第1の多
入力論理ゲートの入力端子を、第1の積項の論理関数が
直接入力されて、第1の積項が第1の多入力論理ゲート
の出力端子から出力されるように、接続するステップ
と、m個より少ない入力端子と出力端子を有する第2の
多入力論理ゲート、及び、第1の入力端子、定数を入力
するための第2の入力端子、制御端子及び出力端子を有
する単位マルチプレクサを配置するステップと、単位マ
ルチプレクサの第1の入力端子と制御端子を、第2の積
項の少なくとも2つの論理関数を入力するように接続す
るステップと、第2の多入力論理ゲートの入力端子を、
第2の積項が第2の多入力論理ゲートの出力端子から出
力されるように、前記少なくとも2つの論理関数を単位
マルチプレクサの出力端子を通して入力することによっ
て、第2の積項の論理関数を入力するように接続するス
テップと、を有するマッピング方法が提供される。
According to another aspect of the present invention, there is provided a method of mapping a logical expression having first and second product terms including n and m (m> n) logical functions to a logical circuit. A first having at least n input terminals and output terminals
Arranging a multi-input logic gate of the first multi-input logic gate, and inputting a logic function of a first product term directly to an input terminal of the first multi-input logic gate so that the first product term is a first multi-input logic. Connecting to output from the output terminal of the gate; a second multi-input logic gate having less than m input and output terminals; and a first input terminal, a first input terminal for inputting a constant. Arranging a unit multiplexer having two input terminals, a control terminal, and an output terminal; and connecting the first input terminal and the control terminal of the unit multiplexer to input at least two logical functions of a second product term. And inputting the input terminal of the second multi-input logic gate,
Inputting the at least two logic functions through the output terminal of the unit multiplexer such that the second product term is output from the output terminal of the second multi-input logic gate, thereby changing the logic function of the second product term. Connecting to input.

【0079】更に、n個及びm個(m>n)の論理関数
を含む第1及び第2の積項を有する論理式を論理回路に
マッピングするためのCADシステムであって、少なく
ともn個の入力端子と出力端子を有する第1の多入力論
理ゲートを配置する手段と、第1の積項の論理関数が直
接入力されて、第1の積項が第1の多入力論理ゲートの
出力端子から出力されるように、第1の多入力論理ゲー
トの入力端子を接続する手段と、m個より少ない入力端
子と出力端子を有する第2の多入力論理ゲート、及び、
第1の入力端子、定数を入力するための第2の入力端
子、制御端子及び出力端子を有する第1の単位マルチプ
レクサを配置する手段と、単位マルチプレクサの第1の
入力端子と制御端子を、第2の積項の少なくとも2つの
論理関数を入力するように接続する手段と、第2の多入
力論理ゲートの入力端子を、第2の積項が第2の多入力
論理ゲートの出力端子から出力されるように、前記少な
くとも2つの論理関数を単位マルチプレクサの出力端子
を通して入力することによって、第2の積項の論理関数
を入力するように接続する手段と、を有するCADシス
テムが提供される。
A CAD system for mapping a logical expression having first and second product terms including n and m (m> n) logical functions to a logic circuit, wherein at least n Means for arranging a first multi-input logic gate having an input terminal and an output terminal, wherein a logic function of a first product term is directly input, and the first product term is an output terminal of the first multi-input logic gate Means for connecting the input terminals of the first multi-input logic gate as output from the second multi-input logic gate having less than m input and output terminals; and
Means for arranging a first unit multiplexer having a first input terminal, a second input terminal for inputting a constant, a control terminal, and an output terminal; and a first input terminal and a control terminal of the unit multiplexer. Means for inputting at least two logic functions of the product term of two, and an input terminal of the second multi-input logic gate, wherein the second product term is output from an output terminal of the second multi-input logic gate. Means for inputting the at least two logic functions through an output terminal of a unit multiplexer to connect to input a logic function of a second product term.

【0080】更に、n個とm個(m>n)の論理関数を
含む第1及び第2の積項を有する論理式によって表わさ
れた論理演算を実行するための論理回路であって、少な
くともn個の入力端子と出力端子を有し、第1の積項の
論理関数を入力端子に直接入力することによって第1の
積項を出力端子から出力する第1の多入力論理ゲート
と、m個よりも少ない入力端子と出力端子を有する第2
の多入力論理ゲートと、第1の入力端子、定数を入力す
るための第2の入力端子、制御端子及び第2の多入力論
理ゲートの入力端子の1つに接続された出力端子を有
し、第2の積項の少なくとも2つの論理関数を、第1の
入力端子及び制御端子を通して入力することによって、
第2の積項の論理関数を第2の多入力論理ゲートの入力
端子に入力し、第2の積項が第2の多入力論理ゲートの
出力端子から出力されるようにする単位マルチプレクサ
と、を有する論理回路が提供される。
A logic circuit for executing a logical operation represented by a logical expression having first and second product terms including n and m (m> n) logical functions, A first multi-input logic gate having at least n input terminals and an output terminal, and outputting the first product term from the output terminal by directly inputting a logic function of the first product term to the input terminal; a second having less than m input and output terminals
And a first input terminal, a second input terminal for inputting a constant, a control terminal, and an output terminal connected to one of the input terminals of the second multi-input logic gate. , Inputting at least two logic functions of the second product term through a first input terminal and a control terminal,
A unit multiplexer for inputting a logic function of the second product term to an input terminal of the second multi-input logic gate and outputting the second product term from an output terminal of the second multi-input logic gate; Is provided.

【0081】更に、n個とm個(m>n)の論理関数を
含む第1及び第2の積項を有する論理式によって表わさ
れた論理演算を実行するための論理回路を含む電子シス
テムであって、少なくともn個の入力端子と出力端子を
有し、第1の積項の論理関数を入力端子に直接入力する
ことによって第1の積項を出力端子から出力する第1の
多入力論理ゲートと、m個よりも少ない入力端子と出力
端子を有する第2の多入力論理ゲートと、第1の入力端
子、定数を入力するための第2の入力端子、制御端子及
び第2の多入力論理ゲートの入力端子の1つに接続され
た出力端子を有し、第2の積項の少なくとも2つの論理
関数を、第1の入力端子及び制御端子を通して入力する
ことによって、第2の積項の論理関数を第2の多入力論
理ゲートの入力端子に入力し、第2の積項が第2の多入
力論理ゲートの出力端子から出力されるようにする単位
マルチプレクサと、を有する論理回路を含む電子システ
ムが提供される。
Further, an electronic system including a logic circuit for executing a logical operation represented by a logical expression having first and second product terms including n and m (m> n) logical functions A first multi-input having at least n input terminals and an output terminal, and outputting the first product term from the output terminal by directly inputting a logical function of the first product term to the input terminal A logic gate, a second multi-input logic gate having less than m input and output terminals, a first input terminal, a second input terminal for inputting a constant, a control terminal, and a second multi-input logic gate. Having an output terminal connected to one of the input terminals of the input logic gate and inputting at least two logic functions of the second product term through the first input terminal and the control terminal to provide a second product The logical function of the term to the input of the second multi-input logic gate Input to the second product term electronic system that includes a logic circuit having a unit multiplexer to be output from the output terminal of the second multi-input logic gates are provided.

【0082】更に、n個とm個(m>n)の論理関数を
含む第1及び第2の積項を有する論理式によって表わさ
れる論理演算を実行するための方法であって、第1の積
項の論理関数を第1の多入力論理ゲートの入力端子に直
接入力して、第1の積項を第1の多入力論理ゲートの出
力端子から出力するステップと、第2の積項の少なくと
も2つの論理関数を、定数を入力するように接続された
第2の入力端子を有する単位マルチプレクサの第1の入
力端子及び制御端子に入力するステップと、前記少なく
とも2つの論理関数を単位マルチプレクサの出力端子を
通して入力することによって、第2の積項の論理関数を
第2の多入力論理ゲートの入力端子に入力し、第2の積
項を第2の多入力論理ゲートの出力端子から出力するス
テップと、を有する論理演算の実行方法が提供される。
Further, there is provided a method for executing a logical operation represented by a logical expression having first and second product terms including n and m (m> n) logical functions. Directly inputting a logical function of the product term to an input terminal of the first multiple-input logic gate and outputting the first product term from an output terminal of the first multiple-input logic gate; Inputting at least two logical functions to a first input terminal and a control terminal of a unit multiplexer having a second input terminal connected to input a constant; and transmitting the at least two logical functions to the unit multiplexer. By inputting through the output terminal, the logic function of the second product term is input to the input terminal of the second multi-input logic gate, and the second product term is output from the output terminal of the second multi-input logic gate. Having steps and How to perform logical operations is provided.

【0083】まず1次マッピングを行い、次いで、論理
レベル整合を行う場合であっても、あるいは、論理レベ
ル整合がマッピング過程で行われる場合であっても、与
えられた論理式をパストランジスタと多入力論理ゲート
を含む論理回路にマッピングする際に、多入力論理ゲー
トとパストランジスタを適切に組合せて、得られる論理
回路のトランジスタの総数及び段数を最小とすることが
望ましい。
First, primary mapping is performed, and then, even when logic level matching is performed, or when logic level matching is performed in the mapping process, a given logical expression is used in many cases with pass transistors. When mapping to a logic circuit including an input logic gate, it is desirable to appropriately combine a multi-input logic gate and a pass transistor to minimize the total number of transistors and the number of stages of the obtained logic circuit.

【0084】論理式を論理回路にマッピングする際に、
一般的に積項のマッピングが必要である。最下位グルー
プのマッピングに際して、各積項は変数のみを含む。最
下位グループ以外のグループのマッピングの際には、各
積項が、1以上の変数と、他の論理回路によってマッピ
ングされた1以上の論理関数を含む。あるいは、複数の
論理関数を含む。例えば、共通変数を含む論理グループ
の場合、共通変数を共有する論理関数の和を1つの論理
関数とみなせば、その論理グループは、その論理関数及
び共通変数を含む積項とみなすことができる。最も単純
な形の論理関数は単一の変数である。従って、「論理関
数を含む積項」は、変数の積を含む。
When mapping a logical expression to a logical circuit,
Generally, product term mapping is required. In mapping the bottom group, each product term contains only variables. When mapping groups other than the lowest group, each product term includes one or more variables and one or more logic functions mapped by other logic circuits. Alternatively, it includes a plurality of logic functions. For example, in the case of a logical group including a common variable, if the sum of logical functions sharing the common variable is regarded as one logical function, the logical group can be regarded as a product term including the logical function and the common variable. The simplest form of a logical function is a single variable. Therefore, "the product term including the logical function" includes the product of the variables.

【0085】そのような積項を、パストランジスタと多
入力論理ゲートを用いて論理回路にマッピングするとき
は、積項中に含まれる論理関数の数に応じて多入力論理
ゲートとパストランジスタを適切に組合せることによっ
て、トランジスタの数及び段数を最小化することが望ま
しい。例えば、積項を多入力論理ゲートのみを用いてマ
ッピングすれば、多入力論理ゲートは、積項中の論理関
数の数と同じだけの入力端子を持つ必要がある。しかし
ながら、多入力論理ゲート中に含まれるトランジスタの
数は、入力端子の数に応じて増える。更に、入力端子の
数に応じて段数が増え、動作速度が遅くなる。この問題
を避けるため、多入力論理ゲートの入力端子の数を3又
は4に制限することが一般的に望ましい。マッピングさ
れるべき積項が、上限より多くの論理関数を含むとき
は、パストランジスタが多入力論理ゲートと組み合わさ
れる。
When such a product term is mapped to a logic circuit by using a pass transistor and a multi-input logic gate, the multi-input logic gate and the pass transistor are appropriately set in accordance with the number of logic functions included in the product term. , It is desirable to minimize the number of transistors and the number of stages. For example, if a product term is mapped using only a multi-input logic gate, the multi-input logic gate needs to have as many input terminals as the number of logic functions in the product term. However, the number of transistors included in a multi-input logic gate increases with the number of input terminals. Further, the number of stages increases according to the number of input terminals, and the operation speed decreases. To avoid this problem, it is generally desirable to limit the number of input terminals of a multi-input logic gate to three or four. When the product term to be mapped contains more logic functions than the upper limit, pass transistors are combined with multi-input logic gates.

【0086】詳細には、積項中に含まれる変数又は論理
関数の総数が2以上であるが、多入力論理ゲートの入力
端子の許容最大数以下であれば、多入力論理ゲートを配
置して、論理関数を、その入力端子に入力する。一方、
論理関数の総数が、多入力論理ゲートの入力端子の最大
許容数よりも大きければ、パストランジスタの出力が多
入力論理ゲートの入力端子に接続され、パストランジス
タの入力端子と制御端子が、多入力論理ゲートの入力端
子と同様に、論理関数に対応する論理信号を受けるよう
に、多入力論理ゲートとパストランジスタが組合され
る。
More specifically, if the total number of variables or logic functions included in the product term is 2 or more, if the total number of input terminals of the multi-input logic gate is not more than the allowable maximum number, a multi-input logic gate is arranged. , The logic function is input to its input terminal. on the other hand,
If the total number of logic functions is larger than the maximum allowable number of input terminals of the multi-input logic gate, the output of the pass transistor is connected to the input terminal of the multi-input logic gate, and the input terminal and the control terminal of the pass transistor are multi-input. Similarly to the input terminal of the logic gate, a multi-input logic gate and a pass transistor are combined so as to receive a logic signal corresponding to a logic function.

【0087】一般に、単一のパストランジスタよりも、
マルチプレクサの形のパストランジスタの組合せを採用
することが好ましい。単位マルチプレクサが使用される
と、定数が2つの入力端子の一方に入力され、出力端子
は、多入力論理ゲートの入力端子の1つに接続される。
単位マルチプレクサの他方の入力端子と制御端子は、積
項の論理関数を受けるのに使用される。即ち、単位マル
チプレクサを介して多入力論理ゲートに2つの論理関数
を入力することが可能となる。一方の論理関数は、マル
チプレクサの一つの入力端子から入力され、もう1つの
論理関数は、マルチプレクサの制御端子に入力される。
2つの単位マルチプレクサの直列接続が多入力論理ゲー
トの1つの入力端子に接続されると、2つの論理関数
が、第1段の単位マルチプレクサの1つの入力端子及び
制御端子にそれぞれ接続され、その結果、これらの2つ
の論理関数が第1段の単位マルチプレクサを介して第2
段の単位マルチプレクサの1つの入力端子に入力され
る。これらの2つの論理関数及び、第2段の単位マルチ
プレクサの制御端子に入力される、もう1つの論理関
数、即ち合計3つの論理関数が、2つの単位マルチプレ
クサを介して多入力論理ゲートに入力される。許容限度
内で多数のマルチプレクサが直列に接続され、多入力論
理ゲートの各入力端子が、単位マルチプレクサの同様な
直列接続に接続されると、より多数の論理関数を含む積
項をマッピングすることが可能となる。
In general, rather than a single pass transistor,
Preferably, a combination of pass transistors in the form of a multiplexer is employed. When the unit multiplexer is used, a constant is input to one of the two input terminals, and the output terminal is connected to one of the input terminals of the multi-input logic gate.
The other input and control terminals of the unit multiplexer are used to receive the logic function of the product term. That is, two logic functions can be input to the multi-input logic gate via the unit multiplexer. One logic function is input from one input terminal of the multiplexer, and the other logic function is input to a control terminal of the multiplexer.
When the series connection of the two unit multiplexers is connected to one input terminal of the multi-input logic gate, two logic functions are connected to one input terminal and the control terminal of the first stage unit multiplexer, respectively. , These two logical functions are passed through the first stage unit multiplexer to the second
It is input to one input terminal of the unit multiplexer of the stage. These two logic functions and another logic function input to the control terminal of the second stage unit multiplexer, that is, a total of three logic functions, are input to the multi-input logic gate via the two unit multiplexers. You. When multiple multiplexers are connected in series within acceptable limits, and each input terminal of a multi-input logic gate is connected to a similar series connection of unit multiplexers, it is possible to map a product term that includes a larger number of logic functions. It becomes possible.

【0088】換言すると、積項中に含まれる論理関数の
数が、多入力論理ゲートの入力端子の最大許容数以下で
あるときは、全ての論理関数が、直接、即ち、マルチプ
レクサを通過することなく、多入力論理ゲートの入力端
子に入力される。一方、論理関数の数が多入力論理ゲー
トの入力端子の最大許容数よりも大きいと、論理関数の
いくつかは、1以上のマルチプレクサを通して、多入力
論理ゲートの入力端子に入力される。
In other words, when the number of logic functions included in the product term is less than the maximum allowable number of input terminals of the multi-input logic gate, all logic functions pass directly, that is, pass through the multiplexer. Instead, it is input to the input terminal of a multi-input logic gate. On the other hand, if the number of logic functions is greater than the maximum allowable number of input terminals of the multi-input logic gate, some of the logic functions are input to the input terminals of the multi-input logic gate through one or more multiplexers.

【0089】特開平9−93118に示されるように、
あるいは、既に記載した第2先行技術のように、信号が
パストランジスタを通過するときに発生する論理振幅の
減衰を回復するべく、プルアップトランジスタを含むイ
ンバータが使用される場合には、1以上のマルチプレク
サを通して論理関数(正確には論理関数の積)がインバ
ータによって反転された後、多入力論理ゲートの対応す
る入力端子に入力される。
As shown in JP-A-9-93118,
Alternatively, if an inverter including a pull-up transistor is used to recover the decay of the logic amplitude that occurs when the signal passes through the pass transistor, as in the second prior art already described, one or more After the logic function (more precisely, the product of the logic functions) is inverted by the inverter through the multiplexer, it is input to the corresponding input terminal of the multi-input logic gate.

【0090】1次マッピング処理において、上記の方法
で積項がマッピングされる場合、ANDゲートが多入力
論理ゲートとして使用される。これらのANDゲート
は、1次マッピング終了後の論理レベル整合で、NAN
D又はNORゲートに置き換えられる。一方、マッピン
グ中に論理レベル整合が行われる場合、ゲートが負論理
領域の出力側又は入力側のいずれに配置されるかによっ
て、NOR又はNANDゲートが採用される。
In the primary mapping process, when the product terms are mapped by the above method, the AND gate is used as a multi-input logic gate. These AND gates are at the logic level match after the primary mapping, and
Replaced by D or NOR gate. On the other hand, if logic level matching is performed during mapping, NOR or NAND gates are employed depending on whether the gate is located on the output or input side of the negative logic region.

【0091】積項中に含まれる論理関数は、複数の変
数、複数の下位の論理関数、又は、変数と下位の論理関
数の積によって表わされる場合がある。この場合、論理
関数が、まず、例えば多入力論理ゲートを用いて回路中
にマッピングされ、次いで、積項が、前記の方法で、他
の多入力論理ゲートを用いてマッピングされる。この場
合、積項がマッピングされる多入力論理ゲートと組合さ
れる単位マルチプレクサの数は、積項中に含まれる論理
関数の数によって決定される。即ち、前記の論理関数は
1つとしてカウントされる。あるいは、そのような論理
関数に含まれる1以上の変数又は下位レベルの論理関数
のそれぞれを、積項がマッピングされる多入力論理ゲー
トの入力端子に入力することもできる。この場合、積項
がマッピングされる多入力論理ゲートと組合される単位
マルチプレクサの数は、積項中に含まれる論理関数の総
数によって決定さる。即ち、前記の論理関数に含まれる
変数及び下位の論理関数の全てがカウントされる。段数
及び直列接続される多入力論理ゲートの数を減らすため
には、前者の技術よりも後者の技術の方が好ましい。
A logical function included in a product term may be represented by a plurality of variables, a plurality of lower logical functions, or a product of a variable and a lower logical function. In this case, the logic function is first mapped into the circuit, for example using a multi-input logic gate, and then the product terms are mapped using other multi-input logic gates in the manner described above. In this case, the number of unit multiplexers associated with the multi-input logic gate to which the product term is mapped is determined by the number of logic functions included in the product term. That is, the above logical function is counted as one. Alternatively, each of one or more variables or lower-level logic functions included in such a logic function can be input to an input terminal of a multi-input logic gate to which a product term is mapped. In this case, the number of unit multiplexers associated with the multi-input logic gate to which the product term is mapped is determined by the total number of logic functions included in the product term. That is, all the variables and lower logical functions included in the logical function are counted. In order to reduce the number of stages and the number of multi-input logic gates connected in series, the latter technique is preferable to the former technique.

【0092】本発明のもう1つの側面によれば、論理式
を論理回路にマッピングする方法であって、複数の入力
端子と出力端子を有する多入力論理ゲート、及び、複数
の入力端子と少なくとも1つの制御端子と出力端子を有
するマルチプレクサを論理回路中に配置するステップ
と、複数の下位の論理関数を入力し、多入力論理ゲート
の出力端子から下位の論理関数の積を出力するように多
入力論理ゲートの入力端子を接続し、この下位の論理関
数の積を含む複数の論理関数及び少なくとも1つの上位
変数を入力し、この論理関数及び該論理関数によって共
有された少なくとも1つの上位変数を含む論理グループ
をマルチプレクサの出力端子から出力するように、マル
チプレクサの入力端子と少なくとも1つの制御端子を接
続するステップと、を含むマッピング方法が提供され
る。
According to another aspect of the present invention, there is provided a method of mapping a logical expression to a logical circuit, comprising: a multi-input logical gate having a plurality of input terminals and an output terminal; Arranging a multiplexer having one control terminal and an output terminal in a logic circuit; and inputting a plurality of lower-order logic functions and outputting a product of the lower-order logic functions from an output terminal of the multi-input logic gate. Connecting the input terminals of the logic gate, inputting a plurality of logic functions including a product of the lower logic function and at least one upper variable, including the logic function and at least one upper variable shared by the logic function Connecting the input terminal of the multiplexer and at least one control terminal to output the logical group from the output terminal of the multiplexer; Mapping method comprising is provided.

【0093】更に、論理回路に論理式をマッピングする
ためのCADシステムであって、複数の入力端子及び出
力端子を有する多入力論理ゲート、及び、複数の入力端
子、少なくとも1つの制御端子及び出力端子を有するマ
ルチプレクサを論理回路中に配置する手段と、複数の下
位の論理関数を入力し、多入力論理ゲートの出力端子か
ら下位の論理関数の積を出力するように多入力論理ゲー
トの入力端子を接続し、この下位の論理関数の積を含む
複数の論理関数と少なくとも1つの上位変数を入力し、
この論理関数及び、この論理関数によって共有された少
なくとも1つの上位変数を含む論理グループをマルチプ
レクサの出力端子から出力するように、マルチプレクサ
の入力端子と少なくとも1つの制御端子を接続する手段
と、を有するCADシステムが提供される。
Further, there is provided a CAD system for mapping a logic expression to a logic circuit, comprising a multi-input logic gate having a plurality of input terminals and output terminals, a plurality of input terminals, at least one control terminal and an output terminal. Means for arranging a multiplexer having a logic function in a logic circuit, and inputting a plurality of lower-order logic functions, and inputting the input terminal of the multi-input logic gate so as to output a product of the lower-order logic functions from the output terminal of the multi-input logic gate. Connecting, inputting a plurality of logical functions including a product of the lower logical functions and at least one upper variable,
Means for connecting the input terminal of the multiplexer and at least one control terminal such that the logical function and a logical group including at least one upper variable shared by the logical function are output from the output terminal of the multiplexer. A CAD system is provided.

【0094】更に、論理演算を実行するための論理回路
であって、複数の下位の論理関数を入力するための入力
端子、及び、この下位の論理関数の積を出力するための
出力端子を有する多入力論理ゲートと、この下位の論理
関数の積を含む複数の論理関数を入力するための入力端
子、少なくとも1つの上位変数を入力するための少なく
とも1つの制御端子、及び、前記の論理関数及び該論理
関数によって共有された少なくとも1つの上位変数を含
む論理グループを出力するための出力端子を有するマル
チプレクサと、を備えた論理回路が提供される。
Further, it is a logic circuit for executing a logical operation, having an input terminal for inputting a plurality of lower logical functions and an output terminal for outputting a product of the lower logical functions. A multi-input logic gate, an input terminal for inputting a plurality of logic functions including a product of the lower logic function, at least one control terminal for inputting at least one upper variable, and A multiplexer having an output terminal for outputting a logic group including at least one upper variable shared by the logic function.

【0095】更に、論理演算を実行するための論理回路
を含む電子システムであって、複数の下位の論理関数を
入力するための入力端子、及び、この下位の論理関数の
積を出力するための出力端子を有する多入力論理ゲート
と、この下位の論理関数の積を含む複数の論理関数を入
力するための入力端子、少なくとも1つの上位変数を入
力するための少なくとも1つの制御端子、及び、この論
理関数及び該論理関数によって共有された少なくとも1
つの上位変数を含む論理グループを出力するための出力
端子を有するマルチプレクサと、を備えた論理回路を含
む電子システムが提供される。
Further, there is provided an electronic system including a logic circuit for executing a logical operation, an input terminal for inputting a plurality of lower logical functions, and an output terminal for outputting a product of the lower logical functions. A multi-input logic gate having an output terminal, an input terminal for inputting a plurality of logic functions including a product of the lower logic function, at least one control terminal for inputting at least one upper variable, and A logical function and at least one shared by the logical function
And a multiplexer having an output terminal for outputting a logic group including two upper variables.

【0096】更に、論理演算の実行方法であって、多入
力論理ゲートの出力端子から複数の下位の論理関数の積
を出力するように、多入力論理ゲートの入力端子にこの
複数の下位の論理関数を入力するステップと、マルチプ
レクサの出力端子から複数の論理関数及び該複数の論理
関数によって共有された少なくとも1つの上位変数を含
む論理グループを出力するように、この下位の論理関数
の積を含む複数の論理関数と少なくとも1つの上位変数
を、マルチプレクサの入力端子及び少なくとも1つの制
御端子に入力するステップと、を含む実行方法が提供さ
れる。
Further, there is provided a method of executing a logical operation, wherein a plurality of lower logical functions are input to an input terminal of a multi-input logical gate such that a product of a plurality of lower logical functions is output from an output terminal of the multi-input logical gate. Inputting a function and including a product of the lower logical functions so as to output a logical group including a plurality of logical functions and at least one upper variable shared by the plurality of logical functions from an output terminal of the multiplexer. Inputting a plurality of logic functions and at least one upper variable to an input terminal and at least one control terminal of the multiplexer.

【0097】与えられた論理式がパストランジスタと多
入力論理ゲートを含む論理回路にマッピングされると
き、論理式が上位変数を含む論理グループを含めば、マ
ッピングに際して、パストランジスタを組合せることに
よって形成されたマルチプレクサが採用され、一方、論
理式が論理関数の積を含めば、多入力論理ゲートが採用
される。その結果、論理式は、少数のトランジスタ及び
段数を用いて論理回路にマッピングされる。従って、論
理式が、上位変数を含む論理グループを含む場合は、そ
の上位変数を共有する論理関数がマルチプレクサの入力
端子にそれぞれ入力され、上位変数がマルチプレクサの
制御端子に入力される。論理グループが多重上位変数を
含む場合は、多段マルチプレクサが採用される。上位変
数を共有する論理関数の一部又は全てがそれぞれ下位の
論理関数の積である場合は、そのような論理関数が、ま
ず、多入力論理ゲートを用いてマッピングされ、次い
で、マルチプレクサの入力端子に入力される。即ち、複
数の下位の論理関数は多入力論理ゲートの入力端子に入
力され、その結果、これらの複数の下位の論理関数を含
む論理関数が、多入力論理ゲートの出力端子から出力さ
れる。積項中に含まれる下位の論理関数の数に応じて、
1つの入力が一定の論理値に維持された単位マルチプレ
クサが必要数だけ加えられる。
When a given logical expression is mapped to a logical circuit including a pass transistor and a multi-input logical gate, if the logical expression includes a logical group including a higher-order variable, it is formed by combining pass transistors in the mapping. Multiplexed logic gates are employed if the logic equation includes a product of logic functions. As a result, the logical expression is mapped to the logical circuit using a small number of transistors and the number of stages. Therefore, when the logical expression includes a logical group including the upper variable, the logical function sharing the upper variable is input to the input terminal of the multiplexer, and the upper variable is input to the control terminal of the multiplexer. If the logical group contains multiple upper variables, a multi-stage multiplexer is employed. If some or all of the logic functions sharing the upper variable are each the product of the lower logic functions, such a logic function is first mapped using a multi-input logic gate, and then the input terminals of the multiplexer. Is input to That is, a plurality of lower-order logic functions are input to the input terminals of the multi-input logic gate, and as a result, a logic function including the plurality of lower-order logic functions is output from the output terminal of the multi-input logic gate. Depending on the number of lower logical functions included in the product term,
The required number of unit multiplexers with one input maintained at a constant logic value are added.

【0098】本発明のもう1つの側面によれば、論理回
路に論理式をマッピングする方法であって、複数の入力
端子、少なくとも1つの制御端子及び出力端子を有する
マルチプレクサ、及び、第1の入力端子、少なくとも1
つの第2の入力端子及び出力端子を有する多入力論理ゲ
ートを論理回路中に配置するステップと、複数の下位の
論理関数及び少なくとも1つの上位変数を入力し、この
下位の論理関数及びこの下位の論理関数によって共有さ
れた前記の少なくとも1つの上位変数を含む下位の論理
グループがマルチプレクサの出力端子から出力されるよ
う、マルチプレクサの入力端子と少なくとも1つの制御
端子を接続し、下位の論理グループ及び少なくとも1つ
の共通変数を入力し、この少なくとも1つの共通変数と
下位の論理グループの積からなる論理グループが多入力
論理ゲートの出力端子から出力されるように、多入力論
理ゲートの第1の入力端子と少なくとも1つの第2の入
力端子を接続するステップと、を有するマッピング方法
が提供される。
According to another aspect of the invention, there is provided a method of mapping a logical expression to a logical circuit, comprising: a multiplexer having a plurality of input terminals, at least one control terminal and an output terminal, and a first input terminal. Terminal, at least one
Arranging a multi-input logic gate having two second input terminals and an output terminal in a logic circuit; inputting a plurality of lower logic functions and at least one upper variable; Connecting an input terminal of the multiplexer and at least one control terminal such that a lower logical group including the at least one upper variable shared by a logical function is output from an output terminal of the multiplexer; A first input terminal of a multi-input logic gate such that one common variable is input and a logic group consisting of a product of the at least one common variable and a lower logic group is output from an output terminal of the multi-input logic gate. And connecting the at least one second input terminal.

【0099】更に、論理回路に論理式をマッピングする
ためのCADシステムであって、複数の入力端子、少な
くとも1つの制御端子及び出力端子を有するマルチプレ
クサ、及び、第1の入力端子、少なくとも1つの第2の
入力端子及び出力端子を有する多入力論理ゲートを論理
回路中に配置する手段と、複数の下位の論理関数及び少
なくとも1つの上位変数を入力し、この下位の論理関数
及びこの下位の論理関数によって共有された前記の少な
くとも1つの上位変数を含む下位の論理グループがマル
チプレクサの出力端子から出力されるように、マルチプ
レクサの入力端子と少なくとも1つの制御端子を接続
し、下位の論理グループ及び少なくとも1つの共通変数
を入力し、この少なくとも1つの共通変数と下位の論理
グループの積からなる論理グループが多入力論理ゲート
の出力端子から出力されるように、多入力論理ゲートの
第1の入力端子と少なくとも1つの第2の入力端子を接
続する手段と、を有するCADシステムが提供される。
Further, there is provided a CAD system for mapping a logical expression to a logical circuit, the multiplexer having a plurality of input terminals, at least one control terminal and an output terminal, a first input terminal, and at least one first terminal. Means for arranging a multi-input logic gate having two input terminals and two output terminals in a logic circuit; and inputting a plurality of lower logic functions and at least one upper variable, the lower logic function and the lower logic function Connecting the input terminal of the multiplexer and the at least one control terminal so that the lower logical group including the at least one upper variable shared by the at least one output terminal is output from the output terminal of the multiplexer; Enter one common variable and calculate the product of this at least one common variable and the lower logical group. Means for connecting a first input terminal of the multi-input logic gate and at least one second input terminal such that the logic group is output from an output terminal of the multi-input logic gate is provided. .

【0100】更に、論理演算を実行するための論理回路
であって、複数の下位の論理関数を入力するための入力
端子、少なくとも1つの上位変数を入力するための少な
くとも1つの制御端子、及び、この下位の論理関数及び
この下位の論理関数によって共有された少なくとも1つ
の上位変数を含む、下位の論理グループを出力するため
の出力端子を有するマルチプレクサと、下位の論理グル
ープを入力するための第1の入力端子、及び、少なくと
も1つの共通変数を入力するための少なくとも1つの第
2の入力端子、及び、この下位の論理グループと少なく
とも1つの共通変数の積からなる論理グループを出力す
るための出力端子を有する多入力論理ゲートと、を備え
た論理回路が提供される。
Furthermore, a logic circuit for executing a logical operation, comprising: an input terminal for inputting a plurality of lower logical functions; at least one control terminal for inputting at least one upper variable; A multiplexer having an output terminal for outputting a lower logical group including the lower logical function and at least one upper variable shared by the lower logical function; and a first for inputting the lower logical group. And at least one second input terminal for inputting at least one common variable, and an output for outputting a logical group consisting of a product of the lower logical group and at least one common variable And a multi-input logic gate having a terminal.

【0101】更に、論理演算を実行するための論理回路
を含む電子システムであって、複数の下位の論理関数を
入力するための入力端子、少なくとも1つの上位変数を
入力するための少なくとも1つの制御端子、及び、この
下位の論理関数及びこの下位の論理関数によって共有さ
れた前記の少なくとも1つの上位変数を含む、下位の論
理グループを出力するための出力端子を有するマルチプ
レクサと、下位の論理グループを入力するための第1の
入力端子、少なくとも1つの共通変数を入力するための
少なくとも1つの第2の入力端子、及び、この下位の論
理グループと少なくとも1つの共通変数の積からなる論
理グループを出力するための出力端子を有する多入力論
理ゲートと、を備えた論理回路を含む電子システムが提
供される。
Further, there is provided an electronic system including a logic circuit for executing a logical operation, comprising: an input terminal for inputting a plurality of lower logical functions; and at least one control for inputting at least one upper variable. A multiplexer having a terminal and an output terminal for outputting a lower logical group including the lower logical function and the at least one upper variable shared by the lower logical function; A first input terminal for inputting, at least one second input terminal for inputting at least one common variable, and a logical group comprising a product of the lower logical group and at least one common variable And a multi-input logic gate having an output terminal.

【0102】更に、論理演算の実行方法であって、複数
の下位の論理関数及びこの下位の論理関数によって共有
された少なくとも1つの上位変数を含む下位の論理グル
ープを、マルチプレクサの出力端子から出力するよう
に、この下位の論理関数及び少なくとも1つの上位変数
をマルチプレクサの入力端子及び少なくとも1つの制御
端子に入力するステップと、少なくとも1つの共通変数
と下位の論理グループの積からなる論理グループを多入
力論理ゲートの出力端子から出力するように、この下位
の論理グループ及び少なくとも1つの共通変数を多入力
論理ゲートの第1の入力端子及び少なくとも1つの第2
の入力端子に入力するステップと、を有する実行方法が
提供される。
Further, there is provided a method of executing a logical operation, wherein a lower logical group including a plurality of lower logical functions and at least one upper variable shared by the lower logical functions is output from an output terminal of the multiplexer. Inputting the lower logical function and the at least one upper variable to the input terminal and the at least one control terminal of the multiplexer, and multi-inputting a logical group consisting of a product of the at least one common variable and the lower logical group The lower logic group and at least one common variable are output from the first input terminal and at least one second input terminal of the multi-input logic gate so as to output from the output terminal of the logic gate.
And inputting to the input terminal of (i).

【0103】マッピングされるべき論理式が共通変数を
含む論理グループを含む場合、共通変数及びこの共通変
数を共有する論理関数の和が多入力論理ゲートの入力端
子に入力される。共通変数を共有する論理関数の和が、
上位変数を含む下位の論理グループである場合、この下
位の論理グループが、まずマルチプレクサを用いてマッ
ピングされ、次いで、多入力論理ゲートに入力される。
即ち、上位変数を共有する複数の下位の論理関数がマル
チプレクサの入力端子に入力され、上位変数がマルチプ
レクサの制御端子に入力される。その結果、下位の論理
グループはマルチプレクサの出力端子から出力される。
このようにしてマッピングされた下位の論理グループ及
び共通変数が、多入力論理ゲートの入力端子に入力され
る。共通変数の数に応じて、1つの入力端子が一定の論
理値に維持された単位マルチプレクサが必要数だけ追加
される。下位の論理グループが、多重上位変数を含む論
理グループであれば、多段マルチプレクサが採用され
る。
When the logical expression to be mapped includes a logical group including a common variable, the sum of the common variable and a logical function sharing the common variable is input to the input terminal of the multi-input logical gate. The sum of logical functions sharing a common variable is
If it is a lower logical group that includes an upper variable, the lower logical group is first mapped using a multiplexer and then input to a multi-input logic gate.
That is, a plurality of lower logical functions sharing the upper variable are input to the input terminal of the multiplexer, and the upper variable is input to the control terminal of the multiplexer. As a result, the lower logical group is output from the output terminal of the multiplexer.
The lower logic group and the common variable mapped in this way are input to the input terminals of the multi-input logic gate. According to the number of common variables, the required number of unit multiplexers in which one input terminal is maintained at a constant logical value are added. If the lower logical group is a logical group including multiple higher variables, a multi-stage multiplexer is employed.

【0104】信号がパストランジスタを通過する際に発
生する論理振幅の減衰を回復するためにプルアップトラ
ンジスタを含むインバータが用いられる場合、マルチプ
レクサの出力端子から出力される下位の論理グループ
は、インバータによって反転された後、多入力論理ゲー
トの入力端子に入力される。
When an inverter including a pull-up transistor is used to recover the attenuation of the logic amplitude generated when a signal passes through the pass transistor, the lower logic group output from the output terminal of the multiplexer is controlled by the inverter. After being inverted, it is input to the input terminal of the multi-input logic gate.

【0105】上位変数を共有する下位の論理関数の一部
又は全てが、それぞれ、第2の下位の論理関数の積であ
る場合、そのような下位の論理関数は、まず、もう1つ
の多入力論理ゲートを用いてマッピングされ、次いで、
マルチプレクサの入力端子に入力される。
If some or all of the lower logical functions that share the upper variable are each the product of the second lower logical function, such lower logical function will first have another multi-input function. Mapped using logic gates, then
It is input to the input terminal of the multiplexer.

【0106】本発明の更に他の側面によれば、論理回路
に論理式をマッピングする方法であって、複数の入力端
子及び出力端子を有する第1の種類の多入力論理ゲート
と、複数の入力端子、少なくとも1つの制御端子及び出
力端子を有するマルチプレクサと、複数の入力端子及び
出力端子を有する第2の種類の多入力論理ゲートを論理
回路中に配置するステップと、マルチプレクサの入力端
子の1つを、反転することなく、第1の種類の多入力論
理ゲートの出力端子に接続し、第2の種類の多入力論理
ゲートの入力端子の1つを反転することなくマルチプレ
クサの出力端子に接続するステップと、を含むマッピン
グ方法が提供される。ここで、第1の種類の多入力論理
ゲートは、NAND又はNORゲートの一方であり、第
2の種類の多入力論理ゲートは、NAND又はNORゲ
ートの他方である。
According to yet another aspect of the present invention, there is provided a method for mapping a logical expression to a logical circuit, comprising: a first type of multi-input logical gate having a plurality of input terminals and an output terminal; Arranging in a logic circuit a multiplexer having a terminal, at least one control terminal and an output terminal, and a second type of multi-input logic gate having a plurality of input terminals and output terminals, one of the input terminals of the multiplexer Is connected to the output terminal of the first type of multi-input logic gate without inversion, and one of the input terminals of the second type of multi-input logic gate is connected to the output terminal of the multiplexer without inversion. And a mapping method. Here, the first type of multi-input logic gate is one of a NAND and a NOR gate, and the second type of multi-input logic gate is the other of a NAND and a NOR gate.

【0107】好ましくは、上記方法は、更に、複数の第
2の下位の論理関数を入力し、この第2の下位の論理関
数の積を第1の種類の多入力論理ゲートの出力端子から
出力するように、第1の種類の多入力論理ゲートの入力
端子を接続し、この第2の下位の論理関数の積を含む複
数の下位の論理関数と少なくとも1つの上位変数を入力
し、この下位の論理関数及びこの下位の論理関数によっ
て共有された少なくとも1つの上位変数を含む下位の論
理グループをマルチプレクサの出力端子から出力するよ
うに、マルチプレクサの入力端子と少なくとも1つの制
御端子を接続し、この下位の論理グループを含む複数の
論理関数を入力し、この論理関数の積からなる論理グル
ープを第2の種類の多入力論理ゲートの出力端子から出
力するように、第2の種類の多入力論理ゲートの入力端
子を接続するステップと、を含むことが好ましい。
Preferably, the method further comprises: inputting a plurality of second lower-order logic functions, and outputting a product of the second lower-order logic functions from an output terminal of the first-type multi-input logic gate. To connect the input terminals of a first type of multi-input logic gate, input a plurality of lower logic functions including a product of the second lower logic function and at least one upper variable, Connecting the input terminal of the multiplexer and at least one control terminal to output from the output terminal of the multiplexer a lower logical group including at least one upper variable shared by the lower logical function and the lower logical function. A plurality of logic functions including a lower logic group are input, and a logic group consisting of a product of the logic functions is output from the output terminal of the second-type multi-input logic gate. And connecting the type of the input terminals of the multi-input logic gates, it will be preferable to include.

【0108】更に、論理回路を論理式にマッピングする
ためのCADシステムであって、複数の入力端子及び出
力端子を有する第1の種類の多入力論理ゲート、複数の
入力端子、少なくとも1つの制御端子及び出力端子を有
するマルチプレクサ、複数の入力端子及び出力端子を有
する第2の種類の多入力論理ゲートを論理回路中に配置
する手段と、マルチプレクサの入力端子の1つを第1の
種類の多入力論理ゲートの出力端子に反転することなく
接続し、第2の種類の多入力論理ゲートの入力端子の1
つをマルチプレクサの出力端子に反転することなく接続
する手段と、を有するCADシステムが提供される。こ
こで、第1の種類の多入力論理ゲートはNAND又はN
ORゲートの一方であり、第2の種類の多入力論理ゲー
トは、NAND又はNORゲートの他方である。
Furthermore, there is provided a CAD system for mapping a logic circuit to a logic expression, wherein the first type of multi-input logic gate has a plurality of input terminals and an output terminal, a plurality of input terminals, and at least one control terminal. Means for arranging a second type of multi-input logic gate having a plurality of input terminals and output terminals in a logic circuit, and one of the input terminals of the multiplexer being connected to the first type of multi-input. Connected to the output terminal of the logic gate without inversion, and connected to one of the input terminals of the second type of multi-input logic gate.
Means for connecting one to the output terminal of the multiplexer without inversion. Here, the first type of multi-input logic gate is NAND or N
One of the OR gates and the second type of multi-input logic gate is the other of the NAND and NOR gates.

【0109】更に、論理演算を実行するための論理回路
であって、複数の入力端子と出力端子を有する第1の種
類の多入力論理ゲートと、一つが反転されることなく第
1の種類の多入力論理ゲートの出力端子に接続された複
数の入力端子、少なくとも1つの制御端子及び出力端子
を有するマルチプレクサと、1つが反転されることなく
マルチプレクサの出力端子に接続された複数の入力端子
と、出力端子を有する第2の種類の多入力論理ゲート
と、を有する論理回路が提供される。ここで、第1の種
類の多入力論理ゲートは、NAND又はNORゲートの
一方であり、第2の種類の多入力論理ゲートは、NAN
D又はNORゲートの他方である。
Furthermore, a logic circuit for executing a logical operation, comprising: a first type of multi-input logic gate having a plurality of input terminals and output terminals; A multiplexer having a plurality of input terminals connected to the output terminal of the multi-input logic gate, at least one control terminal and an output terminal, and a plurality of input terminals connected to the output terminal of the multiplexer without one being inverted; A second type of multi-input logic gate having an output terminal. Here, the first type of multi-input logic gate is one of a NAND gate and a NOR gate, and the second type of multi-input logic gate is NAN.
D or the other of NOR gates.

【0110】好ましくは、第1の種類の多入力論理ゲー
トの入力端子が複数の第2の下位の論理関数を入力する
ように接続され、その結果、第2の下位の論理関数の積
が、第1の種類の多入力論理ゲートの出力端子から出力
される。又、マルチプレクサの入力端子及び少なくとも
1つの制御端子は、この第2の下位の論理関数の積を含
む複数の下位の論理関数と、少なくとも1つの上位変数
を入力するように接続され、その結果、この下位の論理
関数とこの下位の論理関数によって共有された少なくと
も1つの上位変数を含む下位の論理グループが、マルチ
プレクサの出力端子から出力される。更に、第2の種類
の多入力論理ゲートの入力端子がこの下位の論理グルー
プを含む複数の論理関数を入力するように接続され、そ
の結果、論理関数の積を含む論理グループが、第2の種
類の多入力論理ゲートの出力端子から出力される。
Preferably, the input terminals of the first-type multi-input logic gate are connected to input a plurality of second lower-order logic functions, so that the product of the second lower-order logic functions is It is output from the output terminal of the first type of multi-input logic gate. Also, the input terminal and at least one control terminal of the multiplexer are connected to input a plurality of lower logical functions including a product of the second lower logical function and at least one upper variable, so that: A lower logical group including the lower logical function and at least one upper variable shared by the lower logical function is output from an output terminal of the multiplexer. Further, the input terminals of the second type of multi-input logic gate are connected to input a plurality of logic functions including the lower logic group, so that the logic group including the product of the logic functions is connected to the second logic gate. It is output from the output terminal of each type of multi-input logic gate.

【0111】更に、論理演算を実行するための論理回路
を含む電子システムであって、複数の入力端子と出力端
子を有する第1の種類の多入力論理ゲートと、1つが第
1の種類の多入力論理ゲートの出力端子に反転されるこ
となく接続された複数の入力端子、少なくとも1つの制
御端子及び出力端子を有するマルチプレクサと、1つが
マルチプレクサの出力端子に反転されることなく接続さ
れた複数の入力端子、及び、出力端子を有する第2の種
類の多入力論理ゲートと、を有する論理回路を備えた電
子システムが提供される。ここで、第1の種類の多入力
論理ゲートは、NAND又はNORゲートの一方であ
り、第2の種類の多入力論理ゲートは、NAND又はN
ORゲートの他方である。
Further, there is provided an electronic system including a logic circuit for executing a logical operation, wherein a first type of multi-input logic gate having a plurality of input terminals and output terminals, and one being a first type of multi-input logic gate. A multiplexer having a plurality of input terminals connected to the output terminal of the input logic gate without inversion, at least one control terminal and an output terminal, and a plurality of ones connected without inversion to the output terminal of the multiplexer. An electronic system is provided having a logic circuit having an input terminal and a second type of multi-input logic gate having an output terminal. Here, the first type of multi-input logic gate is one of NAND and NOR gates, and the second type of multi-input logic gate is NAND or N
The other of the OR gates.

【0112】更に、論理演算の実行方法であって、複数
の第2の下位の論理関数の積が第1の種類の多入力論理
ゲートの出力端子から出力されるように、この第2の下
位の論理関数を第1の種類の多入力論理ゲートの入力端
子に入力するステップと、複数の下位の論理関数及びこ
の下位の論理関数によって共有された少なくとも1つの
上位変数を含む下位の論理グループが、マルチプレクサ
の出力端子から出力されるように、この下位の論理関数
の1つとして前記の第2の下位の論理関数の積を反転す
ることなく入力することを含んで、前記の下位の論理関
数と少なくとも1つの上位変数を、マルチプレクサの入
力端子及び少なくとも1つの制御端子に入力するステッ
プと、複数の論理関数の積からなる論理グループが第2
の種類の多入力論理ゲートの出力端子から出力されるよ
うに、この論理関数の1つとして、前記の下位の論理グ
ループを反転することなく入力することを含んで前記の
第2の種類の多入力論理ゲートの入力端子に入力するス
テップと、を含む実行方法が提供される。ここで、第1
の種類の多入力論理ゲートは、NAND又はNORゲー
トの一方であり、第2の種類の多入力論理ゲートは、N
AND又はNORゲートの他方である。
Further, there is provided a method of executing a logical operation, wherein a product of a plurality of second lower-order logic functions is output from an output terminal of a first-type multi-input logic gate. To the input terminal of the first type of multi-input logic gate, and a lower logical group including a plurality of lower logical functions and at least one upper variable shared by the lower logical functions is provided. Including, without inverting the product of said second lower-order logic function as one of said lower-order logic functions, so as to be output from the output terminal of the multiplexer, And at least one higher-level variable to the input terminal and at least one control terminal of the multiplexer.
One of the logical functions includes inputting the lower logical group without inversion so as to be output from the output terminal of the multi-input logical gate of the second type. Inputting to an input terminal of an input logic gate. Here, the first
Type of multi-input logic gate is one of a NAND gate and a NOR gate, and the second type of multi-input logic gate is
The other of the AND and NOR gates.

【0113】例えば、論理式が2以上の論理関数の積を
有する論理グループを含み、この論理関数の1つが、上
位変数及びこの上位変数を共有する下位の論理関数を含
む下位の論理グループであり、この下位の論理関数の一
部又は全てが、それぞれ、複数の第2の下位の論理関数
の積であると仮定する。このような論理式を、まず1次
マッピングを行い、次いで論理レベル整合を行うことに
よって、あるいは、マッピングと論理レベル整合を同時
に行うことによって論理回路にマッピングすると、得ら
れる論理回路は、入力側に配置された第1の種類の多入
力論理ゲートと、1つの入力端子が第1の種類の多入力
論理ゲートの出力端子に接続されたマルチプレクサと、
1つの入力端子がマルチプレクサの出力端子に接続され
た第2の種類の多入力論理ゲートと、を含む。第1の種
類及び第2の種類の多入力論理ゲートの一方はNAND
ゲートであり、他方はNORゲートである。どちらの多
入力論理ゲートがNANDゲートであるか、NORゲー
トであるかは、これらの多入力論理ゲート間の回路領域
が正論理領域か負論理領域であるかによって決まる。こ
の論理回路において、第1の種類の多入力論理ゲートの
出力端子とマルチプレクサの1つの入力端子間の接続、
及び、マルチプレクサの出力端子と第2の種類の多入力
論理ゲートの1つの入力端子間の接続は、非反転的にな
される。即ち、論理の反転が発生しないように接続され
る。
For example, a logical expression includes a logical group having a product of two or more logical functions, and one of the logical functions is a lower logical group including an upper variable and a lower logical function sharing the upper variable. It is assumed that some or all of the lower logical functions are products of a plurality of second lower logical functions, respectively. When such a logical expression is mapped to a logical circuit by first performing a primary mapping and then performing a logical level matching, or by simultaneously performing the mapping and the logical level matching, the obtained logical circuit is provided on the input side. A first type of multi-input logic gate arranged, a multiplexer having one input terminal connected to an output terminal of the first type of multi-input logic gate,
A second type of multi-input logic gate having one input terminal connected to the output terminal of the multiplexer. One of the first type and the second type of multi-input logic gate is a NAND
A gate, and the other is a NOR gate. Which of the multi-input logic gates is a NAND gate or a NOR gate depends on whether a circuit area between these multi-input logic gates is a positive logic area or a negative logic area. In this logic circuit, a connection between an output terminal of a first-type multi-input logic gate and one input terminal of a multiplexer;
The connection between the output terminal of the multiplexer and one input terminal of the second type of multi-input logic gate is made non-inverting. That is, they are connected so that inversion of the logic does not occur.

【0114】第1の種類の多入力論理ゲートは、複数の
第2の下位の論理関数をその入力端子に入力し、その出
力端子から、第2の下位の論理関数の積を出力するのに
使われる。一方、マルチプレクサは、下位の論理関数を
その入力端子に入力すると共に、上位変数をその制御端
子に入力し、その出力端子から上位変数及びこの上位変
数を共有する下位の論理関数を含む下位の論理グループ
を出力するのに使用される。第2の種類の多入力論理ゲ
ートは、2以上の論理関数をその入力端子に入力し、そ
の出力端子から、これらの2以上の論理関数の積を含む
論理グループを出力するのに使われる。
The first type of multi-input logic gate inputs a plurality of second lower-order logic functions to its input terminal and outputs a product of the second lower-order logic function from its output terminal. used. On the other hand, the multiplexer inputs the lower logical function to its input terminal, inputs the upper variable to its control terminal, and outputs the lower logical function including the upper variable and the lower logical function sharing this upper variable from its output terminal. Used to output groups. A second type of multi-input logic gate is used to input two or more logic functions to its input terminal and to output from its output terminal a logic group containing the product of these two or more logic functions.

【0115】上記のように構成された論理回路は、次の
ような利点を有する。まず、この技術では、上位変数を
含む論理グループがマルチプレクサにマッピングされ、
論理グループに含まれる複数の論理関数の積が多入力論
理ゲートにマッピングされる。これにより、パストラン
ジスタと多入力論理ゲートの両者の利点を利用して、ト
ランジスタ数及び段数が少ない論理回路を実現できる。
更に、反転論理ゲートであるNAND又はNORゲート
を多入力論理ゲートとして用いることによっても、トラ
ンジスタの数を減らすことができる。
The logic circuit configured as described above has the following advantages. First, in this technique, the logical group containing the upper variable is mapped to the multiplexer,
A product of a plurality of logic functions included in the logic group is mapped to the multi-input logic gate. Thus, a logic circuit having a small number of transistors and a small number of stages can be realized by utilizing the advantages of both the pass transistor and the multi-input logic gate.
Further, the number of transistors can be reduced by using a NAND or NOR gate, which is an inverted logic gate, as a multi-input logic gate.

【0116】場合によって、論理グループ中に含まれる
論理関数の1つは、1以上の共通変数であることができ
る。共通変数の数に応じて、1つの入力端子が固定され
た論理レベルに維持された単位マルチプレクサを必要
数、第2種の多入力論理ゲートとの組合せで用いること
ができる。
In some cases, one of the logical functions included in a logical group can be one or more common variables. Depending on the number of common variables, the required number of unit multiplexers, one input terminal of which is maintained at a fixed logic level, can be used in combination with the second-type multi-input logic gate.

【0117】論理グループに含まれる2以上の論理関数
が、それぞれ、上位変数を含む下位の論理グループであ
る場合は、それぞれの下位の論理グループを、1つのマ
ルチプレクサを用いてマッピングすることができる。
When two or more logical functions included in a logical group are lower logical groups each including an upper variable, each lower logical group can be mapped using one multiplexer.

【0118】更に、第2の下位の論理関数の1つが下位
の上位変数及びこの下位の上位変数を共有する第3の下
位の論理関数であり、更に、第3の下位の論理関数の一
部又は全部が、それぞれ、第4の下位の論理関数の積を
構成すると仮定する。このような場合、第2の下位の論
理グループは、入力側に配置された第2の第2の種類の
多入力論理ゲートと、1つの入力端子が第2の第2の種
類の多入力論理ゲートの出力端子に接続された第2のマ
ルチプレクサとを含む。第2の第2の種類の多入力論理
ゲートは、第4の下位の論理関数をその入力端子に入力
し、その出力端子から第3の下位の論理関数を出力する
のに使用される。第2のマルチプレクサは、第3の下位
の論理関数をその入力端子に入力し、その制御端子に下
位の上位変数を入力し、その出力端子から、第2の下位
の論理グループを出力するのに使用される。このように
してマッピングされた第2の下位の論理グループは、そ
の後、第2の下位の論理関数の1つとして、第1の種類
の多入力論理ゲートの入力端子に入力される。第2の第
2の種類の多入力論理ゲートの出力端子と第2のマルチ
プレクサの1つの入力端子間の接続、及び、第2のマル
チプレクサの出力端子間と第1の種類の多入力論理ゲー
トの入力端子間の接続は、反転することなく行われる。
Further, one of the second lower-order logical functions is a lower-order upper variable and a third lower-order logical function sharing the lower-order upper variable, and further, a part of the third lower-order logical function Or all, respectively, constitute the product of the fourth lower-order logic function. In such a case, the second lower-level logic group includes a second second-type multi-input logic gate disposed on the input side and one input terminal having a second second-type multi-input logic. A second multiplexer connected to the output terminal of the gate. A second second type of multi-input logic gate is used to input a fourth lower logic function to its input terminal and output a third lower logic function from its output terminal. The second multiplexer inputs a third lower logical function to its input terminal, inputs a lower higher variable to its control terminal, and outputs a second lower logical group from its output terminal. used. The second lower logic group mapped in this way is then input to the input terminal of the first type of multi-input logic gate as one of the second lower logic functions. Connection between the output terminal of the second second-type multi-input logic gate and one input terminal of the second multiplexer, and between the output terminal of the second multiplexer and the first-type multi-input logic gate; The connection between the input terminals is made without inversion.

【0119】[0119]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0120】図8は、特開平9−93118に記載され
た複合パストランジスタ論理回路の基本構成を示す。こ
の複合パストランジスタ論理回路は、複数のパストラン
ジスタ論理回路(パストランジスタ論理演算系統)Rか
ら得られる複数の出力をそれぞれ個別に多入力論理ゲー
トSに入力するように構成されている。ここでパストラ
ンジスタ論理演算系統Rは、直列及び/又は並列に接続
された複数のパストランジスタを有する回路として定義
され、複数の入力ノードから受け取った入力論理信号に
基づく論理演算結果を出力する。
FIG. 8 shows a basic configuration of a composite pass transistor logic circuit described in Japanese Patent Application Laid-Open No. 9-93118. This composite pass transistor logic circuit is configured to individually input a plurality of outputs obtained from a plurality of pass transistor logic circuits (pass transistor logic operation systems) R to a multi-input logic gate S. Here, the pass transistor logic operation system R is defined as a circuit having a plurality of pass transistors connected in series and / or in parallel, and outputs a logic operation result based on input logic signals received from a plurality of input nodes.

【0121】パストランジスタが直列に接続される際
は、前段のパストランジスタの出力端子が、次段のパス
トランジスタの入力端子に接続される。パストランジス
タが並列に接続される際は、パストランジスタの出力端
子が相互に結合される。他方のパストランジスタの出力
端子に接続されない制御端子や入力端子は、入力ノード
として使用される。
When the pass transistors are connected in series, the output terminal of the previous pass transistor is connected to the input terminal of the next pass transistor. When the pass transistors are connected in parallel, the output terminals of the pass transistors are mutually coupled. A control terminal or an input terminal that is not connected to the output terminal of the other pass transistor is used as an input node.

【0122】図9は、パストランジスタ論理演算系統の
例を示す。図9のパストランジスタ論理演算系統Rは、
図10の上部に示す単位マルチプレクサQを合計3個用
いて構成される。作図の便宜上、単位マルチプレクサQ
は、図10の下部に示すシンボルを用いて示す。この単
位マルチプレクサは、ドレインが互いに接続されたnチ
ャネルのMOSトランジスタによって構成された、2つ
のパストランジスタを有している。2つのパストランジ
スタのソースは、それぞれ単位マルチプレクサの入力端
子X、Yとなり、互いに接続されたドレインは出力端子
Uとなる。
FIG. 9 shows an example of a pass transistor logical operation system. The pass transistor logical operation system R in FIG.
It is configured using a total of three unit multiplexers Q shown in the upper part of FIG. For convenience of drawing, unit multiplexer Q
Are shown using the symbols shown in the lower part of FIG. This unit multiplexer has two pass transistors formed by n-channel MOS transistors whose drains are connected to each other. The sources of the two pass transistors are input terminals X and Y of the unit multiplexer, and the drains connected to each other are output terminals U.

【0123】多くの場合、相補的な信号が、制御端子と
して作用する各パストランジスタのゲートに入力され
る。従って、図10に示される例において、一方のMO
Sトランジスタのゲートが、単位マルチプレクサの制御
端子Zに直接接続されるのに対して、他方のMOSトラ
ンジスタのゲートは、インバータを介して制御端子に接
続され、制御端子Zに印加される信号は、反転された
後、前記ゲートに供給される。
In many cases, a complementary signal is input to the gate of each pass transistor acting as a control terminal. Therefore, in the example shown in FIG.
While the gate of the S transistor is directly connected to the control terminal Z of the unit multiplexer, the gate of the other MOS transistor is connected to the control terminal via an inverter, and the signal applied to the control terminal Z is After being inverted, it is supplied to the gate.

【0124】本発明で用いられるマチルプレクサは、前
記のように構成される。即ち、出力端子が互いに連結さ
れた2つのパストランジスタを含む構造が、単位構造と
して採用され、複数の単位構造が、必要に応じて組合さ
れる。しかしながら、本発明は、図9及び図10に示し
たような構造に限定されない。
The multiplexer used in the present invention is configured as described above. That is, a structure including two pass transistors whose output terminals are connected to each other is adopted as a unit structure, and a plurality of unit structures are combined as needed. However, the present invention is not limited to the structure as shown in FIGS.

【0125】例えば、各単位マルチプレクサは、必ずし
も、その中にインバータを含む必要はない。例えば、他
の回路によって一対の相補信号が発生されるときには、
この相補信号が、2つのパストランジスタの各制御端子
に供給できる。又、共通の信号が、複数の単位マルチプ
レクサの制御端子に印加される場合には、インバータ
は、これらの単位マルチプレクサによって共有されても
よい。
For example, each unit multiplexer does not necessarily need to include an inverter therein. For example, when a pair of complementary signals are generated by another circuit,
This complementary signal can be supplied to each control terminal of the two pass transistors. When a common signal is applied to the control terminals of a plurality of unit multiplexers, the inverter may be shared by the unit multiplexers.

【0126】パストランジスタを構成するのにnチャネ
ルMOSトランジスタを用いる代わりに、pチャネルM
OSトランジスタを用いてもよい。あるいは、nチャネ
ルMOSトランジスタとpチャネルMOSトランジスタ
を組合せてもよい。更に、MOSトランジスタ以外のス
イッチング素子を用いてもよい。
Instead of using an n-channel MOS transistor to form a pass transistor, a p-channel M
An OS transistor may be used. Alternatively, an n-channel MOS transistor and a p-channel MOS transistor may be combined. Further, a switching element other than the MOS transistor may be used.

【0127】特開平9−162722に開示されている
ように、パストランジスタは、スイッチング素子と、反
対の極性、及び、より小さな駆動能力を有する補助スイ
ッチング素子を組合せて構成してもよい。具体的には、
nチャネルMOSトランジスタをスイッチング素子とし
て採用し、これよりサイズ(ゲート長に対するゲート幅
の比)が小さいpチャネルMOSトランジスタを、補助
スイッチング素子として採用することができる。更に、
特開平9−93118に開示したように、単位マルチプ
レクサを、互いに反対極性の2つのスイッチング素子、
例えば、nチャネルMOSトランジスタとpチャネルM
OSトランジスタを用いて、各スイッチング素子の出力
端子が互いに接続されるように構成してもよい。
As disclosed in JP-A-9-162722, the pass transistor may be configured by combining a switching element with an auxiliary switching element having an opposite polarity and a smaller driving capability. In particular,
An n-channel MOS transistor is employed as a switching element, and a p-channel MOS transistor having a smaller size (ratio of gate width to gate length) than this can be employed as an auxiliary switching element. Furthermore,
As disclosed in JP-A-9-93118, a unit multiplexer is composed of two switching elements having opposite polarities,
For example, an n-channel MOS transistor and a p-channel M
The output terminals of the switching elements may be connected to each other using an OS transistor.

【0128】図8に示される多入力論理ゲートSとし
て、ANDゲート、ORゲート、NANDゲートやNO
Rゲートを用いることができる。入力端子の数は2又は
他の適当な値とすることができる。典型的には、以下に
述べる本発明の幾つかの実施形態のように、3入力NA
NDゲート又は3入力NORゲートを用いることができ
る。これらの多入力論理ゲートは、典型的には多入力C
MOS論理ゲートとすることができるが、他の型の多入
力論理ゲートも用いることができる。
As the multi-input logic gate S shown in FIG. 8, AND gate, OR gate, NAND gate, NO
An R gate can be used. The number of input terminals can be two or any other suitable value. Typically, as in some embodiments of the invention described below, a three-input NA
An ND gate or a three-input NOR gate can be used. These multiple-input logic gates typically have multiple-input C
Although it can be a MOS logic gate, other types of multi-input logic gates can be used.

【0129】本発明のいくつかの実施形態においては、
多入力論理ゲート及び上記で説明したようなパストラン
ジスタの組合せからなるマルチプレクサが、論理回路を
構成するのに用いられる。しかしながら、マルチプレク
サを多入力論理ゲートに接続する方法は、複数のマルチ
プレクサからの出力が多入力論理ゲートの入力端子に独
立に入力されている、図8に示されるような複合パスト
ランジスタ論理回路に用いられる方法に限定されない。
更に、論理回路は、多入力論理ゲートを用いることな
く、パストランジスタのみを用いて構成されてもよい。
In some embodiments of the present invention,
Multiplexers consisting of a combination of multi-input logic gates and pass transistors as described above are used to construct the logic circuit. However, the method of connecting a multiplexer to a multi-input logic gate is used in a complex pass transistor logic circuit as shown in FIG. 8 in which outputs from a plurality of multiplexers are independently input to input terminals of the multi-input logic gate. It is not limited to the method used.
Further, the logic circuit may be configured using only pass transistors without using a multi-input logic gate.

【0130】パストランジスタと1以上の多入力論理ゲ
ートを共に含む論理回路の場合、パストランジスタと多
入力論理ゲートの共動の結果として効果が得られるよう
に論理回路を構成することが重要である。本発明では、
実現されるべき論理式が与えられると、パストランジス
タで構成するのに適した式の部分と、多入力論理ゲート
で構成するのに適した部分が、論理式から抽出され、論
理式は、パストランジスタと多入力論理ゲートの両方が
効果のあるように用いられた論理回路にマッピングされ
る。この技術は、パストランジスタと多入力論理ゲート
の両者の利点が利用されるように論理回路を構成するの
を可能にする。即ち、本発明は、複合パストランジスタ
論理回路に採用されたパストランジスタを多入力論理ゲ
ートに接続する特定の方法に限定されず、パストランジ
スタと多入力論理ゲートの両者の利点が、結果として得
られる論理回路で得られるように、実現されるべき論理
演算に応じてパストランジスタと多入力論理ゲートが、
様々な方法で組合される。
In the case of a logic circuit including both a pass transistor and one or more multi-input logic gates, it is important to configure the logic circuit so that an effect is obtained as a result of the co-operation of the pass transistor and the multi-input logic gate. . In the present invention,
Given a logical expression to be realized, a part of the expression suitable for being composed of pass transistors and a part suitable for being composed of a multi-input logic gate are extracted from the logical expression. Both transistors and multi-input logic gates are effectively mapped into the used logic circuit. This technique allows the logic circuit to be configured to take advantage of both pass transistors and multi-input logic gates. That is, the present invention is not limited to a particular method of connecting a pass transistor to a multi-input logic gate employed in a composite pass transistor logic circuit, and the advantages of both the pass transistor and the multi-input logic gate result. As obtained by a logic circuit, pass transistors and multi-input logic gates are
They are combined in various ways.

【0131】一般に、信号がパストランジスタを通過す
ると、論理の振幅が減少する。多数のパストランジスタ
が直列に接続されると、論理振幅の減少が大きくなる。
その結果、ノイズマージンが減少し、最悪の場合、論理
信号が次段に正確に伝えられなくなる。更に、多数のパ
ストランジスタが直列に接続された場合、パストランジ
スタの入力及び出力端子間の抵抗の直列接続が、信号伝
播速度を減少させる。この問題を避けるため、直列接続
されるパストランジスタの最大許容数を予め決めておく
ことが望ましい。直列接続されるパストランジスタの数
が、該所定最大数となったときは、論理振幅を回復させ
るためのバッファのような素子が挿入される。パストラ
ンジスタと多入力論理ゲートの両者を含む論理回路の場
合、多入力論理ゲートを、論理振幅を回復するための素
子として用いることができる。論理振幅を回復するため
の素子を用いることなく直列に接続され得るパストラン
ジスタの最大許容数、即ち、パストランジスタ論理演算
系統の最大許容段数は、特定の値に限定されないが、論
理回路の複雑さと論理回路の他の部分の演算速度のバラ
ンスを考慮すると、最大許容数を2又は3とすることが
一般的に望ましい。
In general, when a signal passes through a pass transistor, the logic amplitude decreases. When a large number of pass transistors are connected in series, the decrease in logic amplitude is large.
As a result, the noise margin decreases, and in the worst case, the logic signal cannot be accurately transmitted to the next stage. Further, when a large number of pass transistors are connected in series, the series connection of the resistors between the input and output terminals of the pass transistors reduces the signal propagation speed. In order to avoid this problem, it is desirable to determine the maximum allowable number of pass transistors connected in series in advance. When the number of pass transistors connected in series reaches the predetermined maximum number, an element such as a buffer for restoring the logic amplitude is inserted. In the case of a logic circuit including both a pass transistor and a multi-input logic gate, the multi-input logic gate can be used as an element for recovering a logic amplitude. The maximum allowable number of pass transistors that can be connected in series without using an element for recovering the logic amplitude, that is, the maximum allowable number of stages of the pass transistor logical operation system is not limited to a specific value, but the complexity of the logic circuit and In consideration of the balance between the operation speeds of the other parts of the logic circuit, it is generally desirable to set the maximum allowable number to 2 or 3.

【0132】パストランジスタ論理演算系統に続く段に
多入力論理ゲートが配置されると、大きな静的貫通電流
が多入力論理ゲートを通って流れ、その結果、論理回路
の電力消費が大きくなる可能性がある。静的貫通電流と
は、出力レベルが“1”又は“0”論理レベルのいずれ
かの安定状態に到達した後で、回路素子を通ってVDD
電源からGND電源へ流れる貫通電流を指す。これは、
多入力論理ゲートを構成するのに、CMOS構造のよう
に、小さな静的貫通電流を有する回路構造が採用されて
いても発生する。何故ならば、パストランジスタによっ
て生じた論理振幅の減少が、多入力論理ゲートを構成す
る相補的なスイッチング素子(CMOS多入力論理ゲー
トの場合、nチャネルMOSトランジスタとpチャネル
MOSトランジスタ)の一つを不完全なオフ状態にする
からである。このような問題を避けるべく、特開平9−
93118や9−162722に開示されたような可能
な技術のいずれかを用いて、静的貫通電流を抑制するこ
とが望ましい。
When a multi-input logic gate is arranged at a stage following the pass transistor logic operation system, a large static through current flows through the multi-input logic gate, and as a result, the power consumption of the logic circuit may increase. There is. The static feed-through current is defined as VDD through a circuit element after the output level reaches a stable state of either "1" or "0" logic level.
It indicates a through current flowing from the power supply to the GND power supply. this is,
This occurs even when a circuit structure having a small static through current, such as a CMOS structure, is employed to form a multi-input logic gate. This is because the decrease in logic amplitude caused by the pass transistor causes one of the complementary switching elements (an n-channel MOS transistor and a p-channel MOS transistor in the case of a CMOS multi-input logic gate) constituting a multi-input logic gate. This is because an incomplete OFF state is set. In order to avoid such a problem, Japanese Patent Application Laid-Open
It is desirable to suppress the static shoot-through current using any of the possible techniques as disclosed in 93118 and 9-162722.

【0133】本発明による特定の実施形態を説明する前
に、全ての実施形態に共通の回路設計技術について、ま
ず説明する。
Before describing a specific embodiment according to the present invention, a circuit design technique common to all embodiments will be described first.

【0134】以下に説明する実施形態において、特定の
論理演算を実行するための論理回路の設計方法が提示さ
れる。典型的には、本発明によって設計される論理回路
は、本発明に従って設計された1以上の論理回路を含む
半導体集積回路中に具体化される。集積回路は、何か他
の技術によって設計された1以上の論理回路を含んでい
てもよい。集積回路は、様々な機能を実現するための電
子システムを構成するよう、他の集積回路又は独立した
装置と組合せて用いることができる。例えば、図11及
び図12は、それぞれ、パーソナルハンディフォンのハ
ンドセットとデジタルセルラーフォンの加入者ユニット
のブロック線図を示す。これらの図に示されるように、
これらのシステムでは、様々な回路が用いられている。
これらの回路の中で、図中*印で示した回路の一部又は
全体が、本発明によって設計されるのに特に適してい
る。何故ならば、これらの回路では、トランジスタの数
が少ないこと、消費電力が少ないこと、及び、演算速度
が高速であることが強く要求されているからである。
In the embodiment described below, a method of designing a logic circuit for executing a specific logical operation is presented. Typically, a logic circuit designed according to the present invention is embodied in a semiconductor integrated circuit including one or more logic circuits designed according to the present invention. An integrated circuit may include one or more logic circuits designed by some other technology. The integrated circuit can be used in combination with other integrated circuits or independent devices to form an electronic system for performing various functions. For example, FIGS. 11 and 12 show block diagrams of a personal handyphone handset and a digital cellular phone subscriber unit, respectively. As shown in these figures,
Various circuits are used in these systems.
Of these circuits, some or all of the circuits indicated by * in the figure are particularly suitable for being designed according to the present invention. This is because these circuits are strongly required to have a small number of transistors, low power consumption, and high operation speed.

【0135】以下で説明する実施形態は、与えられた論
理式を最適化する方法や、与えられた論理式を、パスト
ランジスタを含む論理回路、特に、パストランジスタと
多入力論理ゲートの両者を含む論理回路へマッピングす
る方法を取り扱っている。本発明は、様々な実用分野で
用いられる集積回路の形で大規模論理回路を設計するの
に採用することができる。
The embodiments described below are directed to a method of optimizing a given logical expression and a method of converting a given logical expression to a logic circuit including a pass transistor, in particular, including both a pass transistor and a multi-input logic gate. It deals with how to map to logic circuits. The present invention can be employed to design large-scale logic circuits in the form of integrated circuits used in various practical fields.

【0136】典型的には、本発明によるこれらの実施形
態の方法は、メインフレームコンピュータ、エンジニア
リングワークステーションやパーソナルコンピュータの
CAD(コンピュータ支援設計)システム上で実行され
る。図13に示すように、CADシステムは、CPU、
設計されるべき論理式を入力するための入力装置(磁気
テープ装置やネットワーク)、設計された回路データを
出力するための出力装置(磁気テープ装置やネットワー
ク)、論理式や論理回路を設計過程で記憶するための記
憶装置(半導体メモリや磁気ディスク)を含んでいる。
記憶装置は、システムを制御するソフトウェアも記憶し
ている。CADシステムは、更に、マンマシンインター
フェイスとして用いられるキーボード、ディスプレイや
デジタイザを含んでいる。図7に示される全ての処理
は、単一のCADシステム、又は、各処理のための独立
した複数のCADシステムのいずれかによって実行され
る。更に、CADシステムは、設計された回路を検証す
るための回路シミュレーションを実行したり、設計され
た回路に従ってマスクレイアウトを発生するのにも用い
られる。そのようなCADシステムは、全て、本発明の
範囲に属する。
Typically, the methods of these embodiments according to the present invention are performed on a CAD (Computer Aided Design) system of a mainframe computer, an engineering workstation or a personal computer. As shown in FIG. 13, the CAD system includes a CPU,
An input device (magnetic tape device or network) for inputting a logical expression to be designed, an output device (magnetic tape device or network) for outputting designed circuit data, a logical expression or a logical circuit in the design process A storage device (semiconductor memory or magnetic disk) for storing is included.
The storage device also stores software for controlling the system. The CAD system further includes a keyboard, display and digitizer used as a man-machine interface. All of the processing shown in FIG. 7 is performed by either a single CAD system or multiple independent CAD systems for each processing. Further, the CAD system is also used to execute a circuit simulation for verifying a designed circuit or to generate a mask layout according to the designed circuit. All such CAD systems are within the scope of the present invention.

【0137】更に、本発明は、本発明による設計アルゴ
リズム又は技術を含むCADプログラムや、そのような
プログラムが記憶された磁気ディスクのような媒体も、
その範囲に含む。
Further, the present invention provides a CAD program including the design algorithm or technique according to the present invention, and a medium such as a magnetic disk on which such a program is stored.
Include in that range.

【0138】以下に説明する実施形態の設計方法によっ
て得られる論理回路は、様々な新しい論理回路を含んで
いる。そのような新規な論理回路、及び、そのような新
規な論理回路を含む電子システムも、本発明の範囲に含
まれる。更に、そのような新規な論理回路を用いて論理
演算を実行する方法も、本発明の範囲に含まれる。
The logic circuit obtained by the design method of the embodiment described below includes various new logic circuits. Such a novel logic circuit and an electronic system including such a novel logic circuit are also included in the scope of the present invention. Further, a method of performing a logical operation using such a novel logic circuit is also included in the scope of the present invention.

【0139】論理回路によって実行されるべき論理演算
は、集積回路の外部との入力及び出力に関係する変数
と、集積回路の内部の順序回路やメモリ回路(フリップ
フロップやレジスタやメモリ)との入力及び出力に関係
する変数と、集積回路中のノードとの入力及び出力を含
む論理式によって表わされる。ここで、「論理式」とい
う文言は、出力変数と複数の入力変数間の論理的な関係
を記載した式を意味する。この式は、入力変数の和、積
及び/又は積和を含むことができる。この式は、入力変
数の様々な論理関数を含むこともできる。典型的には、
この式は、「出力変数」=「入力変数の積和」の形の数
学的な式によって記述される。しかしながら、この式
は、HDL(ハードウェア記述言語)、真理値表や状態
遷移図を含む様々な他の形によって記述される。論理回
路を設計するためのCADシステムにおいて、任意の形
で与えられたこの論理式は、CPUによって読むことが
できる形に変換され、CADシステムの記憶装置の適切
な場所に記録されて、CPUによって処理される。
The logical operation to be executed by the logic circuit includes variables relating to inputs and outputs from the outside of the integrated circuit and inputs to a sequential circuit and a memory circuit (a flip-flop, a register and a memory) inside the integrated circuit. And variables related to outputs and logical expressions including inputs and outputs of nodes in the integrated circuit. Here, the term “logical expression” means an expression that describes a logical relationship between an output variable and a plurality of input variables. This expression may include the sum, product and / or sum of products of the input variables. This expression can also include various logic functions of the input variables. Typically,
This expression is described by a mathematical expression of the form "output variable" = "sum of products of input variables". However, this expression may be described in various other forms, including HDL (Hardware Description Language), truth tables and state transition diagrams. In a CAD system for designing a logic circuit, this logical expression given in an arbitrary form is converted into a form that can be read by a CPU, recorded in an appropriate place in a storage device of the CAD system, and written by the CPU. It is processed.

【0140】高速動作が可能で、少ないトランジスタ
数、低消費電力等の優れた論理回路を得るには、一般
に、次の点を考慮して、与えられた論理式を最適化する
ことが望ましい。
In order to obtain an excellent logic circuit which can operate at high speed and has a small number of transistors and low power consumption, it is generally desirable to optimize a given logic expression in consideration of the following points.

【0141】A1.出力に強い影響力を持つ変数は論理
式の高位レベルに置く。論理式中の高位レベルに配置さ
れた、これらの変数は、設計された論理回路の出力側の
近くに入力される。
A1. Variables that have a strong influence on the output are placed at higher levels in the formula. These variables, located at higher levels in the logic expression, are input near the output of the designed logic circuit.

【0142】A2.互いに密接に関係する変数は、同順
位に配置する。
A2. Variables that are closely related to each other are placed in the same rank.

【0143】パストランジスタを含む論理回路の設計に
おいては、次の点を考慮することが望ましい。
In designing a logic circuit including pass transistors, it is desirable to consider the following points.

【0144】A3.パストランジスタを含むマルチプレ
クサの利点が実現される回路構造を持つように論理回路
を設計する。これにより、回路に使用されるトランジス
タ数を少なくすることができる。この点に関して、本発
明は、後述する組合せ種類法(変数組合せ法)を与え
る。
A3. The logic circuit is designed to have a circuit structure that realizes the advantages of the multiplexer including the pass transistor. Thus, the number of transistors used in the circuit can be reduced. In this regard, the present invention provides a combination type method (variable combination method) described below.

【0145】多入力論理ゲートも含む論理回路の設計に
おいては、次の点を考慮することが望ましい。
In designing a logic circuit including a multi-input logic gate, it is desirable to consider the following points.

【0146】A4.独立した多入力論理ゲートを用いて
積項をマッピングする代わりに、1以上の共通変数を持
つ複数の積項をまとめ、これらの積項を共通の多入力論
理ゲートに入力する。これによって、使用されるトラン
ジスタ数及び段数が少なくなる。この点に関して、本発
明は、後述する共通変数法を与える。
A4. Instead of mapping the product terms using independent multi-input logic gates, a plurality of product terms having one or more common variables are collected, and these product terms are input to a common multi-input logic gate. This reduces the number of transistors and the number of stages used. In this regard, the present invention provides a common variable method described below.

【0147】更に、多入力論理ゲートを論理回路に用い
る場合は、次の点を考慮することが望ましい。
Further, when a multi-input logic gate is used in a logic circuit, it is desirable to consider the following points.

【0148】A5.多入力論理ゲートとしては、AND
ゲートやORゲートよりも、NANDゲートやNORゲ
ートの方が適当である。NANDゲートやNORゲート
の場合、論理が反転するので、後述するように論理レベ
ルを整合させる必要がある。
A5. As a multi-input logic gate, AND
A NAND gate or a NOR gate is more appropriate than a gate or an OR gate. In the case of a NAND gate or a NOR gate, since the logic is inverted, it is necessary to match the logic levels as described later.

【0149】以下、上記のA1〜A5のすべて、あるい
は幾つかの条件が考慮された、本発明による設計方法を
説明する。この設計方法によって達成された独特な様相
を有する論理回路についても、各方法に関連して説明す
る。図7に簡単に示す如く、本発明による基本的な設計
手続は、与えられた組合せ論理式を、論理回路にマッピ
ングするのに適した最適形に変換するステップと、1次
マッピングを行うステップと、論理レベルを整合させる
ステップを含む。他の実施形態では、マッピングと論理
レベル整合が同時に行われる。これらの、及び、以下に
説明する他の実施形態では、上記手続の様々な部分と関
連する好適な技術が提示される。実際には、特定の実施
形態を参照して以下に説明する、これらの技術の適切な
組合せに従って、論理回路を設計することができる。更
に、これらの技術を、他の従来技術と組合せることもで
きる。
A design method according to the present invention in which all or some of the above conditions A1 to A5 are considered will be described below. Logic circuits having unique aspects achieved by this design method will also be described in connection with each method. As briefly shown in FIG. 7, the basic design procedure according to the present invention comprises the steps of converting a given combinational logical expression into an optimal form suitable for mapping to a logic circuit, and performing a primary mapping. , Matching the logic levels. In other embodiments, mapping and logic level matching are performed simultaneously. In these and other embodiments described below, suitable techniques are presented that relate to various parts of the above procedure. In practice, logic circuits can be designed according to the appropriate combination of these techniques, described below with reference to specific embodiments. Further, these techniques can be combined with other conventional techniques.

【0150】以下、第1乃至第4実施形態を説明する。
ここで、第1実施形態は、前記組合わせ種類法に基づ
き、第2実施形態は、前記ボトムアップの共通変数法に
基づき、第3実施形態は、前記トップダウンの共通変数
法に基づき、第4実施形態は、前記共通変数/組合せ種
類法に基づく。第1乃至第4実施形態を別々に説明する
前に、まず共通の事項を説明する。
Hereinafter, the first to fourth embodiments will be described.
Here, the first embodiment is based on the combination type method, the second embodiment is based on the bottom-up common variable method, and the third embodiment is based on the top-down common variable method. Fourth embodiment is based on the common variable / combination type method. Before describing the first to fourth embodiments separately, common matters will be described first.

【0151】第1乃至第4実施形態においては、一例と
して下記の論理式(2)を用いる。
In the first to fourth embodiments, the following logical expression (2) is used as an example.

【0152】[0152]

【数2】 ここで、a,b,c,d,e,f,g,h,i,jは入
力変数、変数の上のバーは負論理、・は論理積(AN
D)、+は論理和(OR)である。
(Equation 2) Here, a, b, c, d, e, f, g, h, i, j are input variables, bars above the variables are negative logic,.
D) and + are logical sums (OR).

【0153】この論理式は、合計8つの積項を含む。こ
れらの8つの積項に対して、(2)式中での順に、〜
の番号を付す。図14の表において、これらの8積項
は、上から数えて第2〜第9行に記載されている。この
表において、負論理の変数は“0”で表示し、正論理の
変数は“1”で表示し、各積項に含まれない変数は
“2”(don't care)で表示している。図14の表にお
いて1行目の各列には、(2)式中の変数a〜jが左か
ら右へ順に示されている。例えば2行目は、(2)式中
の積項の
This logical expression includes a total of eight product terms. For these eight product terms, in the order in equation (2),
Number. In the table of FIG. 14, these eight product terms are described in the second to ninth rows counted from the top. In this table, variables of negative logic are represented by "0", variables of positive logic are represented by "1", and variables not included in each product term are represented by "2"(don't care). I have. In the table of FIG. 14, the variables a to j in the equation (2) are shown in order from left to right in each column of the first row. For example, the second line is the product term in equation (2).

【外9】 を表している。この積項は、負論理の変数a〜iを含
むため、変数a〜iに対応する列には“0”が入れられ
ている。又、この積項は変数jを含まないので、変数
jに対応する列には“2”が入れられている。従って図
14の2行目は、“0000000002”で与えられ
る。
[Outside 9] Is represented. Since this product term includes variables a to i of negative logic, “0” is inserted in a column corresponding to the variables a to i. Since this product term does not include the variable j, "2" is entered in the column corresponding to the variable j. Therefore, the second line in FIG. 14 is given by “0000000000002”.

【0154】本発明の第1、第2、第4実施形態のアル
ゴリズムを検証するため、後述する図27、図28、図
41、図42に示されるプログラムを、マイクロソフト
社製の表計算プログラム「Excel」の「Visua
l Basic」を用いて作成している。例えば図14
の表の場合は、「Excel」シートの“A1”セルか
ら始まる1行目に各変数名を登録し、積項を、2行目以
降に記憶する。次いでプログラムを起動する。
In order to verify the algorithms of the first, second, and fourth embodiments of the present invention, a program shown in FIGS. 27, 28, 41, and 42, which will be described later, is replaced with a spreadsheet program “Microsoft”. Excel "Visua
1 Basic ". For example, FIG.
, Each variable name is registered in the first row starting from the “A1” cell of the “Excel” sheet, and the product terms are stored in the second and subsequent rows. Next, the program is started.

【0155】第1乃至第4実施形態、及び、以下で説明
する第5〜第7実施形態においても、パストランジスタ
の最大許容段数は2段とし、多入力論理ゲートの入力端
子の最大許容数は3個としている。
In the first to fourth embodiments and the fifth to seventh embodiments described below, the maximum allowable number of pass transistors is two, and the maximum allowable number of input terminals of a multi-input logic gate is There are three.

【0156】以下、本発明の第1実施形態による論理回
路の設計方法について説明する。
Hereinafter, a method for designing a logic circuit according to the first embodiment of the present invention will be described.

【0157】次の(3)式に示される論理式は、図9に
示すように、6個のパストランジスタと3個のインバー
タを含むマルチプレクサにマッピングすることができ
る。この回路は、多入力論理ゲートを使って達成される
論理回路に比べて小数のトランジスタ及び小数の段数を
含んでいる。この点で、この回路は、理想的な回路構成
の好例である。この回路において、各インバータは、n
チャンネルMOSトランジスタとpチャンネルMOSト
ランジスタの組合せで構成することができる。従って、
この回路は、合計12個のトランジスタを含んでいる。
2つの第1段マルチプレクサで1つのインバータを共有
すれば、トランジスタの総数は、10個に減らせる。
The logical expression shown in the following expression (3) can be mapped to a multiplexer including six pass transistors and three inverters, as shown in FIG. This circuit includes a small number of transistors and a small number of stages as compared to a logic circuit achieved using multiple-input logic gates. In this regard, this circuit is a good example of an ideal circuit configuration. In this circuit, each inverter has n
It can be constituted by a combination of a channel MOS transistor and a p-channel MOS transistor. Therefore,
This circuit includes a total of twelve transistors.
If one inverter is shared by two first-stage multiplexers, the total number of transistors can be reduced to ten.

【0158】[0158]

【数3】 (Equation 3)

【0159】ここで、C,D,E,Fは任意の論理関数
である。
Here, C, D, E, and F are arbitrary logical functions.

【0160】(3)式において、変数a及びbは上位変
数である。この例のように、実現されるべき論理演算を
表わした、所与の論理式から上位変数が選択されると、
選択された上位変数を使用して論理式がグループ化され
る。得られた論理式はマルチプレクサを用いた論理回路
にマッピングされる。
In the equation (3), variables a and b are upper variables. As in this example, when a higher-level variable is selected from a given logical expression that represents a logical operation to be realized,
The logical expressions are grouped using the selected superior variable. The obtained logical expression is mapped to a logical circuit using a multiplexer.

【0161】第1実施形態においては、1以上の上位変
数を特定し、積項を効率的な方法でグループ化するため
に、組合せ種類法が用いられている。この組合せ種類法
では、まず変数の組が作られる。このとき、直列接続さ
れるパストランジスタの最大許容段数に従って、組中の
変数の数が決定される。例えば、パストランジスタ段数
の最大許容値がvならば、(v+1)個の変数の組が作
られる。次いで、組中の変数の論理組合せ種類数が決定
される。v=2の例を、図14〜図17の変数表に示
す。ここでは、作図の便宜上、単一の変数表が、図14
〜図17に示される4つの表に分割されている。
In the first embodiment, a combination type method is used to specify one or more upper variables and group product terms in an efficient manner. In this combination type method, first, a set of variables is created. At this time, the number of variables in the set is determined according to the maximum allowable number of pass transistors connected in series. For example, if the maximum allowable value of the number of pass transistor stages is v, (v + 1) sets of variables are created. Next, the number of logical combination types of the variables in the set is determined. An example of v = 2 is shown in the variable tables of FIGS. Here, a single variable table is shown in FIG.
17 are divided into four tables shown in FIG.

【0162】例えば変数cに着目して、変数aとbとc
の組の論理組合せ種類数を考える。図14に示される表
の2行目から9行目において、積項、、では“0
00”の組合せ、積項、、では“111”の組合
せ、積項では“101”の組合せが示されている。従
って、変数の異なる組合せ種類数は3となる。このた
め、図14の11行目の第3列に“3”を入れる。積項
の変数cの値は“2”(don't care)なので、積項
は変数cを含んでいない。従って、この項は組合せには
含まれていない。この表には示されていないが、変数c
が“2”ではなく、他の2変数が“2”の場合、例えば
“221”や“220”の組合せは、カウントしない。
一方、c以外の変数の一つが、“2”であり、他の2つ
の変数が、それぞれ“2”以外の値である組合せ、例え
ば、“211”や“120”はカウントする。
For example, focusing on the variable c, the variables a, b, and c
Consider the number of logical combinations of the set In the second to ninth rows of the table shown in FIG.
The combination of “00” and the product term are shown as “111”, and the product term is shown as “101.” Therefore, the number of different combinations of variables is 3. Therefore, 11 in FIG. Put "3" in the third column of the row. Since the value of the variable c of the product term is "2"(don't care), the product term does not include the variable c. Not included, not shown in this table, but variable c
Is not "2" and the other two variables are "2", for example, the combination of "221" or "220" is not counted.
On the other hand, a combination in which one of the variables other than c is “2” and the other two variables are values other than “2”, for example, “211” or “120” is counted.

【0163】同様に、11行目の第4〜10列に、それ
ぞれ変数d、e、f、g、h、i、jと変数b、cとの
論理組合せ種類数を記入する。12行目以下も、論理組
合せ種類数が同様に決定される。
Similarly, the number of logical combinations of variables d, e, f, g, h, i, j and variables b, c is entered in the fourth row to the tenth column of the eleventh row. The number of logical combination types is determined in the same manner in the twelfth line and below.

【0164】あるいは、(v+1)個の変数の代りに、
v個の変数を組合せてもよい。この場合、組合せ種類数
は、図18に示す通りとなる。しかしながら、(v+
1)個の変数を組合せた方が、組合せ種類数の違いを判
別し易い。一般には、積項の数が2v より多い場合は、
(v+1)個の変数を互いに組合せ、積項の数が(v+
1)より少ない場合は、v個の変数を互いに組合せる。
Alternatively, instead of the (v + 1) variables,
You may combine v variables. In this case, the number of combinations is as shown in FIG. However, (v +
1) It is easier to determine the difference in the number of combinations by combining the variables. In general, if the number of product terms is greater than 2 v ,
(V + 1) variables are combined with each other, and the number of product terms is (v +
1) If less, combine v variables with each other.

【0165】本実施形態では、vが2とされているが、
vを異なる値とすることもできる。v=1で(v+1)
個の変数が組み合わされると、“21”及び“20”と
いう組合せがカウントされる。v=1でv個の変数が組
み合わされると、“1”と“0”が「組合せ」とみなさ
れ、カウントされる。
In this embodiment, v is 2.
v can have different values. (v + 1) with v = 1
When the variables are combined, the combinations “21” and “20” are counted. When v = 1 and v variables are combined, “1” and “0” are regarded as “combination” and counted.

【0166】このようにしてすべての可能な組について
の論理組合せ種類数を求めた後、各変数a〜jについ
て、論理組合せ種類数の最大値と、この最大値の発生回
数を求める。例えば変数aに着目した論理組合せ種類数
は、図14の11行目から図17の下から6行目までの
第1列の数値である。従って、最大値は“8”であり、
この最大値“8”の発生回数は“6”となっている。従
って図17の第1列で、下から4行目の最大値は“8”
となっており、下から3行目の最大値発生回数は“6”
となっている。本実施形態では、「組合せ種類数最大
値」が多い順に、同数の場合は「最大値の発生回数」が
多い順に、最大v個の変数を選択する。即ち、組合せ種
類数が多い組に含まれる順に変数を選ぶ。そして、組合
せ種類数が同じ場合には、組合せ種類数が大きい組に含
まれる回数が多い順に変数を選ぶ。
After the number of logical combination types for all possible sets is obtained in this way, the maximum value of the number of logical combination types and the number of occurrences of this maximum value are obtained for each of the variables a to j. For example, the number of logical combination types focusing on the variable a is a numerical value in the first column from the 11th row in FIG. 14 to the 6th row from the bottom in FIG. Therefore, the maximum value is “8”,
The number of occurrences of this maximum value “8” is “6”. Therefore, in the first column of FIG. 17, the maximum value in the fourth row from the bottom is “8”.
And the maximum number of occurrences in the third line from the bottom is “6”
It has become. In the present embodiment, up to v variables are selected in descending order of the “maximum value of the number of combinations” and, in the case of the same number, in descending order of the “number of occurrences of the maximum value”. That is, the variables are selected in the order in which they are included in the set having the largest number of combinations. When the number of combination types is the same, variables are selected in descending order of the number of times included in a set having a large number of combination types.

【0167】選ばれた変数は上位変数とされ、これらの
上位変数を含む積項がグループ化される。前述の(2)
式及び図14〜図17の例では、まず変数b(組合せの
最大数8、発生回数10)、ついで変数a(組合せの最
大数8、発生回数6)が選ばれる。従って、(2)式中
の積項は、下記の(4)式のようにグループ化される。
The selected variables are set as upper variables, and product terms including these higher variables are grouped. The above (2)
In the formulas and the examples of FIGS. 14 to 17, first, the variable b (maximum number of combinations 8 and the number of occurrences 10), and then the variable a (maximum number of combinations 8 and the number of occurrences 6) are selected. Therefore, the product terms in the expression (2) are grouped as in the following expression (4).

【0168】[0168]

【数4】 (Equation 4)

【0169】このようにして、第1実施形態による最適
化の第1サイクルが完了する。
Thus, the first cycle of the optimization according to the first embodiment is completed.

【0170】(4)式において、括弧の外側に配置され
た変数a及びbは上位変数であり、各括弧内の変数は、
上位変数を共有する論理関数を作り上げている。
In the equation (4), the variables a and b arranged outside the parentheses are upper variables, and the variables in each parenthesis are:
We have created a logical function that shares the upper variables.

【0171】(4)式に示されるように、括弧を導入す
る処理は、単に理解を容易とするためであり、本発明に
本質的なものではない。CADシステムを用いた論理回
路設計の実際の過程では、論理式はCPUによって読ま
れる形式で、記憶装置内の適当な場所に記憶される。ど
の変数が上位変数であり、どの論理関数が上位変数を共
有するかが決定され、その結果は、CPUによって読ま
れる形式で記憶装置に記憶される。このようにして、グ
ループ化がCPUによって実行される。
As shown in equation (4), the process of introducing parentheses is merely for easy understanding, and is not essential to the present invention. In the actual process of designing a logic circuit using a CAD system, the logical formula is stored in an appropriate location in a storage device in a form that can be read by the CPU. It is determined which variables are the upper variables and which logical functions share the upper variables, and the results are stored in a storage device in a form that is read by the CPU. In this way, the grouping is performed by the CPU.

【0172】上記例において、選択された変数a、b
は、共に上位変数になっている。即ち、上記の処理によ
って、2個の上位変数が特定できる。ただし、常にv個
の上位変数を特定できるとは限らない。例えば、v=2
で2変数の組合せ数が4個あれば、積項を、
In the above example, the selected variables a, b
Are both top variables. That is, two upper variables can be specified by the above processing. However, v upper variables cannot always be specified. For example, v = 2
If the number of combinations of two variables is 4, then the product term is

【外10】 のように、2つの多重上位変数を有する形にグループ化
することができる。2変数の組合せ数が3個なら、積項
を、
[Outside 10] Can be grouped into a form having two multiple upper variables. If the number of combinations of two variables is 3, the product term is

【外11】 のように、部分的な2つの多重上位変数を有する形にグ
ループ化することができる。一方、2変数の組合せ数が
2個の場合は、1変数のみが上位変数になる。この場
合、積項は、
[Outside 11] Can be grouped into a form having two partial multiple upper variables. On the other hand, when the number of combinations of two variables is two, only one variable is the upper variable. In this case, the product term is

【外12】 のように、a又はbの一方のみが上位変数である形か、
又は、
[Outside 12] Or only one of a or b is an upper variable,
Or

【外13】 のように、一つの上位変数aと一つの共通変数bを含む
形にグループ化できる。
[Outside 13] , The group can be grouped into a form including one upper variable a and one common variable b.

【0173】これらの事実を考慮して、実際には上位変
数である変数を特定し、特定された上位変数に関してグ
ループ化を実行することができる。あるいは、自由にv
個の変数を選択し、選択された変数に関してグループ化
を行うこともできる。前者の技術によれば、より良い最
適化が可能であるのに対して、後者の技術によれば、処
理が単純である。
In consideration of these facts, it is possible to specify a variable that is actually a high-order variable and execute grouping on the specified high-order variable. Or v
It is also possible to select a number of variables and perform grouping on the selected variables. According to the former technique, better optimization is possible, whereas according to the latter technique, processing is simple.

【0174】続けて、最適化処理の第2サイクルとして
同様な処理が繰り返される。このサイクルにおいては、
各グループのより低位の論理グループ、即ち、各括弧内
の論理関数が、論理式と見做され、この論理式中に含ま
れる積項が、同様な方法でグループ化される。この処理
においては、処理時間を短くするために、グループ中の
共通変数を除外し、これらに対して組合せ種類数を決定
する処理を行わないことが望ましい。この除外は、例え
ば、各グループに含まれる全ての積項の論理積を決定す
ることによって簡単に行われる。これにより、多入力論
理ゲートの利点が利用された形で、多入力論理の入力端
子で共通変数をマッピングするのも容易となる。
Subsequently, similar processing is repeated as the second cycle of the optimization processing. In this cycle,
The lower logical group of each group, ie, the logical function in each parenthesis, is considered a logical expression, and the product terms contained in the logical expression are grouped in a similar manner. In this processing, in order to shorten the processing time, it is desirable to exclude common variables in the group and not perform processing for determining the number of combination types for these. This exclusion is easily performed, for example, by determining the logical product of all the product terms included in each group. This makes it easy to map common variables at the input terminals of the multi-input logic, taking advantage of the multi-input logic gate.

【0175】上記の(4)式において、第1項の括弧内
の3個の積項のcバーと、第2項の括弧内の3個の積項
のcとは、各グループ内の共通変数である。これらの共
通変数を除外した後の、第1項の括弧内の積項に関する
論理組合せ種類数は、図19及び図20の表に示される
如くである。ここで図19及び図20は、2つに分割さ
れた単一の表を示している。この表の2〜4行目には、
このグループに含まれる3個の積項((2)式の第1、
第2、第6項に由来する)の上位変数及び共通変数を除
いた部分が示されている。図20の表の下から4行目に
示されるように、組合せ種類数最大値は3であり、変数
d、f、g及びhを含む変数の組が最大値3を有する。
これらの中で、下から3行目に示されるように、変数d
は、最大値の発生回数30を有する。変数f、g及びh
は、これに次ぐ最大発生回数28を有する。従って、ま
ず変数dが選ばれる。変数f、g、hは等価であるた
め、どれを次に選んでも良いが、ここでは変数fを選択
する。選択された変数dとfを上位変数として用いて、
グループ内の積項が、更にグループ化される。
In the above equation (4), c bar of three product terms in parentheses of the first term and c of three product terms in parentheses of the second term are common to each group. Variable. After excluding these common variables, the numbers of logical combination types regarding the product terms in parentheses in the first term are as shown in the tables of FIGS. 19 and 20. Here, FIG. 19 and FIG. 20 show a single table divided into two. In the second to fourth rows of this table,
The three product terms included in this group (the first in equation (2),
2 (from the second and sixth terms) and the common variables are excluded. As shown in the fourth row from the bottom of the table in FIG. 20, the maximum value of the number of combinations is 3, and a set of variables including variables d, f, g, and h has a maximum value of 3.
Among them, as shown in the third line from the bottom, the variable d
Has a maximum number of occurrences of 30. Variables f, g and h
Has the next maximum occurrence 28. Therefore, first, the variable d is selected. Since the variables f, g, and h are equivalent, any of them may be selected next. Here, the variable f is selected. Using the selected variables d and f as upper variables,
The product terms in the group are further grouped.

【0176】同様に第2項の積項も更にグループ化す
る。すると、元の論理式は下記の(5)式に変換され
る。
Similarly, the product term of the second term is further grouped. Then, the original logical expression is converted into the following expression (5).

【0177】[0177]

【数5】 (Equation 5)

【0178】上記の処理は、任意の最下位グループが、
変数のみを含む積項を1又は0個だけ含むようになる
迄、繰返し実行される。(5)式において、最下位グル
ープに含まれる任意の論理関数、即ち、ネスティングが
最も深い括弧内の任意の論理関数は、変数のみを含む積
項を一個だけ含んでいる。即ち、最下位グループの変数
の組合せ種類数は1又は0であり、従って、これ以上は
グループ化の対象にならない。
In the above processing, an arbitrary lowest group is
The process is repeated until only one or zero product terms including only variables are included. In the expression (5), any logical function included in the lowest group, that is, any logical function in parentheses having the deepest nesting includes only one product term including only variables. In other words, the number of combinations of variables in the lowest group is 1 or 0, and therefore, no more grouping is possible.

【0179】本実施形態によって最適化された論理式
(5)に対して、後述する第5実施形態の1次マッピン
グ処理や第6実施形態の論理レベル整合を行って得た論
理回路は図21〜図26に示す通りである。ここでは、
作図の便宜上、単一の回路図が、図21〜図26に示さ
れる複数の部分に分割されている。図において、符号S
11−S22は、論理回路中の信号接続を説明するのに
使われている。即ち、異なる図中で同じ符号により表さ
れている信号は、互いに接続される。この論理回路のト
ランジスタ数は合計133個、最大パス段数は9段であ
る。この論理回路は最適解ではないが、よい結果が得ら
れている。類似の回路構造を回路の複数の部分で共有化
する処理を行えば、論理回路の構成を更に改善すること
ができる。例えば、図21の上段に示される部分では、
信号S11とS17を発生するのに、1つのマルチプレ
クサが共通に使われている。
A logic circuit obtained by performing a primary mapping process of a fifth embodiment described later and a logic level matching of the sixth embodiment with respect to the logic expression (5) optimized by the present embodiment is shown in FIG. 26 to FIG. here,
For convenience of drawing, a single circuit diagram is divided into a plurality of parts shown in FIGS. In FIG.
11-S22 is used to describe signal connections in the logic circuit. That is, signals represented by the same reference numerals in different drawings are connected to each other. This logic circuit has a total of 133 transistors, and the maximum number of pass stages is nine. Although this logic circuit is not the optimal solution, good results have been obtained. If a process of sharing a similar circuit structure by a plurality of portions of the circuit is performed, the configuration of the logic circuit can be further improved. For example, in the part shown in the upper part of FIG.
One multiplexer is commonly used to generate signals S11 and S17.

【0180】図21〜図26に示す論理回路は、22個
の単位マルチプレクサと、10個の多入力論理ゲート
と、1個のインバータを含んでいる。
The logic circuits shown in FIGS. 21 to 26 include 22 unit multiplexers, 10 multi-input logic gates, and one inverter.

【0181】この回路は、例えば図22に示される部分
に2段マルチプレクサを含んでいる。この2段マルチプ
レクサは、2つの多重上位変数d及びfを含む論理グル
ープ
This circuit includes, for example, a two-stage multiplexer in the portion shown in FIG. This two-stage multiplexer is a logical group including two multiplex upper variables d and f.

【外14】 をマッピングするのに使われる。即ち、上位変数d及び
fは制御端子に入力され、論理関数
[Outside 14] Used to map That is, the upper variables d and f are input to the control terminal, and the logical function

【外15】 は、信号S11、S12及びS13として、入力端子に
入力される。同様に、図24に示される部分の2段マル
チプレクサは、2つの多重上位変数d及びiを含む論理
グループ
[Outside 15] Are input to input terminals as signals S11, S12 and S13. Similarly, the two-stage multiplexer of the part shown in FIG. 24 is a logical group including two multiplex upper variables d and i.

【外16】 をマッピングするのに使用され、図26に示される部分
の2段マルチプレクサは、2つの多重上位変数a及びb
を含む論理グループをマッピングするのに用いられる。
即ち、(5)式の全体が、信号S19、S20、S21
及びS22を発生する回路の他の部分と共に、この2段
マルチプレクサによってマッピングされる。上記のよう
に、この論理回路は、それぞれ2個の多重上位変数を含
む論理グループをマッピングするための3個の2段マル
チプレクサを含んでいる。換言すると、多重上位変数を
含む論理グループをマッピングするための9個の単位マ
ルチプレクサがある。従って、この回路においては、マ
ルチプレクサの利点が十分に利用されている。これは、
組合せ種類数が最大となるように積項がグループ化され
る組合せ種類法によって最適化された論理式をマッピン
グすることによって得られる論理回路に特徴的な様相で
ある。特に、パストランジスタの最大段数v=2という
条件で上位変数が特定され、論理式が最適化されている
ので、2個の多重上位変数を含む論理グループをマッピ
ングするために、多数の2段マルチプレクサが用いられ
ている。この回路は、パストランジスタの最大許容段数
が2という条件で設計されているので、回路中に使用さ
れるマルチプレクサは最大で2段である。最大で3段以
上のパストランジスタ段数が許容される場合には、3個
以上の多重上位変数を含む論理グループをマッピングす
るために、3段以上のマルチプレクサを用いることがで
きる。
[Outside 16] And the two-stage multiplexer of the part shown in FIG.
Used to map logical groups containing
That is, the whole of the expression (5) is composed of the signals S19, S20 and S21.
, And other parts of the circuit that generate S22. As described above, the logic circuit includes three two-stage multiplexers for mapping a logic group, each containing two multiple upper variables. In other words, there are nine unit multiplexers for mapping logical groups that include multiple higher variables. Therefore, in this circuit, the advantages of the multiplexer are fully utilized. this is,
This is a characteristic aspect of a logic circuit obtained by mapping a logic expression optimized by a combination type method in which product terms are grouped so that the number of combination types is maximized. In particular, the upper variables are specified under the condition that the maximum number of stages of the pass transistor is v = 2, and the logical expression is optimized. Therefore, in order to map a logical group including two multiplex upper variables, a large number of two-stage multiplexers are used. Is used. Since this circuit is designed under the condition that the maximum allowable number of stages of the pass transistor is two, the number of multiplexers used in the circuit is two at the maximum. If a maximum of three or more pass transistor stages is allowed, a three or more stage multiplexer can be used to map a logical group including three or more multiple upper variables.

【0182】この論理回路は、共通変数を含む論理グル
ープをマッピングするための多入力論理ゲートも含む。
例えば、図22に示される部分の2入力NANDゲート
は、共通変数cバーを含む論理グループ
The logic circuit also includes a multi-input logic gate for mapping a logic group including a common variable.
For example, the two-input NAND gate of the portion shown in FIG.

【外17】 をマッピングするのに使用され、演算結果は、その出力
端子から信号S19として出力される。即ち、共通変数
cバーは、2入力NANDゲートの一方の入力端子に入
力され、該共通変数cバーを共有する論理関数の和は、
2段マルチプレクサによってマッピングされてから、N
ANDゲートの他方の入力端子に入力される。同様に、
図24の上部に示される部分の2入力NANDゲート
は、共通変数cを含む論理グループ
[Outside 17] And the operation result is output as a signal S19 from its output terminal. That is, the common variable c is input to one input terminal of the two-input NAND gate, and the sum of the logic functions sharing the common variable c is
After being mapped by the two-stage multiplexer, N
The signal is input to the other input terminal of the AND gate. Similarly,
The two-input NAND gate shown in the upper part of FIG.

【外18】 をマッピングするのに用いられる。[Outside 18] Used to map

【0183】上位変数を含む論理グループをマッピング
するのに用いられるこれらの9個の単位マルチプレクサ
以外のマルチプレクサ、及び、共通変数が入力される多
入力論理ゲート以外の多入力論理ゲートが、変数の積を
マッピングするのに用いられる。
Multiplexers other than these nine unit multiplexers used for mapping the logical group including the upper variable, and multi-input logic gates other than the multi-input logic gate to which the common variable is input are formed by the product of variables. Used to map

【0184】図25に示される部分は、複数のパストラ
ンジスタ論理演算系統の出力が独立して多入力論理ゲー
トの入力端子に入力される複合パストランジスタ論理回
路を含んでいる。しかしながら、この論理回路は、パス
トランジスタ論理演算系統と多入力論理ゲート間で特定
の接続を得るような方法で構成されてはいない。逆に、
この回路構成は、後述する第5実施形態に従って最適化
された論理式(5)の1次マッピングを行い、次いで、
後述する第6実施形態に従って論理レベル整合を行った
処理の結果として得られたものであり、パストランジス
タ論理演算系統と多入力論理ゲート間の接続で、特別な
限定は仮定されていない。上記のように、(5)式は、
パストランジスタ及び多入力論理ゲートが利点を有する
ように、与えられた論理式を最適化することによって得
られたものである。従って、結果として得られた論理回
路は、与えられた論理式が、効率的に実現されるよう
に、互いに様々な方法で接続されたパストランジスタ論
理回路(パストランジスタ論理演算系統)と多入力論理
ゲートを含む回路構成を含んでいる。
The portion shown in FIG. 25 includes a complex pass transistor logic circuit in which the outputs of a plurality of pass transistor logic operation systems are independently input to the input terminals of a multi-input logic gate. However, this logic circuit is not configured in such a way as to obtain a specific connection between the pass transistor logic operation system and the multi-input logic gate. vice versa,
This circuit configuration performs a primary mapping of the logical expression (5) optimized according to a fifth embodiment described below,
This is obtained as a result of a process of performing logic level matching according to a sixth embodiment described later, and no special limitation is assumed in connection between the pass transistor logic operation system and the multi-input logic gate. As described above, equation (5) is
It has been obtained by optimizing a given logic equation so that pass transistors and multi-input logic gates have advantages. Thus, the resulting logic circuit is composed of a multi-input logic circuit and a pass transistor logic circuit (pass transistor logic operation system) that are connected to each other in various ways so that a given logical expression is efficiently realized. A circuit configuration including a gate is included.

【0185】例えば、回路の最終段(図26)に配置さ
れた2段マルチプレクサの場合、上位変数a及びbが制
御端子に入力され、互いに論理的に独立した信号S1
9、S20、S21及びS22が、それぞれ4つの入力
端子に入力される。ここで、「論理的に独立した」信号
は、互いに等価でも相補的でもない。これらの信号S1
9、S20、S21及びS22は、異なる多入力論理ゲ
ートの出力端子から供給される。即ち、信号S19は、
(5)式の第1項の括弧内の論理関数に対応し、図22
に示されるように、この信号S19は、多入力論理ゲー
ト(NANDゲート)に共通変数cバーを入力し、上位
変数d及びfを含む論理グループを2段マルチプレクサ
によってマッピングすることにより得られる。互いに独
立した信号S11、S12及びS13は、図22に示さ
れる2段マルチプレクサの4つの入力端子のうちの3つ
の入力端子に入力され、残る入力端子には“0”論理レ
ベルを有する定数信号が入力される。この信号S11、
S12及びS13は、それぞれ、1つの入力端子がマル
チプレクサに接続された3入力論理ゲートを含む回路を
用いてマッピングされた、変数のみを含む積項に対応し
ている。信号S20は、(5)式の第2項の括弧内の論
理関数に対応しており、図24に示される如く、この信
号S20は、多入力論理ゲート(NANDゲート)に共
通変数cを入力し、2段マルチプレクサの制御端子に上
位信号d及びiを含む論理グループを入力することによ
って得られる。互いに独立した信号S14、S15及び
S16は、図24に示される2段マルチプレクサの4つ
の入力端子のうちの3つの入力端子に入力され、残る入
力端子には“0”論理レベルを有する定数信号が入力さ
れる。この信号S14、S15及びS16は、それぞ
れ、1つの入力端子がマルチプレクサに接続された3入
力ゼロANDゲートを含む回路を用いてマッピングされ
た、変数のみを含む積項に対応する。一方、(5)式の
第3項の括弧内の積項
For example, in the case of a two-stage multiplexer arranged at the last stage of the circuit (FIG. 26), the upper variables a and b are input to the control terminals, and the signals S1 and S2 which are logically independent from each other
9, S20, S21 and S22 are input to four input terminals, respectively. Here, "logically independent" signals are neither equivalent nor complementary to one another. These signals S1
9, S20, S21 and S22 are supplied from the output terminals of different multi-input logic gates. That is, the signal S19 is
(5) corresponds to the logical function in parentheses in the first term of the expression, and
The signal S19 is obtained by inputting the common variable c to a multi-input logic gate (NAND gate) and mapping a logic group including upper variables d and f by a two-stage multiplexer. The signals S11, S12 and S13 independent of each other are input to three of the four input terminals of the two-stage multiplexer shown in FIG. 22, and the remaining input terminals are provided with a constant signal having a logic level of "0". Is entered. This signal S11,
S12 and S13 each correspond to a product term containing only variables, mapped using a circuit including a three-input logic gate with one input terminal connected to a multiplexer. The signal S20 corresponds to the logic function in parentheses in the second term of the expression (5). As shown in FIG. 24, the signal S20 inputs the common variable c to a multi-input logic gate (NAND gate). Then, a logical group including the upper signals d and i is input to the control terminal of the two-stage multiplexer. The signals S14, S15 and S16 independent of each other are input to three of the four input terminals of the two-stage multiplexer shown in FIG. 24, and the remaining input terminals are provided with a constant signal having a logic level of "0". Is entered. The signals S14, S15 and S16 each correspond to a product term containing only variables, mapped using a circuit including a three-input zero AND gate having one input terminal connected to the multiplexer. On the other hand, the product term in parentheses of the third term in equation (5)

【外19】 に対応する信号S22は、1つの入力端子が2段マルチ
プレクサに接続され、他の2つの入力端子が1段マルチ
プレクサにそれぞれ接続された3入力NANDゲートを
用いることによって得られる。この信号S21は、
(5)式の第4項の括弧内の積項に対応し、図25に示
されるように、この信号S21は、2つの1段マルチプ
レクサ及び1つび2段マルチプレクサに入力端子がそれ
ぞれ接続された多入力論理ゲートを用いることによって
得られる。上記のように、本発明によって設計された論
理回路は、様々な方法で組合せたパストランジスタと多
入力論理ゲートを含む回路構成を有している。その結
果、両方の回路要素の利点がその中に生かされている。
[Outside 19] Is obtained by using a three-input NAND gate having one input terminal connected to the two-stage multiplexer and the other two input terminals connected to the one-stage multiplexer. This signal S21 is
This signal S21 corresponds to the product term in parentheses of the fourth term of the equation (5), and as shown in FIG. 25, the input terminals of the signal S21 are connected to two one-stage multiplexers and one and two-stage multiplexers, respectively. By using a multi-input logic gate. As described above, a logic circuit designed according to the present invention has a circuit configuration including pass transistors and multi-input logic gates combined in various ways. As a result, the advantages of both circuit elements are exploited therein.

【0186】CADシステムを用いた実際のマッピング
処理では、論理回路を表わす情報が、CPUによって読
むことができる形式で、記憶装置内の所定位置に書き込
まれる。
In an actual mapping process using a CAD system, information representing a logic circuit is written at a predetermined position in a storage device in a format readable by a CPU.

【0187】本実施形態の上記処理をフローチャートに
示すと図27及び図28の通りとなる。ここでは、作図
の便宜上、単一のフローチャートが図27及び図28の
2つに分割されている。このフローチャートの処理は、
コンピュータプログラム化することができ、CADシス
テムに取り込むことも可能である。
FIG. 27 and FIG. 28 show the above processing of this embodiment in a flow chart. Here, a single flowchart is divided into two in FIG. 27 and FIG. 28 for convenience of drawing. The process of this flowchart is
It can be programmed into a computer, and can be incorporated into a CAD system.

【0188】本実施形態によって最適化される論理式の
入力変数の数をn、積項数をmとすると、1回目のサイ
クルの処理は下記の(6)式程度の計算時間で行うこと
ができる。
Assuming that the number of input variables of the logical expression optimized by the present embodiment is n and the number of product terms is m, the processing of the first cycle can be performed in the calculation time of the following expression (6). it can.

【0189】 O((m−1) nv+1 +n nv ) …(6)[0189] O ((m-1) n P v + 1 + n n P v) ... (6)

【0190】(6)式において、 nv+1 は、n個の組
から(v+1)個を選ぶ順列の数である。2回目以降の
サイクルは、入力変数の数が1サイクルにつきv個ずつ
減ることと、グループ内の共通変数を除いて計算できる
ので、必要な計算時間は急激に減る。本実施形態におけ
る計算処理の内容は単純な比較であるため、コンピュー
タシステムやCADシステムで容易に実行できる。
In equation (6), n P v + 1 is the number of permutations for selecting (v + 1) pieces from n sets. In the second and subsequent cycles, the number of input variables is reduced by v per cycle, and calculations can be performed excluding common variables in the group, so that the required calculation time is sharply reduced. Since the content of the calculation processing in the present embodiment is a simple comparison, it can be easily executed by a computer system or a CAD system.

【0191】本実施形態では、上記のように、組合せ種
類法によるグループ化処理のみを繰り返して行い、
(2)式のような所与の論理式を、(5)式のように、
最下位グループが変数のみを含む最適形に変換した。し
かし本発明は、この実施形態に限定されるものではな
い。例えば、組合せ種類法によるグループ化処理を、他
の方法によるグループ化処理と組合せて行うことも可能
である。
In this embodiment, as described above, only the grouping process by the combination type method is repeatedly performed.
A given logical expression such as Expression (2) is converted into Expression (5) as follows:
The lowest group was converted to an optimal form containing only variables. However, the present invention is not limited to this embodiment. For example, the grouping process by the combination type method can be performed in combination with the grouping process by another method.

【0192】次に、本発明の第2及び第3実施形態によ
る論理回路の設計方法について説明する。これら第2及
び第3実施形態は、いずれも共通変数法に基づいてお
り、特に第2実施形態はボトムアップの共通変数法に基
づき、第3実施形態はトップダウンの共通変数法に基づ
いている。
Next, a method of designing a logic circuit according to the second and third embodiments of the present invention will be described. Both the second and third embodiments are based on the common variable method. In particular, the second embodiment is based on the bottom-up common variable method, and the third embodiment is based on the top-down common variable method. .

【0193】パストランジスタ論理回路において、上記
のように、論理OR演算がマルチプレクサを用いて実現
される場合、回路は、少数のトランジスタを含み、高速
動作が可能である。しかしながら、論理AND演算や論
理NAND演算をパストランジスタ論理回路の形で実現
するためには、複数のパストランジスタを直列接続する
必要がある。その結果、多数のトランジスタが必要なう
え、パス段数が多くなってしまう。例えば、下記の
(7)式で与えられる論理式をパストランジスタ論理回
路で構成した場合、回路は、図29に示される通りとな
る。
In the pass transistor logic circuit, when the logical OR operation is realized using the multiplexer as described above, the circuit includes a small number of transistors and can operate at high speed. However, in order to implement a logical AND operation or a logical NAND operation in the form of a pass transistor logic circuit, it is necessary to connect a plurality of pass transistors in series. As a result, many transistors are required and the number of pass stages increases. For example, when the logic equation given by the following equation (7) is configured by a pass transistor logic circuit, the circuit is as shown in FIG.

【0194】[0194]

【数6】 (Equation 6)

【0195】一方、上記論理式(7)をCMOS−NA
ND論理ゲートで構成すると、回路は、図30に示す通
りとなる。図29及び図39から明らかなように、論理
NAND演算及び論理AND演算は、CMOS−NAN
Dゲートを用いて構成した方が、パストランジスタを用
いるよりも、トランジスタ数やパス段数の点で有利であ
る。以上のような点を考慮すると、パストランジスタと
多入力論理ゲートを共に含む論理回路を設計する時は、
論理AND演算や論理NAND演算は、多入力論理ゲー
トを用いて実現した方がよい。更に、論理AND演算及
び論理NAND演算を実現するのに必要な多入力論理ゲ
ートの数を減らすには、AND項やNAND項を別々の
積項に分散させる代りに、共通変数を含む論理グループ
としてグループ化することが望ましい。論理グループ
は、共通の多入力ANDゲートやNANDゲートによっ
てマッピングされる。下記の第2及び第3実施形態にお
いては、与えられた論理式中の積項の組から共通変数を
特定し、積項を効率良くグループ化するための共通変数
法が提示されている。
On the other hand, the above logical expression (7) is
When configured with ND logic gates, the circuit is as shown in FIG. As is clear from FIGS. 29 and 39, the logical NAND operation and the logical AND operation are CMOS-NAN.
The configuration using D gates is more advantageous than the use of pass transistors in terms of the number of transistors and the number of pass stages. Considering the above points, when designing a logic circuit that includes both a pass transistor and a multi-input logic gate,
It is better that the logical AND operation and the logical NAND operation are implemented using a multi-input logical gate. Further, in order to reduce the number of multi-input logic gates required to implement a logical AND operation and a logical NAND operation, instead of distributing AND terms and NAND terms into separate product terms, a logical group including a common variable is used. It is desirable to group. The logic group is mapped by a common multi-input AND gate or NAND gate. In the following second and third embodiments, a common variable method for specifying a common variable from a set of product terms in a given logical expression and efficiently grouping the product terms is presented.

【0196】まず、ボトムアップの共通変数法に基づく
第2実施形態について詳細に説明する。
First, a second embodiment based on the bottom-up common variable method will be described in detail.

【0197】本実施形態では、まず、2つの積項を互い
に組合せて、共通変数とその数を求める。積項は、共通
変数の数の多い方から少ない方へ順に、共通変数によっ
てグループ化される。更に、各グループの共通変数を新
たな積項と見なして(見なし積項)、同様の処理を共通
変数が無くなるまで繰り返す。
In this embodiment, first, two product terms are combined with each other to obtain a common variable and the number thereof. The product terms are grouped by the common variables in order from the largest number of common variables to the smallest. Further, the common variable of each group is regarded as a new product term (deemed product term), and the same processing is repeated until there is no more common variable.

【0198】本実施形態で用いられる変数表を図31及
び図32に示す。ここでは、作図の便宜上、1つの表
が、図31及び図32の2つに分割されている。図31
の1行目から9行目までは、前述の図14の1行目から
9行目までと同じである。図31の上から11行目から
図32の下から4行目までは、各行の右側の2つの符号
〜によって、共通変数を含むかチェックされた2つ
の積項の組が示されている。各行の右端には、検討中の
2つの積項に含まれる共通変数の数が示されている。
FIGS. 31 and 32 show variable tables used in the present embodiment. Here, one table is divided into two as shown in FIGS. 31 and 32 for convenience of drawing. FIG.
1 to 9 are the same as the above-described first to ninth lines in FIG. From the 11th line from the top in FIG. 31 to the 4th line from the bottom in FIG. 32, a set of two product terms that are checked to include a common variable are indicated by two signs on the right side of each line. At the right end of each row, the number of common variables included in the two product terms under consideration is shown.

【0199】この変数表において、各行の左端から右へ
10個の数値の列により、各変数a〜jが共通変数であ
るか否かが示される。該数値が“0”又は“1”であれ
ば、対応する変数は共通変数であり、“2”であれば共
通変数ではない。図32の下から2行目には、各変数a
〜j毎の共通変数の“0”の組合せ種類数が示されてい
る。図32の一番下の行には、各変数a〜j毎の共通変
数の“1”の組合せ種類数が示されている。
In this variable table, a column of ten numerical values from the left end of each row to the right indicates whether each of the variables a to j is a common variable. If the numerical value is “0” or “1”, the corresponding variable is a common variable, and if “2”, it is not a common variable. The second line from the bottom of FIG.
The number of types of combinations of “0” of the common variable for each of j is shown. The lowermost row in FIG. 32 shows the number of combinations of “1” of the common variable for each of the variables a to j.

【0200】図31及び図32の表において、各行の右
端に示される共通変数の数の内、最大値“6”が、図3
2の1行目に表われている。従って、この行に対応する
積項とがまずグループ化される。次に大きい共通変
数の数は“5”であり、先行するグループ化で組にする
ことが既に確定している積項又はのいずれかを含む
組合せは除き、積項と、積項と、積項と、
積項との組合せが同値“5”で候補になる。と
の組合せに加えて、これら4つの積項の組合せに含まれ
る共通変数を最適化処理の次サイクルの新たな積項とし
て抜き出し、2つの積項の各組合せに含まれる共通変数
を求めた結果を、図33の変数表に示す。図33の2〜
6行目には、と、と、と、と、と
の積項の組合せに含まれる共通変数が示され、これらの
組合せが新たに積項〜とされている。そして8〜1
7行目には、これらの新たな2つの積項の各組合せに含
まれる共通変数が示されている。
In the tables of FIG. 31 and FIG. 32, the maximum value “6” of the number of common variables shown on the right end of each row is shown in FIG.
It appears in the first line of 2. Therefore, the product terms corresponding to this row are first grouped. The number of the next largest common variable is “5”, and the product term, the product term, and the product term are excluded, except for the product term or the combination including any of which has already been determined to be paired in the preceding grouping. Terms and
A combination with a product term is a candidate with the same value “5”. In addition to the combination of the above, the common variables included in the combination of these four product terms are extracted as new product terms in the next cycle of the optimization process, and the common variables included in each combination of the two product terms are obtained. Is shown in the variable table of FIG. 33 in FIG.
The sixth line shows common variables included in a combination of product terms of,,, and, and these combinations are newly designated as product terms 〜. And 8 to 1
The seventh line shows the common variables included in each combination of these two new product terms.

【0201】図33の8〜17行目の右端に示される共
通変数の数を調べると、最大値は3であり、(この表に
おいて新たに付けた番号で)積項との組合せ、およ
び積項との組合せによって得られることがわかる。
従って、これらの組合せに対応する、(図31における
積項の番号で)積項と、と、およびとの組
合せを選べば、2回目のサイクルのグループ化を行う時
の共通変数の数が多くなり、好ましい。
Looking at the number of common variables shown at the right end of lines 8 to 17 in FIG. 33, the maximum value is 3, and the combination with the product term (with a new number in this table) and the product It can be seen that it can be obtained by a combination with the term.
Therefore, if the combination of the product term (and the product term number in FIG. 31) corresponding to these combinations is selected, the number of common variables in performing the second cycle grouping becomes large. And is preferred.

【0202】しかし、積項ととの組合せを選んだの
では、他の組合せ、と、とを採用することがで
きない。そこで、この場合には、積項と、および
との組合せを選択する。従って、(2)式で与えられ
る論理式中の積項は、本実施形態によって次の(8)式
に示される形にグループ化される。
However, if a combination with a product term is selected, another combination cannot be adopted. Therefore, in this case, a combination of the product term and is selected. Therefore, the product terms in the logical expression given by the expression (2) are grouped into the form shown in the following expression (8) according to the present embodiment.

【0203】[0203]

【数7】 (Equation 7)

【0204】(8)式において、第1〜第3項が、上記
の処理によって選択された積項と、と、と
の組に対応するグループである。第4項は、残った積項
とから作られたグループである。(8)式の各項
は、いずれも、変数(共通変数)と論理関数(括弧でく
くられた部分)との積項の形になっている。
In the expression (8), the first to third terms are groups corresponding to the combination of the product term selected by the above processing and. The fourth term is a group formed from the remaining product terms. Each term in the expression (8) is in the form of a product term of a variable (common variable) and a logical function (a part enclosed in parentheses).

【0205】この例では、偶数個の積項を互いにグルー
プ化したため、全ての積項がいずれか一つの組にグルー
プ化された。しかし、積項の個数が奇数である論理式に
対して上記の処理を適用した場合には、1個の積項がグ
ループ化されずに残る。更に、現実には、2つの積項間
に共通変数が存在しない場合もある。このような場合に
は、与えられた論理式に含まれる積項の個数が偶数であ
っても、グループ化されずに残る積項が発生する。
In this example, since the even number of product terms are grouped together, all the product terms are grouped into any one set. However, when the above processing is applied to a logical expression having an odd number of product terms, one product term remains without being grouped. Furthermore, in reality, there may be no common variable between two product terms. In such a case, even if the number of product terms included in a given logical expression is even, a product term that remains without being grouped occurs.

【0206】引き続き、図34の変数表に示されるよう
な同様の処理が、最適化処理の2回目のサイクルで繰り
返される。このサイクルでは、(8)式中の4つのグル
ープの共通変数を新たな積項と見なす(みなし積項)。
変数表に示されるように、これらの4つの新しいみなし
積項を、それぞれ順に〜と呼ぶようにすると、共通
変数の数が多いのは、みなし積項及びと、みなし積
項及びの組合せである。この組合せで(8)式を更
に最適化した結果は、下記の(9)式に示される。
Subsequently, similar processing as shown in the variable table of FIG. 34 is repeated in the second cycle of the optimization processing. In this cycle, the common variables of the four groups in the equation (8) are regarded as new product terms (deemed product terms).
As shown in the variable table, when these four new deemed product terms are respectively referred to as in order, the number of common variables is large in the deemed product term and the deemed product term and the combination thereof. . The result of further optimizing equation (8) with this combination is shown in equation (9) below.

【0207】[0207]

【数8】 (Equation 8)

【0208】(9)式において、ネスティングが最も深
い括弧内の最下位の積項である第1項と第2項の間に
は、もはや共通変数は存在しない。即ち、(9)式は、
共通変数法によっては、これ以上最適化できない。
In equation (9), there is no longer a common variable between the first and second terms, which are the lowest product terms in parentheses with the deepest nesting. That is, equation (9) is
No further optimization is possible with the common variable method.

【0209】論理式(9)に対して、後述する第5実施
形態の1次マッピングや第6実施形態の論理レベル整合
を行うと、図35〜図40に示すような論理回路が得ら
れる。該論理回路は、作図の便宜上、図35〜図40に
分割され、符号S31−S35が、論理回路の信号接続
を説明するために使われている。該論理回路のトランジ
スタ数は122個、最大信号パス段数は8段である。こ
の論理回路は最適解ではないが、よい結果が得られてい
る。本実施形態のボトムアップの共通変数法によって得
られた、この論理回路は、前記第1実施形態の組合せ種
類法で求めた論理回路と、トランジスタ数はほぼ同じで
あるが、パス段数は少なくなっている。該論理回路にお
いては、共通回路の類似部分を共有する処理は行ってい
ない。
When the primary mapping of the fifth embodiment described later and the logic level matching of the sixth embodiment are performed on the logical expression (9), a logical circuit as shown in FIGS. 35 to 40 is obtained. The logic circuit is divided into FIGS. 35 to 40 for convenience of drawing, and reference numerals S31 to S35 are used to explain signal connections of the logic circuit. The logic circuit has 122 transistors and the maximum number of signal path stages is eight. Although this logic circuit is not the optimal solution, good results have been obtained. This logic circuit obtained by the bottom-up common variable method of the present embodiment has substantially the same number of transistors as the logic circuit obtained by the combination type method of the first embodiment, but has a smaller number of pass stages. ing. In the logic circuit, processing for sharing a similar part of the common circuit is not performed.

【0210】この論理回路は、11個の単位マルチプレ
クサと、13個の多入力論理ゲートと、1個のインバー
タを含んでいる。
This logic circuit includes eleven unit multiplexers, thirteen multi-input logic gates, and one inverter.

【0211】この論理回路において、多入力論理ゲート
は、以下に述べるように、共通変数を有する論理グルー
プをマッピングするのに使われる。即ち、図35におい
て、3入力ゼロANDゲートは、その入力端子に共通変
数b及びiを受けるのに使われ、その出力端子から信号
S31を出力する。図36において、3入力ゼロAND
ゲートは、その入力端子に共通変数e及びfバーを受け
るのに使われ、その出力端子から信号S32を出力す
る。図37において、2入力NANDゲートは、その一
方の入力端子に共通変数cを受けるのに使われ、その出
力端子から信号S33を出力する。図38において、3
入力NANDゲートは、その入力端子に共通変数bバ
ー、cバー、f及びhを受けるのに使われ、その出力端
子から信号S34を出力する。図39において、3入力
NANDゲートは、その入力端子に共通変数eバー及び
iバーを受けるのに使われ、その出力端子から信号S3
5を出力する。共通変数を含む論理グループをマッピン
グするために用いられるこれらの多入力論理ゲートは、
後述する論理レベル整合の結果、ゼロANDゲート(=
NORゲート)又はNANDゲートのいずれかの形を取
る。ゼロANDゲートに入力された共通変数は、論理レ
ベル整合の結果、論理レベルが反転される。図38にお
いて、共通変数fとhの積、及び、bバーとcバーの積
は、まず、独立した単位マルチプレクサによってそれぞ
れ発生され、その後、共通変数の積が、多入力論理ゲー
トの2つの入力端子に、それぞれ入力される。
In this logic circuit, a multi-input logic gate is used to map a logic group having a common variable, as described below. That is, in FIG. 35, a three-input zero-AND gate is used to receive common variables b and i at its input terminals, and outputs a signal S31 from its output terminal. In FIG. 36, 3-input zero AND
The gate is used to receive the common variables e and f at its input terminal, and outputs a signal S32 from its output terminal. In FIG. 37, a two-input NAND gate is used to receive a common variable c at one of its input terminals, and outputs a signal S33 from its output terminal. In FIG. 38, 3
The input NAND gate is used to receive the common variables b bar, c bar, f and h at its input terminal, and outputs a signal S34 from its output terminal. In FIG. 39, a three-input NAND gate is used to receive a common variable e bar and i bar at its input terminal, and a signal S3 from its output terminal.
5 is output. These multi-input logic gates used to map logic groups containing common variables are:
As a result of the logic level matching described later, the zero AND gate (=
NOR gate) or NAND gate. The logic level of the common variable input to the zero AND gate is inverted as a result of the logic level matching. In FIG. 38, the product of the common variables f and h and the product of the b and c bars are first generated by independent unit multiplexers, respectively. Input to each terminal.

【0212】論理回路を得るための上記のマッピング処
理において、上位変数を含む論理グループを特定するた
めの追加処理が行われ、その結果、そのような論理グル
ープがマルチプレクサを用いてマッピングされる。例え
ば、最上位グループの第1及び第2項の共通変数a・c
及びaバーは、変数aを正論理及び負論理の両方の形で
含む。従って、変数aは、上位変数である。このため、
図40に示される回路の最終段から数えて2段目に、制
御端子が上位変数aを入力するように接続されたマルチ
プレクサが配置されている。更に、第2項中の第2位グ
ループの第1及び第2項の共通変数
In the above-described mapping process for obtaining a logic circuit, an additional process for specifying a logic group including an upper variable is performed, and as a result, such a logic group is mapped using a multiplexer. For example, the common variables a and c of the first and second terms of the highest level group
And a include the variable a in both positive and negative logic. Therefore, the variable a is an upper variable. For this reason,
At the second stage counted from the last stage of the circuit shown in FIG. 40, a multiplexer whose control terminal is connected so as to input the upper variable a is arranged. Further, common variables of the first and second terms of the second group in the second term

【外20】 は、変数gを、正論理及び負論理の形で含む。従って、
図40に示される如く、回路の最終段から数えて3段目
に、制御端子が上位変数gを入力するように接続された
マルチプレクサが配置されている。同様に、第2位グル
ープの第1項、及び、より下位のグループの上位変数が
特定され、特定された上位変数を含む論理グループをマ
ッピングするためのマルチプレクサが論理回路中に配置
される。上位変数は、例えば、各グループ内の論理組合
せ種類数を計数することによって特定される。
[Outside 20] Includes the variable g in the form of positive logic and negative logic. Therefore,
As shown in FIG. 40, at the third stage counted from the last stage of the circuit, a multiplexer connected so that the control terminal inputs the upper variable g is arranged. Similarly, the first term of the second group and the upper variable of the lower group are specified, and a multiplexer for mapping a logical group including the specified upper variable is arranged in the logic circuit. The upper variable is specified by counting the number of logical combination types in each group, for example.

【0213】従って、図39に示される変数bが制御端
子に入力されたマルチプレクサ、図38に示される変数
dが制御端子に入力されたマルチプレクサ、図37に示
される変数jが制御端子に入力されたマルチプレクサ、
図36に示される変数bが制御端子に入力されたマルチ
プレクサ、及び、図35に示される変数dが制御端子に
入力されたマルチプレクサが配置される。この論理回路
においては、上記のように、上位変数を含む論理グルー
プをマッピングするために、1段の形の単位マルチプレ
クサが7個使われている。
Accordingly, the variable b shown in FIG. 39 is input to the control terminal, the variable d shown in FIG. 38 is input to the control terminal, and the variable j shown in FIG. 37 is input to the control terminal. Multiplexer
A multiplexer in which the variable b shown in FIG. 36 is input to the control terminal and a multiplexer in which the variable d shown in FIG. 35 is input to the control terminal are arranged. In this logic circuit, as described above, seven unit multiplexers each having one stage are used in order to map a logic group including upper variables.

【0214】図40に示される2個の単位マルチプレク
サは、部分的な2段マルチプレクサが構成されるよう
に、直列に接続されている。このマルチプレクサは、多
重上位変数を含む論理グループをマッピングするのに使
われるのではなく、2個の単位マルチプレクサのそれぞ
れが、1つの上位変数を含む論理グループをマッピング
するのに用いられている。この論理回路は、パストラン
ジスタの最大許容段数が2であるという条件下で設計さ
れているので、上記の2個のマルチプレクサは、バッフ
ァやインバータや多入力論理ゲートのような、論理振幅
を回復するための回路要素を挿入することなく、直接、
直列接続されている。パストランジスタの最大許容段数
が3以上であれば、3個以上の単位マルチプレクサが直
接、直列に接続される。
The two unit multiplexers shown in FIG. 40 are connected in series so as to constitute a partial two-stage multiplexer. This multiplexer is not used to map a logical group containing multiple upper variables, but rather, each of the two unit multiplexers is used to map a logical group containing one upper variable. Since the logic circuit is designed under the condition that the maximum allowable number of stages of the pass transistor is 2, the above-mentioned two multiplexers restore the logic amplitude, such as a buffer, an inverter or a multi-input logic gate. Directly without inserting circuit elements for
They are connected in series. If the maximum allowable number of pass transistors is three or more, three or more unit multiplexers are directly connected in series.

【0215】図35−40に示される論理回路は、組合
せ種類法によって最適化された論理回路(図21−2
6)よりも少数のマルチプレクサを含んでいる。特に、
上位変数を含む論理グループをマッピングするために用
いられるマルチプレクサの数は、減らされている。更
に、多重上位変数を含む論理グループをマッピングする
ために、多くの2段マルチプレクサが使用される組合せ
種類法によって最適化された論理回路に比べて、本実施
形態による論理回路中のマルチプレクサは、1つの上位
変数を含む論理グループをマッピングするために使われ
る。しかし一方、多数の多入力論理ゲートが使用されて
いる。特に、1以上の共通変数を含む論理グループをマ
ッピングするための多入力論理ゲートが、より多く存在
する。組合せ種類法によって最適化された論理回路の場
合、1以上の共通変数を含む論理グループをマッピング
するために用いられる各多入力論理ゲートは、ただ1つ
の共通変数を受け取る。これに対して、本実施形態によ
る論理回路では、多入力論理ゲートに最大で4個の共通
変数が入力される。これは、共通変数法によって最適化
された所与の論理式をマッピングすることによって構成
される論理回路の特徴的な様相である。
The logic circuit shown in FIGS. 35-40 is a logic circuit optimized by the combination type method (FIG. 21-2).
It contains fewer multiplexers than 6). Especially,
The number of multiplexers used to map the logical group containing the superior variable has been reduced. Furthermore, the multiplexer in the logic circuit according to the present embodiment has one more multiplexer than the logic circuit optimized by the combination type method in which many two-stage multiplexers are used to map a logic group including multiple high-order variables. Used to map a logical group containing two super variables. However, on the other hand, many multi-input logic gates are used. In particular, there are more multi-input logic gates for mapping logic groups that include one or more common variables. For a logic circuit optimized by the combination type method, each multi-input logic gate used to map a logic group that includes one or more common variables receives only one common variable. On the other hand, in the logic circuit according to the present embodiment, up to four common variables are input to the multi-input logic gate. This is a characteristic aspect of a logic circuit configured by mapping a given logical expression optimized by the common variable method.

【0216】本実施形態の論理回路では、更に、与えら
れた論理式が効率的に具体化されるよう、パストランジ
スタと多入力論理ゲートからなるマルチプレクサが、様
々な方法で接続される。
In the logic circuit of this embodiment, a multiplexer composed of a pass transistor and a multi-input logic gate is connected in various ways so that a given logic equation is efficiently embodied.

【0217】第2実施形態による上記処理のフローチャ
ートを、図41及び図42に示す。ここでは、作図の便
宜上、単一のフローチャートが図41及び図42の2つ
に分割されている。
FIGS. 41 and 42 show flowcharts of the above processing according to the second embodiment. Here, a single flowchart is divided into two in FIG. 41 and FIG. 42 for convenience of drawing.

【0218】本実施形態で最適化される論理式の入力変
数の数をnとし、積項数をmとすると、1回目のサイク
ルは、下記の(10)式程度の計算時間で行うことがで
きる。
Assuming that the number of input variables of the logical expression to be optimized in this embodiment is n and the number of product terms is m, the first cycle can be performed in a calculation time of the following formula (10). it can.

【0219】O(2n m2 ) …(10)O (2 nm C 2 ) (10)

【0220】(10)式において、 m2 はm個の組か
ら2個を選ぶ組合せ種類数である。2回目以降のサイク
ルではmが前回値の(1/2)になるので、前回のおよ
そ(1/4)程度の計算時間で処理できる。概して、こ
の方法は、組合せ種類法よりはるかに少ない計算時間で
済む。本実施形態で要求される計算は、単純な比較であ
り、コンピュータ処理が容易であり、CADシステムに
取り込み易い。又、図41及び図42のフローチャート
に示されるプログラムは、アルゴリズム検証を目的とし
たプログラム例であるため、ビット毎に一致を調べてい
るが、実際の処理では、2行のAND演算を1回で実行
可能である。
In the expression (10), m C 2 is the number of combination types for selecting two out of m sets. In the second and subsequent cycles, m becomes (1 /) of the previous value, so that the processing can be performed in about (1 /) of the previous calculation time. In general, this method requires much less computation time than the combination type method. The calculations required in the present embodiment are simple comparisons, are easy for computer processing, and are easy to incorporate into a CAD system. The program shown in the flowcharts of FIGS. 41 and 42 is an example of a program for verifying an algorithm, and therefore, the match is checked for each bit. However, in the actual processing, the AND operation of two rows is performed once. It can be executed by

【0221】この第2実施形態では、共通変数法による
グループ化処理のみを繰り返して行い、(2)式のよう
な与えられた論理式を、(9)式のように、最下位の積
項間に共通変数が存在しない状態にまで最適化した。し
かし本発明は、この実施形態に限定されるものではな
い。例えば、共通変数法によるグループ化処理を、他の
方法によるグループ化処理と組合せて行うことも可能で
ある。
In the second embodiment, only the grouping process by the common variable method is repeatedly performed, and a given logical expression such as Expression (2) is converted to the lowest product term as Expression (9). Optimized to a state where there is no common variable in between. However, the present invention is not limited to this embodiment. For example, the grouping process using the common variable method can be performed in combination with the grouping process using another method.

【0222】次に、第3実施形態について説明する。こ
の第3実施形態では、トップダウンの共通変数法によっ
て最適化が行われる。
Next, a third embodiment will be described. In the third embodiment, optimization is performed by a top-down common variable method.

【0223】上記第2実施形態に対して本実施形態は、
最下位からより上位へではなく、最上位からより下位へ
グループ化する。本実施形態の基本的な処理は次の通り
である。即ち、与えられた論理式中の積項を、パストラ
ンジスタの最大段数vに応じた2v 個数のグループに組
合せる。例えばv=2の場合、積項は4グループに組合
される。このグループ化処理でt個の積項がグループ化
される。ここでtは、積項の総数をm個として、(m/
4)以上の最小整数である。このようにして、共通変数
の数が多い方から少ない方へ順に組にして積項をグルー
プ化する。このグループ化処理は、与えられた論理式が
最適化され、各グループ内で共通変数が無くなるか、又
はt=1の最終形になるまで繰り返される。本実施形態
では、上述のように、v=2の場合、積項を4グループ
に組合せるようにしている。これは、2段マルチプレク
サの構成を考慮して、与えられた論理式を、十分に最適
化された形に変換するためである。
This embodiment is different from the second embodiment in that
Group from top to bottom, not bottom to top. The basic processing of the present embodiment is as follows. That is, the product terms in a given logical expression are combined into 2 v groups corresponding to the maximum number v of pass transistors. For example, if v = 2, the product terms are combined into four groups. In this grouping process, t product terms are grouped. Here, t is (m /
4) It is a minimum integer equal to or greater than 4). In this way, the product terms are grouped in pairs from the larger number of common variables to the smaller number. This grouping process is repeated until the given logical expression is optimized and there is no common variable in each group or until the final form of t = 1. In the present embodiment, as described above, when v = 2, the product terms are combined into four groups. This is for converting a given logical expression into a fully optimized form in consideration of the configuration of the two-stage multiplexer.

【0224】本実施形態で最適化される論理式の入力変
数の数をnとし、積項数をmとすると、1回目のサイク
ルは、次式で示す程度の計算時間で行うことができる。
Assuming that the number of input variables of the logical expression to be optimized in this embodiment is n and the number of product terms is m, the first cycle can be performed in a calculation time of the following formula.

【0225】O(2n mt ) …(11)O (2 nm C t ) (11)

【0226】(11)式から、積項数が多すぎると、計
算時間が非常に長くなることがわかる。更に、積項数に
応じて、組合せ種類数を、適切に選択する必要がある。
積項数に比べてグループ中の組合せ種類数が多すぎる場
合、例えばm=8でt=3の場合の変数表を図43〜図
45に示す。この表は、作図の便宜上図43〜図45に
分割されている。表から明らかなように、m=8でt=
3に対する積項の組合せ種類数は、ボトムアップの共通
変数法(図31及び図32)の場合より大きい。これら
の組合せでは、共通変数の数を決定するのに必要な計算
時間が長くなる。一方、共通変数の最大数は3であり、
図31及び図32に示された変数表中の6に比べて小さ
い。この例から明らかなように、互いにグループ化され
る積項の数が不適切であった場合、トップダウンの共通
変数法に必要な計算時間は、前述のボトムアップの共通
変数法に必要な計算時間に比べて長くなる。更に、共通
変数の数が急激に減り、AND項が分散する結果になる
ため好ましくない。この点は、グループ化される積項の
数を適切に選択すれば、即ち、t=(8/4)=2とす
れば問題がない。
From the equation (11), it can be seen that when the number of product terms is too large, the calculation time becomes extremely long. Further, it is necessary to appropriately select the number of combination types according to the number of product terms.
FIGS. 43 to 45 show variable tables in the case where the number of combination types in the group is too large compared to the number of product terms, for example, when m = 8 and t = 3. This table is divided into FIGS. 43 to 45 for convenience of drawing. As is apparent from the table, when m = 8 and t =
The number of combinations of product terms for 3 is greater than that in the bottom-up common variable method (FIGS. 31 and 32). These combinations increase the computation time required to determine the number of common variables. On the other hand, the maximum number of common variables is 3,
It is smaller than 6 in the variable tables shown in FIGS. 31 and 32. As can be seen from this example, if the number of product terms that are grouped together is inappropriate, the computation time required for the top-down It is longer than the time. Further, the number of common variables is rapidly reduced, and the AND term is dispersed, which is not preferable. This point is not a problem if the number of product terms to be grouped is appropriately selected, that is, if t = (8/4) = 2.

【0227】以下、パストランジスタの最大段数が2
で、積項の数が32である場合を例にとって、ボトムア
ップの共通変数法とトップダウンの共通変数法の違いを
説明する。
Hereinafter, the maximum number of pass transistor stages is 2
The difference between the bottom-up common variable method and the top-down common variable method will now be described, taking the case where the number of product terms is 32 as an example.

【0228】ボトムアップの共通変数法では、2個の積
項間の共通変数を使ってグループ化するので、1回目の
グループ化処理によって、積項数の半分の16のグルー
プができる。次に、その共通変数をみなし積項として、
2個のみなし積項間の共通変数を使って更にグループ化
するので、2回目の最適化サイクルの後、グループ数は
前回値の半分の8個になる。同様にして、グループ数
は、3回目のサイクル後に4個、4回目のサイクル後に
2個、5回目のサイクル後に1個になる。
In the bottom-up common variable method, grouping is performed by using a common variable between two product terms. Thus, the first grouping process produces 16 groups, which are half the number of product terms. Next, assuming that common variable as a product term,
After the second optimization cycle, the number of groups becomes eight, which is half of the previous value, since further grouping is performed using the common variable between only two product terms. Similarly, the number of groups becomes four after the third cycle, two after the fourth cycle, and one after the fifth cycle.

【0229】一方、トップダウンの共通変数法では、積
項を、各サイクルで4つのグループに分ける。1回目の
サイクルでは、8個の積項が、それらの共通変数を使っ
てグループ化され、4つのグループが形成される。次
に、各グループ内の論理関数を新たに与えられた論理式
と見做して、更にグループ化を行う。2回目のサイクル
では、各グループ内の8個の積項を4つのグループに分
けるので、2積項の共通変数を使って4つのグループが
できる。この2回目のサイクルが完了すると、どのグル
ープ内にも共通変数が無くなるので、全ての最適化処理
が完了する。
In the top-down common variable method, the product terms are divided into four groups in each cycle. In the first cycle, the eight product terms are grouped using their common variables to form four groups. Next, the logical functions in each group are regarded as a newly given logical expression, and further grouping is performed. In the second cycle, the eight product terms in each group are divided into four groups, so that four groups are created using the common variables of the two product terms. When the second cycle is completed, there is no common variable in any group, so that all optimization processing is completed.

【0230】この例では、1回目と2回目の両方のグル
ープ化処理において、2v の倍数の積項を有する論理式
のグループ化を行ったため、丁度、積項の個数を2v
除した商以上の最小整数の個数の積項をそれぞれ組にし
たグループが2v 個できた。しかし、積項の個数が2v
の倍数ではない場合には、積項の個数が、前記商以上の
最小整数よりも小さい整数のグループが発生する。更
に、積項の個数が2v の倍数であったとしても、前記商
以上の最小整数の個数の積項に共通な共通変数が存在し
なければ、各グループ内の積項の個数は、前記商以上の
最小整数よりも小さくなる。又、グループ化されない積
項が発生する場合もある。
In this example, in both the first and second grouping processes, logical expressions having product terms that are multiples of 2 v are grouped, so that the number of product terms is exactly divided by 2 v . There are 2 v groups each of which is a set of product terms of the minimum integer greater than the quotient. However, if the number of product terms is 2 v
If it is not a multiple of, a group of integers in which the number of product terms is smaller than the minimum integer greater than or equal to the quotient occurs. Furthermore, even if the number of product terms is a multiple of 2 v , if there is no common variable common to the product terms of the minimum integer greater than or equal to the quotient, the number of product terms in each group is It is smaller than the minimum integer greater than the quotient. Also, there may be ungrouped product terms.

【0231】次に、本発明の第4実施形態によって論理
回路を設計する方法について説明する。この第4実施形
態では、前述の共通変数/組合せ種類法が採用されてい
る。
Next, a method for designing a logic circuit according to the fourth embodiment of the present invention will be described. In the fourth embodiment, the aforementioned common variable / combination type method is adopted.

【0232】前記組合せ種類法では、与えられた論理式
が、マルチプレクサを用いるのに適した形に最適化され
る。これに対して、共通変数法は論理AND及びNAN
D演算が、グループ化される。従って、組合せ種類法と
共通変数法とは相反する部分がある。共通変数の分散を
防ぐ共通変数法に対して、変数の組合せ種類数が多くな
るようにグループ化する組合せ種類法では、共通変数が
分散する。
In the combination type method, a given logical expression is optimized in a form suitable for using a multiplexer. In contrast, the common variable method is logical AND and NAN.
D operations are grouped. Therefore, the combination type method and the common variable method have contradictory parts. In contrast to the common variable method that prevents the variance of common variables, in the combination type method in which variables are grouped so that the number of variable combinations increases, the common variables are dispersed.

【0233】上記のような点に着目し、本実施形態の共
通変数/組合せ種類法では、組合せ種類法と共通変数法
の両者の利点がとりこまれている。即ち、まず共通変数
法によるグループ化を行って共通変数の分散を防ぎ、次
に共通変数法によるグループ化で得られた共通変数を新
たな積項と見なして(みなし積項)、組合せ種類法でグ
ループ化を行う。共通変数法をボトムアップで行う場
合、最適化処理の1回目のサイクルは、図31及び図3
2で示した変数表に従って、更に、図33で示した変数
表に従って行う。論理式が入力変数をn個、積項数をm
個含むとすると、1回目のサイクルの計算時間は、次の
(12)式程度である。
By paying attention to the above points, the common variable / combination type method of the present embodiment incorporates the advantages of both the combination type method and the common variable method. That is, first, grouping is performed by the common variable method to prevent variance of common variables, and then the common variable obtained by grouping by the common variable method is regarded as a new product term (deemed product term). Perform grouping with. When the common variable method is performed from the bottom up, the first cycle of the optimization process is performed as shown in FIGS.
This is performed according to the variable table shown in FIG. 33 according to the variable table shown in FIG. The logical expression is n input variables and the number of product terms is m
If the number is included, the calculation time of the first cycle is about the following equation (12).

【0234】O(2n m2 ) …(12)O (2 nm C 2 ) (12)

【0235】このように共通変数法による1回目の処理
で得られたみなし積項に対して、組合せ種類法を行った
場合の最適化処理は、図46の変数表に従って行われ
る。変数dは、みなし積項中に存在しないので、変数d
は省略されている。図46では、パストランジスタの最
大許容段数を2段(v=2)としているが、みなし積項
数が最初の数の(1/2)に減っているため、互いにグ
ループ化される積項の数は(v+1)個ではなく、v個
としている。下から3行目に、最大値発生回数の変数間
の差異が十分出ている。この表に示される組合せ種類数
の最大値及び発生回数により判断すると、変数aが第1
候補、変数cが第2候補になる。しかしながら、組合せ
種類数の最大値が2であるので、グループ化は、2段の
マルチプレクサにマッピングされる2個の多重上位変数
を含む論理グループの形にはならない。そのため、発生
回数が最大である変数aだけを上位変数として選び、グ
ループ化を行う。この処理に必要な計算時間は、下記の
(13)式程度まで急激に減少する。
Optimization processing when the combination type method is applied to the deemed product term obtained in the first processing by the common variable method is performed according to the variable table shown in FIG. Since the variable d does not exist in the deemed product term, the variable d
Has been omitted. In FIG. 46, the maximum allowable number of stages of the pass transistor is two (v = 2). However, since the number of assumed product terms is reduced to (に) of the initial number, the product terms of The number is not (v + 1) but v. In the third row from the bottom, there is a sufficient difference between the variables of the maximum occurrence count. Judging from the maximum number of combinations and the number of occurrences shown in this table, the variable a
The candidate, variable c, becomes the second candidate. However, since the maximum value of the number of combination types is 2, the grouping does not take the form of a logical group including two multiple upper variables mapped to the two-stage multiplexer. Therefore, only the variable a having the maximum number of occurrences is selected as a higher-level variable, and grouping is performed. The calculation time required for this processing is sharply reduced to about the following equation (13).

【0236】 O((m/2−1) nv +n2 ) …(13)O ((m / 2-1) n P v + n 2 ) (13)

【0237】各グループ内の積項を組合せ種類法で更に
グループ化すると、論理式は、下記のような形に最適化
される。
When the product terms in each group are further grouped by the combination type method, the logical expression is optimized in the following form.

【0238】[0238]

【数9】 (Equation 9)

【0239】最適化された論理式(14)式に対して、
後述する第5実施形態の1次マッピング処理、及び、第
6実施形態の論理レベル整合を行うと、図47〜図52
に示すような論理回路が得られる。ここでは、一つの論
理回路が、作図の便宜上、図47〜図52に分割され、
符号S41−S50が、論理回路の信号接続を説明する
のに使用されている。本実施形態の最適化処理において
は、元の論理式が、先ず、共通変数法によってグループ
化され、次いで、組合せ種類法によってグループ化され
る。従って、(14)式において上位変数か特定されて
いる。よって(14)式を、マルチプレクサの使用に適
した形の論理回路にマッピングすることができる。しか
しながら、(14)式では、共通変数法による最初の処
理で形成された共通変数を共有する論理関数を有するグ
ループの上位変数は特定されていない。図47〜図52
に示される論理回路を得る際には、上記部分がマルチプ
レクサを用いて構成されるよう、追加の処理が行われ
る。(14)式の例では、類似部分が共有されるよう回
路を修正する処理は不要である。この論理回路において
は、使用トランジスタ数は123個、最大信号パス段数
は8段である。この論理回路は最適解ではないが、よい
結果が得られている。又、使用トランジスタ数は、組合
せ種類法で得られた回路とほぼ同じであるが、パス段数
は少なくなっている。この論理回路は、13個の単位マ
ルチプレクサと、12個の多入力論理ゲートと、1個の
インバータを含んでいる。
With respect to the optimized logical expression (14),
When the primary mapping process according to the fifth embodiment described later and the logical level matching according to the sixth embodiment are performed, FIGS.
A logic circuit as shown in FIG. Here, one logic circuit is divided into FIGS. 47 to 52 for convenience of drawing,
Symbols S41-S50 are used to describe the signal connections of the logic circuit. In the optimization processing of the present embodiment, the original logical expressions are first grouped by the common variable method, and then grouped by the combination type method. Therefore, the upper variable is specified in the equation (14). Thus, equation (14) can be mapped to a logic circuit in a form suitable for using a multiplexer. However, in the equation (14), the upper variable of the group having the logical function sharing the common variable formed in the first processing by the common variable method is not specified. 47 to 52
In obtaining the logic circuit shown in (1), additional processing is performed so that the above-described portion is configured using a multiplexer. In the example of equation (14), the process of modifying the circuit so that similar parts are shared is unnecessary. In this logic circuit, the number of transistors used is 123, and the maximum number of signal path stages is eight. Although this logic circuit is not the optimal solution, good results have been obtained. The number of transistors used is almost the same as that of the circuit obtained by the combination type method, but the number of pass stages is reduced. This logic circuit includes 13 unit multiplexers, 12 multi-input logic gates, and one inverter.

【0240】この論理回路は、上位変数を含む論理グル
ープをマッピングするための7個の1段マルチプレクサ
を含む。即ち、図48に示される論理回路部分には、上
位変数dがその制御端子に入力され、異なる多入力論理
ゲートによってマッピングされた積項が各入力端子に入
力される1段マルチプレクサが設けられている。図49
に示される論理回路部分には、上位変数dがその制御端
子に入力され、信号S41及びS42が各入力端子に入
力される1段マルチプレクサが設けられている。図50
に示される論理回路部分には、上位変数dがその制御端
子に入力され、信号S43及びS44が各入力端子に入
力される1段マルチプレクサが設けられている。図51
に示される論理回路部分には、上位変数bがその制御端
子に入力され、信号S45及びS46が各入力端子に入
力される1段マルチプレクサが設けられている。更に、
図52に示される論理回路部分には、3個の1段マルチ
プレクサが設けられている。マルチプレクサの1つで
は、上位変数gがその制御端子に入力され、信号S47
及びS48が各入力端子に入力されている。もう1つの
マルチプレクサでは、上位変数jがその制御端子に入力
され、信号S49及びS50が各入力端子に入力されて
いる。3番目のマルチプレクサでは、上位変数aがその
制御端子に入力され、前記2個のマルチプレクサから出
力される信号が各入力端子に入力されている。
This logic circuit includes seven one-stage multiplexers for mapping a logic group including upper variables. That is, the logic circuit portion shown in FIG. 48 is provided with a one-stage multiplexer in which the upper variable d is input to its control terminal and the product term mapped by different multi-input logic gates is input to each input terminal. I have. FIG.
Is provided with a one-stage multiplexer in which a higher-order variable d is input to its control terminal and signals S41 and S42 are input to respective input terminals. FIG.
Is provided with a one-stage multiplexer in which the upper variable d is input to its control terminal and the signals S43 and S44 are input to each input terminal. FIG.
Is provided with a one-stage multiplexer in which the upper variable b is input to its control terminal and the signals S45 and S46 are input to each input terminal. Furthermore,
In the logic circuit portion shown in FIG. 52, three one-stage multiplexers are provided. In one of the multiplexers, the upper variable g is input to its control terminal and the signal S47
And S48 are input to each input terminal. In another multiplexer, the upper variable j is input to its control terminal, and the signals S49 and S50 are input to each input terminal. In the third multiplexer, the upper variable a is input to its control terminal, and the signals output from the two multiplexers are input to each input terminal.

【0241】図52に示す3個のマルチプレクサは、2
段マルチプレクサが構成されるように直列に接続されて
いる。しかしながら、第1段目の2個のマルチプレクサ
の制御端子には異なる上位信号が入力されている。従っ
て、これらのマルチプレクサは多重上位変数を含む論理
グループをマッピングするのに使われていない。
The three multiplexers shown in FIG.
They are connected in series to form a stage multiplexer. However, different higher-level signals are input to the control terminals of the two multiplexers in the first stage. Therefore, these multiplexers are not used to map logical groups containing multiple high-order variables.

【0242】即ち、1個の上位変数を含む論理グループ
をマッピングするのにそれぞれ用いられる3個のマルチ
プレクサが直列に接続され、2段マルチプレクサの形と
なっている。この論理回路は、パストランジスタの最大
許容段数が2であるという条件下で設計されているの
で、上記3個のマルチプレクサは、バッファ、インバー
タや多入力論理ゲートのような論理振幅を回復するため
の回路要素を挿入することなく、直接、直列に接続され
ている。
That is, three multiplexers each used to map a logical group including one upper variable are connected in series, forming a two-stage multiplexer. Since this logic circuit is designed under the condition that the maximum allowable number of stages of the pass transistor is 2, the three multiplexers are used to recover logic amplitudes such as buffers, inverters and multi-input logic gates. They are directly connected in series without inserting circuit elements.

【0243】この論理回路は、又、共通変数を含む論理
グループをマッピングするための4個の多入力論理ゲー
トを含んでいる。即ち、図48においては、3入力NA
NDゲートが、その入力端子に共通変数bバー、cバ
ー、f、hを受けるのに使用され、その出力端子から信
号S47を出力する。図49においては、3入力NAN
Dゲートが、その入力端子に共通変数eバー及びiバー
を受けるのに使用され、その出力端子から信号S48を
出力する。図50においては、3入力NANDゲート
が、その入力端子に共通変数b、c及びiを受けるのに
使用され、その出力端子から信号S49を出力する。図
51においては、3入力NANDゲートが、その入力端
子に共通変数c、e及びfバーを受けるのに使用され、
その出力端子から信号S50を出力する。更に、図47
に示される論理回路部分には、6個の3入力ゼロAND
ゲートが存在する。一番目の3入力ゼロANDゲートで
は、一つの入力端子がマルチプレクサに接続され、その
出力端子から信号S41が出力される。2番目の3入力
ゼロANDゲートでは、1つの入力端子がマルチプレク
サに接続され、その出力端子から信号S42が出力され
る。残る4個の3入力ゼロANDゲートでは、それらの
出力端子から出力信号S43、S44、S45及びS4
6が出力される。これらの6個の3入力ゼロANDゲー
トは、それぞれ、互いに論理的に独立した変数のみを含
む積項をマッピングするのに用いられる。
The logic circuit also includes four multi-input logic gates for mapping logic groups containing common variables. That is, in FIG.
An ND gate is used to receive the common variables b bar, c bar, f, h at its input terminal and outputs a signal S47 from its output terminal. In FIG. 49, a three-input NAN
A D-gate is used to receive the common variables e and i at its input terminal and outputs a signal S48 from its output terminal. In FIG. 50, a three-input NAND gate is used to receive common variables b, c, and i at its input terminals, and outputs a signal S49 from its output terminal. In FIG. 51, a three-input NAND gate is used to receive common variables c, e, and f at its input terminals,
The signal S50 is output from the output terminal. Further, FIG.
In the logic circuit portion shown in FIG.
There is a gate. In the first three-input zero AND gate, one input terminal is connected to the multiplexer, and a signal S41 is output from the output terminal. In the second three-input zero AND gate, one input terminal is connected to the multiplexer, and a signal S42 is output from the output terminal. The remaining four 3-input zero AND gates output the output signals S43, S44, S45 and S4 from their output terminals.
6 is output. Each of these six three-input zero AND gates is used to map a product term that contains only variables that are logically independent of one another.

【0244】図47−52に示される論理回路は、組合
せ種類法によって得られる論理回路(図21−26)よ
りもマルチプレクサの使用数が少ない。特に、上位変数
を含む論理グループをマッピングするために使用される
マルチプレクサが少ない。しかしながら、共通変数法に
よって得られる論理回路(図35−40)に比較すると
多くのマルチプレクサを含んでいる。特に、共通変数/
組合せ種類法による論理回路は、共通変数法によって得
られる論理回路には存在しない、完全な2段構造のマル
チプレクサを含んでいる。一方、共通変数/組合せ種類
法による論理回路は、共通変数法によって得られる論理
回路よりも多入力論理ゲートの使用数が少ない。特に、
複数の共通変数を含む論理グループをマッピングするた
めの多入力論理ゲートが少ない。しかしながら、多入力
論理ゲートの数は、組合せ種類法によって得られる論理
回路に比較すると多い。上記のように、この第4実施形
態による論理回路は、組合せ種類法及び共通変数法によ
る利点が共に達成された構成を有する。更に、図48、
50及び51に示される論理回路部分では、複合パスト
ランジスタ論理回路が用いられている。従って、本実施
形態による論理回路は、複合パストランジスタ論理回路
の利点が達成された回路構成になっている。複合パスト
ランジスタ論理回路に加えて、この論理回路は、パスト
ランジスタ論理回路と多入力論理ゲートが様々な方法で
結合された回路構成を含んでいる。例えば、図52に示
される2段マルチプレクサの場合、その入力端子には、
異なる多入力論理ゲートから出力された信号S47−S
50がそれぞれ入力されている。これらの信号は、互い
に論理的に独立している。一方、図50及び51に示さ
れるマルチプレクサの入力端子には、それぞれ、異なる
多入力論理ゲートから出力される信号S43、S44、
及び、S45、S46が入力されている。ここで、信号
S43とS44は互いに論理的に独立している。同様
に、信号S45とS46は互いに論理的に独立してい
る。上記のように、本発明によって設計された論理回路
は、様々な方法で組み合わされたパストランジスタと多
入力論理ゲートを含む回路構成を有しており、その結
果、両者の回路要素の利点が生かされている。
The logic circuit shown in FIGS. 47-52 uses fewer multiplexers than the logic circuit obtained by the combination type method (FIGS. 21-26). In particular, fewer multiplexers are used to map logical groups that include higher variables. However, compared with the logic circuit obtained by the common variable method (FIGS. 35-40), it includes many multiplexers. In particular, common variables /
The logic circuit based on the combination type method includes a complete two-stage multiplexer which does not exist in the logic circuit obtained by the common variable method. On the other hand, a logic circuit based on the common variable / combination type method uses fewer multi-input logic gates than a logic circuit obtained by the common variable method. Especially,
Fewer multi-input logic gates for mapping logic groups that include multiple common variables. However, the number of multi-input logic gates is more than that of a logic circuit obtained by the combination type method. As described above, the logic circuit according to the fourth embodiment has a configuration in which the advantages of the combination type method and the common variable method are both achieved. Further, FIG.
In the logic circuit portions 50 and 51, a composite pass transistor logic circuit is used. Therefore, the logic circuit according to the present embodiment has a circuit configuration in which the advantage of the composite pass transistor logic circuit is achieved. In addition to the complex pass transistor logic circuit, the logic circuit includes a circuit configuration in which the pass transistor logic circuit and the multi-input logic gate are combined in various ways. For example, in the case of the two-stage multiplexer shown in FIG.
Signals S47-S output from different multi-input logic gates
50 are respectively input. These signals are logically independent of each other. On the other hand, the input terminals of the multiplexers shown in FIGS. 50 and 51 are respectively provided with signals S43, S44,
And S45 and S46 are input. Here, the signals S43 and S44 are logically independent of each other. Similarly, signals S45 and S46 are logically independent of each other. As described above, a logic circuit designed according to the present invention has a circuit configuration including a pass transistor and a multi-input logic gate combined in various ways, and as a result, the advantages of both circuit elements can be utilized. Have been.

【0245】上記の例においては、共通変数/組合せ種
類法によって設計された論理回路と、共通変数法によっ
て設計された論理回路間で、トランジスタ数及びパス段
数に大きな差異はない。しかしながら、これは、与えら
れた論理式があまり複雑ではないためである。実際の設
計に際して用いられる、もっと複雑な論理式の場合、本
実施形態による共通変数/組合せ種類法の方が、共通変
数法よりもトランジスタ数が少なく、消費電力も少なく
なる。更に、本実施形態による方法では、最適化された
論理式や、最適化された論理式から論理回路を得るため
に必要な計算時間が短い。これにより、大規模論理回路
を短時間で設計することが可能となる。
In the above example, there is no significant difference in the number of transistors and the number of pass stages between the logic circuit designed by the common variable / combination type method and the logic circuit designed by the common variable method. However, this is because the given formula is not very complicated. In the case of a more complicated logical expression used in actual design, the common variable / combination type method according to the present embodiment has fewer transistors and lower power consumption than the common variable method. Furthermore, in the method according to the present embodiment, the calculation time required to obtain the logic circuit from the optimized logic formula and the optimized logic formula is short. Thus, a large-scale logic circuit can be designed in a short time.

【0246】本実施形態では、上記のように、グループ
化が、まず、ボトムアップの共通変数法によって行わ
れ、次いで、組合せ種類法によるグループ化が更に行わ
れる。しかしながら、本発明は、この組合せに限定され
ない。例えば、最初のグループ化処理をトップダウンの
共通変数法によって行い、その後、組合せ種類法を行っ
てもよい。更に、共通変数法によって行われるグループ
化処理の回数も1回に限定されない。即ち、共通変数法
によるグループ化処理を、組合せ種類法を行う前に複数
回行うこともできる。しかしながら、共通変数/組合せ
種類法の利点を達成するには、通常、1回又は2回で十
分である。逆に、組合せ種類法によるグループ化を最初
に行い、次いで、共通変数法によるグループ化を行って
もよい。この場合、組合せ種類法による最初のグループ
化処理に必要な処理時間は、O((m−1)n v+1
n v )程度となる。これに続く共通変数法による処
理は、処理すべき積項数及び変数の数が、組合せ種類法
による先行グループ化処理によって減少しているので、
処理時間が短くてすむ。
In this embodiment, as described above, grouping is first performed by the bottom-up common variable method, and then grouping is further performed by the combination type method. However, the invention is not limited to this combination. For example, the first grouping process may be performed by a top-down common variable method, and then the combination type method may be performed. Further, the number of grouping processes performed by the common variable method is not limited to one. That is, the grouping process using the common variable method may be performed a plurality of times before performing the combination type method. However, once or twice is usually sufficient to achieve the benefits of the common variable / combination type method. Conversely, grouping by the combination type method may be performed first, and then grouping by the common variable method. In this case, the processing time required for the first grouping process by the combination type method is O ((m−1) n P v + 1 +
a n n P v) degree. In the subsequent processing by the common variable method, the number of product terms to be processed and the number of variables are reduced by the preceding grouping processing by the combination type method.
Processing time is short.

【0247】更に、上位変数及び共通変数を、第1乃至
第3実施形態を参照して上記で説明した組合せ種類法や
共通変数法以外の方法に従って特定し、次いで、特定さ
れた上位変数及び共通変数を用いて論理式を最適化して
もよい。
Further, the upper variables and the common variables are specified according to a method other than the combination type method and the common variable method described above with reference to the first to third embodiments, and then the specified upper variables and the common variables are specified. The logical expression may be optimized using variables.

【0248】以上説明した第1〜第4実施形態では、い
ずれも、最適化すべき、与えられた論理式が、(2)式
のように、それぞれ変数のみを含む積項の和であること
が仮定されていた。説明したいずれの方法も、一般的に
は、与えられた論理式が、それぞれ変数のみを含む積項
の和の形式である場合に非常に効率的である。従って、
与えられた論理式が変数の単純な積ではない論理関数を
含む場合には、与えられた論理式を、先ず、変数の積の
みを含む形に展開してから、第1〜第4の実施形態のい
ずれかの最適化処理を行うことが望ましい。しかし、与
えられた論理式が、特定の回路構成(例えばマルチプレ
クサ)に効率的にマッピングすることができる論理関数
を含む場合には、この論理関数を展開せずに、論理式の
他の部分に対して最適化を行っても良い。
In each of the first to fourth embodiments described above, the given logical expression to be optimized is a sum of product terms each including only variables, as in Expression (2). Was assumed. Either method described is generally very efficient if the given logical expression is in the form of a sum of product terms, each containing only variables. Therefore,
When the given logical expression includes a logical function that is not a simple product of variables, the given logical expression is first expanded to include only the product of variables, and then the first to fourth implementations are performed. It is desirable to perform any optimization processing of the form. However, if a given logical expression includes a logical function that can be efficiently mapped to a particular circuit configuration (eg, a multiplexer), the logical function is not expanded and the other logical expression The optimization may be performed for this.

【0249】次に、本発明の第5実施形態による論理回
路の設計方法について説明する。この第5実施形態で
は、与えられた論理式が、論理の反転を考慮しない1次
マッピング処理によって論理回路にマッピングされる。
具体的には、ANDゲートやORゲートのような非反転
論理ゲートを用いて、マッピングが行われる。
Next, a method for designing a logic circuit according to the fifth embodiment of the present invention will be described. In the fifth embodiment, a given logical expression is mapped to a logical circuit by a primary mapping process that does not consider inversion of the logic.
Specifically, mapping is performed using a non-inverting logic gate such as an AND gate or an OR gate.

【0250】本実施形態による1次マッピング処理は、
前記第1〜第4実施形態に開示されたいずれかの方法で
最適化された論理式に対して行うことが望ましいが、最
適化を、他の方法により行うことも可能である。論理式
によっては、最適化を行われなくても良い場合もある。
The primary mapping processing according to the present embodiment is as follows.
It is desirable to perform the optimization on the logical expression optimized by any of the methods disclosed in the first to fourth embodiments. However, the optimization can be performed by another method. Depending on the logical expression, the optimization may not be required.

【0251】本実施形態では、先ず、最下位グループの
積項を、ANDゲートやパストランジスタを用いるのに
適した形にマッピングする。具体的には、最下位グルー
プの積項に含まれる変数の数が2個以上で、且つ、AN
Dゲートの入力端子の最大許容数(例えば3個)以下な
らば、ANDゲートを論理回路に配置して、その積項の
変数をこのANDゲートの入力端子に接続する。変数の
数が4個以上ならば、出力端子をANDゲートの入力端
子に接続したパストランジスタをANDゲートに加え、
パストランジスタの入力端子と制御端子に、適当な変数
を接続する。例えば、3入力ANDゲートのすべての入
力端子に、それぞれパストランジスタを加えれば、合計
6個までの変数を含む積項をマッピングすることができ
る。各パストランジスタを2段にすれば、合計9個まで
の変数を含む積項をマッピングすることができる。な
お、ANDゲートと組合されたパストランジスタが、図
10のような回路構成の単位マルチプレクサの形で構成
される場合には、変数を入力しない方の入力端子を
“0”論理レベルに固定する。最下位グループの項が、
変数を1つだけ含むときは、この段階で、その項に対す
るマッピングは不要である。この変数は、論理回路の次
の段に直接入力される。
In the present embodiment, first, the product terms of the lowest group are mapped in a form suitable for using an AND gate and a pass transistor. Specifically, the number of variables included in the product term of the lowest group is two or more, and
If the number of input terminals of the D gate is less than the maximum allowable number (for example, three), an AND gate is arranged in the logic circuit, and the variable of the product term is connected to the input terminal of the AND gate. If the number of variables is four or more, a pass transistor whose output terminal is connected to the input terminal of the AND gate is added to the AND gate.
Connect appropriate variables to the input and control terminals of the pass transistor. For example, if pass transistors are added to all input terminals of a three-input AND gate, a product term including up to six variables in total can be mapped. If each pass transistor has two stages, it is possible to map product terms including up to nine variables in total. When the pass transistor combined with the AND gate is configured in the form of a unit multiplexer having a circuit configuration as shown in FIG. 10, the input terminal to which no variable is input is fixed at a logic level "0". The term of the lowest group is
If only one variable is involved, no mapping for that term is needed at this stage. This variable is input directly to the next stage of the logic circuit.

【0252】上記の方法で最下位グループの全ての積項
をマッピングした後、更に最下位から2番目のグループ
に対するマッピングが行われる。
After mapping all the product terms of the lowest group by the above method, mapping is further performed for the second group from the lowest.

【0253】例えば、最下位グループの2つの積項が上
位変数を共有すれば、最下位から2番目のグループ中の
論理グループは、この上位変数を含む。この場合は、論
理回路にマルチプレクサを配置し、2つの積項をこのマ
ルチプレクサの入力端子に入力し、上位変数を制御端子
に入力する。このとき、3以上の項が、多重上位変数を
共有していれば、(パストランジスタの段数として許容
された範囲内で)2以上の段数を有するマルチプレクサ
を論理回路に配置し、上位変数をマルチプレクサの各制
御入力に入力し、積項を各入力端子に入力する。次のレ
ベルの論理グループが上位変数を含む場合は、段数が最
大許容数以上になるまで、次段にマルチプレクサを配置
する。例えば、次の(15)式で与えられる論理式は、
本実施形態の方法により、図53に示される論理回路に
マッピングされる。
For example, if the two product terms in the lowest group share the upper variable, the logical group in the second group from the lowest includes this higher variable. In this case, a multiplexer is arranged in the logic circuit, two product terms are input to an input terminal of the multiplexer, and a higher variable is input to a control terminal. At this time, if three or more terms share multiple high-order variables, a multiplexer having two or more stages (within the range allowed as the number of stages of the pass transistor) is arranged in the logic circuit, and the high-order variables are , And the product term is input to each input terminal. If the next-level logical group includes higher-level variables, a multiplexer is arranged in the next stage until the number of stages becomes equal to or greater than the maximum allowable number. For example, the logical expression given by the following expression (15) is
According to the method of the present embodiment, the data is mapped to the logic circuit shown in FIG.

【0254】[0254]

【数10】 (Equation 10)

【0255】(15)式において、4つの括弧の内側が
最下位グループである。それらは、それぞれ、変数c及
び積項d・e、f・g・h、i・j・k・lである。こ
れらのうち、2番目及び3番目の積項は、それぞれ2個
及び3個の変数を含んでおり、従って、これらの2つの
積項は、それぞれ1つの独立したANDゲートを用いて
マッピングされる。4番目の積項は4個の変数を含むの
で、この積項はANDゲートとマルチプレクサの組合せ
を用いてマッピングされる。次に高いレベルの論理グル
ープでは、上記の4項が2個の多重上位変数a及びbを
共有しているので、2段マルチプレクサを用いて更にマ
ッピングが行われる。ここで、変数を1個だけ含む項c
は、2段マルチプレクサの入力端子に直接入力される。
In equation (15), the inside of the four parentheses is the lowest group. They are the variable c and the product terms de, fggh, and ijkl, respectively. Of these, the second and third product terms contain two and three variables, respectively, so these two product terms are each mapped using one independent AND gate. . Since the fourth product term contains four variables, this product term is mapped using a combination of an AND gate and a multiplexer. In the next higher level logical group, the above four terms share two multiplex upper variables a and b, so that further mapping is performed using a two-stage multiplexer. Here, a term c containing only one variable
Is directly input to the input terminal of the two-stage multiplexer.

【0256】図53の論理回路において、出力側から2
段目の単位マルチプレクサには、共に上位変数bが入力
されている。一方の単位マルチプレクサの各入力端子に
は、上位変数bを共有する項cとd・eが入力され、他
方の単位マルチプレクサの各入力端子には、同じく上位
変数bを共有する積項f・g・hとi・j・k・lが入
力されている。また最終段の単位マルチプレクサの制御
端子には上位変数aが入力され、各入力端子には、上位
変数aを共有する論理関数
In the logic circuit shown in FIG.
The higher-order variable b is input to the unit multiplexers in the stages. Terms c and de · e that share the upper variable b are input to each input terminal of one unit multiplexer, and product terms f · g that also share the upper variable b are input to each input terminal of the other unit multiplexer.・ H and i · j · k · l are input. Also, a higher-level variable a is input to the control terminal of the unit multiplexer at the last stage, and a logical function sharing the higher-level variable a is input to each input terminal.

【外21】 が入力されている。[Outside 21] Is entered.

【0257】積項の組が共通変数を共有する場合、共通
変数を共有する論理グループをマッピングするようにA
NDゲートが配置され、共通変数及びこの共通変数を共
有する積項の和がANDゲートの各入力端子に入力され
る。共通変数の数が多いときには、ANDゲートにパス
トランジスタが組み合わされ、パストランジスタの出力
端子がANDゲートの入力端子に接続される。より上位
のグループが共通変数を有する場合、ANDゲートを用
いて同様な方法でマッピングが行われる。以下、同様の
マッピングを最上位グループまで繰返し行うことによっ
て、1次マッピング処理が完了する。例えばパストラン
ジスタ段数の最大許容数が2段の場合、下記の(16)
式で与えられる論理式に対して本実施形態の方法を適用
すると、図54に示すような論理回路を得ることができ
る。
When a set of product terms shares a common variable, A is set so that logical groups sharing the common variable are mapped.
An ND gate is arranged, and a common variable and a sum of product terms sharing the common variable are input to each input terminal of the AND gate. When the number of common variables is large, a pass transistor is combined with the AND gate, and the output terminal of the pass transistor is connected to the input terminal of the AND gate. If the higher group has a common variable, the mapping is performed in a similar manner using an AND gate. Hereinafter, the same mapping is repeatedly performed up to the highest-order group, thereby completing the primary mapping process. For example, when the maximum allowable number of pass transistor stages is two, the following (16)
When the method of this embodiment is applied to a logical expression given by an expression, a logical circuit as shown in FIG. 54 can be obtained.

【0258】[0258]

【数11】 [Equation 11]

【0259】図54の論理回路において、出力側から2
段目のANDゲートの3個の入力端子の内の2個には、
共通変数b、c、dが入力される。即ち、共通変数dが
一つの入力端子に入力され、b・cが、単位マルチプレ
クサを介して、もう一つの入力端子に入力される。更に
他の入力端子は、共通変数b、c、dを共有する4個の
積項の和である論理関数を入力するのに使われる。積項
In the logic circuit shown in FIG.
Two of the three input terminals of the AND gate at the stage
Common variables b, c, and d are input. That is, the common variable d is input to one input terminal, and bc is input to the other input terminal via the unit multiplexer. Yet another input terminal is used to input a logical function that is the sum of four product terms that share common variables b, c, and d. Product term

【外22】 の和は、この和が2個の多重上位変数e及びfを有する
論理グループであるという事実を考慮して、2段マルチ
プレクサを使って前段にマッピングされる。この例で
は、共通変数は、変数のみを含む積項に共有される。実
際には、共通変数は、もっと複雑な論理関数によって共
有される場合もある。
[Outside 22] Is mapped to the previous stage using a two-stage multiplexer, taking into account the fact that this sum is a logical group with two multiple upper variables e and f. In this example, the common variables are shared by product terms that contain only variables. In practice, common variables may be shared by more complex logic functions.

【0260】この例においては、共通変数を有する論理
グループをマッピングするのに用いられる3入力AND
ゲートの入力端子の一つが、2段マルチプレクサに接続
され、共通変数を共有する論理関数の和が、3入力AN
Dゲートの入力端子に入力される。その結果、共通変数
を受けるのに使用され得る残りの入力端子の数は2個と
なる(ここでは、入力端子の許容最大数を3と仮定して
いる)。従って、単位マルチプレクサが残りの入力端子
の1つに接続され、3個の共通変数がANDゲートに入
力される。従って、ANDゲートと組合せるのに必要な
単位マルチプレクサの数は、共通変数の総数と、この共
通変数を共有する論理関数の和によって決定される。換
言すると、積項に含まれる変数の個数を指標にする代わ
りに、論理関数(この例では共通変数を共有する論理関
数の和)と積項に含まれる変数(この例では共通変数)
の総数を指標とすることによって、最下位ではないグル
ープ中の積項をマッピングするために必要な単位マルチ
プレクサの数を、最下位レベルの積項をマッピングする
場合と同様な方法で決定することができる。
In this example, a three-input AND used to map logical groups with common variables
One of the input terminals of the gate is connected to a two-stage multiplexer, and the sum of logic functions sharing a common variable is a three-input AN.
It is input to the input terminal of the D gate. As a result, the number of remaining input terminals that can be used to receive the common variable is two (here, the maximum allowable number of input terminals is assumed to be three). Therefore, a unit multiplexer is connected to one of the remaining input terminals, and three common variables are input to the AND gate. Therefore, the number of unit multiplexers required for combination with an AND gate is determined by the total number of common variables and the sum of logic functions sharing this common variable. In other words, instead of using the number of variables included in the product term as an index, a logical function (in this example, a sum of logical functions sharing a common variable) and a variable included in the product term (in this example, a common variable)
, The number of unit multiplexers needed to map the product terms in the non-least significant group can be determined in a manner similar to mapping the lowest level product term. it can.

【0261】より一般的に言えば、変数は論理関数の1
種であるので、複数の論理関数を含む積項のマッピング
は、ANDゲート及び、積項に含まれる論理関数の総数
に従って決められた個数の単位マルチプレクサを使用し
て、行うことができる。この際に、積項中に含まれる論
理関数の全てが単純な変数であるか、あるいは、いくつ
か、又は全ての論理関数が複雑な論理関数であるかに拘
らず、同様な方法で単位マルチプレクサの個数を決める
ことができる。積項中のいくつかの論理関数が、下位の
論理関数の積であれば、そのような下位の論理関数の数
もカウントに含めるべきである。
More generally, a variable is a logical function of 1
Since it is a seed, mapping of a product term including a plurality of logic functions can be performed using an AND gate and a number of unit multiplexers determined according to the total number of logic functions included in the product term. At this time, regardless of whether all of the logical functions included in the product term are simple variables, or whether some or all of the logical functions are complex logical functions, the unit multiplexer is operated in a similar manner. Can be determined. If some of the logical functions in the product term are products of lower logical functions, the number of such lower logical functions should be included in the count.

【0262】上記の例では、多入力論理ゲートとしてA
NDゲートのみが用いられている。しかしながら、実際
には、マッピングされるべき特定の論理式に応じて、A
NDゲートを含む様々なタイプの多入力論理ゲートを用
いることができる。例えば、後述する(21)式の形の
ように、複数の独立したグループを有する論理グループ
をマッピングするため、ORゲートを用いることができ
る。一方、パストランジスタ段数の制限に対処するた
め、バッファを挿入することができる。更に、マルチプ
レクサを回路の最終段に配置したときは、駆動能力を増
やしたり、論理振幅を回復するために、マルチプレクサ
の出力端子にバッファを加えることができる。
In the above example, A is used as a multi-input logic gate.
Only ND gates are used. However, in practice, depending on the particular formula to be mapped, A
Various types of multi-input logic gates can be used, including ND gates. For example, an OR gate can be used to map a logical group having a plurality of independent groups as in the form of Expression (21) described later. On the other hand, a buffer can be inserted to deal with the limitation on the number of pass transistor stages. Further, when the multiplexer is arranged at the last stage of the circuit, a buffer can be added to the output terminal of the multiplexer in order to increase the driving capability or restore the logic amplitude.

【0263】次に、本発明の第6実施形態による論理回
路の設計方法について説明する。本実施形態は、前述し
た論理レベル整合を取扱っている。
Next, a method for designing a logic circuit according to the sixth embodiment of the present invention will be described. This embodiment deals with the above-described logic level matching.

【0264】CMOS論理ゲートにおいて、ANDゲー
トは、通常、NANDゲートにインバータを加えた構成
となっている。このため、ANDゲートはNANDゲー
トに比べ、遅延時間が長くなり、トランジスタ数が増加
し、消費電力も大きくなる。同様に、ORゲートも、N
ORゲートに比べ、遅延時間が長くなり、トランジスタ
数が増加し、消費電力も大きくなる。このため、NAN
DゲートやNORゲートを用いることが望ましい。しか
しながら、前記第5実施形態の1次マッピングで得られ
る論理回路には、多入力論理ゲートとしてANDゲート
やORゲートが用いられている。従って、第5実施形態
で得られた論理回路に、第6実施形態による論理レベル
整合を行って、改良することが望ましい。改良は、AN
DゲートやORゲートを、NANDゲートやNORゲー
トで置換することによって達成される。同じ理由で、バ
ッファはインバータで置換する。更に、NANDゲート
やNORゲートやインバータによる論理レベルの反転に
よって生じる論理レベルの不整合が調整される。
In the CMOS logic gate, the AND gate usually has a configuration in which an inverter is added to a NAND gate. Therefore, the delay time of the AND gate is longer than that of the NAND gate, the number of transistors is increased, and the power consumption is increased. Similarly, the OR gate has N
Compared with the OR gate, the delay time becomes longer, the number of transistors increases, and the power consumption increases. Therefore, NAN
It is desirable to use a D gate or a NOR gate. However, the logic circuit obtained by the primary mapping of the fifth embodiment uses an AND gate or an OR gate as a multi-input logic gate. Therefore, it is desirable to improve the logic circuit obtained in the fifth embodiment by performing the logic level matching according to the sixth embodiment. Improvement is AN
This is achieved by replacing the D gate or the OR gate with a NAND gate or a NOR gate. For the same reason, the buffer is replaced by an inverter. Further, the mismatch of the logic level caused by the inversion of the logic level by the NAND gate, the NOR gate, and the inverter is adjusted.

【0265】本実施形態においては、例えば第5実施形
態によるマッピングで得られた論理回路を、多入力AN
Dゲート、ORゲート又はバッファを境界にして、正論
理領域と負論理領域とに区切り、論理回路の出力側から
入力側に向かって、正(負)論理領域と負(正)論理領
域が交互になるように配置する。最終段の極性は、与え
られた論理式が正又は負論理形式のいずれであるかを考
慮して決定する。負論理領域内では、直接入力信号の論
理を反転させ、負論理領域の出力側の多入力論理ゲート
の入力端子に入力される信号の論理を反転させ、更に、
負論理領域の入力側の多入力論理ゲートの出力端子から
出力される信号の論理を反転させる。従って、負論理領
域の出力側のANDゲートは、ゼロANDゲート即ちN
ORゲートで置換され、ORゲートは、ゼロORゲート
即ちNANDゲートで置換される。一方、負論理領域の
入力側のANDゲートはNANDゲートで置換され、O
RゲートはNORゲートで置換される。バッファは、イ
ンバータで置換される。
In the present embodiment, for example, a logic circuit obtained by the mapping according to the fifth embodiment is replaced with a multi-input AN.
A positive logic area and a negative logic area are divided by a D gate, an OR gate or a buffer, and a positive (negative) logic area and a negative (positive) logic area alternate from the output side to the input side of the logic circuit. Arrange so that The polarity of the last stage is determined in consideration of whether a given logical expression is in a positive or negative logical form. In the negative logic area, the logic of the direct input signal is inverted, and the logic of the signal input to the input terminal of the multi-input logic gate on the output side of the negative logic area is further inverted.
The logic of the signal output from the output terminal of the multi-input logic gate on the input side of the negative logic area is inverted. Therefore, the AND gate on the output side of the negative logic area is a zero AND gate, that is, N
Replaced by an OR gate, which is replaced by a zero OR gate or NAND gate. On the other hand, the AND gate on the input side of the negative logic area is replaced with a NAND gate, and
The R gate is replaced by a NOR gate. The buffer is replaced with an inverter.

【0266】ここで「直接入力信号」とは、前段の多入
力論理ゲートやインバータから供給される信号としてで
はなく、マルチプレクサや多入力論理ゲートの入力端子
へ直接入力される変数や定数を指す。ここで「定数」と
は、論理レベルが固定された信号、即ち、“1”又は
“0”論理レベルの信号を指す。固定レベルとしては、
例えば、接地電位(GND)又は電源電位(VDD)が
用いされる。
Here, the "direct input signal" refers to a variable or a constant that is directly input to an input terminal of a multiplexer or a multi-input logic gate, not a signal supplied from a preceding multi-input logic gate or inverter. Here, the “constant” refers to a signal whose logic level is fixed, that is, a signal of “1” or “0” logic level. As a fixed level,
For example, a ground potential (GND) or a power supply potential (VDD) is used.

【0267】前記第5実施形態により論理式(17)を
1次マッピングすると、図55に示される形の論理回路
が得られる。この論理回路は、本実施形態の論理レベル
整合により、図56に示される形に変換される。論理回
路と論理式の対比をわかり易くするため、(17)式
は、若干冗長になっている。
When the logical expression (17) is linearly mapped according to the fifth embodiment, a logical circuit of the form shown in FIG. 55 is obtained. This logic circuit is converted into the form shown in FIG. 56 by the logic level matching of the present embodiment. In order to make the comparison between the logic circuit and the logic expression easy to understand, the expression (17) is slightly redundant.

【0268】[0268]

【数12】 (Equation 12)

【0269】(17)式及び図55に示す例では、出力
Wが正論理形式なので、ANDゲートG11とANDゲ
ートG12間の領域を負論理領域にする。そのため、A
NDゲートG12をゼロANDゲートで置換し、AND
ゲートG11をNANDゲートで置換する。更に、直接
入力信号aとcを反転し、マルチプレクサM11の入力
端子に入力される定数“1”と、マルチプレクサM12
の入力端子に入力される定数“0”を共に反転させる。
その他は変更しない。このようにして、図56の論理回
路を得ることができる。
In the equation (17) and the example shown in FIG. 55, since the output W is in the positive logic form, the area between the AND gate G11 and the AND gate G12 is set to the negative logic area. Therefore, A
Replace the ND gate G12 with a zero AND gate, and
The gate G11 is replaced with a NAND gate. Further, the input signals a and c are directly inverted, and a constant “1” input to the input terminal of the multiplexer M11 and the multiplexer M12
Of the constant "0" input to the input terminal of "1" is inverted.
Others remain unchanged. Thus, the logic circuit of FIG. 56 can be obtained.

【0270】(17)式で、一番深く括られた括弧中の
グループh・i+hバーは、容易に、i+hバーと書き
直すことができる。このグループは、後述する「複数の
独立した下位の論理グループを有する論理グループ」で
あり、ORゲートを用いてもマッピングすることができ
る。しかしながら、この例では、OR構成のマルチプレ
クサ(制御端子が変数hを入力するように結合された第
1段目のマルチプレクサ)が採用されている。このOR
構成マルチプレクサは、図61を参照して後で詳細に説
明する。同様に、グループ
In equation (17), the group hi · i + h bar in parentheses that is most deeply enclosed can be easily rewritten as i + h bar. This group is a “logical group having a plurality of independent lower logical groups”, which will be described later, and can be mapped using an OR gate. However, in this example, a multiplexer having an OR configuration (a first-stage multiplexer whose control terminal is coupled to input a variable h) is employed. This OR
The configuration multiplexer will be described later in detail with reference to FIG. Similarly, groups

【外23】 は、OR構成マルチプレクサ(制御端子が変数dを入力
するように結合された、最終段から数えて2段目のマル
チプレクサ)を用いてマッピングされる。上記の例のよ
うに、1つの変数と1つの論理関数の和によって表わさ
れる論理グループは、OR構成マルチプレクサを用いて
効率的にマッピングされる。ここで、変数は、その制御
端子に入力され、論理関数(積項からその変数を除いた
部分)が、その一方の入力端子に入力され、定数が他方
の入力端子に入力される。この方法によれば、2入力O
Rゲートが採用された場合に比べて、段数を減らすこと
ができる。図55に示される例では、(17)式に負論
理形式で表わされた変数(hバー又はdバー)が、正論
理形式で制御端子に入力され、論理関数i又は
[Outside 23] Are mapped using an OR configuration multiplexer (the second-stage multiplexer counting from the last stage, the control terminal of which is coupled to input the variable d). As in the above example, a logical group represented by the sum of one variable and one logical function is efficiently mapped using an OR configuration multiplexer. Here, a variable is input to its control terminal, a logical function (a part obtained by removing the variable from the product term) is input to one input terminal, and a constant is input to the other input terminal. According to this method, two inputs O
The number of stages can be reduced as compared with the case where an R gate is employed. In the example shown in FIG. 55, a variable (h bar or d bar) expressed in the negative logic form in Expression (17) is input to the control terminal in a positive logic form, and the logical function i or

【外24】 は、入力端子Xに入力される。更に、定数“1”が、入
力端子Yに入力される。これにより、変数を反転するた
めのインバータが不要となり、トランジスタの数を減ら
すことができる。
[Outside 24] Is input to the input terminal X. Further, a constant “1” is input to the input terminal Y. As a result, an inverter for inverting a variable is not required, and the number of transistors can be reduced.

【0271】図21〜図26に示した論理回路、図35
〜図40に示した論理回路、図47〜図52に示した論
理回路は、いずれも、本実施形態による論理レベル整合
が行われている。このように論理レベル整合を行った後
の論理回路に対応する論理式は、他の適当なアルゴリズ
ムを用いて更に改善することができる。例えばBDDを
活用して、同じ論理になったノードを共有したり、複数
のノードを単一のノードで置換したり、等価で簡単な式
が得られるように一部の変数を変換しても良い。
The logic circuit shown in FIGS. 21 to 26, FIG.
The logic circuits shown in FIGS. 40 to 40 and the logic circuits shown in FIGS. 47 to 52 are all subjected to the logic level matching according to the present embodiment. The logic equation corresponding to the logic circuit after the logic level matching can be further improved by using another appropriate algorithm. For example, utilizing the BDD, sharing nodes that have the same logic, replacing multiple nodes with a single node, or converting some variables to obtain an equivalent and simple expression good.

【0272】本実施形態による論理レベル整合は、第5
実施形態以外の適切な方法による1次マッピング処理に
よって得られた論理回路にも適用可能である。例えば、
第5実施形態においては、マッピングが、最下位グルー
プから出発して、上位のグループに向けて行われていた
が、代わりに、最上位グループから下位グループに向け
て行い、その結果得られた論理回路に、本実施形態によ
る論理レベル整合を行うこともできる。
The logic level matching according to the present embodiment corresponds to the fifth
The present invention can be applied to a logic circuit obtained by a primary mapping process using an appropriate method other than the embodiment. For example,
In the fifth embodiment, the mapping is performed from the lowest group to the higher group. Instead, the mapping is performed from the highest group to the lower group, and the resulting logic is calculated. The logic level matching according to the present embodiment can be performed on the circuit.

【0273】以下、本発明の第7実施形態による論理回
路の設計方法について説明する。
Hereinafter, a method for designing a logic circuit according to the seventh embodiment of the present invention will be described.

【0274】本実施形態においては、第5実施形態によ
る1次マッピングと第6実施形態による論理レベル整合
が、別々のステップとして行われるのではなく、同時に
行われている。本実施形態では、更に、最下位グループ
から上位グループへマッピングするボトムアップの第5
実施形態とは逆に、最上位グループから下位のグループ
へマッピングするトップダウンのマッピングが行われて
いる。本実施形態においては、与えられた論理式中の最
上位グループを先ずマッピングし、最下位のグループに
向けて順に、各グループのマッピングを行う。
In this embodiment, the primary mapping according to the fifth embodiment and the logic level matching according to the sixth embodiment are performed not simultaneously but as separate steps. In the present embodiment, a fifth bottom-up mapping from the lowest group to the higher group is further performed.
Contrary to the embodiment, a top-down mapping is performed for mapping from the highest group to the lower group. In this embodiment, the highest-order group in a given logical expression is mapped first, and each group is mapped in order toward the lowest-order group.

【0275】最上位グループに対しては、与えられた論
理式中の最上位グループの構成に応じて、以下に説明す
る異なる4種(以下第1種〜第4種と称する)のマッピ
ングが行われる。
For the uppermost group, four different types of mappings (hereinafter referred to as first to fourth types) described below are performed according to the configuration of the uppermost group in a given logical expression. Will be

【0276】まず第1種は、最上位グループが、1以上
の上位変数を共有する論理関数だけで構成されている場
合である。この場合は、出力側にインバータを持つマル
チプレクサが最終段に配置される。例えば上位変数aを
有する正論理出力の論理式(18)は、図57に示す形
で論理回路にマッピングされる。上位変数が複数ある場
合は、多段マルチプレクサが用いられる。
First, the first type is a case where the highest-order group is composed of only logical functions sharing one or more higher-order variables. In this case, a multiplexer having an inverter on the output side is arranged at the last stage. For example, the logical expression (18) of the positive logical output having the upper variable a is mapped to the logical circuit in the form shown in FIG. If there are a plurality of upper variables, a multi-stage multiplexer is used.

【0277】[0277]

【数13】 (Equation 13)

【0278】次に第2種は、最上位グループが、共通変
数を持つ論理関数を1つだけ含む場合である。この場合
は、出力が正論理形式ならば、ゼロANDゲート、即ち
NORゲートが最終段に配置され、出力が負論理形式な
らば、NANDゲートが配置される。共通変数b及びc
を有する例を、(19)式に示す。(19)式におい
て、論理関数Hは、共通変数aとbを共有する複数の下
位の論理関数の和によって表わされる。(19)式を本
実施形態でマッピングすると、図58に示す形の論理回
路を得ることができる。共通変数の数が、多入力論理ゲ
ートの入力端子の最大許容数以上である場合は、前述の
第5実施形態による1次マッピング処理と同様に、一方
の入力端子を定数入力にしたマルチプレクサを加える。
The second type is a case where the highest-order group includes only one logical function having a common variable. In this case, if the output is of a positive logic type, a zero AND gate, that is, a NOR gate is arranged at the last stage, and if the output is of a negative logic type, a NAND gate is arranged. Common variables b and c
Is shown in the equation (19). In the equation (19), the logical function H is represented by the sum of a plurality of lower logical functions sharing the common variables a and b. When the expression (19) is mapped in the present embodiment, a logic circuit having the form shown in FIG. 58 can be obtained. If the number of common variables is equal to or larger than the maximum allowable number of input terminals of the multi-input logic gate, a multiplexer having one input terminal as a constant input is added as in the case of the primary mapping processing according to the fifth embodiment. .

【0279】U=b・c・H …(19) Hは任意の論理関数U = b · c · H (19) H is an arbitrary logical function

【0280】次に第3種は、最上位グループが、共通変
数を持たない論理関数を1つだけ含む場合である。この
場合は、最終段にインバータが配置される。出力が正論
理形式の論理式の例を(20)式に示す。この場合の特
別な例として、第1種のように、論理関数が、上位変数
を含む論理グループを有することがある。本実施形態で
(20)式をマッピングすると、図59に示す形の論理
回路となる。
Next, the third type is a case where the highest-order group includes only one logical function having no common variable. In this case, an inverter is arranged at the last stage. An example of a logical expression whose output is a positive logical format is shown in Expression (20). As a special example in this case, as in the first type, the logical function may have a logical group including a higher-order variable. When the expression (20) is mapped in this embodiment, a logic circuit having the form shown in FIG. 59 is obtained.

【0281】U=I …(20) Iは任意の論理関数U = I (20) I is an arbitrary logical function

【0282】次に第4種は、最上位グループが、複数の
独立した下位の論理グループを含む場合である。この場
合、出力が正論理形式ならば、ゼロORゲート、即ちN
ANDゲートが最終段に配置される。一方、出力が負論
理形式ならば、NORゲートが最終段に配置される。こ
こで、「独立した論理グループ」は、文字通り独立した
論理グループだけでなく、異なる上位変数を持つグルー
プや、異なる共通変数を持つグループ、及び、これらの
混在を含む。(21)式に例を示す。この(21)式を
本実施形態でマッピングすると、図60に示す形の論理
回路となる。
Next, the fourth type is a case where the uppermost group includes a plurality of independent lower logical groups. In this case, if the output is in positive logic form, a zero-OR gate, ie, N
An AND gate is arranged at the last stage. On the other hand, if the output is of a negative logic type, the NOR gate is arranged at the last stage. Here, the “independent logical group” includes not only a literally independent logical group but also a group having different upper variables, a group having different common variables, and a mixture of these. An example is shown in equation (21). When this equation (21) is mapped in this embodiment, a logic circuit having the form shown in FIG. 60 is obtained.

【0283】U=J+K+L …(21) J、K、Lは任意の論理関数U = J + K + L (21) J, K and L are arbitrary logical functions

【0284】この第4種において、最上位グループが、
多数の独立した下位のグループを含む場合は、上記のN
ANDもしくはNORゲートに、一つの入力端子が定数
信号を入力するように接続されたOR構成マルチプレク
サを加えるか、NORゲートを加える。例えば、OR構
成のマルチプレクサを図60の論理回路に追加すると、
図61に示す論理回路のようになる。一方、NORゲー
トを追加すると、図62に示す論理回路のようになる。
図61や図62に示す論理回路は、正論理となってい
る。
In the fourth type, the highest-order group is
If there are many independent sub-groups, the above N
An OR configuration multiplexer with one input terminal connected to input a constant signal or a NOR gate is added to the AND or NOR gate. For example, when a multiplexer having an OR configuration is added to the logic circuit of FIG.
It becomes like the logic circuit shown in FIG. On the other hand, when a NOR gate is added, a logic circuit shown in FIG. 62 is obtained.
The logic circuits shown in FIGS. 61 and 62 are of positive logic.

【0285】図61のマルチプレクサで、Jが有効な状
態(H状態)であるときには、定数入力“GND”が有
効になって、マルチプレクサの出力が有効(L状態)に
なる。Jが無効な状態であるときには、Kバーが有効
(L状態)ならば、マルチプレクサの出力が有効(L状
態)になる。即ち、JかKのどちらかが有効ならば、マ
ルチプレクサの出力は有効になる。このため、このマル
チプレクサは「OR構成マルチプレクサ」と呼ばれてい
る。図61の例では、NORゲートの入力が負論理形式
なので、NOR論理を持つように構成されたマルチプレ
クサが使われている。NORゲートの入力が正論理形式
であれば、OR論理を持つように構成されたマルチプレ
クサを用いることができる。いずれも、OR構成マルチ
プレクサである。
In the multiplexer shown in FIG. 61, when J is in the valid state (H state), the constant input "GND" becomes valid, and the output of the multiplexer becomes valid (L state). When J is in an invalid state, the output of the multiplexer becomes valid (L state) if K bar is valid (L state). That is, if either J or K is valid, the output of the multiplexer is valid. For this reason, this multiplexer is called an "OR configuration multiplexer". In the example of FIG. 61, since the input of the NOR gate is of a negative logic type, a multiplexer configured to have a NOR logic is used. If the input of the NOR gate is of a positive logic type, a multiplexer configured to have an OR logic can be used. Both are OR configuration multiplexers.

【0286】上記の各例においては、パストランジスタ
論理回路によって生じた論理振幅の減衰を回復し、最終
段が、他の論理回路、順序回路や記憶回路のような次段
の回路を駆動するのに十分な能力を有するようにするた
め、インバータ又は多入力論理ゲートが最終段に配置さ
れる。
In each of the above examples, the attenuation of the logic amplitude caused by the pass transistor logic circuit is restored, and the final stage drives the next stage circuit such as another logic circuit, a sequential circuit, or a storage circuit. In order to have sufficient capacity, an inverter or a multi-input logic gate is arranged at the last stage.

【0287】最上位グループのマッピング処理が終了し
た後、次に説明するように、下位レベルのグループに対
するマッピングが更に行われる。
After the mapping processing of the uppermost group is completed, mapping to the lower-level group is further performed as described below.

【0288】この処理では、2番目に上位のグループか
ら開始して、パストランジスタの段数を許容範囲内に維
持しつつ、次々に各グループを最下位までマッピングし
て行く。このマッピング処理に際して、論理回路の出力
側を起点に入力側へ向かって、反転型の多入力論理ゲー
ト又はインバータを境界にして、正(負)論理領域と負
(正)論理領域を交互に形成して行く。
In this processing, starting from the second highest group, each group is sequentially mapped to the lowest while maintaining the number of stages of the pass transistors within the allowable range. In this mapping process, a positive (negative) logic area and a negative (positive) logic area are alternately formed with the inversion type multi-input logic gate or inverter as a boundary from the output side of the logic circuit toward the input side. Go.

【0289】ここでの処理は、論理レベル整合を同時に
行う点を除けば、基本的に第5実施形態と同一である。
具体的には、上位変数を持つ論理グループは、パストラ
ンジスタの組合せからなるマルチプレクサの制御端子に
上位変数を入力することによってマッピングされる。一
方、共通変数を持つグループは、共通変数が正論理領域
から入力される時は、NANDゲートの入力端子に入力
し、共通変数が負論理領域から入力される時は、NOR
ゲートの入力端子に入力することによってマッピングさ
れる。上記マッピングでは、共通変数を共有する論理関
数の和によって表わされる下位グループは、この和をN
AND又はNORゲートの一つの入力端子に入力し、共
通変数は、NANDまたはNORゲートの残る入力端子
に入力するようにマッピングされる。直接入力信号は、
正論理領域にはそのまま入力し、負論理領域には反転し
て入力する。共通変数が多く、全ての共通変数を多入力
論理ゲートに直接入力することができない場合は、一つ
の入力端子が定数を入力するように接続されたマルチプ
レクサを追加し、共通変数のいくつかをマルチプレクサ
を介して入力する。この場合、マルチプレクサが正論理
領域に配置されると、変数は直接入力され、定数は“G
ND”信号となる。一方、マルチプレクサが負論理領域
に配置されると、変数は反転後入力され、定数は“VD
D”信号になる。最下位の積項は、NANDゲート又は
NORゲートのすべての入力端子を使って、同様にマッ
ピングする。
The processing here is basically the same as that of the fifth embodiment except that the logic level matching is performed at the same time.
Specifically, a logical group having an upper variable is mapped by inputting the upper variable to a control terminal of a multiplexer composed of a combination of pass transistors. On the other hand, the group having a common variable is input to the input terminal of the NAND gate when the common variable is input from the positive logic area, and is set to NOR when the common variable is input from the negative logic area.
It is mapped by inputting to the input terminal of the gate. In the above mapping, the lower group represented by the sum of the logical functions sharing the common variable,
Input to one input terminal of the AND or NOR gate, and the common variable is mapped to input to the remaining input terminal of the NAND or NOR gate. The direct input signal is
The signal is input as it is to the positive logic area, and is inverted and input to the negative logic area. If there are many common variables and not all of the common variables can be directly input to the multi-input logic gate, add a multiplexer with one input terminal connected to input a constant. To enter through. In this case, when the multiplexer is arranged in the positive logic area, the variable is directly input and the constant is “G”.
On the other hand, if the multiplexer is arranged in the negative logic area, the variable is input after inversion, and the constant is “VD”.
D "signal. The least significant product term is similarly mapped using all the input terminals of the NAND gate or NOR gate.

【0290】第4実施形態の共通変数/組合せ種類法で
最適化された前述の論理式(14)を、第7実施形態の
トップダウンのマッピングで処理すると、図63〜図6
8に示す形の論理回路が得られる。ここでは、作図の便
宜上、一つの論理回路が、図63〜図68に分割されて
いる。(14)式において、最上位グループは、上位変
数aを有する論理グループである。従って、インバータ
が最終段に配置され、マルチプレクサがインバータの入
力側に配置され、上位変数aはマルチプレクサの制御端
子に入力される。
When the above-described logical expression (14) optimized by the common variable / combination type method of the fourth embodiment is processed by the top-down mapping of the seventh embodiment, FIGS.
8 is obtained. Here, one logic circuit is divided into FIGS. 63 to 68 for convenience of drawing. In the equation (14), the highest-order group is a logical group having a higher-order variable a. Therefore, the inverter is arranged at the last stage, the multiplexer is arranged at the input side of the inverter, and the upper variable a is input to the control terminal of the multiplexer.

【0291】この論理回路は、細かい点で多少の違いは
あるものの、ボトムアップの一次マッピング処理の後、
論理レベル整合を行うことによって得られた図47−図
52に示される論理回路と基本的に同じである。符号S
41′−S50′が付された信号は、図47−図52に
示される論理回路中の信号S41−S50に対応してい
る。トランジスタの使用数及び最大信号パス段数も、図
47−図52に示される回路と同じである。しかしなが
ら、与えられた論理式によって、本実施形態で得られる
論理回路は、1次マッピング後に論理レベル整合を行う
ことによって得られる論理回路と異なることもある。
Although this logic circuit has some differences in small points, after the bottom-up primary mapping processing,
This is basically the same as the logic circuit shown in FIGS. 47 to 52 obtained by performing the logic level matching. Sign S
Signals denoted by 41'-S50 'correspond to signals S41-S50 in the logic circuits shown in FIGS. The number of transistors used and the maximum number of signal path stages are the same as those in the circuits shown in FIGS. However, the logic circuit obtained in the present embodiment may be different from the logic circuit obtained by performing the logic level matching after the primary mapping according to the given logic formula.

【0292】第5及び第6実施形態によって1次マッピ
ングと論理レベル整合を行うことにより、又は、第7実
施形態によるトップダウンのマッピングを行うことによ
って得られた論理回路は、様々な独特の回路構成を含
む。
The logic circuit obtained by performing the logic level matching with the primary mapping according to the fifth and sixth embodiments, or by performing the top-down mapping according to the seventh embodiment, can have various unique circuits. Including configuration.

【0293】組合せ種類法によって最適化された論理式
(5)に1次マッピングを施し、次いで、論理レベル整
合を行うことによって得られた図21−26に示される
論理回路において、図21及び図22に示される部分
は、入力側から出力側に向けてNORゲート、パストラ
ンジスタ論理回路(マルチプレクサ)及びNANDゲー
トの回路構成を有する。即ち、図22において、2段マ
ルチプレクサの出力は、信号S19を出力する2入力N
ANDゲートの1つの入力端子に接続され、図21中に
示される3個の3入力NORゲート(ゼロANDゲー
ト)によって発生された信号S11、S12及び13
は、2段マルチプレクサの3個の入力端子に入力され
る。この回路構成は、例えば、共通変数を共有する複数
の下位の論理関数からなり、その下位の論理関数の和
が、複数の積項によって共有された上位変数を有する下
位の論理グループである論理グループが、本発明に従っ
てマッピングされたときに、不可避的に現われる。即
ち、図21のNORゲートが積項をマッピングしてい
る。更に、図22中のマルチプレクサが、下位の論理グ
ループをマッピングしている。そして、図22中のNA
NDゲートは、共通変数及び下位の論理グループをその
入力端子に入力することによって、論理グループをマッ
ピングしている。1次マッピング処理において、AND
ゲートが、多入力論理ゲートとして配置されている。
In the logic circuit shown in FIGS. 21 to 26 obtained by applying the primary mapping to the logic equation (5) optimized by the combination type method and then performing logic level matching, FIG. The portion indicated by reference numeral 22 has a circuit configuration of a NOR gate, a pass transistor logic circuit (multiplexer), and a NAND gate from the input side to the output side. That is, in FIG. 22, the output of the two-stage multiplexer is a two-input N which outputs the signal S19.
Signals S11, S12 and 13 connected to one input terminal of the AND gate and generated by three 3-input NOR gates (zero AND gate) shown in FIG.
Are input to three input terminals of a two-stage multiplexer. This circuit configuration includes, for example, a plurality of lower logical functions sharing a common variable, and the sum of the lower logical functions is a lower logical group having an upper variable shared by a plurality of product terms. Appear inevitably when mapped according to the present invention. That is, the NOR gate in FIG. 21 maps the product term. Further, the multiplexer in FIG. 22 maps a lower logical group. And, in FIG.
The ND gate maps a logical group by inputting a common variable and a lower logical group to its input terminal. In the primary mapping process, AND
Gates are arranged as multi-input logic gates.

【0294】この場合、マルチプレクサが正論理領域に
配置されているので、積項をマッピングするための多入
力論理ゲートは、NORゲートによって置き換えられ、
論理グループをマッピングするための多入力論理ゲート
は、NANDゲートによって置き換えられる。マルチプ
レクサが負論理領域に配置されている場合には、積項を
マッピングするための多入力論理ゲートとしてNAND
ゲートが採用され、論理グループをマッピングするため
の多入力論理ゲートとしてNORゲートが採用される。
この場合、回路は、入力側から出力側に向けて配列され
たNANDゲート、パストランジスタ論理回路、及びN
ORゲートの構成を有する。このような回路構成は、図
56に示される論理回路に現われている。同様に、マッ
ピング及び論理レベル整合が同時に行われる場合、マル
チプレクサが正論理領域又は負論理領域のいずれに配置
されているかによって、どちらかの回路構成が得られ
る。
In this case, since the multiplexer is arranged in the positive logic area, the multi-input logic gate for mapping the product term is replaced by a NOR gate.
Multi-input logic gates for mapping logic groups are replaced by NAND gates. If the multiplexer is located in the negative logic area, the NAND as a multi-input logic gate for mapping the product term
Gates are employed, and NOR gates are employed as multi-input logic gates for mapping logic groups.
In this case, the circuit comprises NAND gates arranged from the input side to the output side, pass transistor logic circuits, and N
It has an OR gate configuration. Such a circuit configuration appears in the logic circuit shown in FIG. Similarly, when the mapping and the logic level matching are performed simultaneously, one of the circuit configurations is obtained depending on whether the multiplexer is arranged in the positive logic area or the negative logic area.

【0295】上記の例において、NORゲートによって
マッピングされた各積項は、変数のみを含む。しかしな
がら、一般的には、積項は論理関数を含む。例えば、共
通変数法によって最適化された論理式(9)をマッピン
グすることによって得られた、図35−40に示される
論理回路においては、入力側から出力側に向けて配列さ
れた、NANDゲート、パストランジスタ論理回路、N
ORゲート、パストランジスタ論理回路及びNANDゲ
ートからなる回路構成が現われている。例えば、図37
において、1段マルチプレクサの出力は、信号S33を
出力する2入力NANDゲートの一方の入力端子に入力
されている。図35及び図36に示される3入力NOR
ゲート(ゼロANDゲート)によって発生された信号S
31及びS32は、図37中の1段マルチプレクサの2
つの入力端子に入力される。更に、他の1段マルチプレ
クサの出力は、上記NORゲートの一方の入力端子に入
力され、3入力NANDゲートの出力は、これらの他の
1段マルチプレクサの2つの入力端子に、それぞれ入力
されている。
In the above example, each product term mapped by the NOR gate contains only variables. However, in general, the product terms include logic functions. For example, in the logic circuit shown in FIGS. 35 to 40 obtained by mapping the logic expression (9) optimized by the common variable method, the NAND gates arranged from the input side to the output side , Pass transistor logic circuit, N
A circuit configuration including an OR gate, a pass transistor logic circuit, and a NAND gate has appeared. For example, FIG.
In the example, the output of the one-stage multiplexer is input to one input terminal of a two-input NAND gate that outputs a signal S33. 3-input NOR shown in FIGS. 35 and 36
The signal S generated by the gate (zero AND gate)
31 and S32 are the two-stage multiplexers of FIG.
Input to two input terminals. Further, the output of the other one-stage multiplexer is input to one input terminal of the NOR gate, and the output of the three-input NAND gate is input to two input terminals of these other one-stage multiplexers. .

【0296】この回路構成は、例えば、本発明によるマ
ッピング方法が、共通変数を共有する複数の下位の論理
関数からなり、その下位の論理関数の和が、複数の積項
によって共有される上位変数を有する下位の論理グルー
プであり、各積項が、下位の共通変数と、複数の下位の
積項によって共有された下位の上位変数を有する第2の
下位の論理グループとの積である、論理グループを有す
る論理式に適用されたときに不可避的に現われる。即
ち、図35及び図36のNANDゲートは、下位の積項
をマッピングしている。図35及び図36のマルチプレ
クサは、第2の下位の論理グループをマッピングしてお
り、図35及び図36の各NORゲートは、下位の共通
変数と第2の下位の論理グループの積をマッピングして
いる。図37中のマルチプレクサは、下位の論理グルー
プをマッピングしており、図37中のNANDゲート
は、論理グループをマッピングしている。マッピング及
び論理レベル整合が同時に実行される場合でも、同様な
回路構成が得られる。
In this circuit configuration, for example, the mapping method according to the present invention comprises a plurality of lower logical functions sharing a common variable, and the sum of the lower logical functions is the upper variable shared by a plurality of product terms. , Wherein each product term is the product of a lower common variable and a second lower logical group having lower higher variables shared by a plurality of lower product terms. Inevitably appears when applied to logical expressions with groups. That is, the NAND gates in FIGS. 35 and 36 map the lower product terms. The multiplexers of FIGS. 35 and 36 map the second lower logical group, and each NOR gate of FIGS. 35 and 36 maps the product of the lower common variable and the second lower logical group. ing. The multiplexer in FIG. 37 maps a lower logical group, and the NAND gate in FIG. 37 maps a logical group. A similar circuit configuration can be obtained even when mapping and logic level matching are performed simultaneously.

【0297】回路のどの部分が正論理領域若しくは負論
理領域になるかによって、入力側から出力側に向けてN
ORゲート、パストランジスタ論理回路、NANDゲー
ト、パストランジスタ論理回路及びNORゲートが配列
された回路構成も発生する。大規模な論理式がマッピン
グされる場合、多くの段にわたって、パストランジスタ
論理回路を介してNANDゲートとNORゲートが交互
に配置されたような構成が現わされる。
Depending on which part of the circuit becomes the positive logic area or the negative logic area, N
A circuit configuration in which an OR gate, a pass transistor logic circuit, a NAND gate, a pass transistor logic circuit, and a NOR gate are arranged also occurs. When a large-scale logical expression is mapped, a configuration appears in which NAND gates and NOR gates are alternately arranged via pass transistor logical circuits over many stages.

【0298】次に、本発明の第8及び第9実施形態によ
る、多入力論理ゲートを含まない論理回路の設計方法を
説明する。ここでは、図7に示されるステップS14の
処理(1次マッピング処理)、ステップS16の処理
(論理レベル整合処理)について説明する。マッピング
と論理レベル整合を同時に実行する処理についても説明
する。ステップS12の最適化は、例えば第1〜第4実
施形態のいずれか、又は、他の技術によって行うことが
できる。第1〜第4実施形態に開示された方法による最
適化は、パストランジスタと多入力論理ゲートを共に含
む論理回路に限定されず、多入力論理ゲートを含まない
ような論理回路を設計する場合も、実施することができ
る。
Next, a description will be given of a method of designing a logic circuit not including a multi-input logic gate according to the eighth and ninth embodiments of the present invention. Here, the processing in step S14 (primary mapping processing) and the processing in step S16 (logical level matching processing) shown in FIG. 7 will be described. Processing for simultaneously executing mapping and logical level matching will also be described. The optimization in step S12 can be performed by, for example, any one of the first to fourth embodiments or another technique. The optimization according to the methods disclosed in the first to fourth embodiments is not limited to a logic circuit including both pass transistors and a multi-input logic gate, and may be designed when a logic circuit not including a multi-input logic gate is designed. , Can be implemented.

【0299】まず第8実施形態について説明する。本実
施形態では、第5実施形態と同様に、1次マッピング処
理を、最下位グループから開始して高位のグループに向
けて行う。本実施形態では、回路が、バッファを介して
直列に接続された複数のパストランジスタを含む回路構
成を含むように、マッピングする。
First, an eighth embodiment will be described. In the present embodiment, as in the fifth embodiment, the primary mapping processing is performed from the lowest group to the higher group. In the present embodiment, mapping is performed so that the circuit includes a circuit configuration including a plurality of pass transistors connected in series via a buffer.

【0300】本実施形態の1次マッピング処理では、ま
ず最下位グループの積項を、AND構成のマルチプレク
サを用いてマッピングする。必要な数のAND構成マル
チプレクサが、積項中に含まれる変数の数に応じて直列
に接続される。即ち、前段のマルチプレクサの出力端子
が、次のマルチプレクサの入力端子に接続される。論理
振幅の劣化を防止するため、パストランジスタの段数が
所定の最大許容数、例えば2段になる毎にバッファを挿
入する。1個の変数のみを含む項は、この段階でマッピ
ングする必要はない。その変数は直接次段に入力する。
In the primary mapping processing of this embodiment, first, the product terms of the least significant group are mapped using an AND-structured multiplexer. The required number of AND configuration multiplexers are connected in series depending on the number of variables included in the product terms. That is, the output terminal of the preceding multiplexer is connected to the input terminal of the next multiplexer. In order to prevent the logic amplitude from deteriorating, a buffer is inserted every time the number of stages of the pass transistor reaches a predetermined maximum allowable number, for example, two. Terms containing only one variable need not be mapped at this stage. The variable is input directly to the next stage.

【0301】上記の方法で、最下位グループ中の全ての
積項をマッピングした後、より上位のグループのマッピ
ングが更に行われる。
After all the product terms in the lowest group are mapped by the above method, the mapping of the higher group is further performed.

【0302】例えば、最下位グループの2つの項が上位
変数を共有している場合には、最下位から2番目のグル
ープ中の論理グループは、その上位変数を含む。この場
合、論理回路中にマルチプレクサが配置され、2つの項
がマルチプレクサの入力端子に入力され、上位変数がマ
ルチプレクサの制御端子に入力される。3以上の項が多
重上位変数を共有している場合、(パストランジスタ段
数が最大許容値を上回らないように)論理回路中に2段
以上のマルチプレクサが配置され、上位変数が、マルチ
プレクサの各制御端子に入力され、項が各入力端子に入
力される。次の上位レベルの論理グループが上位変数を
含む場合は、段数が最大許容数を上回らなければ、マル
チプレクサが更に次段に配置される。例えば、上記の論
理式(15)が、前記の1次マッピング処理によってマ
ッピングされると、図69に示す形の論理回路が得られ
る。
For example, when two terms in the lowest group share a higher variable, the logical group in the second group from the lowest includes the higher variable. In this case, a multiplexer is arranged in the logic circuit, two terms are input to the input terminal of the multiplexer, and the upper variable is input to the control terminal of the multiplexer. If three or more terms share multiple high-order variables, two or more multiplexers are arranged in the logic circuit (so that the number of pass transistor stages does not exceed the maximum allowable value), and the high-order variables are used to control each multiplexer. The term is input to the terminal, and the term is input to each input terminal. If the next higher-level logical group includes a higher-level variable, the multiplexer is further arranged at the next stage unless the number of stages exceeds the maximum allowable number. For example, when the above logical expression (15) is mapped by the above-described primary mapping process, a logical circuit having the form shown in FIG. 69 is obtained.

【0303】式(15)において、4個の括弧の内側
が、最下位グループである。それらは変数cのみを含む
項と、積項d・e、f・g・h、i・j・k・lをそれ
ぞれ有する。これらのうち、2番目と3番目の積項は、
2個又は3個の変数をそれぞれ含む。従って、それぞれ
1個のAND構成マルチプレクサと、2個のAND構成
マルチプレクサによってマッピングされる。4番目の積
項は4個の変数を含むので、この積項は、直列接続され
た3個のAND構成マルチプレクサの組合せを使ってマ
ッピングされる。パストランジスタの最大許容段数が2
段であるので、第2及び第3段AND構成マルチプレク
サの間にバッファが挿入される。上記の4項は、2個の
上位変数a及びbを共有する論理関数である。従って、
2段マルチプレクサを用いて、更にマッピングが行われ
る。最終段及びその前の段は、図53の回路と基本的に
同じである。但し、2個の上位変数を有する論理グルー
プをマッピングするのに使われるマルチプレクサの第1
段と第2段の間に、パストランジスタ段数が許容最大値
を上回らないように、バッファが挿入されている。
In equation (15), the inside of the four parentheses is the lowest group. They have terms containing only the variable c, and product terms de, fgh, and ijkl, respectively. Of these, the second and third product terms are
Includes two or three variables, respectively. Therefore, each is mapped by one AND configuration multiplexer and two AND configuration multiplexers. Since the fourth product term contains four variables, this product term is mapped using a combination of three AND configuration multiplexers connected in series. The maximum allowable number of pass transistors is 2
Being a stage, a buffer is inserted between the second and third stage AND configuration multiplexers. The above four terms are logical functions that share two upper variables a and b. Therefore,
Further mapping is performed using a two-stage multiplexer. The last stage and the previous stage are basically the same as the circuit in FIG. However, the first of the multiplexers used to map a logical group with two upper variables
A buffer is inserted between the stage and the second stage so that the number of pass transistor stages does not exceed the allowable maximum value.

【0304】上記1次マッピング処理で述べたAND構
成マルチプレクサの例は、図69に示されるマルチプレ
クサM21である。このマルチプレクサM21において
は、変数d及びeが有効(H状態)のときにだけ、マル
チプレクサM21の出力が有効(H状態)になる。この
例では、マルチプレクサM21が正論理形式に構成され
ているので、AND論理が採用されている。しかしなが
ら、入力端子に入力される定数及び変数を反転すれば、
NAND論理を採用することもできる。そのようなマル
チプレクサも含めて、「AND構成マルチプレクサ」と
呼ぶ。
An example of the AND configuration multiplexer described in the primary mapping process is the multiplexer M21 shown in FIG. In the multiplexer M21, the output of the multiplexer M21 becomes valid (H state) only when the variables d and e are valid (H state). In this example, since the multiplexer M21 is configured in a positive logic format, an AND logic is adopted. However, if the constants and variables input to the input terminal are inverted,
NAND logic can also be employed. Such an multiplexer is also referred to as an “AND configuration multiplexer”.

【0305】一方、共通変数を有する論理グループは、
AND論理マルチプレクサを用いてマッピングされる。
この場合は、パストランジスタ段数が例えば2段になる
毎に、バッファが挿入される。論理グループが共通変数
を1個有する場合は、この共通変数を共有する論理関数
の和をAND構成マルチプレクサの入力端子に入力し、
共通変数を制御端子に入力する。論理グループが複数の
共通変数を含む場合には、他のAND構成マルチプレク
サを使用して共通変数の積をマッピングした後、この積
が、共通変数を有するグループをマッピングするために
使われるAND構成マルチプレクサに入力される。そし
て、共通変数の積と、この共通変数を共有する論理関数
の和のうち、パス段数が多い方を、AND構成マルチプ
レクサの入力端子に入力し、パス段数の少ない方を、制
御端子に入力する。
On the other hand, a logical group having a common variable is
It is mapped using an AND logic multiplexer.
In this case, a buffer is inserted every time the number of pass transistor stages becomes, for example, two. If the logical group has one common variable, the sum of the logical functions sharing this common variable is input to the input terminal of the AND configuration multiplexer;
Input common variables to control terminals. If the logical group includes a plurality of common variables, use another AND configuration multiplexer to map the product of the common variables, and then use the AND configuration multiplexer to map the group having the common variable. Is input to Then, of the product of the common variables and the sum of the logical functions sharing this common variable, the one with the larger number of path stages is input to the input terminal of the AND configuration multiplexer, and the one with the smaller number of path stages is input to the control terminal. .

【0306】制御端子への信号が、バッファを通ること
なく供給されている場合は、バッファを挿入する。この
バッファは、論理振幅を回復するのに役立つ。即ち、H
信号は電源電圧に回復され、L信号は接地電圧に回復さ
れる。共通変数の積のパス段数が、共通変数を共有する
論理関数のパス段数と同じである場合は、どちらを制御
端子に入力してもよい。上記の論理式(16)は、共通
変数の積と関係するパス段数が、論理関数の和と関係す
るパス段数と等しい場合の例である。この論理式(1
6)を、ここで述べるような1次マッピング処理によっ
てマッピングすると、図70に示すような論理回路を得
ることができる。
If the signal to the control terminal is supplied without passing through the buffer, a buffer is inserted. This buffer helps to recover the logic amplitude. That is, H
The signal is restored to the power supply voltage, and the L signal is restored to the ground voltage. If the number of paths of the product of the common variables is the same as the number of paths of the logic function sharing the common variable, either of them may be input to the control terminal. The above logical expression (16) is an example where the number of path stages related to the product of the common variables is equal to the number of path stages related to the sum of the logical functions. This logical expression (1
If 6) is mapped by the primary mapping process described here, a logic circuit as shown in FIG. 70 can be obtained.

【0307】図70の論理回路において、共通変数b、
c、dは、2個のAND構成マルチプレクサを使用して
マッピングされ、その出力が、最終段から2段目のマル
チプレクサの制御端子に入力される。この共通変数b、
c、dを共有する4個の論理関数の和
In the logic circuit of FIG. 70, common variables b,
c and d are mapped using two AND configuration multiplexers, and the outputs are input to the control terminals of the second-stage multiplexer from the last stage. This common variable b,
Sum of four logic functions sharing c and d

【外25】 が、AND構成マルチプレクサの入力端子に入力され
る。そして、変数e及びfが多重上位変数として作用す
る事実を考慮した上で、論理関数の和
[Outside 25] Is input to the input terminal of the AND configuration multiplexer. Then, taking into account the fact that variables e and f act as multiple higher-order variables,

【外26】 が2段マルチプレクサを用いてマッピングされる。[Outside 26] Are mapped using a two-stage multiplexer.

【0308】1次マッピング処理の後、図7のフローチ
ャートにおけるステップS16に相当する論理レベル整
合が行われる。
After the primary mapping process, a logic level matching corresponding to step S16 in the flowchart of FIG. 7 is performed.

【0309】1次マッピングで使用するバッファは、C
MOS論理回路ではインバータを2個直列に使用するた
め、遅延時間が長くなり、トランジスタ数が増加し、消
費電力も多くなる。そのため、この論理レベル整合で
は、1次マッピングで使用したバッファをインバータ1
個に置き換え、トランジスタの数を削減する。それと共
に、論理の反転を調整する。
The buffer used in the primary mapping is C
In a MOS logic circuit, since two inverters are used in series, a delay time is increased, the number of transistors is increased, and power consumption is increased. Therefore, in this logic level matching, the buffer used in the primary mapping is stored in the inverter 1
To reduce the number of transistors. At the same time, the logic inversion is adjusted.

【0310】本実施形態の論理レベル整合では、出力側
から入力側に向かって、正(負)論理領域と負(正)論
理領域が交互に配置されるように論理レベルを調整す
る。最終段の極性は、与えられた論理式が正又は負論理
のいずれで表現されているかを考慮して決定する。具体
的には、まず各バッファを1つのインバータに置き換え
ると共に、各インバータを境界にして論理回路を正論理
領域と負論理領域に区切る。そして、負論理領域に直接
入力される信号の論理を反転させる。
In the logic level matching of this embodiment, the logic level is adjusted so that positive (negative) logic areas and negative (positive) logic areas are alternately arranged from the output side to the input side. The polarity of the last stage is determined in consideration of whether a given logical expression is expressed by positive or negative logic. Specifically, each buffer is first replaced with one inverter, and the logic circuit is divided into a positive logic area and a negative logic area with each inverter as a boundary. Then, the logic of the signal directly input to the negative logic area is inverted.

【0311】前記の論理式(17)に対して本実施形態
による1次マッピング処理を行うと、図71に示す論理
回路を得ることができる。この論理回路について、前記
論理レベル整合を行った結果を、図72に示す。
When the primary mapping processing according to the present embodiment is performed on the logical expression (17), a logical circuit shown in FIG. 71 can be obtained. FIG. 72 shows the result of performing the logic level matching on this logic circuit.

【0312】図71の例では、論理式(17)が正論理
で表現されているため、出力Wが正論理領域にある。従
って、バッファB1とB2の間の回路部分、バッファB
3より前段の部分、及び、バッファB4より前段の部分
は負論理領域にある。マルチプレクサの制御端子に入力
される制御信号は、正論理でも負論理でもよいが、ここ
では正論理としている。バッファB5より前段の部分
も、負論理領域にある。具体的には、直接入力信号であ
る変数c、g及びiを反転する。同様に、マルチプレク
サM31〜M35に入力されるL定数信号と、マルチプ
レクサM36に入力されるH定数信号を反転させる。そ
の他の変更は行わない。図71の論理回路に対して上記
の論理レベル整合を行うと、図72に示すような回路に
変換される。
In the example of FIG. 71, since the logical expression (17) is expressed by positive logic, the output W is in the positive logic area. Therefore, the circuit portion between the buffers B1 and B2, the buffer B
The part preceding the buffer 3 and the part preceding the buffer B4 are in the negative logic area. The control signal input to the control terminal of the multiplexer may be a positive logic or a negative logic, but here is a positive logic. The portion preceding the buffer B5 is also in the negative logic area. Specifically, the variables c, g, and i which are direct input signals are inverted. Similarly, the L constant signal input to the multiplexers M31 to M35 and the H constant signal input to the multiplexer M36 are inverted. No other changes are made. When the above logic level matching is performed on the logic circuit of FIG. 71, the logic circuit is converted into a circuit as shown in FIG.

【0313】次に第9実施形態について説明する。Next, a ninth embodiment will be described.

【0314】この第9実施形態では、与えられた論理式
の最適化が終了した後、先ず、最上位グループに対する
マッピング処理を行い、次いで、より下位のグループに
対するマッピング処理を、論理レベルを同時に調整しな
がら行う。
In the ninth embodiment, after the optimization of a given logical expression is completed, first, the mapping process for the highest-order group is performed, and then the mapping process for the lower-order group is adjusted simultaneously with the logical level. While doing.

【0315】最上位グループ及び下位グループに対する
マッピング処理は、実質的に同じ方法で行なうことがで
きる。但し、(21)式の場合のように、最上位グルー
プが独立した複数の下位のグループを含む場合は、この
複数のグループの入力順を選び、最大段数が最小化され
るようにすることが望ましい。
The mapping processing for the highest-order group and the lower-order group can be performed in substantially the same manner. However, when the highest-order group includes a plurality of independent lower-order groups, as in the case of equation (21), the input order of the plurality of groups may be selected so that the maximum number of stages is minimized. desirable.

【0316】この目的で、一つの入力端子が定数信号を
入力されるように接続されたOR構成マルチプレクサを
用いる。パストランジスタ段数が許容範囲内になるよう
に、適当な位置にインバータを挿入する。マッピング
は、パス段数の多いグループから少ないグループへ、出
力側から入力側へ順に行う。例えば、(21)式におい
て、論理グループJ、K、Lのパス段数がこの順に減少
する場合には、図73に示すような論理回路を得ること
ができる。
For this purpose, an OR configuration multiplexer is used in which one input terminal is connected to receive a constant signal. An inverter is inserted at an appropriate position so that the number of pass transistor stages falls within an allowable range. Mapping is performed in order from the group having the largest number of path stages to the group having the smallest number of path stages from the output side to the input side. For example, when the number of path stages of the logical groups J, K, and L decreases in this order in the equation (21), a logical circuit as shown in FIG. 73 can be obtained.

【0317】パス段数は、近似的に次のようにして見積
ることができる。検討中のグループに属する最下位グル
ープの積項のうち、最も変数の数が多いものと、この最
下位グループの積項によって共有される共通変数の数と
を比べ、多い方を採用して“1”を加算し、更に、上位
変数の数を、これに加える。この処理を、上位の論理グ
ループに対して繰返し行い、得られた値を前記値に加算
する。同様の処理を繰返して、最上位グループ((2
1)式の場合は、論理グループJ、K、L)まで到達し
たときに、最終的に得られた値をパス段数見積値とす
る。
[0317] The number of path stages can be approximately estimated as follows. Of the product terms of the lowest group belonging to the group under consideration, compare the product term with the largest number of variables with the number of common variables shared by the product terms of the lowest group, 1 "is added, and the number of upper variables is added to this. This process is repeated for the upper logical group, and the obtained value is added to the value. By repeating the same processing, the top-level group ((2
In the case of the expression 1), when reaching the logical group J, K, L), the finally obtained value is used as the estimated path stage number.

【0318】マッピング処理は、(21)式以外の構成
を有する最上位グループ、及び、下位グループに対して
も行われる。各グループに対するマッピング処理では、
最上位から最下位グループへ、パストランジスタ段数が
最大許容数を超えないようにして、マッピングしてい
く。このマッピング処理では、出力側を起点として入力
側に向かって、正(負)論理領域と負(正)論理領域と
を交互に形成していき、隣接する正論理領域と負論理領
域が互いにインバータを境界にして結合されるようにす
る。
The mapping process is also performed on the highest-order group and the lower-order group having a configuration other than the expression (21). In the mapping process for each group,
Mapping is performed from the highest order to the lowest order so that the number of pass transistor stages does not exceed the maximum allowable number. In this mapping process, a positive (negative) logic area and a negative (positive) logic area are alternately formed from the output side toward the input side, and the adjacent positive logic area and negative logic area are mutually inverted. Is bounded.

【0319】ここでの処理は、論理レベル整合を同時に
行う点を除けば、基本的に第8実施形態の場合と同一で
ある。
The processing here is basically the same as that of the eighth embodiment except that the logic level matching is performed at the same time.

【0320】具体的には、上位変数を有する論理グルー
プをマルチプレクサによってマッピングし、共通変数を
有する論理グループをAND構成マルチプレクサを用い
てマッピングする。共通変数の積と、この共通変数を共
有する論理関数の和に対してパス段数見積値が決定さ
れ、大きい方をAND構成マルチプレクサの入力端子に
入力し、小さい方を対応するマルチプレクサの制御端子
に入力する。マルチプレクサの制御端子に入力される信
号が、インバータを通過することなく供給される場合
は、インバータを挿入する。負論理領域に直接入力され
る信号は、論理を反転する。
More specifically, a logical group having upper variables is mapped by a multiplexer, and a logical group having common variables is mapped by using an AND configuration multiplexer. An estimated value of the number of pass stages is determined for the product of the common variables and the sum of the logic functions sharing the common variables. The larger one is input to the input terminal of the AND configuration multiplexer, and the smaller one is input to the control terminal of the corresponding multiplexer. input. When the signal input to the control terminal of the multiplexer is supplied without passing through the inverter, the inverter is inserted. A signal input directly to the negative logic area inverts the logic.

【0321】以上説明したように、第8及び第9実施形
態では、論理回路に構成されるべく与えられた論理式
が、パストランジスタ論理回路を使ってマッピングされ
る。前記組合せ種類法によって最適化された論理式
(5)、ボトムアップの共通変数法によって最適化され
た論理式(9)、及び、共通変数/組合せ種類法によっ
て最適化された論理式(14)は、第8実施形態の方法
によって、パストランジスタ論理回路を用いて、それぞ
れ、図74〜図77、図78〜図82、図83〜図87
に示される論理回路にマッピングすることができる。こ
こで図74〜図77、図78〜図82、図83〜図87
は、いずれも、1つの論理回路を作図の便宜上分割した
ものであり、符号S81〜S84、S91〜S94、S
101〜S104は、論理回路中の信号の接続を示すの
に使用されている。
As described above, in the eighth and ninth embodiments, the logical expression given to be formed in the logic circuit is mapped using the pass transistor logic circuit. A logical expression (5) optimized by the combination type method, a logical expression (9) optimized by the bottom-up common variable method, and a logical expression (14) optimized by the common variable / combination type method FIGS. 74 to 77, FIGS. 78 to 82, and FIGS. 83 to 87, respectively, using a pass transistor logic circuit according to the method of the eighth embodiment.
Can be mapped to the logic circuit shown in FIG. Here, FIG. 74 to FIG. 77, FIG. 78 to FIG.
Are one logical circuit divided for convenience of drawing, and are denoted by S81 to S84, S91 to S94, S
101 to S104 are used to indicate connection of signals in a logic circuit.

【0322】図74〜図77に示される論理回路のトラ
ンジスタ使用数は166個、信号パス段数の最大値は1
4段である。図78〜図82に示される論理回路のトラ
ンジスタ使用数は141個、信号パス段数の最大値は1
2段である。図83〜図87に示される論理回路のトラ
ンジスタ使用数は142個、信号パス段数の最大値は1
2である。
The logic circuit shown in FIGS. 74 to 77 uses 166 transistors, and the maximum value of the number of signal paths is 1.
There are four stages. The number of transistors used in the logic circuits shown in FIGS. 78 to 82 is 141, and the maximum value of the number of signal path stages is 1.
Two stages. The number of transistors used in the logic circuits shown in FIGS. 83 to 87 is 142, and the maximum number of signal path stages is 1.
2.

【0323】[0323]

【発明の効果】本発明の様々な実施形態の形で開示され
た技術によれば、次の利点の少なくとも1つが達成され
る。
According to the technology disclosed in various embodiments of the present invention, at least one of the following advantages is achieved.

【0324】本発明による論理回路の設計方法によれ
ば、上位変数を有する論理グループが、パストランジス
タの組合せからなるマルチプレクサを用いて、トランジ
スタの総数が少なく、段数も少ない論理回路にマッピン
グされる。本発明の1つの実施形態では、更に、共通変
数を有する論理グループが、多入力論理ゲートを用いて
マッピングされ、より少ない数のトランジスタと段数を
含む論理回路が得られる。本発明によるCADシステム
は、そのようなマッピング処理を、望ましい方法で行う
のに使われる。
According to the logic circuit designing method of the present invention, a logic group having a higher variable is mapped to a logic circuit having a smaller total number of transistors and a smaller number of stages by using a multiplexer composed of a combination of pass transistors. In one embodiment of the present invention, further, logic groups having common variables are mapped using multi-input logic gates, resulting in a logic circuit including a smaller number of transistors and stages. The CAD system according to the invention is used to perform such a mapping process in a desired manner.

【0325】本発明による論理回路の設計方法によれ
ば、与えられた論理式に対して、積項を上位変数によっ
てグループ化する処理を含む最適化処理が行われる。そ
の結果、最適化された論理式が、マルチプレクサを用い
て、少数のトランジスタと段数を含む論理回路に容易に
マッピングされる。本発明の1つの実施形態では、与え
られた論理式が、積項を共通変数でグループ化すること
によって最適化される。この最適化された論理式が多入
力論理ゲートを用いて、少数のトランジスタ及びパスト
ランジスタ段数を含む論理回路に容易にマッピングされ
る。本発明の一実施形態によれば、与えられた論理式
が、上位変数によって積項をグループ化する処理に加え
て、更に、共通変数によって積項をグループ化する処理
を含む最適化処理によって最適化される。その結果、最
適化された論理式が、マルチプレクサ及び多入力論理ゲ
ートを用いて、より少数のトランジスタ及びパストラン
ジスタ段数を含む論理回路に容易にマッピングされる。
本発明によるCADシステムは、そのようなマッピング
処理を、望ましい方法で実行するのに使われる。
According to the logic circuit designing method of the present invention, optimization processing including processing for grouping product terms by higher variables is performed on a given logical expression. As a result, the optimized logical expression is easily mapped to a logical circuit including a small number of transistors and the number of stages using the multiplexer. In one embodiment of the invention, a given logical expression is optimized by grouping product terms by common variables. This optimized logic expression is easily mapped to a logic circuit including a small number of transistors and the number of pass transistor stages using a multi-input logic gate. According to an embodiment of the present invention, a given logical expression is optimized by an optimization process including a process of grouping product terms by common variables in addition to a process of grouping product terms by upper variables. Be transformed into As a result, the optimized logic expression is easily mapped using a multiplexer and a multi-input logic gate to a logic circuit including a smaller number of transistor and pass transistor stages.
The CAD system according to the invention is used to perform such a mapping process in a desired way.

【0326】本発明のマッピング方法によれば、組合せ
論理式が、マルチプレクサと反転型論理ゲートからなる
回路構成を用いて、少数のトランジスタと段数の論理回
路にマッピングされる。本発明によるCADシステム
は、そのようなマッピング処理を、望ましい方法で行う
のに使われる。
According to the mapping method of the present invention, a combinational logic expression is mapped to a small number of transistors and a logic circuit having a number of stages using a circuit configuration including a multiplexer and an inversion type logic gate. The CAD system according to the invention is used to perform such a mapping process in a desired manner.

【0327】本発明のマッピング方法によれば、様々な
数の論理関数を含む積項が、多入力論理ゲートと必要数
のマルチプレクサの組合せを用いて、少数のトランジス
タ及び段数を含む論理回路にマッピングされる。本発明
によるCADシステムは、そのようなマッピング処理
を、望ましい方法で実施するのに用いられる。
According to the mapping method of the present invention, a product term including various numbers of logic functions is mapped to a logic circuit including a small number of transistors and stages using a combination of a multi-input logic gate and a required number of multiplexers. Is done. The CAD system according to the invention is used to implement such a mapping process in a desired way.

【0328】本発明によれば、様々な数の論理関数を含
む積項を有する論理式によって表わされる論理演算を実
行するための論理回路を、多入力論理ゲートと必要数の
マルチプレクサの組合せを用いて、少数のトランジスタ
と段数で構成することができる。本発明による電子シス
テムは、そのような論理回路を用いて実現される。本発
明による論理演算を実行するための方法において、様々
な数の論理関数を含む積項を有する論理式によって表わ
される論理演算は、上記の形の論理回路を用いることに
よって、効率的に実行される。
According to the present invention, a logic circuit for executing a logical operation represented by a logical expression having a product term including various numbers of logical functions is provided by using a combination of a multi-input logical gate and a required number of multiplexers. Thus, it can be configured with a small number of transistors and the number of stages. An electronic system according to the present invention is implemented using such a logic circuit. In a method for performing a logical operation according to the present invention, a logical operation represented by a logical expression having a product term including various numbers of logical functions is efficiently performed by using a logical circuit of the above-described form. You.

【0329】本発明のマッピング方法によれば、いくつ
かの又は全てが複数の下位の論理関数の積である、複数
の論理関数によって共有された1以上の上位変数を有す
る論理グループを含む論理式が、1以上の多入力論理ゲ
ートとマルチプレクサの組合せを用いて、少数のトラン
ジスタと段数を含む論理回路にマッピングされる。本発
明によるCADシステムは、そのようなマッピング処理
を、望ましい方法で実施するのに用いられる。本発明に
よれば、1つ又は全てが複数の下位の論理関数の積であ
る、複数の論理関数によって共有された1以上の上位変
数を有する論理グループを含む論理式によって表わされ
る論理演算を実行するのに適した論理回路を、1以上の
多入力論理ゲートとマルチプレクサの組合せを用いて、
少数のトランジスタ及び段数で構成することができる。
本発明による電子システムは、そのような論理回路を用
いて構成される。
According to the mapping method of the present invention, a logical expression including a logical group having one or more upper variables shared by a plurality of logical functions, some or all of which are products of a plurality of lower logical functions. Are mapped to a logic circuit that includes a small number of transistors and stages using a combination of one or more multi-input logic gates and multiplexers. The CAD system according to the invention is used to implement such a mapping process in a desired way. According to the present invention, performing a logical operation represented by a logical expression that includes a logical group having one or more upper variables shared by a plurality of logical functions, one or all of which is the product of a plurality of lower logical functions. A logic circuit suitable for using a combination of one or more multi-input logic gates and a multiplexer,
It can be composed of a small number of transistors and the number of stages.
An electronic system according to the present invention is configured using such a logic circuit.

【0330】本発明による論理演算の実行方法によれ
ば、いくつかの又は全てが複数の下位の論理関数の積で
ある、複数の論理関数によって共有された1以上の上位
変数を有する論理グループを含む論理式によって表わさ
れる論理演算を、上記の形式の1以上の多入力論理ゲー
トとマルチプレクサの組合せを含む論理回路を用いて、
効率的に実行することができる。
According to the logical operation execution method of the present invention, a logical group having one or more upper variables shared by a plurality of logical functions, some or all of which are products of a plurality of lower logical functions, is created. The logical operation represented by the logical expression including, using a logical circuit including a combination of one or more multi-input logical gates and multiplexers of the above-described type,
It can be executed efficiently.

【0331】本発明のマッピング方法によれば、複数の
論理関数によって共有された1以上の共通変数を含み、
その論理関数の和が、複数の下位の論理関数によって共
有された1以上の上位変数を含む下位の論理グループで
ある論理グループを含む論理式が、多入力論理ゲートと
マルチプレクサの組合せを用いて、少数のトランジスタ
及び段数を含む論理回路にマッピングされる。本発明に
よるCADシステムは、そのようなマッピング処理を、
望ましい方法で実施するのに用いられる。
According to the mapping method of the present invention, the mapping method includes one or more common variables shared by a plurality of logical functions,
A logical expression that includes a logical group whose logical function sum is a lower logical group including one or more upper variables shared by a plurality of lower logical functions is expressed by using a combination of a multi-input logical gate and a multiplexer. It is mapped to a logic circuit including a small number of transistors and the number of stages. The CAD system according to the present invention performs such a mapping process,
Used to implement in the desired manner.

【0332】本発明によれば、複数の論理関数によって
共有された1以上の共通変数を含み、その論理関数の和
が、複数の下位の論理関数によって共有された1以上の
上位変数を含む下位の論理グループである論理グループ
を含む論理式によって表わされた論理演算を実施するの
に適した論理回路を、多入力論理ゲートとマルチプレク
サの組合せを用いて、少数のトランジスタ及び段数で構
成することができる。本発明による電子システムは、そ
のような論理回路を用いて構成される。
According to the present invention, one or more common variables shared by a plurality of logical functions are included, and the sum of the logical functions is determined by a lower order including one or more upper variables shared by a plurality of lower logical functions. A logic circuit suitable for performing a logical operation represented by a logical expression including a logical group that is a logical group of the above is configured with a small number of transistors and the number of stages using a combination of a multi-input logical gate and a multiplexer. Can be. An electronic system according to the present invention is configured using such a logic circuit.

【0333】本発明による論理演算の実行方法によれ
ば、複数の論理関数によって共有された1以上の共通変
数を含み、その論理関数の和が、複数の下位の論理関数
によって共有された1以上の上位変数を含む下位の論理
グループである論理グループを含む論理関数によって表
わされた論理演算を、上記の形の多入力論理ゲートとマ
ルチプレクサの組合せを含む論理回路を用いて、効率的
に実行することができる。
According to the method of executing a logical operation according to the present invention, the method includes one or more common variables shared by a plurality of logical functions, and the sum of the logical functions is one or more common variables shared by a plurality of lower logical functions. The logical operation represented by the logical function including the logical group that is the lower logical group including the upper variable of the above is efficiently executed using the logical circuit including the combination of the multi-input logical gate and the multiplexer of the above-described form. can do.

【0334】本発明による論理式のマッピング方法によ
れば、論理式が、2種の多入力論理ゲートとマルチプレ
クサの組合せを用いてマッピングされる。この方法は例
えば、複数の論理関数の積からなり、その論理関数の少
なくとも1つが、複数の下位の論理関数によって共有さ
れた1以上の上位変数を含む下位の論理グループであっ
て、その下位の論理関数の少なくとも1つが複数の第2
の下位の論理関数の積であるような論理グループを含む
論理式を、少数のトランジスタ及び段数を含む論理回路
にマッピング可能とする。本発明によるCADシステム
は、そのようなマッピング処理を、望ましい方法で実施
するのに用いられる。
According to the logic expression mapping method of the present invention, a logic expression is mapped using a combination of two types of multi-input logic gates and a multiplexer. The method includes, for example, a product of a plurality of logical functions, at least one of the logical functions being a lower logical group including one or more upper variables shared by the plurality of lower logical functions, and At least one of the logical functions has a plurality of second functions.
A logical expression including a logical group, which is a product of lower logical functions, can be mapped to a logical circuit including a small number of transistors and the number of stages. The CAD system according to the invention is used to implement such a mapping process in a desired way.

【0335】本発明による論理回路は、第1及び第2の
種類の多入力論理ゲートとマルチプレクサを含み、第1
の種類の多入力論理ゲートの出力端子は、反転されるこ
となくマルチプレクサの入力端子の1つに接続され、マ
ルチプレクサの出力端子は、反転されることなく第2の
種類の多入力論理ゲートの入力端子の1つに接続され
る。この回路は、例えば、複数の論理関数の積からな
り、その論理関数の少なくとも1つが、複数の下位の論
理関数によって共有された1以上の上位変数を含む下位
の論理グループであって、その下位の論理関数の少なく
とも1つが、複数の第2の下位の論理関数の積であるよ
うな論理グループを含む論理式によって表わされる論理
演算を、少数のトランジスタ及び段数で実行するのに適
している。本発明による電子システムは、そのような論
理回路を用いて構成される。
A logic circuit according to the present invention includes first and second types of multi-input logic gates and multiplexers,
Is connected to one of the input terminals of the multiplexer without inversion, and the output terminal of the multiplexer is connected to the input of the second type of multi-input logic gate without inversion. Connected to one of the terminals. The circuit includes, for example, a product of a plurality of logical functions, and at least one of the logical functions is a lower logical group including one or more upper variables shared by the plurality of lower logical functions. Is suitable for executing a logical operation represented by a logical expression including a logical group such that at least one of the logical functions is a product of a plurality of second lower-order logical functions with a small number of transistors and the number of stages. An electronic system according to the present invention is configured using such a logic circuit.

【0336】本発明による論理演算の実行方法によれ
ば、例えば、複数の論理関数の積からなり、その論理関
数の少なくとも1つが、その下位の論理関数によって共
有された1以上の上位変数を含む下位の論理グループで
あって、下位の論理関数の少なくとも1つが、複数の第
2の下位の論理関数の積である論理グループを含むよう
な論理式によって表わされる論理演算を、上記の形で2
種類の多入力論理ゲートとマルチプレクサの組合せを含
む論理回路を用いて、効率的に実行することができる。
According to the logical operation execution method of the present invention, for example, the logical operation is formed by a product of a plurality of logical functions, and at least one of the logical functions includes one or more upper variables shared by the lower logical functions. A logical operation represented by a logical expression such that at least one of the lower logical groups includes a logical group that is a product of a plurality of second lower logical functions is performed in the above-described manner.
It can be implemented efficiently using a logic circuit that includes a combination of different types of multi-input logic gates and multiplexers.

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

【図1】論理式を表現するBDDの一例の線図FIG. 1 is a diagram of an example of a BDD expressing a logical expression.

【図2】図1の論理式をマッピングした論理回路の回路
FIG. 2 is a circuit diagram of a logic circuit obtained by mapping the logic expression of FIG. 1;

【図3】論理式の入力変数が、ある順序で入力される論
理回路の回路図
FIG. 3 is a circuit diagram of a logic circuit in which input variables of a logical expression are input in a certain order;

【図4】図3の論理回路にマッピングされた論理式を表
現したBDDを示す線図
FIG. 4 is a diagram showing a BDD expressing a logical expression mapped to the logical circuit of FIG. 3;

【図5】図3の論理回路にマッピングされたものと等価
な論理式を、入力変数が異なる順序で入力されるようマ
ッピングした論理回路の回路図
5 is a circuit diagram of a logic circuit in which a logical expression equivalent to that mapped to the logic circuit in FIG. 3 is mapped so that input variables are input in different orders;

【図6】図5の論理回路にマッピングされた論理式を表
現したBDDを示す線図
FIG. 6 is a diagram showing a BDD expressing a logical expression mapped to the logical circuit in FIG. 5;

【図7】本発明の1実施形態に従って論理回路を設計す
る手順を示すフローチャート
FIG. 7 is a flowchart illustrating a procedure for designing a logic circuit according to one embodiment of the present invention.

【図8】複合パストランジスタ論理回路の基本構成を示
す論理回路の回路図
FIG. 8 is a circuit diagram of a logic circuit showing a basic configuration of a composite pass transistor logic circuit.

【図9】複合パストランジスタ論理回路に用いられるパ
ストランジスタ論理演算系統の一例を示す回路図
FIG. 9 is a circuit diagram showing an example of a pass transistor logic operation system used in a composite pass transistor logic circuit;

【図10】本発明の1実施形態に用いられる単位マルチ
プレクサの一例を示す回路図
FIG. 10 is a circuit diagram showing an example of a unit multiplexer used in one embodiment of the present invention.

【図11】パーソナルハンディフォンのハンドセットの
構成を示すブロック線図
FIG. 11 is a block diagram showing a configuration of a handset of a personal handyphone.

【図12】セルラーフォンの加入者ユニットの構成を示
すブロック線図
FIG. 12 is a block diagram showing a configuration of a cellular phone subscriber unit.

【図13】CADシステムの概略構成図FIG. 13 is a schematic configuration diagram of a CAD system.

【図14】本発明の第1実施形態による論理回路の設計
に用いられる第1の変数表の先頭部分の図表
FIG. 14 is a diagram of a head part of a first variable table used for designing a logic circuit according to the first embodiment of the present invention;

【図15】前記第1の変数表の図14に続く部分の図表FIG. 15 is a diagram of a part following FIG. 14 of the first variable table.

【図16】前記第1の変数表の図15に続く部分の図表FIG. 16 is a diagram of a portion following FIG. 15 of the first variable table;

【図17】前記第1の変数表の図16に続く部分の図表FIG. 17 is a diagram of a portion following FIG. 16 of the first variable table;

【図18】前記第1実施形態に用いられる第2の変数表
の図表
FIG. 18 is a diagram of a second variable table used in the first embodiment.

【図19】前記第1実施形態に用いられる第3の変数表
の先頭部分の図表
FIG. 19 is a chart of a head portion of a third variable table used in the first embodiment.

【図20】前記第3の変数表の図19に続く部分の図表FIG. 20 is a diagram of a portion following FIG. 19 of the third variable table.

【図21】前記第1実施形態によって得られる、図21
〜図26で全体が示される論理回路の一部分を示す回路
FIG. 21 obtained by the first embodiment;
26 is a circuit diagram showing a part of a logic circuit shown in whole in FIG.

【図22】同じく第1実施形態によって得られる論理回
路の他の部分を示す回路図
FIG. 22 is a circuit diagram showing another part of the logic circuit obtained by the first embodiment.

【図23】同じく第1実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 23 is a circuit diagram showing still another part of the logic circuit obtained by the first embodiment.

【図24】同じく第1実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 24 is a circuit diagram showing still another part of the logic circuit obtained by the first embodiment.

【図25】同じく第1実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 25 is a circuit diagram showing still another part of the logic circuit obtained by the first embodiment.

【図26】同じく第1実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 26 is a circuit diagram showing still another part of the logic circuit obtained by the first embodiment.

【図27】前記第1実施形態による処理の前半を示すフ
ローチャート
FIG. 27 is a flowchart showing the first half of the process according to the first embodiment;

【図28】同じく、図27に続く後半を示すフローチャ
ート
FIG. 28 is a flowchart showing the second half following FIG. 27;

【図29】NAND論理のパストランジスタ論理回路を
示す回路図
FIG. 29 is a circuit diagram showing a pass transistor logic circuit of NAND logic.

【図30】CMOS−NANDゲートを示す回路図FIG. 30 is a circuit diagram showing a CMOS-NAND gate;

【図31】本発明の第2実施形態による論理回路の設計
に用いられる第1の変数表の前半の図表
FIG. 31 is a diagram of a first half of a first variable table used for designing a logic circuit according to the second embodiment of the present invention;

【図32】前記第1の変数表の、図31に続く後半の図
FIG. 32 is a second half chart of the first variable table following FIG. 31;

【図33】前記第2実施形態で用いられる第2の変数表
の図表
FIG. 33 is a diagram of a second variable table used in the second embodiment.

【図34】前記第2実施形態で用いられる第3の変数表
の図表
FIG. 34 is a diagram of a third variable table used in the second embodiment.

【図35】前記第2実施形態によって得られる、図35
〜図40で全体が示される論理回路の一部分を示す回路
FIG. 35 obtained by the second embodiment;
To 40 is a circuit diagram showing a part of a logic circuit entirely shown in FIG.

【図36】同じく第2実施形態によって得られる論理回
路の他の部分を示す回路図
FIG. 36 is a circuit diagram showing another part of the logic circuit obtained by the second embodiment.

【図37】同じく第2実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 37 is a circuit diagram showing still another part of the logic circuit obtained by the second embodiment.

【図38】同じく第2実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 38 is a circuit diagram showing still another part of the logic circuit obtained by the second embodiment.

【図39】同じく第2実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 39 is a circuit diagram showing still another part of the logic circuit obtained by the second embodiment.

【図40】同じく第2実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 40 is a circuit diagram showing still another portion of the logic circuit obtained by the second embodiment.

【図41】前記第2実施形態による処理の前半を示すフ
ローチャート
FIG. 41 is a flowchart showing the first half of processing according to the second embodiment;

【図42】同じく、図41に続く後半を示すフローチャ
ート
FIG. 42 is a flowchart showing the second half following FIG. 41;

【図43】本発明の第3実施形態による論理回路の設計
に用いられる変数表の先頭部分の図表
FIG. 43 is a diagram of a head portion of a variable table used for designing a logic circuit according to the third embodiment of the present invention;

【図44】前記変数表の図43に続く部分の図表FIG. 44 is a diagram of the portion of the variable table following FIG. 43;

【図45】前記変数表の図44に続く部分の図表FIG. 45 is a diagram of the part of the variable table following FIG. 44;

【図46】本発明の第4実施形態による論理回路の設計
に用いられる変数表の図表
FIG. 46 is a diagram of a variable table used for designing a logic circuit according to the fourth embodiment of the present invention;

【図47】前記第4実施形態によって得られる、図47
〜図52で全体が示される論理回路の一部分を示す回路
FIG. 47 FIG. 47 obtained by the fourth embodiment.
To 52 are circuit diagrams showing a part of a logic circuit entirely shown in FIG.

【図48】同じく第4実施形態によって得られる論理回
路の他の部分を示す回路図
FIG. 48 is a circuit diagram showing another part of the logic circuit similarly obtained by the fourth embodiment;

【図49】同じく第4実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 49 is a circuit diagram showing still another part of the logic circuit obtained by the fourth embodiment.

【図50】同じく第4実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 50 is a circuit diagram showing still another part of the logic circuit obtained by the fourth embodiment.

【図51】同じく第4実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 51 is a circuit diagram showing still another part of the logic circuit obtained by the fourth embodiment.

【図52】同じく第4実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 52 is a circuit diagram showing still another part of the logic circuit obtained by the fourth embodiment.

【図53】本発明の第5実施形態の第1法によって設計
された論理回路を示す回路図
FIG. 53 is a circuit diagram showing a logic circuit designed by the first method of the fifth embodiment of the present invention.

【図54】前記第5実施形態の第2法によって設計され
た論理回路を示す回路図
FIG. 54 is a circuit diagram showing a logic circuit designed by the second method of the fifth embodiment.

【図55】本発明の第6実施形態の設計方法が対象とす
る論理回路の例を示す回路図
FIG. 55 is a circuit diagram showing an example of a logic circuit targeted by the design method according to the sixth embodiment of the present invention;

【図56】第6実施形態による処理によって、図55の
論理回路から変換された論理回路を示す回路図
FIG. 56 is a circuit diagram showing a logic circuit converted from the logic circuit of FIG. 55 by the processing according to the sixth embodiment;

【図57】本発明の第7実施形態の論理回路設計方法に
よる最上位グループマッピングの第1種の論理回路の一
例を示す回路図
FIG. 57 is a circuit diagram showing an example of a first-type logic circuit of the highest-level group mapping by the logic circuit design method according to the seventh embodiment of the present invention;

【図58】同じく前記最上位グループマッピングの第2
種の論理回路の一例を示す回路図
FIG. 58 is also the second of the top-level group mapping.
Circuit diagram showing an example of various kinds of logic circuits

【図59】同じく前記最上位グループマッピングの第3
種の論理回路の一例を示す回路図
FIG. 59 is also a diagram showing a third example of the top-level group mapping.
Circuit diagram showing an example of various kinds of logic circuits

【図60】同じく前記最上位グループマッピングの第4
種の論理回路の一例を示す回路図
FIG. 60 is a diagram showing a fourth group mapping of the highest-order group;
Circuit diagram showing an example of various kinds of logic circuits

【図61】前記第4種の論理回路に対してマルチプレク
サを追加した論理回路を示す回路図
FIG. 61 is a circuit diagram showing a logic circuit obtained by adding a multiplexer to the fourth type of logic circuit;

【図62】前記第4種の論理回路に対してNORゲート
を追加した論理回路を示す回路図
FIG. 62 is a circuit diagram showing a logic circuit in which a NOR gate is added to the fourth type of logic circuit;

【図63】前記第7実施形態によって得られる、図63
〜図68で全体が示される論理回路の一部分を示す回路
FIG. 63 obtained by the seventh embodiment;
To FIG. 68 are circuit diagrams showing a part of the whole logic circuit.

【図64】同じく第7実施形態によって得られる論理回
路の他の部分を示す回路図
FIG. 64 is a circuit diagram showing another portion of the logic circuit similarly obtained by the seventh embodiment;

【図65】同じく第7実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 65 is a circuit diagram showing still another part of the logic circuit obtained by the seventh embodiment.

【図66】同じく第7実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 66 is a circuit diagram showing still another part of the logic circuit obtained by the seventh embodiment.

【図67】同じく第7実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 67 is a circuit diagram showing still another part of the logic circuit obtained by the seventh embodiment.

【図68】同じく第7実施形態によって得られる論理回
路の更に他の部分を示す回路図
FIG. 68 is a circuit diagram showing still another part of the logic circuit obtained by the seventh embodiment.

【図69】本発明の第8実施形態による1次マッピング
によって得られた論理回路の第1例を示す回路図
FIG. 69 is a circuit diagram showing a first example of a logic circuit obtained by primary mapping according to the eighth embodiment of the present invention;

【図70】前記1次マッピングによって得られた論理回
路の第2例を示す回路図
FIG. 70 is a circuit diagram showing a second example of the logic circuit obtained by the primary mapping

【図71】前記第8実施形態の論理レベル整合が対象と
する論理回路を示す回路図
FIG. 71 is a circuit diagram showing a logic circuit targeted for logic level matching according to the eighth embodiment;

【図72】図71の論理回路を第8実施形態によって処
理した後の論理回路を示す回路図
FIG. 72 is a circuit diagram showing a logic circuit after the logic circuit of FIG. 71 is processed according to the eighth embodiment;

【図73】本発明の第9実施形態の論理回路設計方法に
より最上位グループをマッピングしたOR論理構成を有
する論理回路の一例を示す回路図
FIG. 73 is a circuit diagram showing an example of a logic circuit having an OR logic configuration in which a highest-order group is mapped by the logic circuit design method according to the ninth embodiment of the present invention;

【図74】前記第8実施形態によって、組合せ種類法で
最適化された論理式をマッピングした、図74〜図77
で全体が示される論理回路の一部分を示す回路図
74 to FIG. 77, in which the logical expressions optimized by the combination type method are mapped according to the eighth embodiment.
Circuit diagram showing a part of a logic circuit indicated in whole by

【図75】同じく前記組合せ種類法による論理回路の他
の部分を示す回路図
FIG. 75 is a circuit diagram showing another part of the logic circuit according to the combination type method.

【図76】同じく前記組合せ種類法による論理回路の更
に他の部分を示す回路図
FIG. 76 is a circuit diagram showing still another part of the logic circuit according to the combination type method.

【図77】同じく前記組合せ種類法による論理回路の更
に他の部分を示す回路図
FIG. 77 is a circuit diagram showing still another part of the logic circuit according to the combination type method.

【図78】前記第8実施形態によって、共通変数法で最
適化された論理式をマッピングした、図78〜図82で
全体が示される論理回路の一部分を示す回路図
FIG. 78 is a circuit diagram showing a part of a logic circuit shown in FIGS. 78 to 82 in which logic expressions optimized by the common variable method are mapped according to the eighth embodiment.

【図79】同じく前記共通変数法による論理回路の他の
部分を示す回路図
FIG. 79 is a circuit diagram showing another part of the logic circuit according to the common variable method.

【図80】同じく前記共通変数法による論理回路の更に
他の部分を示す回路図
FIG. 80 is a circuit diagram showing still another part of the logic circuit according to the common variable method.

【図81】同じく前記共通変数法による論理回路の更に
他の部分を示す回路図
FIG. 81 is a circuit diagram showing still another part of the logic circuit according to the common variable method.

【図82】同じく前記共通変数法による論理回路の更に
他の部分を示す回路図
FIG. 82 is a circuit diagram showing still another part of the logic circuit according to the common variable method.

【図83】前記第8実施形態によって、共通変数/組合
せ種類法で最適化された論理式をマッピングした、図8
3〜図87で全体が示される論理回路の一部分を示す回
路図
FIG. 83 is a view showing a case where a logical expression optimized by the common variable / combination type method is mapped according to the eighth embodiment;
FIG. 3 is a circuit diagram showing a part of a logic circuit entirely shown in FIG.

【図84】同じく前記共通変数/組合せ種類法による論
理回路の他の部分を示す回路図
FIG. 84 is a circuit diagram showing another portion of the logic circuit according to the common variable / combination type method.

【図85】同じく前記共通変数/組合せ種類法による論
理回路の更に他の部分を示す回路図
FIG. 85 is a circuit diagram showing still another part of the logic circuit according to the common variable / combination type method.

【図86】同じく前記共通変数/組合せ種類法による論
理回路の更に他の部分を示す回路図
FIG. 86 is a circuit diagram showing still another part of the logic circuit according to the common variable / combination type method.

【図87】同じく前記共通変数/組合せ種類法による論
理回路の更に他の部分を示す回路図
FIG. 87 is a circuit diagram showing still another part of the logic circuit according to the common variable / combination type method.

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

Q…単位マルチプレクサ R…パストランジスタ論理演算系統 S…多入力論理ゲート U…出力端子 X、Y…入力端子 Z…制御端子 a〜j…入力(あるいは変数) GND…接地電圧 VDD…電源電圧 Q: Unit multiplexer R: Pass transistor logical operation system S: Multi-input logic gate U: Output terminal X, Y: Input terminal Z: Control terminal a to j: Input (or variable) GND: Ground voltage VDD: Power supply voltage

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成10年6月9日[Submission date] June 9, 1998

【手続補正1】[Procedure amendment 1]

【補正対象書類名】図面[Document name to be amended] Drawing

【補正対象項目名】図25[Correction target item name] Fig. 25

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図25】 FIG. 25

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】論理式をマッピングするための論理回路の
設計方法において、 複数の入力端子、少なくとも1つの制御端子、及び、出
力端子を有するマルチプレクサを論理回路中に配置する
ステップと、 第1の複数の論理関数及び少なくとも1つの上位変数を
入力し、第1の複数の論理関数及び該第1の複数の論理
関数によって共有された少なくとも1つの上位変数を含
む、論理式の第1の論理グループがマルチプレクサの出
力端子から出力されるように、マルチプレクサの入力端
子と少なくとも1つの制御端子を接続するステップと、 を含むことを特徴とする論理回路の設計方法。
1. A method for designing a logic circuit for mapping a logic expression, comprising: disposing a multiplexer having a plurality of input terminals, at least one control terminal, and an output terminal in the logic circuit; A first logical group of logical expressions, comprising a plurality of logical functions and at least one upper variable, and including a first plurality of logical functions and at least one upper variable shared by the first plurality of logical functions. Connecting the input terminal of the multiplexer and at least one control terminal such that is output from the output terminal of the multiplexer.
【請求項2】請求項1に記載の設計方法において、更
に、 複数の入力端子と出力端子を有する多入力論理ゲートを
論理回路中に配置するステップと、 共通変数及び第2の複数の論理関数の和を入力し、第2
の複数の論理関数及び該第2の複数の論理関数によって
共有された共通変数を含む、論理式の第2の論理グルー
プが多入力論理ゲートの出力端子から出力されるよう
に、多入力論理ゲートの入力端子を接続するステップ
と、 を含むことを特徴とする論理回路の設計方法。
2. The design method according to claim 1, further comprising: arranging a multi-input logic gate having a plurality of input terminals and an output terminal in the logic circuit; a common variable and a second plurality of logic functions. Enter the sum of
Multi-input logic gate such that a second logical group of logical expressions, including a plurality of logical functions and a common variable shared by the second plurality of logical functions, is output from an output terminal of the multi-input logical gate Connecting the input terminals of the logic circuit.
【請求項3】請求項1又は2に記載の設計方法におい
て、更に、前記接続を行うステップの前に、第1の論理
グループを特定するステップを含むことを特徴とする論
理回路の設計方法。
3. The design method according to claim 1, further comprising a step of specifying a first logic group before the step of making said connection.
【請求項4】論理式をマッピングするための論理回路設
計用のCADシステムにおいて、 複数の入力端子、少なくとも1つの制御端子及び出力端
子を有するマルチプレクサを論理回路中に配置する手段
と、 第1の複数の論理関数及び少なくとも1つの上位変数を
入力し、第1の複数の論理関数及び該第1の複数の論理
関数によって共有された少なくとも1つの上位変数を含
む、論理式の第1の論理グループが、マルチプレクサの
出力端子から出力されるように、マルチプレクサの入力
端子と少なくとも1つの制御端子を接続する手段と、 を含むことを特徴とするCADシステム。
4. A CAD system for designing a logic circuit for mapping a logic expression, comprising: a multiplexer having a plurality of input terminals, at least one control terminal, and an output terminal arranged in the logic circuit; A first logical group of logical expressions, comprising a plurality of logical functions and at least one upper variable, and including a first plurality of logical functions and at least one upper variable shared by the first plurality of logical functions. Means for connecting the input terminal of the multiplexer and at least one control terminal such that the output terminal is output from the output terminal of the multiplexer.
【請求項5】論理式をマッピングするための論理回路の
設計方法において、 (a)複数の変数をそれぞれ含む複数の積項を含む、論
理式の少なくとも一部を選択するステップ、 (b)前記複数の積項の少なくとも2つに相補的に含ま
れる少なくとも1つの上位変数を特定するステップ、及
び、 (c)前記少なくとも2つの積項を、前記少なくとも1
つの上位変数によってグループ化し、該少なくとも1つ
の上位変数及び該少なくとも1つの上位変数を共有する
少なくとも2つの論理関数を含む論理グループを作成す
るステップ、を含む第1の処理を少なくとも1サイクル
含む、論理式の最適化ステップと、 最適化された論理式を論理回路にマッピングするステッ
プと、 を含むことを特徴とする論理回路の設計方法。
5. A method of designing a logic circuit for mapping a logical expression, comprising: (a) selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables; Identifying at least one upper variable complementary to at least two of the plurality of product terms; and (c) identifying the at least two product terms with the at least one
Creating a logical group including at least one upper variable and at least two logical functions sharing the at least one upper variable by at least one cycle. A method for designing a logic circuit, comprising: optimizing an expression; and mapping the optimized logic expression to a logic circuit.
【請求項6】請求項5に記載の設計方法において、前記
特定のステップが、 前記複数の積項中の変数の組の論理組合せ種類数を決定
するステップと、 最大の論理組合せ種類数を有する少なくとも1つの変数
の組から、少なくとも1つの変数を、上位変数の候補と
して選択するステップと、 を含むことを特徴とする論理回路の設計方法。
6. The design method according to claim 5, wherein said specific step includes a step of determining a number of logical combination types of a set of variables in said plurality of product terms, and a maximum number of logical combination types. Selecting at least one variable from among at least one set of variables as a candidate for a higher-order variable.
【請求項7】請求項5に記載の設計方法において、前記
特定のステップが、 前記複数の積項中の変数の組の論理組合せ種類数を決定
するステップと、 それぞれが、最大の論理組合せ種類数を有する変数の組
の少なくとも1つに含まれる、少なくとも2つの変数を
選択するステップと、 前記少なくとも2つの変数のそれぞれが、最大の論理組
合せ種類数を有する変数の組に含まれる回数を決定する
ステップと、 前記少なくとも2つの変数から、最大の論理組合せ種類
数を有する変数の組に含まれる回数が最大である、少な
くとも1つの変数を、上位変数の候補として選択するス
テップと、 を含むことを特徴とする論理回路の設計方法。
7. The design method according to claim 5, wherein said specific step is a step of determining the number of logical combination types of a set of variables in said plurality of product terms; Selecting at least two variables included in at least one of the set of variables having a number; and determining a number of times each of the at least two variables is included in the set of variables having the largest number of logical combination types. And selecting at least one variable having the largest number of times included in the set of variables having the maximum number of logical combination types from the at least two variables as a candidate for a higher-level variable. A logic circuit design method characterized by the following.
【請求項8】請求項5に記載の設計方法において、 前記最適化のステップが、第1の処理の少なくとも1回
目及び2回目のサイクルを含み、 2回目のサイクル中の前記選択のステップが、1回目の
サイクルのグループ化によって作られた論理関数を、論
理式の少なくとも一部の積項として選択することを特徴
とする論理回路の設計方法。
8. The design method according to claim 5, wherein the optimizing step includes at least a first cycle and a second cycle of a first process, and the selecting step in a second cycle includes: A logic circuit design method, wherein a logic function created by a first cycle grouping is selected as a product term of at least a part of a logic expression.
【請求項9】請求項5に記載の設計方法において、 前記最適化のステップが、更に、 (a)複数の変数をそれぞれ含む複数の積項を含む、論
理式の少なくとも一部を選択するステップと、 (b)前記複数の積項の少なくとも2つに共通に含まれ
る少なくとも1つの共通変数の組を特定するステップ
と、 (c)前記少なくとも2つの積項をグループ化して、前
記少なくとも1つの共通変数、及び、該少なくとも1つ
の共通変数を共有する複数の第2の論理関数を含む第2
の論理グループを作成するステップと、 を含む第2の処理を少なくとも1サイクル含むことを特
徴とする論理回路の設計方法。
9. The design method according to claim 5, wherein the step of optimizing further comprises: (a) selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables. (B) identifying at least one set of common variables commonly included in at least two of the plurality of product terms; and (c) grouping the at least two product terms to form the at least one product variable. A second variable including a common variable and a plurality of second logical functions sharing the at least one common variable;
Creating a logical group of the following: and a second process including at least one cycle, the method comprising:
【請求項10】請求項9に記載の設計方法において、 前記最適化のステップが、第2の処理のサイクルに続く
第1の処理のサイクルを含み、 第2の処理中の前記特定のステップが、少なくとも2つ
の共通変数の少なくとも2つの組を特定し、 第1の処理中の前記選択のステップが、第2の処理中に
特定された少なくとも2つの組の少なくとも2つの共通
変数の積を、論理式の少なくとも一部の積項として選択
することを特徴とする論理回路の設計方法。
10. The design method according to claim 9, wherein the optimizing step includes a first processing cycle following a second processing cycle, and wherein the specific step in the second processing is performed. Identifying at least two sets of at least two common variables, wherein said step of selecting during the first processing comprises: multiplying at least two sets of at least two common variables of the at least two sets specified during the second processing; A method for designing a logic circuit, comprising selecting as a product term of at least a part of a logic expression.
【請求項11】論理式をマッピングするための論理回路
設計用のCADシステムにおいて、 (a)複数の変数をそれぞれ含む複数の積項を含む、論
理式の少なくとも一部を選択するステップ、 (b)前記複数の積項の少なくとも2つに相補的に含ま
れる、少なくとも1つの上位変数を特定するステップ、
及び、 (c)前記少なくとも2つの積項を、前記少なくとも1
つの上位変数によってグループ化して、該少なくとも1
つの上位変数、及び、該少なくとも1つの上位変数を共
有する少なくとも2つの論理関数を含む論理グループを
作成するステップ、 を有する第1の処理を少なくとも1サイクル含む、論理
式の最適化のための手段と、 最適化された論理式を論理回路にマッピングする手段
と、 を含むことを特徴とするCADシステム。
11. A CAD system for designing a logic circuit for mapping a logical expression, comprising: (a) selecting at least a part of a logical expression including a plurality of product terms each including a plurality of variables; (b) A) identifying at least one upper variable that is complementary to at least two of said plurality of product terms;
And (c) replacing the at least two product terms with the at least one
Grouped by two top variables and the at least one
Creating a logical group including at least one upper variable and at least two logical functions sharing the at least one upper variable, wherein the first processing includes at least one cycle. And a means for mapping the optimized logical expression to a logical circuit.
【請求項12】論理式をマッピングするための論理回路
の設計方法において、 (a)複数の変数をそれぞれ含む複数の積項を含む、論
理式の少なくとも一部を選択するステップ、 (b)前記複数の積項の少なくとも2つに共通に含まれ
る少なくとも1つの共通変数の組を特定するステップ、
及び、 (c)前記少なくとも2つの積項をグループ化して、前
記少なくとも1つの共通変数及び該少なくとも1つの共
通変数を共有する複数の論理関数を含む論理グループを
作成するステップ、 を有する処理を少なくとも1サイクル含む論理式の最適
化のステップと、 最適化された論理式を、マルチプレクサを含む論理回路
にマッピングするステップと、 を含むことを特徴とする論理回路の設計方法。
12. A method for designing a logic circuit for mapping a logic expression, comprising: (a) selecting at least a part of a logic expression including a plurality of product terms each including a plurality of variables; Identifying at least one set of common variables commonly included in at least two of the plurality of product terms;
And (c) grouping the at least two product terms to create a logical group including the at least one common variable and a plurality of logical functions sharing the at least one common variable. A method for designing a logic circuit, comprising: optimizing a logic expression including one cycle; and mapping the optimized logic expression to a logic circuit including a multiplexer.
【請求項13】請求項12に記載の設計方法において、 前記最適化のステップが、前記処理の少なくとも1回目
と2回目のサイクルを含み、 1回目のサイクル中の前記特定のステップが、少なくと
も2つの共通変数の少なくとも2つの組を特定し、 2回目のサイクル中の前記選択のステップが、1回目の
サイクル中に特定された少なくとも2つの組中の少なく
とも2つの共通変数の積を、論理式の少なくとも一部の
積項として選択することを特徴とする論理回路の設計方
法。
13. The design method according to claim 12, wherein the step of optimizing includes at least a first cycle and a second cycle of the processing, and the specific step in the first cycle is at least two cycles. Identifying at least two sets of two common variables, wherein said selecting step during a second cycle comprises calculating a product of at least two common variables in at least two sets identified during a first cycle by a logical expression A logic circuit design method, wherein the product term is selected as at least a part of the product term.
【請求項14】請求項12に記載の設計方法において、 前記最適化のステップが、前記処理の少なくとも1回目
と2回目のサイクルを含み、 1回目のサイクル中の前記特定のステップが、グループ
化によって作られる論理グループが少なくとも4つの論
理関数を含むように、少なくとも4つの積項に共通に含
まれる少なくとも1つの共通変数の組を特定し、 2回目のサイクル中の前記選択のステップが、1回目の
サイクル中に選択された少なくとも4つの論理関数を、
論理式の少なくとも一部の積項として選択することを特
徴とする論理回路の設計方法。
14. The design method according to claim 12, wherein the step of optimizing includes at least a first cycle and a second cycle of the processing, and the specific step in the first cycle is grouping. Identifying at least one set of common variables that are commonly included in at least four product terms such that the logical group created by includes at least four logical functions, wherein said selecting step during a second cycle comprises: At least four logic functions selected during the second cycle
A method for designing a logic circuit, comprising selecting as a product term of at least a part of a logic expression.
【請求項15】請求項12に記載の設計方法において、
前記特定のステップが、所定数の積項に共通に含まれる
少なくとも1つの共通変数の複数の組を特定することを
特徴とする論理回路の設計方法。
15. The design method according to claim 12, wherein
The method of designing a logic circuit, wherein the specific step specifies a plurality of sets of at least one common variable commonly included in a predetermined number of product terms.
【請求項16】請求項12に記載の設計方法において、
前記特定のステップが、少なくとも1つの共通変数の所
定数の組を特定することを特徴とする論理回路の設計方
法。
16. The design method according to claim 12, wherein:
The design method of a logic circuit, wherein the specific step specifies a predetermined number of sets of at least one common variable.
【請求項17】請求項12に記載の設計方法において、
前記マッピングのステップが、 最適化された論理式中の、少なくとも1つの上位変数、
及び、該少なくとも1つの上位変数を共有する複数の第
2の論理関数を有する第2の論理グループを特定するス
テップと、 前記第2の論理関数及び少なくとも1つの上位変数を入
力し、第2の論理グループをマルチプレクサの出力ター
ミナルから出力するように、マルチプレクサの入力端子
と制御端子を接続するステップと、 を含むことを特徴とする論理回路の設計方法。
17. The design method according to claim 12, wherein:
The mapping step comprises: at least one upper variable in the optimized logical expression;
And identifying a second logical group having a plurality of second logical functions that share the at least one upper variable; and inputting the second logical function and at least one upper variable; Connecting the input terminal and the control terminal of the multiplexer so that the logical group is output from the output terminal of the multiplexer.
【請求項18】論理式をマッピングするための論理回路
設計用のCADシステムにおいて、 複数の変数をそれぞれ含む複数の積項を含む、論理式の
少なくとも一部を選択し、該複数の積項の少なくとも2
つに共通に含まれる少なくとも1つの共通変数の組を特
定し、該少なくとも2つの積項をグループ化して、前記
少なくとも1つの共通変数及び該少なくとも1つの共通
変数を共有する複数の論理関数を含む論理グループを作
成する処理を、少なくとも1サイクル含む、論理式の最
適化のための手段と、 最適化された論理式を、マルチプレクサを含む論理回路
にマッピングするための手段と、 を備えたことを特徴とするCADシステム。
18. A CAD system for designing a logic circuit for mapping a logical expression, wherein at least a part of the logical expression including a plurality of product terms each including a plurality of variables is selected, and a plurality of product terms of the plurality of product terms are selected. At least 2
A set of at least one common variable included in common with each other, and grouping the at least two product terms to include the at least one common variable and a plurality of logic functions sharing the at least one common variable Means for optimizing a logical expression including at least one cycle of creating a logical group, and means for mapping the optimized logical expression to a logical circuit including a multiplexer. Characterized CAD system.
JP10159765A 1997-06-06 1998-06-08 Designing method for logic circuit and cad system for same Pending JPH1166146A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10159765A JPH1166146A (en) 1997-06-06 1998-06-08 Designing method for logic circuit and cad system for same

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP14971997 1997-06-06
JP9-151247 1997-06-09
JP9-149719 1997-06-09
JP08/965,771 1997-06-09
JP15124797 1997-06-09
US08/965,771 US6185719B1 (en) 1997-06-06 1997-11-07 Pass-transistor logic circuit and a method of designing thereof
JP10159765A JPH1166146A (en) 1997-06-06 1998-06-08 Designing method for logic circuit and cad system for same

Publications (1)

Publication Number Publication Date
JPH1166146A true JPH1166146A (en) 1999-03-09

Family

ID=27472961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10159765A Pending JPH1166146A (en) 1997-06-06 1998-06-08 Designing method for logic circuit and cad system for same

Country Status (1)

Country Link
JP (1) JPH1166146A (en)

Similar Documents

Publication Publication Date Title
US7120894B2 (en) Pass-transistor logic circuit and a method of designing thereof
US6240438B1 (en) Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability
US20020010899A1 (en) Digital circuit layout techniques
WO2018204898A1 (en) Fast binary counters based on symmetric stacking and methods for same
EP0439004A2 (en) Barrel shifter
US5047974A (en) Cell based adder with tree structured carry, inverting logic and balanced loading
JP3225043B2 (en) Absolute arithmetic unit and differential multiplexer
Chu et al. A high-performance design of generalized pipeline cellular array
US4882698A (en) Cell based ALU with tree structured carry, inverting logic and balanced loading
JPH1166146A (en) Designing method for logic circuit and cad system for same
Kagaris MOTO-X: a multiple-output transistor-level synthesis CAD tool
Lindkvist et al. Techniques for fast CMOS-based conditional sum adders
US20030158882A1 (en) Addition circuits
JP3741280B2 (en) Carry look-ahead circuit and addition circuit using the same
US20040049529A1 (en) Partial product generator and multiplier
CN113255257B (en) S box circuit optimization method and system based on process library
Singh et al. Study of Performance of Low Power High-Speed Hybrid in 1-Bit Full Adder Circuit
JP3255251B2 (en) Multiplier with array-type carry save adder
JP3540136B2 (en) Data division parallel shifter
JPH04227534A (en) Array multiplier
Chen Parallel-prefix structures for binary and modulo {2 (n-1), 2 (n), 2 (n+ 1)} adders
Dimitrakopoulos et al. An Energy-Delay Efficient Subword Permutation Unit
Thoidis et al. Voltage-mode multiple-valued logic adder circuits
JPH04124775A (en) Method for generating logic circuit
RAMACHANDRAM et al. PERFORMANCE COMPARISON AMONG VARIOUS PARALLEL PREFIX ADDER TOPOLOGIES

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050406

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050406

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080729