JPH10254920A - 論理回路の遅延最適化装置 - Google Patents

論理回路の遅延最適化装置

Info

Publication number
JPH10254920A
JPH10254920A JP9053199A JP5319997A JPH10254920A JP H10254920 A JPH10254920 A JP H10254920A JP 9053199 A JP9053199 A JP 9053199A JP 5319997 A JP5319997 A JP 5319997A JP H10254920 A JPH10254920 A JP H10254920A
Authority
JP
Japan
Prior art keywords
delay
fan
stage
optimization
signal line
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
JP9053199A
Other languages
English (en)
Inventor
Takanao Amatsubo
孝尚 雨坪
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.)
Toshiba Corp
Original Assignee
Toshiba 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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP9053199A priority Critical patent/JPH10254920A/ja
Publication of JPH10254920A publication Critical patent/JPH10254920A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 遅延最適化処理を行うに際して、等価信号線
が存在しない場合等においては、効果的に遅延時間の短
縮を行うことができなかった。 【解決手段】 本発明の論理回路の遅延最適化装置は、
処理対象最大段数と、セルライブラリと、論理回路デー
タと、遅延制約条件と、ファンアウトツリー指定データ
とを入力データとし、ファンアウトツリーを最適化する
のに適した形に正規化するファンアウトツリー正規化部
と、この正規化されたファンアウトツリーの負荷を論理
が等価な信号線が存在するときにはその信号線に、論理
が等価な信号線が存在しないときには素子増結部により
セルを増結することによって論理が等価な信号線を生成
してこの生成された信号線に移動させる負荷移動部と、
冗長なセルを処理する冗長セル削除部と、ファンアウト
ツリーの遅延最適化の効果を評価する最適化効果評価部
とを実行して遅延最適化を行うことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理回路を設計す
る際に、ファンアウト最適化によって遅延最適化を行う
論理回路の遅延最適化装置に関する。
【0002】
【従来の技術】従来から、ハードウェア設計における論
理合成の技術においては、ファンアウト最適化と呼ばれ
ることが行われてきた。ファンアウトとは、論理ゲート
などのハードウェアを実現するセルの出力端子に接続さ
れている信号線のことであり、ファンアウト最適化と
は、あるセルの出力端子に負荷が集中していて、その影
響で回路の信号伝搬遅延時間が大きくなっている場合
に、さまざまな操作を行うことによって信号伝搬遅延時
間を短縮する技術のことである。出力端子に接続されて
いる信号線の数が多くなると、セルが駆動する負荷が大
きくなり信号伝搬遅延時間が大きくなってしまう。そこ
で、ファンアウト最適化を行うことになる。
【0003】ファンアウト最適化について考える前に論
理回路を構成する各セルについて説明する。論理回路を
構成する各セルには、図3に示すようにそれぞれ特性が
ある。例として、図3のNANDゲートとANDゲート
について示す。図3において、セルの面積とはそのセル
が基板上に配置された場合に必要となる広さであり、こ
こでは相対的な値を示すので単位はない。セルの遅延と
は各セルで要する遅延時間であり、駆動能力とはセルの
出力端子に接続された負荷を駆動する場合にそれぞれの
負荷に対して必要となる遅延時間であり、駆動できる負
荷の数の上限とはセルの出力端子に接続できる最大の負
荷の数である。例として、図3のNANDゲートとAN
Dゲートについて比較すると、面積ではNANDゲート
がANDゲートの1.5倍になっている。また、遅延時
間ではNANDゲートの出力端子に20個の負荷が接続
されると、NANDゲートの遅延が5.0ns、それぞ
れの負荷に対する遅延が2.0nsで20個あるので4
0.0nsとなり、合計して45.0nsの遅延が生ず
ることになり、ANDゲートの出力端子に20個の負荷
が接続されると、ANDゲートの遅延が4.0ns、そ
れぞれの負荷に対する遅延が2.5nsで20個あるの
で50.0nsとなり、合計して54.0nsの遅延が
生ずることになる。このように、出力端子に多くの負荷
が接続されると駆動能力の違いにより遅延時間が大きく
変化することが分かる。図3ではNANDゲートが駆動
能力の大きいセルということができる。但し、一般的に
駆動能力の大きいセルは面積が大きくなってしまう問題
点がある。図3でもNANDゲートはANDゲートの
1.5倍の面積が必要である。
【0004】従来のファンアウト最適化では、あるセル
の出力端子に多くの負荷が集中していて、その影響で回
路の遅延時間が大きくなっている場合には遅延を改善す
るために主に3つの操作が行われていた。それは、 1)負荷を駆動するセルを駆動能力の高いセルに置き換
える操作 2)負荷を駆動するセルを並列に増結して負荷を分散さ
せる操作 3)負荷の一部または全部を論理が等しい信号線(等価
信号線)に移動して負荷を分散させる操作 の3つである。これらの操作の中で、負荷を分散させよ
うとする場合には、一般的に集中した負荷の一部または
全部を論理が等しい別の信号線(等価信号線)に移動さ
せる操作が行われていた。
【0005】
【発明が解決しようとする課題】しかしながら、等価信
号線が存在しない場合や、等価信号線への移動によって
も回路の遅延時間の短縮が見込めない場合は、負荷の移
動による遅延時間の短縮を行うことができない。このよ
うな場合でも、負荷を駆動するセルを駆動能力の高いセ
ルに置き換える操作や負荷を駆動するセルを並列に増結
して負荷を分散させる操作を行うことは可能である。し
かし、置き換えられたセルや並列に増結されたセルの遅
延時間が減少したとしても、それらのセルを駆動するセ
ルの負荷が増大してしまうので、結果として回路の遅延
時間を短縮することは難しかった。
【0006】また、駆動能力の高いセルへの置換や、駆
動するセルの並列増結は、一般に面積を増加させてしま
うので、これらの操作による遅延時間の短縮の効果が小
さい場合には、最適化処理を行わない方がよい場合もあ
った。
【0007】本発明は上記事情に鑑みて成されたもので
あり、その目的は、等価信号線が存在しない場合や、等
価信号線への移動によっても回路の遅延時間の短縮が見
込めない場合であっても、面積の増加等をすることなく
効果的に遅延時間の短縮を行うことができる論理回路の
遅延最適化装置を提供することにある。
【0008】
【課題を解決するための手段】本発明の論理回路の遅延
最適化装置は、遅延最適化を行う最大の段数を指定する
処理対象最大段数を入力する入力手段と、遅延最適化の
処理を制御する制御プログラムを記憶する第1の記憶手
段と、論理回路内の各セルの特性を記憶したセルライブ
ラリと、前記論理回路のセルや結線の接続状態を記憶し
た論理回路データと、前記論理回路に対する遅延の制約
を与える遅延制約条件と、遅延最適化の対象とするファ
ンアウトツリーを指定するファンアウトツリー指定デー
タとを記憶する第2の記憶手段と、この第2の記憶手段
により記憶された前記セルライブラリと前記論理回路デ
ータと前記遅延制約条件と前記ファンアウトツリー指定
データとを参照して前記第1の記憶手段により記憶され
た前記制御プログラムによって、遅延最適化の対象に指
定された前記ファンアウトツリーを最適化するのに適し
た形に正規化する正規化段階と、この正規化段階で正規
化されたファンアウトツリーの負荷を論理が等価な信号
線が存在するときにはその信号線に、論理が等価な信号
線が存在しないときにはセルを増結することによって論
理が等価な信号線を生成してこの生成された信号線に移
動させる負荷移動段階と、この負荷移動段階で増結され
たセルの中で冗長なセルを処理する冗長セル削除段階
と、この冗長セル削除段階で冗長なセルの処理されたフ
ァンアウトツリーの遅延最適化の効果を評価する最適化
効果評価段階とを実行して遅延最適化の処理を行う演算
手段と、この演算手段によって行われた遅延最適化の処
理結果を出力する出力手段とから構成されていることを
特徴とする。
【0009】
【発明の実施の形態】以下、本発明の一実施の形態を図
面を参照して説明する。
【0010】図1は、本発明の組合せ論理回路の遅延最
適化装置の構成を説明するためのブロック図である。
【0011】本発明の遅延最適化装置は図1に示すよう
に、各命令や処理対象最大段数を入力する入力装置1
と、プログラムを実行する中央処理装置3と、制御プロ
グラムを記憶するメインメモリ5と、論理回路データ、
遅延制約条件、セルライブラリ、ファンアウトツリー指
定データの各データを記憶するファイル装置7と、遅延
最適化された新しい論理回路データ等の遅延最適化の結
果を出力する出力装置9とから構成されている。
【0012】ここで、本発明の遅延最適化装置の動作を
簡単に説明する。入力装置1からユーザーによって遅延
最適化を始める命令と処理対象最大段数が入力される
と、中央処理装置3がメインメモリ5から制御プログラ
ムを呼び出し遅延最適化の処理を始める。遅延最適化が
始まると、制御プログラムはファイル装置7に記憶され
ている論理回路データ、遅延制約条件、セルライブラ
リ、ファンアウトツリー指定データの各データを適宜呼
び出して、遅延最適化の処理を行う。遅延最適化が終了
するとその結果、即ち遅延最適化ができた場合には遅延
最適化された新しい論理回路データを出力し、遅延最適
化ができなかった場合にはその旨の結果を出力する。本
発明の遅延最適化装置における入力装置1、中央処理装
置3、メインメモリ5、ファイル装置7、出力装置9の
各装置は各機能を実現できる手段であれば、その他のも
のでも良い。
【0013】次に本発明の遅延最適化装置の動作を詳細
に説明する。
【0014】図2は、本発明の遅延最適化装置の動作を
説明するためのブロック図である。
【0015】本発明の遅延最適化装置は、セルライブラ
リ11と、論理回路データ13と、遅延制約条件15
と、ファンアウトツリー指定データ17と、処理対象最
大段数19とを入力データとしている。
【0016】セルライブラリ11には、図3に例として
示したように、論理式、セルの面積、セルの遅延時間、
駆動能力、駆動できる負荷の数の上限等の各セル毎の特
性が記憶されている。
【0017】論理回路データ13とは、入力ピン、出力
ピン、セル、結線から構成されている論理回路の接続状
態を記憶しているデータのことである。各セルにはセル
ライブラリ11を参照することによってセルの種類等の
情報が与えられている。
【0018】次に、遅延制約条件15について説明す
る。論理回路において、回路の入力ピンには信号の到着
時刻が与えられ、回路の出力ピンには信号の到着要求時
刻が与えられる。従って、出力ピンの到着要求時刻から
入力ピンの到着時刻を引いた時間内に信号は論理回路を
通過しなければならない。そこで、セルライブラリを参
照することによって各セルの遅延時間とセルに接続する
結線の遅延時間とを計算して信号が到着要求時刻を満た
すかどうか判断する。これが遅延制約条件である。
【0019】次に、ファンアウトツリー指定データ17
について説明する。まず、ファンアウトツリーについて
図4にその例を示す。図4の斜線で示した部分がファン
アウトツリーである。各セルの入力ピン例えば、A、
B、C、D、Eをリーフと呼ぶ。Fは論理回路の出力ピ
ンである。IV1,IV2,IV3はインバータであ
り、駆動能力を有し論理を反転させるものである。BU
Fはバッファーである。
【0020】本発明の論理回路の遅延最適化装置では、
ファンアウトツリー内で各リーフが属している段によっ
て区別して考えている。図4のファンアウトツリーで
は、リーフA、B、インバーターIV1,IV2は1段
目、リーフC,IV3は2段目、リーフD、バッファー
BUFは3段目である。しかし、ファンアウトツリー内
にバッファーが存在する場合にはインバータが2段直列
に接続しているものとして数えるので、リーフE、出力
ピンFは5段目となる。このようなファンアウトツリー
に関して、ファンアウトツリー指定データ17とは、処
理対象としたファンアウトツリーについてのデータを記
憶しておくもので、ファンアウトツリーにおける入力ピ
ンや出力ピンの組合せ等を記憶している。
【0021】処理対象最大段数19とは、最適化の処理
をファンアウトツリーの1段目から始めて何段目まで行
うかを示すものであり、入力装置1からユーザーによっ
て入力されるデータである。処理対象最大段数19を入
力することにより、処理の対象となる範囲を限定するこ
とができ、最適化のための探索空間を小さく抑えること
が可能となる。
【0022】以上説明したセルライブラリ11と、論理
回路データ13と、遅延制約条件15と、ファンアウト
ツリー指定データ17と、処理対象最大段数19とを入
力データとして遅延最適化の処理を行う。
【0023】次に、遅延最適化の処理を行う各部につい
て説明する。
【0024】本発明の遅延最適化装置は、図2に示すよ
うに、ファンアウトツリー正規化部21と、負荷移動部
23と、素子増結部25と、冗長セル削除部27と、最
適化効果評価部29とから構成され、最終的に新たな論
理回路データ31を出力する。
【0025】各部の動作について以下に詳細に説明す
る。
【0026】ファンアウトツリー正規化部21の動作を
図5のフローチャートを参照して説明する。まず、処理
対象として指定されたファンアウトツリーの遅延解析を
行う(S51)。ファンアウトツリーに遅延制約条件1
5に違反しているリーフ(以下違反リーフという)が存
在していない場合には、このファンアウトツリーに対す
る遅延最適化の処理は全て終了し(S52)、違反リー
フが存在する場合にはファンアウトツリーの3段目以上
に違反リーフが存在するかどうかを判断する(S5
3)。3段目以上に違反リーフが存在しない場合には負
荷移動部23に移り、3段目以上に違反リーフが存在す
る場合にはファンアウトツリーの2段化を行う(S5
4)。
【0027】ここで、ファンアウトツリーの2段化と
は、ファンアウトツリーの全てのリーフを正極性のもの
と負極性のものとに分け、正極性のリーフを1段目、負
極性のリーフを2段目とする2段のファンアウトツリー
に組み替えることをいう。
【0028】図6は、ファンアウトツリーを2段化する
場合の例を示す図である。図6(a)はファンアウトツ
リーを簡略化して示したもので、このファンアウトツリ
ーを図6(b)に示すような2段のファンアウトツリー
に組み替えると、リーフA,B、Dは正極性なので1段
目に配置され、リーフC,E,Fは負極性なので2段目
に配置されている。
【0029】ファンアウトツリーが2段化された後に再
び遅延解析を行う(S55)。ここで、ファンアウトツ
リーに違反リーフが存在しない場合には遅延最適化の処
理は全て終了し、違反リーフが存在する場合には負荷移
動部23に移る(S56)。これでファンアウトツリー
正規化部21の処理は終了する。
【0030】ファンアウトツリー正規化部21におい
て、ファンアウトツリーの2段化を行う理由を図7を参
照して説明する。本発明の遅延最適化装置は後述する素
子増結部25によってインバーター等のセルを増結する
ことによって等価信号線を作り、リーフをその等価信号
線へ移動させていくことで遅延の最適化を図ろうとする
ものである。
【0031】例えば、最初の段階で違反リーフが3段目
以上に存在する場合(S53)には、図7(a)に示す
ように、2段化によって1段目と2段目にリーフを集め
ておいて、その後に図7(b)に示すようにインバータ
ーIV2を増結してリーフAを移動させ、更に図7
(c)に示すようにインバーターIV3を増結してリー
フCを移動させる。この操作を繰り返すことによって遅
延の最適化をしようとするのが本発明の遅延最適化装置
である。
【0032】従って、違反リーフが存在し改善しなけれ
ばならない段がいろいろな段に存在すると複雑になって
しまうので、最初の段階でリーフを1段目と2段目に集
めておいて、改善する必要のある段を1段目と2段目に
限定することが必要になるのである。こうすることによ
って、ファンアウトツリーの形状が単純化されるので、
遅延最適化のための探索空間を小さく抑えることがで
き、その後にインバーターを増結してリーフを順番に移
動させる操作を簡単に行うことが可能になるのである。
【0033】次に負荷移動部23について説明する。
【0034】負荷移動部23は、遅延制約条件15を満
たしているリーフ(以下充足リーフという)を、図7で
説明したように、等価信号線に移動させることによって
負荷を分散させ、遅延時間を改善しようとするものであ
る。
【0035】負荷移動部23の動作を図8のフローチャ
ートを参照して説明する。ファンアウトツリー正規化部
21から負荷移動部23に移動した時点では、3段目以
上に違反リーフが存在している場合には2段化されてい
るので、ファンアウトツリー内の違反リーフは1段目か
2段目に存在している。そこで、まず1段目を処理対象
として処理を開始する(S80)。
【0036】ここで、ステップS81で処理対象として
いる段のリーフの中に充足リーフが存在している場合と
存在していない場合について分けて説明する。
【0037】まず、充足リーフが存在していない場合に
ついて説明する。この場合には処理対象としている段が
処理対象最大段数19に達している場合(S82)又
は、処理対象最大段数19に達していないが(S8
2)、処理対象としている段より1段出力側の段が存在
しない(S83)場合には負荷移動部23を終了し、冗
長セル削除部27へ移る。また、処理対象最大段数19
に達していなくて(S82)処理対象としている段より
1段出力側の段が存在している場合(S83)には1段
出力側の段を処理対象として(S84)、ステップS8
1へ戻る。
【0038】次に、ステップS81で処理対象としてい
る段に充足リーフが存在している場合について説明す
る。
【0039】この場合には、まず移動先の選択を行う
(S85)。
【0040】図9のフローチャートを参照して移動先の
選択S85を説明する。まずステップS91において処
理対象としている段の2段出力側に等価信号線が存在す
るかを判断する。存在している場合には、2段出力側の
等価信号線を移動先として選択する(S92)。この場
合の一例を図10に示す。図10(a)のリーフAにつ
いて考えると2段出力側にはリーフD、Eの等価信号線
が存在する。そこで、リーフAを図10(b)に示すよ
うに移動させる。
【0041】一方、2段出力側に等価信号線が存在しな
い場合には、2段出力側に等価信号線が存在するために
必要な個数のインバータを素子増結部25によって増結
し(S93)、2段出力側の等価信号線を移動先として
選択する(S92)。2段出力側の等価信号線を移動先
とするのは、負荷が接続されていた信号線と論理が等価
な信号線を移動先とすることによって、負荷を移動した
ことによる副作用として起こる論理の変化を防ぐことが
可能となるからである。2段出力側に等価信号線が存在
しない場合について図11を参照して説明する。
【0042】図11(a)では2段出力側に等価信号線
が存在していない。そこで、インバータIV4,IV5
を増結して図11(b)に示すようにリーフXを移動先
として作る。こうすることによってリーフXを移動先と
して選択することができる。
【0043】負荷を増結して移動先を生成することによ
って、負荷が接続している信号線と論理が等価な信号線
が無い場合でも、負荷の移動による遅延最適化を可能と
することができる。また、図11ではインバータを2つ
増結したが、予めインバータが1つ存在しているような
場合にはインバータを1つ増結すればよい。移動先の選
択(S85)ができたところで、負荷の移動(S86)
に移る。
【0044】図12のフローチャートを参照して負荷の
移動(S86)を説明する。
【0045】処理対象としている段の各リーフに対し
て、スラック(遅延制約条件15によって与えられる信
号の到着要求時間と遅延解析によって得られる信号到着
時間との差であり、この値が大きいほど遅延制約条件1
5に対して余裕があることを示す数値である。例えば、
スラックの値がプラスのときには充足リーフであり、マ
イナスのときには違反リーフということになる)の大き
い順に移動処理を始める(S121)。スラックの大き
い順に移動処理を始めるのは、スラックが大きいという
ことは、そのリーフの遅延解析によって得られる遅延時
間が遅延制約条件15に対して余裕があるということで
あるから、リーフを移動させたとしても移動による副作
用でファンアウトツリー全体の遅延を悪化させるような
ことが防げるからである。
【0046】リーフを移動先として指定された箇所に移
動したら、遅延解析を行い回路変更条件(移動した先の
段のすべてのリーフが遅延制約条件15を充足し、ファ
ンアウトツリー全体の遅延を大きくしないこと)を満た
し(S122)、違反リーフが存在しなければ(S12
3)負荷移動部23を終了して冗長セル削除部27に移
り、違反リーフが存在する場合(S123)には素子増
結部25によって増結されたセルのうち出力に何も接続
されなかったセルを削除して(S124)負荷の移動を
終了する。
【0047】また、回路変更条件を満たさない場合(S
122)には、移動先を駆動するセルをリパワー(セル
を駆動能力の大きいセルに置換する操作)することによ
って回路変更条件を満たすようにならないかを調べる
(S125)。リパワーによって回路変更条件を満たす
場合にはステップS123へ移り、リパワーによっても
回路変更条件を満たさない場合には、移動先を駆動する
セルをデュープリケート(セルを並列に増結して移動先
の負荷を分散させる操作)することによって回路変更条
件を満たすようにならないかを再び調べる(S12
6)。デュープリケートによって回路変更条件を満たす
場合にはステップS123へ移り、デュープリケートに
よっても更に回路変更条件を満たさない場合には、現在
移動したリーフが移動される前の状態に回路を戻し(S
127)、素子増結部25によって増結されたセルのう
ち、出力に何も接続されなかったセルを削除して(S1
24)負荷の移動を終了する。
【0048】このように、負荷の移動(S86)では遅
延を解析して、回路変更条件を満たすと共に違反リーフ
が存在しない場合、即ち遅延が改善されることが確実な
場合にのみ負荷の移動をすることによって、負荷の移動
の副作用による遅延の悪化を防ぐことを可能にしてい
る。また、負荷の移動による遅延最適化を行うのと同時
に、リパワーおよびデュープリケートによる遅延最適化
を行うことにより、負荷の移動だけで遅延最適化を行う
場合に較べて、遅延最適化の効果を更に強化することが
可能となる。
【0049】負荷の移動(S86)が終了したら負荷の
移動が1つ以上あったかどうかを判断する(S87)。
負荷の移動がなかった場合にはステップS82に移り、
負荷の移動があった場合には現在処理対象としている段
が3段目以上であるかを判断する(S88)。3段目以
上でない場合にはステップS82に移り、3段目以上で
ある場合には2段入力側の段を処理対象として(S8
9)、ステップS81へ戻り再び負荷移動部23の処理
を行う。ここで、2段入力側の段を処理対象として、再
びステップS81へ戻り負荷移動部23の処理を繰り返
し行うのは、負荷の移動が行われた段では遅延が改善さ
れているので、負荷の移動が3段目以上で行われた場合
(S87、S88)には、2段入力側にある段から負荷
の移動の行われた段へリーフを移動させても遅延を悪化
させない場合が考えられる。そこで、2段入力側の段を
再び処理対象にして負荷の移動を検討してみるのであ
る。
【0050】ステップS81から上記した処理を繰り返
し行い、負荷移動部23が終了したら冗長セル削除部2
7に移る。
【0051】冗長セル削除部27の処理を図13のフロ
ーチャートを参照して説明する。まず、素子増結部によ
って増結されたインバータのうち冗長なものを削除する
(S131)。冗長なインバータとは論理的に冗長であ
って、削除してもファンアウトツリー全体の遅延を大き
くしないインバータのことを指し、その一例を図14に
示す。
【0052】図14(a)の点線で囲まれた部分が冗長
なインバータである場合に、図14(b)に示すように
削除してしまう。但し、このような削除はどんな場合に
もできるわけではなく、削除によって遅延を大きくしな
い場合などに限られる。
【0053】そこで、ステップS131で削除できなか
った場合には、インバータのうち図14(a)の点線で
囲まれた部分のように2段直列に連結されている組を図
14(c)に示すようにバッファーに置き換える(S1
32)。置き換えるバッファの種類(タイプ)は2個の
インバータのどちらか一方と同じで、遅延値が小さくな
る種類(タイプ)を用いる。これで、冗長セル削除部2
7での処理は終了する。冗長セル削除部27により、負
荷の移動の副作用による回路の冗長性を取り除くととも
に、バッファを導入することによってインバータのみで
は実現不可能だった最適化を行うことが可能となる。
【0054】最適化効果評価部29を図15のフローチ
ャートを参照して説明する。まず、ファンアウトツリー
を遅延解析し(S151)、違反リーフが存在しない場
合(S152)、あるいは、違反リーフが存在するが
(S152)最適化前よりも遅延値が大きくなっていな
い場合には(S153)、最適化を終了する。ファンア
ウトツリーに違反リーフが存在し(S152)、かつ最
適化前よりも遅延値が大きくなっている場合(S15
3)には、ファンアウトツリーを最適化前の状態に戻し
て(S154)遅延最適化の処理を終了する。最適化効
果評価部29により、ファンアウトツリー全体について
の遅延最適化の効果を評価すると共に、遅延が改善され
ていない場合にはファンアウトツリーを最適化処理前の
状態に戻すことによって無意味な遅延最適化の処理を行
わないようにしている。
【0055】
【発明の効果】以上説明したように本発明の論理回路の
遅延最適化装置によれば、等価信号線が存在しない場合
や、等価信号線への移動によっても回路の遅延時間の短
縮が見込めない場合であっても、インバーター等のセル
を増結することによって等価信号線を自ら生成して負荷
を移動させるので、面積の増加等を伴うことなく、効果
的に遅延時間の短縮を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明による論理回路の遅延最適化装置の一実
施の形態の構成を示すブロック図である。
【図2】本発明による論理回路の遅延最適化装置の一実
施の形態の動作を説明するためのブロック図である。
【図3】セルの特性の例を示す図である。
【図4】ファンアウトツリーの例を示す図である。
【図5】ファンアウトツリー正規化部の処理を示すフロ
ーチャートである。
【図6】ファンアウトツリーの2段化の例を示す図であ
る。
【図7】負荷の移動の例を示す図である。
【図8】負荷移動部の処理を示すフローチャートであ
る。
【図9】移動先の選択の処理を示すフローチャートであ
る。
【図10】2段出力側に等価信号線が存在する場合の例
を示す図である。
【図11】インバータを増結する場合の例を示す図であ
る。
【図12】負荷の移動の処理を示すフローチャートであ
る。
【図13】冗長セル削除部の処理を示すフローチャート
である。
【図14】冗長なセルの削除及び冗長なセルのバッファ
による置き換えの例を示す図である。
【図15】最適化効果評価部の処理を示すフローチャー
トである。
【符号の説明】
1 入力装置 3 中央処理装置 5 メインメモリ 7 ファイル装置 9 出力装置 11 セルライブラリ 13 論理回路データ 15 遅延制約条件 17 ファンアウトツリー指定データ 19 処理対象最大段数 21 ファンアウトツリー正規化部 23 負荷移動部 25 素子増結部 27 冗長セル削除部 29 最適化効果評価部 31 新論理回路データ A,B,C,D,E リーフ F 出力ピン R ルート IV、IV1、IV2、IV3、IV4、IV5 イン
バータ BUF バッファ X 増結されたインバータにより生成されたリーフ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 遅延最適化を行う最大の段数を指定する
    処理対象最大段数を入力する入力手段と、 遅延最適化の処理を制御する制御プログラムを記憶する
    第1の記憶手段と、 論理回路内の各セルの特性を記憶したセルライブラリ
    と、前記論理回路のセルや結線の接続状態を記憶した論
    理回路データと、前記論理回路に対する遅延の制約を与
    える遅延制約条件と、遅延最適化の対象とするファンア
    ウトツリーを指定するファンアウトツリー指定データと
    を記憶する第2の記憶手段と、 この第2の記憶手段により記憶された前記セルライブラ
    リと前記論理回路データと前記遅延制約条件と前記ファ
    ンアウトツリー指定データと、前記入力手段により入力
    された前記処理対象最大段数とを参照して前記第1の記
    憶手段により記憶された前記制御プログラムによって、 遅延最適化の対象に指定された前記ファンアウトツリー
    を最適化するのに適した形に正規化する正規化段階と、
    この正規化段階で正規化されたファンアウトツリーの負
    荷を論理が等価な信号線が存在するときにはその信号線
    に、論理が等価な信号線が存在しないときにはセルを増
    結することによって論理が等価な信号線を生成してこの
    生成された信号線に移動させる負荷移動段階と、この負
    荷移動段階で増結されたセルの中で冗長なセルを処理す
    る冗長セル削除段階と、この冗長セル削除段階で冗長な
    セルの処理されたファンアウトツリーの遅延最適化の効
    果を評価する最適化効果評価段階とを実行して遅延最適
    化の処理を行う演算手段と、 この演算手段によって行われた遅延最適化の処理結果を
    出力する出力手段とから構成されていることを特徴とす
    る論理回路の遅延最適化装置。
  2. 【請求項2】 前記ファンアウトツリー正規化段階は、
    遅延最適化の対象に指定された前記ファンアウトツリー
    の3段目以上に遅延制約条件に違反しているリーフが存
    在する場合には、前記ファンアウトツリー内の正極性の
    リーフを1段目に、負極性のリーフを2段目に配置し、
    2段目に配置された前記リーフを駆動するためのインバ
    ータを有する2段のファンアウトツリーに変更すること
    を特徴とする請求項1に記載の論理回路の遅延最適化装
    置。
  3. 【請求項3】 前記負荷移動段階は、前記ファンアウト
    ツリー正規化段階で正規化されたファンアウトツリーに
    対して、遅延最適化の対象としている段から偶数段出力
    側に信号線がある場合にはその信号線を移動先として選
    択し、偶数段出力側に信号線がない場合にはインバータ
    を増結することで偶数段出力側の信号線を生成して移動
    先の信号線として選択し、前記遅延最適化の対象として
    いる段の充足リーフを選択された前記信号線に、回路変
    更条件を満たす場合に限って、移動させる負荷移動工程
    の繰り返しであって、 前記充足リーフの移動があった場合には偶数段入力側の
    段を遅延最適化の対象とし、前記充足リーフの移動がな
    かった場合には1段出力側の段を処理対象として、前記
    負荷移動工程を遅延最適化の対象としている段が前記処
    理対象最大段数に達するまで、あるいは遅延最適化の対
    象としている段より1段出力側の段が存在しなくなるま
    で繰り返し行うことを特徴とする請求項1に記載の論理
    回路の遅延最適化装置。
  4. 【請求項4】 前記負荷移動工程は、前記遅延制約条件
    に対して余裕のある前記充足リーフから順番に移動先と
    して選択された前記信号線に移動させ、移動された前記
    充足リーフが前記回路変更条件を満たさない場合には、
    選択された前記信号線を駆動するセルに対して駆動能力
    の大きいセルに置換する操作、駆動するセルを並列に増
    結して移動先の負荷を分散させる操作を行うことを特徴
    とする請求項3に記載の論理回路の遅延最適化装置。
  5. 【請求項5】 前記冗長セル削除段階は、前記増結され
    たインバータの中で論理的に冗長であって、削除しても
    ファンアウトツリー全体の遅延を大きくしないインバー
    タを削除し、削除しなかったインバータの中で2段直列
    に接続されている2つのインバータをバッファに置換す
    ることを特徴とする請求項3に記載の論理回路の遅延最
    適化装置。
  6. 【請求項6】 前記最適化効果評価段階は、前記ファン
    アウトツリーに前記遅延制約条件に違反するリーフが存
    在し、最適化の処理を行う前よりも前記ファンアウトツ
    リーの遅延が大きくなっている場合にはファンアウトツ
    リーを最適化前の状態に戻すことを特徴とする請求項1
    に記載の論理回路の遅延最適化装置。
