(57)【要約】【課題】従来、電源ラインにある一のノードに電源ノイズが発生せず固定の電源電圧が印加されている場合に係るノードに接続された素子に向かって流れる電流を求め、この電流が係るノードから係る素子に向かって流れる場合に係るノードに発生する電圧を求め、これをもって電源ノイズの解析結果とした。しかし、係るノードに発生する電圧が変化すれば、係るノードから係る素子に向かって流れる電流も変化し、係る電流の変化に応じて係るノードに発生する電圧も変化する。従来ではこの現象が考慮されず解析の精度がよくなかった。【解決手段】係るノードに発生する電圧の電源電圧に対する変動に対応して、係るノードから係る素子に向かって流れる電流の変動の量である電流変動分を求め、係る電流変動分が係る電流に発生した場合に係るノードに発生する電圧の変動の量である電圧変動分を求め、この電圧変動分を使用して電源ノイズを求める。【選択図】図１４
2010113437.tif 000002
【特許請求の範囲】
【請求項１】
電源ラインにある一のノードに前記電源ラインが供給すべき所定の電源電圧が印加された場合に、前記ノードから前記ノードに接続された一の素子に向かって流れる電流を求めると共に、前記電流が前記ノードから前記一の素子に向かって流れる場合に前記ノードに発生する電圧を求めるステップと、
前記電源電圧に対する前記電圧の変動の量に対応して前記電流が変動する量である電流変動分を求めるとともに、前記電流に前記電流変動分の変動が発生する場合に前記電圧が変動する量である電圧変動分を求めるステップと、
前記電圧と前記電圧変動分とに基づいて前記電源ラインに発生するノイズである電源ノイズを求めるステップと、
を有することを特徴とする電源ノイズの解析方法。
【請求項２】
前記電圧の変動に対する前記電流の変化の割合である電流の感度を求めるステップと、をさらに有し、
前記電流変動分は、前記電源電圧に対する前記電圧の変動の量に前記電流の感度を乗ずることで算出されることを特徴とする請求項１に記載の電源ノイズの解析方法。
【請求項３】
前記電流の感度は、前記電圧の変動に対する前記電流の電流値の変化の割合と、前記電圧の変動に対する前記電流の時刻の値の変化の割合と、を含むことを特徴とする請求項２に記載の電源ノイズの解析方法。
【請求項４】
前記電圧と前記電圧変動分を加算した結果に基づいて前記電源ノイズを求めることを特徴とする請求項１に記載の電源ノイズの解析方法。
【請求項５】
前記電流変動分は第１電流変動分であり、前記電圧変動分は第１電圧変動分であって、
前記電圧に前記第１電圧変動分の変動が発生する場合に前記電流が変動する量である第２電流変動分を求めると共に、前記電流に前記第２電流変動分の変動が発生する場合に前記電圧が変動する量である第２電圧変動分を求めるステップをさらに有し、
前記電圧と前記第２電圧変動分とに基づいて前記電源ノイズを求めることを特徴とする請求項１に記載の電源ノイズの解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源ノイズの解析方法に関し、特に、電流または電圧の変動分を考慮した電源ノイズの解析方法に関する。
【背景技術】
【０００２】
半導体集積回路に含まれる多くの素子、例えばＣＭＯＳインバータなどを動作させるためには、係る素子に対して電圧を供給する必要がある。そこで半導体集積回路には、含まれる素子に電圧を供給するための電源ラインが設けられている。図１は半導体集積回路に設けられている電源ラインを説明するための模式図である。電源ライン１００はグランドライン１１０を基準としてＶＤＤの電位を有しており、メッシュ状に配置された金属配線によって構成されている。電源ライン１００は半導体集積回路に含まれる素子の一例であるＣＭＯＳインバータ１０５に電圧を供給している。ＣＯＭＳインバータ１０５は電源ライン１００から供給された電圧に基づき動作する。また、電源ライン１００の電位の基準を決定するためのグランドライン１１０も、電源ライン１００と同様にメッシュ状に配置された金属配線により構成されている。
【０００３】
ここで、上記した電源ライン１００には不可避な寄生の回路素子成分が存在する。図１の寄生素子１０１は、メッシュ状に配置された金属配線の各部分に発生する寄生の配線抵抗を示している。また、図１の寄生素子１０２と、１０３と、１０４とは、半導体集積回路を保護するパッケージ内の導体構造の形状によって電源ライン１００に発生する寄生のインダクタを示している。なお、電源ライン１００をメッシュ状に構成する理由は、寄生の配線抵抗の値をできるだけ小さくするためである。配線抵抗の値は、配線の長さに比例して大きくなるため、一本の配線を引き回す電源ラインでは、電圧源から遠ざかるほど、配線抵抗の値が大きくなる。しかし電源ライン１００をメッシュ状にすれば、並列接続とみなせる部分があるため、その部分は合成抵抗が減少する。
【０００４】
図１のＣＭＯＳインバータ１０５は電源ライン１００から電圧を供給されることにより動作するが、その際にＣＭＯＳインバータ１０５には電源ラインからＣＭＯＳインバータ１０５に向かって電流Ｉが流れる。この電流Ｉは電源ライン１００から図１の寄生素子１０１（配線抵抗）を介してＣＭＯＳインバータ１０５に流れ込むため、寄生素子１０１の配線抵抗の部分で電圧降下が生じる。すなわち、本来、電源ライン１００は電源電圧であるＶＤＤをＣＭＯＳインバータ１０５に供給すべきであるが、実際にＣＭＯＳインバータ１０５に供給される電圧はＶＤＤから変動してしまう。これが電源ノイズである。
【０００５】
なお、上記は電源ライン１００に生じる寄生素子１０１に起因した電源ノイズの説明であるが、実際にはパッケージにより電源ライン１００に生じる寄生のインダクタ成分１０２ないし１０４も電源ノイズの波形に影響を与える。さらにＣＭＯＳインバータ１０５を含めて、半導体集積回路に含まれる素子には寄生の容量成分が存在しているので、係る寄生の容量成分も電源ノイズの波形に影響を与える。また、ＣＭＯＳインバータ１０５のような素子に入力される信号の波形なまりも電源ノイズの波形に影響を与える。入力波形の立ち上がり、あるいは立ち下がりの傾きの違いによって、寄生容量の充放電の動作が異なるため、電流Ｉの時間波形も異なるからである。
【０００６】
近年の半導体集積回路は電源ラインから各素子に供給する電圧の値が低くなってきているため、電源電圧に対して電源ノイズが占める割合が増加しており、電源ノイズが電源ラインに発生した場合には電源ラインから電圧を供給される素子が誤動作する可能性が高くなっている。そのため、電源ラインに電源ノイズが発生しても半導体集積回路が正常に動作することを、半導体集積回路の設計を行っている段階で検証することが大変重要となる。
【０００７】
係る検証を行うべく、電源ノイズの波形を求め、半導体集積回路の動作を阻害するかどうかを検討することが行われる。ここで、電源ノイズの波形を求めるために、従来から、図２に示される回路モデルが用いられている。電圧源Ｖｄｄからノード２０１に至る配線が電源ラインを示している。一方、電圧源Ｖｄｄからノード２０２に至る配線がグランドラインを示している。電源ラインには、半導体集積回路を保護するパッケージの影響により生じる寄生のインダクタ成分Ｌと、電源ラインが金属配線で構成されていることによって生じる配線抵抗Ｒと、が寄生の回路素子成分として生じている。また、図２の電流源は、電源ラインから電圧を供給されて動作する素子をモデル化したものである。以下、電流源を素子２０３とする。例えば図１ではＣＭＯＳインバータ１０５が一例として挙げられていた。そしてノード２０１から素子２０３に向かって流れる電流Ｉは、図１の電流Ｉに対応している。さらに係る素子２０３に容量が接続されている。これは係る素子２０３に存在する不可避な寄生容量成分を意味しており、負荷容量と呼ばれる。
【０００８】
電源ラインに生じる電源ノイズの波形を求めることは、図２のノード２０１に生じる電圧の波形を求めることに相当する。そこで、図２の回路モデルに基づいて、電源ノイズの波形の例を説明する。
【０００９】
図３は、図２の回路モデルにおいて寄生のインダクタ成分および負荷容量を無視した場合に電源ラインに生じる電源ノイズの波形を模式的に示したものである。例えばＣＭＯＳインバータが動作する際に電源ラインから素子２０３に向かって電流Ｉが流れることで、配線抵抗に起因した電圧降下が発生し、ノード２０１から素子２０３に供給される電圧の値がＶｄｄより低くなっていることが分かる。これが電源ノイズである。
【００１０】
図４は図２の回路モデルにおいて寄生のインダクタ成分および負荷容量を無視せず考慮した場合に、電源ラインに生じる電源ノイズの波形を模式的に示したものである。図４に示された電圧波形を見れば分かるとおり、電源ノイズの波形は(a)の部分と(b)の部分によって波形が異なっていることが分かる。これらの内、(a)の部分は負荷容量の充放電に起因する。負荷容量は電源ラインとグランドラインとの間に接続されているので、印加されている電圧に対応してあらかじめ充電されている。電流Ｉが図２のノード２０１から流れる際、まずは負荷容量に充電されていた電荷が放電されて素子２０３に流れる電流となる。そのため、電源ラインから引き抜かれる電流の量は、負荷容量がない場合と比べて少量で済む。ゆえに電源ラインの電圧降下がゆるやかになる。一方、(b)の部分は、図２の寄生インダクタンス成分Ｌの逆起電力に起因するものである。素子２０３に流れる電流Ｉがピークの部分から減少に転じると、寄生のインダクタンスＬはその電流Ｉの減少を抑えるべく電流Ｉを増加させる方向に起電力を発生させる。この起電力によって電源ラインの電圧は増加を始める。その後、電源ラインの電圧は振動を繰り返して、やがてＶｄｄに収束していく。
【００１１】
以上は図２の回路モデルと電気回路の素子２０３の特性とに基づいた電源ノイズの定性的な説明であるが、実際に図２の回路モデルを用いて電源ノイズの波形を求める場合には、図５に記載のフローチャートに従う。まず、電流解析（Ｓ５００１）を行う。電流解析では、図２のノード２０１に印加される電圧が電源電圧Ｖｄｄであるとして、すなわち電源ノイズは発生せず、Ｖｄｄがノード２０１に印加された場合の電流Ｉをシミュレーションによって求める。言い換えれば、電流解析では、電源ラインに発生する電源ノイズは考慮せず、図２のノード２０１にもＶｄｄが印加されているという条件の下で、ノード２０１から素子２０３に向かって流れる電流Ｉを計算する。
【００１２】
次に、ノイズ解析を行う（Ｓ５０２）。電源ノイズ解析では、電流解析で求めた電流Ｉが図２の回路モデルにおいてノード２０１から素子２０３に向かって流れた場合に、ノード２０１に発生する電圧を計算する。この計算は、図２の回路モデルの電流Ｉとノード２０１に発生する電圧との関係を抵抗、インダクタンス、容量とで示した回路方程式を電圧について解くことで求める。電流Ｉによってノード２０１に発生する電圧は変動するので、Ｖｄｄから変化した電圧波形を算出することができる。
【００１３】
そして求めた電源ノイズの波形に基づいて半導体集積回路が誤動作しないかを検証することが行われる。
【００１４】
以上は、図２の回路モデルに基づいて電源ノイズの波形を求める方法であったが、特許文献１および特許文献２には、より精度が高い電源ノイズの波形を求めるため、電源ノイズの波形を求めるにあたって使用する回路モデルを工夫する技術が開示されている。また特許文献３には、より精度が高い電源ノイズの波形を求めるため、クロストークノイズ等の波形を合成するノイズ波形合成を行う技術が開示されている。
【特許文献１】特開２００８−８４０７１
【特許文献２】特開２００３−１４１２０５
【特許文献３】特開２０００−３５９８４
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上記した従来の技術では設定した回路モデルを用いて電源ノイズの波形を求める際、電源ラインから当該電源ラインに接続された素子（例えばＣＭＯＳインバータ）に向かって流れる電流を、電源ラインには電源ノイズが発生せず当該素子に印加される電圧は電源電圧Ｖｄｄであるとして求めていた。すなわち、電源電圧は係る素子に流れる電流によって変動せず、Ｖｄｄで一定であるとしているのである。そして求めた電流が電源ラインから当該素子に向かって流れる場合に当該素子に印加される電圧を、回路方程式を解くことで算出し、この算出結果を電源ノイズの波形としていた。しかし実際には図４で説明したように、電源ラインには電源ノイズが発生するため係る素子に印加される電圧はＶｄｄで固定ではなく、電源ラインから素子に向かって流れる電流に応じて変化する。さらにＶｄｄが変化すると、そのＶｄｄの変動に応答して、電源ラインから素子に向かって流れる電流も変化する。電流の向きと大きさは素子に対する印加電圧に応じて変化するからである。
【００１６】
すなわち、上記の従来技術には、素子に印加される電圧の変動と、電源ラインから当該素子に向かって流れ込む電流の変動と、の両方を考慮して回路方程式を解いていないため、算出する電源ノイズの波形の精度がよくないという課題が存在する。
【００１７】
特に、電源ラインから当該素子に向かって流れる電流は、電源ラインを介して当該素子に印加される電圧の電圧降下（電源ノイズ：図４参照）によって値が減少するので、当該素子に印加される電圧の電圧降下の大きさも実際には減少する。したがって、上記した従来の技術では、電源ラインに生じる電源ノイズの大きさ、すなわち電源ラインの電圧の電圧降下を必要以上に大きく見積もっていることになり、電源ノイズの解析結果が悲観的にならざるを得ない。
【００１８】
電源ノイズの解析結果が悲観的になれば、電源ノイズの大きさである電圧降下を抑えるために半導体集積回路に挿入するデカップリングキャパシタの数が多くなる。デカップリングキャパシタは電源ラインとグランドラインとの間に接続される容量であり、電源ラインに生じる電圧降下の傾きを緩やかにする効果がある（図４参照）が、デカップリングキャパシタを大量に挿入すれば製造コストが増大する上に、半導体集積回路内にデカップリングキャパシタを挿入するスペースがなければ実装面積をも増加させなくてはならなくなる。さらにデカップリングキャパシタは電気回路の素子としては容量であるので、一定の周波数を有する信号の電流を係る周波数の大きさに反比例したインピーダンスに基づき通過させる。したがって、デカップリングキャパシタを挿入する量が多くなればその半導体集積回路のリーク電流が増加し、係る半導体集積回路の消費電力が増加してしまう。
【００１９】
従って、電源ノイズの解析結果の精度を向上させることは解決すべき重要な技術的課題であり、本願発明は係る技術的課題を解決するためになされたものである。
【課題を解決するための手段】
【００２０】
本発明に係る電源ノイズの解析方法は、電源ラインにある一のノードに前記電源ラインが供給すべき所定の電源電圧が印加された場合に、前記ノードから前記ノードに接続された一の素子に向かって流れる電流を求めると共に、前記電流が前記ノードから前記一の素子に向かって流れる場合に前記ノードに発生する電圧を求めるステップと、前記電源電圧に対する前記電圧の変動の量に対応して前記電流が変動する量である電流変動分を求めるとともに、前記電流に前記電流変動分の変動が発生する場合に前記電圧が変動する量である電圧変動分を求めるステップと、前記電圧と前記電圧変動分とに基づいて前記電源ラインに発生するノイズである電源ノイズを求めるステップと、を有する。
【００２１】
本発明では、まず電源ラインにある一のノードに電源ラインが供給すべき所定の電源電圧が印加された場合に係るノードから係るノードに接続された素子に向かって流れる電流を求める。この電流は、電源ラインにある一のノードに印加される電圧が変動しない、すなわち電源ノイズが発生しないとした場合の電流である。次に、本発明では、求めた電流がノードから係る素子に向かって流れる場合に係るノードに発生する電圧を求めている。この電圧は、前記の電流による電源電圧の変動が反映された電圧となる。しかし、この電圧を電源ノイズの解析結果とすることはできない。なぜならば、この電圧を求めるために使用した電流は、係るノードに発生する電圧の変動に応じて変動するが、この現象が全く考慮されていないからである。この現象を考慮しなければ、精度よく電源ノイズを解析することはできない。なぜならば、係るノードから係る素子に向かって流れる電流の変動に対応して、係るノードに発生する電圧も変動するからである。そこで、次に、求めた係るノードに発生する電圧の、電源電圧から見た変動の量に対応して係るノードから係る素子に向かって流れる電流の変動の量である電流変動分を求める。そして係る電流に係る電流変動分が発生する場合に、先ほど求めたノードに発生する電圧が変動する量である電圧変動分を求める。この電圧変動分は、係るノードに発生する電圧の変動に起因して発生する、係るノードから係る素子に向かって流れる電流の変動を考慮した上での電圧変動分である。したがって、係る電圧変動分と、すでに求めてある、係るノードに発生する電圧とに基づいて電源ノイズを求めれば、ノードから素子に向かって電流が流れることによってノードに印加される電圧が変動する現象と、係るノードに印加される電圧が変動することで、ノードから素子に向かって流れる電流が変動する現象と、の両方を考慮した電源ノイズを求めることができることになる。
【００２２】
このように電源ノイズを求めることで、本発明に係る電源ノイズの解析方法は、従来の電源ノイズを求める方法は求めた電源ノイズの精度がよくなかったという技術的な課題を解決することができる。
【発明の効果】
【００２３】
本発明によれば、従来の電源ノイズの解析方法よりも精度が高い電源ノイズの解析を行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明を実施するための最良の形態について説明する。なお、以下では、種々の数値計算が説明されるが、それらの計算は、図６に記載があるとおり、ＣＰＵ６０１と、コントロールバス、アドレスバス、データバスを含むバス６０２と、メモリ６０３と、からなるシステムが実行しているものとする。つまり、ＣＰＵ６０１がメモリ６０３からそれぞれの数値計算に必要となるプログラムをロードして実行することでそれぞれの数値計算が行われる。ＣＰＵ６０１は、数値計算の結果をメモリ６０３に書き込む。またＣＰＵ６０１とメモリ６０３との間のプログラム、アドレス、データのやり取りはバス６０２を介して行われる。
【００２５】
本実施の形態では、電源ノイズを解析する際に用いる回路モデルとして、図２に示したモデルを使用する。そこでまず、図２の回路モデルを使用して電源ノイズの解析を行うにあたり、図２に示された各回路素子の値を決定しなければならない。これらの素子の内、電源電圧Ｖｄｄの値は、半導体集積回路の仕様に基づき決定される。一方、寄生インダクタンスＬの値および配線抵抗Ｒの値は実際の電源ラインがメッシュ状に配置されていることから、電源ノイズの解析を行う場所によって値が異なることになるが、実際の半導体集積回路の仕様では解析を行うべき全てのポイントについてインダクタンスおよび抵抗の値が決められている。したがって、解析を行う電源ライン上の場所が決定した時点で、寄生インダクタンスＬと配線抵抗Ｒの値は一意に決定することができる。
【００２６】
一方、負荷容量Ｃの値は、設計を行う半導体集積回路のレイアウト設計および遅延計算の結果に基づき決定される。さらにこの回路モデルを使用して電源ノイズの解析を行うにあたっては、電源ラインから素子２０３に流れる電流を検討する必要があるため、素子２０３に入力される信号の波形なまりの情報も決定する必要がある。これは素子２０３に入力される信号の波形が急峻に立ち上がる場合と緩やかに立ち上がる場合とでは、電源ラインから素子２０３に向かって流れる電流の時間波形が異なるため、電源ノイズの解析結果に影響を与えるからである。したがって素子２０３に入力される信号の波形なまりの情報もレイアウト設計および遅延計算の結果に基づき決定する必要がある。
【００２７】
ここで、簡単に半導体集積回路の設計において行われる、レイアウト設計と遅延計算によって得られるパラメータについて、図７を参照して説明する。レイアウト設計と遅延計算が行われると、半導体集積回路にて使用される素子、例えば図７では例としてＣＭＯＳインバータ１０５と７０１であるが、係る素子を信号が伝搬する際に発生する遅延時間がまず求められる。例えばインバータ１０５を信号が通過する際には信号は0.2nsec遅延する。同様にインバータ７０１を信号が通過する際には信号は0.3nsec遅延する。さらに、それぞれのインバータに存在する寄生の負荷容量の値も決定される。例えばインバータ１０５の負荷容量Ｃの値は0.1pFであり、インバータ７０１の負荷容量Ｃ‘の値は0.1pFである。さらに、例えばインバータ１０５に対する入力信号の値の変化に係る時間（波形なまり）も求められる。例えばインバータ１０５に入力される信号の波形なまりは0.1nsecである。
【００２８】
しかし、入力波形なまりXと負荷容量Cの値は、電源ノイズの解析を行う電源ラインの場所ごとに異なる。電源ラインのどの場所にどのようなパラメータを持つ素子が配置されるかは回路の設計が行われた時点で判明するのであり、半導体集積回路の仕様の決定の時点では分からないため、これらの値に関しては一意に決定することはできない。そうすると、図１のメッシュ状に配置された電源ライン１００のどの部分に発生する電源ノイズの解析を行うかによって、解析に用いる素子が異なるので、負荷容量は当然異なってくる。そして、解析を行う電源ラインの場所に対応する素子に入力される波形も、その素子の入力ポートより前に配置された素子の影響によって異なってくるので、電源ノイズの解析を行う場所に応じて使用すべき入力波形なまりの値も異なってくることになる。
【００２９】
そこでまず、本実施の形態では、入力波形なまりＸと負荷容量Ｃの値ごとに、図２における電流Ｉを求め、その電流Ｉの電源電圧Ｖｄｄの変動に対する感度を求める。そして電流Ｉと電流Ｉの感度を入力波形なまりＸと負荷容量Ｃの値ごとにまとめてライブラリ化する。なお、係る感度の情報は、後述する電源ノイズの解析で使用することになる。まず、例えば波形なまりX＝0.1ns、負荷容量C=0.1ｐFであるとして、電源ライン上にあるノード２０１から素子２０３に向かって流れる電流Ｉを、決定したパラメータのもとで、シミュレーションによって算出する。なお、ここで求めている電流Ｉは、電源ラインに電源ノイズが生じておらず、ノード２０１には電源電圧Ｖｄｄが変動することなく印加されている場合における電流である。すなわち従来技術で用いられていた電流Ｉの算出と同様である。算出には例えばシミュレーションのツールであるＳＰＩＣＥを使用する。なお、実際には、図６のＣＰＵ６０１がＳＰＩＣＥを実行する。ここで、図８を参照して、本実施の形態では、電源電圧を変化させ、変化させた各電源電圧に対応する電流を求める。例えば、図２の回路モデルのパラメータを決定する際に、設計する半導体集積回路の仕様に基づきＶｄｄの値が１．２Ｖであったとする。この場合、図８においてＶｄｄ２＝１．２Ｖである。一方、半導体集積回路の仕様では、電源ノイズが発生した結果、電源の電圧が変動してよい電圧の範囲が定められている。例えばその電圧の範囲が１．１Ｖ以上１．３Ｖ以下である場合、図８においてＶｄｄ１＝１．３Ｖであり、Ｖｄｄ３＝１．１Ｖである。本実施の形態では、Ｖｄｄ１＝１．３Ｖの場合に素子２０３に流れる電流と、Ｖｄｄ２＝１．２Ｖの場合に素子２０１に流れる電流と、Ｖｄｄ３＝１．１Ｖの場合に素子２０３に流れる電流と、を、ＳＰＩＣＥを用いて求める。
【００３０】
次に、シミュレーションによって求めた電流の情報を図６のメモリ６０３に記憶させるため、ＣＰＵ６０１は、ＳＰＩＣＥによって求めた電流の情報を加工する（ＰＷＬ処理）。具体的にはＣＰＵ６０３は、例えばまず、図８に示された電流波形の内、Vdd=Ｖｄｄ２＝１．２Ｖの際の電流波形を複数の時刻でサンプリングする。そしてサンプリングに使用した各時刻と、その各時刻に対応する電流の値の組み合わせを求める。次に、ＣＰＵ６０３は、サンプリングした各時刻と各電流の組み合わせが、電源電圧Vddの変動に応じてどのように変化するかを求める。この様子を図９に示す。例えば図９の領域ｂは、Vdd=Vdd2=1.2Vの場合の電流波形の原点の次の時刻のサンプリング結果が、電源電圧Vddの変化によってどのように変化するかを示している。そしてCPU６０３は、領域ｂに含まれる３点に対応する時刻と電流の組み合わせをメモリ６０３に書き込む。CPU６０３は他のサンプリング点も同様に処理を行って、得られた情報をメモリ６０３に書き込む。なお、図９にあるように、Ｖｄｄ＝１．２Ｖの際にサンプリングした点が、Ｖｄｄ＝１．１ＶあるいはＶｄｄ＝１．３Ｖの場合の電流波形のどの部分に対応するかを求めるには、例えば以下のアルゴリズムを使用する。まず、Ｖｄｄ＝１．２Ｖの場合にサンプリングした点の内、ある一の点を中心として所定の半径の円を描く。そして係る円の半径を変えることで、Ｖｄｄ＝１．１ＶとＶｄｄ＝１．３Ｖの場合の電流波形と同時に接する接点を探索する。探索された二つの接点がそれぞれＶｄｄ＝１．１Ｖの場合とＶｄｄ＝１．３Ｖの場合の前記一の点に対応する点である。これは、Ｖｄｄが１．２Ｖから微小に揺れ動くため、Ｖｄｄ＝１．１Ｖの場合の電流波形にある点と前記一の点の距離と、Ｖｄｄ＝１．３Ｖの電流波形にある点と前記一の点との距離は等距離であると共に、求めた３点を結んだ線の傾きは一定であると推定されるからである。多くの場合、この簡単なアルゴリズムで必要な点を求めることができる。
【００３１】
このCPU６０３によるPWL処理に応じてメモリ６０３に書き込まれた情報を、図１０に示す。なお、図１０に示された数値はあくまでも一例であり、実際には図２の回路モデルに用いたパラメータなどによって大きく異なる。
【００３２】
以上は、入力波形なまりX=0.1ns、負荷容量C=0.1pFの場合を例とした処理である。しかし、電源ノイズの解析を行う電源ライン上の場所は多岐に渡る。さまざまな場所で電源ノイズの解析を柔軟に行うことができるようにするため、あらかじめ入力波形なまりXの値と負荷容量Cの値のさまざまな組み合わせに対応した電流Iの情報を用意しておく必要がある。そこで、ＣＰＵ６０３は、図１１に示すように、入力波形なまりXの値と負荷容量Cの値の組み合わせごとに図１０に示した表と同様の表に含まれる情報を算出し、メモリ６０３に書き込む。
【００３３】
次に、CPU６０３は、電流Iの電源電圧の変動に対する感度を算出する。具体的に説明するため、再び入力波形なまりX=0.1ns、負荷容量C=0.1pFの場合を例にとって説明する。この場合、メモリ６０３は、図１０に示した情報を記憶している。そこでCPU６０１は、この図１０に示した情報を用いて電流の感度を計算する。この処理の概念を示した図が図１２である。電流値は電圧Ｖｄｄの関数であり、時刻も電圧Ｖｄｄの関数である。したがってCPU６０１は電源電圧Vdd=Vdd2=1.2Vの際の電流Iの値と時刻の値が電源電圧の変動によってどの程度の割合で変化するかを求める。言い換えれば、CPU６０１は電流Iと時刻の電圧に対する偏微分の結果を求める。実際には数値計算を用いた偏微分が行われる。この結果、CPU６０１が得る情報を図１３に示す
【００３４】
図１３では、図１０に示された情報に加え、各領域の時刻の電圧に対する感度と、各領域の電流の電圧に対する感度の情報が示されている。図１３の表において、例えば領域ｂの部分の時刻の電圧に対する感度は次のようにして求める。まず、領域ｂの部分のVdd1=1.3Vの場合の時刻0.020とVdd2=1.2Vの場合の時刻0.022の差を求め、-0.002となる。それを電圧Vdd１−Vdd2＝1.3-1.2＝0.1で割ることで、-0.02[nsec/V]が得られる。この-0.02は、Vdd2=1.2Vの場合の電流Iにおいて、時刻0.022が電源電圧の変動に対してどの程度の感度で変化するかを示している。領域ｂの部分の電流の電圧に対する感度の計算も同様である。まず領域ｂの部分の電流0.60と電流0.58との差を求める。二つの差は0.02である。その差を1.3-1.2＝0.1で割ることで、電流の電圧に対する感度である0.2[μA/V]が得られる。CPU６０１は領域a, c ,d, e ,f についても上記と同様の処理を行い、領域aないしfのそれぞれの時刻の電圧に対する感度および電流の電圧に対する感度を求める。
【００３５】
なお、図１３には、Vdd3=1.1Vの際の各領域の電流と時刻の情報も存在しているが、この情報は上記偏微分の処理では使用されていない。これは、上記の処理は偏微分を数値計算で行う際に用いられる最も簡単な処理である線形補間を用いているからである。この線形補間で求めているのは、各領域の電流あるいは時刻の電圧に対する変化をテイラー展開した場合の一次の係数である。したがって、より精度よく、各領域の電流あるいは時刻の電圧に対する感度を求めたい場合には、テイラー展開の二次の係数まで求めればよい。一次の係数に加えて二次の係数まで合わせて求める場合には、最小二乗法など、既知の手法で求めることができるが、その際には例えばVdd=1.1Vの際の各領域の電流と時刻の情報も、Ｖｄｄ＝1.3Ｖの情報とあわせて用いられる。なお、説明の簡単化のために、以下ではテイラー展開の一次の係数までを求める線形補間を使用した場合を例にとって実施の形態の説明を行う。
【００３６】
なお、以上は入力波形なまりＸ＝0.1ns、負荷容量Ｃ＝0.1ｐＦの場合を例にとって、電流Ｉの感度を計算する処理の説明であったが、上述した通り、入力波形なまりと負荷容量は電源ノイズの解析を電源ライン上のどの場所で行うかよって異なり、一意に決定することができない。そこで、ＣＰＵ６０１は図１１に対応して、入力波形なまりと負荷容量の値の組み合わせごとに、電流および時刻の電圧に対する感度を求めておく。そしてＣＰＵ６０１は入力波形なまりと負荷容量の値の組み合わせごとの電流の電圧に対する感度、および時刻の電圧に対する感度の情報をメモリ６０３に書き込む。図１１に示したとおり、入力波形なまりＸの値と負荷容量Ｃの値ごとの電流と時刻の情報はすでにメモリ６０３に記憶されているので、メモリ６０３は、入力波形なまりと負荷容量の値の組み合わせごとに図１３に対応する情報を記憶していることになる。この情報、すなわち入力波形なまりＸの値と負荷容量Ｃごとの図１３に対応する情報が本実施の形態でいうところの電流のライブラリである。
【００３７】
以上が本実施の形態における電流のライブラリ化である。このライブラリ化された電流の情報を用いて、電源ノイズ解析が行われる。図１４は、本実施の形態における電源ノイズの解析方法を示すフローチャートである。
【００３８】
以下、図１４を参照しながら本実施の形態に係る電源ノイズの解析方法を説明する。まず初めに、電流解析が行われる（Ｓ１４０１）。図２に示された回路モデルの内、電源電圧Ｖｄｄと寄生インダクタＬ、配線抵抗Ｒの値は、上述した電流のライブラリ化の部分で決定している。そこで、電源ノイズを解析する電源ライン上の場所に関し、素子の入力波形なまりＸの値と負荷容量Ｃの値とを決定する。決定は、半導体集積回路の設計フローにおける、レイアウト設計と遅延計算の結果に基づき行われる。
【００３９】
この時点で、図２の回路モデルを用いて解析を行うにあたって必要となるパラメータが全て決定されている。そこで、決定されたパラメータに対応する電流の情報を、あらかじめ作成しておいた電流ライブラリから読み出す。ＣＰＵ６０３はメモリ６０３にアクセスし、電流ライブラリから決定されたパラメータに合致する電流の情報を読み出して取得する。なお、ここでは一例として、ＣＰＵ６０３は入力波形なまりＸ＝0.1ns,  負荷容量Ｃ＝0.1ｐＦに対応する情報（図１３）を読み出したものとする。
【００４０】
次に、ＣＰＵ６０１は、読み出した電流の情報をフーリエ変換する。メモリ６０３から読み出した電流の情報は時間領域の情報である。本実施の形態では、後に図２に示した回路モデルについての行列演算を行うが、係る行列演算を行う場合には周波数領域の電流の情報を用いたほうが便利であるため、この電流解析のステップにおいてフーリエ変換を行う。
【００４１】
なお、図１５は本実施の形態で用いるフーリエ変換について示したものである。ＣＰＵ６０１がメモリ６０３から読み出した電流Ｉの情報は、例えば図１３に示された情報のように時間軸に対して離散的なものである。そこでＣＰＵ６０１は、まず取得した離散的な数値である電流Ｉを線形補間する。図１５の「時間領域」と記載された枠内にある電流ik(t)は離散的な数値で示された電流が線形補間されることを示している。また、フーリエ変換後の電流は、図１５の「周波数領域」と示された枠内にある電流Ik(ω)が示しているように、複素数である。複素数では実部と虚部が存在することに留意されたい。
【００４２】
また、フーリエ変換を行うということは、図１６に示すように、電源ノイズの解析を行う際に考慮する一の素子（図１６(a)ではインバータ）の入力ポートに周期的な波形が入力されることを想定していることと等価である（図１６（ｂ））。これはフーリエ変換が演算の性質上、周期関数を想定するということによるものである。電流を周波数領域に変換することで、一の素子に対して周期的に信号が入力された状況を考慮した上での解析を実行することができる。また、実際の半導体集積回路の各素子には、クロック信号に見られるように周期的な波形が入力されることが多いため、周波数領域の情報を扱って電源ノイズ解析を行っても問題はない。
【００４３】
図１７は、係る電流解析のステップにおいて、ＣＰＵ６０１が得る情報である。図１７に示すように周波数に依存した電流の情報が得られるが、数値計算を行っている以上は連続的な電流の情報を得ることはできないため、電流値は周波数ωに対して離散的である。また電流値は複素数であるため、実部ＩＲＥと虚部ＩＩＭとが存在する。なお、数値はあくまでも一例である。
【００４４】
次に、本実施の形態に係る電源ノイズ解析を行う（Ｓ１４０２）。このステップでは、図１８に示された回路方程式を電圧について解く。複素数の情報を扱っているので、電圧も複素数であり実部ＶＲＥと虚部ＶＩＭが存在する。図１８の回路方程式の左辺の内、Ｇはコンダクタンスを示しているが、図２の配線抵抗Ｒの値を包含している。Ｃは負荷容量であり、ωは周波数である。寄生インダクタンスＬは、負荷容量Ｃと同様にインピーダンスが周波数ωに依存するため、式中のＣは寄生インダクタンスＬも包含している。この方程式の左辺にある、Ｇ、Ｃは設計する半導体集積回路の仕様に応じてすでに決定されている。そこでこの方程式に、図１７に示した周波数ωおよび実部ＩＲＥと虚部ＩＩＭの情報を代入する。例えば図１７を例にとって具体的に説明すれば、ωの部分に２π×１２０ＭＨｚの値を代入し、実部ＩＲＥには0.50を代入し、虚部ＩＩＭには0.60を代入する。代入が完了した段階で未知の変数は電圧についての実部ＶＲＥと虚部ＶＩＭであるので、この方程式を、数学的な行列演算を用いて実部ＶＲＥと虚部ＶＩＭについて解けばよい。ＣＰＵ６０１は他の周波数についても同様に代入を行って方程式を解く。
【００４５】
なお、実際に図１８に示す回路方程式を解くにあたっては、数学的な手法の一つであるＬＵ分解を用いる。図１８の左辺にあるＧ，Ｃ，ωを含む行列の逆行列を直接求めるよりも、ＬＵ分解にて求めることになるＬ行列、Ｕ行列のほうが演算上、求めやすいからである。なお、以上の処理も、実際にはＣＰＵ６０１が行う。
【００４６】
図１９は、ＣＰＵ６０１が図１８に示した回路方程式を解くことで取得する情報である。ＣＰＵ６０１はこの情報をメモリ６０３に書き込む。図１９にあるとおり、ＣＰＵ６０１は周波数ごとに実部ＶＲＥと虚部ＶＩＭの具体的な数値を得ている。ここで、図１９に示されている実部ＶＲＥと虚部ＶＩＭは、電源ラインから一の素子に向かって電流（複素数であるので実部ＩＲＥと虚部ＩＩＭを有する）が流れる場合に、係る電源ラインが係る素子に供給する電圧（複素数）を意味している。
【００４７】
次に、本実施の形態では、電流解析（変動分）を行う（Ｓ１４０３）。このステップは、電源ノイズの解析結果の精度を上げるために必要となるステップの一つである。ステップとＳ１４０１と、Ｓ１４０２では、電源ノイズが発生せず、ノード２０１に電圧Ｖｄｄが変動せずに印加されている場合を想定した電流Ｉを求めているに過ぎなかった。図８では電源電圧Ｖｄｄの値を１．１Ｖから１．３Ｖまで変動させていたが、これは、それぞれの電圧値が変動することなくノード２０１に供給されている場合における電流を求めているに過ぎない。従って、ステップとＳ１４０１と、Ｓ１４０２で求まった実部ＶＲＥと虚部ＶＩＭでは、ノード２０１から素子２０３に向かって流れる電流Ｉ（実部ＩＲＥと虚部ＩＩＭ）に起因してノード２０１に印加される電圧の変動が考慮されていない。そしてノード２０１に印加される電圧の変動に起因して生じる、「ノード２０１から素子２０３に向かって流れる電流Ｉ」の変動も考慮されていない。つまり、電源ノイズの解析の精度の向上を実現するにはこれらの変動の検討が必要であり、ステップとＳ１４０１と、Ｓ１４０２では電源ノイズの解析方法として不充分である。
【００４８】
なお、以下では、説明の分かりやすさのために周波数領域の信号を時間領域に戻すことを行うが、実際の演算上は周波数領域でも行うことができる。まず、ＣＰＵ６０１は複素数の電圧である実部ＶＲＥと虚部ＶＩＭとを用いて逆フーリエ変換を行い、時間領域の電圧Ｖｔに変換する。例えば図１９に示されている情報の内、ωが２π×１２０ＭＨｚの場合における実部ＶＲＥ＝1.3と虚部ＶＩＭ＝0.2を用いて逆フーリエ変換の演算を行って、数値で示される時間領域の電圧値Ｖｔ２を求める。なお、以下では具体的な数値は省略し、文字での記載を用いることにする。ＣＰＵ６０１は他の周波数の実部ＶＲＥと虚部ＶＩＭについても同様に逆フーリエ変換を行って、数値で示される時間領域の電圧を求める。この様子を図２０に示す。そして、ＣＰＵ６０１は、次に、図２０に示されたΔＶｔを求める。ΔＶｔは、Ｖｔと電源電圧Ｖｄｄとの差分である。電流解析のステップで、電流のライブラリ化の際と同様にＶｄｄ＝１．２Ｖを基準としていたため、ここではΔＶｔはＶｔ−１．２Ｖである。ＣＰＵ６０１は、電流解析のＰＷＬ処理におけるサンプリングに使用した時刻毎に、このΔＶｔを求める。図２０では、ΔＶｔ１、ΔＶｔ２・・・が数値として求められている。ＣＰＵはこれらの情報をメモリ６０３に書き込む。このΔＶｔは、電源ラインから素子に向かって電流が流れた場合に、電源電圧がどの程度変動したかを示す。
【００４９】
なお、図２０のΔＶtは、電源電圧Ｖｄｄを基準として、電源ライン上のノード２０１に印加される電圧がどの程度変動したのかを示している。したがって、この値を使用して電源ノイズの解析を行えば、精度が上がるとも考えられるが、このΔＶｔは、上記したＶｔと電源電圧Ｖｄｄの差分である。Ｖｔは、上述したように、ノード２０１から素子２０３に向かって流れる電流Ｉによって変動するノード２０１における電圧は考慮しているが、この電圧の変動に起因して生じる「ノード２０１から素子２０３に向かって流れる電流Ｉ」の変動は考慮していない。そのため、このΔＶｔを電源ノイズ解析の精度向上のために直接用いることは得策ではない。そこで、本実施の形態では以下に示す処理を行う。
【００５０】
まずＣＰＵ６０１は、電流のライブラリ化の際に求めた電流の感度を用いて、電源ラインから素子に向かって流れる電流の変動の量である電流変動分を求める。具体的には、電源ラインから素子に向かって流れる電流の電流値の変動の量である電流値変動分と、時刻の変動の量である時刻変動分を求める。電流のライブラリ化の際にメモリ６０３が電源電圧の変動に対する電流の感度および時刻の感度を記憶しているのでＣＰＵ６０１はそれらを用いる。例えば、図１３の領域ｂにおける電流の電源電圧の変動に対する感度は0.2である。そして図２０に示したとおり、領域ｂの電源電圧の変動の量はΔＶｔ２であり、数値として求まっている。したがってＣＰＵ６０１は0.2にΔＶｔ２を乗算することにより電流変動分Δi2を算出することができる。このΔi2も数値として求まっていることになる。ＣＰＵ６０１は、領域a,c,d,e,fについても同様に電流変動分を算出する。また、ＣＰＵ６０１は、同様に図１３にある電源電圧に対する時刻の感度を用いて、時刻変動分を算出する。この様子を図２１に示す。
【００５１】
さらにＣＰＵ６０１は、図２２に示されている通り、Ｖｄｄ＝1.2Ｖの場合におけるI'(t)を求める。具体的には、例えば図１３に示すように、電流解析のステップＳ１４０１で電流と電圧の関係が求まっている。そして、図２１にある通り、ΔiおよびΔtも求まっているので、これらの情報を使用すればよい。例えば図１３において、Ｖｄｄ＝１．２Ｖの場合の領域ｂの時刻は0.022である。一方、領域ｂの時刻変動分は図に２１ある通りΔｔ２として数値的に求まっているので、0.022+Δｔ２の演算結果が図２２にあるｔ２+Δｔ２となる。図２２にある電流についても同様に求めることができる。例えば図１３において、Ｖｄｄ＝１．２Ｖの場合の領域ｂの電流の値は0.58である。一方、領域ｂの電流変動分は図２１にある通り、Δi2であり、数値的に求まっている。したがって0.58+Δi2の演算結果が図２２のi2+Δi2である。他の領域についても同様の数値計算を行えば電流と時刻について具体的な値が求まる。なお、表において数値は省略しているが、表の各領域に入るものは実際には数値である。ＣＰＵ６０１はこれらの数値をメモリ６０３に書き込む。
【００５２】
次に、ＣＰＵ６０１は、図２２に示された形で求まっているVdd=1.2Ｖの場合のI'(t)を周波数領域の電流に変換するためフーリエ変換を行う。フーリエ変換の方法は前述したものと同様であり、数値的に行われる。ここで、周波数に値が依存するこの電流をＩ'(ω)とする。そうすると、図１９に示した電流Ｉ(ω)との差分は周波数領域での電流変動分ΔＩ（ω）となる。電流Ｉ'(ω)も電流Ｉ(ω)も、共に複素数であるので、電流変動分ΔＩ（ω）も複素数となる。従って、電流変動分ΔＩ（ω）も実部ΔＩ（ω）ＲＥと虚部ΔＩ（ω）ＩＭを有する。ＣＰＵは上記した差分演算を行って図２３に示された、周波数領域での電流変動分を求める。ＣＰＵ６０１は得られた図２３の情報をメモリ６０３に書き込む。
【００５３】
以上が電流解析（変動分）（Ｓ１４０３）である。このステップが終了した場合、ＣＰＵ６０１は電源ノイズ解析（変動分）を行う（Ｓ１４０４）。このステップでは、再び、図１８で使用した回路方程式を使用する。ただし、このステップでは、図１８におけるＩＲＥとＩＩＭの部分にΔＩＲＥとΔＩＩＭを代入するとともに、代入するこれらの値に対応する周波数ωの値も代入する。この代入を行うことで、係る回路方程式における未知の変数は電圧の変数だけとなる。この回路方程式を解けば、電圧変動分ΔＶＲＥおよびΔＶＩＭを得ることができる。代入した電流の値が電流変動分ΔＩＲＥとΔＩＩＭだからである。一方、この回路方程式を解くためには行列演算を行う必要がある。しかし、電源ノイズ解析（Ｓ１４０２）においてこの回路方程式を一度解いているため、この回路方程式に関するＬＵ分解はすでに実行済みである。したがって、ＬＵ分解に必要となるＬ行列およびＵ行列はすでに求まっているため、簡単にこの回路方程式を解くことができる。ＣＰＵ６０１はこの回路方程式を解いた結果、図２４に示されるような形式で、電圧変動分についての情報を取得し、メモリ６０３に記憶する。
【００５４】
この電源ノイズ解析（変動分）のステップＳ１４０４で最終的に求めた電圧変動分ΔＶ（ω）は、電流解析（変動分）のステップＳ１４０３で求めたΔＶｔよりも精度が高い。上記のΔＶｔは電源ライン上のノード２０１から素子２０３に向かって流れる電流Ｉが固定のもとでノード２０１の電圧がどの程度変動したかを示しているに過ぎない。したがってΔＶｔは、係るノード２０１の電圧の変動に起因して生じる「電源ライン上のノード２０１から素子２０３に向かって流れる電流Ｉ」の変動の影響を全く考慮していない値である。係る電流Ｉが変動すればノード２０１の電圧も影響を受けてさらに変動するからである。しかし、ステップＳ１４０４で求めたΔＶ（ω）は、ノード２０１から素子２０３に向かって流れる電流Ｉの変動分を、ライブラリ化しておいた電流の感度を用いることにより考慮している。すなわち、ΔＶ（ω）は、ノード２０１から素子２０３に向かって電流Ｉが流れた場合のノード２０１に生じる電圧の変動と、係る電圧の変動に起因して生じる「ノード２０１から素子２０３に向かって流れる電流Ｉ」の変動と、の双方を考慮して求められた電圧変動分である。したがってΔＶｔよりもΔＶ（ω）のほうが精度が高い電圧変動分である。
【００５５】
最後に、電源ノイズの加算を行う（Ｓ１４０５）。ここでは図１９に示されたＶＲＥおよびＶＩＭと図24に示されたΔＶＲＥおよびΔＶＩＭと、を対応する周波数ごとに加算する。例えばω＝２π×１２０ＭＨｚの場合におけるＶＲＥとΔＶＲＥを加算するとともに、ω＝２π×１２０ＭＨｚの場合におけるＶＩＭとΔＶＩＭとを加算する。他の周波数についても同様に複素数の実部と虚部の加算を行う。加算した結果を逆フーリエ変換すれば電圧の変動分を考慮した電圧の時間に対する波形を得ることができる。すなわち、本実施の形態では、上述のΔＶ（ω）を求めて、これをステップＳ１４０２で求めた電圧Ｖ（ω）に加算する。そして加算した結果、得られた電圧波形を電源ノイズの解析結果とする。この方法を行うことで、図２の回路モデルを例にとって説明すれば、ノード２０１から素子２０３に向かって電流Ｉが流れる場合に発生するノード２０１に印加される電圧の変動と、ノード２０１に発生する当該電圧変動に起因して発生する、前記電流Ｉの変動と、の双方を考慮した電源ノイズの波形を求めることができる。
【００５６】
なお、上記ではステップＳ１４０１からＳ１４０４までを１回のみ行っているが、下記の通り、繰り返して収束計算を行ってもよい。すなわち、Ｓ１４０４で求めたΔＶ（ω）を逆フーリエ変換することで時間領域の情報に変換する。これをΔＶｔ'とする。このΔＶｔ'をステップＳ１４０３で使用したΔＶｔに置き換える。以降、Ｓ１４０３と、Ｓ１４０４とを行って、ΔＶ（ω）'を求める。つまり、Ｓ１４０３と、Ｓ１４０４とを繰り返すのである。係る繰り返しを行うことで、電圧変動分ΔＶ（ω）の精度が向上していく。例えば前回のΔＶ（ω）の値と今回のΔＶ（ω）の値の差分が所定の閾値以下であった場合に繰り返しを停止するといった方法を行ってもよい。繰り返しの回数が増えれば計算にかかる時間も増えるため、計算時間を考慮した上で繰り返しの回数を決定することもできる。
【００５７】
図２５は、本実施の形態に係る電源ノイズの解析方法を使用した場合と従来の解析方法を使用した場合の解析結果を比較したものである。インバータに対して0.1Ｖの振幅の正弦波を入力した場合、電源ノイズの波形の精度を約１０％改善することができることが示されている。
【００５８】
以上、具体的な例を通して本発明の実施の形態を説明したが、本発明の権利範囲は係る実施の形態に限定されるものではない。特に、実施の形態での説明に使用した数値はあくまで説明を分かりやすくするために使用したものであり、発明の範囲としては一般化されるものである。
【図面の簡単な説明】
【００５９】
【図１】半導体集積回路における電源ラインと寄生素子成分を説明した図である。
【図２】電源ノイズの解析を行うための回路モデルを示した図である。
【図３】電源ノイズの発生メカニズムを説明した図である。
【図４】電源ノイズの発生メカニズムを説明した図である。
【図５】従来の技術における電源ノイズの解析方法を示すフローチャートである。
【図６】本実施の形態を実施する装置である。
【図７】レイアウト設計および遅延計算で求まるデータを示す図である。
【図８】本実施の形態で求める電流波形の例を示した図である。
【図９】本実施の形態で行うＰＷＬ処理の概念を示した図である。
【図１０】本実施の形態で得られる電流の情報の一例を示した図である。
【図１１】本実施の形態で得られる電流の情報の一例を示した図である。
【図１２】本実施の形態で求める電流の感度の概念を示す図である。
【図１３】本実施の形態で求める電流のライブラリの一例である。
【図１４】本実施の形態のフローチャートである。
【図１５】フーリエ変換の概念を示す図である。
【図１６】フーリエ変換を行うことで想定される解析の条件を説明する図である。
【図１７】本実施の形態で得られる電流の情報の一例を示した図である。
【図１８】本実施の形態で用いられる回路方程式である。
【図１９】本実施の形態で得られる電流および電圧の情報の一例である。
【図２０】本実施の形態で得られる電圧の情報の一例である。
【図２１】本実施の形態で得られる電流および時刻の情報の一例である。
【図２２】本実施の形態で得られる電流の情報の一例である。
【図２３】本実施の形態で得られる電流および電圧の情報の一例である。
【図２４】本実施の形態で得られる電圧の情報の一例である。
【図２５】本実施の形態の効果を示す図である。
【符号の説明】
【００６０】
１００  電源ライン
１０１  寄生素子
１０２  寄生素子
１０３  寄生素子
１０４  寄生素子
１０５  インバータ
１１０  グランドライン
２０１  ノード
２０２  ノード
２０３  素子
６０１  ＣＰＵ
６０２  バス
６０３  メモリ
７０１  インバータ
【図１】
2010113437.tif 000003
【図２】
2010113437.tif 000004
【図３】
2010113437.tif 000005
【図４】
2010113437.tif 000006
【図５】
2010113437.tif 000007
【図６】
2010113437.tif 000008
【図７】
2010113437.tif 000009
【図８】
2010113437.tif 000010
【図９】
2010113437.tif 000011
【図１０】
2010113437.tif 000012
【図１１】
2010113437.tif 000013
【図１２】
2010113437.tif 000014
【図１３】
2010113437.tif 000015
【図１４】
2010113437.tif 000016
【図１５】
2010113437.tif 000017
【図１６】
2010113437.tif 000018
【図１７】
2010113437.tif 000019
【図１８】
2010113437.tif 000020
【図１９】
2010113437.tif 000021
【図２０】
2010113437.tif 000022
【図２１】
2010113437.tif 000023
【図２２】
2010113437.tif 000024
【図２３】
2010113437.tif 000025
【図２４】
2010113437.tif 000026
【図２５】
2010113437.tif 000027