(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行されるノイズ見積り方法であって、該コンピュータが、
記憶領域に格納されるＬＳＩの基板の電気的特性に係るプロセスパラメータに基づき、該ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算する算出手順と、
前記計算した基板抵抗を有する前記ＬＳＩの基板の等価回路を生成する生成手順と、
生成した前記ＬＳＩの基板の等価回路に前記複数の回路ブロックそれぞれにおける時間依存の消費電流データを付加した回路のシミュレーション結果に基づき回路ブロック毎のノイズを見積もる回路シミュレーション手順と
を実行することを特徴とするノイズ見積り方法。
【請求項２】
各回路ブロック内の抵抗値をゼロとすることを特徴とする請求項１記載のノイズ見積り方法。
【請求項３】
前記複数の回路ブロックには、少なくとも２以上のデジタル回路と少なくとも１つのアナログ回路とが含まれることを特徴とする請求項１又は２記載のノイズ見積り方法。
【請求項４】
前記コンピュータが、
回路ブロック毎に、回路シミュレーションによって得られたノイズ量を回路ブロックの領域に対応させて表示ユニットに表示させるノイズ分布表示手順を実行することを特徴とする請求項１乃至３のいずれか一項記載のノイズ見積り方法。
【請求項５】
ＬＳＩの基板の電気的特性に係るプロセスパラメータを記憶する記憶領域と、
前記プロセスパラメータに基づき、ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算する算出手段と、
前記計算した基板抵抗を有する前記ＬＳＩの基板の等価回路を生成する生成手段と、
生成した前記ＬＳＩの基板の等価回路に前記複数の回路ブロックそれぞれにおける時間依存の消費電流データを付加した回路のシミュレーション結果に基づき回路ブロック毎のノイズを見積もる回路シミュレーション手段と
を有することを特徴とするノイズ見積り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩに搭載される回路ブロックのノイズを見積もることに関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration）開発において、ＡＤ（Analog to Digital）コンバータ、ＤＡ（Digital to Analog）コンバータ、ＲＦ（Radio Frequency）回路などの所謂アナログ回路と、デジタル回路とが１チップに集積されるミックスドシグナルＳＯＣ（System On Chip）が開発されるようになってきている。
【０００３】
ミックスドシグナルＳＯＣでは、デジタル回路に比べて小さな振幅で動作するアナログ回路（Victim）は、ノイズに対する耐性が低く、デジタル回路（Aggressor）で発生しシリコン基板を介して伝播するノイズの影響を受け易いため、受けるノイズの大きさをシミュレーションにより解析することが行われている。
【０００４】
例えば、レイアウトデータからノイズの影響を受けるアナログ回路（Victim）に最も近いコンタクトを抽出し、それ以外のコンタクトを計算対象から除外した電源ノイズ解析モデルを作成してシミュレーションを行うことによりノイズ量を見積もること、また、電源ノイズ解析を高速化するためにレイアウトデータを用いて電源配線層をモデル化すること等が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０８７８３号公報
【特許文献２】特開２００８−１１２２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した従来技術は、各素子の配置配線に係る情報を含むレイアウトデータを用いて電源ノイズ解析の処理負担を軽減するものであり、また、デジタル回路（Aggressor）とアナログ回路（Victim）の関係は１対１を前提としている。つまり、ノイズ伝播経路は、デジタル回路（Aggressor）とアナログ回路（Victim）間のシリコン基板を介した経路のみを対象とすれば良かった。
【０００７】
デジタル回路（Aggressor）とアナログ回路（Victim）とが１チップに一対のみ集積されている場合には、上記従来技術でも精度良くノイズ量を見積もることが可能であった。しかしながら、近年のＳＯＣでは複数の電源分離された回路が１チップに集積されるようになってきている。その場合、ノイズ伝播経路は、上記以外に、複数のデジタル回路、及び、AggressorとVictimとは電源領域が通常分離されていることにより、回路間ではシリコン基板を介して伝播される複数の経路が考慮されなければならない。
【０００８】
例えば、デジタル回路（Aggressor）とアナログ回路（Victim）の一対を前提とした上記従来技術では、このような近年のＳＯＣの構成に対応することができないため、ノイズの伝播量が本来よりも小さく見積もられてしまうと言った問題があった。
【０００９】
更に、各素子の配置配線段階より初期の設計段階で、アナログ回路（Victim）におけるノイズ量を予測できることが望ましいが、初期の設計段階ではレイアウトデータを用いることができないため、上述した複数のノイズ伝播経路、及び、それら経路によるノイズ量を効果的に見積もることができなかった。
【課題を解決するための手段】
【００１０】
開示の技術は、コンピュータによって実行されるノイズ見積り方法であって、該コンピュータが、記憶領域に格納されるＬＳＩの基板の電気的特性に係るプロセスパラメータに基づき、該ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算する算出手順と、前記計算した基板抵抗を有する前記ＬＳＩの基板の等価回路を生成する生成手順と、生成した前記ＬＳＩの基板の等価回路に前記複数の回路ブロックそれぞれにおける時間依存の消費電流データを付加した回路のシミュレーション結果に基づき回路ブロック毎のノイズを見積もる回路シミュレーション手順とを実行することを特徴とするノイズ見積り方法のように構成される。
【発明の効果】
【００１１】
開示の技術では、複数の回路ブロック間の基板抵抗を有する等価回路を用いてチップ内ネットリストを生成するため、回路シミュレーションによって、複数の回路ブロックを搭載するＬＳＩにおける、近接回路ブロックの電源配線を経由して伝播するノイズを精度良く見積もることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例の原理を説明するための図である。
【図２】回路を経由して伝播するノイズを等価回路で表した例を示す図である。
【図３】ノイズ見積り装置のハードウェア構成を示す図である。
【図４】本実施例に係る機能構成例を示す図である。
【図５】フロアプランデータの一例を示す図である。
【図６】モジュール毎消費電流データの一例を示す図である。
【図７】ＰＫＧネットリストの一例を示す図である。
【図８】チップ内ネットリスト生成部での処理を説明するための図である。
【図９】全体ネットリスト生成部での処理を説明するための図である。
【図１０】本実施例に係る解析モデルの一例を示す図である。
【図１１】図１０に例示される解析モデルを用いた回路シミュレーションによるノイズ分布の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例では、モジュール内の素子の配置配線に係る情報を得られていない初期の設計段階で、複数のデジタル回路と、少なくとも１つのアナログ回路とが１チップに集積されたＳＯＣにおいて、ノイズ源となるデジタル回路（Aggressor）からノイズを受けるアナログ回路（Victim）までの複数のノイズ伝播経路を考慮してノイズ量を見積もることを可能とする。
【００１４】
図１は、本実施例の原理を説明するための図である。図１において、ＬＳＩ５は、回路（Aggressor）１と、回路（Victim）２と、回路１０と、回路１１とを有する。回路１、１０、及び１１はデジタル回路であり、回路２はアナログ回路である。本実施例では、以下同様の図において、回路１をノイズ源となるAggressorとし、回路２をノイズ源からノイズを受けるVictimとして説明する。
【００１５】
本実施例では、第１に、回路（Aggressor）１から他全回路２、１０、及び１１に対してシリコン基板（以下、単に基板と言う）のインピーダンスを求める。回路（Aggressor）１と回路（Victim）２の間の基板抵抗３、回路（Aggressor）１と回路１０の間の基板抵抗２０、そして、回路（Aggressor）１と回路１１の間の基板抵抗２１を計算する。
【００１６】
第２に、回路（Victim）２から他全回路１、１０、及び１１に対してシリコン基板のインピーダンスを求める。回路（Victim）２と回路（Aggressor）１の間の基板抵抗３、回路（Victim）２と回路１０の間の基板抵抗２２、そして、回路（Victim）２と回路１１の間の基板抵抗２３を計算する。
【００１７】
各基板抵抗は、予め用意されたプロセスパラメータを用いた下記計算式（１）を用いて、回路間のメッシュ分割した全ての矩形領域について計算することにより得られる（特許文献１を参照のこと）。
【００１８】
ρ×Ｘ／Ｙ・Ｚ            （１）
ρは低効率、Ｘはメッシュサイズを規定する行方向の長さ、Ｙはメッシュサイズを規定する列方向の長さ、Ｚはシリコン基板の表面からのノイズ伝播に関わる実効的な深さを表す。
【００１９】
第３に、回路（Aggressor）１から回路（Victim）２へのノイズ伝播経路上にある各回路１０及び１１内の抵抗値をゼロとし、等価回路を組む。図１に示すＬＳＩ５の構成におけるノイズ伝播経路は、３つの経路Ｋ１、Ｋ２、及びＫ３が存在する。
【００２０】
経路Ｋ１は、回路（Aggressor）１から基板を介して回路（Victim）２へ伝播する経路である。経路Ｋ３は、回路（Aggressor）１から基板を介して回路１２内を伝播し、更に基板を介して回路（Victim）２へ伝播する経路である。経路Ｋ３は、回路（Aggressor）１から基板を介して回路１１内を伝播し、更に基板を介して回路（Victim）２へ伝播する経路である。経路Ｋ２にある回路１０及び経路Ｋ３にある回路１１の抵抗値をゼロとし、等価回路を組む。
【００２１】
第４に、作成した等価回路をシミュレーションして伝播されるノイズ量を見積もる。
【００２２】
上述した経路Ｋ２及びＫ３において回路内の電源配線を経由して伝播するノイズのインピーダンスについて図２で説明する。図２は、回路を経由して伝播するノイズを等価回路で表した例を示す図である。
【００２３】
経路Ｋ２における回路（Aggressor）１から回路１０へのノイズ伝播は、回路（Aggressor）１と回路１０とが夫々電源分離されていることから、基板抵抗２０を計算すればよい。回路１０から回路（Victim）２へのノイズ伝播も同様に、基板抵抗２２を計算すればよい。
【００２４】
次に、回路１０内の回路（Aggressor）１側から回路（Victim）２側への伝播（図中、上から下方向）について考える。この場合には２つの伝播パスがある。回路１０内の電源配線を伝わるパスと、回路１０直下の基板を伝わるパスである。一般に、電源配線のインピーダンスの方が基板に対して２桁以上小さいので、電源配線のインピーダンスが支配要因となる。ところが、この電源配線のインピーダンスは前述の基板抵抗２０、２２と比して一般に２桁程小さいことが知られており、無視できる値である。従って、回路内抵抗２５ａを０Ωとすることができる。
【００２５】
回路１１を経由するノイズについても同様に計算できる。つまり、回路１１の回路内抵抗２５ｂを０Ωとして良い。
【００２６】
従って、本来ならば、基板抵抗３、２０、２１、２２、及び２３と、回路内抵抗２５ａ及び２５ｂに相当する等価回路（図２）を作成してシミュレーションを行うことになるが、本実施例では、基板抵抗３、２０、２１、２２、及び２３に相当する等価回路のみ（図１）を作成してシミュレーションを行う。
【００２７】
上述したようなシリコン基板を経由して伝播するノイズを見積もるノイズ見積り装置は、図３に示すようなハードウェア構成を有する。図３は、ノイズ見積り装置のハードウェア構成を示す図である。
【００２８】
図３において、ノイズ見積り装置１００は、コンピュータによって制御される装置であって、ＣＡＤ（Computer Aided Design）を実装した装置等である。ノイズ見積り装置１００は、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、出力ユニット１４と、入力ユニット１５と、通信ユニット１６と、記憶装置１７と、ドライバ１８とを有し、システムバスＢに接続される。
【００２９】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従ってノイズ見積り装置１００を制御する。メモリユニット１２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００３０】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力ユニット１４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット１５は、マウス、キーボード等を有し、利用者がノイズ見積り装置１００が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット１６は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。記憶装置１７には、例えば、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータを格納する。
【００３１】
ノイズ見積り装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってノイズ見積り装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライバ１８にセットされると、ドライバ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００３２】
また、ノイズ見積もり装置１００によって行われる処理を実現するプログラムが、通信ユニット１６を介して外部装置から提供されてもよい。
【００３３】
図４は、本実施例に係る機能構成例を示す図である。図４において、ノイズ見積り装置１００は、処理部として、フロアプラン作成部３１と、チップ内ネットリスト生成部３２と、全体ネットリスト生成部３３と、回路シミュレーション部３４と、ノイズ分布表示部３５とを有する。プロセッサであるＣＰＵ１１が対応するプログラムを実行することによって各処理部３１から３５が実現される。
【００３４】
また、ノイズ見積り装置１００は、フロアプランデータ４１と、エッジ情報４２と、代表ノード名割当情報４２−２と、処理済みエッジ情報４３と、チップ内ネットリスト４４と、モジュール毎消費電流データ４５と、ＰＫＧネットリスト４６と、全体ネットリスト４７と、プロセスパラメータ４９とを、メモリユニット１２又は記憶装置１７の記憶領域４０に記憶する。
【００３５】
フロアプラン作成部３１は、利用者によるＬＳＩに搭載するモジュールのレイアウトを支援する処理部である。フロアプラン作成部３１によって作成されたフロアプランデータ４１は、記憶領域４０に格納される。モジュールは、図１、図２に示される回路１、２、１０、及び１１等の機能単位の回路ブロックである。
【００３６】
フロアプランデータ４１には、ＬＳＩ内に配置される夫々のモジュールの外形と、そのモジュールが配置位置を示す配置情報、電源ＧＮＤ端子の位置情報が含まれている。フロアプランデータ４１は、予め作成されたデータであってもよい。
【００３７】
チップ内ネットリスト生成部３２は、フロアプラン作成部３１によって作成された、又は、予め作成され格納されたフロアプランデータ４１を参照して、チップ内の各モジュール間のインピーダンス結合を生成して等価回路で表したチップ内ネットリスト４４を作成する処理部である。チップ内ネットリスト４４は記憶領域４０に出力される。エッジ情報４２、代表ノード名割当情報４２−２、及び処理済みエッジ情報４３は、チップ内ネットリスト生成部３２による処理の過程で一時的に生成され記憶領域４０に格納される情報であり、後述される処理フローで説明される。
【００３８】
チップ内ネットリスト生成部３２では、図１に示すように、基板抵抗２０から２３を求める処理部である。しかしながら、フロアプランデータ４１のみの情報では、AggressorとVictimを網羅的に認識することが出来ない。そこで、本実施例では、AggressorとVictimとを区別することなく、プロセスパラメータ４９を用いて、隣接するモジュール間の全ての基板インピーダンスを算出する。
【００３９】
プロセスパラメータ４９は、ＬＳＩの基板をメッシュ分割した矩形領域における電気的特性を表すためのパラメータを有し、基板抵抗を算出するためのパラメータとして、上記計算式（１）で用いられる、低効率ρ、メッシュサイズを規定する行方向の長さＸ、メッシュサイズを規定する列方向の長さＹ、シリコン基板の表面からのノイズ伝播に関わる実効的な深さＺなどのパラメータが含まれている。
【００４０】
尚、上述したように、各モジュール内（図１、図２の回路１０、１１等）の電源配線のインピーダンス（図１、図２の回路内抵抗２５ａ、２５ｂ等）については、無視できる値であるため、本実施例では、算出する処理を不要とする。従って、ノイズ見積りに必要なＬＳＩ内のインピーダンスの算出処理を簡潔に行うことができる。
【００４１】
全体ネットリスト生成部３３は、モジュール毎消費電流データ４５と、ＰＫＧ（パッケージ）ネットリスト３７とをチップ内ネットリスト４４に接続する処理部である。モジュール毎消費電流データ４５と、ＰＫＧ（パッケージ）ネットリスト３７とが、チップ内ネットリスト４４に接続された全体ネットリスト４７が記憶領域４０に出力される。
【００４２】
モジュール毎消費電流データ４５は、モジュール毎の時間依存の消費電流データを含み、SPICE (Simulation Program with Integrated Circuit Emphasis)を用いて作成されたモジュール毎の動作波形や周波数特性などを示すデータである。
【００４３】
ＰＫＧネットリスト３７は、チップレベルの接続情報を含む。ＬＳＩのパッケージ部の接続先は、本来、フロアプラン作成部３１で生成された電源ＧＮＤの位置であるが、本実施例では、この電源ＧＮＤの位置に最も近いモジュールの代表ノードへ接続する。
【００４４】
回路シミュレーション部３４は、全体ネットリスト４７を用いて回路シミュレーションを実行する。
【００４５】
ノイズ分布表示部３５は、回路シミュレーション部３４による回路シミュレーションの結果を表示ユニット１３に表示する。ノイズ分布表示部３５によって、モジュール毎のノイズ量のピーク値が表示されればよい。又は、一般的な等電圧線表示等でもよい。
【００４６】
本実施例に係るノイズ見積り処理で参照されるデータ例について図５、図６、図７で説明する。
【００４７】
図５は、フロアプランデータの一例を示す図である。フロアプランデータ４１は、ライブラリデータ４１ａと、チップデータ４１ｂとを有する。ライブラリデータ４１ａは、例えば、ＬＥＦ（Library Exchange Format）等のデータファイルで格納される。チップデータ４１ｂは、例えば、ＤＥＦ（Design Exchange Format）等のデータファイルで格納される。
【００４８】
ライブラリデータ４１ａの例が図５（Ａ）に示されている。ライブラリデータ４１ａは、主に、ＬＳＩに配置されるＩＯを含むモジュール毎に、モジュール名、モジュールサイズ、モジュールに付属するピン名などの情報を有する。
【００４９】
図５（Ａ）に示されるライブラリデータ４１ａでは、例えば、モジュール名「module_name1」に関して、モジュールサイズは(size_x1,size_y1)で示され、付属するピン名は「pin_name1」であることが示されている。他モジュール名「module_name2」と「IO_name1」とについても同様である。
【００５０】
チップデータ４１ｂの例が図５（Ｂ）に示されている。チップデータ４１ｂは、主に、チップ名、チップサイズ、チップ上に配置されているモジュール名、そのモジュールに対応するインスタンス名、そのインスタンスの配置座標、そのインスタンスのネット名などの情報を有する。
【００５１】
図５（Ｂ）に示されるチップデータ４１ｂでは、例えば、チップ名「Chip_name」に関して、チップサイズは(chipsize_x, chipsize_y)で示され、１以上のインスタンスが定義されている。インスタンス毎に、インスタンス名、そのインスタンスによって表現されるチップ上に配置されているモジュール名、そのインスタンスの配置座標、そのインスタンスのネット名などの情報を有する。
【００５２】
インスタンス名「Inst_name1」に関して、モジュール名は「module_name1」であり、配置座標は(pos_x1,pos_y1)である。インスタンス名「Inst_name2」についても同様である。インスタンス名「Inst_IO_name1」に関して、モジュール名は「IO_name1」であり、配置座標は(pos_x3,pos_y3)であり、ネット名は「net_name3」である。
【００５３】
図６は、モジュール毎消費電流データの一例を示す図である。図６に例示されるモジュール毎消費電流データ４５は、モジュール毎に時刻と電流値のベクトルのセットで示される電流データを対応付けており、例えば、モジュール名「Module_name1」に関して、(t0,i10), (t1,i11), (t2,i12), … (tn,i1n)などの時刻ｔと電流値ｉのベクトルによって波形が示される。他モジュールについても同様である。
【００５４】
図７は、ＰＫＧネットリストの一例を示す図である。図７に例示されるＰＫＧネットリスト４６は、素子毎に接続情報を示し、例えば、インダクタンス「Ｌ０１」に関して、その値は「１ｎＨ」であり、グランドＧＮＤ１とノード０とに接続されることを示している。他素子についても同様である。
【００５５】
次に、チップ内ネットリスト生成部３２での処理を図８で説明し、全体ネットリスト生成部３３での処理を図９で説明する。
【００５６】
図８は、チップ内ネットリスト生成部での処理を説明するための図である。図８に示すステップＳ７１〜ステップＳ８５における処理は、ＣＰＵ１１がチップ内ネットリスト生成部３２として実行する処理である。
【００５７】
図８において、チップ内ネットリスト生成部３２は、チップデータ４１ａからインスタンス名を一つ読み、インスタンス名に対応付けられているモジュール名とインスタンスの配置座標とを取得する（ステップＳ７１）。
【００５８】
チップ内ネットリスト生成部３２は、ステップＳ７１で取得したモジュール名を用いて、ライブラリデータ４１ａからモジュール名から特定されるモジュールのサイズとピン名とを取得する（ステップＳ７２）。
【００５９】
そして、チップ内ネットリスト生成部３２は、ステップＳ７１及びＳ７２の処理から得られた情報を使い、モジュールの形状を長方形と仮定して、モジュール辺（モジュールのエッジ）となる４線分のチップ上の座標を計算し、モジュール名と伴に計算した各エッジの座標を含むエッジ情報４２を記憶領域４０に記憶する（ステップＳ７３）。以下、エッジの座標を単にエッジと言う。
【００６０】
チップ内ネットリスト生成部３２は、チップデータ４１ｂで示される全モジュールに対して処理を完了したか否かを判断する（ステップＳ７４）。全モジュールに対して処理を完了していない場合、チップ内ネットリスト生成部３２は、ステップＳ７１へ戻り、次のモジュールに対して上述同様の処理を繰り返す。
【００６１】
ステップＳ７４において、全モジュールに対して処理を完了した場合、チップ内ネットリスト生成部３２は、チップデータ４１ｂからチップのサイズを取得し、チップ辺の４線分の座標を計算し、エッジ情報４２にチップ名と計算した座標とを追加する（ステップＳ７５）。
【００６２】
そして、チップ内ネットリスト生成部３２は、チップデータ４１ｂからインスタンス名を全て読み、各インスタンスに対応付けられているモジュール名に対応させて代表ノード名を任意に割り当てる（ステップＳ７６）。ＩＯの場合のみ、チップ内ネットリスト生成部３２は、チップデータ４１ｂ内で示されるネット名を割り当てる。モジュール名と代表ノード名又はネット名とを対応付けた代表ノード名割当情報４２−２が、記憶領域４０に格納される。
【００６３】
次に、チップ内ネットリスト生成部３２は、チップデータ４１ｂからインスタンス名を一つ読み（ステップＳ７７）、エッジ情報４２からインスタンス名に対応するエッジを一つ選択する（ステップＳ７８）。
【００６４】
エッジ情報４２から他インスタンスに属する全てのエッジとの距離を計算し、最近接エッジを探す（ステップＳ７９）。全てのエッジとの距離の値のうち最も短い値となるエッジを最近接エッジとして取得する。最近接エッジは、インスタンス名とエッジの座標とで特定される。
【００６５】
チップ内ネットリスト生成部３２は、取得した最近接エッジがチップ名に対応付けられたエッジか否かを判断する（ステップＳ８０）。最近接エッジのインスタンス名がチップデータ４１ｂのチップ名と一致するか否かを判断すればよい。最近接エッジがチップ名に対応付けられたエッジである場合、チップ内ネットリスト生成部３２は、ステップＳ７８へ戻り、インスタンス名に対応する次のエッジの座標から上述同様の処理を繰り返す。
【００６６】
一方、ステップＳ８０において、最近接エッジがチップ名に対応付けられたエッジでないと判断した場合、チップ内ネットリスト生成部３２は、更に、最近接エッジが処理済みエッジ情報４３に含まれているか否かを判断する（ステップＳ８１）。最近接エッジが処理済みエッジ情報４３に含まれている場合、チップ内ネットリスト生成部３２は、ステップＳ７８へ戻り、インスタンス名に対応する次のエッジの座標から上述同様の処理を繰り返す。
【００６７】
一方、ステップＳ８１において、最近接エッジが処理済みエッジ情報４３に含まれていないと判断した場合、チップ内ネットリスト生成部３２は、ステップＳ７８で選んだエッジとその最近接エッジとを対応付けた処理済みエッジ情報４３を記憶領域４０に記憶する（ステップＳ８２）。
【００６８】
次に、チップ内ネットリスト生成部３２は、ステップＳ７８で選んだエッジとその最近接エッジ間の等価回路を生成し、生成した等価回路に係る接続情報を記憶領域４０内のチップ内ネットリスト４４に追加する（ステップＳ８３）。チップ内ネットリスト生成部３２は、上述した計算式（１）を用いてメッシュ分割に応じた矩形領域の基板抵抗を算出し、ステップＳ７８で選んだエッジとその最近接エッジ間の距離に応じた基板抵抗を求める。等価回路は、その基板抵抗を有する抵抗素子として生成される。
【００６９】
チップ内ネットリスト生成部３２は、代表ノード名割当情報４２−２を参照することによって、ステップＳ７８で選んだエッジのインスタンス名と、最近接エッジのインスタンス名とから各々の代表ノード名を取得し、接続情報を作成し、チップ内ネットリスト４４に追加して格納する。
【００７０】
そして、チップ内ネットリスト生成部３２は、選んだインスタンスの全てのエッジを処理したか否かを判断する（ステップＳ８４）。選んだインスタンスの全てのエッジを処理していない場合、チップ内ネットリスト生成部３２は、ステップＳ７８へ戻り、次のエッジに対して上述同様の処理を行う。
【００７１】
一方、ステップＳ８４において、選んだインスタンスの全てのエッジを処理したと判断した場合、チップ内ネットリスト生成部３２は、更に、全モジュールの処理を完了したか否かを判断する（ステップＳ８５）。全モジュールの処理を完了していない場合、チップ内ネットリスト生成部３２は、ステップＳ７７へ戻り、次のモジュールに対して上述同様の処理を行う。
【００７２】
一方、ステップＳ８５において、全モジュールの処理を完了した場合、ＣＰＵ１１は、チップ内ネットリスト生成部３２における処理を終了し、全体ネットリスト生成部３３による処理を行うため、図９のステップＳ９１へと進む。
【００７３】
図９は、全体ネットリスト生成部での処理を説明するための図である。図９に示すステップＳ９１〜ステップＳ９４における処理は、ＣＰＵ１１が全体ネットリスト生成部３３として実行する処理である。
【００７４】
図９において、全体ネットリスト生成部３３は、モジュール消費電流データ４５からモジュール名と対応する、時刻と電流値のベクトルのセットで表される電流データを読み込む（ステップＳ９１）。
【００７５】
全体ネットリスト生成部３３は、ステップＳ９１で読み込んだ電流データに、代表ノードと０ノードとを接続先として示す接続先ノード情報を付加した上で、チップ内ネットリスト４４に追加する（ステップＳ９２）。全体ネットリスト生成部３３は、インスタンス名に対応するモジュール名を用いて、代表ノード名割当情報４２−２から代表ノードを取得する。
【００７６】
そして、全体ネットリスト生成部３３は、全モジュールの処理を完了したか否かを判断する（ステップＳ９３）。全モジュールの処理を完了していない場合、全体ネットリスト生成部３３は、ステップＳ９１へ戻り、次のモジュールに対して上記同様の処理を行う。
【００７７】
一方、ステップＳ９３において、全モジュールの処理を完了していると判断した場合、全体ネットリスト生成部３３は、ＰＫＧネットリスト４６を読み込み、チップ内ネットリスト４４に追加することによって全体ネットリスト４７を作成する（ステップＳ９４）。全体ネットリスト生成部３３は、電源ＧＮＤに最も近いモジュールの代表ノードへ接続する接続情報を付加して、ＰＫＧネットリスト４６をチップ内ネットリスト４４に追加する。そして、ＣＰＵ１１は、全体ネットリスト生成部３３による処理を終了する。
【００７８】
上述した処理によって生成された等価回路とその接続情報とを含む全体ネットリスト４７に基づく、ノイズ見積りを行うための解析モデルの例を図１０で説明する。図１０は、本実施例に係る解析モデルの一例を示す図である。図１０に示す解析モデルは、図１に示すＬＳＩ５の回路構成に基づくものである。図１に示される回路（Aggressor）１と、回路（Victim）２と、回路１０と、回路１１とは、ここでは単にモジュール１ｍ、２ｍ、１０ｍ、及び１１ｍと言う。モジュール１ｍ、２ｍ、１０ｍ、及び１１ｍの形状（図８のステップＳ７３）を点線で示している。
【００７９】
図１０に例示される解析モデルにおいて、代表ノード５０、５１、５２、及び５３は、図８のステップＳ７６での処理により、モジュール１０ｍ、１１ｍ、２ｍ、及び１ｍの各々に対して割り当てられた代表ノードである。
【００８０】
モジュール間の基板抵抗２４ａ、２４ｂ、２４ｃ、２４ｄ、２４ｅ、及び２４ｆは、図８のステップＳ８３での処理により生成された、モジュール間のインピーダンスを表す等価回路であり、対象モジュールの代表ノードに接続される。
【００８１】
消費電流６９は、この解析モデルの例では、図９のステップＳ９２での処理により、代表ノード５３に接続される。
【００８２】
ＰＫＧ等価回路６０、６２、及び６３は、ＰＫＧネットリスト４６で予め定義されている接続情報に従い、図９のステップＳ９４での処理により、対応するモジュールの代表ノード５０、５２、及び５３に夫々接続される。
【００８３】
接合容量２６は、モジュール２ｍがトリプルウェル分離されている回路ブロックの場合に、チップ内ネットリスト生成部３２によって作成される（特許文献１を参照のこと）。トリプルウェル分離された回路ブロックでない場合には生成されないモデルである。
【００８４】
このような解析モデルを用いて、回路シミュレーション部３４によって回路シミュレーションが行われることによって、ノイズが見積もられる。そして、ノイズ分布表示部３５によって、ノイズ分布が表示ユニット１３に表示される。
【００８５】
図１１は、図１０に例示される解析モデルを用いた回路シミュレーションによるノイズ分布の一例を示す図である。図１１において、各モジュール１ｍ、２ｍ、１０ｍ、及び１１ｍの領域に対応させて、見積もられた各回路が受けるノイズ量（ｍＶ）が示される。
【００８６】
例えば、図１１のノイズ分布例では、回路（Aggressor）１に相当するモジュール１ｍのノイズ量は１１２ｍＶ、回路（Victim）２に相当するモジュール２ｍのノイズ量は１２ｍＶ、回路１０に相当するモジュール１０ｍのノイズ量は５０ｍＶ、そして、回路１１に相当するモジュール１１ｍのノイズ量は４０ｍＶであることが示されている。これらの値は、例えば、ノイズ量のピーク値である。
【００８７】
回路（Victim）２に相当するモジュール２ｍのノイズ量は、生成された等価回路により、少なくとも、図１に示す経路Ｋ１に加えて、経路Ｋ２及び経路Ｋ３からの近接回路１０及び回路１１内の電源配線を経由して伝播するノイズを考慮した値を示す。
【００８８】
上述したように、本実施例では、初期の設計段階において、フロアプランデータ４１、モジュール毎消費電流データ４５、ＰＫＧネットリスト４６などの設計情報を用いて、電源分離された複数の回路ブロックを搭載するＬＳＩの近接回路ブロックの電源配線を経由して伝播するノイズを見積もることができる。
【００８９】
よって、AggressorとVictimとの関係が１対１に限らず、多数対１、又は、多数対多数の関係であってもノイズ見積りを実現できる。
【００９０】
また、AggressorとVictimとの関係が１対１で見積もった場合にはノイズ量が過小評価されてしまうと言った問題を解消することができ、より精度の高いノイズ見積りを実現できる。
【００９１】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００９２】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによって実行されるノイズ見積り方法であって、該コンピュータが、
記憶領域に格納されるＬＳＩの基板の電気的特性に係るプロセスパラメータを用いて、該ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算する算出手順と、
前記計算した基板抵抗を有する等価回路を生成して、チップ内ネットリストを記憶領域内に生成する生成手順と、
前記記憶領域に格納される前記チップ内ネットリストに前記ＬＳＩの動作に係る電気的要素と回路ブロックとの接続情報が付加された全体ネットリストを用いて、回路シミュレーションを実行することによって回路ブロック毎のノイズを見積もる回路シミュレーション手順と
を実行することを特徴とするノイズ見積り方法。
（付記２）
各回路ブロック内の抵抗値をゼロとすることを特徴とする付記１記載のノイズ見積り方法。
（付記３）
前記複数の回路ブロックには、少なくとも２以上のデジタル回路と少なくとも１つのアナログ回路とが含まれることを特徴とする付記１又は２記載のノイズ見積り方法。
（付記４）
前記コンピュータが、
回路ブロック毎に、前記回路シミュレーションによって得られたノイズ量を回路ブロックの領域に対応させて表示ユニットに表示させるノイズ分布表示手順を実行することを特徴とする付記１乃至３のいずれか一項記載のノイズ見積り方法。
（付記５）
前記複数の回路ブロックは、前記ＬＳＩに電源領域を分離して搭載される回路であることを特徴とする付記１乃至４のいずれか一項記載のノイズ見積り方法。
（付記６）
ＬＳＩの基板の電気的特性に係るプロセスパラメータを記憶する記憶領域と、
前記プロセスパラメータを用いて、ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算する算出手段と、
前記計算した基板抵抗を有する等価回路を生成して、チップ内ネットリストを前記記憶領域内に生成する生成手段と、
前記記憶領域に格納される前記チップ内ネットリストに前記ＬＳＩの動作に係る電気的要素と回路ブロックとの接続情報が付加された全体ネットリストを用いて、回路シミュレーションを実行することによって回路ブロック毎のノイズを見積もる回路シミュレーション手段と
を有することを特徴とするノイズ見積り装置。
（付記７）
記憶領域に格納されるＬＳＩの基板の電気的特性に係るプロセスパラメータを用いて、該ＬＳＩに配置される複数の回路ブロック間の基板抵抗を計算し、
前記計算した基板抵抗を有する等価回路を生成して、チップ内ネットリストを記憶領域内に生成し、
前記記憶領域に格納される前記チップ内ネットリストに前記ＬＳＩの動作に係る電気的要素と回路ブロックとの接続情報が付加された全体ネットリストを用いて、回路シミュレーションを実行することによって回路ブロック毎のノイズを見積もる、
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【符号の説明】
【００９３】
１          回路（Aggressor）
２          回路（Victim）
５          ＬＳＩ
１０、１１  回路
１１        ＣＰＵ
１２        メモリユニット
１３        表示ユニット
１４        出力ユニット
１５        入力ユニット
１６        通信ユニット
１７        記憶装置
１８        ドライバ
１９        記憶媒体
２０、２１、２２、２３    基板抵抗
２４ａ、２４ｂ、２４ｃ、２４ｄ、２４ｅ  基板抵抗
２５ａ、２５ｂ            回路内抵抗
２６        接合容量
３１        フロアプラン作成部
３２        チップ内ネットリスト生成部
３３        全体ネットリスト生成部
３４        回路シミュレーション部
３５        ノイズ分布表示部
４０        記憶領域
４１        フロアプランデータ
４２        エッジ情報
４２−２    代表ノード名割当情報
４３        処理済みエッジ情報
４４        チップ内ネットリスト
４５        モジュール毎消費電流データ
４６        ＰＫＧネットリスト
４７        全体ネットリスト
４９        プロセスパラメータ
５０、５１、５２、５３    代表ノード
６０、６２、６３    ＰＫＧ等価回路
６９        消費電流
１ｍ、２ｍ、１０ｍ、１１ｍ  モジュール
Ｋ１、Ｋ２、Ｋ３          ノイズ伝播経路
１００      ノイズ見積り装置
【図１】
0005672068.tif 000002
【図２】
0005672068.tif 000003
【図３】
0005672068.tif 000004
【図４】
0005672068.tif 000005
【図５】
0005672068.tif 000006
【図６】
0005672068.tif 000007
【図７】
0005672068.tif 000008
【図８】
0005672068.tif 000009
【図９】
0005672068.tif 000010
【図１０】
0005672068.tif 000011
【図１１】
0005672068.tif 000012