(57)【要約】【課題】大規模な半導体集積回路に対しても短時間、且つ、高精度な解析を行い得る電源電圧変動解析方法、電源電流変動解析方法、電源電圧変動解析装置、及び電源電流変動解析装置を提供することにある。【解決手段】解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する回路素子選択部１と、選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成部２と、解析部３とで電源電圧変動解析装置を構成する。解析部３は、選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出する解析用回路抽出部８と、解析用回路に解析用パタンを入力して解析用回路内の複数箇所における電源電圧変動値を算出する電源電圧変動算出部９と、電源電圧変動値と予め設定された閾値とを対比するエラー検出部１０とで構成する。【選択図】　図１
2004062672.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の電源電圧変動解析方法であって、
解析対象となる前記半導体集積回路を構成する一つ以上の回路素子を選択する選択工程と、
前記選択工程で選択された回路素子を動作させる解析用パタンを生成する解析用パタン生成工程と、
前記解析用パタンを入力として前記半導体集積回路の電源電圧変動解析を行なう解析工程とを少なくとも有することを特徴とする電源電圧変動解析方法。
【請求項２】
前記選択工程において、フリップフロップ、ラッチ及びメモリモジュールが、前記回路素子として選択される請求項１記載の電源電圧変動解析方法。
【請求項３】
前記選択工程において、前記半導体集積回路を構成する回路素子の消費電流に制限値を設け、前記半導体集積回路を構成する回路素子のうち、遷移時の消費電流が前記制限値よりも大きい回路素子を選択対象とする請求項１記載の電源電圧変動解析方法。
【請求項４】
前記選択工程において、前記回路素子が、前記半導体集積回路の配置配線情報に基づいて選択される請求項１記載の電源電圧変動解析方法。
【請求項５】
前記半導体集積回路の配置配線情報に基づいて、前記半導体集積回路を複数個に分割するエリアを設定し、前記エリア毎に前記選択工程、前記解析用パタン生成工程及び前記解析工程を実施する請求項１記載の電源電圧変動解析方法。
【請求項６】
前記エリアの設定が、前記半導体集積回路に配置された電源配線に沿って行なわれる請求項４記載の電源電圧変動解析方法。
【請求項７】
前記半導体集積回路の電源配線を複数個に分割する電源配線部分を設定し、前記電源配線部分毎に、前記選択工程、前記解析用パタン生成工程及び解析工程を実施する請求項１記載の電源電圧変動解析方法。
【請求項８】
前記半導体集積回路の電源配線が基幹電源配線と分岐配線とで構成されており、前記電源配線部分が、両端にのみ基幹電源配線への経路を有する前記分岐配線を複数個に分割する切片又は前記切片の集合である請求項７記載の電源電圧変動解析方法。
【請求項９】
前記解析用パタン生成工程において、前記選択工程で選択された各回路素子について出力遷移方向毎の消費電流を求め、前記求めた消費電流が最も大きい出力遷移方向及び回路素子を少なくとも特定し、前記特定された回路素子を前記特定された出力遷移方向に遷移させる前記解析用パタンを生成する請求項１記載の電源電圧変動解析方法。
【請求項１０】
前記解析用パタン生成工程において、前記選択工程で選択された回路素子の全部を同じクロックサイクルでトグル動作させる前記解析用パタンを生成する請求項２記載の電源電圧変動解析方法。
【請求項１１】
前記解析工程において、前記選択工程で選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出し、前記解析用回路に前記解析用パタンを入力して前記解析用回路内の複数箇所における電源電圧変動値を算出し、前記電源電圧変動値と予め設定された閾値とを対比することによって前記電源電圧変動解析を行なう請求項１記載の電源電圧変動解析方法。
【請求項１２】
前記選択工程で選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出するに際し、前記解析用パタンの入力によってトグル動作しない回路素子が除かれる請求項１１記載の電源電圧変動解析方法。
【請求項１３】
半導体集積回路の電源電流変動解析方法であって、
解析対象となる前記半導体集積回路を構成する一つ以上の回路素子を選択する選択工程と、
前記選択工程で選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成工程と、
前記解析用パタンを入力として前記半導体集積回路の電源電流変動解析を行なう解析工程とを少なくとも有することを特徴とする電源電流変動解析方法
【請求項１４】
半導体集積回路の電源電圧変動を解析する電源電圧変動解析装置であって、
解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する回路素子選択部と、
前記選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成部と、
前記解析用パタンを入力として前記半導体集積回路の電源電圧変動解析を行う解析部とを少なくとも有することを特徴とする電源電圧変動解析装置。
【請求項１５】
半導体集積回路の電源電流変動を解析する電源電流変動解析装置であって、
解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する回路素子選択部と、
前記選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成部と、
前記解析用パタンを入力として前記半導体集積回路の電源電流変動解析を行なう解析部とを少なくとも有することを特徴とする電源電流変動解析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路における電源電圧又は電源電流の解析に関するものであり、特には、電源電圧又は電源電流の変動が大きくなるようなテストパタンを半導体集積回路に入力し、半導体集積回路における電源電圧変動又は電源電流変動の最大値を求めて解析を行なう方法又は装置に関する。
【０００２】
【従来の技術】
半導体集積回路の微細化に伴い、半導体集積回路の電源電圧変動が問題となっている。この電源電圧変動は、動作速度の低下や回路の誤動作を引き起こす可能性がある。このため、電源電圧変動を解析することが重要である。
【０００３】
半導体集積回路の電源電圧変動を解析する方法としては、テストパタンを用いて各時間での半導体集積回路内部の電源電圧変動を計算する動的解析と、テストパタンを用いずに半導体集積回路の平均電流から電源電圧変動を計算する静的解析とがある。
【０００４】
従来、半導体集積回路の電源電圧変動を動的に解析方法する場合、テストパタンを半導体集積回路の外部から入力して、内部の動作のシミュレーションをすることにより、電源電圧変動が算出される。
【０００５】
また、従来の電源電圧変動解析を静的に行う方法として、特願平１０−２７１５２１号公報には、静的に算出した各インスタンスの動作時間から最大消費電流の時刻、値、及び位置を算出し、これに基づき電源電圧変動を解析する方法が提案されている。
【０００６】
【発明が解決しようとする課題】
ところで、半導体集積回路の電源電圧変動は、半導体集積回路内部の動作によって異なっている。このため、上述した従来の動的解析方法によって、最大の電源電圧変動値を求めるには、多数のテストパタンを入力する必要があり、又半導体集積回路の内部の各地点での電源電圧変動を求める必要がある。
【０００７】
しかし、これには膨大な時間がかかり、全てのテストパタンについて内部の電源電圧変動値をチェックすることはほぼ不可能である。また、半導体集積回路の回路規模が増大する現在、大規模な半導体集積回路では、解析のための計算量が膨大になり、チップ全体での電源電圧変動解析は究めて困難である。
【０００８】
また、上述した従来の静的解析方法では、回路を静的に扱っているため、全てのセルが動作すると仮定している。従って、半導体集積回路の実際の動作が考慮できないため、電流値を大きく見積もりすぎてしまうという問題がある。
【０００９】
本発明の目的は、上記問題を解消し、大規模な半導体集積回路に対しても短時間、且つ、高精度な解析を行い得る電源電圧変動解析方法、電源電流変動解析方法、電源電圧変動解析装置、及び電源電流変動解析装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる電源電圧変動解析方法は、半導体集積回路の電源電圧変動解析方法であって、解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する選択工程と、選択工程で選択された回路素子を動作させる解析用パタンを生成する解析用パタン生成工程と、解析用パタンを入力として半導体集積回路の電源電圧変動解析を行なう解析工程とを少なくとも有することを特徴とする。
【００１１】
この特徴により、本発明にかかる電源電圧変動解析方法は、解析対象となる半導体集積回路から回路素子を限定的に選択するため、回路素子を動作させる解析用パタンの生成を容易に行なうことができ、更に、容易に大きな電源電圧変動を発生させることができる。この結果、高度の電源電圧変動解析を行なうことができる。
【００１２】
次に、上記目的を達成するために本発明にかかる電源電流変動解析方法は、半導体集積回路の電源電流変動解析方法であって、解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する選択工程と、選択工程で選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成工程と、解析用パタンを入力として半導体集積回路の電源電流変動解析を行なう解析工程とを少なくとも有することを特徴とする。
【００１３】
この特徴により、本発明にかかる電源電流変動解析方法においても、解析対象となる半導体集積回路から回路素子を限定的に選択するため、回路素子を動作させる解析用パタンの生成を容易に行なうことができ、更に、容易に大きな電源電流変動を発生させることができる。この結果、高度の電源電流変動解析を行なうことができる。
【００１４】
また、上記目的を達成するために本発明にかかる電源電圧変動解析装置は、半導体集積回路の電源電圧変動を解析する電源電圧変動解析装置であって、解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する回路素子選択部と、選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成部と、解析用パタンを入力として半導体集積回路の電源電圧変動解析を行う解析部とを少なくとも有することを特徴とする。
【００１５】
この特徴により、本発明にかかる電源電圧変動解析装置は、解析対象となる半導体集積回路から回路素子を限定的に選択するため、回路素子を動作させる解析用パタンの生成を容易に行なうことができ、更に、容易に大きな電源電圧変動を発生させることができる。この結果、高度の電源電圧変動解析を行なうことができる。
【００１６】
また、上記目的を達成するために本発明にかかる電源電流変動解析装置は、半導体集積回路の電源電流変動を解析する電源電流変動解析装置であって、解析対象となる半導体集積回路を構成する一つ以上の回路素子を選択する回路素子選択部と、選択された回路素子の全部又は一部を動作させる解析用パタンを生成する解析用パタン生成部と、解析用パタンを入力として半導体集積回路の電源電流変動解析を行なう解析部とを少なくとも有することを特徴とする。
【００１７】
この特徴により、本発明にかかる電源電流変動解析装置においても、解析対象となる半導体集積回路から回路素子を限定的に選択するため、回路素子を動作させる解析用パタンの生成を容易に行なうことができ、更に、容易に大きな電源電流変動を発生させることができる。この結果、高度の電源電流変動解析を行なうことができる。
【００１８】
【発明の実施の形態】
上記本発明にかかる電源電圧変動解析方法においては、選択工程において、フリップフロップ、ラッチ及びメモリモジュールが、回路素子として選択されるのが好ましい。この場合は、特に、解析対象となる半導体集積回路がクロックに同期して動作する同期回路である場合において、上記効果を顕著にすることができる。
【００１９】
また、上記本発明にかかる電源電圧変動解析方法においては、選択工程において、半導体集積回路を構成する回路素子の消費電流に制限値を設け、半導体集積回路を構成する回路素子のうち、遷移時の消費電流が前記制限値よりも大きい回路素子を選択対象とするのも好ましい。この場合は、特に、解析対象となる半導体集積回路がクロックに同期しない非同期回路である場合において、上記効果を顕著にすることができる。
【００２０】
更に、上記本発明にかかる電源電圧変動解析方法においては、選択工程において、回路素子が、半導体集積回路の配置配線情報に基づいて選択されるのも好ましい。この場合は、解析対象となる半導体集積回路の配置配線情報に基づいて、回路素子を選択することができるため、局所的に電源電圧変動が大きくなる解析パタンを容易に生成することが可能となる。
【００２１】
上記本発明にかかる電源電圧変動解析方法においては、半導体集積回路の配置配線情報に基づいて、半導体集積回路を複数個に分割するエリアを設定し、エリア毎に選択工程、解析用パタン生成工程及び解析工程を実施するのが好ましい態様である。また、この態様においては、エリアの設定は、半導体集積回路に配置された電源配線に沿って行なうのが好ましい。
【００２２】
この態様によれば、エリア毎に回路素子の選択、解析用パタンの生成、解析が行なわれる。このため、特に半導体集積回路が複雑化及び大規模化した場合であっても、局所的な大きな電源電圧変動を起こす解析用パタンの生成が容易となる。この結果、複雑化及び大規模化した半導体集積回路に対しても精度の高い電源電圧解析を行うことができる。この態様は電源配線がメッシュ状に配線されている場合に特に有効である。
【００２３】
また、上記本発明にかかる電源電圧変動解析方法においては、半導体集積回路の電源配線を複数個に分割する電源配線部分を設定し、電源配線部分毎に、選択工程、解析用パタン生成工程及び解析工程を実施するのも好ましい態様である。また、この態様においては、半導体集積回路の電源配線が基幹電源配線と分岐配線とで構成されており、電源配線部分が、両端にのみ基幹電源配線への経路を有する分岐配線を複数個に分割する切片又は切片の集合であるのが好ましい。
【００２４】
この態様によれば、電源配線部分毎に回路素子の選択、解析用パタンの生成、解析が行なわれる。このため、この態様においても、上記態様と同様に、半導体集積回路が複雑化及び大規模化した場合であっても、局所的な大きな電源電圧変動を起こす解析用パタンの生成が容易となり、精度の高い電源電圧解析を行うことができる。この態様は電源配線がメッシュ状に配線されていない場合に特に有効である。
【００２５】
上記本発明にかかる電源電圧変動解析方法においては、解析用パタン生成工程において、選択工程で選択された各回路素子について出力遷移方向毎の消費電流を求め、求めた消費電流が最も大きい出力遷移方向及び回路素子を少なくとも特定し、特定された回路素子を特定された出力遷移方向に遷移させる解析用パタンを生成するのが好ましい態様である。
【００２６】
特に、選択工程においてフリップフロップ、ラッチ及びメモリモジュールが、回路素子として選択される場合では、解析用パタン生成工程において、選択工程で選択された回路素子の全部を同じクロックサイクルでトグル動作させる解析用パタンを生成するのが好ましい態様である。
【００２７】
このような態様で解析用パタンを生成すれば、選択された回路素子が動作するパタンの中で電源電圧変動が最大になるパタンを簡単に生成することができる。
【００２８】
また、上記本発明にかかる電源電圧変動解析方法においては、解析工程において、選択工程で選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出し、解析用回路に解析用パタンを入力して解析用回路内の複数箇所における電源電圧変動値を算出し、電源電圧変動値と予め設定された閾値とを対比することによって電源電圧変動解析を行なうのが好ましい態様である。
【００２９】
このような態様で解析を行なえば、電源電圧変動の大きい箇所を容易に検出することができ、容易に電源電圧変動に対する対策を行うことが可能となる。
【００３０】
また、この態様においては、選択工程で選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出するに際し、解析用パタンの入力によってトグル動作しない回路素子を除いておくのが更に好ましい態様である。この場合は、解析時間の短縮化が図れるので、特に大規模な半導体集積回路を解析する場合に有効である。
【００３１】
以下、本発明の電源電圧変動解析装置及び電源電圧変動解析方法について、図面を参照しながら説明する。
【００３２】
（実施の形態１）
最初に本発明の実施の形態１にかかる電源電圧変動解析装置の構成について図１〜図４に基づいて説明する。図１は本発明の実施の形態１にかかる電源電圧変動解析装置の構成を示す構成図である。
【００３３】
本発明の実施の形態１にかかる電源電圧変動解析装置は、半導体集積回路（図示せず）の電源電圧変動を解析するための装置である。本実施の形態１において、解析対象となる半導体集積回路はクロック同期回路である。図１に示すように、本発明の実施の形態１にかかる電源電圧変動解析装置は、回路素子選択部１、解析用パタン生成部２と、解析部３とを少なくとも有している。
【００３４】
回路素子選択部１は、解析対象となる半導体集積回路の配置配線情報５に基づいて、この半導体集積回路を構成する一つ以上の回路素子を選択する。回路素子の選択は、半導体集積回路における消費電流の変化に大きく寄与するかどうかを基準に行なわれる。本実施の形態１においては、解析対象となる半導体集積回路がクロック同期回路であるため、フリップフロップ、ラッチ及びメモリモジュールが選択される。
【００３５】
なお、解析対象となる半導体集積回路が同期回路でない場合のように、回路構成上、選択された全てのフリップフロップやラッチ等をトグル動作させることができない場合には、電源電圧変動は回路素子における遷移時の消費電流に依存する。よって、この場合は、回路素子選択部１は、予め、半導体集積回路を構成する回路素子の消費電流に対して制限値を設けておき、遷移時の消費電流がこの制限値よりも大きい回路素子を選択する。
【００３６】
配置配線情報５は、レイアウト設計によって作成された配置配線情報である。本実施の形態１においては、寄生抵抗、寄生容量及び寄生インダクタンス等を考慮したポストレイアウトシミュレーションの終了後の配置配線情報が用いられている。
【００３７】
解析用パタン生成部２は、解析対象となる半導体集積回路の論理設計によって作成された論理ネットリスト４に基づいて、回路素子選択部１で選択された回路素子が動作する解析用パタンを自動生成する。
【００３８】
本実施の形態１では、上述したように、半導体集積回路はクロック同期回路であり、フリップフロップ、ラッチ及びメモリモジュールが選択される。このため、解析用パタン生成部２は、選択された回路素子の全部を同じクロックサイクルでトグル動作させるパタンを、解析用パタンとして生成する。また、解析用パタン生成部２は、生成した解析用パタンを入力した時にトグル動作する回路素子を特定する情報（以下「回路素子トグル情報」という。）６を作成する。
【００３９】
なお、解析対象となる半導体集積回路が同期回路でない場合のように、回路構成上、選択された全てのフリップフロップやラッチ等をトグル動作させることができない場合には、上述したように電源電圧変動は電源電流に依存する。このため、この場合は、解析用パタン生成部２は、回路素子に流れる電流がより大きくなるような解析用パタンを生成する。
【００４０】
解析部３は、解析用パタンを入力として半導体集積回路の電源電圧変動解析を行なう。本実施の形態１においては、解析部３は、解析用回路抽出部８と、電源電圧変動算出部９と、エラー検出部１０とで構成されている。
【００４１】
解析用回路抽出部８は、回路素子選択部１によって選択された回路素子とそれに接続された配線とで構成された解析用回路を抽出する。具体的には、解析用パタン生成部２で作成された回路素子トグル情報６に基づいて、配置配線情報５の中から、解析用パタンによってトグル動作する回路素子及びそれに接続されている配線とを抽出することによって、解析用回路を抽出する。
【００４２】
なお、解析用回路の抽出に際しては、回路素子トグル情報６が用いられるため、結果、解析用パタンの入力によってトグル動作しない回路素子が除かれた解析用回路が抽出される。このため、解析時間の短縮化が図られる。
【００４３】
電源電圧変動算出部９は、抽出された解析用回路に解析用パタンを入力して解析用回路内の各地点での電源電圧波形を求め、電源電圧変動値を算出する。具体的には、解析用回路から抵抗成分、容量成分を抽出したインピーダンス回路に、解析用パタンを入力し、シミュレーションにより、回路内の各地点での電源電圧波形を求める。
【００４４】
エラー検出部１０は、予め設定された半導体集積回路内の各地点での電源電圧変動の閾値と、電源電圧変動算出部が算出した電源電圧変動値とを対比し、この電源電圧変動値が閾値を越える場合は、解析用回路の閾値を越えた箇所をエラー箇所として出力する。
【００４５】
この電源電圧変動の閾値は、各回路素子における電源電圧変動のピーク値及びピーク幅のうちのどちらか一方、又は両方の組み合せに対応する値であり、各回路素子がタイミングエラーおよび誤動作を引き起こす値に設定されている。また、この電源電圧変動の閾値は、関数の状態で又は実際の数値で、電源電圧変動閾値ライブラリ７として記憶されている。
【００４６】
なお、本実施の形態１において、論理ネットリスト４、配置配線情報５、回路素子トグル情報６、電源電圧変動閾値ライブラリ７は、記憶装置又は記憶媒体に記憶されている。この記憶装置又は記憶媒体は、本実施の形態１にかかる電源電圧変動解析装置の内部に備えられていても良いし、他の装置に備えられていても良い。
【００４７】
次に、本実施の形態１にかかる電源電圧変動解析方法、及び図１で示した本実施の形態１にかかる電源電圧変動解析装置の具体的な動作について、図２〜図４に基づいて説明する。図２は、本発明の実施の形態１にかかる電源電圧変動解析方法を示すフロー図である。図３は、実施の形態１において解析対象となる半導体集積回路のレイアウトを概略的に示すレイアウト図である。
【００４８】
本実施の形態１にかかる電源電圧変動解析方法は、図１で示した本実施の形態１にかかる電源電圧変動解析装置を動作することによって実施できる。このため、図２は、本実施の形態１にかかる電源電圧変動解析装置の動作をも示しており、以下の説明においては適宜図１を参酌する。
【００４９】
最初に、図２に示すように、回路素子選択部１により、半導体集積回路に複数のエリアを設定する（ステップＳ１）。更に、回路素子選択部１により、設定された複数のエリアのなかから任意の一つのエリアを選択し、この選択したエリア内に含まれるフリップフロップ、ラッチ、メモリモジュールを選択する（ステップＳ２）。
【００５０】
ここで、ステップＳ１及びＳ２について図３を用いて説明する。図３に示すように、回路素子選択部１により、解析対象となる半導体集積回路１１は、メッシュ状に配線された電源配線１２に沿って、複数のエリア１３に分割され、選択された任意のエリア内に含まれるフリップフロップ、ラッチ、及びメモリモジュールが選択される。
【００５１】
本実施の形態１では、半導体集積回路が略等分割されるようにエリアが設定されているが、これは電源配線１２が均等なメッシュ状に配線されているためである。電源配線１２が不均等なメッシュ状に配線されている場合は半導体集積回路が不均等に分割されるエリア設定でも良い。
【００５２】
また、電源配線がツリー状に配線されている場合は、各枝の端点に基づいてエリアの設定を行なうことで、効果的な解析を行なうことが可能である。更に、半導体集積回路に複数の電源系統が存在する場合、即ち、複数の電圧が供給される場合や同じ電圧であっても異なる電源配線を持つ等の場合には、電源配線毎に、電源配線に沿って上記と同様にエリアを設定すれば良い。
【００５３】
また、エリアの設定は電源配線に沿った態様に限定されるものではなく、例えば、半導体集積回路内のトランジスタの配置がブロック化されている場合であれば、そのブロックに従ってエリアの設定を行なえば良い。
【００５４】
次に、図２に示すように、解析用パタン生成部２によって、論理ネットリスト１４に基づいて、選択されたフリップフロップ、ラッチ及びメモリモジュールを同じクロックサイクルで全てトグル動作させる解析用パタンを生成する（ステップＳ３）。なお、本実施の形態１においては、解析用パタンの生成は、ＡＴＰＧ（ａｕｔｏｍａｔｉｃ　ｔｅｓｔ　ｐａｔｔｅｒｎ　ｇｅｎｅｒａｔｉｏｎ）法を用いて行なわれ、選択された回路素子（フリップフロップ、ラッチ、メモリモジュール）が動作することによって、より多くの電源電流が流れるテストパタンが生成される。このステップＳ３については後述する。
【００５５】
次いで、解析部３により、半導体集積回路の電源電圧変動解析を行なう（ステップＳ４〜Ｓ７）。具体的には、先ず、解析用回路抽出部８により、解析用回路を抽出する（ステップＳ３）。なお、本実施の形態１では、この解析用回路は、ステップＳ２で選択されたエリアの全部又は一部を構成している回路である。
【００５６】
更に、電源電圧変動算出部９により、抽出した解析用回路に解析用パタンを入力し、解析用回路内、即ち選択されたエリア内の各地点での電源電圧波形を求めて電源電圧変動値を算出する（ステップＳ５）。
【００５７】
次いで、エラー検出部１０により、電源電圧変動閾値ライブラリ７に記憶された電源電圧変動の閾値とステップＳ５で算出された電源電圧変動値との比較を行なう（ステップＳ６）。
【００５８】
比較の結果、ステップＳ５で算出された電源電圧変動値が閾値より大きい場合は、エラー検出部１０は、ステップＳ２で選択されたエリアをエラー箇所として出力し（ステップＳ７）、その後ステップＳ８に移行する。一方、ステップＳ５で算出された電源電圧変動値が閾値より小さい場合は、ステップＳ２で選択されたエリアは、電源電圧変動について問題がないため、ステップＳ８に移行する。
【００５９】
なお、エラー箇所として出力されたエリアについては、電源配線における幅の変更、デカップリング容量の挿入等の修正が適宜行なわれる。このため、電源電圧変動による誤動作を防止でき、信頼性の高い半導体集積回路のレイアウトを提供することが可能となる。
【００６０】
その後、ステップＳ８において、ステップＳ１で設定されたエリア全てについてステップＳ２〜Ｓ７の処理が終了したかどうか判断する。終了していた場合は、全ての処理を終了し、終了していない場合は、残りのエリアについてステップＳ２〜Ｓ７の処理を繰り返す。
【００６１】
以下に、解析用パタンの生成（図２に示すステップＳ３）について図４を用いて説明する。図４は、実施の形態１にかかる電源電圧変動解析方法で実施される解析用パタン生成工程を具体的に示すフロー図である。なお、図４に示す解析用パタン生成工程は、フリップフロップ及びラッチに対する解析用パタンを生成する例である。また、図４の例では、全フリップフロップをスキャンチェインにより接続しており、スキャン用のＡＴＰＧ手法が用いられる。
【００６２】
図４に示すように、先ず、ステップＳ２（図２）で選択された各回路素子について出力遷移方向毎の消費電流を求める（ステップＳ１１）。具体的には、選択されたフリップフロップとラッチについて、０（ゼロ）から１にトグル動作した場合と、１から０（ゼロ）にトグル動作した場合との消費電力を求める。次いで、求めた消費電流が最も大きいトグル動作、即ち求めた消費電流が最も大きい出力遷移方向及びフリップフロップ又はラッチを特定する（ステップＳ１２）。
【００６３】
次に、ＡＴＰＧ法によって、特定されたフリップフロップ又はラッチの初期値を、特定された出力遷移方向に遷移する前の値に設定する入力を作成する（ステップＳ１３）。更に、ＡＴＰＧ法によって、特定されたフリップフロップ又はラッチの初期値を反転させる入力、即ちこれら以外のフリップフロップ又はラッチの初期値の値を設定する入力を作成する（ステップＳ１４）。このステップＳ１３及びＳ１４を実施することにより、特定された出力遷移方向に、特定されたフリップフロップ又はラッチをトグル動作させる解析用パタンが生成される。
【００６４】
次に、選択された全フリップフロップ及びラッチについて、ステップＳ１３及びＳ１４の処理により、トグル動作する入力が作成されているかどうかを確認する（ステップＳ１５）。全フリップフロップ及びラッチについてトグル動作する入力が作成されている場合は、ステップＳ３（図２）を終了し、ステップＳ４（図２）に移行する。一方、全フリップフロップ及びラッチについてトグル動作する入力が作成されていない場合は、ステップＳ１２に戻り、次に消費電流の大きい動作を選択し、ステップＳ１２〜Ｓ１４の処理を行なう。なお、この場合のステップＳ１３及びＳ１４では、既に前の処理によって初期値が決定しているフリップフロップ及びラッチについては、この初期値を反転させる入力が作成される。
【００６５】
このように、本実施の形態１においては、消費電流の大きいトグル動作を優先的に用いることにより、より電源電圧変動の最大値に近い値を得られる解析用パタンを作成することができる。
【００６６】
ステップＳ２（図２）で選択された回路素子に、フリップフロップ又はラッチに加えて、メモリモジュールが含まれる場合は、スキャンのシフト動作時に、メモリへの書き込みが行われないように、メモリモジュールの制御信号を制御する必要がある。このため、先ず、メモリモジュールにおける特定のアドレスの値が０（ゼロ）、別のアドレスの値が１になるように予め書き込みを行なう。
【００６７】
次に、メモリモジュールにおける書き込みや読み出し等の動作の中で消費電流が多くなる動作及び初期値の組み合せを、メモリモジュールの書き込み時及び読み出し時における消費電流の値から特定し、その動作が発生するように解析用パタンを生成する。
【００６８】
例えば、解析用パタンによって０（ゼロ）から１への書き込み動作を起こさせる場合には、予め０（ゼロ）を書き込んだアドレスに１が書き込まれるようアドレスおよびデータを設定する。そして、そのアドレスに対しメモリモジュールが書き込み動作を行なうよう、ＡＴＰＧ手法により解析用パタンの生成を行なう。
【００６９】
また、解析用パタンによって０（ゼロ）から１への読み出し動作を起こさせる場合には、読み出すアドレスを設定し、そのアドレスに１を予め書き込んでおく。そして、そのアドレスに対しメモリモジュールがデータの読み出し動作を行なうよう、ＡＴＰＧ手法により解析用パタンの生成を行なう。なお、この場合、対象となるアドレスを設定するためのスキャンのシフト動作時に、最後にメモリからの読み出し動作が行なわれるアドレスを確認しておき、このアドレスには予め０（ゼロ）を書き込んでおく。
【００７０】
なお、本実施の形態１においては、解析用パタンの生成はスキャン用のＡＴＰＧ手法により行なわれるが、本発明はこれに限定されるものではない。本発明においては、スキャン用のＡＴＰＧ手法以外の他の方法、例えばディレ１故障用のＡＴＰＧ手法、ＢＩＳＴ等によって、消費電流の大きいトグル動作を起こす解析用パタンを生成することもできる。
【００７１】
このように、本実施の形態１では、フリップフロップやラッチ等のクロックに同期する回路素子の遷移時における瞬時電流が、半導体集積回路において最大値となることが多いことを利用して、電源電圧変動の最大値の解析を行なっている。
【００７２】
このため、容易に大きな電源電圧変動を発生させることができるため、たとえ、解析対象となる半導体集積回路が大規模化しても、従来に比べて、簡単且つ短時間で電源電圧変動の解析を行なうことができる。更に、半導体集積回路を規則的なエリアに分割し、エリア毎に電源電圧変動を解析できるため、従来に比べて解析用パタンの作成が容易となる。
【００７３】
なお、本実施の形態１では、解析対象となる半導体集積回路がクロックに同期する同期回路であり、フリップフロップやラッチ等のクロックに同期する回路素子の遷移時における瞬時電流が、クロックの変化に伴って最大値となることが多いことことから、フリップフロップやラッチ等のクロックに同期する回路素子を選択して、解析用パタンを生成している。
【００７４】
但し、解析対象となる半導体集積回路が非同期回路である場合のように、クロックに同期しない回路の場合は、例えば、ステップＳ１（図２）で設定されたエリアに含まれる回路素子の中から遷移時の消費電流の多い回路素子を選択し、それらの回路がトグル動作するパタンを生成することで上記と同じ効果を得ることが可能である。
【００７５】
また、解析対象となる半導体集積回路が、同期回路である場合であっても、クロックの変化から遅れて大きな電流を流す回路素子が含まれている場合であれば、このような回路素子を選択し、その回路素子を遷移させる解析用パタンを生成することで、又はメモリのプリチャージのような動作を起こさせる解析用パタンを生成すること等で、上記と同じ効果を得ることが可能である。
【００７６】
（実施の形態２）
次に、本発明の実施の形態２にかかる電源電圧変動解析装置及び電源電圧変動解析方法について、図５及び図６を参照しながら説明する。
【００７７】
本実施の形態２にかかる電源電圧変動解析装置も、実施の形態１と同様に、回路素子選択部と、解析用パタン生成部と、解析部とで構成されており、更に解析部は解析用回路抽出部と、電源電圧変動算出部と、エラー検出部とで構成されている。但し、本実施の形態２においては、回路素子選択部における動作が、実施の形態１と異なっている。
【００７８】
図５は、本発明の実施の形態２にかかる電源電圧変動解析方法を示すフロー図である。図６は、実施の形態２において解析対象となる半導体集積回路のレイアウトを概略的に示すレイアウト図であり、図６（ａ）はレイアウト全体を示し、図６（ｂ）はレイアウトを部分的に拡大して示す。
【００７９】
本実施の形態２にかかる電源電圧変動解析方法も、本実施の形態２にかかる電源電圧変動解析装置を動作させることによって実施できる。このため、図５は、本実施の形態２にかかる電源電圧変動解析装置の動作をも示している。
【００８０】
最初に、図５に示すように、回路素子選択部により、配置配線情報に基づいて、回路素子を選択するための複数の電源配線部分を設定する（ステップＳ２１）。次に、複数の電源配線部分のなかから任意の一つの電源配線部分を選択し、この選択した電源配線部分に接続されたフリップフロップ、ラッチ、メモリモジュールを選択する（ステップＳ２２）。
【００８１】
ここで、ステップＳ２１で設定される電源配線部分について図６を用いて説明する。図６（ａ）及び（ｂ）に示すように、半導体集積回路２１の電源配線は、基幹電源配線２５と分岐配線２３及び２４とで構成されている。このうち、基幹電源配線２５と分岐配線２４とでメッシュ構造が形成されている。
【００８２】
また、フリップフロップやラッチ、メモリモジュールといった回路素子２６は、機能ブロック２２内に配置されており、分岐配線２３に直接接続されている。回路素子２６が直接接続される分岐配線２３は、ビア２７を介して、基幹電源配線２５とメッシュ構造を形成する分岐配線２４に接続されている。
【００８３】
本実施の形態２においては、両端にのみ基幹電源配線２５への経路を有し、且つ、途中に基幹電源配線２５への経路を有さない分岐配線２３を、複数個に分割する切片２８ａ〜２８ｈの集合が、ステップＳ２１で設定される電源配線部分となる。よって、本実施の形態２においては、この切片２８ａ〜２８ｈのいずれかに接続されたフリップフロップ、ラッチ及びメモリモジュールの中から、ステップＳ２２において回路素子が選択される。
【００８４】
なお、本実施の形態２においては、切片２８ａ〜２８ｈのうちのいくつかを選択して電源配線部分とすることもできる。この場合、選択された切片は連続していても良いし、連続していないが近接するものであっても良い。
【００８５】
次に、解析用パタン生成部により、選択された電源配線部分に接続されたフリップフロップ、ラッチ及びメモリモジュールを同じクロックサイクルで全てトグル動作させる解析用パタンをＡＴＰＧ法により生成する（ステップＳ２３）。更に、解析用回路抽出部により、選択された電源配線部分を解析用回路として抽出し（ステップＳ２４）、電源電圧変動算出部により、解析用回路内の各地点での電源電圧変動値を算出する（ステップＳ２５）。
【００８６】
次いで、エラー検出部により、電源電圧変動閾値ライブラリに記憶された電源電圧変動の閾値とステップＳ２５で算出された電源電圧変動値との比較を行なう（ステップＳ２６）。電源電圧変動値が閾値より大きい場合は、エラー検出部により、選択された電源配線部分がエラー箇所として出力される（ステップＳ２７）。
【００８７】
本実施の形態２においても、エラー箇所として出力された電源配線部分については、電源配線における幅の変更、デカップリング容量の挿入等の修正が適宜行なわれる。このため、電源電圧変動による誤動作を防止でき、信頼性の高い半導体集積回路のレイアウトを提供することが可能となる。
【００８８】
その後、ステップＳ２８において、ステップＳ２１で設定された全ての電源配線部分についてステップＳ２２〜Ｓ２７の処理が終了したかどうか判断する。終了していた場合は、全ての処理を終了し、終了していない場合は、残りの電源配線部分についてステップＳ２２〜Ｓ２７の処理を繰り返す。
【００８９】
このように、本実施の形態２においては、解析対象となる電源配線部分に接続されるフリップフロップ及びラッチ等をトグル動作させる解析用パタンを入力して、解析対象となる電源配線部分の電源電圧変動の最大値を求めることで、電源電圧変動解析が行なわれる。
【００９０】
一般に、基幹電源配線、又はメッシュ構造を構成する電源配線は、配線幅が広く、多くの並行配線経路を有している。このため、本実施の形態２のように、分岐配線の切片に流れる電流をひとまとまりとして解析することによっても、実施の形態１と同様の効果を得ることができる。
【００９１】
（実施の形態３）
次に、本発明の実施の形態３にかかる電源電流変動解析装置及び電源電流変動解析方法について、図７を参照しながら説明する。
【００９２】
本実施の形態３にかかる電源電流変動解析装置は、実施の形態１と同様に、回路素子選択部と、解析用パタン生成部と、解析部とで構成されている。但し、本実施の形態３にかかる電源電流変動解析装置は、実施の形態１にかかる電源電圧変動解析装置と異なり、解析部は、電源電圧変動算出部の代わりに、電源電流変動算出部を備えている。
【００９３】
電源電流変動算出部は、抽出された解析用回路に解析用パタンを入力する点で、実施の形態１における電源電圧変動算出部と同様であるが、解析用回路内の各地点での電源電流波形を求め、電源電流のピーク値と電源電流の平均値とを算出する点で、実施の形態１における電源電圧変動算出部と異なっている。
【００９４】
また、エラー検出部は、予め設定された半導体集積回路内の各地点での電源電流のピーク値に対して設けた閾値と、電源電流変動算出部が算出した電源電流のピーク値とを対比し、この電源電流のピーク値が閾値を越える場合に、解析用回路の閾値を越えた箇所をエラー箇所として出力する。更に、エラー検出部は、電源電流の平均値に対して設けた閾値と、電源電流変動算出部が算出した電源電流の平均値との対比も行い、この電源電流の平均値が閾値を越える場合も、解析用回路の閾値を越えた箇所をエラー箇所として出力する。
【００９５】
更に、本実施の形態３にかかる電源電流変動解析装置は、電源電圧変動閾値ライブラリの代わりに、電源電流のピーク値に対して設けた閾値と平均値に対して設けた閾値とを記憶した電源電流変動閾値ライブラリを備えている。これら閾値も、各回路素子がタイミングエラーおよび誤動作を引き起こす値に設定されている。また、これら閾値も、関数の状態で又は実際の数値で、電源電流変動閾値ライブラリに記憶されている。
【００９６】
図７は、本発明の実施の形態３にかかる電源電流変動解析方法を示すフロー図である。本実施の形態３にかかる電源電流変動解析方法は、本実施の形態３にかかる電源電流変動解析装置を動作させることによって実施できる。このため、７は、本実施の形態３にかかる電源電流変動解析装置の動作をも示している。
【００９７】
図７に示すように、最初に、回路素子選択部により、回路素子の選択するためのエリアの設定（ステップＳ３１）、回路素子の選択（ステップＳ３２）が行なわれ、次いで、解析用パタン生成部により解析用パタンの生成が行なわれ（ステップＳ３３）、更に、解析用回路抽出部により解析用回路の抽出（ステップＳ３４）が行なわれる。なお、ステップＳ３１〜ステップＳ３４は、実施の形態１におけるステップＳ１〜ステップＳ４と同様にして行なわれる。
【００９８】
次に、電源電流変動算出部により、ステップＳ３４で抽出した解析用回路に解析用パタンを入力して、解析用回路内の各地点での電源電流波形を求め、電源電流のピーク値と電源電流の平均値とを算出する（ステップＳ３５）。
【００９９】
次に、エラー検出部により、電源電流変動閾値ライブラリに記憶された電源電流のピーク値に対して設けた閾値と、ステップＳ３５で算出された電源電流のピーク値との比較を行なう（ステップＳ３６）。
【０１００】
比較の結果、ステップＳ３５で算出された電源電流のピーク値が閾値より大きい場合は、エラー検出部は、ステップＳ３２で選択されたエリアをエラー箇所として出力し（ステップＳ３７）、その後ステップＳ３８に移行する。一方、ステップＳ３５で算出された電源電流のピーク値が閾値より小さい場合は、ステップＳ３２で選択されたエリアは電源電流のピーク値に対して問題ないとして、ステップＳ３８に移行する。
【０１０１】
次に、ステップＳ３８において、エラー検出部により、電源電流変動閾値ライブラリに記憶された電源電流の平均値に対して設けた閾値と、ステップＳ３５で算出された電源電流の平均値との比較を行なう。
【０１０２】
比較の結果、ステップＳ３５で算出された電源電流の平均値が閾値より大きい場合も、エラー検出部は、ステップＳ３７と同様に、ステップＳ３２で選択されたエリアをエラー箇所として出力し（ステップＳ３９）、その後ステップＳ４０に移行する。一方、ステップＳ３５で算出された電源電流の平均値が閾値より小さい場合は、ステップＳ３２で選択されたエリアは、電源電流の平均値に対して問題ないとして、ステップＳ４０に移行する。
【０１０３】
その後、ステップＳ４０において、ステップＳ３１で設定されたエリア全てについてステップＳ３２〜Ｓ４０の処理が終了したかどうか判断する。終了していた場合は、全ての処理を終了し、終了していない場合は、残りのエリアについてステップＳ３２〜Ｓ４０の処理を繰り返す。
【０１０４】
なお、エラー箇所として出力されたエリアについては、本実施の形態３においても、電源配線における幅の変更、デカップリング容量の挿入等の修正が適宜行なわれる。このため、電源電流変動による誤動作を防止でき、信頼性の高い半導体集積回路のレイアウトを提供することが可能となる。
【０１０５】
このように、本実施の形態３においても、実施の形態１と同様に、フリップフロップやラッチ等のクロックに同期する回路素子の遷移時における瞬時電流が、半導体集積回路において最大値となることが多いことを利用して、電源電流変動の最大値の解析を行なっている。
【０１０６】
このため、容易に大きな電源電流変動を発生させることができるため、例え、解析対象となる半導体集積回路が複雑になっても、簡単且つ短時間で電源電流変動の解析を行なうことができる。更に、半導体集積回路を規則的なエリアに分割し、エリア毎に電源電流変動を解析できるため、従来に比べて解析用パタンの作成が容易となる。
【０１０７】
また、本実施の形態３においても、実施の形態１と同様に、解析対象となる半導体集積回路がクロックに同期しない回路の場合や、同期回路である場合であっても、クロックの変化から遅れて大きな電流を流す回路素子が含まれている場合は、大きな電流を流す回路素子を選択して解析用パタンを生成することで、上記と同じ効果を得ることが可能である。
【０１０８】
【発明の効果】
以上のように本発明にかかる電源電圧変動解析方法、電源電流変動解析方法、電源電圧変動解析装置、及び電源電流変動解析装置においては、解析対象となる半導体集積回路を構成する回路素子の中から電流変化に大きく寄与する回路素子を選択して、解析用パタン生成及び解析が行なわれる。このため、大規模な半導体集積回路に対しても、従来に比べて短時間で解析を行なうことができ、又高精度で信頼性の高い解析結果を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかる電源電圧変動解析装置の構成を示す構成図である。
【図２】本発明の実施の形態１にかかる電源電圧変動解析方法を示すフロー図である。
【図３】実施の形態１において解析対象となる半導体集積回路のレイアウトを概略的に示すレイアウト図である。
【図４】実施の形態１にかかる電源電圧変動解析方法で実施される解析用パタン生成工程を具体的に示すフロー図である。
【図５】本発明の実施の形態２にかかる電源電圧変動解析方法を示すフロー図である。
【図６】実施の形態２において解析対象となる半導体集積回路のレイアウトを概略的に示すレイアウト図であり、図６（ａ）はレイアウト全体を示し、図６（ｂ）はレイアウトを部分的に拡大して示す。
【図７】本発明の実施の形態３にかかる電源電流変動解析方法を示すフロー図である。
【符号の説明】
１　回路素子選択部
２　解析パタン生成部
３　解析部
４　論理ネットリスト
５　配置配線情報
６　回路素子トグル情報
７　電源電圧変動閾値ライブラリ
８　解析用回路抽出部
９　電源電圧変動算出部
１０　エラー検出部
１１、２１　半導体集積回路
１２　電源配線
２２　機能ブロック
２３、２４　分岐配線
２５　基幹電源配線
２６　回路素子
２７　ビア
２８ａ〜２８ｈ　分岐配線の切片
【図１】
2004062672.tif 000003
【図２】
2004062672.tif 000004
【図３】
2004062672.tif 000005
【図４】
2004062672.tif 000006
【図５】
2004062672.tif 000007
【図６】
2004062672.tif 000008
【図７】
2004062672.tif 000009