(57)【要約】  【課題】  占有面積の増大を抑制しつつ、必要総容量の最適化をはかり、電源ノイズを抑えた半導体集積回路を設計する方法を提供する。  【解決手段】  半導体集積回路の必要容量最適化に際し、セルの活性度を動的に考慮し、ＩＲドロップ（電圧降下）を最適化し、より高精度の容量最適化を測る。すなわち、電源の電圧変動を抑制するために挿入する電源容量の見積もりに際し、回路中のセル活性率を考慮して全体で必要な容量成分を削減したり、セル動作タイミングを見積もって電源変動の激しい時間的な箇所を補強するためのみ必要な容量にしたりすることにより、面積的なデメリットを削減することができる。また、前記容量見積もり時に配線負荷モデルを使用することにより、設計初期の段階にかつ短時間で処理が可能になる。【選択図】  図１
2006185323.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計方法であって、
回路情報から、対象回路の各セルが活性状態にあるか否かを考慮して、電圧降下を最適化にするのに必要な必要総容量を算出する工程を含むことを特徴とする半導体集積回路の設計方法。
【請求項２】
請求項１記載の半導体集積回路の設計方法であって、
前記回路情報はネットリスト情報であり、
前記対象回路のネットリスト情報を読み込む工程と、
前記ネットリスト情報中のセル活性化率を読み込む工程と、
前記対象回路のセル活性化率に基づき、電圧降下を最適化にするのに必要な必要総容量を算出する工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項２記載の半導体集積回路の設計方法であって、
前記ネットリスト情報から、前記ネットリスト情報中の単位容量セル情報を読み込む工程と、
前記単位容量セル情報と、前記活性化率とに基づき容量セル配置位置を決定する工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項４】
請求項３記載の半導体集積回路の設計方法であって、
前記単位容量セル情報を読み込む工程で得られた既配置済の容量セルの容量と、活性化率０で容量成分として作用するセル内容量とを抽出する工程を含み、
前記容量セル配置位置を決定する工程が、既配置の容量セルの容量分を考慮して決定されるようにしたことを特徴とする半導体集積回路の設計方法。
【請求項５】
請求項１記載の半導体集積回路の設計方法であって、
前記ネットリスト情報から半導体集積回路の最大許容電流値を読み込む工程を含むことを特徴とする半導体集積回路の設計方法。
【請求項６】
請求項１または５記載の半導体集積回路の設計方法であって、
前記回路情報のネットリスト情報から、負荷モデルを生成し、この負荷モデルに基づくセル動作時間を算出する工程と、
前記負荷モデルに基づく各セル消費電力を算出する工程と、
前記セル動作時間とセル消費電力から動的消費電力情報を算出する工程とを含み、
前記必要総容量を算出する工程は、
前記動的消費電力情報から動的電流情報に変換する工程と、前記動的電流が前記最大許容電流値内に収まるために必要な容量値を算出する工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項７】
請求項６記載の半導体集積回路の設計方法であって、
前記負荷モデルは、前記ネットリスト情報からレイアウト情報を生成し、このレイアウト情報から得られた負荷情報に基づいて生成されることを特徴とする半導体集積回路の設計方法。
【請求項８】
請求項６記載の半導体集積回路の設計方法であって、
前記動的消費電力情報を算出する工程は、前記セル動作時間とセル消費電力と、セル活性化率とから動的消費電力情報を算出する工程であることを特徴とする半導体集積回路の設計方法。
【請求項９】
請求項１記載の半導体集積回路の設計方法であって、
前記対象回路の前記各セルのセル動作時間を算出する工程と、
セル非動作時のセル内容量を算出する工程とを含み、
電源容量挿入時に前記非同時動作セルのセル内容量分を差し引いて挿入することを特徴とする半導体集積回路の設計方法。
【請求項１０】
請求項１記載の半導体集積回路の設計方法であって、
前記対象回路の電圧降下解析を行なう工程と、
前記電圧降下値に基づいて電源容量挿入可能箇所に重み付けを行なう工程と、
前記重み付けされた順に、電源容量を挿入する工程とを含むようにしたことを特徴とした半導体集積回路の設計方法。
【請求項１１】
請求項１０記載の半導体集積回路の設計方法であって、
前記電圧降下解析を行なう工程で得られた前記電圧降下値を考慮したタイミング計算を行なう工程と、
前記電圧降下値と、前記タイミング計算を行なう工程で得られた結果とに基づいて電源容量挿入可能箇所に重み付けを行なう工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項１２】
請求項１１記載の半導体集積回路の設計方法であって、
前記回路情報から、セル活性化率を読み込む工程を含み、
前記重み付けを行なう工程は、
前記電圧降下値と前記セル活性化率とに基づいて電源容量挿入可能箇所に重み付けを行なう工程であることを特徴とする半導体集積回路の設計方法。
【請求項１３】
請求項１０記載の半導体集積回路の設計方法であって、
前記対象回路の前記各セルのセル動作時間を算出する工程と、
前記対象回路の同時刻近傍動作セルを抽出する工程と、
前記抽出されたセルが近傍に配置されている箇所を抽出する工程とを含み、
前記電源容量を挿入する工程は、前記抽出されたセルに優先的に電源容量を挿入することを特徴とする半導体集積回路の設計方法。
【請求項１４】
請求項１記載の半導体集積回路の設計方法であって、
前記活性化率を読み込む工程と、
前記活性化率が高く、消費電力の大きいセルをフロアプラン時に電源パッド寄りに配置されるように制御する工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項１５】
請求項１記載の半導体集積回路の設計方法であって、
各セル毎に必要総容量を算出する工程と、容量挿入箇所に配置済みのセルを移動させる工程とを含むことを特徴とする半導体集積回路の設計方法。
【請求項１６】
請求項１乃至１５のいずれかに記載の半導体集積回路の設計方法であって、
容量挿入に先立ち、非同時動作セルまたは非活性化セルを容量挿入箇所に移動させて必要総容量を減らす工程を含むことを特徴とする半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法に係り、特に、電源配線に発生する電源ノイズを抑えた半導体集積回路の設計方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路では、1千万トランジスタを超える回路素子を搭載することにより、電源電位の変動が非常に大きくなってきている。このような電源電位の変動を抑えるために電源とグラウンドとの間にデカップリング容量と呼ばれる容量を持たせることが一般的な技術として用いられている。
【０００３】
従来技術として、特許文献１には、電源ノイズを低減させる方法として、論理セル（半導体集積回路の回路素子であるトランジスタを均一の幅に収まるように組み合わせた組み合わせ論理回路）ごとに電源ノイズを低減させるための容量値を計算し、図１８（ａ）および（ｂ）に示すように論理セル（ロジックゲートセル）１１の横にその容量値を持つ容量セル１２を配置する方法が提案されている。１３，１４はロジックゲートセル１１の負荷容量であり、１５は電源容量セルの電源容量である。
【０００４】
また、非特許文献１には半導体集積回路の配置配線情報から得られる電圧降下情報と、消費電流情報とから、最適化を行なう方法について提案されている。
【０００５】
【特許文献１】特開２０００−２７７６１８号公報
【非特許文献１】Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＳＰ−ＤＡＣ２００４  ｐｐ．５０５  ６Ｂ−２：Ａ  Ｆａｓｔ  Ｄｅｃｏｕｐｌｉｎｇ  Ｃａｐａｃｉｔｏｒ  Ｂｕｄｇｅｔｉｎｇ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｒｏｂｕｓｔ  Ｏｎ−Ｃｈｉｐ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された方法では、限られたチップ面積の中では、必要容量（デカップリング容量）を十分確保できず、現実的ではない。さらにまた、トランジスタは非動作時には容量として作用するため、不要な容量セルを配置することになる場合もあり、理想モデルには程遠いものになる場合がある。
【０００７】
また非特許文献１に記載された方法では、動作していないトランジスタの容量効果を考慮しておらず、デカップリング容量の適切な配置を行なうことができない。またあらかじめレイアウトを行なう必要があり、レイアウトを完成させるまでの工程に時間がかかってしまう。
【０００８】
このように、電源ノイズ等のダイナミックな電圧変動を抑制する手法として、電源-グラウンド間に容量を挿入したり、電源配線或いはグラウンド配線にインダクタンスを挿入したりする手法が採られているが、容量を挿入する手法に対しては、全セルに均等に容量が形成し面積的にデメリットが大きいことや、電源ネットワークを事前に動的解析する必要があり、処理時間が大きいなどの課題がある。
【０００９】
本発明は、前記実情に鑑みてなされたもので、占有面積の増大を抑制しつつ、必要総容量の最適化をはかり、電源ノイズを抑えた半導体集積回路を設計する方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の半導体集積回路の設計方法は、半導体集積回路の必要容量最適化に際し、セルの活性度を静的または動的に考慮し、ＩＲドロップ（電圧降下）を最適化し、より高精度の容量最適化を測るものである。
すなわち、本発明の半導体集積回路の設計方法は、回路情報から、対象回路の各セルが活性状態にあるか否かを考慮して、電圧降下を最適化にするのに必要な必要総容量を算出する工程を含むことを特徴とする。
本発明は、非活性状態のトランジスタなどのセルが容量として作用するという事実に着目してなされたもので、この方法によれば、非活性状態のトランジスタの容量効果を考慮して電源容量の最適化を行なうことにより、静的あるいは動的な電源変動を安定化することができる。
【００１１】
また、本発明の半導体集積回路の設計方法は、前記回路情報がネットリスト情報であり、前記対象回路のネットリスト情報を読み込む工程と、前記ネットリスト情報中のセル活性化率を読み込む工程と、前記対象回路のセル活性化率に基づき、電圧降下を最適化にするのに必要な必要総容量を算出する工程とを含むものを含む。
この方法によれば、活性化率をパラメータとして非動作トランジスタの容量としての影響を考慮することにより、ネットリストに基づいてフロアプランなしに容量を適切なブロックに適切な量配置することができる。従って、電源の電圧変動を抑制するために挿入する電源容量の見積もり時に、回路活性率を考慮して全体で必要な容量成分を削減したり、セル動作タイミングを見積もって電源変動の激しい時間的な箇所を補強するためのみ必要な容量にしたりして、面積的なデメリットを削減し、前記容量見積もり時に配線負荷モデルを使用することにより、設計初期の段階にかつ短時間で処理が可能になる。
【００１２】
また、本発明の半導体集積回路の設計方法は、さらに前記ネットリスト情報から、前記ネットリスト情報中の単位容量セル情報を読み込む工程と、前記単位容量セル情報と、前記活性化率とに基づき容量セル配置位置を決定する工程とを含む。
【００１３】
また、本発明の半導体集積回路の設計方法は、前記単位容量セル情報を読み込む工程で得られた既配置済の容量セルの容量と、活性化率０で容量成分として作用するセル内容量とを抽出する工程を含み、前記容量セル配置位置を決定する工程が、既配置の容量セルの容量分を考慮して決定されるようにしたものを含む。
【００１４】
また、本発明の半導体集積回路の設計方法は、前記回路情報のネットリスト情報から、負荷モデルを生成し、この負荷モデルに基づくセル動作時間を算出する工程と、前記負荷モデルに基づく各セル消費電力を算出する工程と、前記セル動作時間とセル消費電力から動的消費電力情報を算出する工程とを含み、前記必要総容量を算出する工程は、前記動的消費電力情報から動的電流情報に変換する工程と、前記動的電流が前記最大許容電流値内に収まるために必要な容量値を算出する工程とを含むものを含む。
【００１５】
また、本発明の半導体集積回路の設計方法は、前記負荷モデルは、前記ネットリスト情報からレイアウト情報を生成し、このレイアウト情報から得られた負荷情報に基づいて生成されるものを含む。
また、前記ネットリスト情報からレイアウト情報を生成し、あるいはさらにフロアプランを形成した後、さらに活性化率をパラメータとして非動作トランジスタの容量としての影響を考慮することにより、より精度良く容量を適切な位置に配置することができる。
【００１６】
また、本発明の半導体集積回路の設計方法は、前記動的消費電力情報を算出する工程は、前記セル動作時間とセル消費電力と、セル活性化率とから動的消費電力情報を算出する工程であるものを含む。
この方法によれば、セル動作時間とセル消費電力と、セル活性化率とから動的消費電力情報を算出するようにしているため、より高精度の容量算出が可能となり、電源容量の最適化が効率よくかつ高精度に実現可能となる。
【００１７】
また、本発明の半導体集積回路の設計方法は、前記対象回路の前記各セルのセル動作時間を算出する工程と、セル非動作時のセル内容量を算出する工程とを含み、電源容量挿入時に前記非同時動作セルのセル内容量分を差し引いて挿入するものを含む。
この方法によれば、前記非同時動作セルのセル内容量分を差し引いて挿入するようにしているため、不要な容量挿入を回避し、高精度で信頼性の高い容量最適化が可能となる。
【００１８】
また、本発明の半導体集積回路の設計方法は、前記対象回路の電圧降下解析を行なう工程と、前記電圧降下値に基づいて電源容量挿入可能箇所に重み付けを行なう工程と、前記重み付けされた順に、電源容量を挿入する工程とを含むようにしたものを含む。
この方法によれば、電流波形のピーク抑制のための制約値ではなく、総容量から重み付けにすることにより、面積に制限がある場合にも対応可能とすることができる。
【００１９】
また、本発明の半導体集積回路の設計方法は、前記電圧降下解析を行なう工程で得られた前記電圧降下値を考慮したタイミング計算を行なう工程と、前記電圧降下値と、前記タイミング計算を行なう工程で得られた結果とに基づいて電源容量挿入可能箇所に重み付けを行なう工程とを含ものを含む。
この方法によれば、活性化率をパラメータとして非動作トランジスタの容量としての影響を考慮するとともにタイミングの厳しい箇所に重み付けが来るように制御することにより、容量を特に適切な位置に配置可能とすることができる。
【００２０】
また、本発明の半導体集積回路の設計方法は、前記回路情報から、セル活性化率を読み込む工程を含み、前記重み付けを行なう工程が、前記電圧降下値と前記セル活性化率とに基づいて電源容量挿入可能箇所に重み付けを行なう工程であるものを含む。
【００２１】
また、本発明の半導体集積回路の設計方法は、前記対象回路の前記各セルのセル動作時間を算出する工程と、前記対象回路の同時刻近傍動作セルを抽出する工程と、前記抽出されたセルが近傍に配置されている箇所を抽出する工程とを含み、前記電源容量を挿入する工程は、前記抽出されたセルに優先的に電源容量を挿入するものを含む。
【００２２】
また、本発明の半導体集積回路の設計方法は、前記活性化率を読み込む工程と、前記活性化率が高く、消費電力の大きいセルをフロアプラン時に電源パッド寄りに配置されるように制御する工程とを含むものを含む。
この方法によれば、活性化率の高いセルや消費電力の大きいセルが電源の入り口に来るように制御することにより、容量を特に適切な位置に配置可能とすることができる。
【００２３】
また、本発明の半導体集積回路の設計方法は、各セル毎に必要総容量を算出する工程と、容量挿入箇所に配置済みのセルを移動させる工程とを含むものを含む。
この方法によれば、容量を挿入すべき箇所に、配置済みのセルを移動させることにより、占有面積を増大させることなく、適切な容量配置が可能となる。
また、場所を空けておくことにより、容量を適切な位置に容易に配置することが可能となる。
また、活性化率の高いところに配置することにより、電源容量を頻繁に活用できるため効果的である。
また、活性化率の高いところと低いところを混在させることにより、容量セルの配置が困難な場合に、近接したセルを利用し易いため効果的である。
また、同時スイッチングを考慮することにより、影響の大きい箇所に配置することができる。
【００２４】
また、本発明の半導体集積回路の設計方法は、容量挿入に先立ち、非同時動作セルまたは非活性化セルを容量挿入箇所に移動させて必要総容量を減らす工程を含むものを含む。
この方法によれば、占有面積を増大することなく容易に容量の最適化が可能となる。
【発明の効果】
【００２５】
また、本発明の半導体集積回路の設計方法は、本発明の半導体集積回路の設計方法によれば、非活性状態にあるトランジスタの容量効果を考慮して電源容量の最適化を行なうことにより、静的あるいは動的な電源変動を安定化することができる。
また、ネットリストから、あるいはレイアウト情報から、活性化率をパラメータとして非動作トランジスタの容量としての影響を考慮することにより、フロアプランなしあるいはフロアプラン後に活性化率をパラメータとして非動作トランジスタの容量としての影響を考慮することにより、より精度良く容量を適切な位置に配置することができる。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
本実施の形態の半導体集積回路装置の設計方法は、ネットリスト情報中のセル活性化率およびセル動作時間を考慮し、電圧降下を最適化にするのに必要な必要総容量を算出して、容量セル位置を決定する工程を含むことを特徴とするものである。
図１は、本発明の実施形態に係る半導体集積回路の設計方法を実行する設計装置の構成を示すブロック図である。図１に示す設計装置は、電圧降下を最適化にするのに必要な必要総容量を算出して、容量セル位置を決定して、容量セルレイアウト情報３０５を出力するセル位置決定手段３０４を備えている。この設計装置のセル位置決定手段３０４には、単位容量セル情報３０３と、ネットリスト情報３０２と、インスタンス活性化率３０１と、必要に応じてセル動作時間情報３０６が入力される。
【００２７】
設計装置は、概ね以下のように動作する。
ネットリスト情報３０２は、設計対象となる半導体集積回路（以下設計対象回路）の回路網をあらわすデータである。この実施例では、論理否定・論理和・論理積のような論理を持つ論理ゲートを高さまたは幅を均一にしてレイアウトしたものである論理セルを、配線で結合した回路網を用いている。同一のネットリスト上で同じ論理を持つ論理セルが複数用いられるため、個々の論理セルはそれらを区別するために『インスタンス』と一般的に呼称されている。
【００２８】
単位容量セル情報３０３は、電源とグラウンド間に容量を構成できるようにしたデカップリング容量用のセルの大きさおよび容量値をあらわすデータである。このセルは、たとえばトランジスタセルのソース端子とドレイン端子を結合し、それらの端子とゲート端子との間のゲート酸化膜による容量を利用するデバイス容量などで実現される。
【００２９】
なお、要求される容量値に応じて、容量セルのサイズを可変にできるようなパラメタライズセルの場合には、セルの大きさと容量値との関係をあらわすデータを記憶する。
インスタンス活性化率３０１は、個々の論理セルである各インスタンスの動作頻度である活性化率をあらわす。活性化率はたとえばクロック周期何回に対して、インスタンスの出力が何回変動するか、という割合で動作頻度を表す。好ましくは、クロック周期内の動作頻度の分布であらわすことにより、後述の実施例で示すように、より電源変動を安定化させるようなセル配置が可能となる。
【００３０】
セル位置決定手段３０４は、ネットリスト情報３０２から、個々のインスタンスにおける電圧変動を予測する。この際、インスタンス活性化率情報３０１に基づき、動作しないインスタンスが持つ容量を、デカップリング容量と同様に電圧変動を抑える働きをするものとしてその影響を考慮して予測を行なう。その結果、電圧降下と消費電流との関係から個々のインスタンスに必要となる容量を予測し、単位容量セル情報３０３より必要となる容量の個数もしくは大きさを決定し、論理セルとともに容量セルを配置した結果を、セルレイアウト情報３０５として出力する。
【００３１】
セル動作時間情報３０６は、ネットリスト中のインスタンスが基準時間に対して、どのような時間に動作するか、或いは動作する可能性があるかを表す情報である。例えば、論理検証ツール等を用いて得られた各ネットの動作情報Ｈｉｇｈ／Ｌｏｗと遷移時間情報を含むＶＣＤ（Ｖａｌｕｅ  Ｃｈａｎｇｅ  Ｄｕｍｐ）ファイルや、静的タイミング解析（ＳＴＡ：ＳＴＡＴＩＣ  ＴＩＭＩＮＧ  ＡＮＡＬＹＳＩＳ）ツールで得られた各クロック信号に対する遅延情報ファイルに含まれる。
【００３２】
このようにして得られた半導体集積回路では、論理セルを配置した後の空き領域に容量セルを配置する場合に比べて、局所的な電圧降下が抑制されている。
【００３３】
以下、設計装置の詳細を説明する。
ネットリスト情報３０２は、設計対象回路の回路網をあらわすデータである。たとえば図２に示すような設計対象回路が記憶されている。この例では、論理セルのインスタンスであるクロックバッファＣＫ１、ＣＫ２、ＣＫ３、フリップフロップＦＦ１、ＦＦ２、インバータＩＮＶ１、ＩＮＶ２、ＩＮＶ３、ＩＮＶ４と、それらを接続する配線とから構成されている。また、電源配線のテクノロジ情報（電源配線の抵抗密度や配線間の材質の誘電率など）や、論理変化時に論理セルの消費する消費電流、論理変化をしないときの論理セルの電源とグラウンド間の容量値、各配線の持つ容量値、各インスタンスの変化時の変化時間（トランジション時間）が含まれている。
【００３４】
単位容量セル情報３０３は、電源とグラウンド間に容量を構成できるようにしたデカップリング容量用のセルの大きさおよび容量値をあらわすデータである。たとえば、容量セルＣＡＰ１、ＣＡＰ２、ＣＡＰ３に対して、容量値が１ｐＦ、５ｐＦ、１０ｐＦであり、セル幅が１０μｍ、４０μｍ、８０μｍである、というような情報が記憶されている。
インスタンス活性化率３０１は、個々の論理セルであるインスタンスの動作頻度である活性化率をあらわす。図２に示すように、たとえば信号線ｗ８、ｗ９、ｗ１０、ｗ１１、ｗ１２はクロックと同期しているので２００％、ｗ１はクロック周期２回に１回変化するとすると、５０％、ｗ２、ｗ３、ｗ４、ｗ５、ｗ６、ｗ７もクロックが変化するごとにＦＦ１、ＦＦ２の入力から出力に信号が伝播するとすると５０％、といったようにクロック周期何回に対して、インスタンスの出力が何回変動するか、という割合で動作頻度を表す。このような情報は、論理シミュレータを用いてあらかじめ調べておくことが可能である。
【００３５】
セル位置決定手段３０４は、図３に示すようなフローチャートに従い、セル位置を決定する。
ここでは、まず実際の配置や配線を行っていないフロアプラン前の状態を想定しているので、電流波形を算出する際には、一般的に良く利用されている、大まかな回路規模と配置面積とファンアウト（出力端子に対する入力ピン数）の関係で表される負荷容量モデル（仮負荷モデル）によって、インスタンスが動作する時間及びインスタンス毎の消費電力を見積もることができる。これにより、実際のフロアプラン処理に着手する前に概略消費電力と必要電源容量を算出することができ、フロアプラン段階までに必要な容量セル領域を確保することが可能となる。
【００３６】
次に、図２に示すようなネットリスト情報３０２を用い、個々のインスタンスにおける電圧変動を予測する。この際、個々のインスタンスの出力の１変動に対して消費電力の大きさも同時に読み込み、インスタンス活性化率情報を積算することで消費電力Ｐを計算する。Ｐ＝ＩＶであることから、消費電力Ｐを電源電圧Vで割ることで電流源の電流量Iを計算することができる。電流源の波形は、事前に決められたインスタンスの変化時間を用い、積分値が電流量Iとなるように波形を構築する（ステップ５０１）。
【００３７】
次に、（１−活性化率Ｒ）に各インスタンスが非動作時に容量成分として作用する総容量Ｃをかけた値を、非動作トランジスタがデカップリング容量として働く容量分として計算する（ステップ５０２）。ここで、各インスタンスが非動作時に容量成分として作用する容量成分には、セルの出力信号がＨｉまたはＬｏｗになる状態に固定し、電源・グラウンド間に在るトランジスタやセル内部容量及び出力配線負荷容量が考えられる。トランジスタ及びセル内部容量に関してはインスタンスではなく、セル固有の値になるため、一般的にセルの動作特性（遅延特性や消費電力特性）をライブラリ化するためにキャラクタライズ処理を行なう際に、出力固定状態でのセル内部容量としてライブラリ情報に追加することが考えられる。
【００３８】
また、出力配線負荷容量に関しては、インスタンス毎に異なるためライブラリ化を行って高速処理を行なうことは難しいが、セル毎に出力配線負荷容量が電源容量として作用する際の有効容量割合を算出することが可能なため、配線負荷容量全体の内どの程度の割合で有効電源間容量として作用するかをキャラクタライズしておき、配線負荷容量に対して、その係数を乗算することにより算出可能となる。
【００３９】
次に、図４に示すような電源経路モデルのiに電流源の波形を、ｃに非動作トランジスタのデカップリング容量として働く容量分及び既配置済の容量セルや電源配線間容量を与える。電源抵抗ｒには、あらかじめ定めた一定の抵抗値を与える。また、電源パッドやＬＳＩ内部のインダクタンス成分を考慮するにはlの部分にインダクタンス成分を含ませることで考慮できる。この回路網を、ＳＰＩＣＥ(Simulation Program with Integrated Circuit Emphasis)等のトランジスタレベルシミュレータを用いて、各接点のダイナミックな電流変動や、電圧変動を計算する（ステップ５０３）。
【００４０】
次に、平均電流値を基準としてピーク電流（電流波形の波高値の内最も高い部分）制約値ilimitを決定する。たとえば平均電流値の１．２倍とあらかじめ決めておくことでこれを計算する（ステップ５０４）。
【００４１】
次に、図５に示すように、ピーク電流制約値を超えるダイナミック電流波形の差分の面積を計算し、差分電荷量Ｑとして算出する（ステップ５０５）。
次に、差分電荷量Ｑから各ノードに必要な容量Ｃ＝Ｑ／Ｖを計算する（ステップ５０６）。
そして最後に、各インスタンスと、各ノードに必要な容量を、配置ツールを用いて配置する。配置ツールは一般的にＰ＆Ｒツールと呼ばれるツールを使用することで容易に実現可能である（ステップ５０７）。ここで、図５に示すような電流波形をＬＳＩ全体に対してではなく、機能モジュール毎に算出するなど、より細かい単位で作成することにより、より高精度な電流波形の見積もりが可能となる。
【００４２】
（実施の形態２）
なお、あらかじめセル位置決定手段３０４で容量を含むセルを最適配置する前に、概略配置（フロアプラン）を行っておくようにしてもよい。このときの装置構成およびこの方法のフローチャート図を図６及び図７に示す。
ここで、図７のフロアプランステップ６０１を追加するもので、この構成においては、メモリセルやソフトマクロセルの配置位置の決定と電源配線を行い、論理セルに関しては少なくとも概略配置まで行っておく。ここで、信号配線に関しての詳細配線等の処理は必要としない。この手段を用いる場合には、ＬＳＩ全体におけるブロックの配置位置が概略ではあるが決定されるため、消費電力の分布の精度が上がる。また、電源抵抗や、動いていないセルの容量効果の影響をより正確に見積もることが可能となり、概略配置までの処理で処理時間的にも短時間で精度の高い見積もりを行なうことが可能となる。
【００４３】
また、図６において既配置容量セル抽出手段４０４にてあらかじめ配置済みの容量セルや動いていないセルの容量効果を見積もっておくようにしている。この情報に基づきより少ない容量セルでノイズ低減を行なうことが可能である。
【００４４】
（実施の形態３）
また、本発明の実施の形態３では、図８にフローチャートを示すように、セル位置決定手段が各ノード周辺の非同時動作セルの抽出を行なうステップ７０１と、非同時動作セルの容量成分を必要容量から差し引くステップ７０２とを備えたことを特徴とするものである。
【００４５】
このステップ７０１では、各ノード周辺でセルが動作する時間が同時もしくは同時から前後数ps〜数nsの時間内に動作しないセルを非同時動作セルとして抽出する。この非同時動作セルの抽出に必要な情報としては、一般的な論理検証ツールから出力されるVCD(Value Change Dump)ファイル等のセル（ネット）動作時間が含まれるファイルや静的タイミング解析(ＳＴＡ)ツール等のクロック動作に対する各インスタンス動作時間情報から抽出することができる。
【００４６】
そして、各ノードに必要と算出された容量値から非同時動作セルの容量値を差し引くステップ７０２を追加することにより、実際にＬＳＩが動作する際に容量セルや配線間容量以外に容量成分として働く容量を考慮することができ、真に必要となる容量のみを追加することが可能となる。
これは容量を適切な位置に配置可能で、非同時動作セル容量を考慮することにより挿入する電源容量数を削減し、容量セル挿入のための面積増加を抑制するという効果がある。
【００４７】
（実施の形態４）
また、本発明の実施の形態４では、図９にフローチャートを示すように、セル位置決定手段が、活性化率に配線容量を乗じた値を非動作トランジスタの容量としてモデル化した後、トランジスタ数やネット数から余剰面積を求め、使用可能な総容量を決定するステップ８０１と、各ノードの電圧降下値と、ダイナミックな電流波形を計算した後、電圧降下値を基準として各ノードの重み付けを決定するステップ８０２と、各ノードに必要な容量を算出してノードと容量のテーブル値を出力するステップ８０３とを備えたことを特徴とする。
すなわち、ステップ８０１でトランジスタ数やネット数から余剰面積を求め、主な容量セルを構成する為に必要な面積と容量値の情報から挿入可能な総容量を決定する。次に、ステップ５０３で各ノードの電圧降下値とダイナミックな電流波形を計算し、ステップ８０２で電圧降下値を基準として、電圧降下値の大きいノードには優先的に電源容量が挿入されるように、各ノードの重み付けを決定する。そして続いて、ステップ８０３で重み付け×総容量から各ノードに必要な容量を計算し、ノードと容量のテーブルとして出力することにより、電流波形のピーク抑制のための制約値から決められた必要容量を全て挿入するのではなく、挿入可能総容量を重み付けにより効果的な位置に容量を挿入することができる。これは面積に制限がある場合に限られた容量を最大限有効活用することができるように挿入することが可能になる。
【００４８】
（実施の形態５）
また、本発明の実施の形態５では、図１０にフローチャートを示すように、電圧降下値・タイミングを基準として各ノードの電流量制約値を決定するようにしたことを特徴とするものである。
セル位置決定手段は、ステップ９０１で電圧降下値・タイミングを基準として各ノードの電流量制約値を決定する。このタイミング（セットアップタイミング・ホールドタイミング制約）を基準に重み付けを決定するステップでは、単に一般的に言う電圧降下を考慮しないＳＴＡでのタイミングが厳しい箇所を指すのではなく、電圧降下を考慮した遅延値を用いてＳＴＡを行った際に、タイミングが厳しく且つ電圧降下未考慮と比較して最もタイミングが劣化した部分の重み付けを重く設定する。
【００４９】
また、電圧降下を考慮してもタイミング違反が発生しない回路の場合は、クロック系の回路部分の重み付けを重くするなどの対応を行い、クロックネットの電圧降下による遅延変動を抑えることが望ましい。このステップの追加により、活性化率で非動作トランジスタが容量として作用する影響を考慮するとともにタイミングの厳しい箇所に重み付けが来るように制御することができる。これは面積に制限がある場合に限られた容量を最大限有効活用することができるように挿入することが可能になる。
【００５０】
（実施の形態６）
また、本発明の実施の形態６では、図１１にフローチャートを示すように、活性化率の高いセルや単体消費電力が大きいセルをできるだけ電源入り口に近づけるように制御するステップ１００１を付加したことを特徴とする。
図１１に示すフローチャートのように、セル位置決定手は、ステップ１００１においてフロアプラン（仮レイアウト）時に活性化率の高いセルや単体消費電力が大きいセルをできるだけ電源入り口に近づけるように制御する。消費電力の比較的大きなセルをＬＳＩ中央領域から電源パッドに近づけることで、ＬＳＩ中央領域へ流入する電流を削減することができる。これにより各電源ノードの電流値も削減されることから、ピーク電流も小さくなり、電流制約値を超える電流も減少することになる。ついで、ステップ５０５において算出される必要容量も減少する。このステップの追加により、ＬＳＩ中央領域に必要な容量を削減することができ、ＬＳＩの全体面積の削減が可能となる。
【００５１】
（実施の形態７）
また、本発明の実施の形態７では、図１２にフローチャートを示すように、容量の必要箇所をシフトして場所をあけるステップ１１０１を含むことを特徴とする。
すなわち、図１２に示すように、セル位置決定手段は、ステップ１１０１で容量の必要箇所をシフトして場所をあけるようにしており、図１３（ａ）に示すように活性化率の高いセルや単体消費電力が大きいセルと、容量セル配置可能領域があった場合に、ステップ１１０１の処理を行った結果が図１３（ｂ）の矢印で示すように容量セル配置可能領域が消費電力の高いセル近傍に来るように論理セルの位置を移動させる。ここでは容量挿入が必要となる箇所と領域をあらかじめ算出することによって、その領域に存在しシフトが必要なセル数の算出を行なう。また、このシフトによってタイミング的に厳しくなる可能性があるセルについては移動禁止等のフラグを設定しておくことにより、タイミング的な違反の増加を抑制することができる。ここで、瞬間電流の変動が激しく、容量を実際に必要としている箇所の近傍に容量を配置することが可能となり、容量と供給先との間の抵抗値を低く抑えることができる。これにより、同一電流を供給するために必要な容量値をより低く抑えることが可能となり、容量挿入のための総面積の抑制が可能となる。
【００５２】
（実施の形態８）
また、本発明の実施の形態８では、図１４にフローチャートを示すように、活性化率の高い箇所の差分電荷量から各ノードに必要な容量C=Q/Vを計算し、ノードと容量のテーブルとして出力するステップ１４０１を付加したことを特徴とする。
このように、本実施の形態では、セル位置決定手段の動作ステップに、活性化率の高い箇所の差分電荷量から各ノードに必要な容量C=Q/Vを計算し、ノードと容量のテーブルとして出力するステップ１４０１を追加することにより、活性化率の高いところに配置することができる。これは高速動作で効果的である。
【００５３】
（実施の形態９）
また、本発明の実施の形態９では、図１５にフローチャートを示すように、差分電荷量の大きい箇所に活性化率の低いセルが配置されるよう再レイアウトし、レイアウト情報を出力することにより、活性化率の高いところと低いところを混在させるようにしたことを特徴とするものである。
【００５４】
本実施の形態では、セル位置決定手段が、ステップ１５０１において、差分電荷量の分布の解析を行い、差分電荷量が大きく密度が高い領域を検出し、近隣のセルの内、ＳＴＡ情報等から求められる動作タイミングが異なり、且つ活性化率の低いセルの抽出を行なう。次に、差分電荷量の大きい箇所に活性化率の低いセルが配置されるよう再レイアウトし、レイアウト情報を出力することにより、活性化率の高いところと低いところを混在させることができる。これは容量セルの配置が困難な場合に効果的である。
【００５５】
（実施の形態１０）
また、本発明の実施の形態１０では、図１６にフローチャートを示すように、差分電荷量が大きくかつ同時スイッチングするノードに容量セルを作成し、レイアウト情報を出力するステップ１６０１を付加するようにしたことを特徴とする。
【００５６】
また、図１６に示すフローチャートのように、セル位置決定手段の中で、ステップ１６０１として差分電荷量を実平面での領域分析に加え時間軸に沿った分析を行い、同一時間もしくは近傍の時間において差分電荷量の総量が大きいノードに対しての解析を行い、図１７に示すような各電源ノードに対応したテーブル情報を生成する。ここで図１７では電源配線のみを示しているが、この電源配線に沿ってセルが存在している。
次に、このようにして生成したテーブルから同時スイッチングセル数及びそれに伴う必要容量量により重み付けを行い、容量セルを挿入する。
【００５７】
このようにして、近隣セルが同時スイッチングする際に特に必要になる電流量を考慮することができる。これにより容量セル挿入の効果の大きい箇所に容量セルを配置し、容量セルを有効活用することが可能となる。
【産業上の利用可能性】
【００５８】
本発明の設計方法は、動作していないトランジスタの容量効果を考慮して、電源ノイズを抑えた半導体集積回路を設計することができることから、各種の半導体集積回路の設計に利用することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１にかかるセル活性化率使用フロー図
【図２】本発明の実施の形態１にかかる配線活性化率説明図
【図３】本発明の実施の形態１にかかるフロアプラン前必要容量見積もりフロー図
【図４】本発明の実施の形態１にかかる必要容量算出時電源経路モデル図
【図５】本発明の実施の形態１にかかる必要容量算出時電流波形モデル図
【図６】本発明の実施の形態２にかかる既存容量考慮フロー図
【図７】本発明の実施の形態２にかかるフロアプラン時必要容量見積もりフロー図
【図８】本発明の実施の形態３にかかる非同時動作セル容量考慮フロー図
【図９】本発明の実施の形態４にかかる限定面積容量挿入フロー図
【図１０】本発明の実施の形態５にかかるタイミング情報考慮容量挿入フロー図
【図１１】本発明の実施の形態６にかかるフロアプラン時セル配置位置制御フロー図
【図１２】本発明の実施の形態７にかかる容量挿入領域確保フロー図
【図１３】本発明の実施の形態７にかかる容量セル挿入位置確保のイメージ図
【図１４】本発明の実施の形態８にかかる活性化率依存重み付けフロー図
【図１５】本発明の実施の形態９にかかる活性化率依存配置制御フロー図
【図１６】本発明の実施の形態１０にかかる動作タイミング考慮重み付けフロー図
【図１７】本発明の実施の形態１０にかかる動作タイミング考慮重み付けイメージ図
【図１８】従来の容量セル挿入例を示す図
【符号の説明】
【００６０】
３０１  インスタンス活性化率
３０２  ネットリスト
３０３  単位容量セル情報
３０４  容量セル位置決定手段
３０５  容量セルレイアウト情報
３０６  セル動作時間情報
【図１】
2006185323.tif 000003
【図２】
2006185323.tif 000004
【図３】
2006185323.tif 000005
【図４】
2006185323.tif 000006
【図５】
2006185323.tif 000007
【図６】
2006185323.tif 000008
【図７】
2006185323.tif 000009
【図８】
2006185323.tif 000010
【図９】
2006185323.tif 000011
【図１０】
2006185323.tif 000012
【図１１】
2006185323.tif 000013
【図１２】
2006185323.tif 000014
【図１３】
2006185323.tif 000015
【図１４】
2006185323.tif 000016
【図１５】
2006185323.tif 000017
【図１６】
2006185323.tif 000018
【図１７】
2006185323.tif 000019
【図１８】
2006185323.tif 000020