(57)【要約】【課題】半導体集積回路に搭載されるパワーゲーティング回路における複数の電源スイッチのＯＮタイミングを最適化すること。【解決手段】本発明に係る半導体集積回路の設計方法は、（Ａ）パワーゲーティング回路の動作モデルを提供するステップと、（Ｂ）突入電流に関する制約を設定するステップと、（Ｃ）動作モデルを用いた回路シミュレーションを実行するステップと、（Ｄ）回路シミュレーションの結果に基づいて、複数の電源スイッチのそれぞれをＯＮさせるＯＮタイミングを示すタイミングデータを生成するステップとを有する。回路シミュレーションにおいて、動作モデルは、上記設定された制約が満たされるように複数の電源スイッチを順番にＯＮさせる。【選択図】図９
2008065732.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた半導体集積回路の設計方法であって、
前記半導体集積回路は、機能ブロックと電源との間に並列に設けられた複数の電源スイッチを有するパワーゲーティング回路を搭載し、
前記設計方法は、
（Ａ）前記パワーゲーティング回路の動作モデルを提供するステップと、
（Ｂ）突入電流に関する制約を設定するステップと、
（Ｃ）前記動作モデルを用いた回路シミュレーションを実行するステップと、
（Ｄ）前記回路シミュレーションの結果に基づいて、前記複数の電源スイッチのそれぞれをＯＮさせるＯＮタイミングを示すタイミングデータを生成するステップと
を有し、
前記回路シミュレーションにおいて、前記動作モデルは、前記制約が満たされるように前記複数の電源スイッチを順番にＯＮさせる
半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法であって、
前記回路シミュレーションにおいて、前記動作モデルは、前記ＯＮタイミングのうち時間的に隣り合う２つの間隔を所定値から徐々に増加させ、前記制約が満たされた段階で前記２つのＯＮタイミングの間隔を決定する
半導体集積回路の設計方法。
【請求項３】
請求項１に記載の半導体集積回路の設計方法であって、
前記動作モデルは、電源スイッチモジュールを備え、
前記複数の電源スイッチのうちＯＮされた電源スイッチの数がｉで表されるとき、
前記電源スイッチモジュールは、
（ａ）前記突入電流に関する制約を設定する機能と、
（ｂ）前記ｉが所定の数増えた場合の突入電流又は突入電流の単位時間当たりの変化量を、所定の周期で見積もる機能と、
（ｃ）前記見積もられた突入電流又は変化量が前記制約を満たしているかどうか判定する機能と、
（ｄ）前記制約が満たされない場合は前記ｉの値を変更せず、前記制約が満たされている場合は前記ｉを前記所定の数だけ増加させる機能と、
（ｅ）前記ｉが前記複数の電源スイッチの総数に達するまで、前記（ｂ）〜（ｄ）機能を繰り返す機能と
を有する
半導体集積回路の設計方法。
【請求項４】
請求項３に記載の半導体集積回路の設計方法であって、
前記（Ｄ）ステップにおいて、前記ｉの遷移時間に基づいて前記タイミングデータが生成される
半導体集積回路の設計方法。
【請求項５】
請求項３又は４に記載の半導体集積回路の設計方法であって、
前記動作モデルにおいて、前記複数の電源スイッチは、前記ｉが増加するにつれて抵抗値が減少する可変抵抗で与えられる
半導体集積回路の設計方法。
【請求項６】
請求項３乃至５のいずれかに記載の半導体集積回路の設計方法であって、
前記動作モデルは、更に、前記複数の電源スイッチにより充放電される静止容量を設定する静止容量モジュールを備える
半導体集積回路の設計方法。
【請求項７】
請求項３乃至６のいずれかに記載の半導体集積回路の設計方法であって、
前記動作モデルは、更に、前記機能ブロックにおけるリーク電流を設定するリーク電流モジュールを備える
半導体集積回路の設計方法。
【請求項８】
請求項７に記載の半導体集積回路の設計方法であって、
前記リーク電流は、前記パワーゲーティング回路を通して前記機能ブロックに供給される電圧に応じて変動するように設定される
半導体集積回路の設計方法。
【請求項９】
請求項１乃至８のいずれかに記載の半導体集積回路の設計方法であって、
更に、（Ｅ）前記タイミングデータが示す前記ＯＮタイミングに基づいて、前記パワーゲーティング回路の設計を行うステップを有する
半導体集積回路の設計方法。
【請求項１０】
請求項９に記載の半導体集積回路の設計方法であって、
前記パワーゲーティング回路は、更に、前記複数の電源スイッチをＯＮさせる活性化信号を、前記複数の電源スイッチのそれぞれに対して異なる遅延時間で供給する遅延回路群を有し、
前記（Ｅ）ステップにおいて、前記異なる遅延時間のそれぞれが、前記ＯＮタイミングに基づいて決定される
半導体集積回路の設計方法。
【請求項１１】
半導体集積回路の設計システムであって、
前記半導体集積回路は、機能ブロックと電源との間に並列に設けられた複数の電源スイッチを有するパワーゲーティング回路を搭載し、
前記設計システムは、
前記パワーゲーティング回路の動作モデルが格納される記憶装置と、
前記記憶装置から前記動作モデルを読み出し、前記動作モデルの回路シミュレーションを実行する演算処理装置と
を備え、
前記動作モデルにおいて、突入電流に関する制約が設定され、
前記回路シミュレーションにおいて、前記動作モデルは、前記制約が満たされるように前記複数の電源スイッチを順番にＯＮさせ、
前記演算処理装置は、前記回路シミュレーションの結果に基づいて、前記複数の電源スイッチのそれぞれをＯＮさせるＯＮタイミングを示すタイミングデータを生成する
半導体集積回路の設計システム。
【請求項１２】
請求項１１に記載の半導体集積回路の設計システムであって、
前記回路シミュレーションにおいて、前記動作モデルは、前記ＯＮタイミングのうち時間的に隣り合う２つの間隔を所定値から徐々に増加させ、前記制約が満たされた段階で前記２つのＯＮタイミングの間隔を決定する
半導体集積回路の設計システム。
【請求項１３】
請求項１１に記載の半導体集積回路の設計システムであって、
前記動作モデルは、電源スイッチモジュールを備え、
前記複数の電源スイッチのうちＯＮされた電源スイッチの数がｉで表されるとき、
前記電源スイッチモジュールは、
（ａ）前記突入電流に関する制約を設定する機能と、
（ｂ）前記ｉが所定の数増えた場合の突入電流又は突入電流の単位時間当たりの変化量を、所定の周期で見積もる機能と、
（ｃ）前記見積もられた突入電流又は変化量が前記制約を満たしているかどうか判定する機能と、
（ｄ）前記制約が満たされない場合は前記ｉの値を変更せず、前記制約が満たされている場合は前記ｉを前記所定の数だけ増加させる機能と、
（ｅ）前記ｉが前記複数の電源スイッチの総数に達するまで、前記（ｂ）〜（ｄ）機能を繰り返す機能と
を有する
半導体集積回路の設計システム。
【請求項１４】
請求項１３に記載の半導体集積回路の設計システムであって、
前記動作モデルにおいて、前記複数の電源スイッチは、前記ｉが増加するにつれて抵抗値が減少する可変抵抗で与えられる
半導体集積回路の設計システム。
【請求項１５】
請求項１１乃至１４のいずれかに記載の半導体集積回路の設計システムであって、
前記演算処理装置は、更に、前記タイミングデータが示す前記ＯＮタイミングに基づいて、前記パワーゲーティング回路の設計を行う
半導体集積回路の設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計技術に関する。特に、本発明は、パワーゲーティング回路を搭載する半導体集積回路の設計技術に関する。
【背景技術】
【０００２】
半導体集積回路の分野において、消費電力の低減は重要な課題である。特に、携帯機器に搭載される半導体集積回路において、その携帯機器の動作時間を左右する消費電力を抑制することは重要である。消費電力は、動作時（アクティブモード）の消費電力と、待機時（スタンバイモード）の消費電力に区分される。このうち、スタンバイモードでの消費電力は、主に、トランジスタのリーク電流に依存している。
【０００３】
スタンバイモードにおける消費電力を低減するための技術として、「パワーゲーティング」が知られている。パワーゲーティングとは、スタンバイモードにおいて動作しない機能ブロックへの電力供給を遮断する技術である。そのために、パワーゲーティング対象の機能ブロックと電源との間に、パワーゲーティング回路が設けられる。スタンバイモード時、パワーゲーティング回路は、パワーゲーティング対象の機能ブロックへの電力供給を遮断する。その結果、その機能ブロック中のリーク電流が大幅に削減され、スタンバイモード時の消費電力が低減される。
【０００４】
一般的に、パワーゲーティング回路は電源スイッチを備えており、機能ブロックへの電力供給の再開時、その電源スイッチがＯＮされる。この時、パワーゲーティング回路には、「突入電流（in-rush current）」が流れる。突入電流は電源ノイズを発生させ、その電源ノイズは、パワーゲーティングの対象ではない機能ブロックの誤動作の原因となる。特に、突入電流のピーク値が大きい場合、その弊害は顕著となる。
【０００５】
突入電流のピーク値を低減するために、パワーゲーティング回路に複数の電源スイッチを並列に設け、その複数の電源スイッチを順番にＯＮさせることが考えられる。例えば、非特許文献１には、複数の電源スイッチと複数の遅延回路とを備えるパワーゲーティング回路が記載されている。複数の電源スイッチは、機能ブロックとグランド電源との間に並列に設けられている。複数の遅延回路は、直列に接続されており、複数の電源スイッチに対してＯＮ信号を順番に供給する。それら遅延回路のそれぞれの遅延時間により、複数の電源スイッチは順番にＯＮする。その結果、各電源スイッチにおいて突入電流が発生する期間がずれ、突入電流のピーク値が低減される。
【０００６】
【非特許文献１】Suhwan Kim et al., “Understanding and Minimizing Ground Bounce During Mode Transition of Power Gating Structures”, International Symposium on Low Power Electronics and Design (ISLPED) 2003, Proceedings, pp. 22-25.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記非特許文献１に記載されたパワーゲーティング回路において、遅延回路の遅延時間が短すぎると、突入電流が発生する期間が重なってしまう。このことは、突入電流のピーク値の増大を招き、電源ノイズによる回路の誤動作の原因となる。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明の第１の観点において、コンピュータを用いた半導体集積回路の設計方法が提供される。設計対象の半導体集積回路は、機能ブロック（１）と電源との間に並列に設けられた複数の電源スイッチ（ＳＷ１〜ＳＷｎ）を有するパワーゲーティング回路（１０）を搭載する。本発明に係る設計方法は、（Ａ）パワーゲーティング回路（１０）の動作モデル（２０）を提供するステップと、（Ｂ）突入電流に関する制約を設定するステップと、（Ｃ）上記動作モデル（２０）を用いた回路シミュレーションを実行するステップとを有する。動作モデル（２０）は、その回路シミュレーションにおいて、上記設定された制約が満たされるように複数の電源スイッチ（ＳＷ１〜ＳＷｎ）を順番にＯＮさせる。突入電流に関する制約としては、突入電流の最大値（許容値）や、突入電流の単位時間当たりの変化量の最大値（許容値）が例示される。
【００１０】
本発明に係る設計方法は、更に、（Ｄ）上記回路シミュレーションの結果に基づいて、複数の電源スイッチ（ＳＷ１〜ＳＷｎ）のそれぞれをＯＮさせるＯＮタイミングを示すタイミングデータ（１２１）を生成するステップを有する。このタイミングデータ（１２１）が示すＯＮタイミングは、上述の通り、突入電流に関する所望の制約が満たされるように決定されている。言い換えれば、そのＯＮタイミングで複数の電源スイッチ（ＳＷ１〜ＳＷｎ）をＯＮさせれば、突入電流制約は満たされる。従って、生成されたタイミングデータ（１２１）を参照して、実際のパワーゲーティング回路（１０）の設計が行われればよい。それにより、所望の突入電流制約を満たすパワーゲーティング回路（１０）が自動的に得られる。
【００１１】
このように、本発明に係る設計方法によれば、動作モデル（２０）を用いた回路シミュレーションによって、所望の突入電流制約を満たすＯＮタイミングが自動的に決定される。そのＯＮタイミングを参照して設計されたパワーゲーティング回路（１０）では、所望の突入電流制約が自動的に満たされている。従って、電源ノイズによる回路の誤動作が防止される。
【００１２】
また、回路シミュレーションにおいて、動作モデル（２０）は、複数の電源スイッチ（ＳＷ１〜ＳＷｎ）のそれぞれのＯＮタイミングのうち時間的に隣り合う２つの間隔を、所定値から徐々に増加させてもよい。その場合、動作モデル（２０）は、所望の突入電流制約が満たされた段階で、上記隣り合う２つのＯＮタイミングの間隔を決定する。よって、隣り合う２つのＯＮタイミングの間隔が、いたずらに長くなりすぎることが防止される。その結果、機能ブロック（１）の動作再開までの時間が長くなりすぎることが防止され、パワーゲーティング回路（１０）が搭載される半導体集積回路の動作速度の低下が防止される。
【００１３】
本発明の第２の観点において、半導体集積回路の設計システムが提供される。設計対象の半導体集積回路は、機能ブロック（１）と電源との間に並列に設けられた複数の電源スイッチ（ＳＷ１〜ＳＷｎ）を有するパワーゲーティング回路（１０）を搭載する。本発明に係る設計システム（１００）は、パワーゲーティング回路（１０）の動作モデル（２０）が格納される記憶装置（１２０）と、記憶装置（１２０）から動作モデル（２０）を読み出しその動作モデル（２０）の回路シミュレーションを実行する演算処理装置（１１０）とを備える。動作モデル（２０）において、突入電流に関する制約が設定される。回路シミュレーションにおいて、動作モデル（２０）は、上記設定された制約が満たされるように複数の電源スイッチ（ＳＷ１〜ＳＷｎ）を順番にＯＮさせる。演算処理装置（１１０）は、その回路シミュレーションの結果に基づいて、複数の電源スイッチ（ＳＷ１〜ＳＷｎ）のそれぞれをＯＮさせるＯＮタイミングを示すタイミングデータ（１２１）を生成する。
【発明の効果】
【００１４】
本発明によれば、半導体集積回路に搭載されるパワーゲーティング回路の複数の電源スイッチに関して、それぞれのＯＮタイミングが所望の突入電流制約を満たすように自動的に設定される。従って、電源ノイズによる回路の誤動作が防止される。
【発明を実施するための最良の形態】
【００１５】
添付図面を参照して、本発明の実施の形態に係る半導体集積回路の設計技術を説明する。
【００１６】
１．設計対象の半導体集積回路
本発明において設計される半導体集積回路には、パワーゲーティングを行うパワーゲーティング回路が搭載される。図１は、設計対象としての半導体集積回路の一例を概略的に示している。図１に示される半導体集積回路は、第１機能ブロック１、第２機能ブロック２、及びパワーゲーティング回路１０を備えている。第１機能ブロック１は、パワーゲーティングの対象であり、スタンバイモードにおいて、第１機能ブロック１への電力供給は遮断される。一方、第２機能ブロック２は、パワーゲーティングの対象外の機能ブロックである。第１機能ブロック１と第２機能ブロック２は、共通の電源（ＶＤＤ、ＧＮＤ）に接続されている。
【００１７】
パワーゲーティング回路１０は、第１機能ブロック１と電源との間に設けられる。図１において、パワーゲーティング回路１０は、第１機能ブロック１と電源ＶＤＤとの間に設けられているが、第１機能ブロック１とグランド電源ＧＮＤとの間に設けられてもよい。図１において、パワーゲーティング回路１０に対する入力電圧はＶＤＤＬであり、出力電圧はＶＳＤである。第１機能ブロック１に対する入力電圧はＶＳＤであり、出力電圧はＧＮＤＬである。
【００１８】
図１に示されるように、パワーゲーティング回路１０は、複数の電源スイッチＳＷ１〜ＳＷｎを有している。電源スイッチの総数は、ｎ（ｎは２以上の整数）である。それら電源スイッチＳＷ１〜ＳＷｎは、電源と第１機能ブロック１との間に並列に設けられている。各電源スイッチＳＷは、ＰチャネルＭＯＳトランジスタで構成されている。
【００１９】
図２は、設計対象としての半導体集積回路の他の例を概略的に示している。図２において、図１と同じ構成には同じ符号が付され、重複する説明は省略される。図２において、第１機能ブロック１は、複数の機能ブロック３−１〜３−ｎを含んでいる。それら複数の機能ブロック３−１〜３−ｎのそれぞれに対して、複数の電源スイッチＳＷ１〜ＳＷｎが一つずつ設けられている。あるいは、１つの機能ブロック３に対して複数の電源スイッチが設けられていてもよい（図示されない）。
【００２０】
図１及び図２に示されたように、本実施の形態に係るパワーゲーティング回路１０は、並列に設けられた複数の電源スイッチＳＷ１〜ＳＷｎを有している。スタンバイモード時、それら電源スイッチＳＷ１〜ＳＷｎの全てはＯＦＦされ、第１機能ブロック１への電力供給が遮断される。その結果、第１機能ブロック１中のリーク電流が大幅に削減され、スタンバイモード時の消費電力が低減される。
【００２１】
第１機能ブロック１への電力供給が再開される場合、電源スイッチＳＷ１〜ＳＷｎはＯＮされる。この時、パワーゲーティング回路１０には突入電流が流れる。突入電流やその時間微分値が大きい場合、共通インダクタンスの自己誘導電圧によって発生する電源ノイズも大きくなる。その電源ノイズは、共通電源（ＶＤＤＬ）に接続された第２機能ブロック２に伝播し、第２機能ブロック２を誤動作させる可能性がある。よって、突入電流のピーク値や単位時間当たりの変化量を低減する必要がある。突入電流のピーク値や単位時間当たりの変化量を低減するために、パワーゲーティング回路１０の電源スイッチＳＷ１〜ＳＷｎは同時にＯＮされず、順番にＯＮされる。そのための構成の一例が、図３に示されている。
【００２２】
図３に示されるパワーゲーティング回路１０は、複数の電源スイッチＳＷ１〜ＳＷｎに加えて、複数の遅延回路１１−２〜１１−ｎから構成される遅延回路群を有している。複数の遅延回路１１−２〜１１−ｎは直列に接続されており、それぞれの出力は、電源スイッチＳＷ２〜ＳＷｎに接続されている。この遅延回路群により、活性化信号／ＥＮは、電源スイッチＳＷ１〜ＳＷｎのそれぞれに対して異なるタイミングで供給される。この活性化信号／ＥＮは、電源スイッチＳＷ１〜ＳＷｎをＯＮさせる信号であり、活性化信号／ＥＮがＨレベルからＬレベルに変わると、各電源スイッチ（Ｐチャネルトランジスタ）がＯＮする。
【００２３】
時刻Ｔ１において電源スイッチＳＷ１がＯＮする場合、その時刻Ｔ１よりも後の時刻Ｔ２（＝Ｔ１＋ΔＴ２）において、電源スイッチＳＷ２がＯＮする。同様に、所定の遅延時間後に、次の電源スイッチがＯＮする。このようにして、複数の電源スイッチＳＷ１〜ＳＷｎが、異なるＯＮタイミング（Ｔ１、Ｔ２、・・・Ｔｎ−１、Ｔｎ）で順番にＯＮする。時間的に隣り合う２つのＯＮタイミングの間隔は、遅延回路１１−２〜１１−ｎの各々の遅延時間（ΔＴ２〜ΔＴｎ）によって規定される。
【００２４】
図３で示されたパワーゲーティング回路１０において、遅延時間（ΔＴ２〜ΔＴｎ）が短すぎると、突入電流が発生する期間が重なってしまう。このことは、突入電流のピーク値や単位時間当たりの変化量の増大を招き、電源ノイズによる回路の誤動作の原因となる。一方、遅延時間（ΔＴ２〜ΔＴｎ）が長すぎると、第１機能ブロック１が動作可能となるまでの時間が長くなってしまう。このことは、パワーゲーティング回路１０が搭載される半導体集積回路の動作速度の低下を招く。
【００２５】
従って、本発明においては、遅延時間ΔＴ２〜ΔＴｎの最適値が求められる。言い換えれば、複数の電源スイッチＳＷ１〜ＳＷｎのそれぞれをＯＮさせるＯＮタイミングが最適化される。特に、突入電流に関する所望の制約が満たされるように、電源スイッチＳＷ１〜ＳＷｎの最適なＯＮタイミングが決定される。ここで、突入電流に関する制約とは、突入電流の最大値（許容値）や、突入電流の時間微分値の最大値（許容値）を意味し、以下「突入電流制約」と参照される。以下に詳述されるように、本発明によれば、パワーゲーティング回路１０の設計の前に、回路シミュレーションを通して、突入電流制約を満たす電源スイッチＳＷ１〜ＳＷｎの最適なＯＮタイミングが求められる。その回路シミュレーションにおいては、次に示されるパワーゲーティング回路１０の動作モデルが用いられる
【００２６】
２．パワーゲーティング回路の動作モデル
本実施の形態において、パワーゲーティング回路１０の動作や電圧・電流特性がモデル化された「動作モデル」が用いられる。この動作モデルは、ハードウェア記述言語（ＨＤＬ：Hardware Description Language）で記述される。回路シミュレータを用いてその動作モデルを実行することにより、パワーゲーティング回路１０の動作シミュレーションが可能である。以下に示されるように、本実施の形態に係る動作モデルは、所望の突入電流制約が満たされるように、複数の電源スイッチＳＷ１〜ＳＷｎのＯＮタイミングを自動的に制御する。
【００２７】
図４は、本実施の形態に係る動作モデル２０の機能を要約的に示している。また、図５は、本実施の形態に係る動作モデル２０を概念的に示している。本実施の形態に係る動作モデル２０は、電源スイッチモジュール３０、静止容量モジュール４０、及びリーク電流モジュール５０を有している。
【００２８】
２−１．電源スイッチモジュール
電源スイッチモジュール３０は、パワーゲーティング回路１０中の電源スイッチＳＷ１〜ＳＷｎに関するモジュールである。
【００２９】
第１に、電源スイッチモジュール３０は、電源スイッチＳＷ１〜ＳＷｎの構成と特性を提供する。そのために、電源スイッチモジュール３０には、パワーゲーティング回路１０で用いられる電源スイッチの総数（ｎ）が設定される。ここで、ｎ個の電源スイッチＳＷ１〜ＳＷｎが入力端子ＩＮと出力端子ＯＵＴとの間に並列に接続される場合が想定される。その場合、図５に示されるように、電源スイッチＳＷ１〜ＳＷｎを、入力端子ＩＮと出力端子ＯＵＴとの間に接続された「可変抵抗」でモデル化することも可能である。その可変抵抗の抵抗値は、ＯＮした電源スイッチの数ｉ（ｉ＝０〜ｎ）に応じて変化し、ＯＮ数ｉが増加するにつれて減少する。電源スイッチＳＷ１〜ＳＷｎをシンプルな可変抵抗でモデル化することにより、後に示される回路シミュレーションに要する時間を短縮することができる。
【００３０】
第２に、電源スイッチモジュール３０は、電源スイッチＳＷ１〜ＳＷｎのＯＮタイミングを最適化する機能を提供する。特に、電源スイッチモジュール３０は、所望の突入電流制約が満たされるように、電源スイッチＳＷ１〜ＳＷｎのＯＮタイミングを自動的に制御する機能を提供する。そのために、電源スイッチモジュール３０には、突入電流制約が設定される。この突入電流制約は、ユーザの要求に応じて、任意の値に設定され得る。突入電流制約としては、突入電流の最大値（許容値）や、突入電流の時間微分の最大値（許容値）が例示される。
【００３１】
突入電流やその時間微分は、時間的に隣り合う２つのＯＮタイミングの間隔（ΔＴ）が短いほど、また、１回でＯＮされる電源スイッチの数が大きいほど、大きくなる。突入電流制約が満たされるようにＯＮタイミングを決定する手法の一例は、次の通りである。
（ａ）まず、ＯＮ状態の電源スイッチの数（ｉ）が指定数（１つ又は任意の数）増えた場合の突入電流またはその単位時間当たりの変化量が、所定の周期毎に見積もられる。
（ｂ）次に、見積もられた値が突入電流制約を満たしているかどうかの判定が行われる。
（ｃ）突入電流制約が満たされる場合にだけ、上記指定された数の電源スイッチがＯＮされる。
（ｄ）ＯＮ数ｉが総数ｎに達するまで、上記（ａ）〜（ｃ）が繰り返し実行される。
このような処理機能が、電源スイッチモジュール３０には実装される。そのために、電源スイッチモジュール３０には、上記所定の周期（以下、「判定周期」と参照される）が設定される。
【００３２】
図６は、電源スイッチモジュール３０の一例を示している。この電源スイッチモジュール３０は、アナログ設計用言語であるＶｅｒｉｌｏｇ−Ａで記述されている。以下、図６中の主な記述の意味を、行番号を参照しながら説明する。
【００３３】
（１）モジュール定義：電源スイッチモジュール３０のデザイン名（SW_MODULE）、及び入出力ポート（si, so）が示されている。
（２）ポート宣言（inout：双方向）。
（３）ディスプリン宣言：入出力ポートに接続された信号の特性（electrical：電位と電流の特性）が定義されている。
（４）ブランチ宣言：ポートｓｉ、ｓｏ間に、電流路（b_sw_res）が存在する。
（６）判定周期（period）の設定。
（７）電源スイッチの総数ｎ（sw_count）の設定。
（８）突入電流制約（I_limit）の設定。ここでは、例として、突入電流の最大値が突入電流制約として設定される。
（９）電圧（vsd）及び可変抵抗の抵抗値（sw_res）の変数宣言。
（１０）電源スイッチを流れる電流（I_all）の変数宣言。
（１１）ＯＮされた電源スイッチ数ｉ（count）の変数宣言。
（１３）アナログ動作の記述の開始。
（１４）〜（１８）初期設定：ＯＮ状態の電源スイッチ数（count）は０に初期設定される。
（２３）〜（３０）ループ処理：判定周期（period）毎に上述の処理（ａ）〜（ｃ）が行われる。
（２４）ＯＮされた電源スイッチ数（count）が総数（sw_count）になるまで、処理が行われる。
（２５）〜（２８）判定処理：電流（I_all）が突入電流制約（I_limit）を満たしている場合、ＯＮ状態の電源スイッチ数（count）が１増える。電流（I_all）が突入電流制約（I_limit）を満たしていない場合、ＯＮ状態の電源スイッチ数（count）は変更されない。
（３２）電源スイッチＳＷ１〜ＳＷｎのモデル：電源スイッチＳＷ１〜ＳＷｎは、オン抵抗特性に基づいて、可変抵抗（sw_res）でモデル化されている。その可変抵抗（sw_res）は、ＯＮ状態の電源スイッチ数（count）が増加するにつれて減少する。
（３３）Ｖ＝ＩＲの関係式：電圧（V(b_sw_res)）、電流（I_all＝I(b_sw_res)）、可変抵抗（sw_res）との間の関係が示される。突入電流が見積もられる。
【００３４】
このように、所定の判定周期（period）毎に、突入電流（I_all）と突入電流制約（I_limit）との比較が行われる。突入電流制約（I_limit）が満たされる場合にだけ、変数（count）がインクリメントされる。これは、電源スイッチが新たにＯＮされることに相当する。この処理は、変数（count）が電源スイッチの総数（sw_count）になるまで繰り返される。これは、突入電流制約（I_limit）が満たされるように電源スイッチＳＷ１〜ＳＷｎが順番にＯＮされることに相当する。そして、変数（count）の遷移時間が、電源スイッチＳＷ１〜ＳＷｎのそれぞれがＯＮされるＯＮタイミングに相当する。ＯＮタイミングを精度良く決定するために、判定周期（period）はある程度小さい値に設定されることが好適である。
【００３５】
２−２．静止容量モジュール
静止容量モジュール４０は、電源スイッチＳＷ１〜ＳＷｎが充放電する回路の静止容量を設定するモジュールである（図５参照）。後に示される回路シミュレーションにおいては、この静止容量モジュール４０により設定される静止容量も考慮される。図７は、静止容量モジュール４０の一例を示している。この静止容量モジュール４０は、アナログ設計用言語であるＶｅｒｉｌｏｇ−Ａで記述されている。以下、図７中の主な記述の意味を、行番号を参照しながら説明する。
【００３６】
（３６）モジュール定義：静止容量モジュール４０のデザイン名（CAP_MODULE）、及び入出力ポート（ci, co）が示されている。
（３９）静止容量（cap）の設定。
（４１）〜（４３）アナログ動作記述。
【００３７】
２−３．リーク電流モジュール
リーク電流モジュール５０は、パワーゲーティング対象である第１機能ブロック１におけるリーク電流を設定するモジュールである（図５参照）。後に示される回路シミュレーションにおいては、このリーク電流モジュール５０により設定されるリーク電流も考慮される。図８は、リーク電流モジュール５０の一例を示している。このリーク電流モジュール５０は、アナログ設計用言語であるＶｅｒｉｌｏｇ−Ａで記述されている。以下、図８中の主な記述の意味を、行番号を参照しながら説明する。
【００３８】
（４５）モジュール定義：リーク電流モジュール５０のデザイン名（LEAK_MODULE）、及び入出力ポート（li, lo）が示されている。
（４９）ブランチ宣言：ポートｌｉ、ｌｏ間に、リーク電流路（b_leak）が存在する。
（５０）電圧（vsd）の変数宣言。
（５２）〜（５８）：アナログ動作記述。
（５３）電圧（vsd）は入力電圧（V(li)）である。図５に示されるように、この入力電圧（V(li)）は、電源スイッチモジュール３０の出力電圧、すなわち、パワーゲーティング回路１０を通して第１機能ブロック１に供給される電圧である。
（５４）〜（５７）リーク電流の設定：リーク電流（I(b_leak)）は、入力電圧(vsd)に応じて変動する。また、本例においては、入力電圧（vsd）が０．５Ｖ未満の場合と０．５Ｖ以上の場合とで、異なるリーク電流（I(b_leak)）の式が用いられる。
【００３９】
３．回路シミュレーション
以上に説明されたように、パワーゲーティング回路１０の動作モデル２０が提供される。例えば、動作モデル２０は、Ｖｅｒｉｌｏｇ−Ａで記述され、複数のモジュールを有する（図６〜図８参照）。このような動作モデル２０を用いることにより、回路シミュレーションが行われる。つまり、動作モデル２０により機能や動作が定義されたモデル回路が、コンピュータ上で動作させられる。回路シミュレーションは、所定のアナログシミュレータにより実行される。
【００４０】
図９は、回路シミュレーションにおける動作モデルの動作を示すフローチャートである。まず、突入電流制約が設定される（ステップＳ１）。その後、時間が経過する最中に、設定された判定周期毎に判定タイミングが訪れる（ステップＳ２）。判定タイミングにおいて、電源スイッチのＯＮ数ｉが指定数（１つ又は任意の数）増加した場合の突入電流（又はその変化量）が見積もられる（ステップＳ３）。次に、見積もられた突入電流（又はその変化量）が突入電流制約を満たしているかどうか判定される（ステップＳ４）。突入電流制約が満たされない場合（ステップＳ４；Ｎｏ）、ＯＮ数ｉは増加せず、処理はステップＳ２に戻る。一方、突入電流制約が満たされる場合（ステップＳ４；Ｙｅｓ）、ＯＮ数ｉが上記指定数だけ増加する（ステップＳ５）。未だＯＮしていない電源スイッチが存在する場合（ステップＳ６；Ｎｏ）、処理はステップＳ２に戻る。ＯＮ数ｉが電源スイッチの総数ｎに達するまで、ステップＳ２〜Ｓ５が繰り返される。全ての電源スイッチＳＷ１〜ＳＷｎがＯＮした場合（ステップＳ６；Ｙｅｓ）、回路シミュレーションは終了する。
【００４１】
尚、電源スイッチＳＷ１〜ＳＷｎが可変抵抗でモデル化される場合、回路シミュレータは、複数の電源スイッチＳＷ１〜ＳＷｎを１つの可変抵抗として扱うことができる。この場合、回路シミュレーションの効率が向上し、好適である。
【００４２】
以上に説明されたように、回路シミュレーションにおいて、所望の突入電流制約が満たされるように、電源スイッチＳＷ１〜ＳＷｎが順番にＯＮしていく。すなわち、電源スイッチＳＷ１〜ＳＷｎのそれぞれのＯＮタイミングが、突入電流制約を満たすように自動的に制御され決定される。この回路シミュレーションの結果に基づいて、ＯＮタイミングを示す「電源スイッチＯＮタイミングデータ」が生成される。例えば、電源スイッチのＯＮ数ｉを表す上述の変数（count）の遷移時間が、ＯＮタイミングに相当する。従って、変数（count）の状態遷移を示すデータを参照することによって、電源スイッチＯＮタイミングデータを生成することが可能である。変数（count）の状態遷移は、画面に表示されてもよい。あるいは、電源スイッチＯＮタイミングを自動的に出力するモジュールが、動作モデル２０に組み込まれても良い。
【００４３】
４．パワーゲーティング回路の設計
上述の通り、電源スイッチＳＷ１〜ＳＷｎのそれぞれのＯＮタイミングは、突入電流制約が満たされるように決定されている。言い換えれば、そのＯＮタイミングで複数の電源スイッチＳＷ１〜ＳＷｎを順番にＯＮさせれば、突入電流制約は満たされる。従って、生成された電源スイッチＯＮタイミングデータを参照して、実際のパワーゲーティング回路１０の設計が行われればよい。それにより、所望の突入電流制約を満たすパワーゲーティング回路１０が自動的に得られる。
【００４４】
パワーゲーティング回路１０は、例えば、図３に示された構成を有する。その場合、遅延回路１１−２〜１１−ｎのそれぞれの遅延時間（ΔＴ２〜ΔＴｎ）が、ＯＮタイミングに基づいて決定される。具体的には、電源スイッチＯＮタイミングデータが示すＯＮタイミングから、電源スイッチＳＷ１〜ＳＷｎのそれぞれがＯＮするタイミングの間隔（時間差）が算出される。その算出された間隔に適合するように、それぞれの遅延時間（ΔＴ２〜ΔＴｎ）が決定される。パワーゲーティング回路１０の設計は、通常の論理合成等により行われる。
【００４５】
尚、本実施の形態において、各遅延時間（ΔＴ２〜ΔＴｎ）は、突入電流制約を満たすだけでなく、過剰にならないように決定されている。それは、回路シミュレーションにおいて、所定の判定周期毎に判定が行われ、突入電流制約が満たされた段階で直ぐに電源スイッチがＯＮされるからである。言い換えれば、動作モデル２０は、時間的に隣り合う２つのＯＮタイミングの間隔（時間差）を判定周期に対応する値ずつ徐々に増加させ、突入電流制約が満たされた段階でその間隔を決定する。従って、隣り合う２つのＯＮタイミングの間隔、すなわち遅延時間が、いたずらに長くなりすぎることが防止される。その結果、第１機能ブロック１の動作再開までの時間が長くなりすぎることが防止され、パワーゲーティング回路１０が搭載される半導体集積回路の動作速度の低下が防止される。遅延時間を精度良く決定するために、上記判定周期は、ある程度小さい値に設定されることが好適である。
【００４６】
５．半導体集積回路設計システム
本実施の形態に係るパワーゲーティング回路１０が搭載される半導体集積回路は、コンピュータを用いて設計される。その設計のためのコンピュータシステムは、当業者によって適宜構築され得る。図１０は、コンピュータシステム（ＬＳＩ設計システム）の一例を示している。
【００４７】
ＬＳＩ設計システム１００は、演算処理装置１１０、記憶装置１２０、設計ツール群１３０、入力装置１４０、表示装置１５０を備えている。記憶装置１２０には、上述の動作モデル２０、電源スイッチＯＮタイミングデータ１２１、ＲＴＬ記述データ１２２、ネットリスト１２３、レイアウトデータ１２４などが格納される。記憶装置１２０としては、ＲＡＭやＨＤＤが例示される。設計ツール群１３０は、アナログ回路シミュレータ１３１、論理合成ツール１３２、レイアウトツール１３３などを含み、それらは演算処理装置１１０によって実行されるソフトウェア・プロダクトである。入力装置１４０としては、キーボードやマウスが例示される。設計者は、表示装置１５０に表示される情報を参照しながら、入力装置１４０を用いてデータやコマンドを入力することができる。
【００４８】
図１１は、本実施の形態に係る半導体集積回路の設計方法を要約的に示すフローチャートである。まず、パワーゲーティング回路１０の動作モデル２０が提供される（ステップＳ１０１）。動作モデル２０は、例えばＶｅｒｉｌｏｇ−Ａで記述され（図６〜図８参照）、記憶装置１２０に格納される。
【００４９】
次に、演算処理装置１１０は、アナログ回路シミュレータ１３１を実行し、動作モデル２０を用いた回路シミュレーションを実行する（ステップＳ１０２）。より詳細には、アナログ回路シミュレータ１３１の命令に従って、演算処理装置１１０は、記憶装置１２０から動作モデル２０を読み出し、その動作モデル２０の回路シミュレーションを実行する。回路シミュレーションにおける処理の詳細は、図９に示されたとおりである。その結果、電源スイッチＳＷ１〜ＳＷｎのそれぞれのＯＮタイミングが、突入電流制約を満たすように最適化される。回路シミュレーションの結果に基づいて、演算処理装置１１０は、決定されたＯＮタイミングを示す電源スイッチＯＮタイミングデータ１２１を生成する（ステップＳ１０３）。電源スイッチＯＮタイミングデータ１２１は、記憶装置１２０に格納される。
【００５０】
次に、半導体集積回路の設計が行われる。例えば、半導体集積回路のＲＴＬ記述を示すＲＴＬ記述データ１２２が作成され、記憶装置１２０に格納される。パワーゲーティング回路１０の論理設計は、電源スイッチＯＮタイミングデータ１２１を参照することにより行われる（ステップＳ１０４）。具体的には、遅延回路１１−２〜１１−ｎの遅延時間（ΔＴ２〜ΔＴｎ）に、電源スイッチＯＮタイミングデータ１２１が示すＯＮタイミングが反映される。
【００５１】
次に、演算処理装置１１０は、論理合成ツール１３２を実行し、ＲＴＬ記述データ１２２が示すＲＴＬ記述に対して論理合成処理を実行する。その結果、半導体集積回路中の素子の接続関係を示すネットリスト１２３が作成される（ステップＳ１０５）。次に、演算処理装置１１０は、レイアウトツール１３３を実行し、ネットリスト１２３に基づいてレイアウト設計を行う（ステップＳ１０６）。その結果、設計対象の半導体集積回路のレイアウトを示すレイアウトデータ１２４が作成される。
【００５２】
６．効果
本発明によれば、パワーゲーティング回路１０の設計の前に、動作モデル２０を用いた回路シミュレーションを通して、電源スイッチＳＷ１〜ＳＷｎの最適なＯＮタイミングが決定される。そのＯＮタイミングは、所望の突入電流制約を満たすように決定されている。よって、そのＯＮタイミングを参照して設計されたパワーゲーティング回路１０では、所望の突入電流制約が自動的に満たされている。その結果、電源ノイズによる回路の誤動作が防止される。
【００５３】
ここで、パワーゲーティング回路１０の設計後に、その設計データを用いて突入電流のシミュレーションが実行される場合を考える。その場合、突入電流制約が満たされないと、パワーゲーティング回路１０の設計を修正する必要がある。これは、設計時間の増大を招く。一方、本発明によれば、突入電流のシミュレーションを繰り返す必要はない。それは、動作モデル２０が、電源スイッチＳＷ１〜ＳＷｎのＯＮタイミングを自動的に制御するように構成されているからである。その動作モデル２０を用いた回路シミュレーションを１回だけ実行することにより、突入電流制約を満たすＯＮタイミングが決定される。従って、半導体集積回路の設計に要する時間が短縮される。
【００５４】
また、動作モデル２０において、電源スイッチＳＷ１〜ＳＷｎは、トランジスタレベルの詳細なネットリストではなく、シンプルな可変抵抗でモデル化されている。つまり、回路シミュレータは、複数の電源スイッチＳＷ１〜ＳＷｎを１つの可変抵抗として扱うことができる。従って、上記１回の回路シミュレーションの効率が向上し、シミュレーション時間が効果的に削減される。
【００５５】
更に、動作モデル２０は、時間的に隣り合う２つのＯＮタイミングの間隔を徐々に増加させ、突入電流制約が満たされた段階でその間隔を決定する。従って、隣り合う２つのＯＮタイミングの間隔がいたずらに長くなりすぎることが防止される。つまり、ＯＮタイミングの間隔は、突入電流制約を満たすだけでなく、過剰にならないように決定される。その結果、第１機能ブロック１の動作再開までの時間が長くなりすぎることが防止され、パワーゲーティング回路１０が搭載される半導体集積回路の動作速度の低下が防止される。
【図面の簡単な説明】
【００５６】
【図１】図１は、本発明における設計対象としての半導体集積回路の一例を概略的に示す回路図である。
【図２】図２は、本発明における設計対象としての半導体集積回路の他の例を概略的に示す回路図である。
【図３】図３は、パワーゲーティング回路の構成の一例を示す回路図である。
【図４】図４は、本発明の実施の形態に係るパワーゲーティング回路の動作モデルの機能を示す図である。
【図５】図５は、本発明の実施の形態に係るパワーゲーティング回路の動作モデルを示す概念図である。
【図６】図６は、本実施の形態に係る動作モデルの電源スイッチモジュールのＨＤＬ記述の一例を示す図である。
【図７】図７は、本実施の形態に係る動作モデルの静止容量モジュールのＨＤＬ記述の一例を示す図である。
【図８】図８は、本実施の形態に係る動作モデルのリーク電流モジュールのＨＤＬ記述の一例を示す図である。
【図９】図９は、本実施の形態に係る動作モデルの回路シミュレーションにおける動作を示すフローチャートである。
【図１０】図１０は、本実施の形態に係るＬＳＩ設計システムの構成を示すブロック図である。
【図１１】図１１は、本実施の形態に係る半導体集積回路の設計方法を示すフローチャートである。
【符号の説明】
【００５７】
１    第１機能ブロック（パワーゲーティング対象）
２    第２機能ブロック
３    機能ブロック
１０    パワーゲーティング回路
１１    遅延回路
２０    パワーゲーティング回路の動作モデル
３０    電源スイッチモジュール
４０    静止容量モジュール
５０    リーク電流モジュール
１００    ＬＳＩ設計システム
１１０    演算処理装置
１２０    記憶装置
１２１    電源スイッチＯＮタイミングデータ
１２２    ＲＴＬ記述データ
１２３    ネットリスト
１２４    レイアウトデータ
１３０    設計ツール群
１３１    アナログ回路シミュレータ
１３２    論理合成ツール
１３３    レイアウトツール
１４０    入力装置
１５０    表示装置
ＳＷ１〜ＳＷｎ  電源スイッチ
【図１】
2008065732.tif 000003
【図２】
2008065732.tif 000004
【図３】
2008065732.tif 000005
【図４】
2008065732.tif 000006
【図５】
2008065732.tif 000007
【図６】
2008065732.tif 000008
【図７】
2008065732.tif 000009
【図８】
2008065732.tif 000010
【図９】
2008065732.tif 000011
【図１０】
2008065732.tif 000012
【図１１】
2008065732.tif 000013