JPH0310377A - 論理回路生成方法 - Google Patents

論理回路生成方法

Info

Publication number
JPH0310377A
JPH0310377A JP1144682A JP14468289A JPH0310377A JP H0310377 A JPH0310377 A JP H0310377A JP 1144682 A JP1144682 A JP 1144682A JP 14468289 A JP14468289 A JP 14468289A JP H0310377 A JPH0310377 A JP H0310377A
Authority
JP
Japan
Prior art keywords
output
function
factor
logic
logical
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.)
Granted
Application number
JP1144682A
Other languages
English (en)
Other versions
JP2568689B2 (ja
Inventor
Masahiko Ueda
植田 雅彦
Shogo Izuno
泉野 祥吾
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1144682A priority Critical patent/JP2568689B2/ja
Publication of JPH0310377A publication Critical patent/JPH0310377A/ja
Application granted granted Critical
Publication of JP2568689B2 publication Critical patent/JP2568689B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は論理回路の設計における自動論理合成技術に係
わり、特に高品質の回路の合成に必要な論理回路生成方
法に関するものである。
従来の技術 従来の論理回路生成方法の中で用いられてきた論理最小
化手法として、古くから研究され実用化が進められてき
たものに2段論理の簡単化アルゴリズムがある。このよ
うなアルゴリズムとしてクワイン・マフラスキ法(QM
法)やMINI、ESPRESSO等が有名である。Q
M法は結果が最小解になることが保証されているカミ 
回路規模とともに処理時間が指数関数的に増大していく
ので大規模な回路には使用できない。そこでヒュリステ
イクスを用いることにより、必ずしも最小解が得られる
とは限らない力丈 実用的な処理時間内に最小解に近い
解が得られるようにしたものがMINIやESPRES
SOである。これらのアルゴリズムは扱える回路規模や
出力する解の品質からみて現状でも十分実用レベルに達
している。
ESPRESSOについて(よ クルーワーアカデミッ
クパブリシャーズ−fL  ロジック ミニマイゼイシ
ョンアルゴリズムズフオープイ・エル・ニス・アイ シ
ンセシス(1984年)(Kluwer Academ
icPublishers、Logic Minimi
zatj、on Algorithms forVLS
I 5ynthesis(1984))に詳しく述べら
れている。
2段論理の簡単化に関連して、出力する解の品質をかな
り改善できる手法として出力極性の最適化がある。従来
 出力極性最適化方法として以下の方法が提案されてき
九 (1)全での出力極性の組合せに対して入力された2段
論理関数の簡単化を行(\ その中で結果が最良のもの
を探す方法 (2)■出力ごと独立にそのまま簡単化した場合とその
否定を簡単化した場合とて結果を比較して極性を決定す
る方嵐 (3)入力された2段論理関数をもと置 出力とその否
定をともに実現する2重極性特性関数を作り、それを簡
単化した後、積項数が最小になる出力極性の組合せを探
す方嵐 これらの方法を比較すると、 (1)は必ず最適な出力
極性が得られることが保証されているバ処理時間が出力
数とともに指数関数的に増大していくので大規模な回路
には使用できなしも(2)は処理時間が出力数にリニア
に増大するので大規模な回路にも使用できる力< 1出
力ごと独立に最適化を行うので関数全体として結果が最
適になるとは限らない。
(3)は論理の簡単化を一度行うだけなので実用的な処
理時間内に準最適な出力極性を得ることができる。この
方法について(よ アイ・イー・イ・イー、 トランザ
クションオンコンピューターズ、 シー33.ナンバー
10(1984年)第879頁から第894頁(IEE
E、 Trans、 computers、 vol、
 c−33,no、 10(1984)PP879−8
94)に論じられている。 2段論理関数はPLA (
プログラミング・ロジック・アレイ)を用いて直接実現
できるた八 これらのアルゴリズムはPLAの面積を削
減したり、市販のPLAチップで実現できるように論理
を圧縮したい時などに有効に用いられている。しかしな
がら通常の論理設計において(よ 論理回路は面積効率
や遅延時間の制約から、 2段論理回路ではなく多段論
理回路として実現される。自動論理合成においても多段
論理回路を合成する必要があり、\多段論理の最小化手
法が重要である。従来 多段論理回路の合成は困難なも
のと考えられてきたカミ ここ数年の研究によりかなり
良い品質の回路を合成できるようになつれ 従来の多段
論理合成システムとして、アイ・イー・イー・イー、プ
ロシーデイングオブインタナショナルシンポジウムオン
サーキット アンドシステム(1986)、第356頁
から第359頁(IEEE、 Proc、Symp、 
C1rc、 5yst、 (1986)PP356−3
59)に述べられているMISが有名である。MISに
はいくつかの多段論理最小化手法が組込まれており、そ
れらの最小化手法を入力された論理関数に適用すること
によって、最小化された多段論理を得ることができる。
第5図にMISの典型的な処理フロー図を示す。41と
45は論理関数の各出力変数(もしくは中間変数)ごと
に独立に因数分解を行うステップ、42と44は論理関
数の各出力変数(もしくは中間変数)ごとに独立に論理
の簡単化を行うステップ、43は論理関数の複数の出力
変数(もしくは中間変数)に対応する論理式の間で共通
の因子があればそれを抽出するステップ、44は複数の
積項間に共通の入力があればそれを抽出するステップで
ある。このようなMISの処理フローにおいて(よ 入
力された論理関数は因数分解ステップ0− 41とそれに続く多段簡単化ステップ42によって各出
力変数(もしくは中間変数)ごとに独立に最小化された
後、共通因子抽出ステップ43.多段簡単化ステップ4
4.因数分解ステップ45によって共通因子を優先した
因数分解が行われ 最後に共通入力抽出ステップ46に
よって回路中のゲートの共通部分のくくり出しが行われ
る。このようにMISでは入力された論理関数を一且 
2段論理に展開することなく、多段論理のままで最小化
が行われる。ここでは複数の出力変数(もしくは中間変
数)間の論理の冗長性を取り除く大域的最適化は共通因
子抽出ステップ43と共通入力抽出ステップ46によっ
て実現される。MISの持つ多段論理最小化手法のうち
、共通因子抽出ステップ(戴 2つの出力変数(もしく
は中間変数)に対応する論理式の因子をそれぞれ求へ 
それらの間の共通要素を捜し 新たな中間変数としてく
くり出すことによって実現されている。第6図に共通因
子抽出処理の例を示す。以下、記述する全ての論理式に
おいて、” a=b″はaとbが論理的に等価であるこ
と、a’b’ はaとbの論理積’a+b’はaとbの
論理私 ″ a@b″はaとbの排他的論理和′ a′
はaの否定を表すものとする。論理関数51の出力変数
Xの因子はに1=a+b+cであり、同じく出力変数Y
の因子はに2=a+bである。
K1とに2の共通要素であるa+bが出力変数XとYの
共通因子であり、これを中間変数Zとしてくくり出した
結果が論理関数52である。ま?Q  MISの因数分
解ステップに(よ 各出力変数(もしくは中間変数)に
対応する論理式の因子を1つだけ求めるものと、全ての
因子を計算しその中から最適な因子を求めるものが用意
されている。後者は前者に比べて処理時間はかかるカミ
 結果は高品質である。第6図の例では論理関数52の
出力変数Xが因数分解されて論理関数53に変換されて
いる。
この場合、因子はZ+cのみである。出力変数Yと中間
変数Zには因子は存在しない。
発明が解決しようとする課題 以上述べたように 論理回路生成方法の中で用いられる
論理最小化手法には大きく分けて2段論1 2− 埋置小化手法と多段論理最小化手法とがあり、それぞれ
に長所と短所がある。 2段論理最小化手法はPLAの
ような2段論理回路の設計には有効であり、ANDN−
ゲート間くの共通入力が存在するため多段論理としては
冗長である。一般の論理回路は通電 多段論理で実現さ
れるためへ 2段論理最小化手法のみを用いて設計する
と結果の回路規模が大きくなってしまう。一方、MIS
のような多段論理最小化手法のみによっては取り除くこ
とが困難な論理的冗長性が存在する。すなわち、このよ
うなシステムで(よ 通常、多段論理回路を部分回路で
ある1出力の2段論理回路を接続したものとして処理し
ており、多段簡単化処理も各部分回路ごとに独立に行わ
れるため4Q  複数の部分回路にまたがって論理的冗
長性が存在する場合にはそれらを簡単化処理によって取
り除くことは困難である。MISではこのような問題点
を、 (1)多段論理を局所的に2段論理に展開する方
法、 (2)入力と中間変数の間のドントケア条件を作
砥利用する方法、によって解決しようとしているバこれ
らの方法で完全な簡単化を行おうとすると処理効率が悪
くなる。また 現状では多段論理のままで出力極性を最
適化する有効なアルゴリズムは得られていない。従って
、ある出力を実現するよりもその否定を実現した方が回
路規模が小さくなるような場合で耘 それを判定する方
法を持たないため番へ  規模の大きな回路を合成して
しまうことになる。その上 従来の多段論理最小化手法
で1よ 因子とその否定の抽出も 排他的論理和の抽出
には特別な注意が払われていなかっ九 このような共通
因子や排他的論理和の抽出は回路規模削減に大きな効果
がある。また 従来の出力極性最適化手法は2段論理回
路を対象としていたたム積項数が最小になる出力極性を
選択していたカミ一般の多段論理回路を扱う場合には積
項数が最小になっても多段化した後で必ずしも回路規模
が小さくなるとは限らなl、%  本発明はかかる問題
点に鑑へ 2段論理最小化手法と多段論理最小化手法を
うまく組み合わせるととも番へ  従来の論理最小化手
法になかった新たな機能を付加することによ3− 4 リ、高性能の論理回路生成方法を提供することを目的と
する。
課題を解決するための手段 本発明(よ 与えられた論理関数を実現する論理回路を
生成する論理回路生成方法であり、多段論理関数を2段
論理関数に展開する2段論理展開手段と、前記2段論理
関数の最適出力極性を求める出力極性最適化手段と、前
記2段論理関数を簡単化するd没論理簡単化手段と、論
理関数の複数の出力変数(もしくは中間変数)に対応す
る論理式の間の共通積項を中間変数としてくくり出す共
通積項抽出手段と、論理関数の複数の出力変数(もしく
は中間変数)に対応する論理式の間の共通因子を中間変
数としてくくり出す共通因子抽出手段と、論理関数の各
出力変数(および中間変数)に対応する論理式をそれぞ
れ独立に因数分解する因数分解手段と、論理関数に含ま
れる複数の積項間の共通入力を中間変数としてくくり出
す共通入力抽出手段とを有し 入力された論理関数を前
記2段論理展開手段により2段論理関数に展開し 次5
− に前記出力極性最適化手段により前記2段論理関数の最
適出力極性を求取 次に前記2段論理簡単化手段により
、前記2段論理関数を前記最適出力極性のもとで簡単化
し 次に前記共通積項抽出手段により、複数の出力変数
に対応する論理式の間に共通の積項があれば中間変数と
してくくり出し次に前記共通因子抽出手段により、複数
の出力変数(もしくは中間変数)に対応する論理式の間
に共通の因子があれば中間変数としてくくり出し次に前
記因数分解手段により、各出力変数(および中間変数)
に対応する論理式をそれぞれ独立に因数分解し 次に前
記共通入力抽出手段により、論理関数に含まれる複数の
積項間に共通の入力があれば中間変数としてくくり出す
ことにより、与えられた論理関数を別の論理関数に変換
してから実現する論理回路生成方法である。また本発明
(よ2段論理関数の最適出力極性を求める出力極性最適
化方法であり、入力された2段論理関数の各出力に対応
する論理とその否定論理を表現する出力を共に有する2
段論理関数である2重極性特性関6− 数を生成する2重極性特性関数生成手段と、前記2重極
性特性関数生成手段の結果得られた2重極性特性関数を
簡単化する2重極性特性関数簡単化手段と、前記2重極
性特性関数簡単化手段により簡単化された2重極性特性
関数を用いて、必要な積項数が小さくなる順にいくつか
の出力極性を選択する最適出力極性候補選択手段と、前
記最適出力極性候補選択手段により選択された各々の出
力極性のもとで前記入力された2段論理関数の簡単化を
行う2段論理簡単化手段と、前記2段論理簡単化手段の
結果得られた2段論理関数の総接続数を計算し 総接続
数が最小になる出力極性を求める最適出力極性選択手段
とを有する出力極性最適化方法である。また本発明は論
理関数の複数の出力変数(もしくは中間変数)に対応す
る論理式の間に共通の因子があれば中間変数としてくく
り出す共通因子抽出方法であり、論理関数の出力変数(
もしくは中間変数)に対応する論理式の因子を計算し求
める手段と、前記因子の否定を計算し求める手段と、前
記因子かあるいは前記因子の否定が前記論理関数の別の
出力変数(もしくは中間変数)に対応する論理式の因子
になっているかどうかを検査する手段とを有し ある出
力変数(もしくは中間変数)に対応する論理式の因子の
否定が別の出力変数(もしくは中間変数)に対応する論
理式の因子になっていれば 共通因子としてくくり出す
共通因子抽出方法である。また本発明は論理関数の各出
力変数(もしくは中間変数)に対応する論理式の因子の
中から最適な因子をくくり出す論理関数の因数分解方法
であり、論理関数の出力変数(もしくは中間変数)に対
応する論理式の因子を計算し求める手段と、前記因子の
中から排他的論理和になるものを探す手段とを有し 論
理関数の出力変数(もしくは中間変数)に対応する論理
式の因子の中に排他的論理和になるものがあれば優先し
てくくり出す因数分解方法である。
作用 本発明における論理回路生成方法では 入力された論理
関数を一旦 2段論理に変換し 最適出力極性を求めた
後、その出力極性のもとで論理の7− 簡単化を行う。その結果、出力極性最適化を含めて2段
論理として最小化された関数が得られる。
その後、 2段論理関数の複数の出力変数に対応する論
理式の間に共通の積項があればそれを中間変数としてく
くり出した後、複数の出力変数(もしくは中間変数)に
対応する論理式の間に共通の因子があればそれを新たな
中間変数としてくくり出す。その後、各出力変数(もし
くは中間変数)に対応する論理式を独立に因数分解した
後、複数の積項間に共通の入力があればそれを中間変数
としてくくり出も このように−旦 2段論理に変換し
て最小化を行うた八 従来の多段論理最小化手法では取
り除(こと・が困難であった論理的冗長性を効率的に取
り除°くことができる。また2段論理に変換することに
より、多段論理では困難であった出力極性最適化が可能
になつ九 さらに2段論理最小化に続く高性能の多段化
処理によって、前記2段論理回路を高品質な多投論理回
路に変換することができる。これにより本発明における
論理回路生成方法を用いて一般的な多段論理回路を極9
− めて高品質に設計することができる。また本発明におけ
る出力極性最適化方法では 入力された2段論理関数の
各出力変数に対応する論理とその否定論理を共に出力と
する2重極性特性関数を生成しそれを最適化した後、必
要な積項数が小さくなる順にいくつかの出力極性を選択
する。その後、選択された各々の出力極性のもとで元の
°2段論理関数の簡単化を行(\ その結果得られた2
段論理関数の総接続数が最小になる出力極性を選択する
このように本発明における出力極性最適化方法で(よ 
従来と同じように2重極性特性関数を利用している力士
 積項数ではなく総接続数が最小になる出力極性を選択
している。一般に総接続数最小の出力極性を選択するに
は全ての場合について最適化を行ってみて総接続数を計
算する必要があり、出力数が増大するに伴って組合せ的
爆発を引き起こす力士 ここでは2重極性特性関数を用
いて候補を絞り込むことによって効率的に出力極性を最
適化している。また本発明における共通因子抽出方法で
(よ ある出力変数(もしくは中間変数)に対20− 応する論理式の因子を求ム それが他の出力変数(もし
くは中間変数)に対応する論理式の因子になっているか
どうかを調べるのは従来と同じである力(さらに因子の
否定を計算して他の出力変数(もしくは中間変数)に対
応する論理式の因子になっているかどうかを調べること
によって、従来方法では発見できなかった共通因子を抽
出することが可能となる。また本発明における因数分解
方法で(よ ある出力変数(もしくは中間変数)に対応
する論理式の因子の中から排他的論理和になるものを探
し出し それを優先的にくくり出すことによって、回路
中から可能な限り多くの排他的論理和ゲートを抽出する
ことが可能となる。
実施例 第1図は本発明における論理回路生成方法の一実施例の
処理フロー図を示すものである。第1図において、 1
は2段論理展開ステップ、 2は出力極性最適化ステッ
プ、 3は2段論理簡単化ステツー74は共通積項抽出
ステップ、 5は共通因子抽出ステップ、 6は因数分
解ステップ、 7は共通入力抽出ステップである。この
うち2段論理展開ステップ1、出力極性最適化ステップ
2、2段論理簡単化ステップ3が2段論理最小化処理で
あり、共通積項抽出ステップ4、共通因子抽出ステップ
5、因数分解ステップ6、共通入力抽出ステップ7が多
段化処理である。以下、順をおって論理回路生成方法の
各ステップにおける処理の詳細な説明を行う。
ステップ1:2段論理への展開 入力された論理関数に対して、 ドモルガンの定理や分
配側等のプール代数の諸芸式(第7図)を再帰的に適用
することによってANDORの2段論理へ展開する。こ
の時、論理関数の入力間に論理的制約があればこれも展
開し 制約条件を満たさない入力データをドントケアと
して扱う。後で説明するように これらのドントケア情
報は論理を最小化する上で極めて有効に利用することが
できる。第8図に入力された論理関数を本実施例を用い
て2段論理に展開した結果(キューブ表現)を示す。以
下、記述する全てのキューブ表現にお1 22− いて、′、1′の後の数字は入力数、′、0′の後の数
字は出力数、’、ilb’の後の文字列は入力区’、 
 。
b′の後の文字列は出力部’、p’の後の数字は積項数
を表している。その後に複数のキューブが記述されてい
るカミ 1行1キユーブであり、 1行の途中にあるス
ペースより前が入力撒 後が出力部である。キューブに
おいて各数字はそれぞれの位置によって決まる入出力に
対応している。入力部は数字が1′の場合は対応する入
力 ′0”の場合は対応する入力の否定、′−″の場合
は対応する入力にかかわらず1 (真)として全ての数
字について論理積を取ったもの(積項)を表す。出力部
(友数字が1′の場合は対応する出力がその積項を論理
和の入力として含へ ′0”の場合は含まないことを表
している。論理関数71が論理関数73に展開されてい
る。またドントケア情報74は制約条件72の両辺の排
他的論理和をとって2段論理に展開することによって得
られる。
ステップ2: 出力極性最適化 論理関数の中にはそのまま実現するよりも、その否定を
実現する方が容易なものがある。そこで2段論理最小化
に先立ち出力極性の最適化を行っている。第2図に本発
明における出力極性最適化方法の一実施例の処理フロー
図を示す。第2図において、11は2重極性特性関数生
成ステップ、12は2重極性特性関数簡単化ステップ、
13は最適出力極性候補選択ステップ、14は2段論理
簡単化ステップ、15は最適出力極性選択ステップであ
る。
本発明においても従来と同じく2重極性特性関数を用い
る手法を採用している力(積項数を最小にする手法では
多段化した後、必ずしも回路規模が小さくなるとは限ら
ないた敦 接続数を最小にする手法を採っ九 すなわち
2重極性特性関数を用いて求めたいくつかの候補につい
て総接続数を計算し それが最小になるものを最適出力
極性としk ここで積項と(よ いくつかの入力(もし
くはその否定)の論理積を取ったものであり、 2段論
理関数では各出力変数はいくつかの積項の論理和となる
。積項数は2段論理回路ではANDゲート数に また 
総接続数は全ゲートの入力の総数に一%− 一冴一 対応する。一般の論理回路においてはゲート数よりも接
続数の方が回路規模に対するより正しい目安を与えるこ
とが知られている。この点カミ 本発明の極めて重要な
点の一つであり、これによって初めて一般的な多段論理
回路に対して有効な出力極性最適化を実現することが可
能となる。第9図に2段論理間数81から2重極性特性
関数を生成し簡単化した結果の2重極性特性関数82(
キューブ表現)を示す。2重極性特性関数は元の論理関
数の各出力とそれぞれの否定を出力として持つカミ実際
には各出力について正負のいずれかがあればよい。2重
極性特性関数を用いて全ての出力極性の組み合せのうち
、必要な2重極性特性関数の積項数が少ないものから順
にいくつかの候補を選択することができる。第9図の2
重極性特性関数82から本実施例を用いて選択した最適
出力極性候補と、その出力極性で元の2段論理関数81
を簡単化した結果の総接続数を第10図に示す。この例
では積項数最小の(1111)ではなく、総接続数最小
の(1000)が最適出力極性として選択されている。
ステップ3:2段論理簡単化 2段論理展開ステップ1で得られた2段論理関数に対し
て、出力極性最適化ステップ2で求めた最適出力極性の
もとでの簡単化を行う。2段論理簡単化アルゴリズムと
して従来から様々なシステムが開発されてきた力(ここ
ではカリフォルニア大学バーク14校で開発されたES
PRESSOを用いている。ESPRESSOは積項数
と総接続数ともに準最小の解を効率的に生成することが
可能である。第9図に示した2段論理関数81を出力極
性(1000)のもとで簡単化した結果(キューブ表現
)を第11図に示す。この例では簡単化前に積項数21
、総接続数174であったのカミ 簡単化後は積項数1
宍総接続数92になっており、総接続数が約半分に削減
され九 第12図に論理最小化における制約条件の効果
を示す。今、論理関数111の入力B1とB2の間に制
約条件112が成立していたとする。
ここで制約条件112はB1が真の時は必ずB2も真に
なることを示している。この時、論理関数111を制約
条件を考慮せずに(すなわち入力B1とB25− 加− を独立として)簡単化した結果113と制約条件を考慮
して(すなわちドントケア情報を利用して)簡単化した
結果114を比較すると、元の論理関数111は制約条
件112を用いることによって、より簡単化されている
ことがわかる。このような制約条件の利用は本実施例の
重要な点の一つであり、階層的な論理設計においては各
部分回路の入力は必ずしも独立ではなく、その間に制約
条件がある場合が多いので特に有効である。
ステップ4: 共通積項抽出 多段化の第一ステップとして、 2段論理の各出力変数
に対応する論理式の間で共通の積項があればそれをくく
り出湯1 これは第13図に示すようにAND−ORの
2段論理回路の複数の出力に対応するORゲート間の共
通入力をくくり出す処理である。このステップは後に述
べる共通入力抽出ステップ7とよく似ている力士 この
ステップを共通因子抽出ステップ5や因数分解ステップ
6等の因子抽出処理の前に行うことは重要である。なぜ
ならば2段論理簡単化処理では積項数を減らすためにで
きるだけ多くの積項を複数の出力変数に共有させるカミ
 これらの共通積項は独立した中間変数と見なされ 以
後に因子抽出処理の対象外とされてしまう。共通積項抽
出ステップによってこれらの積項も単一のORゲートに
接続され 因子抽出を行うことが可能になる。この点も
本発明の極めて重要な効果の一つであり、共通積項抽出
ステップによって単にORゲートの共通入力をくくり出
すだけではなく、因子抽出処理の性能向上にも貢献して
いる。
ステップ5: 共通因子抽出 このステップと次のステップは因子をくくり出すことに
よって論理の最小化を行う(因子抽出処理)。通常くく
り出せる因子は複数存在するのでその中で最適なものを
求める必要がある。第14図に示すように論理関数の複
数の出力変数(もしくは中間変数)に対応する論理式に
共通の因子があればそれを優先してくくり出すのが本ス
テップの共通因子抽出である。なお共通因子でなくとも
第15図に示すように ある論理関数の因子の否定が− −公 別の論理関数の因子になっていれば その因子も優先し
てくくり出される必要がある。ここでは各因子の否定を
求めることにより、このような共通因子の抽出も行って
いる。第3図に本発明における共通因子抽出方法の一実
施例の処理フロー図を示す。第3図において、21は出
力変数(もしくは中間変数)Aの因子生成ステップ、2
2は出力変数(もしくは中間変数)Bの因子生成ステッ
プ、23はAの因子とBの因子の間に共通要素を探すス
テップ、24はAの因子の否定を生成するステッズ25
はAの因子の否定とBの因子の間に共通要素を探すステ
ップ、26は共通要素があればそれをAとBの共通因子
としてくくり出すステップである。
本発明ではAとBの因子を生成した後、従来と同じくA
とBの共通因子を捜し もしも見つかればそれを優先し
てくくり出すカミ 見つからなかった場合にはAの否定
とBの間に共通要素を捜し もしも見つかればそれを中
間変数としてくくり出すことを行う。この点が本発明に
おいて極めて重要な点の一つであり、これにより初めて
、従来見落とされてきたタイプの共通因子を一般の因子
に対して優先的に抽出することが可能になった 以上に
述べた処理を全ての出力変数(もしくは中間変数)につ
いて再帰的に繰り返すことによって共通因子抽出ステッ
プ5が終了する。本実施例における共通因子抽出方法で
は複数の出力変数(もしくは中間変数)に対応する論理
式の間の共通因子を見つけるのに それぞれの出力変数
(もしくは中間変数)に対応する論理式の因子を生成し
 それの共通要素を捜すという方法を取っているカミ 
別の方法 例えばある出力変数(もしくは中間変数)に
対応する論理式の因子を生成し それで他の出力変数(
もしくは中間変数)に対応する論理式の因子を生成し 
それで他の出力変数(もしくは中間変数)に対応する論
理式を割ってみるというような方法によっても共通因子
を見つけることが可能である。
ステップ6: 因数分解 共通因子でなくとも論理関数の因子をくくり出すことは
論理を最小化する上で有効である。第16−四− 一閣− 図に示すように 各出力変数(もしくは中間変数)に対
応する論理式ごとに独立に因子の抽出を行うのが本ステ
ップの因数分解ステップである。ここでも複数の因子の
候補の中から最適因子を求めることが重要である。ここ
では第17図に示すように候補である因子の中から排他
的論理和になるものを探し出し それを優先してくくり
出している。
通常セルライブラリはEXCLUS I VE−ORゲ
ートを含んでおり、このような排他的論理和の抽出は回
路規模を削減するのに大きな効果がある。
第4図に本発明における因数分解方法の一実施例の処理
フロー図を示す。第4図において、31は出力変数Aの
因子生成ステップ、32は因子の中から排他的論理和に
なるものを探すステップ、33は因子の中から一つを選
択するステップ、34は選択された因子でAを因数分解
するステップである。本発明ではAの因子を生成した後
、ステップ32においてまず排他的論理和となる因子を
探し もしも見つかればそれをくくり出す点が従来とは
異なる。
見つからなければステップ33で何らかの方略を用いて
一つの因子を選択してそれをくくり出も この点が本発
明において極めて重要な点の一つであり、これにより従
来一般の因子に紛れて見逃されてきた排他的論理和を優
先して抽出することが可能になっ九 以上に述べた処理
を全ての出力変数(もしくは中間変数)について再帰的
に繰り返すことによって因数分解ステップ6が終了する
ステップ7: 共通入力抽出 多段化の最後のステップとして、複数の積項に共通の入
力があればそれをくくり出す。これは第18図に示すよ
う4QANDゲ一ト間の共通入力をくくり出す処理であ
る。ORゲート間の共通入力はすでに共通積項抽出ステ
ップ4でくくり出している。また同一の出力変数(もし
くは中間変数)に属している積項間の共通入力はすでに
因数分解ステップ6でくくり出している。従ってここで
は最後に残った 異なる出力変数(もしくは中間変数)
に属している積項間の共通入力の抽出を行う。
ここで因数分解ステップ6を共通入力抽出ステップ7よ
りも優先させたの法 第19図に示すように31 一露一 一般的に前者の方が接続数が小さくなるためである。第
20図に一連の多段化処理の例を示す。第20図(a)
は2段論理簡単化後の論理関数であり、第20図(b)
は(a)から共通積項191を抽出した結果の論理関数
である。第20図(C)は(b)から不必要な中間変数
を削除した後、共通因子192を抽出した結果の論理関
数である。第20図(d)は(C)を因数分解した結果
の論理関数である。5因子193が抽出されたがそのう
ち2因子は排他的論理和である。第20図(e)は(d
)から共通入力194を抽出した結果である。この例で
(a>から(8)の多段化処理によって総接続数が84
から51に削減され九 本実施例は多段論理関数を入力
とじ 最小化された多段論理関数を生成するものである
力士 その結果における論理積をANDゲートに対応さ
せ、論理和をORゲートに対応さ+i(排他的論理和を
EXCLUS I VE−ORゲートに対応させ、否定
をインバータに対応させることにより、直ちに多段論理
回路を得ることができる。また本実施例の2段論理最小
化処理だけを行うことによって、最小化された2段論理
回路を出力することもでき、PLAの設計等に用いるこ
とも可能である。以上の説明では多段論理関数を入力と
している力(2段論理関数も一種の多段論理関数である
から、当然本実施例に入力することができる。この場合
、 2段論理展開ステップ1は入力された論理関数には
なにも処理を加えず、制約条件があればその処理を行う
。第21図に本実施例の構成図を示机 第21図におい
て、201は2段論理最小化手段、202は多段化手段
、203は回路要素割り付は手段204はPLAプログ
ラミング手段である。入力された論理関数205は2段
論理最小化手段201、多段化手段202.回路要素割
り付は手段203を通して多段論理回路206を生成す
る力\ あるいは2段論理最小化手段201の後、PL
Aプログラミング手段204を通してPLAとして実現
するかを選択することができる。次に実際の設計データ
を使って、本実施例における論理回路生成方法の評価を
行っ九 すなわち、いくつかの回路について、第5図に
処理フローを示した従来の論理回路生成方法で最小化し
た場合と本実施例で最小化した場−開− −胴− 合で結果(総接続数)を比較し九 その結果、本実施例
における論理回路生成方法を用いることによって、従来
方法に比べて最大80尾  平均して33%の回路規模
削減を実現していることが分かったまた本実施例におけ
る出力極性最適化方法の評価を行っk ずなわ叛 いく
っかの2段論理回路について従来の出力極性最適化方法
を用いた場合と本実施例における出力極性最適化方法を
用いた場合を比較し九 その結果 従来の出力極性最適
化方法が15回路のうち2〜3回路しか真の最適出力極
性を選択できなかったのに対して、本実施例における出
力極性最適化方法は15回路のうち11回路で真の最適
出力極性を選択していることが分かった 発明の詳細 な説明したように 本発明では2段論理最小化手法と多
段論理最小化手法をうまく組み合わせることでそれぞれ
の手法の持つ欠点を補完するとともに 従来の論理最小
化手法にはなかった新たな機能を付加することにより、
従来の論理最小化=35− 手法では実現することができなかった高品質の論理回路
を効率的に生成することを可能にしている。
すなわち2段論理最小化手法は一般の多段論理回路を対
象とする場合に(戴 2段論理であるという制約によっ
て多くの冗長な回路を生み出してしまうカミ それを後
に続く多段論理最小化手法によって取り除くことができ
る。逆に多段論理最小化手法のみでは論理的冗長性を効
率的に取り除くことが困難なこと東 出力極性最適化を
実現不可能なこと等を2段論理最小化手法を用いること
によって解決することができる。また本発明における総
接続数を最小にする出力極性最適化方法 因子とその否
定をも抽出できる共通因子抽出方法 排他的論理和を優
先的に抽出する因数分解方法等の従来になかった新しい
論理最小化手法を用いることによって、さらに高性能な
論理回路の生成が可能である。このような高性能な論理
回路生成方法を自動論理合成システムの中で用いること
により、入力された仕様をもとにして、よりコストの小
さい論理回路を自動的に生成することが可能になり、3
6− LSIや回路基板等の製造価格低減に寄与する効果は極
めて大きい。
【図面の簡単な説明】
第1図は本発明の一実施例における論理回路生成方法の
処理フロー倣 第2図は本発明の一実施例における出力
極性最適化方法の処理フロー医第3図は本発明の一実施
例における共通因子抽出方法の処理フロー医 第4図は
本発明の一実施例における因数分解方法の処理フロー@
 第5図は従来の多段論理合成システムMISの典型的
な処理フロー@ 第6図は共通因子抽出処理と因数分解
処理の例を用いた説明図 第7図は2段論理への展開で
用いるプール代数の公式の説明は 第8図は2段論理展
開の実例を用いた説明圀 第9図は2重極性特性関数の
説明@ 第10図は最適出力極性候補選択の説明図 第
11図は最適化された2段論理関数の説明図 第12図
は論理最小化における制約条件の効果の説明l 第13
図は共通積項抽出処理の説明図 第14図は通常の共通
因子抽出処理の説明図 第15図は因子とその否定の抽
出の説明図 第16図は通常の因数分解処理の説明図 
第17図は排他的論理和抽出の説明図 第18図は共通
入力抽出処理の説明@ 第19図は因数分解と共通入力
抽出の比較の説明図 第20図は一連の多段化処理の実
例を用いた説明図 第21図は本発明の一実施例におけ
る論理回路生成方法の構成図である。 1・・・・2没論理展開ステッス 2・・・・出力極性
最適化ステップ、 3・・・・2段論理簡単化ステップ
、4・・・・共通積項抽出ステップ、 5・・・・共通
因子抽出ステップ、 6・・・・因数分解ステラス 7
・・・・共通入力抽出ステップ、11・・・・2電極性
特性関数生成ステッス 12・・・・2重極性特性関数
簡単化ステップ、13・・・・最適出力極性候補選択ス
テップ、14・・・・2没論理簡単化ステッズ I5・
・・・最適出力極性選択ステップ、21・・・・出力変
数(もしくは中間変数)Aの因子生成ステップ、22・
・・・出力変数(もしくは中間変数)Bの因子生成ステ
ラス 23・・・・Aの因子とBの因子の間に共通要素
を探すステラ’:X  24・・・・Aの因子の否定を
生成するステラス25・・・・Aの因子の否定とBの因
子の間に共通要素−訂一 38 を探すステップ、26・・・・共通要素があればそれを
AとBの共通因子としてくくり出すステップ、31・・
・・出力変数(もしくは中間変数)Aの因子生成ステッ
プ、32・・・・因子の中から排他的論理和になるもの
を探すステップ、33・・・・因子の中から一つを選択
するステップ、34・・・・選択された因子でAを因数
分解するステラス

Claims (7)

    【特許請求の範囲】
  1. (1)与えられた論理関数を実現する論理回路を生成す
    る論理回路生成方法であり、多段論理関数を2段論理関
    数に展開する2段論理展開手段と、前記2段論理関数の
    最適出力極性を求める出力極性最適化手段と、前記2段
    論理関数を簡単化する2段論理簡単化手段と、論理関数
    の複数の出力変数(もしくは中間変数)に対応する論理
    式の間の共通積項を中間変数としてくくり出す共通積項
    抽出手段と、論理関数の複数の出力変数(もしくは中間
    変数)に対応する論理式の間の共通因子を中間変数とし
    てくくり出す共通因子抽出手段と、論理関数の各出力変
    数(および中間変数)に対応する論理式をそれぞれ独立
    に因数分解する因数分解手段と、論理関数に含まれる複
    数の積項間の共通入力を中間変数としてくくり出す共通
    入力抽出手段とを有し入力された論理関数を前記2段論
    理展開手段により2段論理関数に展開し、次に前記出力
    極性最適化手段により前記2段論理関数の最適出力極性
    を求め、次に前記2段論理簡単化手段により、前記2段
    論理関数を前記最適出力極性のもとで簡単化し、次に前
    記共通積項抽出手段により、複数の出力変数に対応する
    論理式の間に共通の積項があれば中間変数としてくくり
    出し、次に前記共通因子抽出手段により、複数の出力変
    数(もしくは中間変数)に対応する論理式の間に共通の
    因子があれば中間変数としてくくり出し、次に前記因数
    分解手段により、各出力変数(および中間変数)に対応
    する論理式をそれぞれ独立に因数分解し、次に前記共通
    入力抽出手段により、論理関数に含まれる複数の積項間
    に共通の入力があれば中間変数としてくくり出すことに
    より、与えられた論理関数を別の論理関数に変換してか
    ら実現することを特徴とする論理回路生成方法。
  2. (2)2段論理関数の最適出力極性を求める出力極性最
    適化方法であり、入力された2段論理関数の各出力に対
    応する論理とその否定論理を表現する出力を共に有する
    2段論理関数である2重極性特性関数を生成する2重極
    性特性関数生成手段と、前記2重極性特性関数生成手段
    の結果得られた2重極性特性関数を簡単化する2重極性
    特性関数簡単化手段と、前記2重極性特性関数簡単化手
    段により簡単化された2重極性特性関数を用いて、必要
    な積項数が小さくなる順にいくつかの出力極性を選択す
    る最適出力極性候補選択手段と、前記最適出力極性候補
    選択手段により選択された各々の出力極性のもとで前記
    入力された2段論理関数の簡単化を行う2段論理簡単化
    手段と、前記2段論理簡単化手段の結果得られた2段論
    理関数の総接続数を計算し、総接続数が最小になる出力
    極性を求める最適出力極性選択手段とを有することを特
    徴とする出力極性最適化方法
  3. (3)論理関数の複数の出力変数(もしくは中間変数)
    に対応する論理式の間に共通の因子があれば中間変数と
    してくくり出す共通因子抽出方法であり、論理関数の出
    力変数(もしくは中間変数)に対応する論理式の因子を
    計算し求める手段と、前記因子の否定を計算し求める手
    段と、前記因子かあるいは前記因子の否定が前記論理関
    数の別の出力変数(もしくは中間変数)に対応する論理
    式の因子になっているかどうかを検査する手段とを有し
    、ある出力変数(もしくは中間変数)に対応する論理式
    の因子の否定が別の出力変数(もしくは中間変数)に対
    応する論理式の因子になっていれば、共通因子としてく
    くり出すことを特徴とする共通因子抽出方法。
  4. (4)論理関数の各出力変数(もしくは中間変数)に対
    応する論理式の因子の中から最適な因子をくくり出す論
    理関数の因数分解方法であり、論理関数の出力変数(も
    しくは中間変数)に対応する論理式の因子を計算し求め
    る手段と、前記因子の中から排他的論理和になるものを
    探す手段とを有し、論理関数の出力変数(もしくは中間
    関数)に対応する論理式の因子の中に排他的論理和にな
    るものがあれば優先してくくり出すことを特徴とする因
    数分解方法。
  5. (5)出力極性最適化方法として、入力された2段論理
    関数の各出力に対応する論理とその否定論理を表現する
    出力を共に有する2段論理関数である2重極性特性関数
    を生成する2重極性特性関数生成手段と、前記2重極性
    特性関数生成手段の結果得られた2重極性特性関数を簡
    単化する2重極性特性関数簡単化手段と、前記2重極性
    特性関数簡単化手段により簡単化された2重極性特性関
    数を用いて、必要な積項数が小さくなる順にいくつかの
    出力極性を選択する最適出力極性候補選択手段と、前記
    最適出力極性候補選択手段により選択された各々の出力
    極性のもとで前記入力された2段論理関数の簡単化を行
    う2段論理簡単化手段と、前記2段論理簡単化手段の結
    果得られた2段論理関数の総接続数を計算し、総接続数
    が最小になる出力極性を求める最適出力極性選択手段と
    を有する方法を用いることを特徴とする特許請求の範囲
    第1項記載の論理回路生成方法。
  6. (6)共通因子抽出方法として、論理関数の出力変数(
    もしくは中間変数)に対応する論理式の因子を計算し求
    める手段と、前記因子の否定を計算し求める手段と、前
    記因子かあるいは前記因子の否定が前記論理関数の別の
    出力変数(もしくは中間変数)に対応する論理式の因子
    になっているかどうかを検査する手段とを有する方法を
    用いることを特徴とする特許請求の範囲第1項記載の論
    理回路生成方法
  7. (7)因数分解方法として、論理関数の出力変数(もし
    くは中間変数)に対応する論理式の因子を計算し求める
    手段と、前記因子の中から排他的論理和になるものを探
    す手段とを有する方法を用いることを特徴とする特許請
    求の範囲第1項記載の論理回路生成方法
JP1144682A 1989-06-07 1989-06-07 論理回路生成方法 Expired - Lifetime JP2568689B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1144682A JP2568689B2 (ja) 1989-06-07 1989-06-07 論理回路生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1144682A JP2568689B2 (ja) 1989-06-07 1989-06-07 論理回路生成方法

Publications (2)

Publication Number Publication Date
JPH0310377A true JPH0310377A (ja) 1991-01-17
JP2568689B2 JP2568689B2 (ja) 1997-01-08

Family

ID=15367805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1144682A Expired - Lifetime JP2568689B2 (ja) 1989-06-07 1989-06-07 論理回路生成方法

Country Status (1)

Country Link
JP (1) JP2568689B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012032967A (ja) * 2010-07-29 2012-02-16 Tsutomu Inamoto 2値ベクトル及び多項式を用いる計算装置及び計算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62274367A (ja) * 1986-05-23 1987-11-28 Hitachi Ltd 自動論理設計システムの論理最適化方法
JPS63129645A (ja) * 1986-11-20 1988-06-02 Fujitsu Ltd 論理セルの合成方法
JPS63149767A (ja) * 1986-12-15 1988-06-22 Fujitsu Ltd 並列論理式簡単化方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62274367A (ja) * 1986-05-23 1987-11-28 Hitachi Ltd 自動論理設計システムの論理最適化方法
JPS63129645A (ja) * 1986-11-20 1988-06-02 Fujitsu Ltd 論理セルの合成方法
JPS63149767A (ja) * 1986-12-15 1988-06-22 Fujitsu Ltd 並列論理式簡単化方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012032967A (ja) * 2010-07-29 2012-02-16 Tsutomu Inamoto 2値ベクトル及び多項式を用いる計算装置及び計算方法

Also Published As

Publication number Publication date
JP2568689B2 (ja) 1997-01-08

Similar Documents

Publication Publication Date Title
WO2016082406A1 (zh) 确定语义匹配度的方法和装置
CN108399227A (zh) 自动打标签的方法、装置、计算机设备及存储介质
JPH0776906B2 (ja) 分類加速装置のための速度及びメモリー制御
US5461574A (en) Method of expressing a logic circuit
CN104603741A (zh) 在模式辨识处理系统中用于电力管理的方法及系统
JPWO2017072890A1 (ja) データ管理システム、データ管理方法およびプログラム
JPH0776909B2 (ja) 分類加速装置のデータ保全性特徴
JPH0776910B2 (ja) リバウンド分類装置を併合装置として使用する分類加速装置
JPH0310377A (ja) 論理回路生成方法
Baak et al. An efficient algorithm for keyframe-based motion retrieval in the presence of temporal deformations
Kajstura et al. Binary tree-based low power state assignment algorithm
CN106682258A (zh) 一种高层次综合工具中的多操作数加法优化方法及系统
Kacprzyk Towards ‘human-consistent’multistage decision making and control models using fuzzy sets and fuzzy logic
US20210365828A1 (en) Multi-pass system for emulating sampling of a plurality of qubits and methods for use therewith
KR20010086028A (ko) 처리 회로 및 검색 프로세서 회로
JPH0776908B2 (ja) 分類加速装置の安定分類
Allauzen et al. N-way composition of weighted finite-state transducers
Ahn et al. Common kernels and convolutions in binary-and ternary-weight neural networks
JP2009140411A (ja) 文章要約装置および文章要約方法
JP2001249921A (ja) 複合語解析方法、装置、および複合語解析プログラムを記録した記録媒体
KR102907818B1 (ko) 이진인코딩을 이용한 순위다중패턴매칭 방법 및 시스템
Ye et al. Efficient synthesis of AND/XOR networks
CN109714043B (zh) 一种宽异或电路优化方法
CN118051202A (zh) 一种三进制乘法器设计和实现方法及装置
CN118276778A (zh) 一种基于纠删码的轻节点区块链存储优化方法及系统