(57)【特許請求の範囲】
【請求項１】
半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出部と、
前記負荷容量値算出部で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置部とを備えたことを特徴とする半導体装置の設計支援装置。
【請求項２】
前記キャパシタ配置部は、
前記判定結果に基づいて、前記周波数特性を有するキャパシタを配置する対象となる論理セルを選定し、前記対象となる論理セルの位置に基づいた領域を設定する領域設定部と、
前記領域設定部で設定された領域の空き部分に、前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と
を備えることを特徴とする請求項１に記載の半導体装置の設計支援装置。
【請求項３】
前記キャパシタ配置実行部は、
前記領域以外の領域の空き部分に、前記領域の空き部分に配置したキャパシタとは周波数特性が異なるキャパシタを配置する
ことを特徴とする請求項２に記載の半導体装置の設計支援装置。
【請求項４】
前記周波数特性を有するキャパシタは、周波数特性の異なる複数種類のキャパシタに分類され、
前記キャパシタ配置部は、
前記複数種類のキャパシタのうち、高い周波数特性を有するキャパシタから低い周波数特性を有するキャパシタの順に配置する
ことを特徴とする請求項１から請求項３のいずれか１項に記載の半導体装置の設計支援装置。
【請求項５】
前記キャパシタ配置部は、
前記各論理セルの周波数帯域に基づいて、前記各論理セルを周波数帯域の異なる複数のセルグループに分類し、予め定められた単位エリア内における各セルグループの比率を求めるセル比率算出部と、
前記各セルグループの比率にしたがって、前記対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、前記対象となる論理セルの周辺部の空き領域にそれぞれ配置するキャパシタ配置実行部と
を備えることを特徴とする請求項１に記載の半導体装置の設計支援装置。
【請求項６】
前記各セルグループの比率を、前記単位エリア内における各セルグループの総負荷容量値の比率としたことを特徴とする請求項５に記載の半導体装置の設計支援装置。
【請求項７】
前記遅延ライブラリ情報には、論理セルの入力端子容量、及び前記半導体装置内配線の単位配線長当たりの配線容量が含まれ、
前記負荷容量値算出部は、前記レイアウト情報及び前記遅延ライブラリ情報に基づき、前記各論理セルの出力端子の負荷容量値を算出することを特徴とする請求項１から請求項６のいずれか１項に記載の半導体装置の設計支援装置。
【請求項８】
コンピュータシステムのキャパシタ配置方法であって、
前記コンピュータシステムが備える負荷容量値算出部が、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップと、
前記コンピュータシステムが備えるキャパシタ配置部が、前記負荷容量値算出ステップで算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップとを備えたことを特徴とするキャパシタ配置方法。
【請求項９】
半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、
前記負荷容量値算出手順で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とを
コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計支援装置及びキャパシタ配置方法、並びにこのキャパシタ配置方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
微細プロセスで高速動作するＬＳＩ（Large Scale Integrated）の設計を行う場合、オンチップデカップリングキャパシタを電源ラインに配置する技術が知られている。オンチップデカップリングキャパシタは、キャパシタが持つ充放電機能を利用し、ＬＳＩの電源端子を結ぶ配線である電源ラインに発生するノイズ（電圧変動）を吸収するために、電源ラインに配置されるキャパシタである。
【０００３】
この種のキャパシタの配置方法としては、例えば、特許文献１に記載されているものがある。特許文献１に記載されたキャパシタの配置方法では、指定された周波数特性及び配置エリアの組み合わせごとに周波数特性の異なるキャパシタセルを配置している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９３１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されたキャパシタの配置方法では、同一配置エリア内に複数の周波数特性を持つ回路が混在している場合において、周波数帯域（＝ノイズ感度）の高いキャパシタを選択して挿入するなど、必ずしも回路の周波数特性に応じたキャパシタが適切に配置されず、電源ノイズ耐性の高い半導体装置を設計することが困難であった。
【０００６】
また、一般に周波数帯域の高いキャパシタは低いキャパシタに比べ単位面積当たりの容量値が低いため、必要な容量を満たすためにより多くのキャパシタセルを挿入する必要があった。
【０００７】
本発明の目的は、上述した課題を解決する半導体装置の設計支援装置、キャパシタ配置方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一態様による半導体装置の設計支援装置は、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出部と、前記負荷容量値算出部で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置部とを備えたことを特徴とする。
【０００９】
また、本発明の一態様によるキャパシタ配置方法は、コンピュータシステムのキャパシタ配置方法であって、前記コンピュータシステムが備える負荷容量値算出部が、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップと、前記コンピュータシステムが備えるキャパシタ配置部が、前記負荷容量値算出ステップで算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップとを備えたことを特徴とする。
【００１０】
また、本発明の一態様によるプログラムは、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、前記負荷容量値算出手順で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、ノイズの周波数帯域に適したキャパシタを配置することができ、電源ノイズ耐性の高い半導体装置を設計することが可能になる。また、配置するキャパシタ数の増加を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る半導体装置の設計支援装置の構成ブロック図である。
【図２】配置配線情報の内容例を示す簡略図である。
【図３】各セル間に接続されるネットの配線長情報の一例を示す表形式図である。
【図４】遅延ライブラリ情報の内容例を示す表形式図である。
【図５】設計規則情報の内容例を示す表形式図である。
【図６】デカップリングキャパシタセルの物理情報を示す模式図である。
【図７】第１の実施形態の全体の動作を示すフローチャートである。
【図８】キャパシタ配置処理の詳細を示すフローチャートである。
【図９】キャパシタ配置処理を説明するための説明図である。
【図１０】キャパシタ配置処理を説明するための説明図である。
【図１１】キャパシタ配置処理を説明するための説明図である。
【図１２】キャパシタ配置処理を説明するための説明図である。
【図１３】第２の実施形態に係る半導体装置の設計支援装置の構成ブロック図である。
【図１４】第２の実施形態の動作を示すフローチャートである。
【図１５】論理ゲートのスイッチング時の電圧波形と電流波形を示すグラフである。
【図１６】デカップリングキャパシタの周波数特性等の一例を示す表形式図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を参照しながら説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態に係る半導体装置の設計支援装置１の概略構成を示すブロック図である。
この図において、半導体装置の設計支援装置１（以下、設計支援装置という）は、配置配線情報／各種ライブラリ情報入力部１０１と、設計規則入力部１０２と、負荷容量値算出部１０３と、デカップリングキャパシタ配置部１０４と、レイアウト情報出力部１０５と、制御部１０６と、メモリ２００とを備えている。また、配置配線情報／各種ライブラリ情報入力部１０１と、設計規則入力部１０２と、負荷容量値算出部１０３と、デカップリングキャパシタ配置部１０４と、レイアウト情報出力部１０５との各部がバスを介してメモリ２００に接続されている。そして、制御部１０６が、配置配線情報／各種ライブラリ情報入力部１０１、設計規則入力部１０２、負荷容量値算出部１０３、デカップリングキャパシタ配置部１０４、及びレイアウト情報出力部１０５の各部の処理を制御する。
【００１４】
配置配線情報／各種ライブラリ情報入力部１０１は、ＬＳＩ（半導体装置と呼ぶこともある）のレイアウトを行う際に必要な情報として、配置配線情報２０１（レイアウト情報と呼ぶこともある）、及び遅延ライブラリ情報２０２が入力され、メモリ２００に記憶させる。ここで、配置配線情報２０１及び遅延ライブラリ情報２０２には、負荷容量値算出部１０３によって参照される内容が含まれており、配置配線情報２０１の内容については図２及び図３を参照し、遅延ライブラリ情報２０２の内容については図４を参照して、後述する。
【００１５】
設計規則入力部１０２は、ＬＳＩレイアウト中にデカップリングキャパシタセルを配置するための設計規則情報２０３が入力され、メモリ２００に記憶させる。ここで、設計規則情報２０３は、デカップリングキャパシタ配置部１０４で参照する情報が記載され、その内容については図５及び図６を参照して、後述する。
【００１６】
負荷容量値算出部１０３は、配置配線情報２０１（ＬＳＩのレイアウト情報）、及びＬＳＩの遅延要素から成る遅延ライブラリ情報２０２に基づき、ＬＳＩ内に配置されている各論理セル（以下、単にセルと呼ぶこともある）の負荷容量値をそれぞれ算出する。すなわち、負荷容量値算出部１０３は、メモリ２００に記憶された配置配線情報２０１と遅延ライブラリ情報２０２を参照して各セルの負荷容量値を求める。
なお、ＬＳＩの遅延要素とは、例えば、論理セルの入力端子容量、論理セルの出力能力（ドライブ能力）、配線容量などである。
【００１７】
キャパシタ配置部、つまり、デカップリングキャパシタ配置部１０４は、負荷容量値算出部１０３で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、その判定結果に対応した周波数特性を有するデカップリングキャパシタを、対象となる論理セルの周辺部の空き領域に配置する。すなわち、デカップリングキャパシタ配置部１０４は、負荷容量値算出部１０３によって算出した各セルの負荷容量値に基づき、メモリ２００に記憶された配置配線情報２０１におけるＬＳＩレイアウトの空き領域にデカップリングキャパシタを配置して配置配線情報２０１を更新（変更）する、ここで、対象となる論理セルとは、デカップリングキャパシタを配置する対象となる論理セルのことである。
【００１８】
また、デカップリングキャパシタ配置部１０４は、領域設定部１０４ａとキャパシタ配置実行部１０４ｂとを備えている。
領域設定部１０４ａは、上述の各論理セルの周波数帯域をそれぞれ判定する判定結果に基づいて、対応する周波数特性を有するデカップリングキャパシタを配置する対象となる論理セルを選定し、対象となる論理セルの位置に基づいた領域を設定する。
キャパシタ配置実行部１０４ｂは、領域設定部１０４ａで設定された領域の空き部分に、上述の判定結果に対応する周波数特性を有するデカップリングキャパシタを配置する。また、キャパシタ配置実行部１０４ｂは、上述の領域以外の領域の空き部分に、上述の領域の空き部分に配置したデカップリングキャパシタとは周波数特性が異なるデカップリングキャパシタを配置する。すなわち、キャパシタ配置実行部１０４ｂは、例えば、領域設定部１０４ａで設定された領域の空き部分に高周波用のデカップリングキャパシタを配置し、上述の領域以外の領域の空き部分に低周波用のデカップリングキャパシタを配置する。
【００１９】
レイアウト情報出力部１０５は、デカップリングキャパシタ配置部１０４により更新された配置配線情報２０１を画面等に出力する。
【００２０】
次に、配置配線情報２０１、遅延ライブラリ情報２０２及び設計規則情報２０３の内容について説明する。
図２は、配置配線情報２０１の内容例を示す簡略図である。
図２に示すように、セルＡ〜Ｇと配線（ネット）Ｎ１〜Ｎ５が、入力端子ＩＡ１〜ＩＧ１、出力端子ＯＡ１〜ＯＧ１を経由して接続されている。尚、この図２の例は、当該発明の説明に必要な要素のみを簡略化して表示しているものであり、実際のＬＳＩレイアウトの構造をそのまま表しているものではなく、図示した構成要素以外のセルや端子、それら端子への配線も存在している。
【００２１】
図３は、各セル間に接続されるネットの配線長情報の一例を示す表形式図である。この配線長情報は、配置配線情報２０１の１つとしてレイアウト完了後に確定する情報である。
図４（ａ）、（ｂ）は、遅延ライブラリ情報２０２の内容例を示す表形式図であり、同図（ａ）は各セルの入力端子容量を示し、同図（ｂ）はＬＳＩ内配線の単位長当たりの配線容量を示し、負荷容量値算出部１０３で参照する内容が含まれている。
【００２２】
図５及び図６は、設計規則情報２０３の内容例を示す図である。
図５に示す例は、５種類のデカップリングキャパシタセルＤＨ４、ＤＨ２、ＤＨ１、ＤＬ４、及びＤＬ２について、対応する周波数特性（近傍に配置すべきセルの負荷容量値）とセルサイズを示し、図６に示す例は、デカップリングキャパシタセルＤＨ４、ＤＨ２、ＤＨ１、ＤＬ４、及びＤＬ２の物理情報を示している。
【００２３】
次に、本実施形態の動作について、図７〜図１２を参照して説明する。
図７は、本実施形態の全体の動作を示すフローチャートである。
まず、制御部１０６は、配置配線情報／各種ライブラリ情報入力部１０１を用いて、ＬＳＩレイアウトを行う際に必要な情報として配置配線情報２０１及び遅延ライブラリ情報２０２を入力させ、メモリ２００に記憶させる（ステップＳ１１）。
次に、制御部１０６は、設計規則入力部１０２を用いて、ＬＳＩレイアウト中にデカップリングキャパシタセルを配置するための設計規則情報２０３を入力させ、メモリ２００に記憶させる。（ステップＳ１２）。
【００２４】
続いて、制御部１０６は、負荷容量値算出部１０３を用いて、メモリ２００に記憶されている配置配線情報２０１と遅延ライブラリ情報２０２を参照して各セルの負荷容量値を求める（ステップＳ１３）。この負荷容量値は、出力端子に繋がる配線の配線容量と接続先セルの入力端子容量との和で求めることができる。配線容量は単位長さ当たりの配線容量値（図４（ａ）参照）と配線長（図３参照）の積で計算され、入力端子容量は端子ごとに固有の値（図４（ｂ）参照）を持つ。図２に示したＬＳＩレイアウト内におけるセルでの計算例を示すと、セルＡについて、出力端子ＯＡ１に繋がるネットＮ１の配線長は、図３を参照すると８であるため、配線容量は８×３＝２４となる。また、接続される端子ＩＢ１の入力端子容量は３であるため、負荷容量は２４＋３＝２７と計算される。同様の計算方法によって、セルＢ、セルＣ、セルＤ、セルＥの負荷容量はそれぞれ９、１２、３２、２３と計算される。
【００２５】
次に、制御部１０６は、デカップリングキャパシタ配置部１０４を用いて、負荷容量値算出部１０３によって算出した各セルの負荷容量値に基づき、ＬＳＩレイアウトの空き領域、つまり配置配線情報２０１の空き領域にデカップリングキャパシタを配置して、配置配線情報２０１を更新（変更）する（ステップＳ１４）。
【００２６】
このキャパシタ配置処理においては、負荷容量値算出部１０３で計算された各セルの負荷容量値に対応したデカップリングキャパシタを、周波数特性の高いものから順にセルの近傍に配置して配置配線情報２０１を更新（変更）する。すなわち、本実施形態では、デカップリングキャパシタセルとして、周波数特性が異なる２種類を用意している。つまり第１のキャパシタとして高周波用のデカップリングキャパシタ、第２のキャパシタとして低周波用のデカップリングキャパシタの２種類を用意してあるものとする。すなわち、デカップリングキャパシタは、周波数特性の異なる複数種類（この例では、高周波用と低周波用の２種類）のデカップリングキャパシタに分類される。
【００２７】
そして、デカップリングキャパシタ配置部１０４の領域設定部１０４ａは、対象となる論理セルの位置に基づいた領域を設定する。また、デカップリングキャパシタ配置部１０４のキャパシタ配置実行部１０４ｂは、領域設定部１０４ａで設定された領域の空き部分に高周波用のデカップリングキャパシタを配置し、上記の領域以外の領域の空き部分に低周波用のデカップリングキャパシタを配置する。
【００２８】
以下、このキャパシタ配置処理について、図８を参照して詳細に説明する。
図８は、本実施形態におけるキャパシタ配置処理（図７のステップＳ１４）の詳細を示すフローチャートである。
【００２９】
はじめに、デカップリングキャパシタ配置部１０４は、メモリ２００に記憶されている設計規則情報２０３を参照し、高周波用のデカップリングキャパシタＤＨ４、ＤＨ２、ＤＨ１から配置を行う。具体的には、まず、デカップリングキャパシタ配置部１０４は、負荷容量値算出部１０３で算出された各論理セルの負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタが配置される対象となるセルを選定する（ステップＳ２１）。つまり、デカップリングキャパシタ配置部１０４は、負荷容量値算出部１０３で算出された各論理セルの負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定する。そして、デカップリングキャパシタ配置部１０４の領域設定部１０４ａは、その判定結果に基づいて、デカップリングキャパシタを配置する対象となる論理セルを選定する。本例では、図５に示す設計規則情報２０３により、高周波用のデカップリングキャパシタの対象となるセルの負荷容量値は、２０未満であることが判るので、セルＢ、セルＣが対象となるセルとなる。
【００３０】
次に、デカップリングキャパシタ配置部１０４の領域設定部１０４ａは、図９に示すように、対象となるセルであるセルＢ、セルＣを中心とした、長さＬとなる領域を設定する（ステップＳ２２）。つまり、領域設定部１０４ａは、対象となる論理セルの位置に基づいた領域を設定する。長さＬの値については、事前に作成されたデカップリングキャパシタの容量値やシミュレーションもしくはテスト用ＬＳＩによって計測された充電電流の平均値、及びデカップリングキャパシタを配置するＬＳＩ内部の配置密度（自動レイアウトでは約４０％〜５０％）から総合的に決定される。長さＬは、周波数特性毎に異なる値でもよく、また縦横で別々の長さを用いてもよい。
【００３１】
次に、デカップリングキャパシタ配置部１０４のキャパシタ配置実行部１０４ｂは、それら設定された領域の空き部分に高周波用のデカップリングキャパシタを配置する（ステップＳ２３）。配置についてキャパシタ配置実行部１０４ｂは、図１０に示すようにセルサイズの大きいものから順に配置する。図１０に示す例では、空き領域の左側から順に高周波用のデカップリングキャパシタであるＤＨ４、ＤＨ２、ＤＨ１が埋められている。
【００３２】
次に、デカップリングキャパシタ配置部１０４のキャパシタ配置実行部１０４ｂは、図１１に示すように、残りの領域（上述の設定された領域以外のＬＳＩレイアウト内の領域）について、低周波用のデカップリングキャパシタＤＬ４、ＤＬ２を配置する（ステップＳ２４）。配置の方法としては、先の高速帯域用デカップリングキャパシタと同様、セルサイズの大きいものから順に（ＤＬ４、ＤＬ２の順に）配置していく。
【００３３】
なお、本例では、若干の空き領域が残っているので、図１２に示すように、さらに、キャパシタ配置実行部１０４ｂは、セルサイズの小さいデカップリングキャパシタセル（この場合はセルＤＨ１）を任意で配置してもよい。これにより、空き領域を有効に使用することができ、デカップリングキャパシタの容量値を増やすことができる。そのため、ＬＳＩ動作中に発生する電源ノイズを抑える効果を向上することができる。
また、本実施形態では、デカップリングキャパシタを高周波用、低周波用の２種類としているが、３種類以上ある場合でも、高周波用のセルから順にデカップリングキャパシタの配置領域を設定し、対応するデカップリングキャパシタを配置していけばよい。すなわち、この場合、デカップリングキャパシタ配置部１０４は、複数種類のデカップリングキャパシタのうち、高い周波数特性を有するキャパシタから低い周波数特性を有するキャパシタの順に配置する。
＜第１の実施形態における利点＞
【００３４】
以上のように、本実施形態によれば、設計支援装置１は、負荷容量値算出部１０３とデカップリングキャパシタ配置部１０４（キャパシタ配置部）を備える。負荷容量値算出部１０３が、配置配線情報２０１（ＬＳＩのレイアウト情報）、及びＬＳＩの遅延要素から成る遅延ライブラリ情報２０２に基づき、ＬＳＩ内に配置されている各論理セルの負荷容量値をそれぞれ算出する。また、デカップリングキャパシタ配置部１０４が、負荷容量値算出部１０３で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定する。そして、デカップリングキャパシタ配置部１０４は、その判定結果に対応した周波数特性を有するデカップリングキャパシタ（キャパシタ）を、対象となる論理セルの周辺部の空き領域に配置する。すなわち、設計支援装置１では、周波数特性の異なるデカップリングキャパシタセルを複数準備し、それらをＬＳＩ内部領域に配置する際、論理回路内の各セルの負荷容量値から、そのセル（ノイズ源）の周波数帯域を判定し、その周波数帯域に応じたデカップリングキャパシタを配置するようにした。
【００３５】
これにより、設計支援装置１は、ノイズ源の周波数帯域に適したデカップリングキャパシタをそのノイズ源の周辺部に配置することができる。そのため、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間（後述する充電期間ｔｒ）に応じて電源ノイズ（ＩＲ（アイアール）ドロップ）を効率的に吸収することができる。よって、ＬＳＩ動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いＬＳＩを設計することが可能となる。なお、ＩＲドロップとは、ＬＳＩ上の論理回路が動作する際に発生する電流パルスによって、電源電圧が一時的に降下する現象である。
【００３６】
また、本実施形態において、デカップリングキャパシタ配置部１０４は、領域設定部１０４ａが、上述の周波数帯域の判定結果に基づいて、対応する周波数特性を有するデカップリングキャパシタを配置する対象となる論理セルを選定し、対象となる論理セルの位置に基づいた領域を設定する。そして、デカップリングキャパシタ配置部１０４のキャパシタ配置実行部１０４ｂは、領域設定部１０４ａで設定された領域の空き部分に、対応する周波数特性を有するデカップリングキャパシタ（高周波用のデカップリングキャパシタ）を配置する。
これにより、対象となる論理セルの周波数帯域に対応した周波数特性を有するデカップリングキャパシタを、該対象となる論理セルの周辺部の空き領域に簡易且つ適切に配置することができる。対象となる論理セルの周辺部の空き領域にデカップリングキャパシタを適切に配置できるため、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ（ＩＲドロップ）をさらに効率的に吸収することができる。
【００３７】
また、本実施形態において、キャパシタ配置実行部１０４ｂは、上述の領域以外の領域の空き部分に、領域の空き部分に配置したデカップリングキャパシタとは周波数特性が異なるデカップリングキャパシタ（低周波用のデカップリングキャパシタ）を配置する。
これにより、対象となる論理セルの周辺部以外に、異なる周波数特性を執するデカップリングキャパシタを簡易に配置することができる。そのため、設計支援装置１は、複数の周波数特性を持つ回路において、論理セルの充電期間に応じて電源ノイズ（ＩＲドロップ）を効率的に低減することができる。
【００３８】
また、本実施形態において、デカップリングキャパシタは、周波数特性の異なる複数種類（高周波用セルと低周波用セル）のキャパシタに分類され、デカップリングキャパシタ配置部１０４は、複数種類のキャパシタのうち、高い周波数特性を有するデカップリングキャパシタ（高周波用セル）から低い周波数特性を有するデカップリングキャパシタ（低周波用セル）の順に配置する。
一般に、高周波用のデカップリングキャパシタは、低周波用のデカップリングキャパシタに比べて単位面積当たりの容量値が小さい。そのため、必要な容量を満たすために、高周波用のデカップリングキャパシタは、低周波用より多くのデカップリングキャパシタセルを配置する必要がある。したがって、上述のように、高周波用セルから低周波用セルの順に配置することにより、空き領域により多くのデカップリングキャパシタセルを効率的に配置することができる。すまり、デカップリングキャパシタの総容量値を大きくすることができる。
【００３９】
また、本実施形態において、デカップリングキャパシタ配置部１０４は、デカップリングキャパシタセルをサイズの大きいデカップリングキャパシタセル（例えば、ＤＨ４）から小さいデカップリングキャパシタセル（例えば、ＤＨ１）の順に配置する。
これにより、デカップリングキャパシタ配置部１０４は、空き領域により多くのデカップリングキャパシタセルを効率的に配置することができる。すまり、デカップリングキャパシタの総容量値を大きくすることができる。
【００４０】
また、本実施形態において、遅延ライブラリ情報２０２には、論理セルの入力端子容量、及びＬＳＩ（半導体装置）内配線の単位配線長当たりの配線容量が含まれる。そして、負荷容量値算出部１０３は、配置配線情報２０１（レイアウト情報）及び遅延ライブラリ情報２０２に基づき、各論理セルの出力端子の負荷容量値を算出する。
これにより、負荷容量値算出部１０３は、論理セルの出力端子の負荷容量値を的確に算出することができる。したがって、負荷容量値算出部１０３は、より正確に負荷容量値の算出することができる。
【００４１】
［第２の実施形態］
【００４２】
次に、本発明の第２の実施形態について説明する。
図１３は、本発明の第２の実施形態に係る半導体装置の設計支援装置１の概略構成を示すブロック図である。この図において、図１と共通する要素には同一の符号を付し、その説明を省略する。
本実施形態は、図１の構成において、デカップリングキャパシタ配置部１０４の構成のみが異なり、その他の構成は同一である。
【００４３】
本実施形態のデカップリングキャパシタ配置部１０４は、セル比率算出部１０４ｃとキャパシタ配置実行部１０４ｄとを備えている。
セル比率算出部１０４ｃは、各論理セルの周波数帯域に基づいて各論理セルを、第１の論理セルとしての高周波帯域用セルと、第２の論理セルとしての低周波帯域用セルに分類し、単位エリア内の高周波帯域用セルと低周波帯域用セルの比率を求める。すなわち、セル比率算出部１０４ｃは、各論理セルの周波数帯域に基づいて、各論理セルを周波数帯域の異なる複数のセルグループ（高周波帯域用セルと低周波帯域用セル）に分類する。そして、セル比率算出部１０４ｃは、予め定められた単位エリア内における各セルグループの比率（例えば、高周波帯域用セルと低周波帯域用セルとの使用比率）を求める。
キャパシタ配置実行部１０４ｄは、単位エリア内の高周波帯域用セルと低周波帯域用セルの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象論理セルの周辺部の空き領域にそれぞれ配置する。すなわち、キャパシタ配置実行部１０４ｄは、各セルグループの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象となる論理セルの周辺部の空き領域にそれぞれ配置する。
【００４４】
次に、本実施形態の動作について図１４を参照しつつ説明する。
図１４は、第２の実施形態の動作を示すフローチャートである。
まず、制御部１０６は、第１の実施形態と同様に、配置配線情報／各種ライブラリ情報入力部１０１を用いて、配置配線情報２０１及び遅延ライブラリ情報２０２を入力させ、メモリ２００に記憶させる（ステップＳ３１）。
次に、制御部１０６は、設計規則入力部１０２を用いて、ＬＳＩレイアウト中にデカップリングキャパシタセルを設置するための設計規則情報２０３を入力させ、メモリ２００に記憶させる（ステップＳ３２）。
次に、制御部１０６は、配置配線情報２０１から、単位エリア内に存在するセルについて、セル出力端子側に繋がる他セルの種類、セル数及びそれらに繋がる実配線長（もしくは予測配線長）を求める（ステップＳ３３）。
【００４５】
続いてセル比率算出部１０４ｃは、遅延ライブラリ情報２０２に記憶される各セルの入力端子容量、単位配線長当たりの配線容量及び回路内遅延情報を用い、対象となるセルの負荷容量値を求め、その負荷容量値から対象となるセルにおける信号波形の立ち上がり時間（信号が０レベルから１レベルに動くまでの時間）を算出する（ステップＳ３４）。そして、セル比率算出部１０４ｃは、信号波形の立ち上がり時間が一定値より速いものを高速帯域用セル、遅いものを低速帯域用セルに分類する（ステップＳ３５）。
【００４６】
さらに、セル比率算出部１０４ｃは、全てのセルについて、ステップＳ３３からステップＳ３４までの処理を繰り返し、単位エリア内の高速帯域用セル数、低速帯域用セル数を求める（ステップＳ３６）。そして、セル比率算出部１０４ｃは、単位エリア内に存在する高速帯域用セルと低速帯域用セルの比率から、単位エリア内に必要なデカップリングキャパシタの比率を求め、キャパシタ配置実行部１０４ｄは、その比率にしたがって単位エリア内にデカップリングキャパシタを配置する（ステップＳ３８）。この配置においては、高速帯域用キャパシタセルを高速帯域用セルの周辺に、低速帯域用キャパシタセルを低速帯域用セルの周辺にそれぞれ配置する。
【００４７】
なお、デカップリングキャパシタとして高速帯域用セル、低速帯域用セルの２種類を予め準備しておいたが、２種類以上用意しても構わない。また、上述のキャパシタ配置処理では、単位エリア内に存在する高速帯域用セルと低速帯域用セルの比率に基づいて、単位エリア内にデカップリングキャパシタを配置するようにしたが、単位エリア内の高速帯域用セル、低速帯域用セルの総負荷容量値を求め、その比率にしたがってデカップリングキャパシタを配置するようにしてもよい。すなわち、上述の各セルグループの比率を、単位エリア内における各セルグループの総負荷容量値の比率としてもよい。
＜第２の実施形態における利点＞
【００４８】
以上のように、第２の実施形態によれば、周波数特性の異なるデカップリングキャパシタセルを複数用意し、それらをＬＳＩ内部領域に挿入する際、論理回路内の各セルの立ち上がり時間から対象となるセル（ノイズ源）の周波数帯域を求め、その帯域に応じたデカップリングキャパシタを配置する。これにより、ノイズの周波数帯域に適したキャパシタを設置することができ、キャパシタは、配置する数を増加させなくても、論理セルの立ち上がり時間に応じて電源ノイズ（ＩＲドロップ）を効率的に吸収することができる。電源ノイズ耐性の高いＬＳＩを設計することが可能となる。
【００４９】
また、本実施形態において、デカップリングキャパシタ配置部１０４は、セル比率算出部１０４ｃとキャパシタ配置実行部１０４ｄとを備えている。セル比率算出部１０４ｃが、各論理セルの周波数帯域に基づいて、各論理セルを周波数帯域の異なる複数のセルグループ（高周波帯域用セルと低周波帯域用セル）に分類する。さらに、セル比率算出部１０４ｃが、予め定められた単位エリア内における各セルグループの比率（高周波帯域用セルと低周波帯域用セルとの使用比率）を求める。そして、キャパシタ配置実行部１０４ｄが、各セルグループの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象となる論理セルの周辺部の空き領域にそれぞれ配置する。
これにより、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、該対象論理セルの周辺部の空き領域に簡易且つ適切に配置することができる。対象となる論理セルの周辺部の空き領域にデカップリングキャパシタを適切に配置できるため、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ（ＩＲドロップ）をさらに効率的に吸収することができる。
【００５０】
また、本実施形態において、上述の各セルグループの比率を、単位エリア内における各セルグループの総負荷容量値の比率としてもよい。これにより、上述の各セルグループの比率を各セルグループの使用比率とした場合と同等の作用効果を奏する。
【００５１】
なお、本発明の技術的原理について補足説明する。
論理回路の動作時に発生する電源パルスの詳細については「デジタルシステム工学  基礎編」（丸善株式会社）に記載されている。図１５（ａ）〜（ｄ）は、同書に掲載された、論理ゲート（インバータ）がスイッチングしたときの電圧波形と電流波形を示すグラフである。
この４つのグラフ（ａ）〜（ｄ）は、それぞれ入力電圧、出力電圧、貫通電流、充電電流を示す。電流波形のうち、貫通電流は充電電流より充分小さい値であるため、充電電流が電流パルスと等しいとみなせる。個々の回路のスイッチング時に発生する充電電流が局所的に過大となることがＩＲドロップの直接の原因であり、デカップリングキャパシタの持つ充放電機能が論理回路のスイッチングによる充電電流の過大を抑える働きをもつ。
【００５２】
また、同書において、前述の充電電流の波形は、電流の最大値Ｉｐｋを高さとした形を持つ三角形で示され、充電電流が流れる期間（充電期間）をｔｒ、入力電圧の最大値をＶｐ、論理ゲートの出力端子に接続する負荷容量をＣｌｄとする以下の式（１）で示すことができると記載されている。
【００５３】
Ｉｐｋ  ＝  １．１  ×  Ｃｌｄ  ×  Ｖｐ  ／  ｔｒ  ・・・  （１）
【００５４】
この式（１）をｔｒについて変形すると、式（２）となる。
【００５５】
ｔｒ  ＝  １．１  ×  Ｃｌｄ  ×  Ｖｐ  ／  Ｉｐｋ  ・・・  （２）
【００５６】
このことは、充電電流が流れる期間ｔｒは負荷容量Ｃｌｄと比例の関係であることを表している。デカップリングキャパシタの充放電時間は、回路のスイッチングによる充電期間であるｔｒより速い値であることが求められる。尚、デカップリングキャパシタの周波数特性とはｔｒの逆数をそのまま示している。
【００５７】
一方、０．３５μｍ（マイクロメートル）プロセスで設計されたデカップリングキャパシタの周波数特性（ｆＲＣ）及び容量値（Ｃ）の一例を図１６に示す。容量値と周波数特性はゲート幅Ｗとゲート長Ｌに依存しており、高い周波数特性を示すキャパシタセルでは容量値は低くなっている。このことは、単に反応速度の速い（高い周波数特性を持つ）デカップリングキャパシタだけを用意すればよい訳ではなく、前述した論理回路の充電期間（すなわち負荷容量Ｃｌｄの値）に見合った特性を持つデカップリングキャパシタをノイズ源である論理回路の近傍に配置することが容量効率の面では重要となることを示している。
【００５８】
なお、本発明の実施形態によれば、キャパシタ配置方法は、ＬＳＩ（半導体装置）の配置配線情報２０１（レイアウト情報）、及びＬＳＩの遅延要素から成る遅延ライブラリ情報２０２に基づき、ＬＳＩ内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップ（Ｓ１３）と、負荷容量値算出ステップで算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップ（Ｓ１４）とを備える。
これにより、キャパシタ配置方法では、ノイズ源の周波数帯域に適したデカップリングキャパシタをそのノイズ源の周辺部に配置することができる。そのため、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ（ＩＲドロップ）を効率的に吸収することができる。よって、ＬＳＩ動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いＬＳＩを設計することが可能となる。
【００５９】
また、本発明の実施形態によれば、プログラムは、ＬＳＩ（半導体装置）の配置配線情報２０１（レイアウト情報）、及びＬＳＩの遅延要素から成る遅延ライブラリ情報２０２に基づき、ＬＳＩ内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、負荷容量値算出手順で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とをコンピュータに実行させるためのプログラムである。
これにより、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ（ＩＲドロップ）を効率的に吸収することができる。よって、ＬＳＩ動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いＬＳＩを設計することが可能となる。
【００６０】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
【００６１】
上述の半導体装置の設計支援装置１は内部に、コンピュータシステムを有している。そして、上述した半導体装置の設計支援装置１の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【符号の説明】
【００６２】
１  半導体装置の設計支援装置
１０１  配置配線情報／各種ライブラリ情報入力部
１０２  設計規則入力部
１０３  負荷容量値算出部
１０４  デカップリングキャパシタ配置部
１０４ａ  領域設定部
１０４ｂ、１０４ｄ  キャパシタ配置実行部
１０４ｃ  セル比率算出部
１０５  レイアウト情報出力部
１０６  制御部
２００  メモリ
２０１  配置配線情報
２０２  遅延ライブラリ情報
２０３  設計規則情報
【図１】
0005640712.tif 000002
【図２】
0005640712.tif 000003
【図３】
0005640712.tif 000004
【図４】
0005640712.tif 000005
【図５】
0005640712.tif 000006
【図６】
0005640712.tif 000007
【図７】
0005640712.tif 000008
【図８】
0005640712.tif 000009
【図９】
0005640712.tif 000010
【図１０】
0005640712.tif 000011
【図１１】
0005640712.tif 000012
【図１２】
0005640712.tif 000013
【図１３】
0005640712.tif 000014
【図１４】
0005640712.tif 000015
【図１５】
0005640712.tif 000016
【図１６】
0005640712.tif 000017