(57)【要約】【課題】  ノイズの発生源の近傍に、ノイズ発生を抑制するのに必要かつ十分な容量を有する電源容量が配置することが可能な半導体集積回路のレイアウト設計方法を提供する。【解決手段】  ロジックゲートでの電源ノイズの発生を抑制するため、ロジックゲートに電源容量を対応させてレイアウトする際に、予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の判定基準に基づいて決定した容量を有する電源容量を、ロジックゲートに対応させてレイアウトする。【選択図】      図４
2005183758.tif 000002
【特許請求の範囲】
【請求項１】
標準セル方式により半導体集積回路のレイアウトを設計する方法において、
ロジックゲートでの電源ノイズの発生を抑制するため、ロジックゲートに電源容量を対応させてレイアウトする方法であって、
予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の前記判定基準に基づいて決定した容量を有する前記電源容量を、当該ロジックゲートに対応させてレイアウトする
ことを特徴とするレイアウト設計方法。
【請求項２】
請求項１に記載のレイアウト設計方法において、前記判定基準は、外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とするレイアウト設計方法。
【請求項３】
請求項１に記載のレイアウト設計方法において、前記判定基準は、論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とするレイアウト設計方法。
【請求項４】
請求項１に記載のレイアウト設計方法において、前記判定基準は、前記ロジックゲートの入出力状態の変化を示すイベント情報であることを特徴とするレイアウト設計方法。
【請求項５】
請求項１に記載のレイアウト設計方法において、前記判定基準は、前記半導体集積回路の動作周波数であることを特徴とするレイアウト設計方法。
【請求項６】
請求項１に記載のレイアウト設計方法において、前記判定基準は、
外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
前記ロジックゲートの入出力状態の変化を示すイベント情報、及び、
前記半導体集積回路の動作周波数
のうちの二以上の組み合わせであることを特徴とするレイアウト設計方法。
【請求項７】
請求項１に記載のレイアウト設計方法において、前記ロジックゲート及び電源容量を含む一のセルをレイアウトすることを特徴とするレイアウト設計方法。
【請求項８】
請求項７に記載のレイアウト設計方法において、
一のロジックゲートに対し、互いに容量の異なる電源容量を組み合わせた複数のセルを予め用意し、
前記複数のセルの一を選択することにより前記電源容量の容量を決定する
ことを特徴とするレイアウト設計方法。
【請求項９】
請求項７に記載のレイアウト設計方法において、
前記判定基準に基づいて前記ロジックゲートに組み合わせるべき電源容量の容量を算出し、
前記算出した容量を有する電源容量を含むセルを作成してレイアウトする
ことを特徴とするレイアウト設計方法。
【請求項１０】
請求項１に記載のレイアウト設計方法において、前記半導体集積回路の動作周波数に応じた数の電源容量にて、前記決定した容量を構成することを特徴とするレイアウト設計方法。
【請求項１１】
標準セル方式による半導体集積回路のレイアウト設計に関する処理をコンピュータに実行させるコンピュータプログラムにおいて、
ロジックゲートでの電源ノイズの発生を抑制するため、ロジックゲートに電源容量を対応させてレイアウトし、
予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の前記判定基準に基づいて決定した容量を有する前記電源容量を、当該ロジックゲートに対応させてレイアウトする
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムにおいて、前記判定基準は、外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とするコンピュータプログラム。
【請求項１３】
請求項１１に記載のコンピュータプログラムにおいて、前記判定基準は、論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１１に記載のコンピュータプログラムにおいて、前記判定基準は、前記ロジックゲートの入出力状態の変化を示すイベント情報であることを特徴とするコンピュータプログラム。
【請求項１５】
請求項１１に記載のコンピュータプログラムにおいて、前記判定基準は、前記半導体集積回路の動作周波数であることを特徴とするコンピュータプログラム。
【請求項１６】
請求項１１に記載のコンピュータプログラムにおいて、前記判定基準は、
外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
前記ロジックゲートの入出力状態の変化を示すイベント情報、及び、
前記半導体集積回路の動作周波数
のうちの二以上の組み合わせであることを特徴とするコンピュータプログラム。
【請求項１７】
請求項１１に記載のコンピュータプログラムにおいて、前記ロジックゲート及び電源容量を含む一のセルをレイアウトする処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムにおいて、一のロジックゲートに対し、互いに容量の異なる電源容量を組み合わせた複数のセルをライブラリ化したライブラリから、前記複数のセルの一を選択することにより前記電源容量の容量を決定する処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１９】
請求項１７に記載のコンピュータプログラムにおいて、
前記判定基準に基づいて前記ロジックゲートに組み合わせるべき電源容量の容量を算出し、
前記算出した容量を有する電源容量を含むセルを作成してレイアウトする
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２０】
請求項１１に記載のコンピュータプログラムにおいて、前記半導体集積回路の動作周波数に応じた数の電源容量にて、前記決定した容量を構成する処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２１】
標準セル方式によりレイアウト設計された半導体集積回路において、
ロジックゲートでの電源ノイズの発生を抑制するため、当該ロジックゲートに対応させてレイアウトされた電源容量を備え、
前記電源容量は、予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の前記判定基準に基づいて決定した容量を有する
ことを特徴とする半導体集積回路。
【請求項２２】
請求項２１に記載の半導体集積回路において、前記判定基準は、外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とする半導体集積回路。
【請求項２３】
請求項２１に記載の半導体集積回路において、前記判定基準は、論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率であることを特徴とする半導体集積回路。
【請求項２４】
請求項２１に記載の半導体集積回路において、前記判定基準は、前記ロジックゲートの入出力状態の変化を示すイベント情報であることを特徴とする半導体集積回路。
【請求項２５】
請求項２１に記載の半導体集積回路において、前記判定基準は、前記半導体集積回路の動作周波数であることを特徴とする半導体集積回路。
【請求項２６】
請求項２１に記載の半導体集積回路において、前記判定基準は、
外部入力端子毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
論理モジュール毎に設定された動作率に基づいて求めた前記ロジックゲートの動作率、
前記ロジックゲートの入出力状態の変化を示すイベント情報、及び、
前記半導体集積回路の動作周波数
のうちの二以上の組み合わせであることを特徴とする半導体集積回路。
【請求項２７】
請求項２１に記載の半導体集積回路において、前記電源容量は対応するロジックゲートと同一のセルに含まれることを特徴とする半導体集積回路。
【請求項２８】
請求項２７に記載の半導体集積回路において、一のロジックゲートに対し、互いに容量の異なる電源容量を組み合わせた複数のセルの中から選択された一のセルを備えることを特徴とする半導体集積回路。
【請求項２９】
請求項２７に記載の半導体集積回路において、前記セルは、前記判定基準に基づいて算出した前記ロジックゲートに組み合わせるべき容量を有する電源容量を備えることを特徴とする半導体集積回路。
【請求項３０】
請求項２１に記載の半導体集積回路において、当該半導体集積回路の動作周波数に応じた数の電源容量であって、当該電源容量の容量の合計が前記決定した容量に等しいことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路での電源ノイズの発生を抑制する技術に関し、特に、ＬＳＩ内部に電源容量を配置することにより電源ノイズを抑制する技術に関する。
【背景技術】
【０００２】
ＬＳＩのトランジスタ素子数は年々増加しており、これに伴って、消費電流は増加して、ＬＳＩ内部で電源ノイズが発生しやすくなる傾向にある。しかし一方で、省電力化の要請に応えるためにＬＳＩの低電圧化が進んでいるため、ノイズへの耐性は逆に劣化する傾向にある。このために、電源ノイズの発生を抑制する技術が模索されている。
【０００３】
こうした技術としてＬＳＩ内部に電源容量を配置するものが従来から存在する。例えば、特許文献１には、標準セル方式でＬＳＩ設計を行う際に、標準セルとして電源容量セルを用いる技術が提案されている。この技術では、標準セルの１つであるロジックゲートセルの駆動能力容量に応じて電源容量セルの容量値を定めて配置する。これにより、電源の交流インピーダンスは小さくなり、ロジックゲートセルの動作時に発生する電源ノイズを抑制することが可能となっている。
【０００４】
特に、特許文献１の技術では、図６に示すように、電源容量セルをロジックゲートセルの近傍に配置することにより、ロジックゲートと電源容量の間の配線長を短くし、配線に起因する寄生インダクタ成分を小さくして、効果的に電源ノイズを低減している。また、クロック同期系のロジックゲートにのみこの手法を採用することで、電源容量を配置することによる面積ロスを抑えつつ電源ノイズを低減している。
【０００５】
【特許文献１】特開２０００−２７７６１８号公報（第３〜４頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般に、電源容量が大きいほど電源ノイズを抑制する能力は高いが、チップ上に占める面積は大きくなる。特許文献１ではロジックゲートセルの駆動負荷容量の２倍として一律に定めている。
【０００７】
しかし、実際には、必ずしもチップ上の全てのバッファに対して、それぞれの駆動負荷容量の2倍の容量を有する電源容量を必要とするわけではない。バッファの動作周波数や動作率によっては2倍以下の容量でも十分にノイズ抑制が可能である。つまり、従来の技術によれば、本来は不必要な大きさの電源容量を配置していることとなり、結果としてチップ面積のロスが生じるという問題がある。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、ノイズの発生源の近傍に、ノイズ発生を抑制するのに必要かつ十分な容量を有する電源容量が配置することが可能な半導体集積回路のレイアウト設計方法を提供することである。
【課題を解決するための手段】
【０００９】
上述のような課題を解決するため、本発明は次のようなレイアウト設計方法及びコンピュータプログラムを提供する。
【００１０】
即ち、本発明は、標準セル方式により半導体集積回路のレイアウトを設計する方法において、ロジックゲートでの電源ノイズの発生を抑制するため、ロジックゲートに電源容量を対応させてレイアウトする方法であって、予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の判定基準に基づいて決定した容量を有する電源容量を、当該ロジックゲートに対応させてレイアウトすることを特徴とするレイアウト設計方法を提供する。
【００１１】
判定基準としては、外部入力端子毎に設定された動作率に基づいて求めたロジックゲートの動作率、論理モジュール毎に設定された動作率に基づいて求めたロジックゲートの動作率、ロジックゲートの入出力状態の変化を示すイベント情報、及び、半導体集積回路の動作周波数等がある。これらは単独で用いられてもよいが、複数を組み合わせることとしてもよい。
【００１２】
ロジックゲート及び電源容量を含む一のセルをレイアウトする場合に特に効果的である。このとき、一のロジックゲートに対し、互いに容量の異なる電源容量を組み合わせた複数のセルを予め用意し、複数のセルの一を選択することにより電源容量の容量を決定することとしてもよい。或いは、このとき、判定基準に基づいてロジックゲートに組み合わせるべき電源容量の容量を算出し、算出した容量を有する電源容量を含むセルを作成してレイアウトすることとしてもよい。
【００１３】
半導体集積回路の動作周波数に応じた数の電源容量にて、決定した容量を構成することとしてもよい。
【００１４】
また、本発明は、標準セル方式による半導体集積回路のレイアウト設計に関する処理をコンピュータに実行させるコンピュータプログラムにおいて、ロジックゲートでの電源ノイズの発生を抑制するため、ロジックゲートに電源容量を対応させてレイアウトし、予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の判定基準に基づいて決定した容量を有する電源容量を、当該ロジックゲートに対応させてレイアウトする処理をコンピュータに実行させることを特徴とするコンピュータプログラムを提供する。
【００１５】
更にまた本発明は、標準セル方式によりレイアウト設計された半導体集積回路において、ロジックゲートでの電源ノイズの発生を抑制するため、当該ロジックゲートに対応させてレイアウトされた電源容量を備え、電源容量は、予め定められたロジックゲートの動作に関する判定基準であって、ロジックゲートの駆動負荷容量以外の判定基準に基づいて決定した容量を有することを特徴とする半導体集積回路を提供する。
【発明の効果】
【００１６】
本発明によれば、バッファで発生するノイズを抑制する容量を付加するにあたって、過不足ない容量値を持ったバッファを使ってレイアウトを行うことにより、レイアウトを縮小することができる。ハードマクロを使用した場合でもレイアウト面積の縮小が可能である。
【００１７】
また、本発明によれば、同一セル内にバッファと電源容量とを配置すれば、ロジックゲートと電源容量の間の配線長が短くなるので、配線に起因する寄生インダクタ成分が小さくなり、効果的に電源ノイズを低減することができる。
【発明を実施するための最良の形態】
【００１８】
論理合成を行った後のレイアウトデータに基づいてタイミング検証を行う。その後、バッファの外部端子毎の動作率、論理モジュール毎の動作率、イベント情報、動作周波数等に基づいて、そのバッファと対になる電源容量を容量の小さなものと置換可能か否か判定し、置換可能と判定された電源容量を容量の小さなものと置換する。これにより電源ノイズの発生を増加させることなくチップ面積を縮小可能となる。
【００１９】
一般に、電源容量の容量は、バッファの駆動負荷容量の２倍が基準となっている。このため、置換の可否の判定を、バッファの駆動負荷容量の２倍の容量を有する電源容量について行い、置換可能である場合、ノイズを抑制するために過不足ない容量を有する電源容量に置換する。置換できない場合はそのままレイアウトする。
【００２０】
本発明は、バッファとそのバッファに対応する電源容量の両方を同一セル内に備えるバッファセルをレイアウトするときに特に有効である。この場合、同じトランジスタサイズのバッファセルを備えると共に、互いに容量が異なる電源容量を備える複数のバッファセルをライブラリに用意する。小容量の電源容量と置換可能な場合は、そのバッファセルを、同じバッファにより小さな容量を有する電源容量を組み合わせたバッファセルと置換する。
【実施例１】
【００２１】
本発明の実施例１であるレイアウト設計方法について図面を参照して以下に説明する。
【００２２】
標準セル方式による半導体集積回路のレイアウト設計方式とは、概略次のような設計方式である。即ち、前もって各種論理回路、入出力回路等をプリミティブセルとして作成し、プリミティブライブラリとして登録する。この上で、プリミティブライブラリを参照して、半導体集積回路の論理仕様に従ってプリミティブセルを配置し、配線を行う。
【００２３】
本発明では、プリミティブセルとしてＣＴＳバッファのような駆動能力の大きなバッファをライブラリ化する際、同じバッファセル内に電源容量を備える図１に示すようなバッファセル１０として後述する電源容量つきプリミティブライブラリ４８にライブラリ化する。図中の左側にバッファが配置され、右側にはＰチャネルトランジスタ及びＮチャネルトランジスタにより構成された電源容量がバッファセル１０内に配置されている。
【００２４】
このとき、トランジスタサイズが同一のバッファに対して、容量値が異なる電源容量を組み合わせた複数のバッファセル１０を用意して、トランジスタサイズ及び電源容量別にライブラリ化する。レイアウト設計の際には、これら複数のセルの中から、出力負荷容量に応じて最適な電源容量を選択する。
【００２５】
例えば、図２に示すように、ＰチャネルトランジスタＰ１及びＮチャネルトランジスタＮ１からなる同一のバッファに対して、容量値Ｃ１、Ｃ２、Ｃ３及びＣ４の電源容量を備える４種類のバッファセルをライブラリ化する。このライブラリファイルでは、バッファセルは表１のように示される。表１において左から右に電源容量の容量値が大きくなっている。また、上から下の順にバッファトランジスタサイズが大きくなっている。
【表１】
2005183758.tif 000003
【００２６】
同一のバッファトランジスタサイズであれば、電源容量の容量値が小さくなるほどレイアウトサイズを小さくすることができる。例えば、セル２１〜２４のバッファトランジスタサイズはいずれもＷ＝５０μｍ、Ｌ＝０．１μｍであるが、それぞれ順に５、１０、１５、２０ｐＦの電源容量を有している。容量２０ｐＦの電源容量Ｃ４を有するセル２４の代わりに、容量５ｐＦの電源容量Ｃ１を有するセル２１を配置すればレイアウトサイズを小さくすることができる。
【００２７】
このようなライブラリを参照して次のような手順でレイアウト設計を行う。図３を参照して概略を説明する。機能設計の結果がハードウェア記述言語（ｈｄｌ、ｈａｒｄｗａｒｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）にて記述されてＣＡＤ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｄｅｓｉｇｎ）システムの記憶装置に格納されている（３１）。この記述に基づいて論理合成を行う（３２）。次に、フロアプランにおいて使用するセルを選択（３３）し、電源配線（３４）、セル配置（３５）を行う。バッファセルについては電源容量が小さいものと置換可能か否か判定し、可能であれば置換するバッファセル選択・置換を行う（３６）。この後、通常配線（３７）を行い、更に、フィルセルを配置してプリミティブセルの隙間を埋める（３８）ことにより、レイアウト設計が完了する。
【００２８】
バッファセル選択・置換３６について図４を参照して更に詳しく説明する。セル配置３５の後で２つの処理の流れが並行して行われる。
【００２９】
一方では、動作率計算・動作周波数計算４１が行われる。外部入力端子毎に設定された動作率が外部入力端子動作率設定ファイル４２に格納されている。動作率計算・動作周波数計算４１では、外部入力端子動作率設定ファイル４２を参照して、外部入力端子毎に設定された動作率を回路内部へ伝搬させる形でバッファ毎の動作率を求める。また、同時に回路の動作周波数も求める。これらの計算結果を、それぞれ動作率ファイル４３及び動作周波数ファイル４４に格納する。外部入力端子動作率設定ファイル４２、動作率ファイル４３及び動作周波数ファイル４４はＣＡＤシステムの記憶装置に格納される。
【００３０】
他方、負荷論理シミュレーション４５では、セル配置３５にて配置した各バッファの負荷容量をシミュレーションする。そして、バッファ選択４６では、このシミュレーション結果に基づいて、上述のように電源容量付きのセルをライブラリ化したプリミティブライブラリ４８の中から、適切なトランジスタサイズのバッファを有するバッファセルを選択する。尚、この段階では、電源容量の容量値が、バッファの負荷容量の２倍であるバッファセルを暫定的に選択する。この後、バッファ選択４６の結果に基づいて通常の論理シミュレーション４９を行う。更に、論理シミュレーション４９の結果から得られる各ネットのイベント情報を取り出してイベント情報ファイル５０を作成する。イベント情報ファイル５０はＣＡＤシステムの記憶装置に格納される。
【００３１】
次いでバッファセル置換判定５１では、現段階で配置しているバッファセル内の電源容量、即ちバッファの負荷容量の２倍の容量を有する電源容量を、より小さな容量のものと置換してもノイズの発生を抑制できるか否か判定する。本実施例では、動作率ファイル４３に格納されたバッファ毎の動作率に基づいて判定する。判定結果が置換可能である場合、バッファセル置換５３にて、電源容量付きプリミティブライブラリ４８を参照し、同じバッファを備え、かつ、より小さな容量の電源容量を備えるバッファセルに置換する。
【００３２】
表１を参照して具体的に説明する。今、トランジスタサイズＷ＝５０μｍ、Ｌ＝０．１μｍ、負荷容量１０ｐＦのバッファのバッファセルについて置換の可否を判定しようとしているものとする。バッファセル２４の電源容量の容量値がこのバッファの負荷容量の２倍に相当するので、バッファ選択４６では暫定的にバッファセル２４が選択される。このとき、バッファセル置換判定５１では、バッファセル２４よりも容量が一段階小さい電源容量を有するバッファセル２３を使用可能か否かについて、動作率に基づいて判断する。使用可能である場合、バッファセル２４からバッファセル２３に変更する。同様の判断をより電源容量の小さいバッファセル２２、２１についても順次行い、置換が不可能と判断された段階で置換をせずにバッファセル選択終了５４に進む。
【００３３】
バッファセル選択終了５４では、回路中の全バッファについてバッファセル置換判定５４が終了したか否かを判断し、まだ終了していないのであればバッファセル置換判定５１からバッファセル置換５３を繰り返す。また、既に終了しているのであればＣＴＳ配線５５に進む。全バッファセルの置換が終了すると、ＣＴＳ配線５５にて、配置されたバッファ間の接続を行う。
【００３４】
このようなレイアウト設計によれば、必ずバッファの近傍に必要にして十分な容量値の電源容量が配置される。このため、チップ面積のロスを最小限に抑えつつ、効率よくノイズを抑制することができる。
【００３５】
また、出力容量に応じてライブラリ化することで、通常のライブラリと同様に、自動レイアウトツールで扱うことが可能となり、セルの置換や配線修正のための無駄な工数が発生しない。
【実施例２】
【００３６】
図４を参照すると、実施例１では、動作率計算・動作周波数計算４１においてバッファの動作率を求める際、外部入力端子動作率設定ファイル４２を参照し、外部入力端子毎に設定された動作率を回路内部へ伝搬させる形で動作率を求め、これを基準としてバッファセルの置換の可否を判定した。即ち、実施例１では、外部入力端子毎に設定された動作率を回路内部へ伝搬させる形で求めた動作率を判定基準として、バッファセル置換判定５０を行っている。
【００３７】
これに対して、実施例２では、図５に示すように、外部入力端子毎の動作率の代わりに、論理モジュール毎に一律に設定された動作率を用いて各バッファの動作率を求め、こうして求めた動作率を判定基準としてバッファセル置換判定５０を行っている。このため、動作率計算・動作周波数計算４１にて論理モジュール毎動作率ファイル５３を参照する。論理モジュール毎動作率ファイル５３は論理モジュール毎に設定された一律の動作率を格納している。論理モジュール毎動作率ファイル５３はＣＡＤシステムの記憶装置に格納される。その他については実施例１と同様である。
【００３８】
このようにしてバッファの動作率を求めることとすれば、外部入力端子が非常に多いデバイスであっても容易に動作率を求めることができるという利点がある。
【実施例３】
【００３９】
実施例３では、バッファセル置換判定５０での判定基準としてイベント情報ファイル５０を参照する。その他のステップは実施例１と同様である。イベント情報ファイル５０にはバッファでの入出力状態の変化等が含まれているので、これを元に、バッファセルの電源容量をより小さな容量のものと置換してもノイズの発生を抑制できるか否か判定することができる。その他については実施例１と同様である。
【実施例４】
【００４０】
動作率計算・動作周波数計算４１では、バッファ毎の動作率を求めるのと同時に回路の動作周波数を求める。本実施例４では、バッファセル置換判定５０にて動作周波数ファイル４４を参照し、判定基準として回路の動作周波数を用いる。その他については実施例１と同様である。
【実施例５】
【００４１】
実施例１では、表１に示すように、一トランジスタサイズのバッファに対して容量の異なる電源容量を組み合わせた複数のバッファセルを、電源容量つきプリミティブライブラリ４８に予め用意し、電源容量の容量をより小さいものに置き換えながらバッファセル置換の可否を判定していた。
【００４２】
これに対して、実施例５では、バッファセルの動作率に基づいてそのバッファセルの電源容量の最適な容量を計算し、求めた容量の電源容量を有するバッファセルをレイアウトする。その他については実施例１と同様である。
【００４３】
これにより、段階的にバッファセルを選択する実施例１よりもバッファセルを小さくすることができるので、チップサイズを更に縮小することができる。
【実施例６】
【００４４】
実施例１乃至５では、バッファでの電源ノイズを抑制するために必要な容量を、一の電源容量にて構成していた。これに対し、本実施例６では、必要な容量を構成するための電源容量の個数を動作周波数に応じて変更する。
【００４５】
即ち、動作周波数が低い場合は、１乃至少数の電源容量によって必要な容量を構成する。この場合、一電源容量当たりの面積が広くなるのでチップサイズを小さくすることができる。逆に動作周波数が高い場合は、多数の電源容量によって必要な容量を構成する。この場合、小容量の電源容量を多数個セル内に配置したバッファセルを選択することになるが、このように構成した電源容量は電源の急激なチャージ及びディスチャージに対応することが可能であり、従って高い動作周波数に対応可能となる。
【００４６】
このため、実施例６では、電源容量つきプリミティブライブラリ４８に、同一トランジスタサイズのバッファを備え、セル内の電源容量の容量の合計値が同じであって、かつ、電源容量の個数が異なるバッファセルが複数登録されている。例えば、表１のセル２１として、電源容量が１個のセル、２個のセル、３個のセル…が登録される。バッファセル置換判定５１では、動作周波数ファイル４４を参照して、必要な容量を複数の電源容量にて構成するか否かを判定し、複数個の電源容量で構成する場合は、バッファセル置換５３にて必要な個数の電源容量で構成されたバッファセルを電源容量つきプリミティブライブラリ４８から選択する。尚、本実施例６ではトランジスタサイズ及び容量については他の実施例と同様に選択する。
【００４７】
以上、本発明を実施例に基づいて説明したが、本発明はこれに限定されるものではなく、当業者の通常の知識の範囲内でその変更や改良が可能であることは勿論である。
【００４８】
例えば、上述の実施例ではバッファセル置換判定５１にて一パラメータを参照して判定したが、これに限らず、実施例にて参照したパラメータ或いは他のパラメータを組み合わせて判定してもよい。
【００４９】
例えば、実施例１及び２を組み合わせ、動作率計算・動作周波数計算４１においてバッファの動作率を求める際、外部入力端子動作率設定ファイル４２及び論理モジュール毎動作率ファイル５３の両方を参照することとしてもよい。この場合、外部入力端子毎に設定された動作率を回路内部へ伝搬させる形で求めた動作率と、論理モジュール毎に一律に設定された動作率を用いて求めた動作率との両方に基づいてバッファセル置換判定５０を行うこととなる。また、負荷容量シミュレーション４５の結果を更に参照することとしてもよい。このようにすればレイアウト設計の自由度を高めることができる。また、数種類のパラメータを組み合わせることにより、レイアウトが未確定な部分のレイアウトを確定する際に判断材料となる情報を仮想的に生成することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明のレイアウト設計方法にて配置するのに好適なブロックセルの構造を説明するための図である。
【図２】同一トランジスタサイズのバッファに対し、容量の異なる電源容量を組み合わせた４つのバッファセルを説明するための図である。
【図３】本発明のレイアウト設計方法について説明するためのフローチャートである。
【図４】実施例１でのバッファセル選択・置換３６について説明するためのフローチャートである。
【図５】実施例２でのバッファセル選択・置換３６について説明するためのフローチャートである。
【図６】従来のレイアウト設計方法にて配置される電源容量セル及びロジックゲートセルについて説明するための図である。
【符号の説明】
【００５１】
１０、２１、２２、２３、２４    バッファセル
【図１】
2005183758.tif 000004
【図２】
2005183758.tif 000005
【図３】
2005183758.tif 000006
【図４】
2005183758.tif 000007
【図５】
2005183758.tif 000008
【図６】
2005183758.tif 000009