(57)【要約】      （修正有）【課題】周波数変調を再現したチップ電源の電流モデルを効率的に作成する。【解決手段】記憶部に格納された周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工し、前記加工することによって得た変調済みの電源電流データを含むチップ内電源電流データを電流モデルとして前記記憶部に出力する手順をコンピュータが実行する電流モデル作成方法により達成される。【選択図】図３
2014130513.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に格納された周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工し、
前記チップ内電源電流データを加工することによって得られた変調済みの電流波形を含む電流モデルを前記記憶部に出力する
手順をコンピュータが実行する電流モデル作成方法。
【請求項２】
クロック系統毎に供給される基準クロックのクロック周期に基づくサイクル毎に、前記周波数変調データを用いて、前記電流波形が発生するタイミングを調整することを特徴とする請求項１記載の電流モデル作成方法。
【請求項３】
前記周波数変調データは、前記クロック系統毎の周波数変調を表すことを特徴とする請求項２記載の電流モデル作成方法。
【請求項４】
前記周波数変調データは、前記クロック系統毎に前記基準クロックに対する周期変動比を表すことを特徴とする請求項２記載の電流モデル作成方法。
【請求項５】
前記周波数変調データと前記クロック周期とから、前記基準クロックとの周期の差分を求め、該差分で前記タイミングの調整を行うことを特徴とする請求項３又は４記載の電流モデル作成方法。
【請求項６】
電源ノイズを低減させる周波数変調データを記憶する記憶部と、
前記記憶部に格納された前記周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工する電流波形加工部と、
前記電流波形加工部によって得られた変調済みの電流波形を含む電流モデルを前記記憶部に出力するモデル出力部と、
を有することを特徴とするＣＡＤ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップ電源の電流モデルを作成することに関する。
【背景技術】
【０００２】
近年、ＬＳＩの試作後の不具合発生リスクを低減するために、ＬＳＩ設計途中における電源ノイズ量及び不良輻射量を予測する手段として、シミュレーションが活用されている。設計したＬＳＩの電源ノイズをシミュレーションするためのモデルは、ＬＳＩの内部回路用のチップ電源モデル、パッケージ用のＰＫＧ電源モデル、プリント基板用のＰＣＢ電源モデルで構成されている。電源ノイズ量及び電磁放射量のシミュレーションには、チップ電源モデルが必要とされ、チップ動作による電源電流がノイズ源として構成されている必要がある。
【０００３】
回路の出力電流の周波数及びその波形のシフト量が電磁輻射ノイズを決定する支配的なファクターであることに着目し、出力電流の周波数及びシフト量が同じである複数の回路を１つのスイッチング・セルに束ねてモデリングを行うことによって、モデル化された回路を小規模化でき、シミュレーションにより実測結果に近い結果を得ることできる電磁輻射ノイズの解析方法がある。
【０００４】
また、電子機器の設計において、クロック周波数変調回路を有するクロック信号発生器の候補を抽出し、候補となったクロック信号発生器の仕様から電磁妨害抑制効果を推測して、推定した電磁妨害抑制効果が目標とする効果を満足したクロック信号発生器を選択して使用する等が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−９７３９２号公報
【特許文献２】特開２００３−１５０６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述した複数の回路を束ねて小規模にモデル化する手法では、周波数変調を考慮した電流波形が作成されない。また、不要輻射の対策技術として、クロック周波数を変調させるＳＳＣＧ（Spread Spectrum Clock Generator）回路等が用いられ、クロック周期を微量にずらすことで、不要輻射のピークを減らす効果を得ることができる。そのような観点から、前述した仕様から推定した電磁妨害抑制効果が目標とする効果を満足するクロック信号発生器を選択して電子機器を設計する手法を用いることが考えられるが、この手法では、設計後の電子機器のシミュレーションにおいて、その電磁妨害抑制効果を確認することができないと言った問題があった。
【０００７】
１つの側面において、本発明の目的は、周波数変調による不要輻射の低減効果をシミュレーションで確認可能な、周波数変調を再現したチップ電源の電流モデルを作成することである。
【課題を解決するための手段】
【０００８】
本実施例の一態様によれば、電流モデル作成方法は、記憶部に格納された周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工し、前記加工することによって得た変調済みの電源電流データを含むチップ内電源電流データを電流モデルとして前記記憶部に出力する手順をコンピュータが実行する。
【０００９】
また、上記課題を解決するための手段として、電流モデルを作成するＣＡＤ装置、上記手順をコンピュータに実行させる電流モデル作成プログラム、及び、その電流モデル作成プログラムを記録した記録媒体とすることもできる。
【発明の効果】
【００１０】
本実施例の一態様によれば、電源ノイズモデルの電流波形が発生するタイミングを、周波数変調データに基づいて各サイクル毎に調整して電流波形モデルを加工することによって、チップ電源の電流モデルの作成時間を短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】電源ノイズをシミュレーションするための電源モデルの概念図である。
【図２】ＣＡＤ装置のハードウェア構成を示す図である。
【図３】ＣＡＤ装置の機能構成例を示す図である。
【図４】ＳＳＣＧによって変調周波数を複合した例を示す図である。
【図５】Δｔｎ算出部による処理を説明するための図（その１）である。
【図６】Δｔｎ算出部による処理を説明するための図（その２）である。
【図７】電流波形加工部による処理を説明するための図である。
【図８】ＬＳＩチップの構成例を示す図である。
【図９】ＳＤＣ定義例を説明するための図である。
【図１０】ＳＤＣ定義例を説明するための図である。
【図１１】グループ化の結果例を示す図である。
【図１２】周波数変調データと周波数変調割付データの定義例を示す図である。
【図１３】Δｔｎ算出結果の例を示す図である。
【図１４】電源波形加工部による処理例を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例は、周波数変調による不要輻射の低減効果をシミュレーションで確認可能な、周波数変調を再現したチップ電源電流モデルを作成するものである。
【００１３】
図１は、電源ノイズをシミュレーションするための電源モデルの概念図である。図１において、電源モデル１は、ＬＳＩの内部回路用のチップ電源モデル１ａと、パッケージ用のＰＫＧ電源モデル１ｂと、プリント基板用のＰＣＢ電源モデル１ｃとを有する。
【００１４】
チップ電源モデル１ａは、ＳＳＣＧ（Spread Spectrum Clock Generator）等により周波数変調され、電源ノイズが抑制されたモデルであり、チップ電源モデル１ａのチップ電源電流２は、周波数変調された電流波形を示す。
【００１５】
周波数変調は、一般的に変調対象のクロック周波数に対して、非常に低い変調周波数（例えば、２４ＫＨｚ等）で周期変動させることである。この周波数変調によって、Cycle-to-Cycleジッタの増加を抑制させる。
【００１６】
そのため、周波数変調を再現した電流波形を作成するには、長時間の電流を作り出す必要がある。例えば、変調周波数２４ＫＨｚの場合、４１６６６ｎｓｅｃの電流波形が必要となる。１０００ｎｓｅｃの電流波形を作成するのに、１週間程の工数を要する。従って、周波数変調した電流波形を再現するのは、通常、現実的な作業ではない。
【００１７】
また、周波数変調するためのＳＳＣＧ（Spread Spectrum Clock Generator）では変調周波数を複合する機能があり、それを再現するには複数の変調周期を含む電流を作り出すために、更に長時間の電流が必要となる。
【００１８】
後述される本実施例に係る処理は、チップ電源モデル１ａのチップ電源電流２に関して、周波数変調された電流波形を短時間で再現可能とする。本実施例に係る処理は、ＣＡＤ（Computer-Aided Design）装置として機能する、ＬＳＩ（Large Scale Integration）等の電子回路を設計するためのコンピュータ装置によって実行される。
【００１９】
図２は、ＣＡＤ装置のハードウェア構成を示す図である。図２において、ＣＡＤ装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、ドライブ１８とを有し、バスＢに接続される。
【００２０】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従ってＣＡＤ装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００２１】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００２２】
入力装置１４は、マウス、キーボード等を有し、ユーザがＣＡＤ装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。
【００２３】
ＣＡＤ装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってＣＡＤ装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２４】
図３は、ＣＡＤ装置の機能構成例を示す図である。図３において、ＣＡＤ装置１００は、処理部として、電流波形抽出部４１と、電源間容量抽出部４２と、電源配線抵抗抽出部４３と、電圧ドロップ解析部４４と、電圧収束判定部４５と、Δｔｎ算出部４６と、電流波形加工部４７と、モデル出力部４８とを有する。ＣＰＵ１１が対応するプログラムを実行することによって各処理部４１〜４８として機能する。
【００２５】
また、記憶部１３０には、ネットリスト３ｅ、クロック周期３ｄ、インスタンス動作タイミング３ｃ、セル電流波形テーブル３ｂ、チップ内配置配線データ３ａ、セル電源容量ライブラリ３ｆ、配線シート抵抗３ｇ、ＰＫＧ電源ＲＬ３ｈ、チップ内電源配線抵抗３ｉ、チップ内電源間容量３ｊ、ドロップ電圧３ｋ、チップ内電源電流データ３ｍ、周波数変調データ３ｎ、周波数変調割付データ３ｐ、Δｔｎデータ３ｑ、チップ内電源電流データ３ｒ、変調済電流モデル３ｔ、チップ電源ＲＣモデル３ｓ等が記憶される。
【００２６】
電流波形抽出部４１は、任意チップ領域内の電流波形を抽出する処理部である。任意チップ領域内の電流波形を抽出する際に、クロック系統毎にわけて電流波形が生成される。電流波形抽出部４１では、クロック周波数の数サイクル分などの短い時間の電流波形を作成する。本実施例では、後述されるように、クロック周波数の所定サイクル分の電流波形で周波数変調を考慮した電流波形を作成することができるため、処理時間を大幅に短縮できる。
【００２７】
具体的には、電流波形抽出部４１によって、以下のステップが実行される。
１）各インスタンスの負荷容量をチップ内配置配線データ３ａから取得する。
２）セル電源波形テーブル３ｂから各インスタンスの上り（rise）／下り（fall）電流波形を取得する。セル電源波形テーブル３ｂには、セル、電源電圧、外部負荷、上り／下りの各組み合せにおける電流波形データが記憶されている。
３）クロック周波数及びインスタンス動作タイミング３ｃから各インスタンスの立ち上り／立ち下り変化時刻を求め、動作条件を反映した各インスタンスの電流波形を生成する。
４）クロック周期３ｄと、ネットリスト３ｅとを用いて、各インスタンスの電流波形を、クロック系統毎に、チップ内を任意単位で分割した各領域グループの電流波形に合成する。後述されるように、電流波形加工部４７では、クロック系統毎に電流波形に対して処理を行うため、クロック系統毎に電流波形がグループ分けされる。
【００２８】
電源間容量抽出部４２は、チップ内配置配線データ３ａと、セル電源容量ライブラリ３ｆとを参照して、任意のチップ領域内の電源間容量を抽出する処理部である。抽出されたチップ内電源間容量３ｊは、記憶部１３０に記憶される。
【００２９】
電源配線抵抗抽出部４３は、チップ内配置配線データ３ａと、配線シート抵抗３ｇとを参照して、任意のチップ領域間の電源配線抵抗を抽出する処理部である。抽出されたチップ内電源配線抵抗３ｉは、記憶部１３０に記憶される。
【００３０】
電圧ドロップ解析部４４は、電流波形抽出部４１によって抽出されたチップ内電源電流データ３ｍと、電源間容量抽出部４２によって抽出されたチップ内電源間容量３ｊと、電源配線抵抗抽出部４３によって抽出されたチップ内電源配線抵抗３ｉと、ＰＫＧ電源ＲＬ３ｈとを参照することによって、各チップ領域内の電源電圧を動的に解析する処理部である。
【００３１】
電圧収束判定部４５は、電圧ドロップ解析部４４の解析結果に基づいて、電圧が収束したか否かを判断する処理部である。各インスタンスの電源電圧値の前値差分が規定値未満か否かが判定される。電圧収束判定部４５が、電圧が収束していないと判断した場合、電流波形抽出部４１によって、ドロップ電圧３ｋに基づいて、電流波形が再度抽出される。電圧収束判定部４５が、電圧が収束したと判断した場合、電流波形加工部４７による処理が行われる。つまり、初回解析時、又は、電圧値差分が規定値以上の場合には、電流波形抽出及び電源ドロップ解析が再度実行される。セル電源波形テーブル３ｂの参照値の電圧条件を変更して再処理される。
【００３２】
Δｔｎ算出部４６は、周波数変調データ３ｎと、周波数変調割付データ３ｐと、ＳＤＣ（Synopsys Design Constraints）等のクロック周期３ｄとに基づいて、各クロック系統毎の各サイクルの周期ズレ量Δｔｎを算出する処理部である。
【００３３】
電流波形加工部４７は、周波数変調データ３ｎに基づいて、各クロック系統毎の電流波形を加工する処理部である。電流波形加工部４７は、電流波形の周期を微量にずらすことによって周波数変調を考慮して、電流波形を加工する。周波数変調を表現するために必要な時間まで、電流波形を繰り返して加工する。
【００３４】
具体的には、電流波形加工部４７によって、以下のステップが実行される。
１）ＳＳＣＧによる周波数変調が行われるクロック系統の電流波形かを認識する。
２）周波数変調が行われるクロック系統の場合、
２−１）電流波形抽出部４１によって得られた、周波数変調がかかっていない電流波形を用いて、各サイクルの周期をΔｔｎ算出部４６によって得られたΔｔｎだけ補正することで、周波数変調を考慮した電流波形を生成する。
２−２）周波数変調を表現するために必要な時間まで、電流波形を繰り返して複写しながら、サイクル数に応じたΔｔｎで補正する。複数のＳＳＣＧがチップに搭載される場合には、最大の必要時間まで複写を繰り返す。
３）周波数変調が行われないクロック系統の場合、
３−１）周期補正を行わずに、電流波形を繰り返す。周波数変調が行われないクロック系統に対しても、電流波形の時間長を全体で合わせるために、電流波形を繰り返して複写する。
【００３５】
上述した電流波形加工部４７による処理によって、クロック系統毎のチップ内電源電流データ３ｒが記憶部１３０に記憶される。チップ内電源電流データ３ｒには、周波数変調されたクロック系統に対して変調済みの電流波形を示すデータと、周波数変調されないクロック系統に対して周期補正のない電流波形を示すデータとを含む。
【００３６】
モデル出力部４８は、最終的な電流波形、電源間容量、電源配線抵抗を、電子回路のアナログ動作をシミュレーションするソフトウェアで使用可能なデータ形式で、記憶部１３０にファイル出力する処理部である。ソフトウェアは、例えば、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）等である。
【００３７】
モデル出力部４８によって、変調済電流モデル３ｔと、チップ電源ＲＣモデル３ｓとが記憶部１３０に記憶される。変調済電流モデル３ｔは、クロック系統毎のチップ内電源電流データ３ｒに基づくモデルであり、チップ電源ＲＣモデル３ｓは、チップ内電源間容量３ｊと、チップ内電源配線抵抗３ｉとに基づく、従来のモデルである。
【００３８】
ネットリスト３ｅは、ＬＳＩを構成するセル間の接続、機能単位のブロック間の接続を定義したデータファイルである。クロック周期３ｄは、クロック毎にクロック周期を定義した、例えば、ＳＤＣ等のデータファイルである。インスタンス動作タイミング３ｃは、セル毎のタイミングを定義したデータファイルである。
【００３９】
セル電流波形テーブル３ｂは、セル毎の電流波形を定義したデータファイルである。チップ内配置配線データ３ａは、ＬＳＩ設計において配置配線処理後のチップ内の配置配線に係るデータを格納したデータファイルである。
【００４０】
セル電源容量ライブラリ３ｆは、セル毎に電源容量を定義したライブラリデータファイルである。配線シート抵抗３ｇは、配線層毎にシート抵抗を定義したデータファイルである。ＰＫＧ電源ＲＬ３ｈは、パッケージ電源の抵抗ＲＬを定義したデータファイルである。
【００４１】
チップ内電源配線抵抗３ｉは、電源配線抵抗抽出部４３によって抽出された任意のチップ領域間の電源配線抵抗を示すデータファイルである。チップ内電源間容量３ｊは、電源間容量抽出部４２によって抽出された任意のチップ領域内の電源間容量を示すデータファイルである。
【００４２】
ドロップ電圧３ｋは、電圧ドロップ解析部４４によって解析された各チップ領域内のドロップ電圧を示すデータファイルである。チップ内電源電流データ３ｍは、クロック系統毎の電源電流を示す電源ノイズモデルのためのデータファイルである。
【００４３】
周波数変調データ３ｎは、図４に示すような、時刻（又はクロックサイクル）に応じたクロック周波数（又は周期、又は周期変動比率）を示したテーブルを含む。図４では、ＳＳＣＧによって変調周波数を複合した例を示し、複数の変調周期４ｍ−１、４ｍ−２、４ｍ−３、・・・を含んでいる。周波数変調データ３ｎによって、複数の周波数変調を表すテーブルが管理される。
【００４４】
周波数変調割付データ３ｐは、クロック系統毎にグルーピングされたブロック毎に、周波数変調データ３ｎで管理される周波数変調テーブルの割り付けを記憶したデータファイルである。
【００４５】
Δｔｎデータ３ｑは、Δｔｎ算出部４６によって算出された、クロック系統毎の各サイクルの周期ズレ量Δｔｎを示すデータファイルである。チップ内電源電流データ３ｒは、電流波形加工部４７によって加工された周波数変調を考慮した電流波形を含み、クロック系統毎の電流波形を示すデータファイルである。
【００４６】
変調済電流モデル３ｔは、クロック系統に基づくグループ（ブロック）毎に合成した電流波形を示すデータファイルであり、変調済みの電流波形を含むモデルである。チップ電源ＲＣモデル３ｓは、チップ内の電源間容量及び電源配線抵抗を表すモデルである。
【００４７】
上述した記憶部１３０に格納される種々のデータのうち、ネットリスト３ｅ、クロック周期３ｄ、インスタンス動作タイミング３ｃ、セル電流波形テーブル３ｂ、チップ内配置配線データ３ａ、セル電源容量ライブラリ３ｆ、配線シート抵抗３ｇ、ＰＫＧ電源ＲＬ３ｈ、周波数変調データ３ｎ、周波数変調割付データ３ｐは、予め用意され記憶部１３０に格納される。
【００４８】
以下に、周波数変調を考慮した電流波形の作成に係るΔｔｎ算出部４６及び電流波形加工部４７による処理について説明する。
【００４９】
図５及び図６は、Δｔｎ算出部による処理を説明するための図である。図５において、周波数変調データ３ｎは、サイクル毎に周波数の周期を対応付けたテーブルであり、例えば、１サイクル目は周期１００ｎｓ、２サイクル目は周期１０１ｎｓ、・・・、７サイクル目は周期９８ｎｓ、８サイクル目は周期９９ｎｓ、・・・のように示される。
【００５０】
このような周波数変調データ３ｎによって、縦軸にクロック周期、横軸に時間を示すグラフ５で表されるような変調波形５ａが表現される。１００ｎｓの周期のクロックサイクル５ｂの場合、Δｔｎ算出部４６による算出結果は、Δｔｎ算出結果３ｎ−２のように示される。
【００５１】
Δｔｎ算出結果３ｎ−２では、１００ｎｓの周期のクロックサイクル５ｂに対する周波数変調データ３ｎとの差分Δｔｎが、１サイクル目では０ｎｓ、２サイクル目では１ｎｓ、・・・、７サイクル目では−２ｎｓ、８サイクル目では−１ｎｓ、・・・のように示される。
【００５２】
図６は、周波数変調データの例を示す図である。図６（Ａ）では、各クロック系統が異なるＳＳＣＧを使用するケースの周波数変調データ３ｎの例を示している。この例では、ＳＳＣＧ−１の変調波形５ａ−１と、ＳＳＣＧ−２の変調波形５ａ−２に関して、サイクル毎にクロック周期を対応付けた周波数変調データ３ｎがそれぞれ予め記憶部１３０に記憶される。セルがＳＳＣＧ−１のクロック系統である場合、Δｔｎ算出部４６によって、サイクル毎に、割り付けた変調波形５ａ−１に基づく変調周波数と、セルに入力されるクロック周波数との差分Δｔｎが計算される。
【００５３】
Δｔｎ＝変調周波数−クロック周波数
図６（Ｂ）では、各クロック系統が同じＳＳＣＧを使用するが、周波数が異なるケースの周波数変調データ３ｎの例を示している。同じＳＳＣＧからのクロック信号が分周又は逓倍される場合等である。この例では、ＳＳＣＧ−３の変調波形５ａ−３は、周期毎の変動比（以下、周期変動比と言う。）で示され、予め記憶部１３０に格納される。Δｔｎ算出部４６によって、同じＳＳＣＧ−３の各クロック系統におけるセルに対して、各クロック系統毎の基準クロック周期を使用して、ＳＳＣＧ−３の変調波形５ａ−３で示される周期変動比に基準クロック周期を乗算することによって、Δｔｎが算出される。
【００５４】
Δｔｎ＝周期変動比×基準クロック周期
次に、電流波形加工部４７による処理について説明する。図７は、電流波形加工部による処理を説明するための図である。図７（Ａ）では、電流波形加工部４７による加工前の電流波形、即ち、周波数変調前の電流波形を示している。電流波形加工部４７は、チップ内電源電流データ３ｍを参照して、クロック系統毎にセル電源電流７ｂを取得して合成波形７ｃを作成する。
【００５５】
例えば、電流波形加工部４７は、ＳＳＣＧ７ｍのクロック系統のチップ内電源電流データ３ｍを記憶部１３０から取得して、セル電源電流７ｂを合成する。一定周期Ｔ０の基準クロック７ａに同期した電源電流の合成波形７ｃが作成される。
【００５６】
そして、電流波形加工部４７は、合成波形７ｃを用いて、ＳＳＣＧ７ｍのΔｔｎデータ３ｑを参照して、Ｔ０／２周期毎にΔｔｎ／２を加算して周波数変調後の電流波形７ｐを作成する。チップ内電源電流データ３ｍは所定周期分の電流波形のみを示すため、電流波形７ｐを作成する際には、周波数変調を再現するのに十分な時間長となるまで、合成波形７ｃを繰り返して複製し、Ｔ０／２周期毎にΔｔｎ／２を加算する。比較的単純な処理を繰り返すのみで、長時間の電流波形を短時間で作り出すことができるので、周波数変調後の電流波形７ｐを作成するための処理負担を軽減することができる。
【００５７】
上記より、本実施例におけるΔｔｎ算出部４６及び電流波形加工部４７による処理が行われない関連技術の場合、電流波形抽出において、クロック周波数は一定としており、周波数変調を考慮できないのに対して、本実施例では、周波数変調を考慮したチップ電流波形を生成することができる。
【００５８】
また、関連技術では、電流波形抽出において、仮に、周波数変調を考慮した電流波形を作り出した場合、長時間な電流波形となるため、電圧ドロップ解析の計算時間が膨大となるため、限られた時間内にモデルを作成することができない。一方、本実施例では、電源ドロップ解析処理の後に、電流波形の加工処理を行うため、電源ドロップ解析の計算時間を増加させることなく、周波数変調を考慮したチップ電流波形を生成できる。
【００５９】
次に、本実施例に係るＣＡＤ装置１００によるチップ電源モデルの作成処理の例について説明する。
【００６０】
図８は、ＬＳＩチップの構成例を示す図である。図８に示すＬＳＩチップ８の構成例では、ネットリスト３ｅ等で定義されるセル／モジュール、インスタンス名、セル端子名、外部端子名の一例が対応付けられている。ＳＳＣＧ１Ａ、ＣＰＵ１Ａ、ＭＣ１Ａ、ＳＳＣＧ１Ｂ、ＣＯＤＥＣ１Ａが、セル／モジュール名である。ｉｎｂｕｆ１、ｉｎｂｕｆ２、ｓｓｃｇ１、ｓｓｃｇ２、ｂｕｆ１、ｂｕｆ２、ｂｕｆ３、ｂｕｆ４、ｂｕｆ５、ｃｐｕ１、ｍｅｍｃｏｎ１、ｃｏｄｅｃ１、ｏｕｔｂｕｆ１、ｏｕｔｂｕｆ２、ｏｕｔｂｕｆ３が、インスタンス名である。ＣＬＫ１、ＣＬＫ２、ＤＡＴ１、ＤＡＴ２、ＤＡＴ３が、外部端子名である。また、セル端子名は、入力側をＡ、出力側をＸ等で示している。
【００６１】
また、ＣＬＫ１に入力される周波数は２０ＭＨｚ、ＳＳＣＧ１Ａから出力される周波数は２００ＭＨｚ、１／２分周回路から出力される周波数は１００ＭＨｚであり、ＣＬＫ２に入力される周波数は１０ＭＨｚ、ＳＳＣＧ１Ｂから出力される周波数は５０ＭＨｚである。
【００６２】
ＬＳＩチップ８において、ＣＬＫ１から入力された周波数２０ＭＨｚの信号は、ｉｎｂｕｆ１を介してｓｓｃｇ１で１０逓倍され２００ＭＨｚで出力される。ｓｓｃｇ１から出力された周波数２００ＭＨｚの信号は、ｂｕｆ１を介して分岐する。分岐後、周波数２００ＭＨｚの信号は、ｂｕｆ２を介してｃｐｕ１に供給された後、ｏｕｔｂｕｆ１を介してＤＡＴ１から外部へ出力される。
【００６３】
また、分岐後ｂｕｆ３を介した周波数２００ＭＨｚの信号は、１／２分周回路のｄｆｆ１によって１００ＭＨｚに分周され、ｍｅｍｃｏｎ１に供給される。その後、ｏｕｔｂｕｆ２を介してＤＡＴ２から外部へ出力される。
【００６４】
一方、ＣＬＫ２から入力された周波数１０ＭＨｚの信号は、ｉｎｂｕｆ２を介してｓｓｃｇ２で５逓倍され５０ＭＨｚで出力される。ｓｓｃｇ２から出力された周波数５０ＭＨｚの信号は、ｂｕｆ４及びｂｕｆ５を介して、ｃｏｄｅｃ１に供給される。その後、ｏｕｔｂｕｆ３を介してＤＡＴ３から外部へ出力される。
【００６５】
次に、ＬＳＩチップ８の例を用いて、クロック系統毎のグループ分けについて図９、図１０、図１１で説明する。
【００６６】
図９及び図１０は、ＳＤＣ定義例を説明するための図である。図９では、図１０のＳＤＣで定義されるクロック系統との対応付けを、（Ｃ１）、（Ｃ２）、（Ｃ３）、（Ｃ４）、及び（Ｃ５）で示している。クロック系統定義（Ｃ１）から（Ｃ５）によって、所定の周波数を最初に出力する端子が特定される。
【００６７】
図１０より、クロック系統定義（Ｃ１）から（Ｃ４）の各々では、クロック系統名、クロック周期、信号の立ち上り／立ち下り時刻、クロックの出力インスタンス／ピン名等が定義される。クロック系統定義（Ｃ５）は、ｄｆｆ１の１／２分周回路によって周波数が変化するポイントを定義し、新たなクロック系統名、分周元のクロック系統のインスタンス／ピン名、分周元のクロックの何番目のエッジで変化するかの指定と、分周クロックの出力インスタンス／ピン名等が定義される。
【００６８】
上述のように定義されたクロック系統に基づいてグループ化すると、例えば、図１１に示すような結果が得られる。図１１は、グループ化の結果例を示す図である。図１１において、ｉｎｂｕｆ１、ｓｓｃｇ１が（Ｃ１）ｃｌｋｉｎ１のクロック系統でグループ化され、ｉｎｂｕｆ２、ｓｓｃｇ２が（Ｃ２）ｃｌｋｉｎ２のクロック系統でグループ化される。また、ｂｕｆ１、ｂｕｆ２、ｂｕｆ３、ｃｐｕ１、ｏｕｔｂｕｆ１、ｄｆｆ１が（Ｃ３）ｓｓｃｇｏｕｔ１のクロック系統でグループ化され、ｂｕｆ４、ｂｕｆ５、ｃｏｄｅｃ１、ｏｕｔｂｕｆ３が（Ｃ４）ｓｓｃｇｏｕｔ２のクロック系統でグループ化される。更に、ｍｅｍｃｏｎ１、ｏｕｔｂｕｆ２が（Ｃ５）ｍｅｍｃｌｋのクロック系統でグループ化される。
【００６９】
図１２は、周波数変調データと周波数変調割付データの定義例を示す図である。図１２において、ＳＳＣＧマクロ（ＳＳＣＧ１Ａ、ＳＳＣＧ１Ｂ）毎に、基準サイクルＡ、Ｂに対して周期変動比を対応付けた周波数変調データ３ｎを予め用意し記憶部１３０に格納する。
【００７０】
この例では、ＳＳＣＧ１Ａ用に、基準サイクルＡにおいて、１サイクル目では０％、２サイクル目では０．１％、・・・、９９９９サイクル目では−０．１％、１００００サイクル目では０％の周期変動比を示す周波数変調データ３ｎが用意される。
【００７１】
また、ＳＳＣＧ１Ｂ用に、基準サイクルＢにおいて、１サイクル目では０％、２サイクル目では１％、・・・、４９９９サイクル目では−１％、５０００サイクル目では０％の周期変動比を示す周波数変調データ３ｎが用意される。
【００７２】
そして、クロック系統に基づいて、（Ｃ３）ｓｓｃｇｏｕｔ１には、ＳＳＣＧ１Ａの周波数変調データ３ｎが割付けされ、（Ｃ４）ｓｓｃｇｏｕｔ２には、ＳＳＣＧ１Ｂの周波数変調データ３ｎが割付けされ、（Ｃ５）ｍｅｍｃｌｋには、ＳＳＣＧ１Ａの周波数変調データ３ｎが割付けされた周波数変調割付データ３ｐが用意される。
【００７３】
このように、周波数変調データ３ｎと周波数変調割付データ３ｐとによって、ＳＤＣで定義された各クロック系統名と周波数変調データとが関連付けられる。
【００７４】
次に、Δｔｎ算出部４６によるΔｔｎ算出結果の例を図１３で説明する。図１３は、Δｔｎ算出結果の例を示す図である。図１３において、Δｔｎ算出部４６によって、サイクル毎の基準サイクルの周波数に対する変調後の周波数との差分Δｔｎが計算される。
【００７５】
（Ｃ３）ｓｓｃｇｏｕｔ１の計算結果では、１サイクル目の差分Δｔｎは０ｐｓ、２サイクル目の差分Δｔｎは＋５ｐｓ、・・・、９９９９サイクル目の差分Δｔｎは−５ｐｓ、１００００サイクル目の差分Δｔｎは０ｐｓであることを示している。（Ｃ４）ｓｓｃｇｏｕｔ２の計算結果では、１サイクル目の差分Δｔｎは０ｐｓ、２サイクル目の差分Δｔｎは＋２００ｐｓ、・・・、４９９９サイクル目の差分Δｔｎは−２００ｐｓ、５０００サイクル目の差分Δｔｎは０ｐｓであることを示している。（Ｃ５）ｍｅｍｃｌｋの計算結果では、１サイクル目の差分Δｔｎは０ｐｓ、２サイクル目の差分Δｔｎは＋１０ｐｓ、・・・、９９９９サイクル目の差分Δｔｎは−１０ｐｓ、１００００サイクル目の差分Δｔｎは０ｐｓであることを示している。
【００７６】
次に、上記ＬＳＩチップ８を例とした場合の、電源波形加工部４７による処理について説明する。図１４は、電源波形加工部による処理例を説明するための図である。図１４において、チップ内電源電流データ３ｍは、電流波形抽出部４１によって抽出されたデータであり、クロック系統名を用いてチップ内電源電流データ３ｍをクロック系統毎に分類可能である。
【００７７】
各クロック系統のチップ内電源電流データ３ｍに対して、クロック周期３ｄ（ＳＤＣ定義）とΔｔｎデータとを用いて、図７で説明した方法で周波数変調後のチップ内電源電流データ３ｒを作成する。この際、処理時間の観点から、メインクロックの数十サイクル程度分の電源電流が生成されている。この例では、５０ＭＨｚで動作するｃｏｄｅｃ１の１０サイクルに当たる２００ｎｓ分の電流波形を作成したとする。
【００７８】
電源波形加工部４７による電流波形加工処理では、Δｔｎデータのサイクル数、及び、基準クロック周期Ｔ０を参照して、周波数変調後の電流波形時間を各クロック系統毎に算出し、最大時間を得る。
【００７９】
周波数変調後の電流波形時間、及び最大電流波形時間は、下記のように求められる。
【００８０】
周波数変調後の電流波形時間
＝｛initial_delay｝＋｛Δｔｎデータのサイクル数｝×｛Ｔ０｝
最大電流波形時間＝各クロック系統の周波数変調後の電流波形時間の最大値
ここで、｛initial_delay｝は、時刻０から１回目のクロック遷移までの任意の初期時間である。この例では、｛initial_delay｝＝０とする。
【００８１】
図１１の例では、周波数変調後の電流波形時間は、以下のようになる。
【００８２】
ｓｓｃｇｏｕｔ１の周波数変調後の電流波形時間
＝０＋１００００×５０００ｐｓ
＝５０μｓｅｃ
ｓｓｃｇｏｕｔ２の周波数変調後の電流波形時間
＝０＋５０００×２０００ｐｓ
＝１０μｓｅｃ
ｍｅｍｃｌｋの周波数変調後の電流波形時間
＝０＋１００００×１００００ｐｓ
＝１００μｓｅｃ
従って、最大電流波形時間は、１００μｓｅｃとなる。
【００８３】
各クロック系統について、周波数変調前の電流波形（２００ｎｓ分）を、最大電流波形時間分を繰り返して複製する。２００ｎｓ分の電流波形を５００回繰り返して複製して、変調後の電流波形が作成される。
【００８４】
この際に、Δｔｎデータが存在するクロック系統については、図７で説明した方法で周波数変調の加工が施される。
【００８５】
本実施例の適用の無い場合に、５００倍の長さの電流波形を作成するには、例えば、２００ｎｓ分の電流波形を作成する処理時間が１０時間であった場合、５００倍の５０００時間の処理時間が必要となる。
【００８６】
一方、上述したように本実施例における電流波形の加工では例えば、１時間程度と、非常に単時間で処理が行えるため、１０時間＋１時間＝１１時間の処理時間で周波数変調後の電流波形を作成することができる。
【００８７】
本実施例によれば、電源ノイズモデルの電流波形が発生するタイミングを、周波数変調データに基づいて各サイクル毎に調整して電流波形モデルを加工することによって、チップ電源の電流モデルの作成時間を短縮することができる。
【００８８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００８９】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
記憶部に格納された周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工し、
前記チップ内電源電流データを加工することによって得られた変調済みの電流波形を含む電流モデルを前記記憶部に出力する
手順をコンピュータが実行する電流モデル作成方法。
（付記２）
クロック系統毎に供給される基準クロックのクロック周期に基づくサイクル毎に、前記周波数変調データを用いて、前記電流波形が発生するタイミングを調整することを特徴とする付記１記載の電流モデル作成方法。
（付記３）
前記周波数変調データは、前記クロック系統毎の周波数変調を表すことを特徴とする付記２記載の電流モデル作成方法。
（付記４）
前記周波数変調データは、前記クロック系統毎に前記基準クロックに対する周期変動比を表すことを特徴とする付記２記載の電流モデル作成方法。
（付記５）
前記周波数変調データと前記クロック周期とから、前記基準クロックとの周期の差分を求め、該差分で前記タイミングの調整を行うことを特徴とする付記３又は４記載の電流モデル作成方法。
（付記６）
前記記憶部は、クロック系統毎の周波数変調データを前記クロック周期の定義に基づくクロック系統名と対応付けた周波数変調割付データを記憶し、
前記各クロック系統毎の前記クロック周期と該クロック系統名に対応づけられた前記周波数変調データとによって、前記差分を求めることを特徴とする付記５記載の電流モデル作成方法。
（付記７）
前記チップ内電源電流データに基づく所定周期分の電流波形を繰り返し複製しながら、前記電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整することを特徴とする付記１乃至６のいずれか一項記載の電流モデル作成方法。
（付記８）
電源ノイズを低減させる周波数変調データを記憶する記憶部と、
前記記憶部に格納された前記周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工する電流波形加工部と、
前記電流波形加工部によって得られた変調済みの電流波形を含む電流モデルを前記記憶部に出力するモデル出力部と、
を有することを特徴とするＣＡＤ装置。
（付記９）
クロック系統毎に供給される基準クロックのクロック周期に基づくサイクル毎に、前記周波数変調データを用いて、前記電流波形が発生するタイミングを調整することを特徴とする付記８記載のＣＡＤ装置。
（付記１０）
記憶部に格納された周波数変調データを用いて、電源ノイズモデルの電流波形が発生するタイミングを各サイクル毎に調整して、チップ内電源電流データを加工し、
前記加工することによって得た変調済みの電流波形を含む電流モデルを前記記憶部に出力する
処理をコンピュータに実行させる電流モデル作成プログラム。
（付記１１）
クロック系統毎に供給される基準クロックのクロック周期に基づくサイクル毎に、前記周波数変調データを用いて、前記電流波形が発生するタイミングを調整することを特徴とする付記１０記載の電流モデル作成プログラム。
【符号の説明】
【００９０】
１            電源モデル
１ａ          チップ電源モデル
１ｂ          ＰＫＧ電源モデル
１ｃ          ＰＣＢ電源モデル
３ａ          チップ内配置配線データ
３ｂ          セル電流波形テーブル
３ｃ          インスタンス動作タイミング
３ｄ          クロック周期
３ｅ          ネットリスト
３ｆ          セル電源容量ライブラリ
３ｇ          配線シート抵抗
３ｈ          ＰＫＧ電源ＲＬ
３ｉ          チップ内電源配線抵抗
３ｊ          チップ内電源間容量
３ｍ          チップ内電源電流データ
３ｎ          周波数変調データ
３ｐ          周波数変調割付データ
３ｑ          Δｔｎデータ
３ｒ          チップ内電源電流データ
３ｔ          変調済電流モデル
３ｓ          チップ電源ＲＣモデル
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
Ｂ            バス
１８          ドライブ
１９          記憶媒体
４１          電流波形抽出部
４２          電源間容量抽出部
４３          電源配線抵抗抽出部
４４          電圧ドロップ解析部
４５          電圧収束判定部
４６          Δｔｎ算出部
４７          電流波形加工部
４８          モデル出力部
１００        ＣＡＤ装置
【図１】
2014130513.tif 000003
【図２】
2014130513.tif 000004
【図３】
2014130513.tif 000005
【図４】
2014130513.tif 000006
【図５】
2014130513.tif 000007
【図６】
2014130513.tif 000008
【図７】
2014130513.tif 000009
【図８】
2014130513.tif 000010
【図９】
2014130513.tif 000011
【図１０】
2014130513.tif 000012
【図１１】
2014130513.tif 000013
【図１２】
2014130513.tif 000014
【図１３】
2014130513.tif 000015
【図１４】
2014130513.tif 000016