JPH04124775A - 論理回路の生成方法 - Google Patents

論理回路の生成方法

Info

Publication number
JPH04124775A
JPH04124775A JP2244071A JP24407190A JPH04124775A JP H04124775 A JPH04124775 A JP H04124775A JP 2244071 A JP2244071 A JP 2244071A JP 24407190 A JP24407190 A JP 24407190A JP H04124775 A JPH04124775 A JP H04124775A
Authority
JP
Japan
Prior art keywords
boolean expression
logic circuit
boolean
logic
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2244071A
Other languages
English (en)
Inventor
Kazuhiko Matsumoto
和彦 松本
Nobuyuki Hayashi
信幸 林
Kazumasa Shima
島 和正
Takao Niiya
新舎 隆夫
Yukio Ikariya
碇谷 幸夫
Hiromichi Asano
浅野 弘道
Eiichi Yabe
矢部 栄一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2244071A priority Critical patent/JPH04124775A/ja
Publication of JPH04124775A publication Critical patent/JPH04124775A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は論理回路の製造方法に係り、特に真理値表で記
述された機能論理からの論理回路の生成方法に関する。
〔従来の技術〕
近年、半導体技術の進歩に伴い、論理装置の大規模・複
雑化が伸展し、論理設計工数の低減と論理設計品質の向
上が重要な課題になっている。この課題を解決する有力
な方法の一つが論理生成であり、論理生成方法の一つに
、真理値表から論理回路を生成する多段論理生成方法が
ある。この多段論理生成方法は、真理値表の論理簡約化
(冗長な論理を削除する処理)を行って論理簡約化後の
真理値表を積和形式のブール式セットへ変換する論理簡
約化ステップと、当該ブール式セットの因子化(ブール
式間で共通なサブブール式を抽出して中間変数に置き換
える中間変数生成処理とブール式内の共通項をかっこで
くくり出す共通項生成処理)を行う因子化ステップと、
因子化したブール式セットに対してゲート割当てを行っ
て初期回路を生成する初期回路生成ステップと、この初
期回路を最適化する最適化ステップを順次行って。
真理値表から論理回路を生成する。このような多段論理
生成方法は、アイ・イー・イー・イ デザイン アンド
 テスト 第2巻第4号(1985年8月)第22頁か
