(57)【要約】【課題】バッファ動作により発生するノイズを高精度に解析すること。【解決手段】バッファは、電源端子、グランド端子及び出力端子を備える。バッファの過渡解析を行い、電源端子電流、グランド端子電流及び出力端子電流のそれぞれの波形を算出する。更に、それら波形に基づいて、電源端子から出力端子へ流れるチャージ電流、出力端子からグランド端子へ流れるディスチャージ電流、及び電源端子からグランド端子へ流れるリーク電流のそれぞれの波形を算出する。フーリエ変換を行い、３種類の電流波形のそれぞれの周波数成分を算出した後、ＡＣ解析により得られるインピーダンス周波数特性と掛け合わせることによって、ノイズの周波数成分を算出する。更に、ノイズの周波数成分の逆フーリエ変換を行うことにより、ノイズの波形を算出する。【選択図】図２
2011191813.tif 000002
【特許請求の範囲】
【請求項１】
バッファの動作により発生するノイズを解析するノイズ解析方法であって、
前記バッファは、電源端子、グランド端子及び出力端子を備え、
前記電源端子を流れる電流は、電源端子電流であり、
前記グランド端子を流れる電流は、グランド端子電流であり、
前記出力端子を流れる電流は、出力端子電流であり、
前記電源端子から前記出力端子へ流れる電流は、第１電流であり、
前記出力端子から前記グランド端子へ流れる電流は、第２電流であり、
前記電源端子から前記グランド端子へ流れる電流は、第３電流であり、
前記第１電流が流れる際の前記電源端子と前記グランド端子間のインピーダンスは、第１インピーダンスであり、
前記第２電流が流れる際の前記電源端子と前記グランド端子間のインピーダンスは、第２インピーダンスであり、
前記第３電流が流れる際の前記電源端子と前記グランド端子間のインピーダンスは、第３インピーダンスであり、
前記ノイズ解析方法は、
前記バッファの過渡解析を行い、前記電源端子電流、前記グランド端子電流及び前記出力端子電流のそれぞれの波形を算出するステップと、
前記電源端子電流、前記グランド端子電流及び前記出力端子電流の波形に基づいて、前記第１電流、前記第２電流及び前記第３電流のそれぞれの波形を算出するステップと、
フーリエ変換を行うことによって、前記第１電流、前記第２電流及び前記第３電流のそれぞれの波形の周波数成分を算出するステップと、
前記バッファが搭載されるチップ、前記チップが搭載されるパッケージ、及び前記パッケージが搭載されるボードを含む電源供給網モデルを作成するステップと、
前記電源供給網モデルを用いて周波数解析を行い、前記第１インピーダンス、前記第２インピーダンス及び前記第３インピーダンスのそれぞれの周波数依存性を求めるステップと、
前記第１電流、前記第２電流及び前記第３電流のそれぞれの波形の前記周波数成分と、前記第１インピーダンス、前記第２インピーダンス及び前記第３インピーダンスのそれぞれの前記周波数依存性とを組み合わせることによって、前記ノイズの周波数成分を算出するステップと、
前記ノイズの前記周波数成分の逆フーリエ変換を行うことにより、前記ノイズの波形を算出するステップと
を含む
ノイズ解析方法。
【請求項２】
請求項１に記載のノイズ解析方法であって、
前記電源端子電流、前記グランド端子電流及び前記出力端子電流のそれぞれの前記波形、前記第１電流、前記第２電流及び前記第３電流のそれぞれの前記波形、前記第１電流、前記第２電流及び前記第３電流のそれぞれの波形の前記周波数成分、前記第１インピーダンス、前記第２インピーダンス及び前記第３インピーダンスのそれぞれの前記周波数依存性、及び前記ノイズの前記周波数成分は、異なる種類のバッファ毎に算出される
ノイズ解析方法。
【請求項３】
請求項２に記載のノイズ解析方法であって、
同時に動作するバッファ群が、前記異なる種類のバッファを含み、
前記ノイズの前記周波数成分を算出するステップは、前記異なる種類のバッファのそれぞれの前記ノイズの前記周波数成分を組み合わせることによって、前記バッファ群全体としての前記ノイズの前記周波数成分を算出するステップを含み、
前記ノイズの前記波形を算出するステップは、前記バッファ群全体としての前記ノイズの前記周波数成分の逆フーリエ変換を行い、前記バッファ群全体としての前記ノイズの前記波形を算出するステップを含む
ノイズ解析方法。
【請求項４】
請求項３に記載のノイズ解析方法であって、
バッファの種類がｉで表され、
前記異なる種類のバッファのそれぞれの前記ノイズの前記周波数成分がＶｉ（ｆ）で表され、
前記異なる種類のバッファのそれぞれの数がｎｉで表されるとき、
前記バッファ群全体としての前記ノイズの前記周波数成分は、Ｖｉ（ｆ）×ｎｉの和である
ノイズ解析方法。
【請求項５】
請求項１乃至４のいずれか一項に記載のノイズ解析方法であって、
前記電源端子電流がＩ＿ｖｄｄで表され、
前記グランド端子電流がＩ＿ｇｎｄで表され、
前記出力端子電流がＩ＿ｏｕｔで表され、
前記出力端子電流の絶対値が｜Ｉ＿ｏｕｔ｜で表され、
前記第１電流がＩ＿ｃｈａｒで表され、
前記第２電流がＩ＿ｄｉｓで表され、
前記第３電流がＩ＿ｌｅａｋで表されるとき、
次の式：
Ｉ＿ｌｅａｋ＝（Ｉ＿ｖｄｄ＋Ｉ＿ｇｎｄ−｜Ｉ＿ｏｕｔ｜）／２；
Ｉ＿ｃｈａｒ＝Ｉ＿ｖｄｄ−Ｉ＿ｌｅａｋ；
Ｉ＿ｄｉｓ  ＝Ｉ＿ｇｎｄ−Ｉ＿ｌｅａｋ
に従って、前記第１電流、前記第２電流及び前記第３電流のそれぞれの前記波形が算出される
ノイズ解析方法。
【請求項６】
請求項１乃至５のいずれか一項に記載のノイズ解析方法であって、
更に、前記ノイズの前記波形に基づいて、前記ノイズが所定の範囲内に収まっているか否かを検証するステップを含む
ノイズ解析方法。
【請求項７】
請求項１乃至６のいずれか一項に記載のノイズ解析方法をコンピュータに実行させる
ノイズ解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファ動作により発生するノイズを解析する技術に関する。
【背景技術】
【０００２】
半導体装置の安定動作を実現するためには、製造よりも前の開発段階において、電源ノイズを予め見積もっておき、電源ノイズを許容範囲内に収めておくことが重要である。このようなノイズ解析に関連する技術として、次のものが知られている。
【０００３】
特許文献１（特開２００６−１６３４９４）は、半導体装置の回路設計前に電源ノイズを見積もる設計方法を開示している。その設計方法は、（ａ）半導体装置の仕様に応じて求められる電気的特性に基づいて、該半導体装置の電源供給部から接地電位までの電源供給網モデルを作成し、該電源供給網モデルを周波数解析するステップと、（ｂ）上記仕様に応じて得られる動作電流波形に基づいて周波数解析するステップと、（ｃ）上記周波数解析の結果に応じて、電源供給網モデルの電源ノイズを算出するステップと、を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１６３４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、電流値及び動作周波数に応じて得られる“三角波形”が、近似的に、動作電流波形として用いられる。そして、その三角波形に基づいて電源ノイズの算出が行われる。しかしながら、実際の動作電流波形は、反射波の影響等により、高周波成分を有している。よって、近似的な三角波形を用いていたのでは、動作電流波形のピーク位置が実際のものからずれてしまう。すなわち、ノイズ解析の精度が十分ではない。
【課題を解決するための手段】
【０００６】
本発明の１つの観点において、バッファの動作により発生するノイズを解析するノイズ解析方法が提供される。ここで、バッファは、電源端子、グランド端子及び出力端子を備える。電源端子を流れる電流は、電源端子電流である。グランド端子を流れる電流は、グランド端子電流である。出力端子を流れる電流は、出力端子電流である。電源端子から出力端子へ流れる電流は、第１電流である。出力端子からグランド端子へ流れる電流は、第２電流である。電源端子からグランド端子へ流れる電流は、第３電流である。第１電流が流れる際の電源端子とグランド端子間のインピーダンスは、第１インピーダンスである。第２電流が流れる際の電源端子とグランド端子間のインピーダンスは、第２インピーダンスである。第３電流が流れる際の電源端子とグランド端子間のインピーダンスは、第３インピーダンスである。
【０００７】
ノイズ解析方法は、（Ａ）バッファの過渡解析を行い、電源端子電流、グランド端子電流及び出力端子電流のそれぞれの波形を算出するステップと、（Ｂ）電源端子電流、グランド端子電流及び出力端子電流の波形に基づいて、第１電流、第２電流及び第３電流のそれぞれの波形を算出するステップと、（Ｃ）フーリエ変換を行うことによって、第１電流、第２電流及び第３電流のそれぞれの波形の周波数成分を算出するステップと、（Ｄ）バッファが搭載されるチップ、チップが搭載されるパッケージ、及びパッケージが搭載されるボードを含む電源供給網モデルを作成するステップと、（Ｅ）電源供給網モデルを用いて周波数解析を行い、第１インピーダンス、第２インピーダンス及び第３インピーダンスのそれぞれの周波数依存性を求めるステップと、（Ｆ）第１電流、第２電流及び第３電流のそれぞれの波形の周波数成分と、第１インピーダンス、第２インピーダンス及び第３インピーダンスのそれぞれの周波数依存性とを組み合わせることによって、ノイズの周波数成分を算出するステップと、（Ｇ）ノイズの周波数成分の逆フーリエ変換を行うことにより、ノイズの波形を算出するステップと、を含む。
【０００８】
本発明の他の観点において、上記ノイズ解析方法をコンピュータに実行させるノイズ解析プログラムが提供される。ノイズ解析プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【発明の効果】
【０００９】
本発明によれば、バッファ動作により発生するノイズを高精度に解析することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態に係る半導体装置の設計開発方法を示すフローチャートである。
【図２】図２は、本発明の実施の形態に係るノイズ解析方法を示すフローチャートである。
【図３】図３は、本発明の実施の形態における電流検出回路モデルを示す概念図である。
【図４】図４は、出力バッファに関連する電源端子電流、グランド端子電流、及び出力端子電流のそれぞれの波形の例を示すグラフである。
【図５】図５は、出力バッファに関連するチャージ電流、ディスチャージ電流、及びリーク電流を示す概念図である。
【図６】図６は、チャージ電流、ディスチャージ電流、及びリーク電流のそれぞれの波形の例を示すグラフである。
【図７】図７は、電流周波数成分の例を示すグラフである。
【図８Ａ】図８Ａは、第１インピーダンス算出用の電源供給網モデルの例を示す概念図である。
【図８Ｂ】図８Ｂは、第２インピーダンス算出用の電源供給網モデルの例を示す概念図である。
【図８Ｃ】図８Ｃは、第３インピーダンス算出用の電源供給網モデルの例を示す概念図である。
【図９】図９は、電源供給網モデルの他の例を示す概念図である。
【図１０】図１０は、インピーダンス特性の例を示すグラフである。
【図１１】図１１は、本発明の実施の形態に係るノイズ解析システムの構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
添付図面を参照して、本発明の実施の形態を説明する。
【００１２】
１．設計開発方法
図１は、本実施の形態に係る半導体装置の設計開発方法を示すフローチャートである。図１を参照して、本実施の形態に係る半導体装置の設計開発を俯瞰する。
【００１３】
ステップＳ１００：
まず、半導体装置の仕様が設計される。仕様には、用いられるパッケージの種類、周波数、信号の本数、伝送負荷などが含まれる。
【００１４】
ステップＳ２００：
また、半導体チップにおいて用いられるバッファの設計が行われる。半導体チップは、駆動能力あるいは／及び動作周波数の異なる複数種のバッファを有してもよい。その場合、異なる種類のバッファ毎に設計が行われる。
【００１５】
ステップＳ３００：
次に、バッファ動作により発生する電源ノイズ（以下、「バッファノイズ」と参照される）の解析が行われる。このバッファノイズ解析では、半導体装置の仕様、半導体チップにおいて用いられるバッファの種類及び数が入力として用いられ、バッファノイズの見積もりが行われる。更に、見積もられたバッファノイズの波形に基づいて、バッファノイズが適正な範囲内に収まっている否かが検証される。バッファの駆動能力が大き過ぎると、その分バッファノイズも大きくなる。従って、バッファノイズを検証することは、バッファの駆動能力が適正か否かを調べることを意味する。ステップＳ３００の詳細は後述される。
【００１６】
ステップＳ４００：
検証結果がＮＧの場合（ステップＳ４００；Ｎｏ）、処理は前に戻る。例えば、処理はステップＳ１００に戻り、パッケージの種類やボードの種類が再検討される。あるいは、処理はステップＳ２００に戻り、バッファ構成（トランジスタサイズ、回路定数など）が再検討される。一方、検証結果がＯＫの場合（ステップＳ４００；Ｙｅｓ)、半導体装置の仕様、半導体チップにおいて用いられるバッファの種類及び数が決まる。その後、処理はステップＳ５００へ進む。
【００１７】
ステップＳ５００：
半導体チップの回路設計が行われる。この回路設計工程は、一般的なものであり、論理合成、自動レイアウト、設計検証等を含む。回路設計工程では、上記決定したバッファの種類及び数が用いられる。
【００１８】
ステップＳ６００：
設計された半導体チップが製造される。更に、上記パッケージ種類に従って、半導体チップがパッケージングされる。更に、半導体パッケージがボードに搭載される。このようにして、半導体装置が完成する。
【００１９】
２．バッファノイズ解析（ステップＳ３００）
以下、本実施の形態に係るバッファノイズ解析（ステップＳ３００）を詳細に説明する。本実施の形態に係るバッファノイズ解析は、特に、半導体チップのＩ／Ｏ領域におけるＩ／Ｏバッファ（入出力バッファ）に適用されると好適である。例として、ノイズが大きい出力バッファに関するノイズ解析を説明する。図２は、本実施の形態に係るノイズ解析方法を示すフローチャートである。
【００２０】
ステップＳ３１０：
ステップＳ３１０では、バッファ情報ＢＵＦに基づいて、電流検出回路モデルＣＤＭが作成される。バッファ情報ＢＵＦは、出力バッファの特性や構成を示す情報であり、上述のステップＳ２００において作成される。このバッファ情報ＢＵＦは、駆動能力あるいは／及び動作周波数の異なる複数種の出力バッファ毎に作成される。電流検出回路モデルＣＤＭは、出力バッファの動作に関連する電流を検出するための過渡解析において用いられる回路モデルである。
【００２１】
図３は、電流検出回路モデルＣＤＭの一例を概念的に示している。電流検出回路モデルＣＤＭは、出力バッファ１０及び負荷２０を含んでいる。出力バッファ１０は、電源端子１１、グランド端子１２、出力端子１３及び入力端子を備えている。電源端子１１は電源に接続されており、電源端子１１には電源電圧Ｖｄｄが供給される。グランド端子１２はグランドに接続されており、グランド端子１２にはグランド電圧Ｇｎｄが供給される。出力端子１３は、負荷２０を介して、グランドに接続されている。入力端子には電圧パルスが入力される。このような電流検出回路モデルＣＤＭが、バッファ情報ＢＵＦに基づいて、異なる種類の出力バッファ１０毎に作成される。
【００２２】
ステップＳ３２０：
ステップＳ３２０では、まず、上述の電流検出回路モデルＣＤＭを用いることによって出力バ1ッファ１０の「過渡解析」が行われる。より詳細には、電流検出回路モデルＣＤＭを用いて過渡解析を行うことにより、出力バッファ１０に関連する３種類の電流、すなわち電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ、及び出力端子電流Ｉ＿ｏｕｔのそれぞれの“波形”が算出される（図３参照）。ここで、電源端子電流Ｉ＿ｖｄｄは電源端子１１を流れる電流であり、グランド端子電流Ｉ＿ｇｎｄはグランド端子１２を流れる電流であり、出力端子電流Ｉ＿ｏｕｔは出力端子１３を流れる電流である。
【００２３】
図４は、入力電圧パルスに応じた、電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ、及び出力端子電流Ｉ＿ｏｕｔのそれぞれの波形の一例を示している。出力端子電流Ｉ＿ｏｕｔに関しては、負荷２０に向かう方向に流れるものが正値をとり、負荷２０からバッファ１０に流れ込むものが負値をとる。このような３種類の電流のそれぞれの波形が、異なる種類の出力バッファ１０毎に算出される。
【００２４】
その一方で、図５に示されるように、出力バッファ１０に関して次の３種類の電流：チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ、及びリーク電流Ｉ＿ｌｅａｋも定義され得る。チャージ電流Ｉ＿ｃｈａｒ（第１電流）は、電源端子１１から出力端子１３に流れる電流である。ディスチャージ電流Ｉ＿ｄｉｓ（第２電流）は、出力端子１３からグランド端子１２に流れる電流である。リーク電流Ｉ＿ｌｅａｋ（第３電流）は、電源端子１１からグランド端子１２に流れる電流である。上述の電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ及び出力端子電流Ｉ＿ｏｕｔと、これらチャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋとの間には、次の式（１）で表される関係がある。
【００２５】
【数１】
2011191813.tif 000003
【００２６】
また、チャージ電流Ｉ＿ｃｈａｒとディスチャージ電流Ｉ＿ｄｉｓが同時には発生することはない。そのため、出力端子電流Ｉ＿ｏｕｔの絶対値｜Ｉ＿ｏｕｔ｜は、次の式（２）で表され得る。
【００２７】
【数２】
2011191813.tif 000004
【００２８】
上記式（１）及び（２）から、次の式（３）が得られる。
【００２９】
【数３】
2011191813.tif 000005
【００３０】
上記式（３）に示されるように、チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋを、電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ及び出力端子電流Ｉ＿ｏｕｔから算出することが可能である。ステップＳ３２０では、この式（３）に従って、電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ及び出力端子電流Ｉ＿ｏｕｔの波形から、チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの波形が算出される。
【００３１】
出力バッファ１０の電源端子１１とグランド端子１２との間には、半導体装置の電源供給網の寄生成分と電流によって、電圧変動（ノイズ）が生じる。その電源端子１１とグランド端子１２との間の電圧変動に寄与する電流は、リーク電流Ｉ＿ｌｅａｋだけでなく、チャージ電流Ｉ＿ｃｈａｒとディスチャージ電流Ｉ＿ｄｉｓも含む。つまり、リーク電流Ｉ＿ｌｅａｋだけを考慮していては、正確にノイズを算出することができない。そのため、本実施の形態では、３種類の電流Ｉ＿ｃｈａｒ、Ｉ＿ｄｉｓ及びＩ＿ｌｅａｋが考慮されるのである。
【００３２】
図６は、上記図４で示された例の場合に算出される、チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの波形を示している。図４及び図６に示されるように、過渡解析の結果得られた電源端子電流Ｉ＿ｖｄｄ、グランド端子電流Ｉ＿ｇｎｄ及び出力端子電流Ｉ＿ｏｕｔの波形が、チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの成分に分離されている。このような３種類の電流のそれぞれの波形が、異なる種類の出力バッファ１０毎に算出される。
【００３３】
電流波形情報ＩＷＦは、このようにして算出されたチャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの波形を示す。電流波形情報ＩＷＦは、異なる種類の出力バッファ１０毎に作成される。
【００３４】
ステップＳ３３０：
ステップＳ３３０では、電流波形情報ＩＷＦで示されるチャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの波形に対して、「フーリエ変換」が実施される。その結果、チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ及びリーク電流Ｉ＿ｌｅａｋのそれぞれの波形の周波数成分（周波数毎の振幅及び位相）が算出される。チャージ電流Ｉ＿ｃｈａｒの波形の周波数成分はＩ＿ｃｈａｒ（ｆ）であり、ディスチャージ電流Ｉ＿ｄｉｓの波形の周波数成分はＩ＿ｄｉｓ（ｆ）であり、リーク電流Ｉ＿ｌｅａｋの波形の周波数成分はＩ＿ｌｅａｋ（ｆ）である。図７は、ある電流波形の周波数成分を概念的に示しており、横軸が周波数、縦軸が振幅を表している。
【００３５】
電流周波数成分情報ＩＦＲは、それぞれの波形に関して算出された周波数成分Ｉ＿ｃｈａｒ（ｆ）、Ｉ＿ｄｉｓ（ｆ）、及びＩ＿ｌｅａｋ（ｆ）を示す。周波数成分は、周波数毎の振幅と位相を含む。典型的には、電流周波数成分情報ＩＦＲはテキスト形式で与えられる。振幅と位相は、複素数形式で表されてもよいし、極形式で表されてもよい。このような電流周波数成分情報ＩＦＲが、異なる種類の出力バッファ１０毎に作成される。
【００３６】
尚、ステップＳ３１０〜Ｓ３３０は、複数種類の出力バッファ１０の各々に対して、１回だけ実行されていればよい。作成された電流波形情報ＩＷＦや電流周波数成分情報ＩＦＲは、データベース化され、必要に応じて適宜利用される。
【００３７】
ステップＳ３４０：
ステップＳ３４０では、バッファ情報ＢＵＦ及び仕様情報ＳＰＣに基づいて、電源供給網モデルＰＳＭが作成される。仕様情報ＳＰＣは、設計対象の半導体装置の仕様を示す情報であり、上述のステップＳ１００において作成される。仕様には、用いられるパッケージの種類、周波数、信号の本数、伝送負荷などが含まれる。
【００３８】
電源供給網モデルＰＳＭは、半導体装置における電源供給網のモデルであり、次のステップＳ３５０においてインピーダンス算出に用いられる。電源供給網モデルＰＳＭは、図８Ａ〜図８Ｃにそれぞれ示されるような３種類の電源供給網モデルＰＳＭ１〜ＰＳＭ３を含む。電源供給網モデルＰＳＭ１〜ＰＳＭ３の各々は、出力バッファ１０が搭載される半導体チップ、その半導体チップが搭載されるパッケージ、及びそのパッケージが搭載されるボードにおける電源供給網を含んでいる。
【００３９】
出力バッファ１０に関して、抵抗Ｒと容量Ｃからなる等価モデル１０’が用いられている。この等価モデル１０’は、解析対象の出力バッファ１０に関するバッファ情報ＢＵＦに基づいて作成可能である。等価モデル１０’は、電源端子１１に相当するノードＡと、グランド端子１２に相当するノードＢとの間に接続されている。負荷２０は、抵抗Ｒと容量Ｃとの間の接続点に接続されている。尚、図９に示されるように、等価モデル１０’（ＲＣモデル）の代わりに、出力バッファ１０（トランジスタモデル）そのものが用いられてもよい。
【００４０】
交流電源３０は、電源供給網に対して様々な周波数の交流電流（ＡＣ：１Ａ）を供給する。図８Ａで示される電源供給網モデルＰＳＭ１において、交流電源３０は、電源端子１１に相当するノードＡとグランドとの間に接続されている。図８Ｂで示される電源供給網モデルＰＳＭ２において、交流電源３０は、グランド端子１２に相当するノードＢとグランドとの間に接続されている。図８Ｃで示される電源供給網モデルＰＳＭ３において、交流電源３０は、電源端子１１に相当するノードＡと、グランド端子１２に相当するノードＢとの間に接続されている。
【００４１】
尚、電源供給網モデルＰＳＭ（ＰＳＭ１〜ＰＳＭ３）は、異なる種類の出力バッファ１０毎に作成される。
【００４２】
ステップＳ３５０：
ステップＳ３５０では、上述の電源供給網モデルＰＳＭ（ＰＳＭ１〜ＰＳＭ３）を用いることによって「周波数解析（ＡＣ解析）」が行われる。より詳細には、電源供給網モデルＰＳＭ（ＰＳＭ１〜ＰＳＭ３）を用いてＡＣ解析を行うことにより、ノードＡとノードＢとの間のインピーダンス（電圧変動特性）の周波数依存性が算出される。インピーダンスは、ノードＡ（電源端子１１）とノードＢ（グランド端子１２）との間の電圧を電流値で割ることにより求められる。図１０は、インピーダンスの周波数依存性の例を概念的に示しており、横軸が周波数、縦軸がインピーダンスを表している。
【００４３】
図８Ａで示される電源供給網モデルＰＳＭ１において、交流電源３０は、電源端子１１に相当するノードＡとグランドとの間に接続されている。この電源供給網モデルＰＳＭ１を用いたＡＣ解析により、上記チャージ電流Ｉ＿ｃｈａｒが流れる場合のノードＡとノードＢとの間の第１インピーダンスＺ＿ｃｈａｒの周波数依存性Ｚ＿ｃｈａｒ（ｆ）が算出される。
【００４４】
図８Ｂで示される電源供給網モデルＰＳＭ２において、交流電源３０は、グランド端子１２に相当するノードＢとグランドとの間に接続されている。この電源供給網モデルＰＳＭ２を用いたＡＣ解析により、上記ディスチャージ電流Ｉ＿ｄｉｓが流れる場合のノードＡとノードＢとの間の第２インピーダンスＺ＿ｄｉｓの周波数依存性Ｚ＿ｄｉｓ（ｆ）が算出される。
【００４５】
図８Ｃで示される電源供給網モデルＰＳＭ３において、交流電源３０は、電源端子１１に相当するノードＡと、グランド端子１２に相当するノードＢとの間に接続されている。この電源供給網モデルＰＳＭ３を用いたＡＣ解析により、上記リーク電流Ｉ＿ｌｅａｋが流れる場合のノードＡとノードＢとの間の第３インピーダンスＺ＿ｌｅａｋの周波数依存性Ｚ＿ｌｅａｋ（ｆ）が算出される。
【００４６】
インピーダンス情報ＩＭＰは、第１〜第３インピーダンスのそれぞれの周波数依存性Ｚ＿ｃｈａｒ（ｆ）、Ｚ＿ｄｉｓ（ｆ）、及びＺ＿ｌｅａｋ（ｆ）を示す。周波数成分は、周波数毎の振幅と位相を含む。典型的には、インピーダンス情報ＩＭＰはテキスト形式で与えられる。振幅と位相は、複素数形式で表されてもよいし、極形式で表されてもよい。このようなインピーダンス情報ＩＭＰが、異なる種類の出力バッファ１０毎に作成される。
【００４７】
ステップＳ３６０：
出力バッファ１０の電源端子１１とグランド端子１２との間には、半導体装置の電源供給網の寄生成分と電流によって、電圧変動（ノイズ）が生じる。その電源端子１１とグランド端子１２との間の電圧変動に寄与する電流は、リーク電流Ｉ＿ｌｅａｋだけでなく、チャージ電流Ｉ＿ｃｈａｒとディスチャージ電流Ｉ＿ｄｉｓも含む。つまり、リーク電流Ｉ＿ｌｅａｋだけを考慮していては、正確にノイズを算出することができない。そのため、本実施の形態では、３種類の電流Ｉ＿ｃｈａｒ、Ｉ＿ｄｉｓ及びＩ＿ｌｅａｋが考慮される。
【００４８】
ステップＳ３６０では、上述の電流周波数成分情報ＩＦＲとインピーダンス情報ＩＭＰに基づいて、バッファノイズの周波数成分が算出される。つまり、３種類の電流波形のそれぞれの周波数成分Ｉ＿ｃｈａｒ（ｆ）、Ｉ＿ｄｉｓ（ｆ）及びＩ＿ｌｅａｋ（ｆ）と、３種類のインピーダンスのそれぞれの周波数依存性Ｚ＿ｃｈａｒ（ｆ）、Ｚ＿ｄｉｓ（ｆ）及びＺ＿ｌｅａｋ（ｆ）とを組み合わせることによって、バッファノイズの周波数成分が算出される。１個の出力バッファ１０に関して、バッファノイズの周波数成分Ｖ（ｆ）は、次の式（４）で表される。
【００４９】
【数４】
2011191813.tif 000006
【００５０】
同時に動作する複数の出力バッファ１０からなるバッファ群全体に関しても、バッファノイズの周波数成分を算出することができる。具体的には、同時に動作する複数種類の出力バッファ１０−ｉのそれぞれに関し、上記式（４）に従ってバッファノイズの周波数成分Ｖｉ（ｆ）が算出される。ここで、ｉはバッファ種類を表す。また、同時に動作する複数種類の出力バッファ１０−ｉのそれぞれの数がｎｉであるとする。これらの数ｎｉは、同時スイッチング情報ＳＷＮにより与えられる。この場合、バッファ群全体としてのバッファノイズの周波数成分Ｖ＿ａｌｌ（ｆ）は、次の式（５）で表される。
【００５１】
【数５】
2011191813.tif 000007
【００５２】
このように、異なる種類のバッファ１０−ｉのそれぞれのノイズ周波数成分Ｖｉ（ｆ）を組み合わせることによって、バッファ群全体としてのノイズ周波数成分Ｖ＿ａｌｌ（ｆ）を簡単に算出することができる。数ｎｉに変更が生じた場合でも、式（５）を用いることによって、バッファ群全体としてのノイズ周波数成分Ｖ＿ａｌｌ（ｆ）を即座に更新することができる。
【００５３】
ノイズ周波数成分情報ＮＦＲは、このようにして算出されたバッファノイズの周波数成分Ｖ（ｆ）あるいはＶ＿ａｌｌ（ｆ）を示す。
【００５４】
ステップＳ３７０：
次に、ノイズ周波数成分情報ＮＦＲで示されるバッファノイズの周波数成分Ｖ（ｆ）あるいはＶ＿ａｌｌ（ｆ）に対して、「逆フーリエ変換」が実施される。その結果、バッファノイズの波形が算出される。つまり、時間ドメインでのバッファノイズの電圧値が得られる。バッファノイズの周波数成分Ｖ（ｆ）の逆フーリエ変換が行われた場合、当該１つの出力バッファ１０に関するバッファノイズの波形が得られる。バッファノイズの周波数成分Ｖ＿ａｌｌ（ｆ）の逆フーリエ変換が行われた場合、同時に動作するバッファ群全体としてのバッファノイズの波形が得られる。ノイズ波形情報ＮＷＦは、算出されたバッファノイズの波形を示す。
【００５５】
ステップＳ３８０：
次に、ノイズ波形情報ＮＷＦに基づいて、バッファノイズの検証が行われる。具体的には、算出されたバッファノイズの波形に基づいて、バッファノイズの振幅が適正な範囲内に収まっている否かが検証される。その後、検証結果に応じて、設計変更等が行われる。
【００５６】
３．議論と効果
上記特許文献１では、電流値及び動作周波数に応じて近似的に得られる“三角波形”が、動作電流波形として用いられる。そして、その三角波形に基づいて電源ノイズの算出が行われる。しかしながら、実際には、反射波の影響等により、動作電流波形は高周波成分を有する。近似的な三角波形を用いていたのでは、動作電流のピーク位置が実際のものからずれる。これは、ノイズ解析精度を悪化させる。
【００５７】
一方、本実施の形態によれば、過渡解析の結果から、出力バッファ１０に関連する３種類の電流（チャージ電流Ｉ＿ｃｈａｒ、ディスチャージ電流Ｉ＿ｄｉｓ、リーク電流Ｉ＿ｌｅａｋ）のそれぞれの波形が算出される。そして、それら３種類の電流波形を用いることによって、バッファノイズが算出される。従って、バッファノイズの解析精度が極めて高くなる。
【００５８】
ここで、例として、内部論理回路中のバッファノイズを考える。内部論理回路では、バッファの出力端子に接続される容量成分は数ｆＦ〜数百ｆＦと小さく、出力端子電流はリーク電流に比べて非常に小さい。つまり、内部論理回路では、リーク電流が支配的である。よって、内部論理回路のノイズ解析では、リーク電流だけを考慮すれば十分であるかもしれない。
【００５９】
しかしながら、Ｉ／Ｏ領域中の出力バッファ１０の場合、出力端子１３に接続される負荷の総容量は一般的に数ｐＦ〜数十ｐＦであり、出力端子電流Ｉ＿ｏｕｔも無視できない大きさとなる。つまり、リーク電流Ｉ＿ｌｅａｋだけでなく、チャージ電流Ｉ＿ｃｈａやディスチャージ電流Ｉ＿ｄｉｓも大きく、それら全てがバッファノイズに大きく寄与する。更に、これら３種類の電流によって生じるバッファノイズ波形は、それら３種類の電流の相対的なタイミングに依存して変わる。従って、本実施の形態のように、過渡解析を通してそれら３種類の電流波形を算出することが好ましい。その意味で、本発明は、Ｉ／Ｏ領域中の出力バッファ１０のノイズ解析に適用されることが好適である。但し、本発明はそれに限定されない。
【００６０】
また、本実施の形態によれば、設計変更に容易に対応することが可能である。それは、電流周波数成分情報ＩＦＲやインピーダンス情報ＩＭＰが、異なる種類のバッファ毎に作成されているからである。
【００６１】
例として、同時に動作する複数種類の出力バッファ１０−ｉの数ｎｉが変更された場合を考える。この場合、同時スイッチング数情報ＳＷＮを変更するだけでよい。電流周波数成分情報ＩＦＲ、インピーダンス情報ＩＭＰ、変更後の同時スイッチング数情報ＳＷＮ、及び上記式（５）を用いることによって、ノイズ周波数成分Ｖ＿ａｌｌ（ｆ）を即座に更新することができる。
【００６２】
他の例として、パッケージの種類が変更された場合を考える。この場合は、変更後のパッケージ種類に応じて、インピーダンス情報ＩＭＰだけを更新すればよい。電流周波数成分情報ＩＦＲを更新する必要がないため、時間のかかる過渡解析を行う必要はない。上述の通り、インピーダンス情報ＩＭＰはＡＣ解析を通して作成されるが、ＡＣ解析は過渡解析と比べてはるかに高速に行うことができる。従って、バッファノイズ解析を高速に完了させることができる。
【００６３】
更に他の例として、製品で用いる出力バッファ１０の種類を変更したい場合を考える。この場合でも、用いたい出力バッファ１０に関する電流周波数成分情報ＩＦＲが既に作成されていれば、改めて過渡解析を行う必要はない。過渡解析を含むステップＳ３１０〜Ｓ３３０（図２参照）は、様々な種類の出力バッファ１０に対して、前もって１回だけ実行されていればよい。そして、様々な種類の出力バッファ１０に関する電流周波数成分情報ＩＦＲがデータベース化され、必要に応じて適宜利用されるとよい。
【００６４】
４．ノイズ解析システム
本実施の形態に係るノイズ解析処理は、コンピュータシステムにより実現され得る。図１１は、本実施の形態に係るノイズ解析処理を行うノイズ解析システム１００（コンピュータシステム）の構成例を示すブロック図である。ノイズ解析システム１００は、処理装置１１０及び記憶装置１２０を備えている。処理装置１１０は、ＣＰＵ（Central Processing Unit）を含む。記憶装置１２０は、ＨＤＤ（Hard Disk Drive）やＲＡＭ（Random Access Memory）を含む。
【００６５】
記憶装置１２０には、バッファ情報ＢＵＦ、仕様情報ＳＰＣ、電流検出回路モデルＣＤＭ、電流波形情報ＩＷＦ、電流周波数成分情報ＩＦＲ、電源供給網モデルＰＳＭ、インピーダンス情報ＩＭＰ、同時スイッチング数情報ＳＷＮ、ノイズ周波数成分情報ＮＦＲ、ノイズ波形情報ＮＷＦ、及びノイズ解析プログラムＰＲＯＧが格納される。
【００６６】
ノイズ解析プログラムＰＲＯＧは、処理装置１１０によって実行されるソフトウェアプログラムである。ノイズ解析プログラムＰＲＯＧは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００６７】
処理装置１１０は、ノイズ解析プログラムＰＲＯＧを実行することにより、本実施の形態に係るノイズ解析処理を実行する。具体的には、処理装置１１０は、ステップＳ３１０を実行する電流検出回路モデル作成部１３１、ステップＳ３２０を実行する電流波形解析部１３２、ステップＳ３３０を実行するフーリエ変換部１３３、ステップＳ３４０を実行する電源供給網モデル作成部１３４、ステップＳ３５０を実行するインピーダンス解析部１３５、ステップＳ３６０を実行するノイズ周波数成分算出部１３６、ステップＳ３７０を実行する逆フーリエ変換部１３７、及びステップＳ３８０を実行する検証部１３８といった機能ブロックを備える。各機能ブロックは、必要な情報を記憶装置１２０から読み出し、また作成した情報を記憶装置１２０に格納する。これにより、本実施の形態に係るノイズ解析処理が実現される。
【００６８】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００６９】
１０    出力バッファ
１０’  等価モデル
１１    電源端子
１２    グランド端子
１３    出力端子
２０    負荷
３０    交流電源
１００    ノイズ解析システム
１１０    処理装置
１２０    記憶装置
１３１    電流検出回路モデル作成部
１３２    電流波形解析部
１３３    フーリエ変換部
１３４    電源供給網モデル作成部
１３５    インピーダンス解析部
１３６    ノイズ周波数成分算出部
１３７    逆フーリエ変換部
１３８    検証部
ＢＵＦ    バッファ情報
ＳＰＣ    仕様情報
ＣＤＭ    電流検出回路モデル
ＩＷＦ    電流波形情報
ＩＦＲ    電流周波数成分情報
ＰＳＭ、ＰＳＭ１、ＰＳＭ２、ＰＳＭ３    電源供給網モデル
ＩＭＰ    インピーダンス情報
ＳＷＮ    同時スイッチング数情報
ＮＦＲ    ノイズ周波数成分情報
ＮＷＦ    ノイズ波形情報
ＰＲＯＧ  ノイズ解析プログラム
Ｉ＿ｖｄｄ    電源端子電流
Ｉ＿ｇｎｄ    グランド端子電流
Ｉ＿ｏｕｔ    出力端子電流
Ｉ＿ｃｈａｒ  チャージ電流（第１電流）
Ｉ＿ｄｉｓ    ディスチャージ電流（第２電流）
Ｉ＿ｌｅａｋ  リーク電流（第３電流）
Ｚ＿ｃｈａｒ  第１インピーダンス
Ｚ＿ｄｉｓ    第２インピーダンス
Ｚ＿ｌｅａｋ  第３インピーダンス
【図１】
2011191813.tif 000008
【図２】
2011191813.tif 000009
【図３】
2011191813.tif 000010
【図４】
2011191813.tif 000011
【図５】
2011191813.tif 000012
【図６】
2011191813.tif 000013
【図７】
2011191813.tif 000014
【図８Ａ】
2011191813.tif 000015
【図８Ｂ】
2011191813.tif 000016
【図８Ｃ】
2011191813.tif 000017
【図９】
2011191813.tif 000018
【図１０】
2011191813.tif 000019
【図１１】
2011191813.tif 000020