(57)【特許請求の範囲】
【請求項１】
ＬＳＩの初期設計である機能設計の情報から予め定めたタイミング規格を満足するよう論理合成を行い、論理合成の結果に対してレイアウトを実行するＬＳＩの自動設計装置において、
タイミング規格を満足するように、機能設計の情報に対して、大駆動能力の第１のセルを用いて論理合成を実行してネットリストを生成する論理合成手段と、
前記ネットリストを用いて配置配線処理を行い、第１の配線抵抗及び容量付き回路接続情報とセルインスタンス座標情報とをそれぞれ第１の配線抵抗及び容量付き回路接続情報格納手段と第１のセルインスタンス座標情報格納手段とに格納するレイアウト実行手段と、
前記第１の配線抵抗及び容量付き回路接続情報格納手段に格納されている情報に対してタイミング検証を実行し、フリップフロップ間遅延情報をフリップフロップ間遅延情報格納手段に格納するタイミング検証実行手段と、
前記第１のセルよりも小駆動能力であり、前記第１のセルとは上地データとセルサイズが同一で、セルを構成するトランジスタのゲート幅を含む下地データが異なる第２のセルが格納された低電力ライブラリ格納手段と、
前記フリップフロップ間遅延情報格納手段に格納されている情報に対してタイミングマージンのチェックを行い、タイミングマージンのあるフリップフロップ間遅延情報があった場合は、当該フリップフロップ間遅延情報からフリップフロップ間パス遅延情報を抽出し、当該フリップフロップ間パス遅延情報にあるセルを置換対象のセルとして置換対象セル情報格納手段に格納するセル選択手段と、
前記置換対象セル情報格納手段に格納されている情報に基づいて、前記第１の配線抵抗及び容量付き回路接続情報格納手段に格納されている第１の配線抵抗及び容量付き回路接続情報中の前記第１のセルを前記低電力ライブラリ格納手段に格納されている前記第２のセルに置換し、置換後の第２の配線抵抗及び容量付き回路接続情報と置換されたセル情報とをそれぞれ第２の配線抵抗及び容量付き回路接続情報格納手段とセル置換情報格納手段とに格納するセル置換実行手段と、
前記セル置換情報格納手段に格納されている情報と、予め低電力セルレイアウト情報格納手段に格納されている低電力セルレイアウト情報と、前記第１のセルインスタンス座標情報格納手段に格納されている情報とに基づいてレイアウト修正を行うレイアウト修正手段と、を有することを特徴とするＬＳＩの自動設計装置。
【請求項２】
前記第２の配線抵抗及び容量付き回路接続情報格納手段に格納されている前記第２の配線抵抗及び容量付き回路接続情報に対して遅延計算を行い、フリップフロップ間の遅延情報を遅延再計算結果格納手段に格納する遅延再計算手段と、
前記遅延再計算結果格納手段に格納されている情報にタイミングエラーがあった場合は、前記第２の配線抵抗及び容量付き回路接続情報の前記タイミングエラーがあるフリップフロップ間パスのセルのうち、セル遅延の大きいセルを前記セル置換情報格納手段に格納されている情報に基づいて置換前のセルに戻す配線抵抗及び容量付き回路接続情報修正手段と、を更に有することを特徴とする請求項１に記載のＬＳＩ自動設計装置。
【請求項３】
前記セル選択手段は、前記フリップフロップ間遅延情報格納手段に格納されている情報に対してタイミングマージンのチェックを行い、タイミングマージンのあるフリップフロップ間遅延情報があった場合は、当該フリップフロップ間遅延情報からフリップフロップ間パス遅延情報を抽出し、当該フリップフロップ間パス遅延情報にあるセルの中から配線遅延値が所定の値以下であるセルを置換対象のセルとして置換対象セル情報格納手段に格納する、ことを特徴とする請求項１または２に記載のＬＳＩ自動設計装置。
【請求項４】
前記セル選択手段は、前記フリップフロップ間遅延情報格納手段に格納されている情報に対してタイミングマージンのチェックを行い、タイミングマージンのあるフリップフロップ間遅延情報があった場合は、当該フリップフロップ間遅延情報からフリップフロップ間パス遅延情報を抽出し、当該フリップフロップ間パス遅延情報にあるセルの段数が所定の値以上だった場合は、当該フリップフロップ間パス遅延情報にあるセルを置換対象のセルとして置換対象セル情報格納手段に格納する、ことを特徴とする請求項１または２に記載のＬＳＩ自動設計装置。
【請求項５】
前記セル選択手段は、前記フリップフロップ間遅延情報格納手段に格納されている情報に対してタイミングマージンのチェックを行い、タイミングマージンのあるフリップフロップ間遅延情報があった場合は、当該フリップフロップ間遅延情報からフリップフロップ間パス遅延情報を抽出し、当該フリップフロップ間パス遅延情報にあるセルの中からセル遅延値が所定の値以下であるセルを置換対象のセルとして置換対象セル情報格納手段に格納する、ことを特徴とする請求項１または２に記載のＬＳＩ自動設計装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＬＳＩの自動設計方法に関し、特にＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  ＩＣ：特定応用ＬＳＩ）において低電力設計技術を適用するためのＬＳＩの自動設計方法に関する。
【０００２】
【従来の技術】
近時、プロセスの微細化による回路規模の増加に伴ってＬＳＩの消費電力も増加の一途を辿っており、この消費電力を低減する手法の検討が進められている。
【０００３】
また、普及が著しい携帯機器などへの応用に代表されるように、今後の低電力技術はＬＳＩ設計において最も重要視される技術であり、さらなる低電力化が要求されることも予想される。
【０００４】
現状のＡＳＩＣの低電力ＬＳＩ設計手法においては、パワーコンパイラ等の電力最適化ツールを用いた論理合成による低電力設計を行っており、低電力ライブラリに基づいて低電力化を行っている。しかし、現状の合成ツールでは、低電力化重視で論理合成を行なった場合、駆動能力が小さいライブラリ素子による論理合成の結果、バックエンド設計後に配線負荷の影響で駆動能力不足に起因する遅延増加によりタイミングエラーを発生するケースが多くみられるのが現状である。
【０００５】
このような現状の低電力設計において、タイミングエラーを誘発してしまう背景には、論理合成時に低電力ライブラリを優先して合成している点、また、低電力化とバックエンドを考慮したタイミング確立の２つの概念を同時に考慮できていない点の２種類があると考えられる。また、このようなタイミングエラーを回避するために、現状は、エラーパスに関して低電力ライブラリの使用をやめ高駆動ライブラリを適用したり、バッファ挿入による配線負荷の影響除去対策などを行ない、せっかくの低電力合成をタイミング重視の合成へ戻してしまっている。さらに、このようなタイミング確立のためにＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ：処理時間）増加も招いており、低電力設計のＴＡＴにも影響を及ぼしてしまっている。
【０００６】
このような背景から、現状、短ＴＡＴでより適切な低電力ＬＳＩ設計技術の確立、及び、タイミング確立と低電力化を両立した設計フローの確立が必須となってきている。
【０００７】
従来の一般的な第１のＬＳＩの自動設計方法をフローチャートで示す図１０を参照すると、この従来の第１のＬＳＩの自動設計方法は、機能設計ステップＳ１の機能設計結果の情報を元に、論理合成ステップＳ２において、シノプシス（Ｓｙｎｏｐｓｙｓ）社のパワーコンパイラ等の電力最適化ツールを用いて駆動能力の小さい低電力セルのライブラリである低電力ライブラリＦ１０１を用いた論理合成を行なう。この合成結果に対してタイミング検証ステップＳ３において、ロントエンドのタイミング検証を行なう。判定ステップＳ４の判定結果によりタイミングエラーが発生したパスに関しては、エラーパスの重み付けステップＰ８において論理合成時の制限（タイミングを重視した大駆動能力、すなわち、高電力ライブラリセルの適用）を設け、再度、論理合成ステップＳ２により合成を行なう。このステップＳ２からＰ８までをタイミングエラーが収束するまで繰り返す。
【０００８】
次に、タイミング収束が確認できた時点で、レイアウト設計ステップＳ５において、低電力ライブラリＦ１０２を用いたレイアウト設計を行ない、レイアウトによる配線負荷、配線抵抗を考慮した回路接続情報（ＲＣネット）Ｆ１０３を抽出する。このＲＣネットＦ１０３に対して、再度タイミング検証ステップＳ６において今度はバックエンドのタイミング検証を行ない、配線負荷によるタイミングの影響をチェックする。判定ステップＳ７において、タイミングエラーと判断された場合は、再度レイアウト設計ステップＳ５に戻るか、又は、論理合成ステップＳ２まで戻る。タイミングエラー無しと判断された時点で電力検証ステップＰ９において最終的な消費電力検証を行ない、判定ステップＰ１０の判定結果、低電力化の確認がとれれば設計終了となり、期待する低電力化が得られなかった場合は、再度、論理合成ステップＳ２、レイアウト設計ステップＳ５の処理へ戻る。
【０００９】
このように、従来の第１のＬＳＩの自動設計方法では、低電力化のための論理合成、タイミング固定のための論理検証を個別に行ない、各ステップにおいてエラー修正を繰り返しながら低電力化設計を行なうフローとなっている。
【００１０】
上述したように、従来第１のＬＳＩの自動設計方法は、パワーコンパイラ等の電力最適化ツールを用いた論理合成による低電力設計を行っているが、駆動能力が小さいライブラリセルによる合成の結果駆動能力が不足し、バックエンド（後段）設計による配線負荷を十分駆動できず、その影響で遅延が増加するため、レイアウト後にタイミングエラーを発生するケースが多くみられている。
【００１１】
このため、従来はタイミングエラーが多発する部分を駆動能力の大きいライブラリセルに置換して上記遅延を低減することにより所定のタイミング規格内に収めるタイミング確立を行なう手法をとっていた。また、これら対策を自動ツールによる乱雑な処理により行っているため、結果的に必要以上の電力増加を招き、適切な低電力設計を行ない得ないという問題があった。
【００１２】
本問題の例をグラフで示す図１１を参照すると、この図は、あるマクロ製品におけるフリップフロップ（Ｆ／Ｆ）間のデータパス遅延分布をヒストグラム化したものである。横軸にＦ／Ｆ間のデータパス遅延値、縦軸にはマクロ製品内のＦ／Ｆ間パス数を示している。なお、このヒストグラムはセットアップタイミング検証結果であり、Ｆ／Ｆのクロック到達時間に対するデータパスの遅延のタイミングを示している。図１１（Ａ）は、駆動能力が小さい低電力ライブラリセルによる合成後のフロントエンド（前段）におけるタイミング検証結果を示し、（Ｂ）は、フロントエンド結果に対してレイアウト後のバックエンドにおけるタイミング検証結果を示す。このグラフよりフロントエンドからバックエンドに移行した際に、実配線時の配線負荷の影響でタイミングエラー（Ｅ部分）が発生していることがわかる。従来はこのタイミングエラー収束に時間を要し、さらにツールによる自動修正による電力増加を招いていた。
【００１３】
なお、人手により最適な修正を行うとしても、セル置換を行うライブラリの種類（低電力セル又は高駆動セル）によって配線負荷による遅延変動の影響や、タイミングを考慮した低電力化を行うのは難しく、ＴＡＴ的にも現実的ではないのが現状である。
【００１４】
その他のタイミング収束のための対策として、図１０のステップＳ６におけるレイアウト設計時にタイミングを考慮して配置配線を行うＴＤＬ（ＴｉｍｉｎｇＤｒｉｖｅｎ  Ｌａｙｏｕｔ：タイミング駆動レイアウト）ツールを用いる手法があるが、ＴＤＬでは概略配線（仮配線負荷）でのタイミング予測しかできないため、実配線負荷との誤差が生じてしまう。そのため、特に多数の低電力セルが使われている場合などは、冗長配線等によるタイミングエラーの誘発が顕著に起こってしまうという問題があったので、ＴＤＬの低電力設計への適用は難しい。
【００１５】
また、このようなタイミングエラーを防止するために、合成時にある程度のマージンを設けて設計を行った場合、全体的に駆動能力が大きいライブラリを使って合成されてしまうため、結局、低電力化として適切な設計を行なうことができないという問題が発生してしまう。
【００１６】
以上のように、低電力ライブラリ（駆動能力の小さいライブラリ）セルを用いた低電力設計においては、遅延増加によるタイミングエラーの誘発が大きな問題となっており、その解決策により電力が増加するなど最適な低電力設計が行えていないという問題がある。同様に、これらタイミング確立の後戻り処理の影響により、高集積化に伴う回路規模の増大とあいまって設計ＴＡＴの増加も招いてしまっている。
【００１７】
このような問題の共通の原因となっているのは、低電力化とタイミング確立との両立ができていないことにあると考える。すなわち、現状の低電力設計フローのように、低電力化のための論理合成、タイミング確立のための論理検証を個別に行ない、各ステップ毎にエラー修正を繰り返すような手法では最適な低電力設計、短ＴＡＴを実現するのは難しく、今後はこれら設計フローを改善する仕組みが必要であると考える。
【００１８】
さらに、現状の低電力設計フローにおける設計後のＦ／Ｆ間タイミングに着目すると、論理合成時に低電力ライブラリを用いたことによるタイミングエラー対策（バッファ置換：駆動能力向上）との兼ね合いにより、設計結果においては部分的にタイミングに余裕のあるパスが存在している。基本的に製品データにおいて全Ｆ／Ｆ間パスがクリティカルパスということは有り得ず、少なくとも全体の４、５割程度はタイミングに余裕のあるパスが存在するはずである。このような実状を考えた場合、現在の設計フローでは低電力化のための適切な低電力ライブラリの使用がされていないという問題を抱えていると言える。
【００１９】
あるマクロ製品におけるタイミング収束後のＦ／Ｆ間のデータパス遅延分布をヒストグラム化したものをグラフで示す図１２（Ａ）を参照すると、この図の横軸にＦ／Ｆ間のデータパス遅延値、縦軸にはマクロ製品内のＦ／Ｆ間パス数を示している。グラフから、データパス遅延が３．５ｎｓの所に集中していることが読み取れる。つまり、１０ｎｓのクロックに対して、セットアップ的に約６．５ｎｓのタイミングマージンを持つパスが多い結果となっている。すなわち、１００ＭＨｚクロックの動作における限界遅延時間＝１０ｎｓに対し、データパス部の遅延に余裕があるパスが多いことが分かる。
【００２０】
従って、このグラフから、従来の低電力設計フローにおいては最適な低電力ライブラリセルの適用ができていないということがいえる。これら結果から図１２（Ｂ）に示すようなタイミングマージンを極力なくすための適切な低電力ライブラリセルの使用（ヒストグラムを右方向へシフト）を行なうことができれば、さらなる低電力化が実現可能である。
【００２１】
次に、低電力化を第１の目的とはしないが、タイミングマージンを限界まで削減することを目的とする従来の第２のＬＳＩの自動設計方法を図１０と共通の構成要素には共通の参照文字／数字を付して同様にフローチャートで示す図１３を参照すると、この従来の第２のＬＳＩの自動設計方法は、ＭＡＧＭＡ社のツールによるもので、機能設計ステップＳ１の機能設計結果の情報を元に、タイミングマージン最適化ステップＰ２０の部分に関して、Ｂｌａｓｔ  Ｆｕｓｉｏｎツールを用いてタイミングマージンの最適化を行っている。
【００２２】
まず、ステップＰ２１において駆動能力が最大のセルを用いて論理合成を行ない、この合成結果に対してステップＰ２２においてフロントエンドのタイミング検証を行ない、タイミング収束後にバックエンドである概略配置のステップＰ２３へ進む。ステップＰ２３からステップＰ２６までの配置配線処理時には、常にステップＰ２７のタイミング検証を行い、タイミングを意識した設計を行うフローとなっている。
【００２３】
また、このタイミングマージン最適化ステップＰ２０のフローにおいては、タイミングマージンを限界まで減らすように、フロントエンドで使用した駆動能力最大のセルの能力を下げる処理も行っており、タイミングの最適化を行っている。その後、ステップＰ３１、Ｐ３２のレイアウト検証を行い設計を終了する。
【００２４】
このように、本設計フローでは論理合成結果に対して、タイミングを意識してレイアウト設計を行い、かつ、タイミングマージンを限界まで削減する処理を行うフローとなっている。
【００２５】
しかし、この従来の第２のＬＳＩの自動設計方法は、タイミングのみを考慮し、セルの駆動能力を低下させることによるタイミングマージンの削減しか行えないため、電力に関する要素は一切考慮されていない。従って、以下のような問題が発生する。
【００２６】
例えば、セル間の配線負荷が大きいような場合、タイミング調整のみを意識してセル置換（駆動能力低下）を行ってしまうと、出力波形が鈍るため、次段セルの貫通電流の増加を招き、それにより電力増加を招く可能性がある。また、先にも述べたように、本ツールでは初期設計において駆動能力が最大のセル、つまり、レイアウトサイズの大きいセルにて設計を行っており、さらに、レイアウト時にタイミングマージン削減のために駆動能力を低下させる場合は、レイアウトセルの中身のみを差し替えるイメージで修正を行うため、最終的に選択されたレイアウトのセルサイズが小さくてもＬＳＩのレイアウト的にはセル配置のシュリンクは行われず、ＬＳＩサイズが増加してしまうという懸念もある。
【００２７】
従来の第２のＬＳＩの自動設計方法におけるレイアウト修正結果の例をレイアウト図で示す図１４を参照すると、ＡＡ１からＡＡ３が初期設計時に適用したセルサイズ大のセルであり、初期設計時の配線（実線）がされている。これに対し、ＢＢ１からＢＢ３はタイミング調整後に適用されたセルサイズ小のセルであり、ＡＡ１からＡＡ３のセルに対し差し替えが行われ、配線も点線で示すような接続が追加で行われている。つまり、レイアウト的にはセルを置き換えるのみで、セルＢＢ間の配置を詰めることは行わない。すなわち、初期配置時に元の高駆動能力の大きいレイアウトサイズのセルのレイアウト面積を確保してセル配置を行っているので、低駆動能力の小さいレイアウトサイズのセルに置き換えてもレイアウト面積は変わらずＬＳＩ面積的に不利となる。
【００２８】
【発明が解決しようとする課題】
上述した従来の第１のＬＳＩの自動設計方法は、駆動能力が小さい低電力ライブラリセルを用いた低電力設計においては、遅延増加によるタイミングエラーの誘発が大きな問題となっており、その解決策として大電力の高駆動能力ライブラリセルに置換することによりタイミング確立を行なうので、結果的に必要以上の電力増加を招き、適切な低電力設計を行ない得ないという欠点があった。
【００２９】
また、タイミング確立の後戻り処理の影響により、高集積化に伴う回路規模の増大とあいまって設計ＴＡＴが増加するという欠点があった。
【００３０】
また、タイミングマージン最適化を図った従来の第２のＬＳＩの自動設計方法は、タイミングのみを考慮し、セルの駆動能力を低下させることによるタイミングマージンの削減しか行えないため、電力に関する要素は一切考慮していないので、セル間の配線負荷が大きいような場合、タイミング調整のみを意識して駆動能力低下するようセル置換を行うと、出力波形が鈍るため、次段セルの貫通電流の増加を招き、それにより電力増加を招く可能性があるという欠点があった。
【００３１】
また、初期設計において駆動能力が最大のセル、つまり、レイアウトサイズの大きいセルにて設計を行っており、さらに、レイアウト時にタイミングマージン削減のために駆動能力を低下させる場合は、レイアウトセルの中身のみを差し替えて修正を行うため、最終的に選択されたレイアウトのセルサイズが小さくてもＬＳＩのレイアウト的にはセル配置の縮小は行われず、ＬＳＩサイズが増加してしまうという欠点があった。
【００３２】
本発明の目的は、上記欠点を解消し、タイミング収束と低電力化の両立を実現し、短ＴＡＴで低電力化が図れるＬＳＩの自動設計方法を提供することにある。
【００３３】
【課題を解決するための手段】
本発明のＬＳＩの自動設計装置は、ＬＳＩの初期設計である機能設計の情報から予め定めたタイミング規格を満足するよう論理合成を行い、論理合成の結果に対してレイアウトを実行するＬＳＩの自動設計装置において、
タイミング規格を満足するように、機能設計の情報に対して、大駆動能力高電力の第１のセルを用いて論理合成を実行してネットリストを生成する論理合成手段と、前記ネットリストを用いて配置配線処理を行い、第１の配線抵抗及び容量付き回路接続情報とセルインスタンス座標情報とをそれぞれ第１の配線抵抗及び容量付き回路接続情報格納手段と第１のセルインスタンス座標情報格納手段とに格納するレイアウト実行手段と、前記第１の配線抵抗及び容量付き回路接続情報格納手段に格納されている情報に対してタイミング検証を実行し、フリップフロップ間遅延情報をフリップフロップ間遅延情報格納手段に格納するタイミング検証実行手段と、前記第１のセルよりも小駆動能力低電力であり、前記第１のセルとは上地データとセルサイズが同一で、セルを構成するトランジスタのゲート幅を含む下地データが異なる第２のセルが格納された低電力ライブラリ格納手段と、前記フリップフロップ間遅延情報格納手段に格納されている情報に対してタイミングマージンのチェックを行い、タイミングマージンのあるフリップフロップ間遅延情報があった場合は、当該フリップフロップ間遅延情報からフリップフロップ間パス遅延情報を抽出し、当該フリップフロップ間パス遅延情報にあるセルを置換対象のセルとして置換対象セル情報格納手段に格納するセル選択手段と、前記置換対象セル情報格納手段に格納されている情報に基づいて、前記第１の配線抵抗及び容量付き回路接続情報格納手段に格納されている第１の配線抵抗及び容量付き回路接続情報中の前記第１のセルを前記低電力ライブラリ格納手段に格納されている前記第２のセルに置換し、置換後の第２の配線抵抗及び容量付き回路接続情報と置換されたセル情報とをそれぞれ第２の配線抵抗及び容量付き回路接続情報格納手段とセル置換情報格納手段とに格納するセル置換実行手段と、前記セル置換情報格納手段に格納されている情報と、予め低電力セルレイアウト情報格納手段に格納されている低電力セルレイアウト情報と、前記第１のセルインスタンス座標情報格納手段に格納されている情報とに基づいてレイアウト修正を行うレイアウト修正手段と、を持つことを特徴とするものである。
【００４４】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００４５】
本実施の形態のＬＳＩの自動設計方法は、ＬＳＩの初期設計である機能設計の結果に基づき予め定めたタイミング規格を満足するよう第１のセルを用いて論理合成を行い、この論理合成の結果生成した回路接続情報である第１のネットについて上記タイミング規格を満足させるよう実施するタイミング収束の確認後に第１のセルの配置配線である第１のレイアウトを実行するＬＳＩの自動設計方法において、上記論理合成を、上記タイミング規格の満足を重視して大駆動能力従って高電力の上記第１のセルを用いて実施し、上記第１のレイアウトの検証後に上記タイミング規格を考慮しながら上記第１のセルより小駆動能力従って低電力の第２のセルに置換する上記第１のネットの修正を行い低電力化した第２のネットと上記第１のセルから上記第２のセルへの置換情報とを抽出する最適化セル置換処理ステップを有することを特徴とするものである。
【００４６】
これにより、予め定めたタイミング規格の満足を重視して設計した論理回路のタイミング収束後の結果において、タイミングマージンを低減するように回路修正する仕組みと、回路修正時に同時に前段及び後段のフリップフロップ（Ｆ／Ｆ）間の遅延計算を行いタイミングエラー発生を防止する仕組みと、回路修正時に電力削減に有効なセルを選択して適切なセル置換を行う仕組みを持たせることで、タイミング収束と低電力化を両立させた設計を実現し、従来よりも短ＴＡＴでより低電力化が図れることを特徴とする。なお、本実施の形態では回路修正時に選択したセルを低電力セルへ置換することにより低電力化を図るが、ここで使用する低電力ライブラリは上地データ、レイアウトセルサイズ、端子位置などを従来セルと同一とし、トランジスタのゲート幅（Ｗ）サイズ（下地データ）のみを小さくしたデータとすることで、回路修正に伴うレイアウト修正のＴＡＴを大幅に削減することが出来ることも特徴とする。さらに、これら低電力セルのバリエーションを複数持つことにより、より効果的に低電力化のためのセル置換が可能であることを特徴とするものである。
【００４７】
次に、本発明の第１の実施の形態を図１０と共通の構成要素には共通の参照文字／数字を付して同様にフローチャートで示す図１を参照すると、この図に示す本実施の形態のＬＳＩの自動設計方法は、従来と共通のＬＳＩの初期設計である機能設計を行う機能設計ステップＳ１と、機能設計ステップＳ１の結果に基づきタイミング規格の満足を優先して大駆動能力従って高電力のセル（以下高電力セル）を用いて論理合成を行う論理合成ステップＳ２と、論理合成結果生成された回路接続情報（ネット）に対してフロントエンドでのタイミング検証を行いＦ／Ｆ間遅延情報Ｆ１を生成するタイミング検証ステップＳ３と、Ｆ／Ｆ間遅延情報Ｆ１に対してタイミング規格の不満足であるタイミングエラー有無の判定を行い、タイミングエラーがあった場合は、論理合成ステップＳ２に戻り、タイミング収束が確認されれば、次のレイアウト設計ステップＳ５へ進む判定ステップＳ４と、タイミング収束後のネットを用いて自動配置配線を行い、レイアウト検証後に配線抵抗、容量を考慮したＲＣネットＦ２の抽出を行うレイアウト設計ステップＳ５と、レイアウト設計ステップＳ５で抽出したＲＣネットＦ２に基づきバックエンドのタイミング検証を行いＦ／Ｆ間遅延情報Ｆ３を生成するタイミング検証ステップＳ６と、Ｆ／Ｆ間遅延情報Ｆ３に対してタイミングエラー有無の判定を行い、タイミングエラーがあった場合は、論理合成ステップＳ２、又は、レイアウト設計ステップＳ５に戻り、タイミング収束が確認されれば、ＬＳＩ設計後の産物でありＲＣネットＦ２に対応するＲＣネットＦ５のライブラリを抽出して次のステップへ進む判定ステップＳ７とに加えて、Ｆ／Ｆ間遅延情報Ｆ３に対して各Ｆ／Ｆ間遅延のタイミング規格に対する余裕であるタイミングマージン値をチェック（抽出）するマージン値チェックステップＳ８と、マージン値チェックステップＳ８で抽出したマージン値に対し、全てのＦ／Ｆ間についてのタイミングマージンの有無を判断して低電力化の処理を行なう必要があるかどうかを決定しタイミングマージンがなければ設計を終了し、タイミングマージンが存在すればそのままＦ／Ｆ間遅延情報Ｆ３からＦ／Ｆ間遅延情報Ｆ６を抽出し低電力化の処理を行う最適化セル置換処理ステップＳ１０へ進むマージン判断ステップＳ９と、本実施の形態を特徴付けるステップであり、先に抽出したＲＣネットＦ４、Ｆ／Ｆ間遅延情報Ｆ６、及び、セル遅延情報Ｆ５を用いてタイミング規格を考慮しながら上記高電力のセルより小駆動能力従って低電力のセル（以下低電力セル）に置換する低電力化のためのネット修正を行い低電力版の新ＲＣネットＦ７と低電力セルへの置換情報Ｆ８を抽出する最適化セル置換処理ステップＳ１０と、低電力処理前のＲＣネットＦ４と低電力処理後の新ＲＣネットＦ７とセル単位の電力ライブラリ（ＬＩＢ）Ｆ９を用いて、各ネットの消費電力抽出を行う消費電力抽出ステップＳ１１と、ステップＳ１１の結果に基づき低電力処理後のネットが低電力処理前のネットより電力削減されていることを確認し、ＯＫと判断した場合は、次のレイアウト修正ステップＳ１４へ進む比較判定ステップＳ１２と、比較判定ステップＳ１２でＮＧと判断した場合は、低電力セルへの置換手法の変更を行い、再度、最適化セル置換処理ステップＳ１０へ戻り低電力処理を行う置換順序変更ステップＳ１３と、最適化セル置換処理ステップＳ１０で得られるセル置換情報Ｆ８と低電力セルレイアウト情報Ｆ１０とステップＳ５のレイアウト設計時に抽出される置換前の高電力セルのインスタンスとレイアウト座標の情報であるセルインスタンス座標情報（ＤＥＦ）Ｆ１１を用いてレイアウト修正を行うレイアウト修正ステップＳ１４と、レイアウト修正ステップＳ１４後のレイアウト検証を行うレイアウト検証ステップＳ１５とを有する。
【００４８】
本実施の形態を特徴付ける最適化セル置換処理ステップＳ１０の詳細をフローチャートで示す図２を参照すると、この最適化セル置換処理ステップＳ１０は、Ｆ／Ｆ間遅延情報Ｆ６からタイミングマージン削減が可能なＦ／Ｆ間パスの抽出を行うＦ／Ｆ間パス抽出ステップＳ１０１と、Ｆ／Ｆ間パス抽出ステップＳ１０１で抽出したＦ／Ｆ間パスに関して電力削減に有効となるセル（高電力セル）の選択を行うセル選択ステップＳ１０２と、ＲＣネットＦ４と低電力セル名情報Ｆ１３を用いて低電力化のためのネット修正、すなわち、セル名置換を行い新ＲＣネットＦ１４とセル置換情報Ｆ１５を出力するセル置換ステップＳ１０３と、新ＲＣネットＦ１４とセル遅延情報Ｆ５と、低電力セルの遅延情報である低電力セル遅延情報Ｆ１２とを用いてセル置換を行った新ＲＣネット遅延情報（ＳＤＦ）Ｆ１６の再抽出を行う遅延情報再抽出ステップＳ１０４と、ステップＳ１０４で抽出したセル置換による遅延変動を考慮したＳＤＦＦ１６とステップＳ１０３で抽出したセル置換情報Ｆ１５と旧Ｆ／Ｆ間遅延情報Ｆ６とを用いて新Ｆ／Ｆ間遅延の計算を行い新Ｆ／Ｆ間遅延情報Ｆ１７を生成するＦ／Ｆ間遅延計算ステップＳ１０５と、新Ｆ／Ｆ間遅延情報Ｆ１７に基づきタイミングマージンが最適かどうかを判断し各Ｆ／Ｆ間パスにおいてタイミングマージンが限界（かつ、タイミングエラー無し）と判断した場合は低電力化のためのセル置換を行った最終版の新ＲＣネットＦ７とセル置換情報Ｆ８を抽出し、タイミングオーバを確認した場合は、ＲＣネット修正ステップＳ１０７に進む最適マージン判断ステップＳ１０６と、セル置換情報Ｆ１５、新Ｆ／Ｆ間遅延情報Ｆ１７、旧Ｆ／Ｆ間遅延情報Ｆ６を用いて新ＲＣネットＦ１４に対してネット修正を行い、再度ステップＳ１０４に戻るＲＣネット修正（再置換）ステップＳ１０７とを有する。
【００４９】
この最適化セル置換処理ステップＳ１０の処理を繰り返し、低電力版の回路接続情報である新ＲＣネットＦ７とセル置換情報Ｆ８を抽出する。
【００５０】
次に、図１を参照して本実施の形態の全体動作について説明すると、本実施の形態では、タイミング調整と低電力化（低電力セル置換）を個別に行なうのではなく、双方を同時に考慮して適切な低電力セルの選択を行なうことにより、短ＴＡＴで低電力なＬＳＩの設計を可能とするＬＳＩの自動設計方法を実現するものである。
【００５１】
まず、機能設計ステップＳ１の機能設計の情報に基づき論理合成ステップＳ２においてシノプシス（Ｓｙｎｏｐｓｙｓ）社のパワーコンパイラ等の電力最適化ツールを用いて論理合成を行なう。ただし、本実施の形態での論理合成においては、従来とは異なり、必要以上に電力優先の重み付けは行なわない。すなわち、初期設計においてはタイミング優先で論理合成を行なう。これにより、従来、低電力ライブラリの影響でタイミング収束に要していた時間・工数がなくなり、論理合成ステップＳ２からバックエンド（後段）のタイミング収束の判定ステップＳ７までの処理が短ＴＡＴで設計可能となる。
【００５２】
タイミング検証ステップＳ３で、論理合成ステップＳ２の論理合成結果である回路接続情報（ネット）に対してフロントエンド（前段）でのタイミング検証を行い、タイミング検証結果であるＦ／Ｆ間遅延情報Ｆ１に対して、判定ステップＳ４で所定のタイミング規格を満足しないタイミングエラー有無の判定を行う。タイミングエラーがあった場合は、論理合成ステップＳ２に戻り、タイミング収束が確認されれば、レイアウト設計ステップＳ５へ進む。
【００５３】
レイアウト設計ステップＳ５では、タイミング収束後のネットを用いてＴＤＬ（Ｔｉｍｉｎｇ  Ｄｒｉｖｅｎ  Ｌａｙｏｕｔ：タイミング駆動レイアウト）ツール等を併用した自動配置配線を行い、バックエンドにおけるタイミング収束を考慮したレイアウトを行う。又、レイアウト検証後に配線抵抗、容量を考慮したＲＣネットＦ２の抽出も行う。次に、タイミング検証ステップＳ６で、レイアウト設計ステップＳ５で抽出したＲＣネットＦ２に基づきバックエンドのタイミング検証を行い、判定ステップＳ７で、タイミング検証ステップＳ６のタイミング検証結果であるＦ／Ｆ間遅延情報Ｆ３に対してタイミングエラー有無の判定を行う。タイミングエラーがあった場合は、論理合成ステップＳ２、又は、レイアウト設計ステップＳ５に戻り、タイミング収束を確認すれば、ＬＳＩ設計後の生成物であるＲＣネットＦ４のライブラリを抽出して次のステップへ進む。
【００５４】
しかし、先にも説明したように、論理合成ステップＳ２の合成時にはタイミングを優先して合成を行っているので、レイアウト後の配線負荷の影響によるタイミングエラーの多発などの後戻り工数はそれほど発生しない。つまり、従来のように設計当初から低電力ライブラリ（低駆動能力ライブラリ）素子を用いた設計を行わないことにより、レイアウト後の配線負荷による出力波形鈍化の影響を抑えた設計を実現している。以上のステップＳ１からステップＳ７までの基本的な処理フローは従来の第１のＬＳＩの自動設計方法の処理フローと同様である。
【００５５】
以上の設計結果を用いて、以下に説明する低電力化の処理を行う。
【００５６】
低電力化の処理としては、レイアウト後に抽出されるタイミング収束後の配線抵抗、容量付きの回路接続情報のライブラリであるＲＣネットＦ４と、タイミング収束後のタイミング検証結果サマリのライブラリであるＦ／Ｆ間遅延情報Ｆ６と、セル単位の遅延情報のライブラリであるセル遅延情報Ｆ５との３種類のライブラリを用いて、本実施の形態を特徴付ける低電力化のためのネット修正処理である最適化セル置換処理ステップＳ１０を行う。
【００５７】
図１を再度参照すると、まず最初に、タイミング検証結果サマリであるＦ／Ｆ間遅延情報Ｆ３からマージン値チェックステップＳ８、マージン判断ステップＳ９において、全Ｆ／Ｆ間のタイミングマージンの有無を判断し、低電力化の処理を行なう必要があるかどうかを決定する。もし、タイミング的にマージンがあるパスが存在する場合は、そのままＦ／Ｆ間遅延情報Ｆ３をＦ／Ｆ間遅延情報Ｆ６として抽出して最適化セル置換処理ステップＳ１０へ進み、本実施の形態の仕組みによる低電力設計を行なう。タイミングマージンが全Ｆ／Ｆ間パスに存在しなければ設計を終了する。
【００５８】
最適化セル置換処理ステップＳ１０では、配線負荷を考慮したタイミング検証後に抽出したＲＣネットＦ４、Ｆ／Ｆ間遅延情報Ｆ６、及び、セル遅延情報Ｆ５の３種類の情報を用いてタイミングを考慮しながら低電力化のためのセル置換を行ない、最終的に低電力版の新ＲＣネットＦ７と、ＲＣネット内のセルを低電力セルへ置換した置換情報Ｆ８との抽出を行なう。
【００５９】
最適化セル置換処理ステップＳ１０における低電力手法の概要を簡単に説明すると、まず、ＲＣネットＦ４に対して、各Ｆ／Ｆ間パスの遅延を計算しながら各パスのタイミングマージンが最小となるように適切な低電力ライブラリ（小駆動能力ライブラリ）セルへのセル置換を行なう。ただし、セル置換の際には、電力削減に有効なセルのみを選択する仕組みを持ち、セル置換による予期せぬ電力増加を防止する。又、セル置換時には、セルの駆動能力変化による各配線遅延、セル遅延の変動を計算し、Ｆ／Ｆ間のトータル遅延値の再計算を行なう仕組みを持っているため、セル置換による予期せぬタイミングエラーも発生しない。
【００６０】
このようにタイミングマージンを極力減らすという概念を持ち、Ｆ／Ｆ間の遅延計算を行ないながら電力削減に最適なセル置換を行なうことにより、各セルの駆動能力を限界まで低減することができ、結果的に電力削減を実現できる。
【００６１】
次に、図２を参照して最適化セル置換処理ステップの処理動作について詳細に説明すると、まず、タイミング収束後のタイミング検証結果サマリであるＦ／Ｆ間遅延情報Ｆ６の情報からＦ／Ｆ間パス抽出ステップＳ１０１で、タイミングマージン削減が可能なパスの情報を抽出し、セル選択ステップＳ１０２で、抽出した各Ｆ／Ｆ間パスに関してタイミングマージンが最小となるようなセルの選択を行うのと同時に、電力削減に有効となるセルの選択を行う。
【００６２】
ここで、本実施の形態のポイントである電力削減に有効となるセル選択の手法について説明する。
【００６３】
Ｆ／Ｆ間パスの一例を等価回路で、このＦ／Ｆ間パスの各セル毎のセル内遅延とセル間の配線遅延の情報の一例を表形式でそれぞれ示す図３を参照すると、図３（Ａ）に示すセルＡとセルＢとから成るＦ／Ｆ間パスの各セル毎のセル内遅延とセル間の配線遅延の情報が図３（Ｂ）に示す内容であるものとする。その場合、配線遅延の大きいセルＡの部分のセル置換を行い駆動能力を低減する処理をした場合、次段のセルＢの入力波形が極端に鈍る可能性があり、次段セルＢの貫通電流の増加を招く恐れがある。貫通電流の増加はＬＳＩの電力増加につながることになるため、セルＡのような配線遅延が大きいセルはセル置換対象から外す必要がある。つまり、電力削減を目的としてタイミングマージンを削減する場合、配線遅延を無視して全てのセルを対象にセル置換を行うことは避けなければならないと言える。
【００６４】
従って、本実施の形態における低電力セル置換時には配線遅延が大きいセルを除外する仕組みを持ち、電力削減に有効なセルのみを選択する処理を有する。例えば、図３の例においては、セルＡ以外のセルのみ置換対象とした選択方式をとることになる。
【００６５】
このセル選択ステップＳ１０２の処理内容の詳細をフローチャートで示す図４を参照すると、まず、タイミングマージン削減可能なＦ／Ｆ間パス遅延情報Ｆ２１に対して、予め設定した配線遅延のセル（高電力セル）、例えば、配線遅延が０．２ｎｓ以下のセルが存在するかどうかを判定ステップＳ１０２１においてチェックし、存在すればそのセルを置換セル選択ステップＳ１０２２で、置換対象としてセル名及びインスタンス名を選択し、該当セルが０．２ｎｓ以上の配線遅延を持っていれば置換対象除外ステップＳ１０２３へ進み、該当セルを置換対象外とする。これらの判定ステップＳ１０２１から置換対象除外ステップＳ１０２３までの処理をタイミングマージン削減可能なＦ／Ｆ間パスに対して繰り返し行ない、最終的に置換が可能な置換セル情報Ｆ２２の抽出を行なう。なお、セル置換対象とする配線遅延値に関しては、予め適切な配線遅延の制限値を設けておくことにより、電力のみならず、遅延値の増加も防止することが出来る（ステップＳ１０２１にて設定）。
【００６６】
また、セル選択ステップＳ１０２は、配線遅延に着目したものとなっているが、その他の電力削減に有効となるセル選択の手法として、セル内遅延に制限を設け、セル遅延の小さいもの（消費電力の大きなセル）から優先して選択して置換していくなどの方法も有効である。さらに、Ｆ／Ｆ間パスにおいてセル段数の少ないパスはタイミングに余裕があり過ぎることが予想されるので、無理なセル置換によるタイミングマージンの削減（必要以上に駆動能力を下げることによる次段の貫通電流増加）を防止する目的で、予め設定したセル段数以下のＦ／Ｆ間パスをあえてセル置換対象から外しておく等の手法も有効となる。
【００６７】
図２のフローの説明に戻り、前述した手法により選択した電力削減に有効となるセルに対し、セル置換ステップＳ１０３においてＲＣネットのセル置換処理を行う。
【００６８】
ステップＳ１０３では、ＲＣネットＦ４と低電力セル名情報Ｆ１３とステップＳ１０２で選択したセル情報を用いて低電力化のためのネット修正、すなわち、セル置換を行い、新ＲＣネットＦ１４とセル置換情報Ｆ１５とを出力する。このセル置換時は、低電力セル名情報Ｆ１３から置換対象セルの駆動能力より１ランク小さい低電力セルを選択して置換を行なう。置換対象セルの駆動能力の判定は、予め初期設計に用いるセル名の最後尾に駆動能力のランクを示すＸ１、Ｘ２、Ｘ３等のユニークな文字を付けておくことにより容易に行なうことが可能である。ここで駆動能力の１ランクとは、駆動能力がトランジスタのゲート幅Ｗにより決まることから、説明の便宜上、Ｗサイズを小さい方から所定のステップ（段階）で順に大きくした場合の１段階分をいう。例えば、Ｘ１＞Ｘ２＞Ｘ３・・・の順で駆動能力が１ランクずつ低減するものとする。すなわち、置換対象セルの駆動能力のランクがＸ１（以下Ｘ１能力）であるとすると、１ランク下げた置換セルはＸ２能力となる。
【００６９】
また、出力に付加する負荷インピーダンスや出力最大負荷容量などにより駆動能力を判定することも可能である。なお、置換時に駆動能力を１ランクだけ落とす理由は、過度の駆動能力低下により、配線負荷の影響で出力波形が鈍り、次段セルの貫通電流を誘発することを防止するためである。
【００７０】
なお、本実施の形態で使用する低電力セル遅延情報及び低電力セル名情報Ｆ１３から成る低電力ライブラリ（小駆動能力ライブラリ）は、従来からタイミング調整用として存在するフットプリントセルライブラリ（ＦＰＬＩＢ）と呼ばれるものであり、例えば、このＸ２能力の置換セルは、Ｘ１能力の置換対象セルに対し、配線などの上地データとレイアウトのセルサイズは同一で、トランジスタのＷサイズなどの下地データのみが異なる（小さい）ライブラリとなっている。従って、回路、レイアウト共にデータ差し替えのみで修正が可能という利点を持っている（回路内のセル名置換を行なっても再度の論理合成、再度の配置配線は必要ない）。つまり、このＦＰＬＩＢを低電力技術に用いることで、単純な回路変更（セル置換）、レイアウト修正が可能となる。
【００７１】
低電力ライブラリ（ＦＰＬＩＢ）のレイアウト例を示す図５を参照すると、図５（Ａ）に示すトランジスタのＷサイズがＷ１の大駆動能力の置換対象セルであるインバータ５１（等価回路は図５（Ｃ））に対し、図５（Ｂ）に示す配線などの上地データとレイアウトのセルサイズは同一で、トランジスタのＷサイズのみＷ１より小さいＷ２の小駆動能力の置換セルであるインバータ５２（等価回路は図５（Ｄ））を含む。従って、インバータ５１をインバータ５２に置換することで、低電力化を図ることが可能となる。
【００７２】
次に、図２の説明に戻り、遅延情報再抽出ステップＳ１０４においては、新ＲＣネットＦ１４とセル遅延情報Ｆ５と、低電力セル遅延情報Ｆ１２を用いて、セル置換を行った新ＲＣネットＦ１４の遅延情報（ＳＤＦ）Ｆ１６の再抽出を行っている。こうして抽出されたセル置換による遅延変動を考慮した新しい遅延情報ＳＤＦＦ１６と、セル置換ステップＳ１０３で抽出したセル置換情報Ｆ１５と、旧Ｆ／Ｆ間遅延情報Ｆ６を用いて、Ｆ／Ｆ間遅延計算ステップＳ１０５で、新Ｆ／Ｆ間遅延の計算を行う。以上の処理により、実配線抵抗（Ｒ）、実配線容量（Ｃ）を考慮した低電力セル置換後の新Ｆ／Ｆ間遅延情報Ｆ１７を抽出でき、実配線が考慮されたタイミングエラーの判定が可能となる。
【００７３】
Ｆ／Ｆ間遅延計算ステップＳ１０５のＦ／Ｆ間遅延の再計算例を示す図６を参照すると、セル置換前のＦ／Ｆ間遅延情報Ｆ６に対し、セル置換を行った新ＲＣネットの遅延情報の各インスタンスと遅延値の情報であるＳＤＦＦ１６を用いてＦ／Ｆ間遅延の再計算を行なった結果がセル置換後の新Ｆ／Ｆ間遅延情報Ｆ１７となる。
【００７４】
この例では、低電力セルへの置換処理により、ＳＤＦＦ１６のＩＮＴＥＲＣＯＮとＩＯＰＡＴＨの各項の数値を新Ｆ／Ｆ間遅延情報Ｆ１７のＩＮＴＥＲＣＯＮとＩＯＰＡＴＨの各項（Ａで示す部分）に代入し、Ｆ／Ｆ間遅延の再計算が行われていることを示しており、結果として、タイミングマージンＢの値がＦ／Ｆ間遅延情報Ｆ６における２．８６２ｎｓから新Ｆ／Ｆ間遅延情報Ｆ１７における０．０９４ｎｓに減っていることが確認できる（駆動能力減→電力減）。
【００７５】
再び図２に戻り、判断ステップＳ１０６において、新Ｆ／Ｆ間遅延情報Ｆ１７に基づき、タイミングマージンが最適かどうかの判断を行い、もし、各Ｆ／Ｆ間パスにおいてタイミングマージンが限界（かつ、タイミングエラー無し）と判断した場合は、低電力化のためのセル置換を行った最終の新ＲＣネットＦ７とセル置換情報Ｆ８を抽出する。また、タイミングオーバを確認した場合は、セル置換情報Ｆ１５、新Ｆ／Ｆ間遅延情報Ｆ１７、旧Ｆ／Ｆ間遅延情報Ｆ６を用いて新ＲＣネットＦ１４に対してＲＣネット修正ステップＳ１０７で、ネット修正を行い、再度遅延情報再抽出ステップＳ１０４に戻る。
【００７６】
ＲＣネット修正ステップＳ１０７では、例えば、タイミングオーバしている遅延値に基づき、逆算してオーバ分の遅延値を低減させる処理を行う。具体的には新Ｆ／Ｆ間遅延情報Ｆ１７とセル置換情報Ｆ１５と旧Ｆ／Ｆ間遅延情報Ｆ６からどのセルを元に戻せば良いかを判断してネット修正を行う。これにより、タイミングオーバ分のセルのみセル置換が可能なので、必要以上に低電力セルを元に戻す必要がない。また、ＴＡＴを重視する場合は、タイミングエラーがあるＦ／Ｆ間パスのうちセル遅延の大きい上位３つのセルを新Ｆ／Ｆ間遅延情報Ｆ１７とセル置換情報Ｆ１５を用いて選択し、一律にネット修正することで、短ＴＡＴにタイミング収束させることが可能である。
【００７７】
以上が本実施の形態を特徴付ける最適化セル置換処理ステップＳ１０の処理となる。この最適化セル置換処理ステップＳ１０の処理を繰り返し、最終的にタイミングエラーの無い低電力版の回路接続情報である新ＲＣネットＦ７と低電力セルへの置換情報Ｆ８を抽出する。
【００７８】
つまり、この最適化セル置換処理ステップＳ１０の処理を有することにより、タイミング調整と低電力化（低電力セル置換）を同時に考慮ができる。
【００７９】
最後に図１の全体フローを再度参照して、消費電力抽出ステップＳ１１以降の処理に関して説明すると、まず、消費電力抽出ステップＳ１１で、低電力処理前のＲＣネットＦ４と最適化セル置換処理ステップＳ１０にて低電力処理後の新ＲＣネットＦ７とセル単位電力ライブラリＦ９を用いて、低電力化前後での各消費電力の抽出を行う。その後、比較判定ステップＳ１２で、消費電力抽出ステップＳ１１の結果に基づき低電力処理後のネットが低電力処理前のネットより電力削減されていることを確認する。比較判定ステップＳ１２でＮＧと判断した場合は、置換順序変更ステップＳ１３へ進み、低電力セルへの置換手法の変更や、セル置換対象とする配線遅延の制限値変更などを行い、再度、最適化セル置換処理ステップＳ１０の低電力化処理を行う。比較判定ステップＳ１２でＯＫと判断した場合は、レイアウト修正ステップＳ１４へ進み、最適化セル置換処理ステップＳ１０で得られるセル置換情報Ｆ８と低電力セルレイアウト情報Ｆ１０とレイアウト設計ステップＳ５のレイアウト設計時に抽出されるセルのインスタンスとレイアウト座標の情報であるＤＥＦＦ１１を用いてレイアウト修正を行う。
【００８０】
前述したように、本設計フローでは低電力ライブラリとしてＦＰＬＩＢを用いているため、レイアウト修正は単純な置き換え作業のみであり、短ＴＡＴで修正可能である。具体的にはセル置換情報Ｆ８に記述されているインスタンス情報と、ＤＥＦＦ１１に記述されているインスタンスとレイアウト座標の情報からセル置換を行なったレイアウト座標の特定を行ない、特定した座標のセル置換処理をシェルにより自動で行なう。又は、セル置換情報Ｆ８に記述されているインスタンス情報に基づき、ＤＥＦＦ１１中の該当するセル名変換を行い、再度、ＤＥＦＦ１１からレイアウトデータの再抽出を行なっても良い。
【００８１】
その後、レイアウト検証ステップＳ１５で、レイアウト検証、クロストークの検証などを行い、ＬＳＩの設計を終了する。なお、最適化セル置換処理ステップＳ１０のセル置換処理において、事前に置換後のレイアウトの配線抵抗、容量を考慮したタイミング計算を行なっていることになるので、本レイアウト修正により、タイミングエラーが再発生することはない（本レイアウト修正方法では、セル入れ替えのみであり、配線パタン等は不変である）。
【００８２】
以上の仕組みにより、タイミング調整と低電力化（低電力セル置換）を同時に考慮しながら適切な低電力設計を行なうことができ、短ＴＡＴで低電力なＬＳＩが設計可能となる。
【００８３】
本実施の形態のＬＳＩの自動設計方法は、タイミングを考慮しながら電力削減に有効なセルのみを低電力ライブラリへ置換する仕組みである最適化セル置換処理ステップを有することにより、タイミングエラーを誘発することなく低電力設計が可能となる。
【００８４】
例えば、従来の第１の低電力技術で設計したマクロ製品において本実施の形態を適用した場合の例では、従来技術によるマクロ製品の消費電力５３．７ｍＷに対し、本実施の形態の設計法による同一機能性能のマクロ製品の消費電力は４６．４ｍＷと、約１３％の電力削減が可能という効果を確認できた。
【００８５】
同様に、従来の第２の低電力技術に対する本実施の形態の電力削減効果は、約３％の電力削減となった。
【００８６】
また、フットプリントライブラリを用いることで、セル名変更（セル置換）により、単純な回路変更、レイアウト変換が可能となり、再合成、再配置配線によるＴＡＴは発生しないため、短ＴＡＴで低電力化が実現可能となる。
【００８７】
また、従来、タイミングエラー誘発などの問題により、低電力ライブラリを用いた合成が困難であったが、本実施の形態では合成後に低電力ライブラリの有効利用が可能となる。
【００８８】
また、従来の低電力化によるタイミング収束性悪化により、設計ＴＡＴ増加が懸念されていたが、本実施の形態により、実配線負荷を考慮したタイミング収束と低電力化を同時に考慮した設計が可能となるので、設計ＴＡＴの向上が図れる。
【００８９】
さらに、クリティカルパス、それ以外のパスの区別なく、容易にタイミングマージンを減らすことが出来、低電力化が実現可能となる。
【００９０】
次に、本発明の第２の実施の形態を特徴付ける最適化セル置換処理ステップＳ１０Ａの詳細を図２と共通の構成要素には共通の参照文字／数字を付して同様にフローチャートで示す図７を参照すると、この図に示す本実施の形態の最適化セル置換処理ステップＳ１０Ａの前述の第１の実施の形態の最適化セル置換処理ステップＳ１０との相違点は、低電力化のためのセル置換を行う際に用いる低電力ライブラリである低電力セル遅延情報Ｆ１２及び低電力セル名情報Ｆ１３の代わりに低電力セル遅延情報Ｆ１２及び低電力セル名情報Ｆ１３の各情報に加えてセル内の最終段トランジスタのゲート幅Ｗをセル置換前の置換対象セルと同一サイズとした低電力セル遅延情報Ｆ１２Ａ及び低電力セル名情報Ｆ１３Ａを有することである。
【００９１】
第１の実施の形態では、低電力化のためのセル名置換を行う際には、例えば、置換対象のＸ１能力のセルに対する置換セルとしてトランジスタのＷサイズなどの下地データを全て最小サイズとした低電力ライブラリ（以下最小サイズライブラリ）を用いていた。このため、低電力化の目的としてはセル置換により十分な効果を発揮できるライブラリとなっていたが、ネット修正時にセル出力の配線負荷の状態、すなわち、配線遅延値の大小を考慮せずにセル置換を行った場合、過度の駆動能力低下により、配線負荷の影響で出力波形が鈍り、次段セルの貫通電流を誘発するという問題点があった。そこで、第１の実施の形態では低電力セル置換時に配線遅延が大きいセルを除外する仕組みを持ち、電力削減に有効なセルのみを置換する処理を行っていた。しかし、第１の実施の形態の場合、配線遅延を無視して全てのセルを対象にセル置換を行うことが出来ず、電力削減を限界まで行えないという手法となっている。
【００９２】
本実施の形態では、セル置換時に用いる低電力ライブラリとして、第１の実施の形態で用いた低電力ライブラリの他に、図８に示すような低電力セル内の最終段トランジスタＱ１のＷをセル置換前の置換対象セル（高電力セル）の全トランジスタのＷと同一サイズのＷ１とし、その他のトランジスタのみＷサイズ縮小を図った低電力ライブラリを持たせることにより、セル置換時に配線遅延を無視して全てのセルを対象にセル置換が出来るようにしている。
【００９３】
最終段トランジスタのＷサイズが置換対象セルのサイズと同等であれば、セル置換後に配線負荷の影響でセル置換前より出力波形が鈍ることがなく、次段の貫通電流を増加させることもない。従って、ネット内の全セルを対象に低電力化のためのセル置換が行えるようになり、電力削減が第１の実施の形態よりも限界まで行えるようになるという効果が得られる。
【００９４】
なお、本実施の形態で使用する低電力ライブラリも第１の実施の形態同様のＦＰＬＩＢであり、従来のセルに対し、配線などの上地データとレイアウトのセルサイズは同一とすることで、回路、レイアウト共にデータ差し替えのみで修正が可能となる。
【００９５】
さらに、このような低電力ライブラリを従来セルの駆動能力バラエティ毎に準備することにより、効率良く低電力化のためのセル置換が行えるようになり、さらなる低電力化が行えるという効果を得る。
【００９６】
本実施の形態は、今後のプロセスの進化に伴い、多少、低電力ライブラリが増加してもさらなる低電力化が必要とされてきた場合に有効である。
【００９７】
本実施の形態の最適化セル置換処理ステップＳ１０Ａを用いた全体の設計フローは、図１に示した第１の実施の形態と同様であるので省略する。
【００９８】
次に、本発明の第３の実施の形態を特徴付ける最適化セル置換処理ステップＳ１０Ｂの詳細を図２と共通の構成要素には共通の参照文字／数字を付して同様にフローチャートで示す図９を参照すると、この図に示す本実施の形態の最適化セル置換処理ステップＳ１０Ｂの前述の第１の実施の形態の最適化セル置換処理ステップＳ１０との相違点は、タイミングを考慮したＦ／Ｆ間遅延計算処理ステップＳ１０５に加えて、セル置換による電力増減を考慮して電力変動値を算出する電力変動値算出ステップＳ１０８を有することである。
【００９９】
第１の実施の形態では、低電力化のためのセル名置換を行う際には、セルの駆動能力変化による各配線遅延、セル遅延の変動を抽出し、さらに、Ｆ／Ｆ間のトータル遅延値の再計算を行ない、セル置換による予期せぬタイミングエラーを防止していた。タイミングを意識したのは、セル置換に伴うセル遅延の変動をチェックする目的と同時に、タイミングマージンを限界まで削減することにより、その波及として電力削減を実現させることを目的としていたからである。つまり、本発明のポイントであるタイミングマージンの削減による消費電力削減手法において、考慮していたのはあくまでもＦ／Ｆ間パスのタイミングのみであったと言える。従って、最適化セル置換処理ステップＳ１０のフローにおいては、タイミングに着目した内容となっており、消費電力に関するチェックに関しては、低電力化の処理後の最終チェックとして行われているに過ぎなかった。
【０１００】
これに対し、本実施の形態では、セル置換時にタイミングを考慮したＦ／Ｆ間遅延計算処理を行う他に、セル置換による電力増減を考慮した電力変動値算出ステップＳ１０８を行い、消費電力の観点でも同時にチェックを行うようにしている。
【０１０１】
実際には、電力変動値算出ステップＳ１０８で、最適化セル置換処理ステップＳ１０Ｂのセル置換ステップＳ１０３におけるセル置換時に抽出されるセル置換情報Ｆ１５と、セル毎の電力情報であるセル単位電力情報Ｆ１８を用いて、セル置換によるセル内電力の変動を計算し、各Ｆ／Ｆ間パス毎の消費電力の増減値データである電力増減値Ｆ１９を抽出する。判定ステップＳ１０９において電力増減値Ｆ１９を用いて、セル置換後のＦ／Ｆ間パスのトータル電力値が下がっているかどうかを判定する。結果、消費電力が増加していた場合は、第１の実施の形態と同様、ＲＣネット修正ステップＳ１０７でネット修正を行う。消費電力が低下しており、判断ステップＳ１０６のタイミング判定でもタイミングエラーがない場合は、第１の実施の形態同様、低電力版の新ＲＣネット情報Ｆ７と低電力セルへの置換情報Ｆ８とを抽出する。
【０１０２】
その他処理においては、第１の実施の形態の最適化セル置換処理ステップＳ１０図２と同様である。
【０１０３】
以上の処理を設けることにより、低電力セルへの置換時に、セル遅延の変動とセル内電力の変動を同時にチェックすることが出来るようになり、設計フローの最終段階で電力削減効果のチェックを行っていた第１の実施の形態よりも効率的に低電力設計が行えるようになり、さらに、セル置換による電力増加時の後戻りＴＡＴが削減できるという効果を得ることが出来る。
【０１０４】
本実施の形態の最適化セル置換処理ステップＳ１０Ｂを用いた全体の設計フローは、図１に示した第１の実施の形態と同様であるので省略する。
【０１０５】
【発明の効果】
以上説明したように、本発明のＬＳＩの自動設計方法は、論理合成を、タイミング規格の満足を重視して大駆動能力従って高電力の前記第１のセルを用いて実施し、第１のレイアウトの検証後に上記タイミング規格を考慮しながら第１のセルより小駆動能力従って低電力の第２のセルに置換する第１のネットの修正を行い低電力化した第２のネットと第１のセルから第２のセルへの置換情報とを抽出する最適化セル置換処理ステップを有することにより、タイミングエラーを誘発することなく低電力設計が可能となるという効果がある。
【０１０６】
また、フットプリントライブラリを用いることで、セル名変更（セル置換）により、単純な回路変更、レイアウト変換が可能となり、再合成、再配置配線によるＴＡＴは発生しないため、短ＴＡＴで低電力化が実現可能となるという効果がある。
【０１０７】
また、従来、タイミングエラー誘発などの問題により、低電力ライブラリを用いた合成が困難であったが、本実施の形態では合成後に低電力ライブラリの有効利用が可能となるという効果がある。
【０１０８】
また、従来の低電力化によるタイミング収束性悪化により、設計ＴＡＴ増加が懸念されていたが、本実施の形態により、実配線負荷を考慮したタイミング収束と低電力化を同時に考慮した設計が可能となるので、設計ＴＡＴの向上が図れるという効果がある。
【０１０９】
さらに、クリティカルパス、それ以外のパスの区別なく、容易にタイミングマージンを減らすことが出来、低電力化が実現可能となるという効果がある。
【図面の簡単な説明】
【図１】本発明のＬＳＩの自動設計方法の第１の実施の形態を示すフローチャートである。
【図２】図１の最適セル置換処理ステップの詳細を示すフローチャートである。
【図３】Ｆ／Ｆ間パスの一例を等価回路で、このＦ／Ｆ間パスの各セル毎のセル内遅延とセル間の配線遅延の情報の一例を表形式でそれぞれ示す説明図である。
【図４】図２のセル選択ステップの詳細を示すフローチャートである。
【図５】図２の低電力ライブラリのレイアウトの一例を示すレイアウト図である。
【図６】図２のＦ／Ｆ間遅延計算ステップのＦ／Ｆ間遅延の再計算例を示す説明図である。
【図７】本発明のＬＳＩの自動設計方法の第２の実施の形態を特徴付ける最適セル置換処理ステップの詳細を示すフローチャートである。
【図８】図７の低電力ライブラリのレイアウトの一例を示すレイアウト図である。
【図９】本発明のＬＳＩの自動設計方法の第３の実施の形態を特徴付ける最適セル置換処理ステップの詳細を示すフローチャートである。
【図１０】従来の第１のＬＳＩの自動設計方法の一例を示すフローチャートである。
【図１１】従来の第１のＬＳＩの自動設計方法における問題点の第１の例を示すグラフである。
【図１２】従来の第１のＬＳＩの自動設計方法における問題点の第２の例を示すグラフである。
【図１３】従来の第２のＬＳＩの自動設計方法の一例を示すフローチャートである。
【図１４】従来の第２のＬＳＩの自動設計方法における問題点の一例を示すレイアウト図である。
【符号の説明】
５１，５２    インバータ
Ｆ１，Ｆ３，Ｆ６    Ｆ／Ｆ間遅延情報
Ｆ２，Ｆ４，Ｆ１０３    ＲＣネット
Ｆ５    セル遅延情報
Ｆ７，Ｆ１４    新ＲＣネット
Ｆ８    置換情報
Ｆ９    電力ライブラリ（ＬＩＢ）
Ｆ１０    低電力セルレイアウト情報
Ｆ１１    ＤＥＦ
Ｆ１２，Ｆ１２Ａ    低電力セル遅延情報
Ｆ１３，Ｆ１３Ａ    低電力セル名情報
Ｆ１５    セル置換情報
Ｆ１６    ＳＤＦ
Ｆ１７    新Ｆ／Ｆ間遅延情報
Ｆ１８    セル単位電力情報
Ｆ１９    電力増減値
Ｆ２１    Ｆ／Ｆ間パス遅延情報
Ｆ２２    置換セル情報
Ｆ１０１，Ｆ１０２    低電力ライブラリ
Ｑ１    トランジスタ
【図１】
0003737384.tif 000002
【図２】
0003737384.tif 000003
【図３】
0003737384.tif 000004
【図４】
0003737384.tif 000005
【図５】
0003737384.tif 000006
【図６】
0003737384.tif 000007
【図７】
0003737384.tif 000008
【図８】
0003737384.tif 000009
【図９】
0003737384.tif 000010
【図１０】
0003737384.tif 000011
【図１１】
0003737384.tif 000012
【図１２】
0003737384.tif 000013
【図１３】
0003737384.tif 000014
【図１４】
0003737384.tif 000015