(57)【要約】【課題】半導体装置の電源電圧の変動を抑制する。【解決手段】プロセッサ２は、半導体装置１１の電力解析計算で得られる、電源電流の波形データと、半導体装置１１の内部回路１３の複数の信号のそれぞれの波形データとを取得し、電源電流の波形データに基づき、電源電流の単位時間での変化量が規定値Ｉｔｈよりも大きくなる時刻ｔ１を検出する。また、プロセッサ２は、複数の信号のそれぞれの波形データから、時刻ｔ１よりある時間前の時刻ｔ３を基準とした時間Δｔ２の範囲で論理レベルが変化する波形データを抽出し、抽出した波形データの論理レベルの変化時刻に基づいてトリガ信号を生成して調整回路１４に通知し、トリガ信号の生成タイミングに基づき、調整回路１４に電源電圧の調整を開始させる電源変動通知回路１２を生成する。【選択図】図１
2016208290.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが、半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得し、
前記プロセッサが、前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出し、
前記プロセッサが、前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出し、
前記プロセッサが、前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する、
ことを特徴とする設計方法。
【請求項２】
前記プロセッサは、前記複数の信号のうち２以上にそれぞれに対応した前記第３の波形データの論理演算結果に基づいて前記トリガ信号を生成する前記回路を生成することを特徴とする請求項１に記載の設計方法。
【請求項３】
前記第１の時間は、前記変化量が大きいほど長いことを特徴とする請求項１または２に記載の設計方法。
【請求項４】
前記プロセッサは、前記トリガ信号を、前記半導体装置で行われる複数の動作のそれぞれに対応して生成し、
前記プロセッサは、前記複数の動作のそれぞれに対応して抽出した前記第３の波形データのうち、２以上の動作で共通して抽出した第４の波形データを除いて前記トリガ信号の生成を行う前記回路を生成する、ことを特徴とする請求項１乃至３の何れか一項に記載の設計方法。
【請求項５】
前記プロセッサは、前記変化量を保持する第１の保持部を生成し、前記トリガ信号とともに、前記変化量を前記調整回路に通知する前記半導体装置を生成する、ことを特徴とする請求項１乃至４の何れか一項に記載の設計方法。
【請求項６】
前記回路は、前記変化時刻での前記第３の波形データの値を保持する第２の保持部と、前記第２の保持部の出力に基づき前記トリガ信号を生成する論理演算回路と、を有することを特徴とする請求項１乃至５の何れか一項に記載の設計方法。
【請求項７】
前記プロセッサは、前記内部回路に設けたカウンタのカウンタ値に基づき前記第１の時刻及び前記第２の時刻を決定し、前記カウンタが前記第２の時刻に対応する第１のカウンタ値になると、前記トリガ信号を生成し、前記カウンタをリセットする前記回路を生成する、ことを特徴とする請求項１乃至６の何れか一項に記載の設計方法。
【請求項８】
前記プロセッサは、前記トリガ信号に基づき、前記内部回路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御回路を生成する、ことを特徴とする請求項１乃至７の何れか一項に記載の設計方法。
【請求項９】
半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得する取得部と、
前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出する検出部と、
前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出する抽出部と、
前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する生成部と、
を有することを特徴とする設計装置。
【請求項１０】
半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得し、
前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出し、
前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出し、
前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計方法、設計装置及びプログラムに関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integrated circuit）などの半導体装置では、電源電圧が変動すると、回路動作が不安定となる。そのため、一定の電源電圧が保たれるように、回路への電流供給量を調整する機能を有する電源回路やレギュレータ回路を含む半導体装置を設計することが行われている。
【０００３】
また、回路内の電源線とグランドとの間に接続されたバイパスコンデンサ（デカップリング容量とも呼ばれる）を設け、そのコンデンサに対して充放電が行われるようにすることで、電源電圧の変動を抑える手法もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−５３９８４号公報
【特許文献２】特開２００３−２１６２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
半導体装置では、たとえば、処理内容などによって消費電力が変化する。処理の切り替わりタイミングでは、電源回路の負荷が急変し、電源電圧が変動する。
しかしながら、従来の電源電圧変動の抑制手法では、このような変動に追従して電源電圧を抑制することが困難であり、電源電圧の変動幅が大きいと、回路の誤動作を引き起こす懸念があった。
【０００６】
そのため、半導体装置の電源電圧の変動を抑えることが課題である。
【課題を解決するための手段】
【０００７】
発明の一観点によれば、プロセッサが、半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得し、前記プロセッサが、前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出し、前記プロセッサが、前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出し、前記プロセッサが、前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する、設計方法が提供される。
【０００８】
また、発明の一観点によれば、半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得する取得部と、前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出する検出部と、前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出する抽出部と、前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する生成部と、を有する設計装置が提供される。
【０００９】
また、発明の一観点によれば、半導体装置の電力解析計算で得られる、電源電流の第１の波形データと、前記半導体装置の内部回路の複数の信号のそれぞれの第２の波形データとを取得し、前記第１の波形データに基づき、前記電源電流の単位時間での変化量が第１の値よりも大きくなる第１の時刻を検出し、前記複数の信号のそれぞれの前記第２の波形データから、前記第１の時刻より第１の時間前の第２の時刻を基準とした第２の時間の範囲で論理レベルが変化する第３の波形データを抽出し、前記第３の波形データの前記論理レベルの変化時刻に基づいてトリガ信号を生成し、前記トリガ信号を電源電圧の調整を行う調整回路に通知し、前記トリガ信号の生成タイミングに基づき、前記調整回路に前記電源電圧の調整を開始させる回路を生成する、処理をコンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１０】
開示の設計方法、設計装置及びプログラムによれば、半導体装置の電源電圧の変動を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の設計方法及び設計装置の一例を示す図である。
【図２】第１の実施の形態の設計装置の一例の機能ブロック図である。
【図３】第２の実施の形態の設計装置の一例を示す図である。
【図４】第２の実施の形態の設計方法の一例の処理の流れを示すフローチャートである。
【図５】電源変動通知回路の生成及び追加処理の一例の流れを示すフローチャートである。
【図６】半導体装置で行われる複数の動作の例を示す図である。
【図７】電源電流の波形データと電源電圧の波形データの一例を示す図である。
【図８】電源電流が急変する時刻の検出例を示す図である。
【図９】トリガ発生基準時刻の決定例を示す図である。
【図１０】時間Δｔｂ１の設定例を示す図である。
【図１１】抽出対象となる理想的な内部回路の信号の一例を示す図である。
【図１２】抽出対象の信号例とトリガ信号の生成例を示す図である。
【図１３】複数の動作について行われた抽出処理にて抽出された信号の波形データを削除する処理の一例の流れを示すフローチャートである。
【図１４】電源変動通知回路が追加された半導体装置の一例を示す図である。
【図１５】トリガ信号生成部の一例を示す図である。
【図１６】４ビットのコードで示される電流値の一例を示す図である。
【図１７】セレクタの一例を示す図である。
【図１８】１チップの半導体装置の一例を示す図である。
【図１９】複数チップのＩＣを含む半導体装置の一例を示す図である。
【図２０】確認画面の一例を示す図である。
【図２１】カウンタ値に基づきトリガ信号を生成する電源変動通知回路を含む半導体装置の一例を示す図である。
【図２２】カウンタを用いた半導体装置の動作を説明する図である。
【図２３】第４の実施の形態の半導体装置の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の設計方法及び設計装置の一例を示す図である。
【００１３】
また、図２は、第１の実施の形態の設計装置の一例の機能ブロック図である。
設計装置１は、たとえば、コンピュータであり、プロセッサ２と記憶部３を有している。プロセッサ２は、記憶部３に記憶されているデータ及びプログラムに基づき、図２に示すような、取得部２ａ、検出部２ｂ、抽出部２ｃ、生成部２ｄの機能を実現する。記憶部３は、プロセッサ２が実行するプログラムや、半導体装置の消費電力を見積もる電力解析で得られる各種波形データ（以下電力解析データ１０と呼ぶ）や、半導体装置の設計データなどの各種データを記憶する。
【００１４】
電力解析データ１０には、電源電流の波形データ（電源電流の時間変化）や、半導体装置の内部回路の複数の信号の波形データ（信号の時間変化）が含まれている。
以下、上記のような設計装置１を用いた設計方法の一例を、図１、図２を用いて説明する。
【００１５】
取得部２ａは、記憶部３に記憶されている電力解析データ１０から、電源電流の波形データと、設計対象の半導体装置の内部回路の複数の信号のそれぞれの波形データとを取得する（ステップＳ１）。内部回路の複数の信号のそれぞれの波形データとは、電力解析データ１０に含まれる、内部回路内の各ノードの電位の時間変化を示すデータである。
【００１６】
検出部２ｂは、電源電流の波形データに基づき、電源電流の単位時間での変化量が規定値よりも大きくなる時刻を検出する（ステップＳ２）。規定値は、電源電流が急変したとみなす変化量の閾値であり、適宜設定される。
【００１７】
図１には、半導体装置の内部回路がある動作を行っているときの、電源電流の波形データの一例が示されている。図１に示す例では、時刻ｔ１から始まる単位時間Δｔ１での電源電流の変化量ΔＩが規定値Ｉｔｈよりも大きくなっている。そのため、検出部２ｂは、たとえば、時刻ｔ１を、電源電流の単位時間Δｔ１での変化量ΔＩが規定値Ｉｔｈよりも大きくなる時刻として検出する。なお、検出部２ｂは、時刻ｔ１から、単位時間Δｔ１後の時刻ｔ２、または、時刻ｔ１と時刻ｔ２の中間の時刻を、電源電流の単位時間での変化量が規定値よりも大きくなる時刻として検出してもよい。
【００１８】
抽出部２ｃは、取得した複数の信号のそれぞれの波形データから、ステップＳ２の処理で検出した時刻（たとえば、時刻ｔ１）よりも、所定時間前の時刻ｔ３を基準とした時間Δｔ２の範囲で論理レベルが変化する信号の波形データを抽出する（ステップＳ３）。
【００１９】
なお、所定時間は、たとえば、前述の電源電流の変化量ΔＩの複数の大きさに対応して複数設定されている。変化量ΔＩが大きいほど、調整回路において電源電圧の調整に時間がかかるため、長い時間が設定されており、早めに調整を開始できるようになっている。
【００２０】
時間Δｔ２は、たとえば、時刻ｔ３に対して１クロック前から１クロック後までの時間など、適宜設定可能である。また、初めは時間Δｔ２＝０として、抽出される波形データの数に応じて、時間Δｔ２の長さが変更されるようにしてもよい。
【００２１】
図１の例では、信号Ｗａ，Ｗｂ，Ｗｃのそれぞれの波形データが抽出された例が示されている。信号Ｗａ〜Ｗｃは、時間Δｔ２の範囲内において、論理レベルがＬ（Low）レベルからＨ（High）レベルに変化している。なお、論理レベルがＨレベルからＬレベルに変化する信号についても、抽出対象であってよい。
【００２２】
次に、生成部２ｄは、電源変動通知回路を生成する（ステップＳ４）。電源変動通知回路は、抽出された波形データの論理レベルの変化時刻に基づきトリガ信号を生成し、そのトリガ信号を、電源電圧を調整する調整回路に通知し、トリガ信号の生成タイミングに基づき調整回路に電源電圧の調整を開始させる回路である。このような電源変動通知回路の設計データは、設計対象の半導体装置の設計データに追加される。
【００２３】
ステップＳ３の処理で、複数の波形データが抽出されたときには、その複数の波形データの論理演算結果に基づき、トリガ信号を生成する電源通知回路が生成される。
図１には、生成部２ｄによって生成され、半導体装置１１に追加された電源変動通知回路１２の一例が示されている。
【００２４】
電源変動通知回路１２は、ＡＮＤ回路１２ａを有し、ステップＳ３の処理で抽出された内部回路１３の信号Ｗａ，Ｗｂ，ＷｃのＡＮＤ論理演算結果に基づきトリガ信号を生成して、調整回路（レギュレータ）１４に供給している。図１の例では、時間Δｔ２の範囲で最後に論理レベルが変化する信号Ｗｃの立ち上がり時刻ｔ４に同期してトリガ信号が生成されている（アサートされている）。調整回路１４は、トリガ信号のアサートにより、電源電圧の変動を予め察知して、内部回路１３への電流供給量を調整することで電源電圧の調整を開始し、電源電圧の変動を抑制する。
【００２５】
なお、電源変動通知回路１２は、前述の電源電流の変化量ΔＩとともに、電源電流が増加するのか、減少するのかを示す情報を保持し、それらをトリガ信号とともに調整回路１４に供給するようにしてもよい。
【００２６】
上記の設計方法及び設計装置１では、電力解析データ１０に基づき、急な電源電流の変動の発生時刻の前の時間で論理レベルが変化する内部信号の変化時刻に基づきトリガ信号を生成して電源変動を前もって調整回路に通知する電源変動通知回路１２が生成される。これにより、電源電流の変動（負荷の変動）への追従性が向上し、内部回路１３における処理の切り替わりなどによる負荷の急激な変動が生じても、電源電圧の変動を抑えることができる。そのため、内部回路１３において、電源電圧の変動による誤動作の発生を抑制できる。
【００２７】
（第２の実施の形態）
以下、第２の実施の形態の設計方法及び設計装置の一例を示す。
図３は、第２の実施の形態の設計装置の一例を示す図である。
【００２８】
設計装置は、たとえば、コンピュータ２０であり、プロセッサ２１によって装置全体が制御されている。プロセッサ２１には、バス２９を介してＲＡＭ（Random Access Memory）２２と複数の周辺機器が接続されている。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２９】
ＲＡＭ２２は、コンピュータ２０の主記憶装置として使用される。ＲＡＭ２２には、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００３０】
バス２９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）２３、グラフィック処理装置２４、入力インタフェース２５、光学ドライブ装置２６、機器接続インタフェース２７及びネットワークインタフェース２８がある。
【００３１】
ＨＤＤ２３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２３は、コンピュータ２０の補助記憶装置として使用される。ＨＤＤ２３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３２】
グラフィック処理装置２４には、モニタ２４ａが接続されている。グラフィック処理装置２４は、プロセッサ２１からの命令にしたがって、画像をモニタ２４ａの画面に表示させる。モニタ２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３３】
入力インタフェース２５には、キーボード２５ａとマウス２５ｂとが接続されている。入力インタフェース２５は、キーボード２５ａやマウス２５ｂから送られてくる信号をプロセッサ２１に送信する。なお、マウス２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３４】
光学ドライブ装置２６は、レーザ光などを利用して、光ディスク２６ａに記録されたデータの読み取りを行う。光ディスク２６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３５】
機器接続インタフェース２７は、コンピュータ２０に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース２７には、メモリ装置２７ａやメモリリーダライタ２７ｂを接続することができる。メモリ装置２７ａは、機器接続インタフェース２７との通信機能を搭載した記録媒体である。メモリリーダライタ２７ｂは、メモリカード２７ｃへのデータの書き込み、またはメモリカード２７ｃからのデータの読み出しを行う装置である。メモリカード２７ｃは、カード型の記録媒体である。
【００３６】
ネットワークインタフェース２８は、ネットワーク２８ａに接続されている。ネットワークインタフェース２８は、ネットワーク２８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、図１に示した第１の実施の形態の設計装置１も、図３に示したコンピュータ２０と同様のハードウェアにより実現することができる。
【００３８】
コンピュータ２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ２０に実行させるプログラムをＨＤＤ２３に格納しておくことができる。プロセッサ２１は、ＨＤＤ２３内のプログラムの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。またコンピュータ２０に実行させるプログラムを、光ディスク２６ａ、メモリ装置２７ａ、メモリカード２７ｃなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２１からの制御により、ＨＤＤ２３にインストールされた後、実行可能となる。またプロセッサ２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３９】
（設計方法の一例）
図４は、第２の実施の形態の設計方法の一例の処理の流れを示すフローチャートである。
【００４０】
コンピュータ２０において、プロセッサ２１は、ＨＤＤ２３に格納されたプログラムを読み出してＲＡＭ２２上に展開して、たとえば、図４に示すような各ステップの処理を実行する。なお、以下の各処理は、コンピュータ２０を用いて行われるものとして説明するが、複数のコンピュータ（ハードウェア・アクセラレータやエミュレータなどの専用のハードウェアを含む）によって行われるものであってもよい。
【００４１】
まず、プロセッサ２１は、設計者による入力を受け付け、所望の半導体装置の仕様の設計を行う（ステップＳ１０）。
次に、プロセッサ２１は、論理設計、レイアウト設計を行う（ステップＳ１１，Ｓ１２）。ステップＳ１１の処理では、論理合成ツールなどが用いられ、仕様を満たすような論理回路の設計が行われる。ステップＳ１２の処理では、自動レイアウトツールなどが用いられ、論理設計の結果得られたネットリストに基づき、セルの配置や配線が行われる。
【００４２】
その後、プロセッサ２１は、電力見積もりシミュレーションを行う（ステップＳ１３）。ステップＳ１３の処理では、プロセッサ２１は、ネットリストなどを参照して、たとえば、半導体装置の内部回路の各ノードの電位の変化を検出して、単位時間当たりの変化回数などに基づき、半導体装置における消費電力の遷移や電源電流の遷移などを計算する。
【００４３】
そして、プロセッサ２１は、電力見積もりシミュレーションのデータに基づき、電力変動通知回路の生成及び追加処理を行う（ステップＳ１４）。ステップＳ１４の処理後は、プロセッサ２１は、再度電力見積もりシミュレーションを行い（ステップＳ１５）、設計ルールなどを満たしているか否を検証する物理検証を行う（ステップＳ１６）。検証がパスしたときには、設計処理が終了し、試作品の製造などが行われる。なお、検証の際、各種ルールを満たさなかった場合には、適宜前の工程が再度行われるが、図示が省略されている。
【００４４】
以下、ステップＳ１４の処理の一例を説明する。
（電源変動通知回路の生成及び追加処理）
図５は、電源変動通知回路の生成及び追加処理の一例の流れを示すフローチャートである。
【００４５】
電源変動通知回路の生成及び追加処理が開始すると、プロセッサ２１は、電力見積もりシミュレーションのデータに含まれる、電源電流の波形データや、半導体装置の内部回路の複数の信号のそれぞれの波形データなどを取得する（ステップＳ２０）。これらの波形は、半導体装置で行われる動作ごとに取得される。
【００４６】
図６は、半導体装置で行われる複数の動作の例を示す図である。
図６には、動作Ａ，Ｂ，…，Ｆが示されている。動作Ａ〜Ｆは、それぞれ、半導体装置内の内部回路に含まれる、まとまった要素により実行される処理ａ，ｂ，…，ｆが周期的に繰り返されるものとする。
【００４７】
たとえば、半導体装置が、画像処理を行うＬＳＩであるときには、動作Ａ〜Ｆは、撮像画像のディスプレイへの表示動作、動画記録動作、静止画連写動作などである。このとき、処理ａ〜ｆは、たとえば、画像の１フレーム分のデータを処理するものであり、水平同期信号の発生をトリガにして処理を開始し、データの処理が終わると終了する。このような処理ａ〜ｆが各動作Ａ〜Ｆにおいて周期的に繰り返されることで、電源電流の変動も周期的となる。
【００４８】
電力見積もりシミュレーションでは、消費電力の異なる動作ごとに電力見積もりシナリオ（波形データなど）が用意されて電力見積もりが行われる。また、各動作の組み合わせについても電力見積もりシナリオが用意される。そのため、上記のような動作Ａ〜Ｆや動作が組み合わされたときの波形データについても、電力見積もりシミュレーションのデータから取得できる。なお、波形データは、たとえば、シミュレーション時刻、その時刻における値（電流値や電圧値）を含むテーブルデータとして与えられる。
【００４９】
以下のステップＳ２１〜Ｓ２６の処理は、上記のような動作ごとに行われる。
ステップＳ２０の処理後、プロセッサ２１は、各動作における電源電流の波形データから、電源電流が急変する（単位時間の変化が所定値よりも大きくなる）時刻を検出する（ステップＳ２１）。
【００５０】
図７は、電源電流の波形データと電源電圧の波形データの一例を示す図である。
横軸は時間を示し、縦軸は電流または電圧を示している。波形３０は、電源電流の波形データを示し、波形３１は、電源電圧の波形データを示している。
【００５１】
たとえば、時刻ｔｓから動作Ａの処理ａが開始されると、波形３０のように、電源電流は急に上昇し、その後、下降してほぼ一定の電流値となる。時刻ｔｅで処理ａが終了され、再び処理ａが行われると、再び電源電流が上昇する。波形３１のように、電源電圧は、電源電流が上昇すると下降し、電源電流が下降すると上昇する。
【００５２】
図８は、電源電流が急変する時刻の検出例を示す図である。
横軸は時間を示し、縦軸は電流を示している。波形３０は、図７に示したものと同様の電源電流の波形データを示している。
【００５３】
プロセッサ２１は、波形３０において、単位時間での変化量が規定値よりも大きくなる時刻を検出する。
図８に示す例では、時刻ｔａから始まる単位時間Δｔａでの電源電流の変化量ΔＩが規定値Ｉｔｈよりも大きくなっている。
【００５４】
そのためプロセッサ２１は、たとえば、時刻ｔａを、電源電流の単位時間Δｔａでの変化量ΔＩが規定値Ｉｔｈよりも大きくなる時刻として検出する。なお、プロセッサ２１は、時刻ｔａから、単位時間Δｔａ後の時刻ｔｂ、または、時刻ｔａと時刻ｔｂの中間の時刻を、電源電流の単位時間での変化量が規定値よりも大きくなる時刻として検出してもよい。
【００５５】
なお、ステップＳ２１の処理では、プロセッサ２１は、電源電流が上昇後、下降して動作Ａの処理ａの下限の電流値Ｉｍｉｎとなるときの時刻ｔｃについても検出する（この処理は、次のステップＳ２２の処理で行われてもよい）。
【００５６】
次に、プロセッサ２１は、トリガ発生基準時刻を決定する（ステップＳ２２）。
ステップＳ２２の処理では、プロセッサ２１は、ステップＳ２１の処理で検出した電源電流が急変する時刻と、単位時間当たりの電源電流の変化量に基づき、トリガ発生基準時刻を決定する。
【００５７】
図９は、トリガ発生基準時刻の決定例を示す図である。
横軸は時間を示し、縦軸は電流を示している。波形３０は、図７、図８に示したものと同様の電源電流の波形データを示している。
【００５８】
図９に示す例では、ステップＳ２１の処理で検出された時刻ｔａから、時間Δｔｂ１だけ遡った時刻ｔａａと、時刻ｔｃから、時間Δｔｂ２だけ遡った時刻ｔｃｃが、トリガ発生基準時刻として決定されている。
【００５９】
時間Δｔｂ１は、電源電流の変化量ΔＩに基づく時間として、予め設定されている。
図１０は、時間Δｔｂ１の設定例を示す図である。
テーブルデータ４０には、電源電流の変化量ΔＩ（単位はＡ）ごとの、時間Δｔｂ１（単位はｍｓｅｃ）の値が格納されている。変化量ΔＩが大きいほど、電源電圧を調整する調整回路において電源電圧の調整に時間がかかるため、長い時間が設定されており、早めに調整を開始できるようになっている。
【００６０】
なお、時間Δｔｂ１の分解能は、たとえば、クロック信号の周期によって規定される。
プロセッサ２１は、たとえば、ＨＤＤ２３に記憶された、このようなテーブルデータ４０を参照して、図９に示すような時刻ｔａａを決定する。
【００６１】
図９の時間Δｔｂ２に関しても、時刻ｔｃに至る単位時間の電源電流の変化量に基づいた時間として、同様のテーブルデータにより予め設定されている。
ステップＳ２２の処理後、プロセッサ２１は、トリガ発生基準時刻を基準としたトリガ発生許容範囲内で、論理レベルが変化するか否かにより、半導体装置の内部回路の信号のグループ分けを行う（ステップＳ２３）。そして、プロセッサ２１は、トリガ発生許容範囲内で、論理レベルが変化する信号の波形データの中から抽出ルールを満たす信号の波形データを抽出する（ステップＳ２４）。
【００６２】
図１１は、抽出対象となる理想的な内部回路の信号の一例を示す図である。
図１１には、処理ａが繰り返される動作Ａの実行時の内部回路内のある信号Ｉの時間変化の様子が示されている。時刻ｔａは、ステップＳ２１の処理で検出された、処理ａにより電源電流が急変する時刻であり、時刻ｔａａは、ステップＳ２２の処理で決定されたトリガ発生基準時刻である。また、時刻ｔａ１は、次の処理ａにより電源電流が急変する時刻であり、時刻ｔａａ１は、時刻ｔａ１から前述の時間Δｔｂ１だけ遡った時刻である。
【００６３】
信号Ｉは、時刻ｔａａで、論理レベルがＬレベルからＨレベルに立ち上がっており、処理ａの間にＬレベルに立ち下がり、時刻ｔａａ１にて再びＨレベルに立ち上がっている。このような信号Ｉに基づきトリガ信号を生成することで、各処理ａにおいて、電源電流が急変する前にトリガ信号により、電源電流の急変を前もって、電源電圧を調整する調整回路に通知することができる。
【００６４】
ただ、内部回路には、上記のような理想的な信号Ｉがない場合もある。そのため、本実施の形態の設計方法では、まず、ステップＳ２３の処理で、トリガ発生基準時刻を基準としたトリガ発生許容範囲内で、論理レベルが変化するか否かによる、内部回路の信号のグループ分けが行われる。
【００６５】
図１２は、抽出対象の信号例とトリガ信号の生成例を示す図である。
図１２には、クロック信号、内部回路の信号Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５，Ｗ６、ラッチ信号Ｌ１，Ｌ２，Ｌ３及びトリガ信号の一例が示されている。ラッチ信号Ｌ１〜Ｌ３やトリガ信号については後述する。
【００６６】
図１２には、トリガ発生基準時刻である時刻ｔａａを基準としたトリガ発生許容範囲Δｔｃが示されている。図１２の例では、トリガ発生許容範囲Δｔｃは、時刻ｔａａの前後１クロック周期分となっている。
【００６７】
信号Ｗ１〜Ｗ３，Ｗ６については、論理レベルが、トリガ発生許容範囲Δｔｃ内で変化する。これに対し、信号Ｗ４，Ｗ５は、論理レベルが、トリガ発生許容範囲Δｔｃ内で変化しない。したがって、ステップＳ２３の処理では、信号Ｗ１〜Ｗ６は、信号Ｗ１〜Ｗ３，Ｗ６のグループと、信号Ｗ４，Ｗ５のグループに分けられる。
【００６８】
さらに、ステップＳ２４の処理では、トリガ発生許容範囲Δｔｃ内で論理レベルが変化する信号Ｗ１〜Ｗ３，Ｗ６の中から、抽出ルールを満たす信号が抽出される。抽出ルールにより、たとえば、以下のような信号が抽出対象または抽出対象外となる。
【００６９】
たとえば、トリガ発生許容範囲Δｔｃ内で、論理レベルが変化し、図１１の信号Ｉのように、処理ａ中に元の論理レベルに戻り、時刻ｔａａ１を基準としたトリガ発生許容範囲（図示せず）で再び論理レベルが変化するような周期性をもつ信号は、抽出対象となる。
【００７０】
ただ、後述するラッチ信号Ｌ１〜Ｌ３を生成する機能や、トリガ信号を強制的にＨレベルからＬレベルに遷移させる機能を電源変動通知回路に付加する場合には、それ以外の信号の抽出対象となる。
【００７１】
しかしながら、短時間で変化を繰り返す信号（たとえば、所定の時間よりも短い周期で変化する信号）については抽出対象としないことが望ましい。他のトリガ信号と排他的になり難いためである。
【００７２】
そのため、たとえば、図１２において、信号Ｗ６は抽出対象から除外される。
プロセッサ２１は、以上のような処理で選択した抽出対象の信号の波形データを、トリガ発生許容範囲内で、論理レベルが変化する信号の波形データの中から抽出する。
【００７３】
その後、プロセッサ２１は、複数の信号の波形データが抽出されたか否かを判定する（ステップＳ２５）。
複数の信号の波形データが抽出されなかったと判定されたとき、プロセッサ２１は、たとえば、前述したトリガ発生許容範囲Δｔｃを拡大し（ステップＳ２６）、ステップＳ２３からの処理を繰り返す。ステップＳ２６の処理では、プロセッサ２１は、たとえば、１クロック周期分、トリガ発生許容範囲Δｔｃを拡大する。
【００７４】
複数の信号の波形データが抽出されたと判定されたときには、ステップＳ２７の処理が行われる。
なお、上記では、図１２に示した時刻ｔａａを基準としたトリガ発生許容範囲Δｔｃ内で、論理レベルが変化する信号の波形データの中から抽出が行われる例を示した。図９に示した時刻ｔｃｃを基準としたトリガ発生許容範囲（図示せず）内において、論理レベルが変化する信号の波形データからも同様の処理で抽出が行われる。
【００７５】
また、上記のような信号の波形データの抽出処理は、各動作について行われる。
次に、プロセッサ２１は、複数の動作のそれぞれに対応して抽出した信号の波形データのうち、２以上の動作で共通して抽出した信号の波形データを削除する処理を行う（ステップＳ２７）。
【００７６】
これは、抽出した信号の波形データに基づき生成されるトリガ信号が、どの動作に対応したものか判別できなくなることを防止するためである。プロセッサ２１は、複数の動作について行われた抽出処理にて抽出された信号の波形データを削除するために、たとえば、以下のような処理を行う。
【００７７】
図１３は、複数の動作について行われた抽出処理にて抽出された信号の波形データを削除する処理の一例の流れを示すフローチャートである。
まず、プロセッサ２１は、トリガ信号の生成用に抽出した信号の波形データを、全動作について取得する（ステップＳ３０）。その後、プロセッサ２１は、たとえば、静的検証（フォーマル検証）を行い（ステップＳ３１）、複数動作で共通して抽出した信号の波形データがあるか否かを判定する（ステップＳ３２）。
【００７８】
複数動作で共通して抽出した信号の波形データがないときには、プロセッサ２１は、ステップＳ２７の処理を終える。複数動作で共通して抽出した信号の波形データがあるときには、プロセッサ２１は、その信号の波形データを削除する（トリガ信号の生成用としない）（ステップＳ３３）。なお、ステップＳ３３の処理では、たとえば、抽出ルールで、抽出する信号の数（たとえば、１０個など）が決められているときには、削除した信号の波形データの代わりに、別の信号の波形データが追加されるようにしてもよい。追加する信号の波形データがないときには、プロセッサ２１は、短時間で変化を繰り返す信号の波形データについても周期を引き延ばす処理などを行い、トリガ信号の生成用の信号の波形データとして追加するようにしてもよい。なお、その場合は、後述する電源変動通知回路の生成の際、その信号の周期を引き延ばす遅延回路などが追加生成される。
【００７９】
ステップＳ３３の処理後、プロセッサ２１は、波形データを追加したか否かを判定し（ステップＳ３４）、追加したと判定したときには、ステップＳ３１からの処理を繰り返す。信号を追加しないと判定したときには、プロセッサ２１は、ステップＳ２７の処理を終える。
【００８０】
ステップＳ２７の処理後、プロセッサ２１は、抽出した信号の波形データ（削除した波形データは除く）に基づき、電源変動通知回路を作成し、半導体装置に追加する（ステップＳ２８）。
【００８１】
ステップＳ２８の処理では、たとえば、以下のような電源変動通知回路が生成され、半導体装置に追加される。
（電源変動通知回路の一例）
図１４は、電源変動通知回路が追加された半導体装置の一例を示す図である。
【００８２】
半導体装置５０は、内部回路５１、レギュレータ５２、電源変動通知回路５３を有する。
内部回路５１は、論理回路（組み合わせ回路や順序回路）や、ＲＡＭなどを含む。
【００８３】
レギュレータ５２は、内部回路５１に電源電圧を供給する。また、レギュレータ５２は、電源変動通知回路５３から通知されるトリガ信号と電流変化量に基づき、内部回路５１に供給する電源電圧の大きさを調整する。
【００８４】
電源変動通知回路５３は、トリガ信号生成部５３ａ、電流変化量保持部５３ｂ、ＯＲ回路５３ｃ、セレクタ５３ｄを有する。なお、電流変化量保持部５３ｂやセレクタ５３ｄなどは、電源変動通知回路５３の外に設けられていてもよい。
【００８５】
トリガ信号生成部５３ａは、動作ごとに、上記の処理で抽出された内部回路５１の信号の波形データの論理演算結果に基づくトリガ信号を生成する。
図１５は、トリガ信号生成部の一例を示す図である。
【００８６】
図１５では、前述した動作Ａに関するトリガ信号の生成のために、図１２に示した信号Ｗ１〜Ｗ３の波形データが抽出されたときの回路例が示されている。
トリガ信号生成部５３ａは、保持回路６０，６１，６２、インバータ回路６３、ＡＮＤ回路６４を有している。
【００８７】
保持回路６０は、信号Ｗ１の論理レベルがＨレベルとなると、その論理レベルを保持し、図１２に示すようなＨレベルのラッチ信号Ｌ１を出力する。
保持回路６１は、信号Ｗ２の論理レベルがＨレベルとなると、その論理レベルを保持し、図１２に示すようなＨレベルのラッチ信号Ｌ２を出力する。
【００８８】
保持回路６２は、信号Ｗ３の論理レベルがＬレベルとなり、インバータ回路６３でＨレベルに論理レベルが反転されると、その論理レベルを保持し、図１２に示すようなＨレベルのラッチ信号Ｌ３を出力する。
【００８９】
保持回路６０〜６２は、たとえば、レギュレータ５２から供給されるトリガ受領信号を受けると、出力するラッチ信号Ｌ１〜Ｌ３の論理レベルをＬレベルにリセットする。
ＡＮＤ回路６４は、ラッチ信号Ｌ１〜Ｌ３の論理レベルが全てＨレベルになると、図１２に示すようにトリガ信号をアサートする（論理レベルをＨレベルとする）。ラッチ信号Ｌ１〜Ｌ３の何れか１つでもＬレベルになると、ＡＮＤ回路６４は、トリガ信号をネゲートする（論理レベルをＬレベルとする）。前述の図１２の例では、時刻ｔａにて、トリガ受領信号により保持回路６０〜６２が全てリセットされ、トリガ信号がネゲートされた様子が示されている。
【００９０】
なお、保持回路６０〜６２のリセットは、トリガ受領信号によって行われなくてもよい。たとえば、トリガ信号のアサート時間をカウントするカウンタやタイマにより、一定時間後に強制的に保持回路６０〜６２がリセットされるようにしてもよい。
【００９１】
図１４の電流変化量保持部５３ｂは、各トリガ信号に対応した電源電流の変化量を保持するレジスタである。たとえば、前述した動作Ａにおいて抽出された信号に基づき生成されるトリガ信号に対応した電源電流の変化量は、図８に示したΔＩ１である。
【００９２】
電流変化量は、たとえば、５ビットのコードで表される。最上位ビットで、電源電流の増減（プラス、マイナス）が示され、残りの４ビットで電流値が示される。
図１６は、４ビットのコードで示される電流値の一例を示す図である。
【００９３】
図１６のテーブルデータ７０では、Ｂｉｔ０，Ｂｉｔ１，Ｂｉｔ２，Ｂｉｔ３の４ビットの値に対応した、電流値（単位はｍＡ）の例が示されている。たとえば、Ｂｉｔ０〜Ｂｉｔ３が全て０のときは、０．４［ｍＡ］、Ｂｉｔ１が１で、Ｂｉｔ０，Ｂｉｔ２，Ｂｉｔ３が０のときは、１．２［ｍＡ］である。
【００９４】
電流変化量保持部５３ｂには、このようなコードが、各トリガ信号に対応して格納されている。
ＯＲ回路５３ｃは、トリガ信号生成部５３ａから何れかの動作に対応したトリガ信号が生成されると（論理レベルがＨレベルとなると）、そのトリガ信号をレギュレータ５２に通知する。
【００９５】
セレクタ５３ｄは、生成されたトリガ信号が、どの動作に対応したトリガ信号であるかに応じて、電流変化量保持部５３ｂに保持されている複数の電流変化量の何れかを選択して、レギュレータ５２に供給する。
【００９６】
図１７は、セレクタの一例を示す図である。
セレクタ５３ｄは、複数のＡＮＤ回路８０ａ，８０ｂ，…，８０ｆと、ＯＲ回路８１を有している。
【００９７】
ＡＮＤ回路８０ａ〜８０ｆの一方の入力端子は、電流変化量保持部５３ｂに接続され、各動作に対応した電流変化量が入力される。たとえば、ＡＮＤ回路８０ａの一方の入力端子には、動作Ａに対応した電流変化量が入力され、ＡＮＤ回路８０ｆの一方の入力端子には、動作Ｆに対応した電流変化量が入力される。
ＡＮＤ回路８０ａ〜８０ｆの他方の入力端子は、トリガ信号生成部５３ａに接続され、各動作に対応したトリガ信号を受ける。
【００９８】
たとえば、ＡＮＤ回路８０ａの他方の入力端子に、動作Ａに対応したトリガ信号が入力されたとき（トリガ信号がアサートされたとき）には、ＡＮＤ回路８０ａは、一方の入力端子に入力される、動作Ａに対応した電流変化量を出力する。
【００９９】
たとえば、ＡＮＤ回路８０ｆの他方の入力端子に、動作Ａに対応したトリガ信号が入力されたとき（トリガ信号がアサートされたとき）には、ＡＮＤ回路８０ｂは、一方の入力端子に入力される、動作Ｆに対応した電流変化量を出力する。
【０１００】
ＯＲ回路８１は、ＡＮＤ回路８０ａ〜８０ｆの何れかから電流変化量が出力されると、その電流変化量をレギュレータ５２に出力する。
このような電源変動通知回路５３によれば、各動作において、負荷が急変する前の時刻において、トリガ信号と、予め保持されている負荷急変時の電源電流の変化量が、レギュレータ５２に供給される。レギュレータ５２は、トリガ信号を受けると、電源電流の変化量に基づき、たとえば、内部回路への電流供給量を調整することで電源電圧を調整する。図７に示したように、電源電流が上昇すると電源電圧は下降し、電源電流が下降すると電源電圧は上昇する。そのため、レギュレータは、プラスの電源電流の変化量を受けると、電源電圧の低下を抑えるため、内部回路５１への電流供給量を増やし、マイナスの電源電流の変化量を受けると、電流供給量を減らす。これによって、負荷の急激な変動が生じても、電源電圧の変動を抑えることができる。そのため、内部回路５１において、電源電圧の変動による誤動作の発生を抑制できる。
【０１０１】
また、上記のように電源電圧の変動を抑えることで、電源電圧変動の抑制に用いられるバイパスコンデンサの削除あるいは数を少なくでき、回路規模を削減できるとともに、消費電力を削減できる。
【０１０２】
また、１つの信号の波形データからトリガ信号を生成しようとすると、ある条件のときに偶然、トリガ発生許容範囲Δｔｃで、論理レベルが遷移しただけの場合が考えられる。そのため、上記のように２以上（回路規模や実行時間によるが、できるだけ多く）の信号の波形データからトリガ信号を生成することで、信頼性が高まる。
【０１０３】
なお、図１４に示したような半導体装置５０は、１チップのＩＣ（Integrated Circuit）であってもよいし、複数チップのＩＣを含むものであってもよい。
図１８は、１チップの半導体装置の一例を示す図である。
【０１０４】
半導体装置５０ａは、図１４に示したような内部回路５１、電源変動通知回路５３のほか、レギュレータとして、オンチップレギュレータ５２ａを有している。オンチップレギュレータ５２ａは、外部から電源電圧を受け、電源変動通知回路５３から供給されるトリガ信号と電流変化量に基づき、電源電圧を調整して、内部回路５１に供給する。なお、図１８では、内部回路５１とオンチップレギュレータ５２ａ間で送受信される制御信号などについては図示が省略されている。また、電源電圧は、電源変動通知回路５３にも供給される。
【０１０５】
図１９は、複数チップのＩＣを含む半導体装置の一例を示す図である。
半導体装置５０ｂは、レギュレータを含む電源ＩＣ９０と、図１４に示したような内部回路５１、電源変動通知回路５３を含むロジックＩＣとを有している。電源ＩＣは、電源変動通知回路５３から供給されるトリガ信号と電流変化量に基づき調整した電源電圧を内部回路５１に供給する。なお、図１９では、内部回路５１と電源ＩＣ９０間で送受信される制御信号などについては図示が省略されている。また、電源電圧は、電源変動通知回路５３にも供給される。
【０１０６】
（変形例）
図５に示した電源変動通知回路の作成処理において、プロセッサ２１は、たとえば、ステップＳ２８の処理の前に、抽出した信号の波形データを、たとえば、モニタ２４ａに表示して、ユーザが確認できるようにしてもよい。
【０１０７】
図２０は、確認画面の一例を示す図である。
確認画面９５は、たとえば、図３に示したモニタ２４ａに表示される画面の例である。
ステップＳ２７の処理までに抽出された信号の波形データの例として、図２０には、図１２に示した信号Ｗ１〜Ｗ３と、信号Ｗ１〜Ｗ３によって生成されるトリガ信号の例が示されている。
【０１０８】
確認画面９５には、これらの信号Ｗ１〜Ｗ３が抽出された旨のメッセージと、これらの信号Ｗ１〜Ｗ３に基づきトリガ信号を生成する回路を作成するか、他の信号を選択するかを選択させるメッセージが表示されている。
【０１０９】
たとえば、マウス２５ｂの操作などで、ボタン９６が押下されると、これらの信号Ｗ１〜Ｗ３に基づきトリガ信号を生成する電源変動通知回路が生成される。ボタン９７が押下されると、他の信号の波形データが抽出候補として表示されるようにしてもよい。
【０１１０】
（第３の実施の形態）
上記の説明では、トリガ信号を内部回路５１の信号に基づき生成するものとして説明したが、トリガ信号の生成に適した信号がないときには、動作ごとに設けたカウンタの値に基づきトリガ信号が生成されるようにしてもよい。
【０１１１】
図２１は、カウンタ値に基づきトリガ信号を生成する電源変動通知回路を含む半導体装置の一例を示す図である。
図１４に示した半導体装置５０と同様の要素については同一の符号が付されている。
【０１１２】
半導体装置５０ｃにおいて、内部回路１０１は、カウンタ部１０１ａを有している。カウンタ部１０１ａは、複数の動作のそれぞれに対応したカウンタ（図示せず）を有している。各カウンタは、各動作を開始するための起動要求（コマンド）の発行時に、カウント動作を開始する。
【０１１３】
プロセッサ２１は、電力見積もりシミュレーション時に、各動作に対応して設けられた各カウンタを動作させる。そして、プロセッサ２１は、たとえば、図５に示したステップＳ２０〜Ｓ２２の処理を行い、カウンタ値で、電源電流が急変する時刻と、トリガ発生基準時刻を決定する。そしてプロセッサ２１は、カウンタ値に基づきトリガ発生時刻になったらトリガ信号を生成するトリガ信号生成部１００ａを有する電源変動通知回路１００を生成する。
【０１１４】
図示を省略するが、たとえば、トリガ信号生成部１００ａは、各動作に対応したトリガ発生基準時刻のカウンタ値を保持するレジスタを有する。また、トリガ信号生成部１００ａは、そのカウンタ値と、内部回路１０１のカウンタ部１０１ａのカウンタのカウンタ値とを比較して、一致したときにトリガ信号を生成する比較部などを有する。
【０１１５】
図２２は、カウンタを用いた半導体装置の動作を説明する図である。
時刻ｔｒにおいて、動作Ａの起動要求が発行されると、内部回路１０１のカウンタ部１０１ａの動作Ａに対応したカウンタがカウント動作を開始する。動作Ａの処理ａが開始し（時刻ｔｓ）、カウント値が、動作Ａのトリガ発生基準時刻に対応した値になると（時刻ｔｔ１）、トリガ信号生成部１００ａはトリガ信号を生成する。トリガ信号は、ＯＲ回路５３ｃを介してレギュレータ５２に供給されるとともに、内部回路のカウンタ部１０１ａに供給される。これにより、動作Ａに対応したカウンタがリセットされる。リセットされたカウンタは再びカウント動作を開始する。以上のような処理が、時刻ｔｔ２，ｔｔ３でも繰り返される。
【０１１６】
このような、半導体装置５０ｃを生成することでも、第２の実施の形態の設計方法と同様の効果が得られる。また、設定したトリガ発生基準時刻で、確実にトリガ信号を発生させることができるという効果も得られる。
【０１１７】
（第４の実施の形態）
図２３は、第４の実施の形態の半導体装置の一例を示す図である。
図２３に示されている半導体装置５０ｄでは、電源変動通知回路５３で生成されたトリガ信号は、レギュレータ５２だけでなく、バックバイアス制御回路１１０にも供給されている。
【０１１８】
バックバイアス制御回路１１０は、負荷急変に基づく電源電圧の変動により、内部回路１１１に含まれるメモリやフリップフロップなどの保持データの論理レベルが反転することを防ぐため、内部回路１１１内のトランジスタＴｒのバックバイアスを制御する。これにより上記のようなデータを保持する回路の閾値を変更できる。バックバイアス制御回路１１０は、たとえば、トリガ信号を遅延するなどして、電源電圧が変動するタイミングで、バックバイアスの制御を行うような制御信号を生成し、トランジスタＴｒのバックバイアスを制御する。
【０１１９】
なお、プロセッサ２１は、図２３に示すような半導体装置５０ｄを設計する際、上記の電力見積もりシミュレーションのデータに基づき、内部回路１１１に含まれる回路のうち、動作頻度の高い回路と動作頻度の低い回路とをグループ分けする。そして、プロセッサ２１は、動作頻度の高い回路に含まれるトランジスタＴｒのバックバイアスを制御するようなバックバイアス制御回路１１０を生成するようにしてもよい。これによって、消費電力を抑えることもできる。
【０１２０】
以上、実施の形態に基づき、本発明の設計方法、設計装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【０１２１】
１  設計装置（コンピュータ）
２  プロセッサ
３  記憶部
１０  電力解析データ
１１  半導体装置
１２  電源変動通知回路
１２ａ  ＡＮＤ回路
１３  内部回路
１４  調整回路（レギュレータ）
【図１】
2016208290.tif 000003
【図２】
2016208290.tif 000004
【図３】
2016208290.tif 000005
【図４】
2016208290.tif 000006
【図５】
2016208290.tif 000007
【図６】
2016208290.tif 000008
【図７】
2016208290.tif 000009
【図８】
2016208290.tif 000010
【図９】
2016208290.tif 000011
【図１０】
2016208290.tif 000012
【図１１】
2016208290.tif 000013
【図１２】
2016208290.tif 000014
【図１３】
2016208290.tif 000015
【図１４】
2016208290.tif 000016
【図１５】
2016208290.tif 000017
【図１６】
2016208290.tif 000018
【図１７】
2016208290.tif 000019
【図１８】
2016208290.tif 000020
【図１９】
2016208290.tif 000021
【図２０】
2016208290.tif 000022
【図２１】
2016208290.tif 000023
【図２２】
2016208290.tif 000024
【図２３】
2016208290.tif 000025