(57)【要約】【課題】半導体集積回路に対してその回路動作による電源電圧変動を求める解析時間を短縮し、正確で効率の良い電源電圧変動解析方法を提供する。【解決手段】シミュレーション対象の回路の回路情報１１と入力ベクタ１３に基づいて時系列に回路動作を算出する回路動作算出工程Ｓ１２と、回路動作算出工程Ｓ１２で作成された時系列の回路動作データ１４に基づいて、電源電圧変動値を計算するためのシミュレーションの時間範囲を限定する時間限定工程Ｓ１３と、時間限定工程Ｓ１３で限定された限定時間範囲１５と寄生素子を付加した回路情報１２と入力ベクタ１３に基づいて、電源電圧変動シミュレーションを行なう電源電圧変動シミュレーション工程Ｓ１４とを有する。【選択図】　　図１
2004029981.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路をシミュレーション対象として、その回路構成を示す回路情報と動作パターンを示す入力ベクタとに基づいて、時系列に回路動作時の動作状態を示す動作データを算出する回路動作算出工程と、前記回路動作算出工程で作成された動作の時系列データに基づいて、電源電圧変動値を計算するためのシミュレーションを実行する時間範囲を限定する時間限定工程と、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データと前記入力ベクタとに基づいて、電源電圧変動シミュレーションを行なう電源電圧変動シミュレーション工程とを有することを特徴とする電源電圧変動解析方法。
【請求項２】
半導体集積回路をシミュレーション対象として、その回路構成を示す回路情報と動作パターンを示す入力ベクタとに基づいて、時系列に回路動作時の動作状態を示す動作データを算出する回路動作算出工程と、前記回路動作算出工程で作成された動作の時系列データに基づいて、電源電圧変動値を計算するためのシミュレーションを実行する時間範囲を限定する時間限定工程と、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データとに基づいて、電源電圧変動シミュレーションを行なう電源電圧変動シミュレーション工程とを有することを特徴とする電源電圧変動解析方法。
【請求項３】
前記回路動作算出工程は、寄生素子情報を付加した回路情報を用いて電源電流を時系列データとして算出し、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定することを特徴とする請求項１または請求項２に記載の電源電圧変動解析方法。
【請求項４】
前記回路動作算出工程は、寄生素子情報を付加した回路情報から一部の寄生素子を削除して電源電流を時系列データとして算出し、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定することを特徴とする請求項１または請求項２に記載の電源電圧変動解析方法。
【請求項５】
前記回路動作算出工程は、論理シミュレーションにより時系列の電源電流値を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定することを特徴とする請求項１または請求項２に記載の電源電圧変動解析方法。
【請求項６】
前記回路動作算出工程は、論理シミュレータを用い、その開始時間から終了時間までを同一のある時間範囲に分割し、各時間範囲毎にトグル情報を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で分割された時間範囲のうちトグルが最大となる時間範囲に限定することを特徴とする請求項１または請求項２に記載の電源電圧変動解析方法。
【請求項７】
前記回路動作算出工程は、論理シミュレータを用い、各素子の動作基準となるクロックの変化があった時間からある時間までの時間範囲におけるトグル情報を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で分割された時間範囲のうちトグルが最大となる時間範囲に限定することを特徴とする請求項１または請求項２に記載の電源電圧変動解析方法。
【請求項８】
前記回路動作算出工程は、前記トグル情報として重み付きトグル情報を用いて算出することを特徴とする請求項６または請求項７に記載の電源電圧変動解析方法。
【請求項９】
前記回路動作算出工程は、あらかじめ初期時間の回路状態を初期状態として保存し、前記電源電圧変動シミュレーション工程は、前記回路動作算出工程で保存した初期状態に基づいて、前記時間限定工程で限定された時間範囲で、前記入力ベクタと寄生素子を付加した回路情報とを用いて、動的に電源電圧変動シミュレーションを行なうことを特徴とする請求項１に記載の電源電圧変動解析方法。
【請求項１０】
前記電源電圧変動シミュレーション工程は、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データに基づいて、回路状態情報を求め、前記回路状態情報を用いて、静的に電源電圧変動シミュレーションを行なうことを特徴とする請求項２に記載の電源電圧変動解析方法。
【請求項１１】
前記時間限定工程は、限定する時間範囲の初期時間を、前記回路動作算出工程で求めた電源電流値が最大となる時間の直前の各素子の動作基準となるクロックの変化があった時間とし、終了時間を、前記初期時間からクロックに同期して動作するフリップフロップに直列接続された回路の最大遅延時間分進んだ時間とすることを特徴とする請求項３から請求項５のいずれかに記載の電源電圧変動解析方法。
【請求項１２】
前記時間限定工程は、限定する時間範囲の終了時間を、各素子の動作基準となるクロックの変化があった時間からクロックに同期して動作するフリップフロップに直列接続された回路の最大遅延時間分進んだ時間とすることを特徴とする請求項３から請求項５のいずれかに記載の電源電圧変動解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に対して、回路シミュレーションを用いて、電源電圧の変動状況を解析するための電源電圧変動解析方法に関するものである。
【０００２】
【従来の技術】
通常、ＬＳＩ等の半導体集積回路の設計における電源設計では、回路の各素子に供給する電源電圧値あるいはグランドの電圧値の変動を抑えた電源配線が求められる。なぜなら、大きな電源電圧変動が生じてしまうと、回路の素子に十分な電圧供給を行なうことができなくなり、素子の動作速度が低下し、タイミングエラーにより、最悪の場合、回路の誤動作を引き起こしてしまうからである。
【０００３】
この電源電圧変動が最も大きくなりピークをとる際には、回路素子の動作速度が最も低下し、回路の誤動作の原因となる可能性が高くなる。このような回路の誤動作の原因となる電源電圧変動を防止するためには、電源設計の段階で、その設計対象である半導体集積回路における電源電圧変動、およびそのピーク値を把握する必要があり、電源電圧変動を短い期間で解析・検証する技術が必要となる。
【０００４】
以上のような半導体集積回路の電源電圧変動解析方法の従来技術について、以下に説明する。
この電源電圧変動解析法には、２つの方法が考えられる。一つは、解析対象の半導体集積回路の各構成素子に対して、それぞれの動作時における消費電流値、消費電力値やトグルなどを重みとして静的に与え、電源電圧変動値および電源電圧変動の分布図を求める静的解析方法である。
【０００５】
もう一つは、解析対象の動作を記述した入力ベクタ情報を用い、各時間における回路の各素子の電圧値、電流値を求めることにより、時間経過毎（時系列）の電源電圧変動値および電源電圧変動の分布図を求める動的解析である。
【０００６】
前者は、実行時間が短くて済むが、各素子に割り当てる消費電流値、消費電力値やトグルは、各素子ごとに素子の動作に着目して求めるため、ある程度長い通常のシミュレーションでは、同時刻に起った他の素子の動作を認識できない。よって、同時スイッチングによる電源電圧変動値の増加を求めることができず、電源電圧変動値の精度が悪くなる。
【０００７】
後者は、各時間における回路動作をシミュレーションするので、同時スイッチングによる電源電圧変動値の増加を求めることができるが、すべての時間での電圧値、電流値を算出するため、シミュレーションに要する実行時間が長くなってしまう。
【０００８】
また、特開２０００−９９５６１号公報にあるように、ベクタを使用せずに回路素子の動作ライブラリから消費電流値を重ね合わせ、最大の消費電流値を求め、静的に電源電圧変動値を求める方法がある。
【０００９】
この方法の問題点は、実際の回路動作では動作しない素子においても、素子動作による電源電圧変動値が加算されるため、実動作における電源電圧変動値よりも、過大な値を算出する。このことから、実動作での電源電圧変動を求めるには、入力ベクタを用いて動作する素子のみの電源電圧変動を求める必要がある。
【００１０】
【発明が解決しようとする課題】
しかしながら上記のような従来の回路シミュレーションを用いた電源電圧変動解析方法において、静的解析は、動的解析に比べ極めて高速に解析を行うことができるが、従来の静的解析手法では、回路シミュレーションの時間的な概念がなく、例えば、同時スイッチング等の動作が考慮できないことから、ピークの電源電圧変動値を求めることができなかった。
【００１１】
このような回路動作により発生する電源電圧変動のピーク値を求めるためには、ベクタ情報を用いて動的解析を行なわなければならないが、動的解析の実行には非常に長い実行時間が必要となる。
【００１２】
したがって、上記のどちらの方法によっても、回路の誤動作の原因となる電源電圧変動の解析を、高速で精度良くかつ効率的に行なうことができないという問題点を有していた。
【００１３】
本発明は、上記従来の問題点を解決するもので、半導体集積回路に対して、その回路動作による電源電圧変動を求めるシミュレーション時間を短縮し、電源電圧の変動状況を、高速に効率良くかつ正確に解析することができる電源電圧変動解析方法を提供する。
【００１４】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１に記載の電源電圧変動解析方法は、半導体集積回路をシミュレーション対象として、その回路構成を示す回路情報と動作パターンを示す入力ベクタとに基づいて、時系列に回路動作時の動作状態を示す動作データを算出する回路動作算出工程と、前記回路動作算出工程で作成された動作の時系列データに基づいて、電源電圧変動値を計算するためのシミュレーションを実行する時間範囲を限定する時間限定工程と、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データと前記入力ベクタとに基づいて、電源電圧変動シミュレーションを行なう電源電圧変動シミュレーション工程とを有する方法としたことを特徴とする。
【００１５】
また、請求項２に記載の電源電圧変動解析方法は、半導体集積回路をシミュレーション対象として、その回路構成を示す回路情報と動作パターンを示す入力ベクタとに基づいて、時系列に回路動作時の動作状態を示す動作データを算出する回路動作算出工程と、前記回路動作算出工程で作成された動作の時系列データに基づいて、電源電圧変動値を計算するためのシミュレーションを実行する時間範囲を限定する時間限定工程と、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データとに基づいて、電源電圧変動シミュレーションを行なう電源電圧変動シミュレーション工程とを有する方法としたことを特徴とする。
【００１６】
以上のように、シミュレーションを実行する時間範囲を限定することにより、従来の動的な電源電圧変動シミュレーションよりも高速かつ効率的に、回路動作による電源電圧変動値を求めることが可能となる。
【００１７】
また、請求項３に記載の電源電圧変動解析方法は、請求項１または請求項２に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、寄生素子情報を付加した回路情報を用いて電源電流を時系列データとして算出し、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定する方法としたことを特徴とする。
【００１８】
また、請求項４に記載の電源電圧変動解析方法は、請求項１または請求項２に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、寄生素子情報を付加した回路情報から一部の寄生素子を削除して電源電流を時系列データとして算出し、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定する方法としたことを特徴とする。
【００１９】
また、請求項５に記載の電源電圧変動解析方法は、請求項１または請求項２に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、論理シミュレーションにより時系列の電源電流値を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で求めた電源電流値が最大となる時間の前後のある時間範囲に限定する方法としたことを特徴とする。
【００２０】
以上のように、時間範囲を限定する方法として、簡易な回路シミュレーションを行ない、その電源電流を基に時間範囲を限定することにより、電源電圧シミュレーションの解析時間を短縮することが可能となる。
【００２１】
また、請求項６に記載の電源電圧変動解析方法は、請求項１または請求項２に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、論理シミュレータを用い、その開始時間から終了時間までを同一のある時間範囲に分割し、各時間範囲毎にトグル情報を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で分割された時間範囲のうちトグルが最大となる時間範囲に限定する方法としたことを特徴とする。
【００２２】
以上のように、電源電流シミュレーションよりも更に簡易に計算できるトグルを基に時間範囲を限定することにより、より解析時間の短縮が可能となる。
また、請求項７に記載の電源電圧変動解析方法は、請求項１または請求項２に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、論理シミュレータを用い、各素子の動作基準となるクロックの変化があった時間からある時間までの時間範囲におけるトグル情報を求め、前記時間限定工程は、シミュレーションを実行する時間範囲を、前記回路動作算出工程で分割された時間範囲のうちトグルが最大となる時間範囲に限定する方法としたことを特徴とする。
【００２３】
以上のように、同期回路において動作基準となるクロックに着目してトグルを求める時間範囲を予め絞り込むことにより、効率的にトグル計算を行なうことが可能となる。
【００２４】
また、請求項８に記載の電源電圧変動解析方法は、請求項６または請求項７に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、前記トグル情報として重み付きトグル情報を用いて算出する方法としたことを特徴とする。
【００２５】
以上のように、トグル計算に重み付きトグルを用いることにより、トグル合計計算の精度を向上することが可能となる。
また、請求項９に記載の電源電圧変動解析方法は、請求項１に記載の電源電圧変動解析方法であって、前記回路動作算出工程は、あらかじめ初期時間の回路状態を初期状態として保存し、前記電源電圧変動シミュレーション工程は、前記回路動作算出工程で保存した初期状態に基づいて、前記時間限定工程で限定された時間範囲で、前記入力ベクタと寄生素子を付加した回路情報とを用いて、動的に電源電圧変動シミュレーションを行なう方法としたことを特徴とする。
【００２６】
また、請求項１０に記載の電源電圧変動解析方法は、請求項２に記載の電源電圧変動解析方法であって、前記電源電圧変動シミュレーション工程は、前記時間限定工程で限定された時間範囲と寄生素子を付加した回路情報と前記回路動作算出工程で作成された時系列データに基づいて、回路状態情報を求め、前記回路状態情報を用いて、静的に電源電圧変動シミュレーションを行なう方法としたことを特徴とする。
【００２７】
以上のように、解析時間を短い範囲に限定することにより、電源電圧変動値として、従来の静的解析での平均的な値ではなく、最大の電源電圧変動値を求めることが可能となる。
【００２８】
また、請求項１１に記載の電源電圧変動解析方法は、請求項３から請求項５のいずれかに記載の電源電圧変動解析方法であって、前記時間限定工程は、限定する時間範囲の初期時間を、前記回路動作算出工程で求めた電源電流値が最大となる時間の直前の各素子の動作基準となるクロックの変化があった時間とし、終了時間を、前記初期時間からクロックに同期して動作するフリップフロップに直列接続された回路の最大遅延時間分進んだ時間とする方法としたことを特徴とする。
【００２９】
また、請求項１２に記載の電源電圧変動解析方法は、請求項３から請求項５のいずれかに記載の電源電圧変動解析方法であって、前記時間限定工程は、限定する時間範囲の終了時間を、各素子の動作基準となるクロックの変化があった時間からクロックに同期して動作するフリップフロップに直列接続された回路の最大遅延時間分進んだ時間とする方法としたことを特徴とする。
【００３０】
以上のように、時間範囲を限定する方法として、同期回路でクロックに同期動作するフリップフロップに接続される回路の最大遅延時間を、シミュレーションを実行する時間範囲に設定することにより、最大の電源電圧変動値が含まれる時間帯を、より短い時間で正確に限定することが可能となる。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を示す電源電圧変動解析方法について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１の電源電圧変動解析方法を説明する。
【００３２】
図１は本実施の形態１の電源電圧変動解析方法の処理の流れを示すフローチャートである。図１に示すように、この電源電圧変動解析方法では、回路情報１１と、寄生素子データ付回路情報１２と、入力ベクタ１３と、時系列の回路動作データ１４と、限定時間範囲１５と、電源電圧変動解析結果１６と、寄生素子データ付加工程Ｓ１１と、回路動作算出工程Ｓ１２と、時間限定工程Ｓ１３と、電源電圧変動シミュレーション工程Ｓ１４とを有する。なお、回路情報１１は、通常、回路のレイアウト情報と接続情報を含んでおり、入力ベクタ１３は、解析対象の回路の動作パターンを記述したものである。
【００３３】
まず、寄生素子データ付加工程Ｓ１１では、解析対象となる回路情報１１のレイアウト情報より信号配線および電源・グランド配線の寄生抵抗値・容量値を抽出し、回路の接続情報に付加することにより、寄生素子データ付回路情報１２を作成する。
【００３４】
図２は本実施の形態１の電源電圧変動解析方法における寄生素子データ付回路情報１２のイメージ図である。
図２に示すように、回路素子Ｇ１、Ｇ２、Ｇ３は電源配線とグランド配線に接続されており、電源配線、グランド配線、信号配線には、それぞれ抵抗、容量を付加している。Ｒｐ１、Ｒｐ２、Ｒｐ３、Ｒｐ４、Ｒｐ５はそれぞれ電源配線の抵抗を示し、Ｒｇ１、Ｒｇ２、Ｒｇ３、Ｒｇ４、Ｒｇ５はそれぞれグランド配線の抵抗を示し、Ｒｓ１、Ｒｓ２、Ｒｓ３、Ｒｓ４、Ｒｓ５はそれぞれ信号配線の抵抗を示し、Ｃｐ１、Ｃｐ２、Ｃｐ３はそれぞれ電源配線と接地間の容量を示し、Ｃｇ１、Ｃｇ２、Ｃｇ３はそれぞれグランド配線と接地間の容量を示し、Ｃｓ１、Ｃｓ２、Ｃｓ３、Ｃｓ４、Ｃｓ５はそれぞれ信号配線と接地間の容量を示している。
【００３５】
回路動作算出工程Ｓ１２では、入力ベクタ１３に基づいて、寄生素子を付加した回路情報を用いて電源電流のシミュレーションを行なう。本実施の形態の一例としては、電源配線を無負荷として、他の配線に寄生素子を付加した回路情報を用いる。電源電流は回路の電圧供給位置から回路全体に引き込まれる電流値の総和のことである。
【００３６】
図３は本実施の形態１の電源電圧変動解析方法における回路動作算出工程Ｓ１２で用いる電源電流解析モデルのイメージ図であり、電源配線およびグランド配線の抵抗および容量を無負荷とした回路モデルである。図３に示すように、電源電流を求める方法は、回路の各素子Ｇ１、Ｇ２、Ｇ３に供給される電圧を電源電圧変動による減少がないものと仮定し、各時間における各素子Ｇ１、Ｇ２、Ｇ３に流れる電流値を合計することにより、電源電流を求める方法である。
【００３７】
図４は本実施の形態１の電源電圧変動解析方法における電源配線の寄生素子を無負荷として電源電流を求める処理のイメージ図である。ＶＧ１、ＶＧ２、ＶＧ３はそれぞれの回路素子Ｇ１、Ｇ２、Ｇ３の入力電圧であり、ＩＧ１、ＩＧ２、ＩＧ３はそれぞれＶＧ１、ＶＧ２、ＶＧ３の変化によって各素子Ｇ１、Ｇ２、Ｇ３に流れる電流値であり、ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６はそれぞれの回路素子Ｇ１、Ｇ２、Ｇ３に流れる電流が最大となる時間を表している。図４において電源電流は各時間における各素子Ｇ１、Ｇ２、Ｇ３に流れる電流値ＩＧ１、ＩＧ２、ＩＧ３を重ね合わせて、合計することにより算出する。
【００３８】
時間限定工程Ｓ１３では、回路動作データ１４に基づき、電源電流が最大となる前後の十分短い時間範囲となる初期時間および終了時間を限定時間範囲１５に保存する。例えば、回路を構成する基本素子（ＮＡＮＤや無負荷のインバータ回路など）の遷移時間を時間範囲とし、電源電流が最大となる時間を時間範囲の中心とする初期時間および終了時間を限定時間範囲１５に保存する。
【００３９】
また、時間範囲を決める方法として、電源電流が最大となる時間において動作している回路素子の中で最大の遷移時間となる回路素子の遷移時間を時間範囲に設定する方法などが考えられる。
【００４０】
電源電圧変動シミュレーション工程Ｓ１４では、寄生素子データ付回路情報１２と入力ベクタ１３と限定時間範囲１５とに基づいて、動的に電源電圧変動シミュレーションを行ない、電源電圧変動解析結果１６を求める。時間限定工程Ｓ１３でシミュレーションを行なう時間を短い時間に限定しているので、すべての時間で電源電圧変動シミュレーションを行なうよりも、短い時間で効率的に回路の誤動作の原因となりうる電源電圧変動の解析を行なうことができる。ここで、動的に電源電圧変動シミュレーションを行う際には、回路にかかる電圧の初期化が必要となる。
【００４１】
本実施の形態における初期化方法の一例としては、時系列の回路動作データ１４を用い、初期時間における各素子の入力電圧により初期化を行なう方法が考えられる。また、同期設計の回路における初期化方法としては、初期時間を各回路素子の動作基準となっているクロックの変化があった時間に設定することにより、各素子は初期時間においてはほぼ動作しておらず、回路動作による電源電圧変動がないことから、初期時間の回路電圧を求めることにより、回路の初期化を行なうことができる。
【００４２】
回路の初期化においては、回路素子全ての電圧値を保存しておき、初期化を行なう時に読み込む。大規模な回路に対しては、保存するデータ量を削減する目的で、フリップフロップの値に着目して初期化を行なう方法が考えられる。素子電圧値を求めるのに遅延情報を考慮する場合は、フリップフロップに繋がる素子の電圧が安定状態になるように、限定時間範囲１５の初期時間から１クロック分前の時間におけるフリップフロップの値を保存し、初期時間までの回路シミュレーションを行なう。１クロック分の回路シミュレーションを行なうことにより、１クロックで回路動作は完了するため、限定時間範囲１５の初期時間における素子の電圧値として、通常の回路シミュレーションと同じ電圧値を求めることができる。
【００４３】
また、素子の電圧を求めるのに遅延情報を必要とせず、静的に求めることが可能な場合は、初期時間におけるフリップフロップの値のみ保存しておけば、素子の電圧値はフリップフロップの値により決定されるので、回路の初期化を行なうことができる。
（実施の形態２）
本発明の実施の形態２の電源電圧変動解析方法を説明する。
【００４４】
本実施の形態２の電源電圧変動解析方法は、全体の処理手順は実施の形態１と同じであるが、回路動作算出工程Ｓ１２と回路動作データ１４、時間限定工程Ｓ１３が異なる。よって、回路動作算出工程Ｓ１２と回路動作データ１４と時間限定工程Ｓ１３について説明する。
【００４５】
本実施の形態２では、回路動作算出工程Ｓ１２は、入力ベクタ１３に基づいて論理シミュレーションを行ない、電源電流を時系列の回路動作データ１４として求める。
【００４６】
図５は本実施の形態２の電源電圧変動解析方法におけるシミュレーションにより電源電流を求める処理のイメージ図であり、回路動作算出工程Ｓ１２での処理の一例を示している。
【００４７】
図５に示すように、論理シミュレーションにより電源電流を求める方法として、例えば、特開２００１−２８０１３号公報に示されている平均電流波形算出手段を用い、ネットリストから静的遅延計算に基づき、各ノードの遅延情報（図５（ａ））の計算を行ない、入力遷移確率から確率伝播に基づき、各ノードの遷移確率情報（図５（ｂ））を得たのち、各ノードの素子電流波形情報（図５（ｃ））を算出する。
【００４８】
そして、各ノードの遅延時刻に、確率情報を素子電流波形情報に掛け合せた電流量を面積とする三角波を考慮して、平均電流波形算出手段により平均電流波形情報（図５（ｄ））として得る。図の例では、遷移確率情報をノードＡは５０％、ノードＢは８０％とし、素子電流の最大値をノードＡはｈａ、ノードＢはｈｂとしている。
【００４９】
次に、時間限定工程Ｓ１３で、回路動作データ１４に基づき、電源電流が最大となる前後の十分短い時間範囲となる初期時間および終了時間を限定時間範囲１５に保存する。例えば、回路を構成する基本素子の遷移時間を時間範囲とし、電源電流が最大となる時間を時間範囲の中心とする初期時間および終了時間を、限定時間範囲１５に保存する。また、時間範囲を決める方法として、電源電流が最大となる時間において動作している回路素子の中で最大の遷移時間となる回路素子の遷移時間を、時間範囲に設定する方法などが考えられる。
（実施の形態３）
本発明の実施の形態３の電源電圧変動解析方法を説明する。
【００５０】
本実施の形態３の電源電圧変動解析方法は、全体の処理手順は実施の形態１と同じであるが、回路動作算出工程Ｓ１２と回路動作データ１４と時間限定工程Ｓ１３が異なる。よって、回路動作算出工程Ｓ１２と回路動作データ１４と時間限定工程Ｓ１３について説明する。
【００５１】
本実施の形態３では、回路動作算出工程Ｓ１２で、論理シミュレータを用い、論理シミュレーションの開始時間から終了時間までを同一の時間範囲に分割し、各時間範囲におけるトグルの合計を求め、時系列の回路動作データ１４を作成する。ここでトグルは、着目するノードがどの程度激しく動作するのかを表し、数字が大きいほどノードが激しく動作していることを示す。
【００５２】
さらに、各ノードのトグル計算を行なうときに、各素子の電流値に基づいて離散的に分離した値を決定し、各素子に割り当てられた値を重みとしてかけた重み付きトグルを用いて計算することにより、トグル合計計算の精度向上を行なうことができる。例えば、１ｍＡ〜２ｍＡ流れる素子の重みを１とし、２ｍＡ〜１０ｍＡ流れる素子の重みを２とし、１０ｍＡ〜２０ｍＡ流れる素子の重みを１０とするように、素子に流れる電流値が大きいほど重みを大きくすることにより、大きな電流が流れる素子が動作した時間範囲が選ばれやすくなる。
【００５３】
そして、時間限定工程Ｓ１３で、時系列の回路動作データ１４に基づき、トグルが最大となる時間範囲を限定時間範囲１５とする方法である。
図６は本実施の形態３の電源電圧変動解析方法におけるトグル合計により時間を限定する処理のイメージ図であり、回路動作算出工程Ｓ１２での一例を示している。
【００５４】
図６に示すように、信号線Ａ、Ｂ、Ｃ、Ｄはそれぞれのノードの論理シミュレーションの論理波形、最下段の数字は分割した各時間におけるトグル率の合計を示しており、全シミュレーション時間１２ｎｓにおいて、分割する時間範囲を０．４ｎｓとして、３０分割している。
【００５５】
本実施の形態３の回路動作算出工程Ｓ１２を適用することにより、トグル７６が最大となっていることから、初期時間８．６ｎｓと終了時間９．４ｎｓを、限定時間範囲１５に保存する。
（実施の形態４）
本発明の実施の形態４の電源電圧変動解析方法を説明する。
【００５６】
本実施の形態４の電源電圧変動解析方法は、全体の処理手順は実施の形態１と同じであるが、回路動作算出工程Ｓ１２と回路動作データ１４と時間限定工程Ｓ１３が異なる。よって、回路動作算出工程Ｓ１２と回路動作データ１４と時間限定工程Ｓ１３について説明する。
【００５７】
本実施の形態４の電源電圧変動解析方法は、同期設計された回路に対して有効な方法であり、回路動作算出工程Ｓ１２で、論理シミュレータを用い、各ノードの動作基準となるクロックの変化があった時間からある時間までの時間範囲、例えば、一ゲートの最大遅延時間とした時間範囲におけるトグル情報を求め、時系列の回路動作データ１４に保存する。そして、時間限定工程Ｓ１３で、時系列の回路動作データ１４に基づいて、トグルが最大となる時間範囲に限定する方法である。
【００５８】
さらに、実施の形態３と同様に、各ノードのトグル計算を重み付きトグルを用いて計算することにより、トグル合計計算の精度向上を行なうことができる。同期設計の回路では、動作基準となるクロックの変化を基準に各ノードは動作するため、クロックの変化が起こってからある遅延時間の後、動作するノード数が多くなり、電源電流も増大することから、大きな電源電圧変動が起こる。
【００５９】
図７は本実施の形態４の電源電圧変動解析方法において、同期回路で動作基準となるクロックの変化時間でのトグル合計により、時間範囲を限定する処理のイメージ図であり、回路動作算出工程Ｓ１２での一例を示している。
【００６０】
図７に示すように、解析対象の各ノードの動作基準となるクロックの変化は立ち上がり動作とし、クロック、信号Ａ、Ｂ、Ｃ、Ｄはそれぞれのノードの論理シミュレーションの波形を表しており、最下段の数字は各時間範囲におけるトグル率の合計を示している。図７の例では、時間限定工程Ｓ１３で、最大のトグル合計は８２となっているので、初期時間５ｎｓ、終了時間５．１５ｎｓを限定時間範囲１５に保存する。
（実施の形態５）
本発明の実施の形態５の電源電圧変動解析方法を説明する。
【００６１】
本実施の形態５の電源電圧変動解析方法は、全体の処理手順は実施の形態１と同じであるが、電源電圧変動シミュレーション工程Ｓ１４が異なる。よって、電源電圧変動シミュレーション工程Ｓ１４について説明する。
【００６２】
本実施の形態５の電源電圧変動解析方法では、電源電圧変動シミュレーション工程Ｓ１４で、寄生素子データ付回路情報１２と入力ベクタ１３と限定時間範囲１５に基づいて、静的に電源電圧変動シミュレーションを行ない、電源電圧変動解析結果１６を求める。
【００６３】
通常の静的解析では時系列で回路状態を考慮できないため、各ノードのトグル情報は平均的な動作を示すトグル情報になってしまう。しかし、電源電圧変動シミュレーション工程Ｓ１４での静的解析では、実施の形態４の時間限定工程Ｓ１３において十分短い時間範囲に限定していることから、同時スイッチングを認識することができ、回路の誤動作の原因となる大きな電源電圧変動を求める静的解析を行なうことが可能となる。
【００６４】
また、時間限定工程Ｓ１３での具体的な初期時間および終了時間については、例えば、同期方式で設計された回路においては、初期時間には電源電流値が最大となる時間の直前の各素子の動作基準となるクロックの変化があった時間、終了時間には初期時間からクロックに同期して動作するフリップフロップに直列接続された回路の最大遅延時間分進んだ時間とする方法が考えられる。
【００６５】
初期時間をクロックの変化と同時刻にするのは、クロックの動作後、クロックに同期するフリップフロップが動作し、電源電流が増加する。よって、クロック変化時には電源電流は微小なものとなることが考えられ、回路の初期化をベクタの論理値から設定ができ、容易に回路の初期化が行なえるものと考えられる。
【００６６】
終了時間を初期時間から直列接続されたフリップフロップ間の最大遅延時間後としたのは、電源電流は各素子の動作によって流れる電流値を重ね合わせた総和であるので、フリップフロップ間の最大遅延時間まで見ておけば、十分電源電流が最大となる時間が終了時間までに収まるからである。
【００６７】
【発明の効果】
以上のように本発明によれば、シミュレーションを実行する時間範囲を限定することにより、従来の動的な電源電圧変動シミュレーションよりも高速かつ効率的に、回路動作による電源電圧変動値を求めることが可能となる。
【００６８】
また、その時間範囲を限定する方法として、簡易な回路シミュレーションを行ない、その電源電流を基に時間範囲を限定することにより、電源電圧シミュレーションの解析時間を短縮することが可能となる。
【００６９】
また、電源電流シミュレーションよりも更に簡易に計算できるトグルを基に時間範囲を限定することにより、より解析時間の短縮が可能となる。
さらに、トグル計算に重み付きトグルを用いることにより、トグル合計計算の精度を向上することが可能となる。
【００７０】
そして、同期回路において動作基準となるクロックに着目してトグルを求める時間範囲を予め絞り込むことにより、効率的にトグル計算を行なうことが可能となる。
【００７１】
また、解析時間を短い範囲に限定することにより、電源電圧変動値として、従来の静的解析での平均的な値ではなく、最大の電源電圧変動値を求めることが可能となる。
【００７２】
また、その時間範囲を限定する方法として、同期回路でクロックに同期動作するフリップフロップに接続される回路の最大遅延時間を、シミュレーションを実行する時間範囲に設定することにより、最大の電源電圧変動値が含まれる時間帯を、より短い時間で正確に限定することが可能となる。
【００７３】
以上のように、シミュレーションを実行する時間範囲を、電源電圧変動が最大になると予想される時間帯に絞り込み、その時間帯で静的解析を行うことにより、従来の静的解析では算出できなかった最大の電源電圧変動値を求めることができる。
【００７４】
その結果、半導体集積回路に対して、その回路動作による電源電圧変動を求めるシミュレーション時間を短縮し、電源電圧の変動状況を、高速に効率良くかつ正確に解析することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の電源電圧変動解析方法の処理を示すフローチャート
【図２】同実施の形態１の電源電圧変動解析方法における寄生素子付回路情報のイメージ図
【図３】同実施の形態１の電源電圧変動解析方法における電源電流解析モデルのイメージ図
【図４】同実施の形態１の電源電圧変動解析方法における電源配線の寄生素子を無負荷として電源電流を求める処理のイメージ図
【図５】本発明の実施の形態２の電源電圧変動解析方法による処理を示すイメージ図
【図６】本発明の実施の形態３の電源電圧変動解析方法による処理を示すイメージ図
【図７】本発明の実施の形態４の電源電圧変動解析方法による処理を示すイメージ図
【符号の説明】
１１　　回路情報
１２　　寄生素子データ付回路情報
１３　　入力ベクタ情報
１４　　時系列の回路動作データ
１５　　限定時間範囲データ
１６　　電源電圧変動解析結果データ
Ｓ１１　　寄生素子データ付加工程
Ｓ１２　　回路動作算出工程
Ｓ１３　　時間限定工程
Ｓ１４　　電源電圧変動シミュレーション工程
Ｇ１、Ｇ２、Ｇ３　　回路素子
Ｒｐ１、Ｒｐ２、Ｒｐ３、Ｒｐ４、Ｒｐ５　　電源配線の抵抗
Ｒｇ１、Ｒｇ２、Ｒｇ３、Ｒｇ４、Ｒｇ５　　グランド配線の抵抗
Ｒｓ１、Ｒｓ２、Ｒｓ３、Ｒｓ４、Ｒｓ５　　信号配線の抵抗
Ｃｐ１、Ｃｐ２、Ｃｐ３　　電源配線と接地間の容量
Ｃｇ１、Ｃｇ２、Ｃｇ３　　グランド配線と接地間の容量
Ｃｓ１、Ｃｓ２、Ｃｓ３、Ｃｓ４、Ｃｓ５　　信号配線と接地間の容量
ＶＧ１、ＶＧ２、ＶＧ３　　回路素子の入力電圧
ＩＧ１、ＩＧ２、ＩＧ３　　各素子に流れる電流
ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６　　回路素子に流れる電流が最大となる時間
ｈａ、ｈｂ　　回路素子電流の最大値
【図１】
2004029981.tif 000003
【図２】
2004029981.tif 000004
【図３】
2004029981.tif 000005
【図４】
2004029981.tif 000006
【図５】
2004029981.tif 000007
【図６】
2004029981.tif 000008
【図７】
2004029981.tif 000009