JPH04263367A - 論理回路自動合成装置 - Google Patents
論理回路自動合成装置Info
- Publication number
- JPH04263367A JPH04263367A JP3023245A JP2324591A JPH04263367A JP H04263367 A JPH04263367 A JP H04263367A JP 3023245 A JP3023245 A JP 3023245A JP 2324591 A JP2324591 A JP 2324591A JP H04263367 A JPH04263367 A JP H04263367A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- description
- logic circuit
- logical
- delay
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は論理回路の論理記述か
ら、論理回路の接続記述を自動合成する論理回路自動合
成装置に関する。
ら、論理回路の接続記述を自動合成する論理回路自動合
成装置に関する。
【0002】
【従来の技術】図5は従来の論理回路自動合成装置の構
成を示すブロック図である。同図に示すように、自動合
成に必要なファイルである入力論理記述ファイル2と設
計制約ファイル5とががあらかじめ用意されている。入
力論理記述ファイル2には合成されるべき論理回路の論
理記述が格納され、設計制約ファイル5には論理回路の
面積制約と遅延制約に関する種々の制約が格納されてい
る。
成を示すブロック図である。同図に示すように、自動合
成に必要なファイルである入力論理記述ファイル2と設
計制約ファイル5とががあらかじめ用意されている。入
力論理記述ファイル2には合成されるべき論理回路の論
理記述が格納され、設計制約ファイル5には論理回路の
面積制約と遅延制約に関する種々の制約が格納されてい
る。
【0003】多段論理簡単化手段1は、入力論理記述フ
ァイル2を受け取り、該ファイル2内の論理記述におけ
る論理的な冗長性の排除と論理の共有化を行い、より多
段の論理式からなる多段論理記述を生成する。素子割り
付け手段3は、多段論理簡単化手段により生成された多
段論理記述における個々の論理式から素子ライブラリ4
に登録された素子を割り付けて論理回路の接続記述を生
成する。
ァイル2を受け取り、該ファイル2内の論理記述におけ
る論理的な冗長性の排除と論理の共有化を行い、より多
段の論理式からなる多段論理記述を生成する。素子割り
付け手段3は、多段論理簡単化手段により生成された多
段論理記述における個々の論理式から素子ライブラリ4
に登録された素子を割り付けて論理回路の接続記述を生
成する。
【0004】面積・遅延解析手段6は、設計制約ファイ
ル5に格納された種々の設計制約条件に基づき、素子割
り付け手段3により生成された論理回路の接続記述から
、面積と信号遅延を評価し、該論理回路が面積制約を満
足し遅延制約に違反する場合は、その違反情報を素子割
り付け手段3に与え、再び、素子割り付け手段3に素子
の再割り付けによる接続記述の再生成を促し、面積制約
及び遅延制約双方共に満足する場合は、該接続記述を出
力接続記述ファイル8に出力して自動合成を終了する。 一方、面積制約に違反する場合は遅延違反の有無に関係
なく面積エラーを出力して処理を強制終了する。
ル5に格納された種々の設計制約条件に基づき、素子割
り付け手段3により生成された論理回路の接続記述から
、面積と信号遅延を評価し、該論理回路が面積制約を満
足し遅延制約に違反する場合は、その違反情報を素子割
り付け手段3に与え、再び、素子割り付け手段3に素子
の再割り付けによる接続記述の再生成を促し、面積制約
及び遅延制約双方共に満足する場合は、該接続記述を出
力接続記述ファイル8に出力して自動合成を終了する。 一方、面積制約に違反する場合は遅延違反の有無に関係
なく面積エラーを出力して処理を強制終了する。
【0005】図6は図5で示した論理回路自動合成装置
の論理回路の自動合成手順を示すフローチャートである
。以下、同図を参照しつつ、自動合成手順を説明する。
の論理回路の自動合成手順を示すフローチャートである
。以下、同図を参照しつつ、自動合成手順を説明する。
【0006】まず、ステップS1で、多段論理簡単化手
段1が入力論理記述ファイル2に格納されている論理式
群からなる論理回路の論理記述を読み込み、読み込んだ
論理記述内の冗長な論理を排除する。例えば、図7で示
すように、論理記述25が冗長な論理項A*B*Cを有
すれば、それが取り除かれた論理記述26に訂正される
。なお、同図において、*は論理積、+は論理和を示し
ている。
段1が入力論理記述ファイル2に格納されている論理式
群からなる論理回路の論理記述を読み込み、読み込んだ
論理記述内の冗長な論理を排除する。例えば、図7で示
すように、論理記述25が冗長な論理項A*B*Cを有
すれば、それが取り除かれた論理記述26に訂正される
。なお、同図において、*は論理積、+は論理和を示し
ている。
【0007】次に、ステップS2において、ステップS
1で冗長論理が排除され、簡単化された論理式群に対し
、多段論理簡単化手段1はさらに各論理式における共通
論理式をくくり出し多段論理記述を生成する。その結果
、積和型の論理記述はさらに簡単化され、より多段の論
理記述となる。例えば、図8に示すように、論理記述2
7における変数X及びYは共通の論理式(A+B)を因
子に持つため、この論理式(A+B)を新たに変数Iで
置き換えることにより多段論理記述28が導出される。
1で冗長論理が排除され、簡単化された論理式群に対し
、多段論理簡単化手段1はさらに各論理式における共通
論理式をくくり出し多段論理記述を生成する。その結果
、積和型の論理記述はさらに簡単化され、より多段の論
理記述となる。例えば、図8に示すように、論理記述2
7における変数X及びYは共通の論理式(A+B)を因
子に持つため、この論理式(A+B)を新たに変数Iで
置き換えることにより多段論理記述28が導出される。
【0008】そして、ステップS3において、素子割り
付け手段3が、ステップS2で多段化された多段論理記
述を論理的に等価な接続記述に変換する。この段階での
接続記述は、論理式中の論理積をANDゲートに、論理
和をORゲートで置き換えるという単純な変換処理から
生成された抽象的な接続記述である。例えば、図9に示
すように、多段論理記述29が抽象的な接続記述30に
変換される。
付け手段3が、ステップS2で多段化された多段論理記
述を論理的に等価な接続記述に変換する。この段階での
接続記述は、論理式中の論理積をANDゲートに、論理
和をORゲートで置き換えるという単純な変換処理から
生成された抽象的な接続記述である。例えば、図9に示
すように、多段論理記述29が抽象的な接続記述30に
変換される。
【0009】その後、ステップS4において、素子割り
付け手段3が、ステップS3で得た抽象的な接続記述に
対し、さらに具体的な接続記述に変更すべく、その接続
記述中のANDゲートやORゲートを、素子ライブラリ
4に登録されている論理素子を用いて、回路面積が小さ
くなるように割り付ける。例えば、素子ライブラリ4が
図10に示すような論理素子を登録している場合、図9
で示した抽象的な接続記述30が図11に示すような具
体的な接続記述に変換される。
付け手段3が、ステップS3で得た抽象的な接続記述に
対し、さらに具体的な接続記述に変更すべく、その接続
記述中のANDゲートやORゲートを、素子ライブラリ
4に登録されている論理素子を用いて、回路面積が小さ
くなるように割り付ける。例えば、素子ライブラリ4が
図10に示すような論理素子を登録している場合、図9
で示した抽象的な接続記述30が図11に示すような具
体的な接続記述に変換される。
【0010】そして、ステップS5において、面積・遅
延解析手段6は、ステップS4で素子割り付けされた具
体的な接続記述に基づく論理回路に対し、素子ライブラ
リ4に登録されている素子の素子面積や素子遅延等の特
性値に基づき、回路面積と経路遅延を計算し、設計制約
ファイル5で規定されている許容面積に違反するか否か
を検出するとともに、最大許容遅延に違反する違反経路
を検出する。以下、遅延違反が検出された信号経路を「
クリティカルパス」という。
延解析手段6は、ステップS4で素子割り付けされた具
体的な接続記述に基づく論理回路に対し、素子ライブラ
リ4に登録されている素子の素子面積や素子遅延等の特
性値に基づき、回路面積と経路遅延を計算し、設計制約
ファイル5で規定されている許容面積に違反するか否か
を検出するとともに、最大許容遅延に違反する違反経路
を検出する。以下、遅延違反が検出された信号経路を「
クリティカルパス」という。
【0011】次に、ステップS6において、ステップS
5での面積制約違反の有無がチェックされ、面積制約違
反が有れば、面積エラーとして直ちに処理を終了し、面
積制約違反が無ければステップS7に移行する。
5での面積制約違反の有無がチェックされ、面積制約違
反が有れば、面積エラーとして直ちに処理を終了し、面
積制約違反が無ければステップS7に移行する。
【0012】次に、ステップS7において、ステップS
5におけるクリティカルパスの検出の有無がチェックさ
れ、クリティカルパスの検出があればステップS4に戻
り、無ければ制約違反なしとして処理を終了する。
5におけるクリティカルパスの検出の有無がチェックさ
れ、クリティカルパスの検出があればステップS4に戻
り、無ければ制約違反なしとして処理を終了する。
【0013】ステップS7からステップS4に戻ると、
素子割り付け手段3はクリティカルパスに対し、後述す
る遅延改善手段を施して素子の再割り付けを行う。以降
、面積・遅延解析手段6により面積制約違反が検出され
るか、あるいはクリティカルパスが検出されなくなるま
で、ステップS4〜S7が繰り返される。
素子割り付け手段3はクリティカルパスに対し、後述す
る遅延改善手段を施して素子の再割り付けを行う。以降
、面積・遅延解析手段6により面積制約違反が検出され
るか、あるいはクリティカルパスが検出されなくなるま
で、ステップS4〜S7が繰り返される。
【0014】素子割り付け手段3による素子の再割り付
けの際、クリティカルパスの遅延改善を図る手段の1つ
として、クリティカルパス中に存在する素子を、この素
子と論理的に等価で駆動能力のより大きい論理素子へ置
換する方法がある。この方法を施すと占有面積は大きく
なるというデメリットを伴うが、駆動能力の増大に伴い
信号伝播速度を向上させることができる。
けの際、クリティカルパスの遅延改善を図る手段の1つ
として、クリティカルパス中に存在する素子を、この素
子と論理的に等価で駆動能力のより大きい論理素子へ置
換する方法がある。この方法を施すと占有面積は大きく
なるというデメリットを伴うが、駆動能力の増大に伴い
信号伝播速度を向上させることができる。
【0015】クリティカルパスの遅延改善を図るもう1
つの手段として、クリティカルパス上の負荷を分散する
方法がある。この方法は、例えば図12に示すように、
クリティカルパスCPを形成する論理素子(NANDゲ
ート)32の出力経路上において、インバータ33に加
え新たにインバータ34を生成させ、クリティカルパス
CP上の信号線31を孤立させることにより、論理構造
を変更することなく配線遅延を小さくすることができる
。
つの手段として、クリティカルパス上の負荷を分散する
方法がある。この方法は、例えば図12に示すように、
クリティカルパスCPを形成する論理素子(NANDゲ
ート)32の出力経路上において、インバータ33に加
え新たにインバータ34を生成させ、クリティカルパス
CP上の信号線31を孤立させることにより、論理構造
を変更することなく配線遅延を小さくすることができる
。
【0016】
【発明が解決しようとする課題】従来の論理回路自動合
成装置は以上のように構成されており、素子割り付け手
段3は、多段論理簡単化手段1が出力した論理記述の論
理構造を変更することなく素子割り付けを行っているた
め、回路性能は多段論理簡単化手段1が出力する論理記
述によりほぼ決定されてしまう。
成装置は以上のように構成されており、素子割り付け手
段3は、多段論理簡単化手段1が出力した論理記述の論
理構造を変更することなく素子割り付けを行っているた
め、回路性能は多段論理簡単化手段1が出力する論理記
述によりほぼ決定されてしまう。
【0017】一方、多段論理簡単化手段1による論理記
述の簡単化は、主として形成面積の縮小化を目的として
行われている。つまり、多段論理簡単化手段1は設計制
約ファイル5に格納された遅延制約を考慮せずに、多段
論理記述を出力している。このため、その論理構造は、
必ずしも対象とする半導体技術の下で遅延制約に適合し
た論理構造であるとは限らない。
述の簡単化は、主として形成面積の縮小化を目的として
行われている。つまり、多段論理簡単化手段1は設計制
約ファイル5に格納された遅延制約を考慮せずに、多段
論理記述を出力している。このため、その論理構造は、
必ずしも対象とする半導体技術の下で遅延制約に適合し
た論理構造であるとは限らない。
【0018】したがって、素子割り付け手段3により、
多段論理簡単化手段1が出力した論理記述の論理構造を
変更することなく、論理素子の(再)割り付けを行って
も、遅延改善手段が有効に寄与しない場合があり、最悪
の場合、遅延制約を満足する論理回路の接続記述を生成
できないという問題点があった。
多段論理簡単化手段1が出力した論理記述の論理構造を
変更することなく、論理素子の(再)割り付けを行って
も、遅延改善手段が有効に寄与しない場合があり、最悪
の場合、遅延制約を満足する論理回路の接続記述を生成
できないという問題点があった。
【0019】この発明は上記問題点を解決するためにな
されたもので、遅延制約を満足する論理回路の接続記述
を自動生成できる論理回路自動合成装置を得ることを目
的とする。
されたもので、遅延制約を満足する論理回路の接続記述
を自動生成できる論理回路自動合成装置を得ることを目
的とする。
【0020】
【課題を解決するための手段】この発明にかかる請求項
1記載の論理回路自動合成装置は、論理回路の論理記述
を取り込み、該論理記述に基づき論理回路の接続記述を
生成する装置であり、前記論理回路の接続記述が所定の
遅延制約を違反した場合、該論理回路における前記所定
の遅延制約を違反する違反経路上の論理構造の少なくと
も一部を変更した後、該違反経路が短くなるように論理
素子段数を減少させる素子圧縮動作を実行することによ
り、前記接続記述を変更する素子圧縮手段を備えている
。
1記載の論理回路自動合成装置は、論理回路の論理記述
を取り込み、該論理記述に基づき論理回路の接続記述を
生成する装置であり、前記論理回路の接続記述が所定の
遅延制約を違反した場合、該論理回路における前記所定
の遅延制約を違反する違反経路上の論理構造の少なくと
も一部を変更した後、該違反経路が短くなるように論理
素子段数を減少させる素子圧縮動作を実行することによ
り、前記接続記述を変更する素子圧縮手段を備えている
。
【0021】また、この発明にかかる請求項2記載の論
理回路自動合成装置は、論理回路の論理記述を付与する
論理記述付与手段と、論理回路の接続記述の構成要素と
して、使用可能な論理素子をその物理的特性とともにあ
らかじめ格納した素子ライブラリと、前記論理回路の論
理記述から論理的冗長性を排除し、さらに共通論理を見
いだして多段の論理式からなる多段論理記述を出力する
多段論理簡単化手段と、前記多段論理記述に対し、前記
素子ライブラリに格納された論理素子を割り付けること
により前記論理回路の接続記述を生成する素子割り付け
手段と、前記論理回路の接続記述を解析し、所定の遅延
制約を犯す違反経路の有無を検出する違反経路検出手段
と、前記違反経路検出手段により違反経路が検出された
場合、該違反経路上にある少なくとも一部の論理構造を
変更した後、前記素子ライブラリに格納された論理素子
を用いて、該違反経路が短くなるように素子段数を圧縮
する素子圧縮動作を実行することにより、前記接続記述
を変更する素子圧縮手段とを備えて構成されている。
理回路自動合成装置は、論理回路の論理記述を付与する
論理記述付与手段と、論理回路の接続記述の構成要素と
して、使用可能な論理素子をその物理的特性とともにあ
らかじめ格納した素子ライブラリと、前記論理回路の論
理記述から論理的冗長性を排除し、さらに共通論理を見
いだして多段の論理式からなる多段論理記述を出力する
多段論理簡単化手段と、前記多段論理記述に対し、前記
素子ライブラリに格納された論理素子を割り付けること
により前記論理回路の接続記述を生成する素子割り付け
手段と、前記論理回路の接続記述を解析し、所定の遅延
制約を犯す違反経路の有無を検出する違反経路検出手段
と、前記違反経路検出手段により違反経路が検出された
場合、該違反経路上にある少なくとも一部の論理構造を
変更した後、前記素子ライブラリに格納された論理素子
を用いて、該違反経路が短くなるように素子段数を圧縮
する素子圧縮動作を実行することにより、前記接続記述
を変更する素子圧縮手段とを備えて構成されている。
【0022】
【作用】この発明における素子圧縮手段は、論理回路に
おける所定の遅延制約を違反する違反経路上の論理構造
の少なくとも一部を変更した後、該違反経路が短くなる
ように論理素子段数を減少させる素子圧縮動作を実行し
ている。
おける所定の遅延制約を違反する違反経路上の論理構造
の少なくとも一部を変更した後、該違反経路が短くなる
ように論理素子段数を減少させる素子圧縮動作を実行し
ている。
【0023】つまり、当初の論理回路の(多段)論理記
述で規定された論理構造が、違反経路の遅延改善が困難
な論理構造を有していた場合でも、違反経路の遅延改善
が比較的容易な論理構造に変更した後に、素子圧縮動作
を行っている。
述で規定された論理構造が、違反経路の遅延改善が困難
な論理構造を有していた場合でも、違反経路の遅延改善
が比較的容易な論理構造に変更した後に、素子圧縮動作
を行っている。
【0024】
【実施例】図1はこの発明の一実施例である論理回路自
動合成装置の構成を示すブロック図である。同図に示す
ように、素子展開・圧縮手段7が新たに設けられている
。素子展開・圧縮手段7は、面積・遅延解析手段6によ
りクリティカルパスの発生が検出された場合、素子ライ
ブラリ4の情報に基づき、素子割り付け手段3により生
成された接続記述を展開して(後に詳述する)その論理
構造を変更し、抽象的な接続記述に戻した後、論理素子
の段数の圧縮処理を行う(後に詳述する)。なお、他の
構成は図5で示した従来例と同様であるため、説明は省
略する。
動合成装置の構成を示すブロック図である。同図に示す
ように、素子展開・圧縮手段7が新たに設けられている
。素子展開・圧縮手段7は、面積・遅延解析手段6によ
りクリティカルパスの発生が検出された場合、素子ライ
ブラリ4の情報に基づき、素子割り付け手段3により生
成された接続記述を展開して(後に詳述する)その論理
構造を変更し、抽象的な接続記述に戻した後、論理素子
の段数の圧縮処理を行う(後に詳述する)。なお、他の
構成は図5で示した従来例と同様であるため、説明は省
略する。
【0025】図2は図1で示した論理回路自動合成装置
の論理回路の自動合成手順を示すフローチャートである
。以下、同図を参照しつつ、自動合成手順を説明する。
の論理回路の自動合成手順を示すフローチャートである
。以下、同図を参照しつつ、自動合成手順を説明する。
【0026】同図において、ステップS11〜S16は
、図6で示した従来例におけるステップS1〜S6まで
と同様であるため、説明は省略する。
、図6で示した従来例におけるステップS1〜S6まで
と同様であるため、説明は省略する。
【0027】ステップS17において、ステップS15
におけるクリティカルパスの検出の有無がチェックされ
、クリティカルパスの検出があればステップS18に移
行し、無ければ、制約違反なしとみなし処理を終了する
。
におけるクリティカルパスの検出の有無がチェックされ
、クリティカルパスの検出があればステップS18に移
行し、無ければ、制約違反なしとみなし処理を終了する
。
【0028】ステップS18において、素子展開・圧縮
手段7は、クリティカルパス上に存在し、かつ隣接する
論理素子が分岐した信号線で結線されている場合(以下
、この条件を「素子生成条件」という)、入力側の論理
素子と同一の論理素子を新たに生成し、新たに生成した
論理素子をクリティカルパス上にある出力側の論理素子
に分岐のない信号線で直結する。
手段7は、クリティカルパス上に存在し、かつ隣接する
論理素子が分岐した信号線で結線されている場合(以下
、この条件を「素子生成条件」という)、入力側の論理
素子と同一の論理素子を新たに生成し、新たに生成した
論理素子をクリティカルパス上にある出力側の論理素子
に分岐のない信号線で直結する。
【0029】例えば、図3(a) に示すように、クリ
ティカルパスCP上に互いに隣接するORゲート9aと
NANDゲート41との結線がクリティカルパスCP上
の信号線10で行われると共に、この信号線10から分
岐した信号線42が存在した場合、図3(b) に示す
ように、ORゲート9aと等価なORゲート9bを生成
し、このORゲート9bとNANDゲート41との結線
を分岐のない信号線10′で直結して行う。なお、42
′は信号線42と等価な信号線を示す。
ティカルパスCP上に互いに隣接するORゲート9aと
NANDゲート41との結線がクリティカルパスCP上
の信号線10で行われると共に、この信号線10から分
岐した信号線42が存在した場合、図3(b) に示す
ように、ORゲート9aと等価なORゲート9bを生成
し、このORゲート9bとNANDゲート41との結線
を分岐のない信号線10′で直結して行う。なお、42
′は信号線42と等価な信号線を示す。
【0030】さらに、クリティカルパスCP上の素子に
ANDゲートやORゲート等の抽象素子に該当しない複
合素子等の論理素子があれば、抽象素子に置き換え、論
理回路の接続記述を抽象的な接続記述に戻す。
ANDゲートやORゲート等の抽象素子に該当しない複
合素子等の論理素子があれば、抽象素子に置き換え、論
理回路の接続記述を抽象的な接続記述に戻す。
【0031】このように、ステップS18では、素子展
開・圧縮手段7により、論理回路の接続記述が素子生成
条件にマッチすると、新たな論理素子の生成、配線の変
更等を行うことにより、論理回路の等価性を維持しつつ
その論理構造を変更し、さらに、具体(的な論理)素子
(素子ライブラリ4に登録された論理素子)の抽象素子
への置き換えを行うことにより、素子の展開動作を実行
する。
開・圧縮手段7により、論理回路の接続記述が素子生成
条件にマッチすると、新たな論理素子の生成、配線の変
更等を行うことにより、論理回路の等価性を維持しつつ
その論理構造を変更し、さらに、具体(的な論理)素子
(素子ライブラリ4に登録された論理素子)の抽象素子
への置き換えを行うことにより、素子の展開動作を実行
する。
【0032】その後、ステップS19において、ステッ
プS18で展開された抽象素子による接続記述を、素子
段数を減少させるように素子圧縮を行いながら具体素子
による接続記述に変更する。素子圧縮には、次の3つの
方法がある。
プS18で展開された抽象素子による接続記述を、素子
段数を減少させるように素子圧縮を行いながら具体素子
による接続記述に変更する。素子圧縮には、次の3つの
方法がある。
【0033】(1) 多入力論理の分割抽象素子をその
素子ライブラリ4に登録された該抽象素子と等価な具体
素子に置き換える際、抽象素子の入力ピン数が、その具
体素子のピン数を越える場合、1つの抽象素子を複数の
具体素子の組合せで補うことになる。このとき、必ずク
リティカルパスを形成する素子段数が増加しないように
する。
素子ライブラリ4に登録された該抽象素子と等価な具体
素子に置き換える際、抽象素子の入力ピン数が、その具
体素子のピン数を越える場合、1つの抽象素子を複数の
具体素子の組合せで補うことになる。このとき、必ずク
リティカルパスを形成する素子段数が増加しないように
する。
【0034】例えば、抽象素子のORゲートが3入力で
、具体素子のORゲートが2入力の場合、図4(a)
に示すように、1つの3入力ORゲート12を2つの2
入力ORゲート15,16の組合せで補うことになるが
、このとき、クリティカルパスCP上の信号線を優先的
に処理することにより、クリティカルパスCPの信号入
力は必ず、後段のORゲート15への直接入力となるよ
うに変換してクリティカルパスを形成する素子段数が増
加しないようにする。
、具体素子のORゲートが2入力の場合、図4(a)
に示すように、1つの3入力ORゲート12を2つの2
入力ORゲート15,16の組合せで補うことになるが
、このとき、クリティカルパスCP上の信号線を優先的
に処理することにより、クリティカルパスCPの信号入
力は必ず、後段のORゲート15への直接入力となるよ
うに変換してクリティカルパスを形成する素子段数が増
加しないようにする。
【0035】(2) 複合ゲートの活用クリティカルパ
スCPを形成する素子段数を最も圧縮するように、素子
ライブラリ4に存在する複合ゲートを積極的に活用して
、素子の再割り付けを行う。
スCPを形成する素子段数を最も圧縮するように、素子
ライブラリ4に存在する複合ゲートを積極的に活用して
、素子の再割り付けを行う。
【0036】例えば、図4(b) に示すように、2つ
の2入力ORゲート18,19の出力がそれぞれ2入力
NANDゲート17の入力となっている場合、複合ゲー
トとして、論理ゲート17及び18の組合せからなる複
合ゲートと論理ゲート17及び19の組合せからなる複
合ゲートとが存在するが、信号線21がクリティカルパ
スCP上にあることを考慮し、論理ゲート17,18の
複合ゲート20を割り付け、クリティカルパスCPを形
成する素子段数の圧縮を行う。
の2入力ORゲート18,19の出力がそれぞれ2入力
NANDゲート17の入力となっている場合、複合ゲー
トとして、論理ゲート17及び18の組合せからなる複
合ゲートと論理ゲート17及び19の組合せからなる複
合ゲートとが存在するが、信号線21がクリティカルパ
スCP上にあることを考慮し、論理ゲート17,18の
複合ゲート20を割り付け、クリティカルパスCPを形
成する素子段数の圧縮を行う。
【0037】また、図4(a) に示すように、多入力
論理の分割後のゲート15及び13に対しても、複合ゲ
ートを活用し、論理ゲート15及び13を複合ゲート1
4に変換してクリティカルパスCPを形成する素子段数
の圧縮を図ることができる。なお、図3(b) 〜図3
(c) も、クリティカルパスCP上にあるORゲート
9bとNANDゲート41を複合ゲート11に置き換え
た例を示している。
論理の分割後のゲート15及び13に対しても、複合ゲ
ートを活用し、論理ゲート15及び13を複合ゲート1
4に変換してクリティカルパスCPを形成する素子段数
の圧縮を図ることができる。なお、図3(b) 〜図3
(c) も、クリティカルパスCP上にあるORゲート
9bとNANDゲート41を複合ゲート11に置き換え
た例を示している。
【0038】(3) 極性の最適化
クリティカルパスCPを形成する素子段数を最も圧縮す
るように、クリティカルパスCPを形成する素子の極性
を変更する。
るように、クリティカルパスCPを形成する素子の極性
を変更する。
【0039】例えば、図4(c) に示すように、クリ
ティカルパスCP上にNANDゲート22及びインバー
タ23が接続されている場合、双方を極性の反転してN
ANDゲート22をANDゲート24に置き換え、イン
バータ23を除去する。これに伴い、NANDゲート2
4の他の出力における極性を反転させて、新たにインバ
ータ24を設ける。その結果、クリティカルパスCPを
形成するの素子段数がインバータ23が消去される分、
圧縮される。なお、この方法は、極性を反転できる論理
素子(図4(c) の例ではANDゲート)が素子ライ
ブラリ4に登録されていることが前提となる。
ティカルパスCP上にNANDゲート22及びインバー
タ23が接続されている場合、双方を極性の反転してN
ANDゲート22をANDゲート24に置き換え、イン
バータ23を除去する。これに伴い、NANDゲート2
4の他の出力における極性を反転させて、新たにインバ
ータ24を設ける。その結果、クリティカルパスCPを
形成するの素子段数がインバータ23が消去される分、
圧縮される。なお、この方法は、極性を反転できる論理
素子(図4(c) の例ではANDゲート)が素子ライ
ブラリ4に登録されていることが前提となる。
【0040】このように、ステップS19で、クリティ
カルパスCPを形成する素子の圧縮を行うことにより、
信号遅延の短縮化を図ることができる。
カルパスCPを形成する素子の圧縮を行うことにより、
信号遅延の短縮化を図ることができる。
【0041】ステップS19の処理が終了すると、ステ
ップS14に戻り、ここで素子割り付け手段3が、クリ
ティカルパスCPを形成する素子に対し、従来例で述べ
た駆動能力を最適化する素子置換や出力負荷の分散処理
等の遅延改善処理を施す。以降、面積・遅延解析手段6
により面積制約違反が検出されるか、あるいはクリティ
カルパスが検出されなくなるまで、ステップS14〜S
19が繰り返される。
ップS14に戻り、ここで素子割り付け手段3が、クリ
ティカルパスCPを形成する素子に対し、従来例で述べ
た駆動能力を最適化する素子置換や出力負荷の分散処理
等の遅延改善処理を施す。以降、面積・遅延解析手段6
により面積制約違反が検出されるか、あるいはクリティ
カルパスが検出されなくなるまで、ステップS14〜S
19が繰り返される。
【0042】このように素子展開・圧縮手段7により、
多段論理簡単化手段1より出力された論理回路の多段論
理記述における論理構造を部分的に変更することにより
、素子圧縮等の遅延改善が容易な論理構造にした後に、
素子圧縮を行っているため、多段論理記述がクリティカ
ルパスが生じやすい論理構造を有していても、比較的容
易にクリティカルパスの発生を抑制することができ、当
初遅延違反を犯した論理回路の接続記述が素子割り付け
手段3から生成されても、遅延制約を満足した論理回路
の接続記述に自動的に変更することができる。
多段論理簡単化手段1より出力された論理回路の多段論
理記述における論理構造を部分的に変更することにより
、素子圧縮等の遅延改善が容易な論理構造にした後に、
素子圧縮を行っているため、多段論理記述がクリティカ
ルパスが生じやすい論理構造を有していても、比較的容
易にクリティカルパスの発生を抑制することができ、当
初遅延違反を犯した論理回路の接続記述が素子割り付け
手段3から生成されても、遅延制約を満足した論理回路
の接続記述に自動的に変更することができる。
【0043】また、多段論理簡単化手段1から出力され
る論理回路の論理記述は基本的に形成面積の縮小化に有
効な論理記述であるため、回路形成面積の小さい論理回
路を自動生成することができる。しかも、面積・遅延解
析手段6は面積違反を検出すると直ちに面積エラーを警
告し、すみやかに処理を終了するため、面積制約を違反
した論理回路が誤って自動生成されることはない。
る論理回路の論理記述は基本的に形成面積の縮小化に有
効な論理記述であるため、回路形成面積の小さい論理回
路を自動生成することができる。しかも、面積・遅延解
析手段6は面積違反を検出すると直ちに面積エラーを警
告し、すみやかに処理を終了するため、面積制約を違反
した論理回路が誤って自動生成されることはない。
【0044】なお、この実施例では、論理回路の論理記
述として、論理式からなる論理記述を示したが、これに
限定されず、例えば、真理値表や既存回路の接続記述で
あっても、同様の効果を奏する。
述として、論理式からなる論理記述を示したが、これに
限定されず、例えば、真理値表や既存回路の接続記述で
あっても、同様の効果を奏する。
【0045】
【発明の効果】以上説明したように、この発明によれば
、素子圧縮手段は、論理回路における所定の遅延制約を
違反する違反経路上の論理構造の少なくとも一部を変更
した後、該違反経路が短くなるように論理素子段数を圧
縮する素子圧縮動作を実行している。
、素子圧縮手段は、論理回路における所定の遅延制約を
違反する違反経路上の論理構造の少なくとも一部を変更
した後、該違反経路が短くなるように論理素子段数を圧
縮する素子圧縮動作を実行している。
【0046】その結果、当初の論理回路の(多段)論理
記述で規定された論理構造が、違反経路の遅延改善が困
難な論理構造を有していた場合でも、違反経路の遅延改
善が比較的容易な論理構造に変更することができるため
、その後に行う素子圧縮動作は有効に働き、遅延制約を
満足した論理回路の接続記述を自動生成することができ
る。
記述で規定された論理構造が、違反経路の遅延改善が困
難な論理構造を有していた場合でも、違反経路の遅延改
善が比較的容易な論理構造に変更することができるため
、その後に行う素子圧縮動作は有効に働き、遅延制約を
満足した論理回路の接続記述を自動生成することができ
る。
【0047】さらに請求項2記載の論理回路自動合成装
置は、素子割り付け手段による素子割り付けを行う直前
の論理回路の論理記述として、多段論理簡単化手段によ
り出力された、論理的冗長性を排除し、さらに共通論理
を見いだして多段の論理式からなる多段論理記述を用い
ており、この多段論理記述は面積縮小化に有効な論理記
述であるため、面積制約も満足した論理回路の接続記述
を自動生成することができる。
置は、素子割り付け手段による素子割り付けを行う直前
の論理回路の論理記述として、多段論理簡単化手段によ
り出力された、論理的冗長性を排除し、さらに共通論理
を見いだして多段の論理式からなる多段論理記述を用い
ており、この多段論理記述は面積縮小化に有効な論理記
述であるため、面積制約も満足した論理回路の接続記述
を自動生成することができる。
【図1】この発明の一実施例である論理回路自動合成装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
【図2】図1で示した論理回路自動合成装置の動作を示
すフローチャートである。
すフローチャートである。
【図3】図1で示した論理回路自動合成装置の素子展開
例等を示す回路図である。
例等を示す回路図である。
【図4】図1で示した論理回路自動合成装置の素子圧縮
例を示す回路図である。
例を示す回路図である。
【図5】従来の論理回路自動合成装置の構成を示すブロ
ック図である。
ック図である。
【図6】図5で示した論理回路自動合成装置の動作を示
すフローチャートである。
すフローチャートである。
【図7】多段論理簡単化手段による論理の冗長性の排除
動作を示す説明図である。
動作を示す説明図である。
【図8】多段論理簡単化手段による論理記述の多段化動
作を示す説明図である。
作を示す説明図である。
【図9】素子割り付け手段による抽象的な接続記述への
変換動作を示す説明図である。
変換動作を示す説明図である。
【図10】素子ライブラリの一例を示す説明図である。
【図11】素子割り付け手段による素子割り付け後の論
理回路の接続記述を示す回路図である。
理回路の接続記述を示す回路図である。
【図12】素子割り付け手段による負荷分散処理の一例
を示す説明図である。
を示す説明図である。
1 多段論理簡単化手段
2 入力論理記述ファイル
3 素子割り付け手段
4 素子ライブラリ
5 設計制約ファイル
6 面積・遅延解析手段
7 素子展開・圧縮手段
Claims (2)
- 【請求項1】 論理回路の論理記述を取り込み、該論
理記述に基づき論理回路の接続記述を生成する論理回路
自動合成装置において、前記論理回路の接続記述が所定
の遅延制約を違反した場合、該論理回路における前記所
定の遅延制約を違反する違反経路上の論理構造の少なく
とも一部を変更した後、該違反経路が短くなるように論
理素子段数を減少させる素子圧縮動作を実行することに
より、前記接続記述を変更する素子圧縮手段を設けたこ
とを特徴とする論理回路自動合成装置。 - 【請求項2】 論理回路の論理記述を付与する論理記
述付与手段と、論理回路の接続記述の構成要素として、
使用可能な論理素子をその物理的特性とともにあらかじ
め格納した素子ライブラリと、前記論理回路の論理記述
から論理的冗長性を排除し、さらに共通論理を見いだし
て多段の論理式からなる多段論理記述を出力する多段論
理簡単化手段と、前記多段論理記述に対し、前記素子ラ
イブラリに格納された論理素子を割り付けることにより
前記論理回路の接続記述を生成する素子割り付け手段と
、前記論理回路の接続記述を解析し、所定の遅延制約を
犯す違反経路の有無を検出する違反経路検出手段と、前
記違反経路検出手段により違反経路が検出された場合、
該違反経路上にある少なくとも一部の論理構造を変更し
た後、前記素子ライブラリに格納された論理素子を用い
て、該違反経路が短くなるように素子段数を圧縮する素
子圧縮動作を実行することにより、前記接続記述を変更
する素子圧縮手段とを備えた論理回路自動合成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3023245A JPH04263367A (ja) | 1991-02-18 | 1991-02-18 | 論理回路自動合成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3023245A JPH04263367A (ja) | 1991-02-18 | 1991-02-18 | 論理回路自動合成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04263367A true JPH04263367A (ja) | 1992-09-18 |
Family
ID=12105216
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3023245A Pending JPH04263367A (ja) | 1991-02-18 | 1991-02-18 | 論理回路自動合成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04263367A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07334530A (ja) * | 1994-06-03 | 1995-12-22 | Nec Corp | 論理回路の遅延最小化装置及び方法 |
-
1991
- 1991-02-18 JP JP3023245A patent/JPH04263367A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07334530A (ja) * | 1994-06-03 | 1995-12-22 | Nec Corp | 論理回路の遅延最小化装置及び方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5003487A (en) | Method and apparatus for performing timing correction transformations on a technology-independent logic model during logic synthesis | |
| US5734917A (en) | System for producing combination circuit to satisfy prescribed delay time by deleting selected path gate and allowing to perform the permissible function for initial circuit | |
| US5243538A (en) | Comparison and verification system for logic circuits and method thereof | |
| US5493504A (en) | System and method for processing logic function and fault diagnosis using binary tree representation | |
| JP2609799B2 (ja) | 順序回路の再設計方法 | |
| US5416718A (en) | Circuit design support system and circuit producing method | |
| US5461574A (en) | Method of expressing a logic circuit | |
| JPH04263367A (ja) | 論理回路自動合成装置 | |
| JPH08212246A (ja) | 論理生成方法 | |
| JP2877023B2 (ja) | 論理回路分割方法 | |
| CN109684761B (zh) | 一种宽同或电路优化方法 | |
| JP2560990B2 (ja) | 論理回路最小化装置 | |
| JPH04153780A (ja) | 論理回路の合成方法 | |
| JPH07249062A (ja) | 論理回路の生成方法 | |
| JPH06310601A (ja) | レイアウト設計方法 | |
| JP2737490B2 (ja) | 論理回路最適化処理方法 | |
| EP0413831B1 (en) | Method of optimising logic circuit | |
| JP2877086B2 (ja) | 回路図面生成装置及び回路図面生成方法 | |
| JPH0997281A (ja) | パストランジスタ論理設計方法 | |
| JP3106374B2 (ja) | 論理回路最適化装置 | |
| JPH04137177A (ja) | 論理回路合成方式 | |
| KR0157926B1 (ko) | 집적 회로의 클럭 주기 최소화 방법 | |
| JP3177916B2 (ja) | 論理回路内のインバ−タ削減方法 | |
| JP2002245104A (ja) | 論理縮小機能を備えたマッピング装置、マッピング方法、及びそのプログラム。 | |
| JPH01279371A (ja) | Lsiの論理回路設計装置 |