JPH06149927A - 積和形論理式の処理方法 - Google Patents
積和形論理式の処理方法Info
- Publication number
- JPH06149927A JPH06149927A JP4299779A JP29977992A JPH06149927A JP H06149927 A JPH06149927 A JP H06149927A JP 4299779 A JP4299779 A JP 4299779A JP 29977992 A JP29977992 A JP 29977992A JP H06149927 A JPH06149927 A JP H06149927A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- sum
- product
- literals
- products
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】 出力結果を格納するための記憶領域が小さ
い、積和形論理式の表現方法を提供する。 【構成】 すべてのリテラルについて、ある固定した順
序を定義する。積項の集合Sについて、ある1つのリテ
ラルtを含むか否かによって、積項の集合Sを2つの部
分集合S0 ,S1 に分類する。この処理を積和形論理式
に含まれる積項の集合に対して、リテラル順序にしたが
って、すべてのリテラルについて再帰的に繰り返し、空
になった分類に対しては論理値0を、空でない分類に対
しては論理値1を割り当てる。該個々のリテラルを表す
中間節点、該個々のリテラルの有無を表す2つの枝、
0,1の論理値を表す終端節点を用いて二分木を生成す
る。この二分木に、等価な枝が存在するとき、それらを
共有し、2つの枝が同じ行き先を指している節点が存在
するとき、その節点を削除し枝を直結させる。
い、積和形論理式の表現方法を提供する。 【構成】 すべてのリテラルについて、ある固定した順
序を定義する。積項の集合Sについて、ある1つのリテ
ラルtを含むか否かによって、積項の集合Sを2つの部
分集合S0 ,S1 に分類する。この処理を積和形論理式
に含まれる積項の集合に対して、リテラル順序にしたが
って、すべてのリテラルについて再帰的に繰り返し、空
になった分類に対しては論理値0を、空でない分類に対
しては論理値1を割り当てる。該個々のリテラルを表す
中間節点、該個々のリテラルの有無を表す2つの枝、
0,1の論理値を表す終端節点を用いて二分木を生成す
る。この二分木に、等価な枝が存在するとき、それらを
共有し、2つの枝が同じ行き先を指している節点が存在
するとき、その節点を削除し枝を直結させる。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数個の入力変数を持
つ論理関数を、該入力変数とその否定を表わす2種類の
シンボルを用い、複数個の該シンボルの論理積の論理和
で表す積和形論理式の処理方法に関する。
つ論理関数を、該入力変数とその否定を表わす2種類の
シンボルを用い、複数個の該シンボルの論理積の論理和
で表す積和形論理式の処理方法に関する。
【0002】
【従来の技術】積和形論理式とは、論理関数の表現方法
の1つであって、論理関数がn個の入力変数を持つと
き、それらの入力変数を表すx1 ,x2 ,…,xn とそ
の否定を表す
の1つであって、論理関数がn個の入力変数を持つと
き、それらの入力変数を表すx1 ,x2 ,…,xn とそ
の否定を表す
【0003】
【外1】 の2n種類のシンボル(以後、「リテラル」と呼ぶ)を
用い、複数個のリテラルの論理積(以後、「積項」と呼
ぶ)を作り、複数個の積項の論理和の形で論理関数を表
す方法である。
用い、複数個のリテラルの論理積(以後、「積項」と呼
ぶ)を作り、複数個の積項の論理和の形で論理関数を表
す方法である。
【0004】一方、二分決定グラフとは、やはり論理関
数の表現方法の1つであって、全ての入力変数にある固
定した順序を定義し、その順序にしたがって、入力変数
に0,1を代入して論理関数を二分割する展開処理を繰
り返して二分木を作り、等価な枝があれば共有して表現
するものである。実際の二分決定グラフ処理装置におい
ては、複数の二分決定グラフから、それらの論理演算結
果を表す二分決定グラフを生成するという処理を繰り返
して行うことにより、任意の論理関数を表す二分決定グ
ラフを構築することができる。演算中に等価な枝が発生
した場合、自動的に検出して共有を行う。その処理方式
は、R.E.Bryant: "Graph-Based Algorithms for Boolea
n Function Manipulation", IEEE Trans.Comput., Vol.
C-35, No.8, pp.677-691(以後、論文1と呼ぶ)に記載
されている。
数の表現方法の1つであって、全ての入力変数にある固
定した順序を定義し、その順序にしたがって、入力変数
に0,1を代入して論理関数を二分割する展開処理を繰
り返して二分木を作り、等価な枝があれば共有して表現
するものである。実際の二分決定グラフ処理装置におい
ては、複数の二分決定グラフから、それらの論理演算結
果を表す二分決定グラフを生成するという処理を繰り返
して行うことにより、任意の論理関数を表す二分決定グ
ラフを構築することができる。演算中に等価な枝が発生
した場合、自動的に検出して共有を行う。その処理方式
は、R.E.Bryant: "Graph-Based Algorithms for Boolea
n Function Manipulation", IEEE Trans.Comput., Vol.
C-35, No.8, pp.677-691(以後、論文1と呼ぶ)に記載
されている。
【0005】二分決定グラフ形式で表現された論理関数
データを入力とし、非冗長な積和形論理式を高速に生成
する方法が、湊真一他:“二分決定グラフからの非冗長
積和論理の高速生成手法”,情報処理学会研究報告,91
-DA-60, pp.147-153(以後、論文2と呼ぶ)に記載され
ている。この方法では、出力結果の積和形論理式は、そ
の論理式に含まれるすべての積項を単純に羅列して格納
する方法(以後、積項羅列と呼ぶ)をとっているため、
全ての積項を格納するだけの記憶領域が必要となる。
データを入力とし、非冗長な積和形論理式を高速に生成
する方法が、湊真一他:“二分決定グラフからの非冗長
積和論理の高速生成手法”,情報処理学会研究報告,91
-DA-60, pp.147-153(以後、論文2と呼ぶ)に記載され
ている。この方法では、出力結果の積和形論理式は、そ
の論理式に含まれるすべての積項を単純に羅列して格納
する方法(以後、積項羅列と呼ぶ)をとっているため、
全ての積項を格納するだけの記憶領域が必要となる。
【0006】
【発明が解決しようとする課題】しかしながら、積和形
論理式では、2の入力変数の個数乗に比例する積項数を
必要とするような論理関数が存在し、そのような場合に
は出力結果を格納するための記憶領域が非常に大きくな
るという欠点がある。また、大量のデータを格納するた
めに、多くの処理時間が必要となる。特に、算術演算回
路の論理関数においては、上記の性質を持つ論理関数が
多く見られ、実用上の問題となっていた。
論理式では、2の入力変数の個数乗に比例する積項数を
必要とするような論理関数が存在し、そのような場合に
は出力結果を格納するための記憶領域が非常に大きくな
るという欠点がある。また、大量のデータを格納するた
めに、多くの処理時間が必要となる。特に、算術演算回
路の論理関数においては、上記の性質を持つ論理関数が
多く見られ、実用上の問題となっていた。
【0007】本発明の目的は、出力結果を格納するため
の記憶領域が小さい、積和形論理式の処理方法を提供す
ることである。
の記憶領域が小さい、積和形論理式の処理方法を提供す
ることである。
【0008】
【課題を解決するための手段】本発明の積和形論理式の
処理方法は、該すべてのリテラルに、ある固定した順序
を与える順序づけ処理と、該複数の積項について、該個
々のリテラルの有無を調べ、その有無の結果によって該
積項を2つに分類する分類処理と、該積和形論理式に含
まれるすべての積項について、該分類処理を、該順序づ
け処理により与えられるリテラル順序にしたがって、す
べてのリテラルについて再帰的に繰り返し、空になった
分類に対しては論理値0を割り当て、空でない分類に対
しては論理値1を割り当てる展開処理と、前記展開処理
にしたがって、該個々のリテラルを表す節点、該個々の
リテラルの有無を表す2つの枝、0,1の論理値を表す
終端節点を用いた二分木を生成する二分木生成処理と、
前記二分木生成処理において、該二分木の複数の枝が一
致するか否かを調べ、一致した時、一致した枝を共有さ
せ、また個々の節点において、2つの枝の行き先が一致
するか否かを調べ、一致した時、該節点を取り除き枝を
直結し、共有二分木を生成する共有処理とを有する。
処理方法は、該すべてのリテラルに、ある固定した順序
を与える順序づけ処理と、該複数の積項について、該個
々のリテラルの有無を調べ、その有無の結果によって該
積項を2つに分類する分類処理と、該積和形論理式に含
まれるすべての積項について、該分類処理を、該順序づ
け処理により与えられるリテラル順序にしたがって、す
べてのリテラルについて再帰的に繰り返し、空になった
分類に対しては論理値0を割り当て、空でない分類に対
しては論理値1を割り当てる展開処理と、前記展開処理
にしたがって、該個々のリテラルを表す節点、該個々の
リテラルの有無を表す2つの枝、0,1の論理値を表す
終端節点を用いた二分木を生成する二分木生成処理と、
前記二分木生成処理において、該二分木の複数の枝が一
致するか否かを調べ、一致した時、一致した枝を共有さ
せ、また個々の節点において、2つの枝の行き先が一致
するか否かを調べ、一致した時、該節点を取り除き枝を
直結し、共有二分木を生成する共有処理とを有する。
【0009】
(1)本発明は、以下に示す積和形論理式の処理方法に
よってデータ量を削減する。
よってデータ量を削減する。
【0010】すべてのリテラルについて、ある固定した
順序を定義する。
順序を定義する。
【0011】積項の集合Sについて、ある1つのリテラ
ルtを含むか否かによって、積項の集合Sを2つの部分
集合S0 ,S1 に分類する(分類処理と呼ぶ)。
ルtを含むか否かによって、積項の集合Sを2つの部分
集合S0 ,S1 に分類する(分類処理と呼ぶ)。
【0012】積和形論理式に含まれる積項の集合に対し
て、上記の分類処理を、上記のリテラル順序にしたがっ
て、すべてのリテラルについて再帰的に繰り返し、空に
なった分類に対しては論理値0を割り当て、空でない分
類に対しては論理値1を割り当てる(展開処理と呼
ぶ)。
て、上記の分類処理を、上記のリテラル順序にしたがっ
て、すべてのリテラルについて再帰的に繰り返し、空に
なった分類に対しては論理値0を割り当て、空でない分
類に対しては論理値1を割り当てる(展開処理と呼
ぶ)。
【0013】上記展開処理にしたがって、該個々のリテ
ラルを表す中間節点、該個々のリテラルの有無を表す2
つの枝、0,1の論理値を表す終端節点を用いて、図3
のような二分木を生成する(二分木生成処理と呼ぶ)。
ラルを表す中間節点、該個々のリテラルの有無を表す2
つの枝、0,1の論理値を表す終端節点を用いて、図3
のような二分木を生成する(二分木生成処理と呼ぶ)。
【0014】この二分木の根(始点)から、1の値を持
つ終端節点に至る経路の各々が、それぞれ、積和形論理
式に含まれる積項の1つを表している。図3の場合、始
点から、左側の、1の値を持つ終端節点に至る経路が積
和形論理式の右側の積項を表わし、始点から、右側の、
1の値を持つ終端節点に至る経路が積和形論理式の左側
の積項を表わしている。
つ終端節点に至る経路の各々が、それぞれ、積和形論理
式に含まれる積項の1つを表している。図3の場合、始
点から、左側の、1の値を持つ終端節点に至る経路が積
和形論理式の右側の積項を表わし、始点から、右側の、
1の値を持つ終端節点に至る経路が積和形論理式の左側
の積項を表わしている。
【0015】上記の二分木において、等価な枝が存在す
るとき、それらを共有し、2つの枝が同じ行き先を指し
ている節点が存在するとき、その節点を削除し枝を直結
させる。
るとき、それらを共有し、2つの枝が同じ行き先を指し
ている節点が存在するとき、その節点を削除し枝を直結
させる。
【0016】以上により、図4のようなデータ構造が得
られる。これを共有二分木と呼ぶ。積和形論理式を共有
二分木を用いて表現することにより、データ量を削減す
ることができる。 (2)共有二分木の生成処理を述べる。
られる。これを共有二分木と呼ぶ。積和形論理式を共有
二分木を用いて表現することにより、データ量を削減す
ることができる。 (2)共有二分木の生成処理を述べる。
【0017】一般に、任意の積和形論理式データは、リ
テラルおよび積項の間の論理演算を繰り返し行うことに
より生成される。従来、これらの論理演算は積項羅列形
式のデータを用いて行われていた。しかし、表現しよう
としている積和形論理式を積項羅列の形式で表現したの
ちに、これを共有二分木に変換する処理方法では、変換
前の積項羅列のデータ量が、変換後の共有二分木のデー
タ量に比べて非常に大きくなる場合があり、効率的でな
い。
テラルおよび積項の間の論理演算を繰り返し行うことに
より生成される。従来、これらの論理演算は積項羅列形
式のデータを用いて行われていた。しかし、表現しよう
としている積和形論理式を積項羅列の形式で表現したの
ちに、これを共有二分木に変換する処理方法では、変換
前の積項羅列のデータ量が、変換後の共有二分木のデー
タ量に比べて非常に大きくなる場合があり、効率的でな
い。
【0018】そこで、請求項2の発明では、表現しよう
としている積和形論理式を、その構成要素である個々の
積項に分解し、ただ1個の積項からなる積和形論理式
を、各リテラルを含むか否かを示す図5のような共有二
分木で表現し、複数の積和形論理式を表す共有二分木を
融合させ、等価な枝の共有を行うことにより、それらの
論理和を表す、図6右側(図4と同じ)のような共有二
分木を生成することを、各積項について行うことによ
り、積和形論理式の全体を表す共有二分木を生成する。
としている積和形論理式を、その構成要素である個々の
積項に分解し、ただ1個の積項からなる積和形論理式
を、各リテラルを含むか否かを示す図5のような共有二
分木で表現し、複数の積和形論理式を表す共有二分木を
融合させ、等価な枝の共有を行うことにより、それらの
論理和を表す、図6右側(図4と同じ)のような共有二
分木を生成することを、各積項について行うことによ
り、積和形論理式の全体を表す共有二分木を生成する。
【0019】この方法により、すべての積項を羅列する
ことなく共有二分木を生成することができ、処理途中の
データ量の増大を防ぐことができる。 (3)請求項3の発明は、上記の共有二分木の生成処理
を、二分決定グラフ処理法を利用して実現する。
ことなく共有二分木を生成することができ、処理途中の
データ量の増大を防ぐことができる。 (3)請求項3の発明は、上記の共有二分木の生成処理
を、二分決定グラフ処理法を利用して実現する。
【0020】まず、処理対象の積和形論理式を用いられ
ているリテラルに、新たな入力変数(元の積和形論理式
の入力変数の2倍の個数)を対応させる。そして、上記
共有二分木における各リテラルの有無を、新たな入力変
数の論理値1,0に対応させることにより、積和形論理
式の構造を表す新しい論理関数を考えることができる。
この論理関数を積項集合関数と呼ぶ。積項集合関数は、
もとの積和形論理式が表していた論理関数とは異なるも
のである。論理関数の表現方法の1つである二分決定グ
ラフを用いて積項集合関数を表現することができる。二
分決定グラフを用いて積項集合関数を生成、操作するこ
とにより、共有二分木の生成、操作を模擬することがで
きる。
ているリテラルに、新たな入力変数(元の積和形論理式
の入力変数の2倍の個数)を対応させる。そして、上記
共有二分木における各リテラルの有無を、新たな入力変
数の論理値1,0に対応させることにより、積和形論理
式の構造を表す新しい論理関数を考えることができる。
この論理関数を積項集合関数と呼ぶ。積項集合関数は、
もとの積和形論理式が表していた論理関数とは異なるも
のである。論理関数の表現方法の1つである二分決定グ
ラフを用いて積項集合関数を表現することができる。二
分決定グラフを用いて積項集合関数を生成、操作するこ
とにより、共有二分木の生成、操作を模擬することがで
きる。
【0021】このとき、二分決定グラフ処理装置によ
り、等価な枝の共有処理が自動的に行われる。また、複
数の共有二分木の間の論理積、論理和を表す共有二分木
を生成する処理が、二分決定グラフの論理積、論理和演
算処理にそれぞれ対応するため、二分決定グラフ処理に
より、容易に共有二分木を生成することができる。 (4)上記に記載した処理手法を適用することにより、
論文2記載の方式により生成した非冗長な積和形論理式
を、全ての積項を羅列するよりも少ない記憶領域に格納
することができる。
り、等価な枝の共有処理が自動的に行われる。また、複
数の共有二分木の間の論理積、論理和を表す共有二分木
を生成する処理が、二分決定グラフの論理積、論理和演
算処理にそれぞれ対応するため、二分決定グラフ処理に
より、容易に共有二分木を生成することができる。 (4)上記に記載した処理手法を適用することにより、
論文2記載の方式により生成した非冗長な積和形論理式
を、全ての積項を羅列するよりも少ない記憶領域に格納
することができる。
【0022】以上のように、積和形論理式が内包してい
る共通部分を抽出し、共有二分木として記憶装置に格納
することにより、データ量が削減され、全積項を羅列す
るよりも小さな記憶領域に結果を格納することができ
る。リテラルについて固定した順序を定義して、それに
従って展開処理を行うことにより、効率良く共通部分を
抽出できる。共有二分木を二分決定グラフに対応させ、
二分決定グラフの処理方式を用いることにより、共通部
分を自動的に抽出し、共有することができる。
る共通部分を抽出し、共有二分木として記憶装置に格納
することにより、データ量が削減され、全積項を羅列す
るよりも小さな記憶領域に結果を格納することができ
る。リテラルについて固定した順序を定義して、それに
従って展開処理を行うことにより、効率良く共通部分を
抽出できる。共有二分木を二分決定グラフに対応させ、
二分決定グラフの処理方式を用いることにより、共通部
分を自動的に抽出し、共有することができる。
【0023】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0024】図1は本発明の、積和形論理式の表現方法
を実施する装置の構成図である。
を実施する装置の構成図である。
【0025】本装置は、論文2に記載の方式による非冗
長積和形論理式生成装置1と、論文1に記載の方式によ
る二分決定グラフ処理装置2と、本発明による積和形論
理式の生成、格納手段を具備する制御装置3と、記憶装
置4とからなり、3つの装置1〜3は、記憶装置4にデ
ータを読み書きすることにより、互いに通信を行うこと
ができる。
長積和形論理式生成装置1と、論文1に記載の方式によ
る二分決定グラフ処理装置2と、本発明による積和形論
理式の生成、格納手段を具備する制御装置3と、記憶装
置4とからなり、3つの装置1〜3は、記憶装置4にデ
ータを読み書きすることにより、互いに通信を行うこと
ができる。
【0026】最初の入力となる論理関数データは、二分
決定グラフ形式で記憶装置4に格納されている。非冗長
積和形論理式データ生成装置1は、記憶装置4から論理
関数データを取りだし、論文2に記載の方式で非冗長な
積和形論理式を生成し、その積和形論理式に含まれる積
項のデータを、順に制御装置3に送出する。制御装置3
では、非冗長積和形論理式生成装置1から送られてきた
積項のデータを読みとり、該当する積項集合関数を計算
するための処理手順にしたがって、二分決定グラフ処理
装置2に処理命令を送出する。積項集合関数を計算する
処理手順の詳細は後述する。二分決定グラフ処理装置2
は、制御装置3から送られてきた処理命令にしたがっ
て、演算対象となっている二分決定グラフのデータを記
憶装置4から取りだし、論文1に記載されている方法に
より、二分決定グラフ同士の論理積、論理和の演算処理
を行い、演算結果を表す二分決定グラフを生成して、再
び記憶装置4に格納する。制御装置3からの処理命令を
すべて実行し終ったときに、記憶装置4に格納されてい
る二分決定グラフが、非冗長積和形論理式の共有二分木
を表している。非冗長積和形論理式生成装置1と二分決
定グラフ処理装置2は既知の方式を用いている。
決定グラフ形式で記憶装置4に格納されている。非冗長
積和形論理式データ生成装置1は、記憶装置4から論理
関数データを取りだし、論文2に記載の方式で非冗長な
積和形論理式を生成し、その積和形論理式に含まれる積
項のデータを、順に制御装置3に送出する。制御装置3
では、非冗長積和形論理式生成装置1から送られてきた
積項のデータを読みとり、該当する積項集合関数を計算
するための処理手順にしたがって、二分決定グラフ処理
装置2に処理命令を送出する。積項集合関数を計算する
処理手順の詳細は後述する。二分決定グラフ処理装置2
は、制御装置3から送られてきた処理命令にしたがっ
て、演算対象となっている二分決定グラフのデータを記
憶装置4から取りだし、論文1に記載されている方法に
より、二分決定グラフ同士の論理積、論理和の演算処理
を行い、演算結果を表す二分決定グラフを生成して、再
び記憶装置4に格納する。制御装置3からの処理命令を
すべて実行し終ったときに、記憶装置4に格納されてい
る二分決定グラフが、非冗長積和形論理式の共有二分木
を表している。非冗長積和形論理式生成装置1と二分決
定グラフ処理装置2は既知の方式を用いている。
【0027】図2は共有二分木を生成するための処理手
順を示すフローチャートである。
順を示すフローチャートである。
【0028】扱うリテラルの個数(種類数)をn(nは
元の積和形論理式の入力変数の2倍となる)とし、各リ
テラルをs1 ,s2 ,…,sn とする。各リテラルは、
添字の小さい順に順序が定義され、記憶装置4に格納さ
れている。
元の積和形論理式の入力変数の2倍となる)とし、各リ
テラルをs1 ,s2 ,…,sn とする。各リテラルは、
添字の小さい順に順序が定義され、記憶装置4に格納さ
れている。
【0029】x1 〜xn のn個の論理変数を用意し、各
リテラルsk に論理変数xk を対応づける(ステップ1
1)。空の積和形論理式を表す積項集合関数Aを作る
(ステップ12)。非冗長積和形論理式生成装置1から
積項を1個取り出して、その積項を表す積項集合関数B
を計算する(ステップ13)。すなわち、その積項に、
リテラルsk が存在するならばxk 、存在しないならば
リテラルsk に論理変数xk を対応づける(ステップ1
1)。空の積和形論理式を表す積項集合関数Aを作る
(ステップ12)。非冗長積和形論理式生成装置1から
積項を1個取り出して、その積項を表す積項集合関数B
を計算する(ステップ13)。すなわち、その積項に、
リテラルsk が存在するならばxk 、存在しないならば
【0030】
【外2】 として、すべてのリテラルについての論理積を計算した
結果の論理関数が積項集合関数Bとなる。2つの積項集
合関数AとBの和集合を表す積項集合関数を計算し、そ
れを新たにAとする(ステップ14)。すなわち、Aと
Bの論理和を計算した結果が積項集合関数Aとなる。全
ての積項を取り出して処理し終わるまで、ステップ1
3,14を繰り返す(ステップ15)。最後に残った積
項集合関数Aは非冗長積和形論理式全体を表す(ステッ
プ16)。
結果の論理関数が積項集合関数Bとなる。2つの積項集
合関数AとBの和集合を表す積項集合関数を計算し、そ
れを新たにAとする(ステップ14)。すなわち、Aと
Bの論理和を計算した結果が積項集合関数Aとなる。全
ての積項を取り出して処理し終わるまで、ステップ1
3,14を繰り返す(ステップ15)。最後に残った積
項集合関数Aは非冗長積和形論理式全体を表す(ステッ
プ16)。
【0031】上記の積項集合論理関数はすべて、二分決
定グラフ処理装置2を用いて生成する。最終結果のAを
表す二分決定グラフは、非冗長積和形の共有二分木によ
る表現となる。
定グラフ処理装置2を用いて生成する。最終結果のAを
表す二分決定グラフは、非冗長積和形の共有二分木によ
る表現となる。
【0032】次に、2個の入力変数a,bからなる前述
の積和形論理式
の積和形論理式
【0033】
【数1】 の共有二分木を生成する場合について説明する。
【0034】x1,x2,x3,x4の4個の論理変数を用
意し、各リテラル
意し、各リテラル
【0035】
【外3】 に論理変数x1,x2,x3,x4を対応させる(ステップ
11)。積項集合関数Aを0(空の論理式)とする(ス
テップ12)。非冗長積和形論理式生成装置1から積項
11)。積項集合関数Aを0(空の論理式)とする(ス
テップ12)。非冗長積和形論理式生成装置1から積項
【0036】
【外4】 を取り出し、その積項を表す積項集合関数Bを計算し
(ステップ13)、これと積項集合関数Aの論理和を求
め、これを新たに積項集合関数Aとする(ステップ1
4)。次に、積項
(ステップ13)、これと積項集合関数Aの論理和を求
め、これを新たに積項集合関数Aとする(ステップ1
4)。次に、積項
【0037】
【外5】 について同様の処理を行なうことにより、積項集合関数
Aの決定グラフが積和形論理式
Aの決定グラフが積和形論理式
【0038】
【数2】 の共有二分木表現となる。
【0039】
【発明の効果】以上説明したように本発明は、積項数が
非常に多い積和形論理式についても、各積項の間の共通
部分を共有する積項集合共有二分木を用いて表現するこ
とによって、全積項を羅列するよりも小さい記憶領域に
格納することができ、より大規模な論理回路の設計自動
化が可能となり、また、処理データ量の減少に伴い、処
理速度も向上し、論理回路の設計時間が短縮される効果
がある。
非常に多い積和形論理式についても、各積項の間の共通
部分を共有する積項集合共有二分木を用いて表現するこ
とによって、全積項を羅列するよりも小さい記憶領域に
格納することができ、より大規模な論理回路の設計自動
化が可能となり、また、処理データ量の減少に伴い、処
理速度も向上し、論理回路の設計時間が短縮される効果
がある。
【図1】本発明の、積和形論理式の処理方法を実施する
装置の構成図である。
装置の構成図である。
【図2】図1の装置における制御装置3の処理手順を示
す流れ図である。
す流れ図である。
【図3】積和形論理式を表わす二分木の一例を示す図で
ある。
ある。
【図4】積和形論理式を表わす共有二分木の一例を示す
図である。
図である。
【図5】ただ1個の積項からなる積和論理式を表す共有
二分木の一例を示す図である。
二分木の一例を示す図である。
【図6】論理和処理を表す共有二分木の一例を示す図で
ある。
ある。
1 非冗長積和形論理式生成装置 2 二分決定グラフ処理装置 3 制御装置 4 記憶装置 11〜16 ステップ
Claims (4)
- 【請求項1】 複数個の入力変数を持つ論理関数を、該
入力変数とその否定を表す2種類のシンボルであるリテ
ラルを用い、複数個の該リテラルの論理積である積項の
論理和で表す積和形論理式の処理方法であって、 該すべてのリテラルに、ある固定した順序を与える順序
づけ処理と、 該複数の積項について、該個々のリテラルの有無を調
べ、その有無の結果によって該積項を2つに分類する分
類処理と、 該積和形論理式に含まれるすべての積項について、該分
類処理を、該順序づけ処理により与えられるリテラル順
序にしたがって、すべてのリテラルについて再帰的に繰
り返し、空になった分類に対しては論理値0を割り当
て、空でない分類に対しては論理値1を割り当てる展開
処理と、 前記展開処理にしたがって、該個々のリテラルを表す節
点、該個々のリテラルの有無を表す2つの枝、0,1の
論理値を表す終端節点を用いた二分木を生成する二分木
生成処理と、 前記二分木生成処理において、該二分木の複数の枝が一
致するか否かを調べ、一致した時、一致した枝を共有さ
せ、また個々の節点において、2つの枝の行き先が一致
するか否かを調べ、一致した時、該節点を取り除き枝を
直結し、共有二分木を生成する共有処理とを有する、積
和形論理式の処理方法。 - 【請求項2】 複数個の入力変数を持つ論理関数を、該
入力変数とその否定を表す2種類のシンボルであるリテ
ラルを用い、複数個の該リテラルの論理積である積項の
論理和で表す積和形論理式の処理方法であって、 前記積和形論理式を、その構成要素である複数の積項に
分解し、該個々の積項を、請求項1記載の方法により共
有二分木で表現し、これら共有二分木で表現された複数
の積和形論理式から、該複数の積和形論理式の論理和を
求めることにより、前記積和形論理式全体を表現する共
有二分木を生成する、積和形論理式の処理方法。 - 【請求項3】 処理対象の積和形論理式に用いられてい
る該すべてのリテラルに、元の入力変数の2倍の個数の
新たな入力変数を対応させ、かつ該リテラルの有無を新
たな入力変数の論理値1,0に対応させることにより、
該積和形論理式を、該積和論理式の構造を表す論理関数
である積項集合関数に対応づけ、該積項集合関数を、論
理関数の表現方式の1つである二分決定グラフにより表
現し、該積和形論理式を表現する共有二分木を生成す
る、請求項2記載の、積和形論理式の処理方法。 - 【請求項4】 任意の論理関数を表すデータから、該論
理関数を冗長なリテラルや積項を含まずに表現する積和
形論理式を、請求項の方法を用いて生成する、積和形論
理式の処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4299779A JPH06149927A (ja) | 1992-11-10 | 1992-11-10 | 積和形論理式の処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4299779A JPH06149927A (ja) | 1992-11-10 | 1992-11-10 | 積和形論理式の処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06149927A true JPH06149927A (ja) | 1994-05-31 |
Family
ID=17876857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4299779A Pending JPH06149927A (ja) | 1992-11-10 | 1992-11-10 | 積和形論理式の処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06149927A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043427A (ja) * | 2010-08-17 | 2012-03-01 | Fujitsu Ltd | センサー・データを表す二分決定図の注釈付け |
JP2012043431A (ja) * | 2010-08-17 | 2012-03-01 | Fujitsu Ltd | 特性関数によって表現されたデータ・サンプルの比較 |
JP2013069290A (ja) * | 2011-09-23 | 2013-04-18 | Fujitsu Ltd | サイズの最適化のための医療向け二分決定図の結合 |
US9971968B2 (en) | 2012-03-29 | 2018-05-15 | Fujitsu Limited | Determination method, system and recording medium |
-
1992
- 1992-11-10 JP JP4299779A patent/JPH06149927A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043427A (ja) * | 2010-08-17 | 2012-03-01 | Fujitsu Ltd | センサー・データを表す二分決定図の注釈付け |
JP2012043431A (ja) * | 2010-08-17 | 2012-03-01 | Fujitsu Ltd | 特性関数によって表現されたデータ・サンプルの比較 |
JP2013069290A (ja) * | 2011-09-23 | 2013-04-18 | Fujitsu Ltd | サイズの最適化のための医療向け二分決定図の結合 |
US9971968B2 (en) | 2012-03-29 | 2018-05-15 | Fujitsu Limited | Determination method, system and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4028107B2 (ja) | 分解及び分割によるハードウェアの検証並びに表現方法 | |
Mishchenko | An introduction to zero-suppressed binary decision diagrams | |
US8346697B2 (en) | Direct construction of finite state machines | |
US5461574A (en) | Method of expressing a logic circuit | |
Soeken et al. | LUT-based hierarchical reversible logic synthesis | |
WO2005050494A1 (ja) | グラフ幅削減装置及びグラフ幅削減方法、並びに論理回路合成装置及び論理回路合成方法 | |
US5537514A (en) | Method of rearranging and method of coding fuzzy reasoning rules, and method of fuzzy reasoning processing in accordance with said rules | |
JP2009181446A (ja) | プログラム生成装置およびブロック線図生成装置 | |
JPH09319784A (ja) | 回路分割方法および装置 | |
JPH06149927A (ja) | 積和形論理式の処理方法 | |
Jóźwiak et al. | Effective and efficient FPGA synthesis through general functional decomposition | |
CN113128015B (zh) | 预估单振幅模拟量子计算所需资源的方法和系统 | |
CN113568598B (zh) | 基于yosys实现求和运算的FPGA逻辑综合方法及装置 | |
CN114936052B (zh) | 一种模型可视化方法、系统及相关设备 | |
JPH0916640A (ja) | 回路シミュレータ及びブロック緩和反復シミュレーション方法 | |
WO2024018583A1 (ja) | 変換装置 | |
CN108875952B (zh) | 一种基于fpga的复杂逻辑判据自适应智能推理方法 | |
Gerace et al. | TOPI—A Special-Purpose Computer for Boolean Analysis and Synthesis | |
JP3302218B2 (ja) | プライム・コンパチブルによる有限状態機械の状態数最小化装置および方法 | |
JPH05165397A (ja) | スケジューリング装置 | |
Asplund | Formalizing the Kleene star for square matrices | |
EP0413831A1 (en) | Method of representing logic circuit | |
JP2853790B2 (ja) | 算術演算を含む論理式の表現装置 | |
JPH0328929A (ja) | 推論方法及び推論装置並びに定理証明方法及び定理証明装置 | |
JP3648370B2 (ja) | 和積形論理式の充足判定方法および装置 |