ら第32頁(IEEE Desjgn &Te5t、 
vol、2.no、4.August 1985. p
p、22−32)において記載されている。
〔発明が解決しようとする課題〕
上記の多段論理生成方法は、その初期回路生成ステップ
を除く各ステップにおいて、生成する論理回路の最適化
が考慮されてはいるが、以下のような問題があった。
上記の多段論理生成方法の論理簡約化ステップは、生成
する積和形式のブール式セットの積項数最少、この条件
下でリテラル数最少を最適化の指標とする処理方法を使
用している。ここで、リテラルは変数Xに対してXとX
の二つがある。また、上記の多段論理生成方法の因子化
ステップは、因子化後のブール式セットのリテラル数最
少の最適化の指標とする処理方法を使用している。これ
らの最適化の指標は、ブール式レベルの最適化の指標と
して一般に適切ではあるが、論理回路レベルでの最適化
の指1jl(面積、遅延時間等)と完全に一致していな
いため、これらの最適化の指標を使用する処理方法は、
最適な論理回路が必ずしも生成できないという第1の問
題があった。
また、上記の多段論理生成方法は、その最適化ステップ
において、初期回路の最適化にルールベースによる局所
変換法を使用している。ここで、局所変換法は、初期回
路の部分回路をより最適な部分回路に順次置き換えて最
適化するという方法である。この方法は、その性質から
最適化能力に限界があることが知られており、最適な論
理回路が必ずしも生成できないという第2の問題があっ
た。
本発明の目的は、上記の二つの問題を解決し。
従来より最適な論理回路を生成する多段論理生成方法を
提供することにある。
〔課題を解決するための手段〕
本発明は、上記の第1の問題を解決するために、論理簡
約化ステップの処理方法を指定するパラメータと因子化
ステップの処理方法を指定するパラメータを導入し、最
適な論理回路を生成する可能性があるパラメータの組合
せをすべて選択し、各パラメータの組合せについて多段
論理生成を行い、生成した各論理回路の生成論理品質を
比較して最適な論理回路を選択する第1の手段を有する
また、本発明は、上記の第2の問題を解決するために、
従来、論理回路レベルで行われていた最適化処理をブー
ル式レベルと論理回路レベルに分け、論理回路レベルで
は、ブール式単位のマツピング(ブール式に対してゲー
ト割当てと最適化を行う処理)を行い、ブール式レベル
では、生成過程の論理回路情報を使用して、ファンアウ
ト調整(生成する論理回路の各入力端子がその許容ファ
ンアウト数を満たし、当該論理回路の各出力端子と当該
論理回路内の各ゲートの出力端子がその要求ファンアウ
ト数を満たすようにファンアウトを調整する処理)と因
子の展開(中間変数に置き換えたサブブール式を元のブ
ール式に戻す中間変数復元処理とかっこでくくり出した
共通項の元のブール式に押す共通項復元処理)を行う第
2の手段を有する。ここで、上記のマツピングは、プロ
シーディング オブ 第21回 デザイン オートメー
ション カンファレンス 1984 第322頁から第
328頁(Proc、of 21st DA Conf
、。
1984、pP、322−328) 、特願昭60−2
33299 、特願昭61−140041に記載されて
いる方法を使用している。
〔作用〕
上記の第1の手段と第2の手段は、真理値表から従来よ
り最適な論理回路の生成を可能にする。
〔実施例〕
以下、本発明の一実施例を図面により詳細に説明する。
第1図は本発明に基づく多段論理生成処理のフローチャ
ートである。この図に基づき、多段論理生成処理の処理
手順を順次説明する。
ステップ100:本ステップは、機能論理ファイル12
0から、組合せ論理を真理値表で記述した機能論理定義
データと、当該機能論理定義データから自動生成する論
理回路の面積条件、当該論理回路の入出力端子間の遅延
時間条件、当該論理回路の入出力端子の駆動条件からな
る当該論理回路の生成論理品質定義データの2種類のデ
ータからなる機能ブロック記述データを入力し、同時に
、以下のステップ102の論理簡約化の処理方法を指定
するパラメータと以下のステップ103の因子化の処理
方法を指定するパラメータの組合せを指定した実行パラ
メータセット130を入力する。
第2図は機能ブロック記述データ例と実行パラメータセ
ット例を示す。機能ブロック記述データ200は1機能
論理定義データと生成論理品質定義データからなる。機
能論理定義データは入力端子201.出力端子202.
真理値表204からなる。生成論理品質定義データは、
自動生成する論理回路の入出力端子の駆動条件として入
力端子の許容ファンアウト数と出力端子の要求ファンア
ウト数を用いており、入出力端子の駆動条件2゜3は各
入力端子の許容ファンアウト数が2で、各出力端子の要
求ファンアウト数が1であることを示し、当該論理回路
の面積条件としてゲート数を用いており、面積条件20
5は生成されるゲート数が2ゲート以下であることを示
し、当該論理回路の入出力端子間の遅延時間条件として
ゲート段数を用いており、遅延時間条件206は各入出
力端子間のゲート段数が5段以下であることを示す。
また、実行パラメータセット2〕0は2紹の実行パラメ
ータからなる。第1の組の実行パラメータの論理簡約化
方法を指定するパラメータは、第1パラメータ(論理簡
約化の処理即位に関して、真理値表の出力変数全体で論
理簡約化を行う方法と真理値表の出力変数単位で論理簡
約化を行う方法のいすhかを選択するパラメータ)が1
、すなわち、真理値表の出力変数単位で論理簡約化を行
う方法を指定し、第2パラメータ(真理値表の出力変数
の選択に関して、各出力変数について、当該上わ変数が
0になる積項の数と当該出力変数が1になる積項の数を
比較し、前者が後者以上ならば、当該出力変数の極性と
して1)極を選択し、そうでなけitば、当該出力変数
の極性としてN極を選択する方法と、各出力変数の極性
として無条件にP榛を選択する方法のいずれかを選択す
るパラメータ)が1.すなわち、各出力変数の極性とし
7て無条件にP極を選択する方法を指定している。また
、第1の組の実行パラメータの因子化方法を指定するパ
ラメータは、第1パラメータ(中間変数生成処理におけ
るサブブール式の抽出に関し、て、リテラル(変数Xに
対してリテラルはXとXの二つが存在)を2個以上含む
サブブール式を抽出する方法とリテラルを3個以上含む
サブブール式を抽出する方法のいずれかを選択するパラ
メータ)がO5すなわち、リテラルを2個以北含むサブ
ブール式を抽出する方法を指定し、第2パラメータ(共
通項生成処理における共通項の抽出に関して、リテラル
を1個以上含む共通項を抽出する方法とリテラルを2個
以上含む共通項を抽出する方法のいずれかを選択するパ
ラメータ)がOlすなわち、リテラルを]個以上含む共
通項を抽出する方法を指定し、第3パラメータ(中間変
数生成処理と共通項生成処理の順序に関して、因子化前
の積和形式のブール式セット(第3ブール式セット)に
対して中間変数生成処理を行って第4ブール式セットを
生成し、第4ブール式セットに対して共通項生成処理を
行って第5ブール式セットを生成し、第5ブール式セッ
トに対して中間変数生成処理を行う方法と、第3ブール
式セットに対して共通項生成処理を行って第6ブール式
セットを生成し、第6ブール式セットに対して中間変数
生成処理を行う方法のいずれかを選択するパラメータ)
が1、すなわち、因子化前の積和形式のブール式セット
(第3ブール式セット)に対しと共通項生成処理を行っ
て第6ブール式セットを生成し、第6ブール式セットに
対して中間変数生成処理を行う方法を指定している。一
方、第2の組の実行パラメータの論理簡約化方法を指定
するパラメータは、第1パラメータが]、すなわち、真
理値表の出力変数単位で論理簡約化を行う方法を指定し
、第2パラメータが1、すなわち、各出力変数の極性と
して無条件にP極を選択する方法を指定している。
また、第2の組の実行パラメータの因子化方法を指定す
るパラメータは、第1パラメータが1、すなわち、リテ
ラルを3個以上含むサブブール式を抽出する方法を指定
し、第2パラメータがO5すなわち、リテラルを1個以
上含む共通項製抽出する方法を指定し、第3パラメータ
が1、すなわち。
因子化前の積和形式のブール式セット(第3ブール式セ
ット)に対して共通項生成処理を行って第6ブール式セ
ットを生成し、第6ブール式セットに対して中間変数生
成処理を行う方法に指定している。本実施例では、実行
パラメータは2M1指定されているので、以下のステッ
プ111で使用する実行パラメータ数NはN=2である
ステップ101:本ステップは、実行パラメータを選択
する制御変数1を1に初期設定する。
ステップ102 (1=1.1回目):本ステップは、
ステップ100で入力した真理値表の論理簡約化(冗長
な論理を削除する処理)を行い、論理簡約化後の真理値
表を積和形式のブール式セットに変換する。本ステップ
では、I=1であるので、第1の組の実行パラメータの
論理簡約化方法を指定するパラメータに従って論理簡約
化を行う。
すなわち、真理値表の出力変数単位で論理簡約化を行い
、また、各出力変数の極性として無条件にP極を選択す
る。ここで、論理簡約化は、変換されるブール式セット
の積項数最少、この条件下でリテラル数最少になるよう
に行う。
第3図は真理値表204の論理簡約化結果を示す。この
図において、真理値表300は論理簡約化後の真理値表
を示し、ブール式セット301は当該真理値表を積和形
式のブール式セット(第3ブール式セット)に変換した
結果を示す。
ステップ103 (1=1.1回目):本ステップは、
ステップ102 (I=1.1回目)で得られたブール
式セット(第3ブール式セット)に対して因子化(ブー
ル式間で共通なサブブール式を抽出して中間変数に置き
換える中間変数生成処理をブール式内の共通項を抽出し
てかっこでくくり出す共通項生成処理)を行う。本ステ
ップでは、I=1であるので、第1の組の実行パラメー
タの因子化方法を指定するパラメータに従って因子化を
行う。すなわち、中間変数生成処理におけるサブブール
式の抽出は、リテラルを2個以上含むサブブール式を抽
出し、共通項生成処理における共通項の抽出は、リテラ
ルを1個以上含む共通項を抽出し、中間変数生成処理と
共通項生成処理の順序は、因子化前の積和形式のブール
式セット(第3ブール式セット)に対して共通項生成処
理を行って第6ブール式セットを生成し、第6ブール式
セットに対して中間変数生成処理を行う。
第4図は共通項生成結果を示す、ブール式セット400
は、ブール式セット(第3ブール式セット)301にお
いて、出力変数Xのブール式からリテラルを1個以上含
む共通項A+B、EF、Aを順に選択してかっこでくく
り出し、出力変数Yのブール式からリテラルを1個以上
含む共通項A+B、EFを順に選択してかっこでくくり
出した結果(第6ブール式セット)を示す。
第5図は中間変数生成結果を示す。ブール式セット50
0は、ブール式セット400において出力変数Xのブー
ル式と出力変数Yのブール式に共通な、リテラルを2個
以上含むサブブール式S:A+B、T=EFを抽出して
中間変数に置き換えた結果を示す。
ステップ104 (I=1.1回目)二本ステップは、
ステップ103 (I=1.1回目)で因子化したブー
ル式セット(第1ブール式セット)の各ブール式につい
て、当該ブール式に対してゲート割当てを行ってブール
式単位のサブ論理回路を生成する。具体的には1本ステ
ップは、当該ブール式の出力変数の極性としてP極を選
択した場合とN極を選択した場合の両方について当該ブ
ール式に対してゲート割当てを行って二つのブール式単
位のサブ論理回路を生成し、各サブ論理回路の生成ゲー
ト数、当該ブール式の出力変数から当該ブール式の各入
力変数までのゲート段数、当該ブール式の各入力変数の
要求極性(P極またはN極)を求める。ここで、ブール
式に対するゲート割当ては、ゲートテーブル122を用
いて、生成されるサブ論理回路がゲート段数最少、この
条件下でゲート数最少になるように行う。
第6図はゲートテーブル例を示す、ゲートテーブル60
0・は各ゲートの論理機能、ゲート数、ゲート段数、出
力端子の許容ファンアウト数を記述したテーブルであり
、各回路系ごとに用意されている。
第7図はブール式セット(第1ブール式セット)500
の各ブール式に対するサブ論理回路生成結果を示す、サ
ブ論理回路生成結果700において、出力変数Xのブー
ル式に対するサブ論理回路生成結果を説明する。出力変
数Xの極性としてP極を選択した場合のサブ論理回路生
成結果701は。
生成ゲート数が7、出力変数がXから入力変数A。
B、C,D、G、S、Tまでのゲート段数が順に4.5
,3.5 (3と5の二つが存在するが、大きいものを
選択)、2,2,4、最出力側ゲートの許容ファンアウ
ト数が2、入力変数A、B、C。
D、G、S、Tの要求極性が順にN極、N極、P極、P
/N極、N極、N極、P極である。一方、出力変数Xの
極性としてN極を選択した場合のサブ論理回路生成結果
702は、生成ゲート数が7、出力変数Xから入力変数
A、B、C,D、G、S。
Tまでのゲート段数が順に4.5,3.5 (3と5の
二つが存在するが、大きいものを選択)、22,4、最
出力側ゲートの許容ファンアウト数が2、入力変数A、
B、C,D、G、S、Tの要求極性が順にP極、P極、
N極、P/N極、P極。
P極、N極である。
出力変数Y、S、Tの各ブール式に対するサブ論理回路
生成結果も上記と同様にして求める。
ステップ105 (I=1.1回目):本ステップは、
ステップ104 (I=1.1回目)で得られたサブ論
理回路生成結果を用いてファンアウト調整を行う、具体
的には、本ステップは、生成される論理回路の各入力端
子がその許容ファンアウト数を満たし、当該論理回路の
各出力端子と各ブール式の出力変数に対応するサブ論理
回路の最出力側ゲートの出力端子がその要求ファンアウ
ト数を満たし、当該論理回路の入出力端子間のゲート段
数の最大値の増分が最少になり、この条件下で当該論理
回路の生成ゲート数の増分が最少になるようにファンア
ウト調整用のブール式セットを生成し、第1ブール式セ
ットに追加して第2ブール式セットとする。
本実施例では、ファンアウト調整は、ファンアウト調整
用のアンプゲート(入力極性がP極、出力極性がN極、
許容ファンアウト数が3)を用いて行う0機能ブロック
記述データ200とサブ論理回路生成結果700に基づ
き、ブール式セット(第1ブール式セット>500のフ
ァンアウト調整方法を説明する。まず、出力変数(出力
端子)X、Yの極性はいずれもP極である。このとき、
出力変数Sの要求極性はN極であるので、出力変数Sの
極性としてN極を選択する。また、出力変数子の要求極
性はP/N極で、出力変数Tのブール式の入力変数(入
力端子)E、Fの極性はいずれもP極である。このとき
、出力変数Tの要求極性としてP極を選択すると、出力
変数Tと入力変数E、Fの極性合わせアンプゲートが3
個必要になり、出力変数Tの要求極性としてN極を選択
すると、出力変数子の極性合わせアンプゲートが]−個
必要になる。そこで、挿入するアンプゲートの個数を最
少にするために、出力変数Tの極性としてN極を選択す
る1次に、入力変数(入力端子)Aのファンアウト調整
を行なう、入力変数Aの極性はP極で、許容ファンアウ
ト数は2で、P極の要求ファンアウト数は2で、N極の
要求ファンアウト数は1である。そこで、入力変数Aに
第1アンプゲート裂挿入して第1アンプゲートの出力か
らN極のファンアウトを1本取り、第1アンプゲートの
出力に第2アンプゲートを挿入して第2アンプゲートの
出力からP極のファンアウトを2本取るという方法でフ
ァンアウト調整を行ない、第1アンプゲートと第2アン
プゲートを生成するためのブール式を生成する0次に、
入力変数(入力端子)B、C,Dと中間変数Tの各々に
ついて、同様にしてファンアウト*aを行い、ファンア
ウト調整用のブール式を生成する。ここで、入力変数(
入力端子)E、F、Gと中間変数Sの各々ファンアウト
条件を満たしているので、ファンアウト調整は不要であ
る。最後に、生成したファンアウト調整用のブール式セ
ットを第1ブール式セットに追加して第2ブール式セッ
トとする。
第8図はブール式セット(第1ブール式セット)500
のファンアウト調整結果を示す。ファンアウト調整後の
ブール式セット(第2ブール式セット)800において
、ブール式セット801はファンアウト調整用のブール
式セットを示す。
ステップ106 (I=1.1回目):本ステップは、
ステップ105 (I=1.1回目)で得られたファン
アウト調整後のブール式セット(第2ブール式セット)
の各ブール式に対してゲート割当てを行って論理回路を
生成する。ここで、ブール式に対するゲート割当ては、
ステップ104のサブ論理回路生成と同様に、ゲートテ
ーブル122を用いて、生成されるサブ論理回路がゲー
ト段数最少、この条件下でゲート数最少になるように行
う。
第9図はブール式セット(第2ブール式セット)800
の論理回路生成結果を示す。論理回路生成結果900に
おいて、ファンアウト調整用のアンプゲート901はブ
ール式セット801のアンプゲート生成結果を示す。
ステップ107 (I=1.1回目)二本ステップは、
ステップ106 (I=1.1回目)で得られた論理回
路の生成論理品質評価を行う、ここで、評価項目は、当
該論理回路の生成ゲート数と当該論理回路の各入出力端
子間のゲート段数である。
第10図は論理回路生成結果90 ’Oの生成論理品質
評価結果を示す。
ステップ1’08(I=1.1回目):本ステップは、
ステップ107 (I=1.1回目)で得られた生成論
理品質評価結果と、機能ブロック記述データ内の生成ゲ
ート数条件とゲート段数条件を比較し、当該生成論理品
質がこれらの制約条件を満足して′いるか否かを判定し
、満足していればステップ110へ分岐し、そうでなけ
ればステップ109へ進む。
生成論理品質評価表1o○0の評価結果は以下のとおり
−である。生成ゲート数は23で、生成ゲート数条件2
05で指定された24以下を満足している。しかし、ゲ
ート段数は6で、ゲート段数条件206で指定された5
以下を満足していない。
ここで、ゲート段数が6の入出力端子間のパスはX−B
、X−Dである。したがって、ステップ109へ進む。
ステップ109 (I=1.1回目)二本ステップは、
ステップ103 (I=1.1回目)で得られた因子化
後のブール式セット(第1ブール式セット)に対して因
子の展開(中間変数に置き換えたサブブール式を元のブ
ール式に戻す中間変数復元処理と、かっこでくくり出し
た共通項を元のブール式に戻す共通項復元処理)を行う
。具体的には、本ステップは、ゲート段数条件を満たさ
ない各入力端子間のパスについて、当該パスを構成して
いるブール式セットを第1ブール式セットから検索し、
検索したブール式セットにおいて因子の展開が可能な最
出力側のブール式から順にブール式を一つ選択し、選択
したブール式において、最出力側から共通項復元処理、
中間変数復元処理のいずれかを1回行い、第1ブール式
セットにおいて因子の展開を行った結果を第1ブール式
セットとする。
生成論理品質評価表1000において、ゲート段数条件
を満たさない入出力端子間のパスはX−BとX−Dであ
り、ブール式セット(第1ブール式セット)500にお
いて、これらのパスを構成しているブール式セットはい
ずれも出力変数X。
S、Tのブール式である。そこで、出力変数Xのブール
式を選択し、当該ブール式の共通項Tについで共通項復
元処理を行い、その結果を第1ブール式セットとする。
第11図は因子の展開後のブール式セット(第1ブール
式セット)を示す、因子の展開後のブール式セット(第
1ブール式セット)1100において、ブール式110
1は出力変数Xのブール式に対して因子の展開(共通項
Tの復元)を行った結果を示す。
ステップ104 (I=1.2回目)二本ステップは、
ステップ109で得られたブール式セット(第1ブール
式セット)の各ブール式について、当該ブール式に対し
てゲート割当てを行ってブール式単位のサブ論理回路を
生成する。
第12図はブール式セット(第1ブール式セット)11
00の各ブール式に対するサブ論理回路生成結果を示す
。サブ論理回路生成結果1200において、出力変数X
のブール式に対するサブ論理回路生成結果を説明する。
出力変数Xの極性としてP極を選択した場合のサブ論理
回路生成結果1201は、生成ゲート数が8、出力変数
Xから入力変数p、、B、 C,D、a、S、Tまでの
ゲート段数が順に2.3,3,3,2,3,2.最出力
側ゲートの許容ファンアウト数が2、入力変数A、B、
C,D、G、S、Tの要求極性が順にN極、N極、P極
、P/N極、P極、P極、P極である。一方、出力変数
Xの極性としてN極を選択した場合のサブ論理回路生成
結果1202は、生成ゲート数が8、出力変数Xから入
力変数A−,B。
C,D、G、S、Tまでのゲート段数が順に2゜3.3
,3,2,3,2、最出力側ゲートの許容ファンアウト
数が2、入力変数A、B、CL o。
G、S、Tの要求極性が順にP極、P極、N極。
P/N極、N極、N極、N極である。なお、第12図に
おいて、出力変数Y、S、Tの各ブール式に対するサブ
論理回路生成結果は、第7図に示す結果と同一であるの
で省略する。
ステップ105 (I=1.2回目):本ステップは、
ステップ104 (I=1.2回目)で得られたサブ論
理回路生成結果を用いてファンアウト調整を行う。
第13図はブール式セット(第1ブール式セット) 、
1100のファンアウト調整結果を示す。ファンアウト
調整後のブール式セット(第2ブール式セット)130
0において、ブール式セット1301はファンアウト調
整用のブール式セットを示す。
ステップ106 (I=1.2回目)二本ステップは、
ステップ105 (I=1.2回目)で得られたファン
アウト調整後のブール式セット(第2ブール式セット)
の各ブール式に対してゲート割当てを行って論理回路を
生成する。
第14図はブール式セット(第2ブール式セッ)−)1
.300の論理回路生成結果を示す。論理回路生成結果
1400において、ファンアウト調整用のアンプゲート
1401はブール式セット1301のアンプゲート生成
結果を示す。
ステップ107 (I=1.2回目)二本ステップは、
ステップ106 (1=1.2回目)で得られた論理回
路の生成論理品質評価を行う。
第15図は論理回路生成結果1400の生成論理品質評
価結果を示す。
ステップ1.08(I=1.2回目)二本ステップは、
ステップ107 (I=1.2回目)で得られた生成論
理品質評価結果と、機能ブロック記述データ内の生成ゲ
ート数条件とゲート段数条件を比較し、当該生成論理品
質がこれらの制約条件を満足しているか否かを判定し、
満足していればステップ110へ分岐し、そうでなけれ
ばステップ109へ進む。
生成論理品質評価表1500の評価結果は以下のとおり
である。生成ゲート数は24で、生成ゲート数条件20
5で指定さ九た24以下を満足している。また、ゲート
段数は5で、ゲート段数条件206で指定された5以下
を満足している。したがってステップ110へ分岐する
ステップ110 (I=1)8本ステップは、ステップ
106 (I=1.2回目)で生成した論理回路を出力
する。
ステップ111 (I=1):本ステップは、実行パラ
メータ髪選択する制御変数1と実行パラメータの総数N
を比較し、I<Nならばステップ1】2へ進み、そうで
なければステップ113へ分岐する。本実施例では、N
=2で、I=1<N=2であるので、ステップ】12へ
進む。
ステップ112(I=1.):本ステップは、実行パラ
メータを選択する制御変数■に1を加算する。その結果
、I=2となる。
ステップ102 (I=2):本ステップは、ステップ
100で入力した真理値表の論理簡約化を行い、論理簡
約化後の真理値表を積和形式のブール式セットに変換す
る。本ステップでは、I=2であるので、第2の組の実
行パラメータの論理簡約化方法を指定するパラメータに
従って論理簡約化を行う。すなわち、真理値表の出力変
数単位で論理簡約化を行い、また、各出力変数の極性と
して無条件にP極を選択する。これはI=1の場合と同
一であるので、真理値表204の論理簡約化結果は第3
図と同一である。
ステップ103 (I=2):本ステップは、ステップ
102 (I=2)で得られたブール式セット(第3ブ
ール式セット)に対して因子化を行う。
本ステップでは、■=2であるので、第2の組の実行パ
ラメータの因子化方法を指定するパラメータに従って因
子化を行う。すなわち、中間変数生成処理におけるサブ
ブール式の抽出は、リテラルを3個以上含むサブブール
式を抽出し、共通項生成処理における共通項の抽出は、
リテラルを1個以上含む共通項を抽出し、中間変数生成
処理と共通項生成処理の順序は、因子化前の積和形式の
ブール式セット(第3ブール式セット)に対して共通項
生成処理を行って第6ブール式セットを生成し、第6ブ
ール式セットに対して中間変数生成処理を行う。
共通項生成結果は第4図と同一である。
第16図は中間変数生成結果を示す、ブール式セット4
00において出力変数Xのブール式と出力変数Yのブー
ル式に共通な、リテラルを3個以上含むサブブール式は
存在しないため、中間変数は生成しない。その結果、中
間変数生成後のブール式セット(第1ブール式セット)
1600はブール式セット400と同一になる。
ステップ104 (I=2):本ステップは、ステップ
103 (I=2)で因子化したブール式セット(第1
ブール式セット)の各ブール式について、当該ブール式
に対してゲート割当てを行ってブール式単位のサブ論理
回路を生成する。
第17図はブール式セット(第1ブール式セット)16
0oの各ブール式に対するサブ論理回路生成結果を示す
。サブ論理回路生成結果1700において、出力変数X
のブール式に対するサブ論理回路生成結果を説明する。
出力変数Xの極性としてP極を選択した場合のサブ論理
回路生成結果1701は、生成ゲート数が8.5、出力
変数Xから入力変数A、B、C,D、E、F、Gまでの
ゲート段数が順に4(3と4の二つが存在するが、大き
いものを選択)=5(3と5の二つが存在するが、大き
いものを選択)、3.5(3と5の二つが存在するが、
大きいものを選択)、2,2゜4、最出力側ゲートの許
容ファンアウト数が2゜入力変数A、B、C,D、E、
F、Gの要求極性が順にP極、P/N極、P極、P極、
P極、P極。
N極である。一方、出力変数Xの極性としてN極を選択
した場合のサブ論理回路生成結果17o2は、生成ゲー
ト数が8.5 、出力変数Xから入力変数A、B、C,
D、E、F、Gまでのゲート段数が順に4(3と4の二
つが存在するが、大きいものを選択)、5(3と5の二
つが存在するが、太きいものを選択)、3.5(3と5
の二つが存在するが、大きいものを選択)、2,2,4
、最出力側ゲートの許容ファンアウト数が2、入力変数
A、B、C,D、E、F、Gの要求極性が順にN極、P
/N極、N極、N極、N極、N極、P極である。
出力変数Yのブール式に対するサブ論理回路生成結果も
上記と同様にして求める。
ステップ105 (I=2):本ステップは、ステップ
104 (1=2)で得られたサブ論理回路生成結果を
用いてファンアウト調整を行う。
第18図はブール式セット(第1ブール式セット)16
00のファンアウト調整結果を示す。ファンアウト調整
後のブール式セット(第2ブール式セット)1800に
おいて、ブール式セット1801はファンアウト調整用
のブール式セットを示す。
ステップ106 (I=2):本ステップは、ステップ
105 (I=2)で得られたファンアウト調整後のブ
ール式セット(第2ブール式セット)の各ブール式に対
してゲート割当てを行って論−理回路を生成する。
第19図はブール式セット(第2ブール式セット)18
00の論理回路生成結果を示す。論理回路生成結果19
00において、ファンアウト調整用のアンプゲート19
o1は、ブール式セット1801のアンプゲート生成結
果を示す。
ステップ107 (I=2):本ステップは、ステップ
106 (I=2)で得られた論理回路の生成論理品質
評価を行う。
第20図は論理回路生成結果1900の生成論理品質評
価結果を示す。
ステップ108 (I=2):本ステップは、ステップ
107 (I=2)で得られた生成論理品質評価結果と
、機能ブロック記述データ内の生成ゲート数条件とゲー
ト段数条件を比較し、当該生成論理品質がこれらの制約
条件を満足しているか否かを判定し、満足していればス
テップ110へ分岐し、そうでなければステップ109
へ進む。
生成論理品質評価表2000の評価結果は以下のとおり
である。生成ゲート数は23で、生成ゲート数条件20
5で指定された24以下を満足している。また、ゲート
段数は5で、ゲート段数条件206で指定された5以下
を満足している。したがって、ステップ110へ分岐す
る。
ステップ110 (I=2):本ステップは、ステップ
106(I=2.)で生成した論理回路を出力する。
ステップ111  (1=2):本ステップは、実行パ
ラメータを選択する制御変数1と実行パラメータの総数
Nを比較し、I<Nならばステップ】12へ進み、そう
でなければステップ113へ分岐する。本実施例では、
N=2で、I=N=2であるので、ステップ]13八分
岐する。
ステップ113:本ステップは、各実行パラメータにつ
いて生成した論理回路の生成論理品質を比較し、生成論
理品質条件を満たす論理回路の内で生成ゲート数最少の
論理回路を選択して出力する。
本実施例では、第1の組の実行パラメータについて生成
しまた第1論理回路(■=]の場合)の生成論理品質は
ゲート数が24.ゲート段数が5であり、第2の組の実
行パラメータについて生成した第2論理回路(■=2の
場合)の生成論理品質はゲート数が23、ゲート段数が
5である。いずれの論理回路も生成ゲート数条件205
で指定された24以下とゲート段数条件206で指定さ
れた5以下を満足しており、第2論理回路が第1論理回
路よりゲート数が少ない。そこひ、第2論理回路を選択
し、論理回路ファイル121に出力する。
本実施例によれば、機能論理定義データで定義された真
理値表から、生成論理品質定義データで定義さ九た生成
論理品質条件を満たす論理回路を生成することが可能で
ある。
〔発明の効果〕
本発明によれば、論理簡約化の処理方法及び因子化の処
理方法を指定するパラメータを導入し、最適な論理回路
を生成する可能性があるパラメータの組合せをすべて選
択し、各パラメータの組合せについて多段論理生成を行
い、生成しまた名論理回路の生成論理品質を比較し2て
最適な論理回路を選択する方法により、従来より最適な
論理回路の生成がn1能である。
【図面の簡単な説明】
第1図は本発明に基づく多段論理生成処理のフローチャ
ート、第2図は機能ブロック記述データと実行パラメー
タセットの説明図、第3図乃至第20図は多段論理生成
処理の説明図である。 100−113・・・多段論理生成処理ステップ、12
0−121 ・・論理ファイル、122・・ゲートη 図 Y 番 図 1 Y・(A寸百)(Cf心)すEF(Aすり    
   IL−−一−−−++   −−J 40ρ 8k”# ’Fk ft4’7−ル4セツ)(’%11
’lkA セット)遁 図 50θ すrt+室1ぐl1Nf釘−フ′−ル式でット(斎17
゛−ル八セフトン員 図 1θθ ケ゛−トテーブ゛ル ■ 第 Y ・ S (C,・02) fTr (To +CI)拓 囚 覧’、’、 ’=’弯4タア/1”1’−。 箒 /θ 圀 生成グ°−ト叡X 23 //// 所≧理品V坊硅 充 II 図 /2ρ0 中rr1$1文t6f灸47゛−ル入七ット(う6“1
ブーlレヘセツト)■ 図 貞 図 tla’ Eh L *1111 EIP)14σl 
マずン7ウト8i11I/1中司アン1゛ヂート第 図 156θ 生A、%イ理品V評イdD表 ■ /7 (4*C+ m− 」 し ■ /q 回 」

Claims (1)

  1. 【特許請求の範囲】 1、計算機を使用する論理装置の論理設計自動化システ
    ムにおいて、組合せ論理を真理値表で記述した機能論理
    定義データと、当該機能論理定義データから自動生成す
    る論理回路の面積条件、当該論理回路の入出力端子間の
    遅延時間条件、当該論理回路の入出力端子の駆動条件か
    らなる当該論理回路の生成論理品質定義データと、以下
    の第2ステップの処理方法を指定するパラメータと以下
    の第3ステップの処理方法を指定するパラメータの組合
    せを指定した実行パラメータセットを入力する第1ステ
    ップを行い、指定された各実行パラメータについて、当
    該真理値表の論理簡約化(冗長な論理を削除する処理)
    を行って論理簡約化後の真理値表を積和形式のブール式
    セットへ変換する第2ステップと、当該ブール式セット
    の因子化(ブール式間で共通なサブブール式を抽出して
    中間変数に置き換える中間変数生成処理とブール式内の
    共通項を抽出してかっこでくくり出す共通項生成処理)
    を行う第3ステップと、因子化したブール式セットに対
    してゲート割当てを行って論理回路を生成する第4ステ
    ップを順次行い、各実行パラメータについて生成した論
    理回路の生成論理品質を比較して当該生成論理品質条件
    を満たす論理回路の内で面積最少の論理回路を選択する
    第5ステップを行うことを特徴とする論理回路の生成方
    法。 2、特許請求の範囲第1項において、その生成論理品質
    定義データは、当該論理回路の面積条件として生成ゲー
    ト数を用い、当該論理回路の入出力端子間の遅延時間条
    件としてゲート段数を用い、当該論理回路の入出力端子
    の駆動条件として入力端子の許容ファンアウト数と出力
    端子の要求ファンアウト数を用いる論理回路の生成方法
    。 3、特許請求の範囲第1項において、その第4ステップ
    は、因子化したブール式セット(第1ブール式セット)
    の各ブール式について、当該ブール式に対してゲート割
    当てを行ってブール式単位のサブ論理回路を生成し、当
    該サブ論理回路の生成ゲート数、当該ブール式の出力変
    数から当該ブール式の各入力変数までのゲート段数、当
    該ブール式の各入力変数の要求極性(P極またはN極)
    を出力する第1ステップと、第1ステップで得られた出
    力情報を使用して、当該論理回路の各入力端子がその許
    容ファンアウト数を満たし、当該論理回路の各出力端子
    と各ブール式の出力変数に対応するサブ論理回路の最出
    力側ゲートの出力端子がその要求ファンアウト数を満た
    すようにファンアウト調整用のブール式セットを生成し
    、第1ブール式セットに追加して第2ブール式セットと
    する第2ステップと、第2ブール式セットの各ブール式
    に対してゲート割当てを行って論理回路を生成する第3
    ステップと、生成した論理回路の生成ゲート数と当該論
    理回路の入出力端子間のゲート段数が当該生成論理品質
    条件を満たすか否かを判定する第4ステップを順次行い
    、当該判定結果が当該生成論理品質条件を満たすならば
    、第3ステップで生成した論理回路を出力する第5ステ
    ップを行い、当該判定結果がゲート数条件を満たし、ゲ
    ート段数条件を満たさないならば、ゲート段数条件を満
    たさない各入出力端子間のパスについて、当該パスを構
    成しているブール式セットを第1ブール式セットから検
    索し、検索したブール式セットから因子の展開(中間変
    数に置き換えたサブブール式を元のブール式に戻す中間
    変数復元処理とかっこでくくり出した共通項を元のブー
    ル式に戻す共通項復元処理)が可能なブール式を一つ選
    択して因子の展開を1回行い、第1ブール式セットにお
    いて因子の展開を行った結果を第1ブール式セットとす
    る第6ステップを行い、第4ステップの判定結果が当該
    生成論理品質条件を満たすようになるまで、第1ステッ
    プから第4ステップまでと第6ステップを繰り返し行う
    論理回路の生成方法。 4、特許請求の範囲第1項において、その第2ステップ
    の処理方法を指定するパラメータは、論理簡約化の処理
    単位に関して、真理値表の出力変数全体で論理簡約化を
    行う方法と真理値表の出力変数単位で論理簡約化を行う
    方法のいずれかを選択する第1パラメータと、真理値表
    の出力変数の極性の選択に関して、各出力変数について
    、当該出力変数が0になる積項の数と当該出力変数が1
    になる積項の数を比較し、前者が後者以上ならば、当該
    出力変数の極性としてP極を選択し、そうでなければ、
    当該出力変数の極性としてN極を選択する方法と、各出
    力変数の極性として無条件にP極を選択する方法のいず
    れかを選択する第2パラメータからなり、第1パラメー
    タと第2パラメータの組合せを変えた任意の個数の指定
    が可能な論理回路の生成方法。 5、特許請求の範囲第1項において、その第3ステップ
    の処理方法を指定するパラメータは、中間変数生成処理
    におけるサブブール式の抽出に関して、リテラル(変数
    Xに対してリテラルはXと@X@の二つが存在)を2個
    以上含むサブブール式を抽出する方法とリテラルを3個
    以上含むサブブール式を抽出する方法のいずれかを選択
    する第1パラメータと、共通項生成処理における共通項
    の抽出に関して、リテラルを1個以上含む共通項を抽出
    する方法とリテラルを2個以上含む共通項を抽出する方
    法のいずれかを選択する第2パラメータと、中間変数生
    成処理と共通項生成処理の順序に関して、因子化前の積
    和形式のブール式セット(第3ブール式セット)に対し
    て中間変数生成処理を行って第4ブール式セットを生成
    し、第4ブール式セットに対して共通項生成処理を行っ
    て第5ブール式セットを生成し、第5ブール式セットに
    対して中間変数生成処理を行う方法と、第3ブール式セ
    ットに対して共通項生成処理を行って第6ブール式セッ
    トを生成し、第6ブール式セットに対して中間変数生成
    処理を行う方法のいずれかを選択する第3パラメータか
    らなり、第1パラメータから第3パラメータまでの組合
    せを変えた任意の個数の指定が可能な論理回路の生成方
    法。 6、特許請求の範囲第3項において、その第1ステップ
    は、第1ブール式セットの各ブール式について、当該ブ
    ール式の出力変数の極性としてP極を選択した場合とN
    極を選択した場合の両方について当該ブール式に対して
    ゲート割当てを行って二つのブール式単位のサブ論理回
    路を生成し、各サブ論理回路の生成ゲート数、当該ブー
    ル式の出力変数から当該ブール式の各入力変数までのゲ
    ート段数、当該ブール式の各入力変数の要求極性(P極
    またはN極)を出力する論理回路の生成方法。 7、特許請求の範囲第3項において、その第2ステップ
    は、その第1ステップで得られた出力情報を使用して、
    当該論理回路の各入力端子がその許容ファンアウト数を
    満たし、当該論理回路の各出力端子と各ブール式の出力
    変数に対応するサブ論理回路の最出力側ゲートの出力端
    子がその要求ファンアウト数を満たし、当該論理回路の
    入出力端子間のゲート段数の最大値の増分が最少になり
    、この条件下で当該論理回路の生成ゲート数の増分が最
    少になるようにファンアウト調整用のブール式セットを
    生成し、第1ブール式セットに追加して第2ブール式セ
    ットとする論理回路の生成方法。 8、特許請求の範囲第3項において、その第6ステップ
    は、ゲート段数条件を満たさない各入力端子間のパスに
    ついて、当該パスを構成しているブール式セットを第1
    ブール式セットから検索し、検索したブール式セットに
    おいて因子の展開が可能な最出力側のブール式から順に
    ブール式を一つ選択し、選択したブール式において、最
    出力側から共通項復元処理、中間変数復元処理のいずれ
    かを1回行い、第1ブール式セットにおいて因子の展開
    を行った結果を第1ブール式セットとする論理回路の生
    成方法。
JP2244071A 1990-09-17 1990-09-17 論理回路の生成方法 Pending JPH04124775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2244071A JPH04124775A (ja) 1990-09-17 1990-09-17 論理回路の生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2244071A JPH04124775A (ja) 1990-09-17 1990-09-17 論理回路の生成方法

Publications (1)

Publication Number Publication Date
JPH04124775A true JPH04124775A (ja) 1992-04-24

Family

ID=17113303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2244071A Pending JPH04124775A (ja) 1990-09-17 1990-09-17 論理回路の生成方法

Country Status (1)

Country Link
JP (1) JPH04124775A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8177573B2 (en) 2009-03-05 2012-05-15 Yazaki Corporation Waterproof plug and wiring harness having the same
JP2020149270A (ja) * 2019-03-13 2020-09-17 東芝情報システム株式会社 回路適正化装置及び回路適正化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8177573B2 (en) 2009-03-05 2012-05-15 Yazaki Corporation Waterproof plug and wiring harness having the same
JP2020149270A (ja) * 2019-03-13 2020-09-17 東芝情報システム株式会社 回路適正化装置及び回路適正化方法

Similar Documents

Publication Publication Date Title
Devadas et al. Exact algorithms for output encoding, state assignment, and four-level boolean minimization
US4882690A (en) Incremental logic synthesis method
US5493504A (en) System and method for processing logic function and fault diagnosis using binary tree representation
US20160299998A1 (en) Logic circuit generation device and method
Ciesielski et al. PLADE: A two-stage PLA decomposition
Possani et al. Optimizing transistor networks using a graph-based technique
Łuba et al. Rough sets and some aspects of logic synthesis
JPH04124775A (ja) 論理回路の生成方法
Aoki et al. Evolutionary synthesis of arithmetic circuit structures
CN113255257B (zh) 基于工艺库的s盒电路的优化方法及系统
JP2568689B2 (ja) 論理回路生成方法
JPH0635991A (ja) 論理回路の生成方法
Macchiarulo et al. Wave Steered FSMs
JPH06149927A (ja) 積和形論理式の処理方法
Vijayakumari et al. A GA based simple and efficient technique to design combinational logic circuits using universal logic modules
JPH08153129A (ja) 再利用容易化装置
JP3234124B2 (ja) エンジニアリングチェンジ用論理合成方法及び装置
US7103868B2 (en) Optimizing depths of circuits for Boolean functions
JPH1021286A (ja) 回路規模見積もり方法
Lukac et al. Synthesis of quantum arrays from Kronecker functional lattice diagrams
Liao et al. Improved Depth-Aware Circuit Partitioning for Mixed Logic Synthesis
JPH0997281A (ja) パストランジスタ論理設計方法
Díaz-Olavarrieta et al. Goal-oriented decomposition of switching functions
JPH04112270A (ja) 2分決定グラフの簡単化方法
EP0413831A1 (en) Method of representing logic circuit