(57)【要約】【課題】本発明は、回路シミュレーションを用いることなく、消費電流波形を見積もることが可能な消費電流波形の推定方法を提供する。【解決手段】本発明は、セル数集計ステップＳ１と、トグル確率算出ステップＳ１と、動作セル数計算ステップＳ１と、消費電流波形見積もりステップＳ２とを備える。セル数集計ステップＳ１は、セル段数毎のセル数を集計する。トグル確率算出ステップＳ１は、セル平均トグル確率を算出する。動作セル数計算ステップＳ１は、動作セル数を計算する。消費電流波形見積もりステップＳ２は、セル段数に、予め設定したセル平均遅延値を掛けた値を時間とし、動作セル数計算ステップで計算した動作セル数に予め設定した電源電圧及びノード平均負荷容量を掛け、セル平均遅延値で除した値を消費電流値として消費電流波形を見積もる。【選択図】図１
2008052491.tif 000002
【特許請求の範囲】
【請求項１】
半導体回路のロジック部におけるデータ信号の消費電流波形を推定する方法であって、
前記半導体回路の接続情報を規定したネットリストに基づいて、前記半導体回路内の全てのパスを網羅的に探索し、セル段数毎のセル数を集計するセル数集計ステップと、
前記ネットリストからクロック信号上のセルを除く全てのセル種別と入力端子数を取得し、前記セル種別と前記入力端子数に基づいてセル平均トグル確率を算出するトグル確率算出ステップと、
前記セル数集計ステップで集計した各セル段毎のセル数と、予め設定した前記パスの始点に位置するフリップフロップ又はラッチ回路の動作率と、前記トグル確率算出ステップで算出した前記セル平均トグル確率を前記セル段数より１小さい値でべき乗した値とを掛け合わせて動作セル数を計算する動作セル数計算ステップと、
前記セル段数に、予め設定したセル平均遅延値を掛けた値を時間とし、前記動作セル数計算ステップで計算した前記動作セル数に予め設定した電源電圧及びノード平均負荷容量を掛け、前記セル平均遅延値で除した値を消費電流値として消費電流波形を見積もる消費電流波形見積もりステップとを備える消費電流波形の推定方法。
【請求項２】
半導体回路のロジック部におけるクロック信号の消費電流波形を推定する方法であって、
前記半導体回路の接続情報を規定したネットリストに基づいて、前記半導体回路内のクロックツリーを網羅的に探索し、セル段数毎のセル数を集計するセル数集計ステップと、
前記セル数集計ステップで集計した各セル段毎の前記セル数のうち、ゲーティッドクロックセルに対して予め設定したトグル確率を適用することでセル段毎の動作セル数を計算する動作セル数計算ステップと、
前記セル段数に、予め設定したセル平均遅延値を掛けた値を時間とし、前記セル段が最終段以外の場合、各セル段毎の前記動作セル数に予め設定した電源電圧及びノード平均負荷容量を掛け、前記セル平均遅延値で除した値を消費電流値とし、前記セル段が最終段の場合、最終段の前記動作セル数に予め設定した電源電圧及びクロックノード容量を掛け、前記セル平均遅延値で除した値を消費電流値として消費電流波形を見積もる消費電流波形見積もりステップとを備える消費電流波形の推定方法。
【請求項３】
半導体回路のロジック部におけるクロック信号の消費電流波形を推定する方法であって、
前記半導体回路の接続情報を規定したネットリストから採取したフリップフロップ又はラッチ回路の総数に対し、予め設定したファンアウト数に基づいて各セル段毎のセル数を推定するセル数推定ステップと、
前記セル数推定ステップで推定した各セル段毎の前記セル数のうち、最終段の１段手前に存在すると仮定したゲーティッドクロックセルに対して予め設定されたトグル確率を適用することでセル段毎の動作セル数を計算する動作セル数計算ステップと、
前記セル段数に、予め設定したセル平均遅延値を掛けた値を時間とし、前記セル段が最終段以外の場合、各セル段毎の前記動作セル数に予め設定した電源電圧及びノード平均負荷容量を掛け、前記セル平均遅延値で除した値を消費電流値とし、前記セル段が最終段の場合、最終段の前記動作セル数に予め設定した電源電圧及びクロックノード容量を掛け、前記セル平均遅延値で除した値を消費電流値として消費電流波形を見積もる消費電流波形見積もりステップとを備える消費電流波形の推定方法。
【請求項４】
請求項１に記載の消費電流波形の推定方法によりロジック部におけるデータ信号の消費電流波形を推定する第１消費電流波形推定ステップと、
請求項２又は請求項３に記載の消費電流波形の推定方法により前記ロジック部におけるクロック信号の消費電流波形を推定する第２消費電流波形推定ステップと、
前記第１消費電流波形推定ステップで推定した前記消費電流波形と、前記第２消費電流波形推定ステップで推定した前記消費電流波形とを用いて動的ＩＲドロップ検証を行う検証ステップとを備える半導体回路の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電流波形の推定方法及び半導体回路の検証方法に係る発明である。
【背景技術】
【０００２】
半導体回路であるＬＳＩ（Large Scale Integration）のチップ寸法や総消費電力の増大につれ、電源を供給する配線の構造が複雑化している。そのため、半導体回路では、配線の抵抗成分による電位降下（ＩＲドロップ）が問題となっていた。このＩＲドロップを検証するために、静的ＩＲドロップ検証ツールや動的ＩＲドロップ検証ツールが用いられていた。
【０００３】
静的ＩＲドロップ検証ツールでは、平均消費電流値を設定して検証を実施し、ＩＲドロップの平均値を求める。しかし、静的ＩＲドロップ検証ツールは、実行速度が速い反面、消費電流の時間変化が考慮できないため、容量等の成分がＩＲドロップに及ぼす影響を確認できない。代表的な静的ＩＲドロップ検証ツールとして、Synopsys社製のAstro-Rail等がある。
【０００４】
一方、動的ＩＲドロップ検証ツールは、消費電流の時間変化（消費電流波形）を設定して検証を実施するので、ＩＲドロップの時間変化を求めることができる。代表的な動的ＩＲドロップ検証ツールとして、Synopsys社製のHSIM-PWRA等がある。また、動的ＩＲドロップ検証ツールの具体例については、非特許文献１に詳しく記載されている。
【０００５】
【非特許文献１】H. Takata, R. Akiyama, T. Yamanaka, H. Ohkuma, Y. Suetsugu, T. Kanaoka, S. Kumaki, K. Ishihara, A. Hanami, T. Matsumura, T. Watanabe, Y. Ajioka, Y. Matsuda, and S. Iwade, "Physical design methodology for on-chip 64 Mb DRAM MPEG-2 encoding with a multimedia processor," IEICE Trans. Electronics, vol. E85-C, no. 2, pp. 368-374 (Feb. 2002).
【発明の開示】
【発明が解決しようとする課題】
【０００６】
動的ＩＲドロップ検証ツールは、消費電流の時間変化を考慮でき、容量等の成分がＩＲドロップに及ぼす影響を確認することができるが、消費電流波形を採取するために回路シミュレーション等を実施する必要があった。消費電流波形を採取するための回路シミュレーションを行うため、動的ＩＲドロップ検証ツールの実行速度は非常に遅くなる。このため，動的ＩＲドロップ検証を高速に実施する必要があった。また、動的ＩＲドロップ検証は、検証を実施するための負担が大きかった。
【０００７】
そこで、本発明は、回路シミュレーションを用いることなく、消費電流波形を見積もることが可能な消費電流波形の推定方法、及び当該方法で推定した消費電流波形を用いた半導体回路の検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る解決手段は、半導体回路のロジック部におけるデータ信号の消費電流波形を推定する方法であって、半導体回路の接続情報を規定したネットリストに基づいて、半導体回路内の全てのパスを網羅的に探索し、セル段数毎のセル数を集計するセル数集計ステップと、ネットリストからクロック信号上のセルを除く全てのセル種別と入力端子数を取得し、セル種別と入力端子数に基づいてセル平均トグル確率を算出するトグル確率算出ステップと、セル数集計ステップで集計した各セル段毎のセル数と、予め設定したパスの始点に位置するフリップフロップ又はラッチ回路の動作率と、トグル確率算出ステップで算出したセル平均トグル確率をセル段数より１小さい値でべき乗した値とを掛け合わせて動作セル数を計算する動作セル数計算ステップと、セル段数に、予め設定したセル平均遅延値を掛けた値を時間とし、動作セル数計算ステップで計算した動作セル数に予め設定した電源電圧及びノード平均負荷容量を掛け、セル平均遅延値で除した値を消費電流値として消費電流波形を見積もる消費電流波形見積もりステップとを備える。
【発明の効果】
【０００９】
本発明に記載の消費電流波形の推定方法は、セル数集計ステップと、トグル確率算出ステップと、動作セル数計算ステップと、消費電流波形見積もりステップとを備えるので、回路シミュレーションを用いることなく、精度良く消費電流波形を見積もることができる効果がある。
【発明を実施するための最良の形態】
【００１０】
（実施の形態１）
背景技術で説明したように、半導体回路に対して動的ＩＲドロップ検証を行う場合、消費電流波形が必要となる。本実施の形態では、特にロジック部におけるデータ信号の消費電流波形を推定する方法について以下に説明する。
【００１１】
まず、図１に、本実施の形態に係る消費電流波形の推定方法のフロー図を示す。図１では、半導体回路の接続情報（セルの種別、接続関係や入力・出力端子数等）を規定したネットリスト１がネットリスト解析のステップＳ１に入力される。ステップＳ１のネットリスト解析では、始点に位置するフリップフロップ又はラッチ回路の動作率２が入力され、後述するセル数集計、トグル確率算出及び動作セル数計算の処理が行われる。
【００１２】
さらに、図１では、ステップＳ１の出力（動作セル数）がステップＳ２の消費電流波形見積もりステップに入力される。ステップＳ２では、電源電圧、ノード平均負荷容量及びセル平均遅延値を含む外部入力データ３と、ステップＳ１の出力に基づいて消費電流波形４が見積もられ出力される。
【００１３】
次に、ステップＳ１のネットリスト解析での処理についてさらに詳しく説明する。まず、ネットリスト解析では、セル数集計処理が行われる。このセル数集計処理では、入力されたネットリストから半導体回路内の全てのパスを網羅的に探索し，セル段数毎のセル数をカウントする。具体的に、図２に示す半導体回路を用いて説明する。図２では、３つのフリップフロップ５からなる段が３段設けられ、各段がロジック回路６で接続されている。そして、図２に示す全てのパスは１８（＝３×３×２）通りあり、この全てのパスを網羅的に探索してセル段数毎のセル数をカウントする。
【００１４】
さらに、パスの検索及びセル数のカウントの条件を詳しく説明すると、半導体回路内の全てのフリップフロップ又はラッチ回路を探索時の始点とし、全てのフリップフロップ又はラッチ回路、ゲーティッドクロックセル及び出力端子を探索時の終点とする。また、全始点から探索を開始し、ネットリストに従いパスを探索し、そのパスが終点に到達すると探索を終了する。また、同一セルに複数のパスが到達した場合には、セルを重複してカウントする。
【００１５】
上述の条件について具体例を用いて説明する。まず、図３（ａ）では、１段目が１つのセル（Ａ）、２段目が２つのセル（Ｂ，Ｃ）、３段目が３つのセル（Ｄ，Ｅ，Ｆ）となる。また、図３（ｂ）では、１段目が２つのセル（Ａ，Ｂ）、２段目はセルＣのみであるがセルＡからのパスとセルＢからのパスが重複するので、２つのセル（Ｃ，Ｃ）となる。同様に、図３（ｂ）では、３段目が４つのセル（Ｄ，Ｄ，Ｅ，Ｅ）となる。また、図３（ｃ）では、１段目が１つのセル（Ａ）、２段目が２つのセル（Ｂ，Ｃ）、３段目が２つのセル（Ｄ，Ｅ）となる。さらに、図３（ｃ）では、セルＤからセルＥに至るパスが存在するため４段目が１つのセル（Ｅ）となる。なお、図３では、始点のセルを四角で表し、重複してカウントされるセルをハッチングで表している。
【００１６】
次に、ネットリスト解析では、トグル確率算出処理が行われる。このトグル確率算出処理では、ネットリストからクロック信号上のセルを除く全セルのトグル確率の平均値を算出する。なお、セルトグル確率とは、あるセルの入力が変化（例えばＬｏｗからＨｉｇｈ）した際に、出力も変化（例えばＨｉｇｈからＬｏｗ）する確率をいう。具体的に、トグル確率の平均値を算出する方法を以下に示す。
【００１７】
まず、ネットリストからセル種別（セルがＮＡＮＤやＮＯＲ等）及び入力端子数を採取し、このセル種別と入力端子数からセルのトグル確率を算出する方法がある。この方法を利用した例として、入力端子数が１のセルについてはトグル確率を１００％、それ以外の入力端子数のセルについてはトグル確率を一律５０％とする第１の方法がある。また、トグル確率＝１／（２＾（入力端子数−１））の計算式によりトグル確率を算出する第２の方法がある。さらに、セル種別毎に、第１の方法と第２の方法とを組み合わせる第３の方法がある。具体的に、第３の方法では、セル種別がＡＮＤ，ＮＡＮＤ，ＯＲ，ＮＯＲの場合には第２の方法を適用し、セル種別がその他の場合には第１の方法を適用する。さらに、第１の方法乃至第３の方法において、セル種別がＥｘｃｌｕｓｉｖｅ−ＯＲ，Ｅｘｃｌｕｓｉｖｅ−ＮＯＲの場合、トグル確率を入力端子数等にかかわらず１００％とする第４の方法がある。
【００１８】
また、トグル確率の平均値を算出する場合、半導体回路内の全セルについてセル種別と入力端子数を調査してトグル確率を算出し、フリップフロップ又はラッチ回路、ゲーティッドクロックセル等のクロック信号上のセルを除いて平均値を求める。
【００１９】
次に、ネットリスト解析では、動作セル数計算処理が行われる。この動作セル数計算処理では、セル数集計処理で得た結果、トグル確率算出処理で得た結果、及び始点に位置するフリップフロップ又はラッチ回路の動作率２に基づき、セル段数毎の動作セル数分布を算出する。具体的には、動作セル数＝各セル段のセル数×始点に位置するフリップフロップ又はラッチ回路の動作率×平均トグル確率＾（セル段数−１）で求めることができる。
【００２０】
次に、ステップＳ２の消費電流波形見積もりステップでの処理についてさらに詳しく説明する。この消費電流波形見積もりステップでは、ステップＳ１の結果である動作セル数と、外部入力データ３である電源電圧、ノード平均負荷容量、セル平均遅延値とに基づいて、消費電流波形４を見積もる。具体的には、時間＝セル段数×セル平均遅延値とし、消費電流値＝動作セル数×ノード平均負荷容量×電源電圧／セル平均遅延値として求めることができる。
【００２１】
上述のように求められた時間及び消費電流値を、横軸を時間、縦軸を消費電流値としてグラフ化すると図４の消費電流波形見積結果となる。図４では、本実施の形態で求めた消費電流波形４と比較するために、回路シミュレーション結果も合わせて記載されている。なお、回路シミュレーション結果は、複数回のシミュレーションパターンを平均化したものである。また、図４では、０．０ｎｓよりも遅い部分が、ロジック部におけるデータ信号の消費電流波形を示している。
【００２２】
以上のように、本実施の形態では、回路シミュレーションを実施することなしに、回路シミュレーションを実施することで得られる消費電流波形に近いロジック部におけるデータ信号の消費電流波形を見積もることができる。また、本実施の形態では、半導体回路内で動作するパス、セルのトグル確率、セルの遅延値，ノード負荷容量等の条件の全てが平均化した状態で消費電流波形が求められる。そのため、半導体回路の消費電流波形は、シミュレーションパターンによって様々に異なるが、それらを平均化すると本実施の形態で見積もった消費電流波形と近くなる。
【００２３】
（実施の形態２）
本実施の形態では、特にロジック部におけるクロック信号の消費電流波形を推定する方法について以下に説明する。
【００２４】
まず、図５に、本実施の形態に係る消費電流波形の推定方法のフロー図を示す。図５では、半導体回路の接続情報（セルの種別、接続関係や入力・出力端子数等）を規定したネットリスト１がネットリスト解析のステップＳ１に入力される。ステップＳ１のネットリスト解析では、ゲーティッドクロックセルのトグル確率１０が入力され、後述するセル数集計及び動作セル数計算の処理が行われる。
【００２５】
さらに、図５では、ステップＳ１の出力（動作セル数）がステップＳ２の消費電流波形見積もりステップに入力される。ステップＳ２の消費電流波形見積もりステップでは、電源電圧、ノード平均負荷容量、クロックノード容量及びセル平均遅延値を含む外部入力データ１１と、ステップＳ１の出力に基づいて消費電流波形４が見積もられ出力される。
【００２６】
次に、ステップＳ１のネットリスト解析での処理についてさらに詳しく説明する。まず、ネットリスト解析では、セル数集計処理が行われる。このセル数集計処理では、入力されたネットリストから半導体回路内の全てのクロックツリーを網羅的に探索し，セル段数毎のセル数をカウントする。
【００２７】
具体的には、半導体回路内の全てのクロック入力端子を探索時の始点とし、全てのフリップフロップ又はラッチ回路を探索時の終点とする。そして、全ての始点から探索を開始し、ネットリスト１に従いクロックツリーのパスを探索し、そのパスが終点に到達するまで行う。当該探索により、各セル段毎のセル数を集計することができる。
【００２８】
次に、ネットリスト解析では、動作セル数計算処理が行われる。この動作セル数計算処理では、セル数集計処理の結果に対して、各セルのトグル確率を反映することにより、セル段毎の動作セル数を算出する。
【００２９】
クロックツリー上には、クロックドライバセル、フリップフロップ又はラッチ回路やゲーティッドクロックセルが存在するが、クロックドライバセル及びフリップフロップ又はラッチ回路のトグル確率は１００％とし、ゲーティッドクロックセルのトグル確率は予め設定した値（例えば、２０％）とする。このため、本実施の形態では、実施の形態１と異なりトグル確率算出処理を行う必要がない。
【００３０】
また、クロックツリー上にゲーティッドクロックセルが存在する場合、それより後段のセル動作率は、ゲーティッドクロックセルのトグル確率に基づき補正される。図６を用いて具体的に説明すると、クロック入力端子に接続されたクロックドライバセル１２はトグル確率が１００％であるが、トグル確率が２０％のゲーティッドクロックセル１３の後段に位置するクロックドライバセル１４のトグル確率は２０％となる。つまり、ゲーティッドクロックセル１３の後段のセル動作率は、ゲーティッドクロックセル１３の前段セル動作率にゲーティッドクロックセル１３のトグル確率を掛けた値となる。
【００３１】
次に、ステップＳ２の消費電流波形見積もりステップでの処理についてさらに詳しく説明する。この消費電流波形見積もりステップでは、ステップＳ１の結果である動作セル数と、外部入力データ１１である電源電圧、ノード平均負荷容量、クロックノード容量及びセル平均遅延値とに基づいて、消費電流波形を見積もる。具体的には、時間＝セル段数×セル平均遅延値とし、最終段以外の消費電流値＝動作セル数×ノード平均負荷容量×電源電圧／セル平均遅延値とし、最終段の消費電流値＝動作セル数×クロックノード容量×電源電圧／セル平均遅延値として求めることができる。
【００３２】
ここで、クロックノード容量とは、フリップフロップ又はラッチ回路内のクロックノード容量であって、図７に示す矢印の容量値の合計である。なお、図７は、あるフリップフロップの回路図であり、図を簡略化するためにクロック信号Ｔ０，Ｔ１のそれぞれが入力される部分の配線は省略している。また、図７において、トランジスタのゲートに記載されている矢印はゲート容量であり、他の矢印は配線容量等である。
【００３３】
上述のように求められた時間及び消費電流値を、横軸を時間、縦軸を消費電流値としてグラフ化すると図８となる。図８では、本実施の形態で求めた消費電流波形と比較するために、回路シミュレーション結果も合わせて記載されている。なお、回路シミュレーション結果は、複数回のシミュレーションパターンを平均化したものである。また、図８では、０．０ｎｓよりも早い部分が、ロジック部におけるクロック信号の消費電流波形を示している。
【００３４】
また、本実施の形態の消費電流波形見積もりステップでは、最終段以外と最終段とで求める方が異なっている。これは、クロックツリーの最終段が必ずフリップフロップ又はラッチ回路となるためである。また、フリップフロップ又はラッチ回路内のクロックノード容量とノード平均負荷容量とでは値が大きく異なるため、精度良く消費電流波形を見積もるためには、最終段以外と最終段とで求める方を変える必要がある。
【００３５】
以上のように、本実施の形態では、実施の形態１の消費電流波形の推定方法を応用することにより、回路シミュレーションを実施することなしに、ロジック部におけるクロック信号の消費電流波形を見積もることができる。また、本実施の形態では、クロックツリーを構成するセルが、クロックドライバセル、フリップフロップ又はラッチ回路やゲーティッドクロックセルに限定されているので、動作セル数の算出がロジック部におけるデータ信号の場合に比べて簡略化できる。
【００３６】
（実施の形態３）
実施の形態２では、クロックツリーが確定しているネットリストを利用して消費電流波形を推定する方法であったが、本実施の形態は、クロックツリーが確定する前のネットリストを利用して消費電流波形を推定する方法である。そのため、本実施の形態では、ネットリスト解析のステップＳ１において、セル段毎の動作セル数を算出する方法が実施の形態２と異なる。以下に、本実施の形態に係る消費電流波形の推定方法を説明する。
【００３７】
まず、図９に、本実施の形態に係る消費電流波形の推定方法のフロー図を示す。図９では、半導体回路の接続情報（セルの種別、接続関係や入力・出力端子数等）を規定したネットリスト１がネットリスト解析のステップＳ１に入力される。ステップＳ１のネットリスト解析では、ゲーティッドクロックセルのトグル確率１０とファンアウト数２０が入力され、後述するセル数推定及び動作セル数計算の処理が行われる。
【００３８】
さらに、図９では、ステップＳ１の出力（動作セル数）がステップＳ２の消費電流波形見積もりステップに入力される。ステップＳ２の消費電流波形見積もりステップでは、電源電圧、ノード平均負荷容量、クロックノード容量及びセル平均遅延値を含む外部入力データ１１と、ステップＳ１の出力に基づいて消費電流波形４が見積もられ出力される。
【００３９】
次に、ステップＳ１のネットリスト解析での処理についてさらに詳しく説明する。なお、ステップＳ２の消費電流波形見積もりステップは、実施の形態２と同じであるため詳細な説明を省略する。まず、ネットリスト解析では、セル数推定処理が行われる。このセル数推定処理では、実施の形態２と異なりクロックツリーが確定していないため、以下の条件からセル数を推定する。
【００４０】
推定する条件は、ネットリスト１から採取したフリップフロップ又はラッチ回路の全てが同一セル段に存在すると仮定する。そして、この全てのフリップフロップ又はラッチ回路に対し、予め設定されたファンアウト数２０から、前段に必要なドライバ数を推定する。なお、ドライバ数が１となるまで、複数段同様の処理を行う。なお、ファンアウト数２０は、クロックツリーのファンアウト数の平均値である。
【００４１】
上記の処理を具体的に説明すると、まず、セル数推定処理は、ネットリスト１から１０００個のフリップフロップ又はラッチ回路が存在するとの情報を採取する。そして、予め設定されたファンアウト数２０が５である場合、フリップフロップ又はラッチ回路の前段のドライバ数は１０００／５＝２００個となる。同様の処理を繰り返すと、前２段目のドライバ数は２００／５＝４０個、前３段目のドライバ数は４０／５＝８個、前４段目のドライバ数は２個、前５段目のドライバ数は１個となる。なお、前４段目及び前５段目はファンアウト数２０では割り切れないが、必要なドライバ数を記載している。以上の処理により、推定されるセル数は６段で１２５１セルであることが分かる。
【００４２】
次に、ネットリスト解析では、動作セル数計算処理が行われる。この動作セル数計算処理では、実施の形態２と同様、セル数推定処理の結果に対して、各セルのトグル確率を反映することにより、セル段毎の動作セル数を算出する。なお、本実施の形態では、全てのゲーティッドクロックセルが最終段（フリップフロップ又はラッチ回路）の１段手前に存在すると仮定して、動作セル数を算出する。つまり、図６を用いて説明すると、図示していない４段目を最終段とする場合、ゲーティッドクロックセル１３とクロックドライバセル１４との位置が逆転する構成となる。そして、図６に示す上側のパスは１００％動作し、中及び下側のパスは、最終段の１段手前にゲーティッドクロックセル１３が存在するので２０％動作することになる。
【００４３】
上述のネットリスト解析の結果で得られた動作セル数に基づいて、実施の形態２で説明した消費電流波形見積もりステップを行い、図８に示したような消費電流波形を推定することができる。
【００４４】
以上のように、本実施の形態では、クロックツリー設計前（クロックツリーが確定する前）であっても、フリップフロップ又はラッチ回路の数が確定していれば、ロジック部におけるクロック信号の消費電流波形を見積もることができる。また、本実施の形態では、クロックツリー各段のセル数は、ファンアウト数２０の情報に基づき大まかに見積もることができる。
【００４５】
なお、実施の形態１の方法で推定したロジック部におけるデータ信号の消費電流波形と、実施の形態２又は実施の形態３の方法で推定したロジック部におけるクロック信号の消費電流波形とを利用して、動的ＩＲドロップ検証を行う。これにより、動的ＩＲドロップ検証ツールの実行速度は、回路シミュレーション結果を用いる場合に比べて早くなり、検証を実施するための負担が小さくなる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態１に係る消費電流波形の推定方法のフロー図である。
【図２】本発明の実施の形態１に係る半導体回路のパスを説明する図である。
【図３】本発明の実施の形態１に係るセル数のカウントを説明する図である。
【図４】本発明の実施の形態１に係る消費電流波形を示す図である。
【図５】本発明の実施の形態２に係る消費電流波形の推定方法のフロー図である。
【図６】本発明の実施の形態２に係るクロックツリーを説明する図である。
【図７】本発明の実施の形態２に係るクロックノード容量を説明する図である。
【図８】本発明の実施の形態２に係る消費電流波形を示す図である。
【図９】本発明の実施の形態３に係る消費電流波形の推定方法のフロー図である。
【符号の説明】
【００４７】
１  ネットリスト、２  動作率、３，１１  外部入力データ、４  消費電流波形、５  フリップフロップ、６  ロジック回路、１０  トグル確率、１２，１４  クロックドライバセル、１３  ゲーティッドクロックセル、２０  ファンアウト数。
【図１】
2008052491.tif 000003
【図２】
2008052491.tif 000004
【図３】
2008052491.tif 000005
【図４】
2008052491.tif 000006
【図５】
2008052491.tif 000007
【図６】
2008052491.tif 000008
【図７】
2008052491.tif 000009
【図８】
2008052491.tif 000010
【図９】
2008052491.tif 000011