JP9053199A 1997-03-07 1997-03-07 論理回路の遅延最適化装置 Pending JPH10254920A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9053199A JPH10254920A (ja) 1997-03-07 1997-03-07 論理回路の遅延最適化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9053199A JPH10254920A (ja) 1997-03-07 1997-03-07 論理回路の遅延最適化装置

Publications (1)

Publication Number Publication Date
JPH10254920A true JPH10254920A (ja) 1998-09-25

Family

ID=12936213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9053199A Pending JPH10254920A (ja) 1997-03-07 1997-03-07 論理回路の遅延最適化装置

Country Status (1)

Country Link
JP (1) JPH10254920A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7460666B2 (en) 2002-01-28 2008-12-02 International Business Machines Corporation Combinational circuit, encryption circuit, method for constructing the same and program
US11209985B2 (en) * 2019-04-23 2021-12-28 Macronix International Co., Ltd. Input/output delay optimization method, electronic system and memory device using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7460666B2 (en) 2002-01-28 2008-12-02 International Business Machines Corporation Combinational circuit, encryption circuit, method for constructing the same and program
US11209985B2 (en) * 2019-04-23 2021-12-28 Macronix International Co., Ltd. Input/output delay optimization method, electronic system and memory device using the same

Similar Documents

Publication Publication Date Title
US7716622B2 (en) Memory re-implementation for field programmable gate arrays
US8555218B2 (en) Decision modules
US6425110B1 (en) Incremental design tuning and decision mediator
US20070234266A1 (en) Method of optimizing IC logic performance by static timing based parasitic budgeting
US8332801B2 (en) Special engineering change order cells
US7886245B2 (en) Structure for optimizing the signal time behavior of an electronic circuit design
US8572543B2 (en) Automation of tie cell insertion, optimization and replacement by scan flip-flops to increase fault coverage
WO2010004668A1 (ja) 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法
JP6995451B2 (ja) 回路適正化装置及び回路適正化方法
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
JP2006178958A (ja) レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム
US7594203B2 (en) Parallel optimization using independent cell instances
US7761827B1 (en) Integrated circuit design system, method, and computer program product that takes into account observability based clock gating conditions
US7100140B2 (en) Generation of graphical congestion data during placement driven synthesis optimization
US20040216069A1 (en) Method of designing low-power semiconductor integrated circuit
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
US6782514B2 (en) Context-sensitive constraint driven uniquification and characterization of standard cells
US7146590B1 (en) Congestion estimation for programmable logic devices
JPH10254920A (ja) 論理回路の遅延最適化装置
US7260791B2 (en) Integrated circuit designing system, method and program
US11714950B2 (en) Automated timing closure on circuit designs
US7146591B2 (en) Method of selecting cells in logic restructuring
JP2000055986A (ja) 半導体集積回路の設計方法
JP3253477B2 (ja) 半導体集積回路の設計方法
JPH1125138A (ja) 論理回路の合成方法及びその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20050125

Free format text: JAPANESE INTERMEDIATE CODE: A621

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20061011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061013