(57)【特許請求の範囲】
【請求項１】
第１電源線と第２電源線との間に接続された素子と、
前記第１電源線と前記第２電源線との間に接続された容量と、
を有し、
前記容量の容量値は、前記素子の理想電圧時における入力信号に対する出力信号の遅延時間に基づいて算出された前記素子の許容遅延変動量と、前記許容遅延変動量から前記素子の電気的特性に基づいて算出された前記第１電源線と前記第２電源線との間の許容電圧変動量とに基づく容量値である
ことを特徴とする半導体装置。
【請求項２】
前記素子はクロック信号を伝播するクロックパス上の素子であって、前記クロックパスは複数の素子を介して前記クロック信号を伝播し、
前記容量値は、
前記許容電圧変動量に基づいて算出された第１の容量値と、
前記クロックパスにおける仮想ノイズ波形と、前記クロックパスと非同期の関係にある他のクロックパスにおける仮想ノイズ波形とに基づいて算出された電圧変動に基づいて算出された第２の容量値と、に対応する値である、
ことを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記容量値は、前記素子を配置するセル配置領域を分割した複数の領域毎に、各領域内で消費される電荷総量と、前記許容電圧変動量と前記電荷総量とに基づいてデカップリング容量係数とを算出し、前記容量係数の総和と各領域の容量係数との比に基づいて、前記半導体装置内で必要な容量の総和を各領域に分配し、各領域にそれぞれ分配した容量値と領域内の寄生容量の容量値とに基づいて算出された値である、
ことを特徴とする請求項１に記載の半導体装置。
【請求項４】
第１電源線と第２電源線との間に接続された容量の容量値を算出する容量値算出方法であって、
前記第１電源線と前記第２電源線との間に接続された素子の理想電圧時における入力信号に対する出力信号の遅延時間に基づいて前記素子の許容遅延変動量を算出する工程と、
前記許容遅延変動量から前記素子の電気的特性に基づいて前記第１電源線と前記第２電源線との間の許容電圧変動量を算出する工程と、
前記許容遅延変動量と前記許容電圧変動量とに基づいて前記容量の容量値を算出する工程と、
を含むことを特徴とする容量値算出方法。
【請求項５】
前記素子はクロック信号を伝播するクロックパス上の素子であって、前記クロックパスは複数の素子を介して前記クロック信号を伝播し、
前記容量値を算出する工程は、
前記各素子のそれぞれに対して前記許容遅延変動量に相当する仮想ノイズ波形を生成する工程と、
前記許容電圧変動量に基づいて第１の容量値を算出する工程と、
前記クロックパス内の前記素子に対応する仮想ノイズ波形を合成した合成ノイズ波形を生成する工程と、
互いに影響する非同期な２つのクロックパスそれぞれの仮想ノイズ波形に基づき、一方のクロックパスにおける前記第１電源線と前記第２電源線との間の電圧変動の最大値を算出し、その最大値から他方の前記クロックパスに発生するノイズの影響を考慮した一方の前記クロックパスにおける第２の容量値を算出する工程と、
を含むことを特徴とする請求項４に記載の容量値算出方法。
【請求項６】
半導体装置内で必要な容量の総和を算出する工程と、
前記半導体装置のセル配置領域を複数の領域に分割し、各領域内で消費される電荷総量を算出する工程と、
領域内の素子について前記許容遅延変動量を算出し、前記許容遅延変動量から前記許容電圧変動量を算出する工程と、
各領域において、前記許容電圧変動量と前記電荷総量とに基づいてデカップリング容量係数を算出する工程と、
前記容量係数の総和と各領域の容量係数との比に基づいて、前記容量の総和を各領域に分配し、各領域にそれぞれ分配した容量値と各領域の寄生容量の容量値とに基づいて各領域に配置する容量の容量値を算出する工程と、
を含むことを特徴とする請求項４に記載の容量値算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
電源配線間に接続されたデカップリング容量を含む半導体装置、及びデカップリング容量の容量値算出方法に関するものである。
【背景技術】
【０００２】
近年の半導体装置では、プロセスの微細化、高集積化、動作周波数の高速化、電源電圧の低電圧化が進んでいる。高速化、低電圧化は、半導体装置に形成されたインスタンスの動作により生じる電源電圧の変動が電源ノイズとなって、論理的な誤動作や、タイミングのずれによる誤動作を引き起こす。このため、半導体装置の設計段階において、半導体装置の設計装置では、対象領域内に配置される論理セルの総消費電力を算出し、総消費電力に対応するデカップリング容量を対象となる領域内や対象とするインスタンスの近傍に分散して配置していた（例えば、特許文献１参照）。
【特許文献１】特開２００６−４０９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、半導体装置は複数種類のインスタンスを接続して構成されている。そして、各インスタンスは、動作に影響する電源電圧の変動量が異なる、即ち、各インスタンスのノイズ耐量が異なる。上記の方法では、デカップリング容量の容量値が半導体装置の構成から必要とされる容量値よりも大きくなる場合がある。半導体装置に形成された多数のデカップリング容量は、半導体装置のチップ面積の増大の要因となる。このため、半導体装置のチップ面積縮小化に伴い、デカップリング容量が占める領域の最適（縮小）が求められている。
【０００４】
目的は、デカップリング容量が占める領域が最適化された半導体装置、その半導体装置に配置する容量の容量値算出方法を提供することにある。
【課題を解決するための手段】
【０００５】
この半導体装置は、第１電源線と第２電源線との間に接続された素子と、前記第１電源線と前記第２電源線との間に接続された容量と、を有し、前記容量の容量値は、前記素子の理想電圧時における前記入力信号に対する前記出力信号の遅延時間に基づいて算出された前記素子の許容遅延変動量と、前記許容遅延変動量から前記素子の電気的特性に基づいて算出された前記第１電源線と前記第２電源線との間の許容電圧変動量とに基づく容量値である。
【０００６】
この構成によれば、素子の動作に対応する許容遅延変動量と、素子に供給される電圧に依存する許容電圧変動量とに基づいて容量の容量値が決定されているため、従来よりも正確な容量値の容量が配置され、必要以上に大きな容量が減らせるので、容量がチップに占める領域を最適にできる。
【０００９】
また、この半導体装置の素子はクロック信号を伝播するクロックパス上の素子であって、クロックパスは複数の素子を介してクロック信号を伝播し、容量値は、許容電圧変動量に基づいて算出された第１の容量値と、クロックパスにおける仮想ノイズ波形と、クロックパスと非同期の関係にある他のクロックパスにおける仮想ノイズ波形とに基づいて算出された電圧変動に基づいて算出された第２の容量値と、に対応する値である。この構成によれば、非同期関係にあるクロックパス間の影響を考慮した容量値の容量が配置される。
【００１０】
また、この半導体装置の容量値は、素子を配置するセル配置領域を分割した複数の領域毎に、各領域内で消費される電荷総量と、許容電圧変動量と電荷総量とに基づいてデカップリング容量係数とを算出し、容量係数の総和と各領域の容量係数との比に基づいて、半導体装置内で必要な容量の総和を各領域に分配し、各領域にそれぞれ分配した容量値と領域内の寄生容量の容量値とに基づいて算出された値である。この構成によれば、消費される電荷総量を各領域に分配することで、各領域のノイズ量に対応する容量値の容量が配置される。
【００１１】
この容量値算出方法は、第１電源線と第２電源線との間に接続された容量の容量値を算出する容量値算出方法であって、前記第１電源線と前記第２電源線との間に接続された素子の理想電圧時における前記入力信号に対する前記出力信号の遅延時間に基づいて前記素子の許容遅延変動量を算出する工程と、前記許容遅延変動量から前記素子の電気的特性に基づいて前記第１電源線と前記第２電源線との間の許容電圧変動量を算出する工程と、前記許容遅延変動量と前記許容電圧変動量とに基づいて前記容量の容量値を算出する工程と、を含む。この構成によれば、素子の動作に対応する許容遅延変動量と、素子に供給される電圧に依存する許容電圧変動量とに基づいて容量の容量値が決定されているため、従来よりも正確な容量値の容量が配置され、必要以上に大きな容量が減らせるので、容量がチップに占める領域を最適にできる。
【００１４】
また、この容量値算出方法において、素子はクロック信号を伝播するクロックパス上の素子であって、クロックパスは複数の素子を介してクロック信号を伝播し、容量値を算出する工程は、各素子のそれぞれに対して許容遅延変動量に相当する仮想ノイズ波形を生成する工程と、許容電圧変動量に基づいて第１の容量値を算出する工程と、クロックパス内の素子に対応する仮想ノイズ波形を合成した合成ノイズ波形を生成する工程と、互いに影響する非同期な２つのクロックパスそれぞれの仮想ノイズ波形に基づき、一方のクロックパスにおける第１電源線と第２電源線との間の電圧変動の最大値を算出し、その最大値から他方のクロックパスに発生するノイズの影響を考慮した一方のクロックパスにおける第２の容量値を算出する工程と、を含む。この構成によれば、非同期関係にあるクロックパス間の影響を考慮した容量値の容量が配置される。
【００１５】
また、この容量値算出方法は、半導体装置内で必要な容量の総和を算出する工程と、半導体装置のセル配置領域を複数の領域に分割し、各領域内で消費される電荷総量を算出する工程と、領域内の素子について許容遅延変動量を算出し、許容遅延変動量から許容電圧変動量を算出する工程と、各領域において、許容電圧変動量と電荷総量とに基づいてデカップリング容量係数を算出する工程と、容量係数の総和と各領域の容量係数との比に基づいて、容量の総和を各領域に分配し、各領域にそれぞれ分配した容量値と各領域の寄生容量の容量値とに基づいて各領域に配置する容量の容量値を算出する工程と、を含む。この構成によれば、素子の動作に対応する許容遅延変動量と、素子に供給される電圧に依存する許容電圧変動量とに基づいて容量の容量値が決定されているため、従来よりも正確な容量値の容量が配置され、必要以上に大きな容量が減らせるので、容量がチップに占める領域を最適にできる。
【発明の効果】
【００１６】
開示した半導体装置は、デカップリング容量が占める領域が最適化された半導体装置である。
開示した容量値算出方法は、デカップリング容量が占める領域が最適化された半導体装置を提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
（第一実施形態）
以下、第一実施形態を図１〜図８に従って説明する。
図１に示すように、半導体装置の設計装置１１は一般的なＣＡＤ(Computer Aided Design) 装置からなり、中央処理装置（以下、ＣＰＵ）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及びドライブ装置１７を備え、それらはバス１８を介して相互に接続されている。
【００１８】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、デカップリング容量の配置に必要な処理を実現する。このデカップリング容量は、必要とする容量値に応じた形状の１つの容量セル、又は必要な容量値に応じて複数の容量セルを接続した容量セル群を示す。メモリ１３には、デカップリング容量の配置処理を行うために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ，システム・メモリ，及びディスプレイ・メモリ等（図示略）を含む。
【００１９】
表示装置１５は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ，ＬＣＤ，ＰＤＰ等（図示略）が用いられる。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等（図示略）が用いられる。
【００２０】
記憶装置１４は、通常、磁気ディスク装置，光ディスク装置，光磁気ディスク装置等（図示略）を含む。記憶装置１４には、図３に示すデカップリング容量の配置処理のためのプログラムデータ（以下、プログラム）及び各種のデータファイル（以下、ファイル）５１〜５３が格納される。ＣＰＵ１２は、入力装置１６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１３へ転送し、プログラムを逐次実行する。そして、ＣＰＵ１２は、プログラムの実行に必要なファイルやデータの読み込み、プログラムの実行によるファイルやデータの作成を、記憶装置１４に対して行う。この記憶装置１４は、データベースとしても使用される。
【００２１】
ＣＰＵ１２が実行するプログラムは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムを読み出し、それを記憶装置１４にインストールする。尚、記録媒体１９に格納して提供するものは、プログラムに限らず、ライブラリ等の各種データを提供しても良い。
【００２２】
記録媒体１９としては、メモリカード，フレキシブルディスク，光ディスク(CD-ROM,DVD-ROM,… )，光磁気ディスク(MO,MD,…)等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。尚、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記録媒体１９に、上述のプログラムを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２３】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置、通信媒体を介して設計装置１１（コンピュータ）が接続されるサーバ装置の記憶装置、等を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、自身又は他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２４】
図２に示すように、上記の設計装置１１により設計された半導体装置２１は矩形状に形成され、その辺に沿って複数のパッド２２が形成され、パッド２２の内側には内部回路２３が形成されている。内部回路２３は、図面下部の拡大図に示すように、クロックパス３１を含む。クロックパス３１は所定の２つの端子間でクロック信号を伝達する経路であり、経路中に複数の論理セル（バッファセル）を含む。つまり、所定の２つの端子間において、クロック信号が論理セルを介して伝達される。なお、図中にはクロックパス３１を構成する３つのバッファセル３２ａ〜３２ｃを示す。
【００２５】
各バッファセル３２ａ〜３２ｃは、各回路に高電位電圧Ｖddを供給する第１電源線ＬＨと低電位電圧Ｖssを供給する第２電源線ＬＬとの間に接続されている。各バッファセル３２ａ〜３２ｃ間、及びバッファセル３２ａに信号を供給するインスタンス（図示略）とバッファセル３２ａとの間、バッファセル３２ｃから出力される信号が供給されるインスタンス（図示略）とバッファセル３２ｃとの間は信号を伝達する配線ＬＳにより接続されている。
【００２６】
更に、第１電源線ＬＨと第２電源線ＬＬとの間にはデカップリング容量３３が接続されている。このデカップリング容量３３の容量値は、図１に示す設計装置１１により、図３に示すフローチャートに従って算出されている。
【００２７】
概略的には、デカップリング容量３３の容量値は、半導体装置２１のノイズ源となるインスタンス毎の遅延制約に基づいて算出されている。デカップリング容量３３の容量値は、更に、非同期動作による影響を考慮して算出されている。
【００２８】
インスタンスにおける信号の伝播時間は、そのインスタンスに供給される電源電圧に対応している。従って、ノイズにより電源電圧が変動すると、インスタンスにおける信号伝播の遅延時間が変動する。半導体装置２１の動作により、インスタンスにおける許容遅延変動量、即ち許容可能な遅延時間の変動量が算出される。この許容遅延変動量を算出することにより、インスタンスにおける許容電圧変動量、即ちインスタンスに供給する電源電圧の変動量が算出される。この許容電圧変動量に応じてデカップリング容量の容量値を算出することで、インスタンスの動作に応じた容量値のデカップリング容量を配置することができる。つまり、許容遅延変動量と許容電圧変動量が遅延制約となる。そして、インスタンスの動作に応じてデカップリング容量の容量値を算出することで、必要以上の容量値をもつデカップリング容量の配置を防ぐことができ、従来の手法に比べて半導体装置２１のチップ面積を縮小することができる。
【００２９】
次に、設計装置１１におけるデカップリング容量の配置処理を説明する。
設計装置１１は、図３に示すステップ４１〜４４の各処理を実行し、半導体装置（ＬＳＩ）２１に対応するデカップリング容量の数量の算出、及び算出した数のデカップリング容量の配置を行う。この処理において、設計装置１１は、ファイル５１〜５３のデータ（情報）に基づいて算出した数値に基づいて、デカップリングセルの追加配置の要否を判断し、ファイル５３にデカップリングセルの位置情報を格納する。これらファイル５１〜５３は、図１に示す記憶装置１４に格納されている。また、設計装置１１は、上記処理において算出した一時的なデータをメモリ１３に格納する。なお、設計装置１１が一時的なデータを図１に示す記憶装置１４等の記憶装置に格納してもよい。
【００３０】
図３に示す配置情報（レイアウトデータ）５１、接続情報（ネットリスト）５２、セルライブラリ５３は、例えば図１に示す記憶装置１４に記憶されている。配置情報５１と接続情報５２は、論理合成等によって作成されている。配置情報５１は、半導体装置２１を構成するインスタンス（論理セルや回路ブロック等）、配線、ビア等の種別、配置位置を示すデータである。接続情報５２は、インスタンスやパッド２２等の接続関係、所謂ネットを示すデータである。セルライブラリ５３には、各種インスタンスの論理機能、インスタンスやデカップリング容量等の電気的特性や物理的構造、等のデータが格納されている。
【００３１】
ステップ４１（波形生成処理）において、設計装置１１は、配置情報５１、接続情報５２を読み込み、セルライブラリ５３を参照して、クロックパス上でノイズ源となるインスタンス毎に遅延制約に基づく仮想ノイズ波形を算出し、その仮想ノイズ波形からクロックパスにおける制約を算出する。更に設計装置１１は、算出した制約に基づき、クロックパスに対するデカップリング容量を算出する。そして、設計装置１１は、求めた仮想ノイズ波形を含む波形データ５４、制約を含む制約データ５５、デカップリング容量を含む容量データ５６を記憶装置１４に格納する。
【００３２】
次に、ステップ４２（波形合成処理）において、設計装置１１は、波形データ５４からインスタンス毎に求めた仮想ノイズ波形を読み込み、複数の仮想ノイズ波形を合成してクロックパスにおける合成ノイズ波形を生成し、その合成ノイズ波形の合成波形データ５７を記憶装置１４に格納する。
【００３３】
次に、ステップ４３（制約算出処理）において、設計装置１１は、合成ノイズ波形に基づいて、各クロックパスに対し、他のクロックパスの影響を考慮したデカップリング容量を算出し、デカップリング容量を含む容量データ５８を記憶装置１４に格納する。
【００３４】
次に、ステップ４４（デカップリング容量配置処理）において、設計装置１１は、容量データ５６，５８のデカップリング容量に応じた数のデカップリング容量３３を、インスタンス近傍に配置する。つまり、設計装置１１は、レイアウトデータ５１の配置情報と、容量データ５６，５８のデカップリング容量に応じた数のデカップリング容量３３を配置する配置位置を含むレイアウトデータ５９を生成する。
【００３５】
各ステップ４１〜４４における処理を図面に従って説明する。
［ステップ４１］
設計装置１１は、ノイズ源となるインスタンス各々について、許容遅延変動量ΔＤを算出する。設計装置１１は、インスタンスの理想遅延時間Ｄideal に対するマージンを許容遅延変動量ΔＤとする。図４に示すように、理想遅延時間Ｄideal は理想電圧（変動がない電源電圧）が供給されたインスタンス３２における入力信号に対する出力信号の遅延時間である。電源電圧が変動（減少）すると、インスタンス３２における遅延時間が増加する。この電圧変動時における遅延時間をＤΔＶとすると、理想遅延時間Ｄideal と遅延時間をＤΔＶの差が、許容遅延変動量ΔＤとなる。
【００３６】
尚、許容遅延変動量ΔＤを固定値（例えば１０ｐｓ）、理想遅延時間Ｄideal の所定割合（例えば１０パーセント）としてもよい。また、タイミング解析結果のスラック量を参照して算出しても良い。
【００３７】
次に、設計装置１１は、インスタンスの電圧−遅延特性を参照し、許容電圧変動量ΔＶを算出する。電圧−遅延特性の一例を図５に示す。この特性は、図３に示すセルライブラリ５３に格納されている。設計装置１１は、セルライブラリ５３を参照し、この特性において、許容遅延変動量ΔＤに対する電圧変化量を許容電圧変動量ΔＶとする。尚、電圧−遅延特性を、シミュレーションにより求め、その特性から許容電圧変動量ΔＶを算出するようにしてもよい。
【００３８】
次に、設計装置１１は、上記の許容遅延変動量ΔＤに相当する仮想ノイズ波形を生成する。電源電圧の変動は、インスタンスの動作に対する電圧変化を静的に考えると、インスタンスにおける理想遅延時間Ｄideal の間、許容電圧変動量ΔＶだけ電源電圧が変動したと見なすことができる。従って、ノイズ波形の面積を、インスタンスの動作期間、つまりインスタンスにおける理想遅延時間Ｄideal と許容電圧変動量ΔＶの積とする。設計装置１１は、ノイズ波形を、電源電圧の変動波形を単純な形状にモデル化した波形、例えば三角波形とする。さらに、設計装置１１は、ノイズの幅、つまり三角波形の底辺の長さを、インスタンスにおける信号遅延時間に応じて算出する。例えば、入力信号の変化開始を「０％」とし、出力信号の変化終了を「１００％」とし、パーセントを用いて「Ｄ0-100％」として表された期間を底辺の長さとする。
【００３９】
次に、設計装置は、許容電圧変動量ΔＶの制約を満たすデカップリング容量Ｃｄを例えば次式により算出する。なお、Ｆはインスタンスの動作周波数、Ｉはインスタンスの消費電流量、Ｃｐはインスタンス内及び周囲の寄生容量の値である。
【００４０】
【数１】
0005217418.tif 000002
設計装置１１は、図７に示すように、クロックパスに含まれる各インスタンス３２ａ〜３２ｃに対応する仮想ノイズ波形Ｓ１〜Ｓ３を生成する。更に、設計装置１１は、制約としての許容電圧変動量ΔＶ、及びデカップリング容量Ｃｄを各インスタンスについて算出する。
【００４１】
［ステップ４２］
設計装置１１は、上記のステップ４１において、クロックパスに含まれる各インスタンスについて生成した仮想ノイズ波形を合成し、クロックパスにおける仮想ノイズ波形を生成する。例えば、図７に示す３つのインスタンス３２ａ〜３２ｃに対応する仮想ノイズ波形Ｓ１〜Ｓ３を波形合成する。この結果、図８に示すように、クロックパスにおいて伝達されるクロック信号の周波数に対応するサイクル時間(Ｔcycle )内でパスにより伝達されるクロック信号のレベルが遷移する時間幅(パス遅延時間Ｄpath)の位置にすべての仮想ノイズ波形の面積の合計値（＝ΣＳ）と等しい面積を持つ合成ノイズ波形が得られる。
【００４２】
［ステップ４３］
設計装置１１は、互いに非同期なクロックパス間の影響を考慮したデカップリング容量を算出する。一例として、半導体装置２１内にはｎ個のクロックパスが存在し、図９（ａ）（ｂ）に示すように、ｉ番目のクロックパスＰi と、ｊ番目のクロックパスＰj との間でノイズ伝播を考慮する。着目するパスＰi に対し、他のクロックパスＰj から伝播したノイズに対応するデカップリング容量を算出する。クロックパスＰi とクロックパスＰj の周波数、つまりクロックパスＰi に含まれるインスタンスの動作周波数とクロックパスＰj に含まれるインスタンスの動作周波数は異なっている。また、クロックパスＰi における信号変化と、クロックパスＰj における信号変化は、非同期である。
【００４３】
対象とするクロックパスＰj は、着目パスＰi におけるノイズの発生期間である時間幅、即ちパス遅延時間Ｄpiの間、着目パスＰi からの影響を受けると見なすことができる。従って、この期間において、クロックパスＰj において発生するノイズによる電圧変動と、着目パスＰi において発生するノイズによる電圧変動との合計値が、両クロックパスＰi ，Ｐj 間の影響を考慮した値となる。設計装置１１は、この値（平均電圧降下量）を、着目パスＰi におけるノイズの大きさ（面積ΣＳi ）と、対象とするクロックパスＰj においてパス遅延時間Ｄpi内に発生するノイズの大きさ（面積ΣＳj ）の合計値を、パス遅延時間Ｄpiで割ることにより求める。
【００４４】
更に、両クロックパスＰi ，Ｐj は非同期であるため、互いのパスの信号が変化するタイミングが一定していない。従って、両クロックパスＰi ，Ｐj の信号変化のタイミングを相対的にずらしながら上記の平均電圧降下量値を算出する。その結果、図９（ｃ）に示すように、平均電圧変動量ΔＶj は、両クロックパスＰi ，Ｐj の信号変化のタイミングに応じて変化する。このように変化する平均電圧変動量ΔＶj において、電源電圧が最も低くなる場合に対応してデカップリング容量を設定する必要がある。つまり、平均電圧変動量ΔＶj の最大値に応じてデカップリング容量Ｃdjを算出する。設計装置１１は、このデカップリング容量Ｃdjを、平均電圧変動量ΔＶj を用いて上記式（１）を用いて算出する。
【００４５】
設計装置１１は、着目パスＰi に対して他の非同期パス各々について上記のデカップリング容量を算出する。更に、設計装置１１は、半導体装置２１に含まれるクロックパスの各々について上記のデカップリング容量を算出する。なお、パス間の物理的な距離に応じて影響するノイズの大きさ（面積）を変更しても良い。
【００４６】
［ステップ４４］
設計装置１１は、ステップ４１にて対象としたインスタンス各々につき、ステップ４１で算出したデカップリング容量Ｃｄ、及びステップ４３で算出したデカップリング容量Ｃdjの合計値（ΣＣdj）に対応するデカップリング容量をインスタンス近傍に配置する。この場合、設計装置１１は、所定の容量を持つ容量セル（単位容量セル）を上記デカップリング容量（＝Ｃｄ＋ΣＣdj）を満たす数だけ配置する。なお、デカップリング容量の大きさを上記デカップリング容量（＝Ｃｄ＋ΣＣdj）に応じて変更するようにしてもよい。
【００４７】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）半導体装置２１は、第１電源線ＬＨと第２電源線ＬＬとの間に接続されたインスタンス３２ａ〜３２ｃと、第１電源線ＬＨと第２電源線ＬＬとの間に接続されたデカップリング容量３３とを有する。インスタンス３２〜３２ｃには、信号が伝播される配線ＬＳが接続されている。デカップリング容量３３の容量値は、配線ＬＳにおける入力信号の変化から出力信号の変化までの期間に依存する許容遅延変動量ΔＤと、第１電源線ＬＨと第２電源線ＬＬとの間の電圧に依存する許容電圧変動量ΔＶに基づく容量値である。従って、インスタンス３２ａ〜３２ｃの動作に対応する許容遅延変動量ΔＤと、インスタンス３２ａ〜３２ｃに供給される電源電圧に依存する許容電圧変動量ΔＶとに基づいてデカップリング容量３３の容量値が決定されているため、従来よりも正確な容量値のデカップリング容量３３が配置され、必要以上に大きな容量が減らせるので、容量がチップに占める領域を最適にできる。
【００４８】
（２）インスタンス３２ａ〜３２ｃは、電源電圧の変動（降下）により、信号を伝播する遅延時間が増大する。従って許容遅延変動量と許容電圧変動量を用いることにより、インスタンス３２ａ〜３２ｃの動作と、インスタンス３２ａ〜３２ｃの動作により変動する電圧とに基づいて、正確なデカップリング容量３３の容量値を算出することができる。
【００４９】
（３）インスタンス３２ａ〜３２ｃの理想電圧時における入力信号に対する出力信号の遅延時間に基づいて許容遅延変動量ΔＤを算出し、インスタンス３２ａ〜３２ｃの電気的特性に基づいて許容遅延変動量ΔＤから許容電圧変動量ΔＶを算出するようにした。従って、インスタンス３２ａ〜３２ｃの動作に応じて許容遅延変動量ΔＤと許容電圧変動量ΔＶとを算出するため、インスタンス３２ａ〜３２ｃに適した容量値のデカップリング容量３３を配置することができる。
【００５０】
（４）互いに非同期関係にあるクロックパスＰi ，Ｐj の仮想ノイズ波形に基づいて算出された電圧変動に基づいて許容電圧変動量ΔＶを算出することにより、非同期関係にあるクロックパスＰi ，Ｐj 間の影響を考慮した容量値のデカップリング容量３３を配置することができる。
【００５１】
（第二実施形態）
以下、第二実施形態を図１０〜図１２に従って説明する。
尚、説明の便宜上、第一実施形態と同様の構成については同一の符号を付してその説明を一部省略する。
【００５２】
本実施形態において、図１０に示す半導体装置６１を作成するためのデータを生成する設計装置は、第一実施形態の設計装置１１と同じ構成であり、その設計装置１１が実行する処理、つまり記憶装置１４に記憶されたデカップリング容量の配置処理のためのプログラムが異なる。従って、本実施形態では、デカップリング容量の配置処理、及びその処理によって作成される半導体装置６１について説明する。
【００５３】
図１０に示すように、半導体装置６１は矩形状に形成され、その辺に沿って複数のパッド６２が形成され、パッド６２の内側には内部回路６３が形成されている。内部回路６３は、インスタンス等を配線により接続することにより構成されており、インスタンスには電源線により電源電圧（高電位電圧及び低電位電圧）が供給されている。インスタンスに高電位電圧Ｖddを供給する第１電源線ＬＨと低電位電圧Ｖssを供給する第２電源線ＬＬとの間には、デカップリング容量６６が接続されている。
【００５４】
このデカップリング容量の容量値は、図１に示す設計装置１１により、図１１に示すフローチャートに従って算出されている。概略的には、設計装置１１は、内部回路６３を複数の領域６４に区分し、各領域６４に含まれるインスタンス６５の遅延制約（許容遅延変動量、許容電圧変動量）に基づいて各領域６４に配置するデカップリング容量の容量値を算出し、そのデカップリング容量を領域６４内に配置する。
【００５５】
次に、設計装置１１におけるデカップリング容量の配置処理を説明する。
設計装置１１は、図１１に示すステップ７１〜７６の各処理を実行し、半導体装置（ＬＳＩ）６１に対応するデカップリング容量の数量の算出、及び算出した数のデカップリング容量の配置を行う。この処理において、設計装置１１は、ファイル５１〜５３のデータ（情報）に基づいて算出した数値に基づいて、デカップリングセルの追加配置の要否を判断し、ファイル５３にデカップリングセルの位置情報を格納する。これらファイル５１〜５３は、図１に示す記憶装置１４に格納されている。また、設計装置１１は、上記処理において算出した一時的なデータをメモリ１３に格納する。なお、設計装置１１が一時的なデータを図１に示す記憶装置１４等の記憶装置に格納してもよい。
【００５６】
ステップ７１（総量算出処理）において、設計装置１１は、配置情報５１、接続情報５２を読み込み、セルライブラリ５３を参照して、半導体装置６１の内部回路６３に対応するデカップリング総量を算出し、その総量をメモリ１３に記憶する。
【００５７】
次に、ステップ７２（領域電荷量算出処理）において、設計装置１１は、セル配置領域を矩形の領域に分割する。そして、設計装置１１は配置情報に基づいて各領域の電荷総量を算出し、その電荷総量のデータ８１を図１に示す記憶装置１４に格納する。電源ノイズ量は、単位時間における消費電流の変化量と半導体装置６１のパッケージインダクタンスで決定されるため、電荷総量が電源ノイズを代表する値となる。
【００５８】
次に、ステップ７３（ノイズ耐量算出処理）において、設計装置１１は、各領域にそれぞれ含まれるインスタンスに対して、電源ノイズによる遅延変動許容量に対するノイズ耐量を算出し、ノイズ耐量のデータ８２を記憶装置１４に格納する。
【００５９】
次に、ステップ７４（容量係数算出処理）において、設計装置１１は、電荷量とノイズ耐量とから各領域のデカップリング容量係数を算出し、そのデカップリング容量係数のデータ８３を記憶装置１４に格納する。
【００６０】
次に、ステップ７５（領域容量算出処理）において、設計装置１１は、各領域において寄生容量を含む容量の比がステップ７４で算出した各領域のデカップリング容量係数の比と一致するように、ステップ７１で算出したデカップリング総量を各領域に分配する。そして、設計装置１１は、分配した各領域の容量値（領域容量）のデータ８４を記憶装置１４に格納する。
【００６１】
次に、ステップ７６（デカップリング容量配置処理）において、設計装置１１は、ステップ７５で分配した各領域の容量値を満たすデカップリング容量をそれぞれ配置する。つまり、設計装置１１は、レイアウトデータ５１の配置情報と、配置したデカップリング容量の配置位置を含むレイアウトデータ８５を生成する。
【００６２】
各ステップ７１〜７６における処理の詳細を説明する。
［ステップ７１］
設計装置１１は、半導体装置６１の動作周波数（Ｆ），消費電力（Ｉ），電源ノイズによる電圧変動の許容量（ΔＶ）から、例えば次式を用いて半導体装置６１内で必要な容量の総和（Ｃｖ）を求める。このデカップリング総量Ｃｖは、半導体装置６１に配置されるべきデカップリング容量の容量値と、半導体装置６１の寄生容量の容量値との合計値である。
【００６３】
【数２】
0005217418.tif 000003
［ステップ７２］
図１２に示すように、設計装置１１は、半導体装置６１内のセル配置領域９１を、ｍ個×ｎ個の矩形の領域Ａ11〜Ａmnに分割する。セル配置領域９１は図１０に示す内部回路６３を構成するセル等のインスタンスを配置する領域であり、本実施形態では内部回路６３を形成する領域である。
【００６４】
各領域Ａ11〜ＡmnのサイズΔｘ及びΔｙは、例えばデカップリング容量が有効となる上限の距離、つまりデカップリング容量により電圧変動を打ち消すことが可能な距離に設定されている。そして、設計装置１１は、各領域Ａ11〜Ａmnにそれぞれ含まれるインスタンス各々の消費電流Ｉを算出する。更に、設計装置１１は、各インスタンスの消費電流Ｉと動作周波数とから、各領域でサイクル時間内で消費される電荷量Ｑを算出する。
【００６５】
例えば、図１２に示すように、領域Ａijに含まれるｋ番目のインスタンス９３における消費電流Ｉk と、そのインスタンス９３の動作周波数、つまりインスタンス９３に入力される信号の周期Ｔk との積により、そのインスタンス９３においてサイクル時間Ｔk 内で消費される電荷量Ｑk が得られる。従って、設計装置１１は、領域Ａijに含まれるインスタンスにおける電荷量の合計値Ｑij（＝ΣＩk ・Ｔk ）を算出する。電源ノイズ量は、単位時間における消費電流の変化量と半導体装置６１のパッケージインダクタンスで決定されるため、電荷総量が電源ノイズを代表する値となる。
【００６６】
［ステップ７３］
設計装置１１は、電源ノイズによる許容遅延変動量ΔＤを領域Ａij内の各インスタンスに適用し、相当する静的電圧変動量ΔＶを得る。遅延変動量は、電源ノイズ波形に拠らず遷移時間内での平均電圧で表され、静的電圧変動量ΔＶは、電源ノイズに対するインスタンス毎のノイズ耐量に相当する。領域Ａijに対する値に、領域内のインスタンスの静的電圧変動量ΔＶの最小値を算出する。静的電圧変動量ΔＶが小さいインスタンスは、それが大きいインスタンスに比べて電源ノイズによる電圧変動の影響を受けやすい。従って、領域に含まれる複数のインスタンスの静的電圧変動量ΔＶの最小値が、その領域において抑えることが必要な電圧変動の範囲となる。
【００６７】
インスタンスの遅延特性は、図１１に示すセルライブラリ５３に格納されている。尚、ＳＰＩＣＥシミュレーションの結果等を用いても良い。許容遅延変動量ΔＤは、第一実施形態と同様に、固定値、理想遅延時間Ｄideal の所定割合、タイミング解析結果のスラック量を参照して算出しても良い。
【００６８】
［ステップ７４］
設計装置１１は、領域毎に電荷量Ｑとノイズ耐量に対応する静的電圧変動量ΔＶの比を算出し、その結果をデカップリング容量係数αとする。デカップリング容量係数αはノイズ量(電荷量)に比例し、ノイズ耐量に反比例する。このため、各領域に対し、各領域に必要なデカップリング容量を、領域間で相対的に表す相対値となる。
【００６９】
［ステップ７５］
設計装置１１は、デカップリング容量係数αの値に従い、領域毎にステップ７１で算出したデカップリング総量を各領域に分配する。デカップリング容量係数αは各領域に必要なデカップリング容量を相対的に表す値である。従って、半導体装置６１の全体に必要なデカップリング容量は、各領域のデカップリング容量係数αの総和（＝Σα）に対応する。従って、領域Ａijに必要な容量Ｃijと半導体装置６１のデカップリング総量Ｃｖとの比は、領域Ａijのデカップリング容量係数αijと総和Σαとの比と等しい（Ｃij：Ｃｖ＝Σα：αij）。そして、領域Ａijに必要なデカップリング容量の容量値Ｃｄijは、領域Ａijに必要な容量Ｃijから、その領域Ａijに含まれる寄生容量の容量値Ｃｐijを引いた者となる。従って、領域Ａijに必要なデカップリング容量の容量値Ｃｄijは、次式により求めることができる。
【００７０】
【数３】
0005217418.tif 000004
［ステップ７６］
設計装置１１は、ステップ７５において求めたデカップリング容量の容量値Ｃｄijに対応するデカップリング容量をインスタンス近傍に配置する。この場合、設計装置１１は、所定の容量を持つ容量セル（単位容量セル）を、上記容量値Ｃｄijを満たす数だけ配置する。なお、デカップリング容量の大きさを上記デカップリング容量の容量値Ｃｄijに応じて変更するようにしてもよい。
【００７１】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）半導体装置６１には所定の容量値のデカップリング容量６６が配置される。このデカップリング容量６６の容量値は、内部回路６３を配置する領域を分割した領域６４毎に、各領域６４内で消費される電荷総量を、デカップリング容量係数αの総和Σαと各領域６４のデカップリング容量係数αとの比に基づいて、半導体装置６１内で必要な容量の総和を各領域６４に分配し、各領域にそれぞれ分配した容量値と領域内の寄生容量の容量値とに基づいて算出された値である。従って、半導体装置６１において消費される電荷総量を各領域６４に分配することで、各領域６４のノイズ量に対応する容量値のデカップリング容量６６を配置することができる。そして、従来よりも正確な容量値の容量が配置され、必要以上に大きな容量が減らせるので、容量がチップに占める領域を最適にできる。
【図面の簡単な説明】
【００７２】
【図１】設計装置の概略構成図である。
【図２】第一実施形態の半導体装置の説明図である。
【図３】デカップリング容量の配置処理のフローチャートである。
【図４】仮想ノイズ波形算出処理の説明図である。
【図５】仮想ノイズ波形算出処理の説明図である。
【図６】仮想ノイズ波形算出処理の説明図である。
【図７】ノイズ波形合成処理の説明図である。
【図８】ノイズ波形合成処理の説明図である。
【図９】（ａ）〜（ｃ）は非同期パス間の影響に対する処理の説明図である。
【図１０】第二実施形態の半導体装置の説明図である。
【図１１】デカップリング容量の配置処理のフローチャートである。
【図１２】セル配置領域の領域分割の説明図である。
【符号の説明】
【００７３】
２１，６１  半導体装置
３３，６６  デカップリング容量
Ｖdd  高電位電圧
Ｖss  低電位電圧
ＬＨ  第１電源線
ＬＬ  第２電源線
ＬＳ  配線
３２，６５  インスタンス（素子）
６４  領域
Ａ11〜Ａmn  領域
ΔＤ  許容遅延変動量
ΔＶ  許容電圧変動量
【図１】
0005217418.tif 000005
【図２】
0005217418.tif 000006
【図３】
0005217418.tif 000007
【図４】
0005217418.tif 000008
【図５】
0005217418.tif 000009
【図６】
0005217418.tif 000010
【図７】
0005217418.tif 000011
【図８】
0005217418.tif 000012
【図９】
0005217418.tif 000013
【図１０】
0005217418.tif 000014
【図１１】
0005217418.tif 000015
【図１２】
0005217418.tif 000016