(57)【要約】【課題】集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もること。【解決手段】設計支援装置において、電源間容量計算部５２は、集積回路の回路構成情報及び入力情報に基づいて、各論理状態における電源配線間の容量を計算する。回路構成情報は、集積回路の各素子の接続関係を示す情報である。入力情報は、集積回路の入力端子に入力される論理値を示す情報である。状態遷移時間計算部５１は、集積回路の回路構成情報及び入力情報に基づいて、論理状態の遷移に要する時間を計算する。電源間容量時間変化計算部５３は、電源間容量計算部５２により得られる容量、及び状態遷移時間計算部５１により得られる時間に基づいて、容量の時間変化を計算する。【選択図】図１０
2014063231.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算する状態遷移時間計算部と、
前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算する電源間容量計算部と、
前記電源間容量計算部により得られる前記容量、及び前記状態遷移時間計算部により得られる前記時間に基づいて、前記容量の時間変化を計算する電源間容量時間変化計算部と、
を備えることを特徴とする設計支援装置。
【請求項２】
前記状態遷移時間計算部は、フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記電源間容量時間変化計算部により得られる前記容量の時間変化に基づいて、電流時間波形を計算する電流時間波形計算部を備えることを特徴とする請求項１または２に記載の設計支援装置。
【請求項４】
前記電流時間波形計算部により得られる前記電流時間波形をフーリエ変換することによって電流スペクトラムを求めるフーリエ変換部を備えることを特徴とする請求項３に記載の設計支援装置。
【請求項５】
集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、
前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、
前記容量及び前記時間に基づいて前記容量の時間変化を計算することを特徴とする設計支援方法。
【請求項６】
集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、
前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、
前記容量及び前記時間に基づいて前記容量の時間変化を計算する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、集積回路の設計支援装置、設計支援方法及びプログラムに関する。
【背景技術】
【０００２】
デジタル回路では、論理の遷移時に過渡的に大きな電流が流れ、ノイズが発生する。半導体基板と半導体基板内のウェルとの間の寄生容量である接合容量を、多端子Ｆ行列を用いてモデル化し、接合容量経由で基板に侵入するノイズの影響のシミュレーションを行うことによって、集積回路の基板ノイズを解析する方法がある（例えば、特許文献１参照）。
【０００３】
予めライブラリ内の各セルによって電源から流れる電流の波形を記憶しておき、デジタル回路内のセルごとにセルへの入力値に応じて電源から流れる電流の波形を生成し、各波形を合計することによって、デジタル回路によって電源から流れる電流の波形を生成する方法がある（例えば、特許文献２参照）。
【０００４】
集積回路の設計情報から、集積回路の電源端子に流れる電流を等価的に流せるように記述される集積回路の動作部分を、自動的に生成する方法がある。この集積回路の動作部分のモデルは電流源、または同等の電流を流すトランジスタで記述される（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１６２５５９号公報
【特許文献２】特開２００６−２８５９６０号公報
【特許文献３】特開２００９−１９９３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法では、セルへの入力値が遷移することによって電源配線とグランド配線との間の電源間容量が変動するときに電源から流れる電流が考慮されていない。そのため、集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができない。例えば、本発明者が、電源から流れる電流の周波数特性、すなわち電流スペクトラムについて、解析による見積もり値と実測値とを比較したところ、クロック周波数の偶数倍の高調波では見積もり値が実測値に概ね一致することがわかった。しかし、クロック周波数の奇数倍の高調波では見積もり値が実測値よりも小さくなることがわかった。このように電源から流れる電流の解析精度が低いと、不要輻射（Ｅｌｅｃｔｒｏ  Ｍａｇｎｅｔｉｃ  Ｉｎｔｅｒｆｅｒｅｎｃｅ、ＥＭＩ）を精度良く見積もることができないという問題点がある。
【０００７】
集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができる設計支援装置、設計支援方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
設計支援装置は、電源間容量計算部、状態遷移時間計算部及び電源間容量時間変化計算部を備える。電源間容量計算部は、集積回路の回路構成情報及び入力情報に基づいて、各論理状態における電源配線間の容量を計算する。回路構成情報は、集積回路の各素子の接続関係を示す情報である。入力情報は、集積回路の入力端子に入力される論理値を示す情報である。状態遷移時間計算部は、集積回路の回路構成情報及び入力情報に基づいて、論理状態の遷移に要する時間を計算する。電源間容量時間変化計算部は、電源間容量計算部により得られる容量、及び状態遷移時間計算部により得られる時間に基づいて、容量の時間変化を計算する。
【発明の効果】
【０００９】
集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の状態における標準セルの電源間容量を説明する図である。
【図２】図２は、第２の状態における標準セルの電源間容量を説明する図である。
【図３】図３は、第３の状態における配線間容量を説明する図である。
【図４】図４は、第４の状態における配線間容量を説明する図である。
【図５】図５は、集積回路の一例を示す図である。
【図６】図６は、集積回路電源の線型回路モデルの一例を示す図である。
【図７】図７は、集積回路の電源間容量の時間変化の一例を示す図である。
【図８】図８は、図７に示す電源間容量の時間変化に対する電流時間波形の一例を示す図である。
【図９】図９は、実施の形態にかかる設計支援装置のハードウェア構成の一例を示す図である。
【図１０】図１０は、実施の形態にかかる設計支援装置の機能的構成の一例を示す図である。
【図１１】図１１は、実施の形態にかかる設計支援方法の一例を示す図である。
【図１２】図１２は、実施の形態にかかる設計支援装置の機能的構成の別の例を示す図である。
【図１３】図１３は、実施の形態にかかる設計支援方法の別の例を示す図である。
【図１４】図１４は、集積回路の電源間容量の時間変化の別の例を示す図である。
【図１５】図１５は、図１４に示す電源間容量の時間変化に対する電流時間波形の別の例を示す図である。
【図１６】図１６は、集積回路電源の線型回路モデルの別の例を示す図（その１）である。
【図１７】図１７は、集積回路電源の線型回路モデルの別の例を示す図（その２）である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この設計支援装置、設計支援方法及びプログラムの好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００１２】
・標準セルの電源間容量Ｃcellの状態依存性
図１は、第１の状態における標準セルの電源間容量を説明する図である。図２は、第２の状態における標準セルの電源間容量を説明する図である。標準セルは、例えばインバータ、バッファ、ＮＡＮＤ、ＮＯＲ、ＡＮＤ、ＯＲ、ＸＯＲもしくは各種フリップフロップ、またはそれらを組み合わせてできている複合セルのように、集積回路を構成する論理素子であり、標準セルライブラリによって提供される。本実施例では、インバータセルを例にして標準セルの電源間容量について説明する。
【００１３】
図１に示すように、インバータセル１において、入力端子Ａに入力される論理値が"ｈｉｇｈ"レベルの場合、ＰＭＯＳトランジスタ２はオフ状態となり、ＮＭＯＳトランジスタ３がオン状態となる。それによって、インバータセルの電源間容量Ｃcellとして、Ｃnmos、ＣAS及びＣYDが生じる。
【００１４】
Ｃnmosは、ＮＭＯＳトランジスタ３に関する寄生容量であり、主に基板とウェルとの間の接合容量及びゲート容量で構成される。ＣASは、入力端子Ａに接続されている信号線と電源供給線ＶSSとの間の寄生容量である。ＣYDは、出力端子Ｙに接続されている信号線と電源供給線ＶDDとの間の寄生容量である。
【００１５】
従って、（１）式に示すように、入力の論理値が"ｈｉｇｈ"レベルである場合のインバータセルの電源間容量Ｃcellは、ＣnmosとＣASとＣYDとを合成した容量となる。
【００１６】
【数１】
2014063231.tif 000003
【００１７】
一方、図２に示すように、インバータセル１において、入力端子Ａに入力される論理値が"ｌｏｗ"レベルの場合、ＮＭＯＳトランジスタ３はオフ状態となり、ＰＭＯＳトランジスタ２がオン状態となる。それによって、インバータセルの電源間容量Ｃcellとして、Ｃpmos、ＣAD及びＣYSが生じる。
【００１８】
Ｃpmosは、ＰＭＯＳトランジスタ２に関する寄生容量であり、主に基板とウェルとの間の接合容量及びゲート容量で構成される。ＣADは、入力端子Ａに接続されている信号線と電源供給線ＶDDとの間の寄生容量である。ＣYSは、出力端子Ｙに接続されている信号線と電源供給線ＶSSとの間の寄生容量である。
【００１９】
従って、（２）式に示すように、入力の論理値が"ｌｏｗ"レベルである場合のインバータセルの電源間容量Ｃcellは、ＣpmosとＣADとＣYSとを合成した容量となる。
【００２０】
【数２】
2014063231.tif 000004
【００２１】
（１）式及び（２）式より明らかなように、インバータセルの電源間容量Ｃcellは、インバータセルの状態に対する依存性を有する。ＮＡＮＤセル、など、インバータセル以外の標準セルや、標準セル同士の組み合わせによってできるセルについても同様であり、セルの電源間容量Ｃcellは、セルの状態に対する依存性を有する。各状態における標準セルの寄生容量は、例えばＳＰＩＣＥなどの既存の回路解析エンジンを用いて、標準セルの入力端子に入力される電圧を論理値に応じて変化させるシミュレーションを実行することによって得られる。
【００２２】
・配線間容量Ｃwireの状態依存性
図３は、第３の状態における配線間容量を説明する図である。図４は、第４の状態における配線間容量を説明する図である。配線間容量は、セル同士を接続する信号線同士の間の寄生容量である。
【００２３】
図３に示すように、信号線ｊと信号線ｋとが例えば電源供給線ＶDDに例えば前段のトランジスタを介して接続されている場合のように、信号線ｊと信号線ｋとが同電位である場合、信号線ｊと信号線ｋとの間の配線間容量Ｃwireはゼロとなる。信号線ｊと信号線ｋとが例えば電源供給線ＶSSに接続されている場合も同様である。
【００２４】
図４に示すように、信号線ｊが例えば電源供給線ＶDDに接続され、信号線ｋが例えば電源供給線ＶSSに接続されている場合のように、信号線ｊと信号線ｋとが異なる電位である場合がある。この場合、信号線ｊと信号線ｋとの間の配線間容量ＣwireはＣj,kとなる。
【００２５】
・集積回路の電源間容量ＣLSIの状態依存性
集積回路の電源間容量ＣLSIは、（３）式に示すように、標準セルの電源間容量Ｃcellと配線間容量Ｃwireとの合成容量となる。
【００２６】
【数３】
2014063231.tif 000005
【００２７】
なお、標準セルの電源間容量Ｃcell、配線間容量Ｃwire及び集積回路の電源間容量ＣLSIに状態依存性があることは、例えば特開２０１１−１９７８９５号公報に開示されている。また、Ｓｈｉｈｏ  Ｈａｇｉｗａｒａらによる“Ｌｉｎｅａｒ  ｔｉｍｅ  ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ｏｎ−ｃｈｉｐ  ｐｏｗｅｒ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｎｅｔｗｏｒｋ  ｃａｐａｃｉｔａｎｃｅ  ｃｏｎｓｉｄｅｒｉｎｇ  ｓｔａｔｅ−ｄｅｐｅｎｄｅｎｃｅ”（ＩＥＩＣＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｆｕｎｄａｍｅｎｔａｌｓ  ｏｆ  Ｅｌｅｃｔｒｏｎｉｃｓ，  Ｖｏｌ．Ｅ９３−Ａ，  Ｎｏ．１２，  ｐｐ．  ２４０９−２４１６，  Ｄｅｃｅｍｂｅｒ  ２０１０．）に開示されている。また、Ｓｈｉｈｏ  Ｈａｇｉｗａｒａらによる“Ｌｉｎｅａｒ  Ｔｉｍｅ  Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  Ｓｔａｔｅ−Ｄｅｐｅｎｄｅｎｔ  Ｐｏｗｅｒ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｎｅｔｗｏｒｋ  Ｃａｐａｃｉｔａｎｃｅ”（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｑｕａｌｉｔｙ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  （ＩＳＱＥＤ），  ｐｐ．  ７５−８０，  Ｓａｎ  Ｊｏｓｅ，  Ｍａｒｃｈ  ２０１０．）に開示されている。
【００２８】
・集積回路電源の線型回路モデルの一例
図５は、集積回路の一例を示す図である。図５に示す集積回路１１は、二重線で囲まれるインバータセル１２及び二重線で囲まれるＮＡＮＤセル１３を有する。インバータセル１２及びＮＡＮＤセル１３には、電源供給線ＶDD及び電源供給線ＶSSが接続されている。インバータセル１２の出力端子とＮＡＮＤセル１３の第１入力端子とは、信号線１４により接続されている。ＮＡＮＤセル１３の第２入力端子には、別の信号線１５が接続されている。
【００２９】
インバータセル１２の電源間容量をＣcell1とし、ＮＡＮＤセル１３の電源間容量をＣcell2とする。電源供給線ＶDDと信号線１４との間の配線間容量をＣAとし、信号線１４と電源供給線ＶSSとの間の配線間容量をＣBとする。信号線１４と信号線１５との間の配線間容量をＣCとする。電源供給線ＶDDと信号線１５との間の配線間容量をＣDとし、信号線１５と電源供給線ＶSSとの間の配線間容量をＣEとする。
【００３０】
インバータセル１２の入力の論理値及びＮＡＮＤセル１３の第２入力端子への入力の論理値がともに"ｈｉｇｈ"レベルである場合、寄生容量としてＣA、ＣC及びＣEが選択される。従って、集積回路の電源間容量ＣLSIは、Ｃcell1とＣcell2とＣAとＣCとＣEとの合成容量となる。
【００３１】
インバータセル１２の入力の論理値が"ｈｉｇｈ"レベルであり、ＮＡＮＤセル１３の第２入力端子への入力の論理値が"ｌｏｗ"レベルである場合、寄生容量としてＣA及びＣDが選択される。従って、集積回路の電源間容量ＣLSIは、Ｃcell1とＣcell2とＣAとＣDとの合成容量となる。
【００３２】
インバータセル１２の入力の論理値が"ｌｏｗ"レベルであり、ＮＡＮＤセル１３の第２入力端子への入力の論理値が"ｈｉｇｈ"レベルである場合、寄生容量としてＣB及びＣEが選択される。従って、集積回路の電源間容量ＣLSIは、Ｃcell1とＣcell2とＣBとＣEとの合成容量となる。
【００３３】
インバータセル１２の入力の論理値及びＮＡＮＤセル１３の第２入力端子への入力の論理値がともに"ｌｏｗ"レベルである場合、寄生容量としてＣB、ＣC及びＣDが選択される。従って、集積回路の電源間容量ＣLSIは、Ｃcell1とＣcell2とＣBとＣCとＣDとの合成容量となる。
【００３４】
図６は、集積回路電源の線型回路モデルの一例を示す図である。例えば図５に示すような集積回路１１を、図６に示すような集積回路電源の線型回路モデル２１として表すことができる。集積回路電源の線型回路モデル２１において、電源供給線ＶDDと電源供給線ＶSSとの間に電流源２２が接続されているとともに、電源供給線ＶDDと電源供給線ＶSSとの間に容量素子２３と抵抗素子２４とが直列に接続されている。
【００３５】
図６において、Ｉcktは、インバータセル１２及びＮＡＮＤセル１３によって電源供給線ＶDDと電源供給線ＶSSとの間に流れる電流である。ＣLSIは容量素子２３の容量値であり、例えば図５に示す集積回路１１の場合、上述する４つの状態における集積回路１１の電源間容量ＣLSIである。抵抗素子２４は信号線１４及び信号線１５の配線抵抗である。図６に示すモデルでは、上述する４つの状態に応じてＣLSIが変化し、ＩcktとＣLSIに対応する電流とが流れる。
【００３６】
・電源間容量の変化によって流れる電流Ｉcap（ｔ）
図７は、集積回路の電源間容量の時間変化の一例を示す図である。図７に示すように、例えば集積回路の電源間容量ＣLSIは、時刻ｔ1から［ｔ1＋Δｔ］までの間にＣ0からＣ1に変化するとする。そして、ＣLSIは、時刻ｔ2から［ｔ2＋Δｔ］までの間にＣ1からＣ2に変化し、時刻ｔ3から［ｔ3＋Δｔ］までの間にＣ2からＣ3に変化するとする。このように、各時刻において状態の遷移にΔｔの時間がかかり、このΔｔの間にＣLSIの充電または放電が行われ、電流が流れる。
【００３７】
図８は、図７に示す電源間容量の時間変化に対する電流時間波形の一例を示す図である。図８に示すように、各時刻においてΔｔの時間に電流Ｉcapが流れる。ＣLSIが大きくなる場合には容量素子２３が充電されるようにＩcapが流れ、ＣLSIが大きくなる場合には容量素子２３が放電されるようにＩcapが流れる。
【００３８】
図６に示すモデルの容量素子２３に蓄積される電荷Ｑ（ｔ）の時間変化は、電源供給線ＶDDと電源供給線ＶSSとの間の電圧をＶDDとすると、（４）式で表される。
【００３９】
【数４】
2014063231.tif 000006
【００４０】
電源間容量ＣLSIの時間変化によって流れる電流Ｉcap（ｔ）は、電荷Ｑ（ｔ）を時間微分することによって得られる。従って、Ｉcap（ｔ）は（５）式で表される。
【００４１】
【数５】
2014063231.tif 000007
【００４２】
・状態の遷移に要する時間Δｔ
状態の遷移に要する時間Δｔは、例えばフリップフロップにクロックが入力され、次のフリップフロップに信号が伝播するまでに要する時間ｔpathによって近似することができる。ｔpathは、例えば静的タイミング解析（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ、ＳＴＡ）によって得られる。従って、Δｔをｔpathによって近似することによって、Δｔを容易に求めることができる。
【００４３】
例えばｔpathの最小値をｔminとすると、（６）式で表されるように、状態の遷移に要する時間Δｔをｔminとしてもよい。この場合、状態の遷移に要する時間Δｔが短くなる。従って、電源間容量ＣLSIの時間変化によって流れる電流Ｉcap（ｔ）を大きく見積もることができる。
【００４４】
【数６】
2014063231.tif 000008
【００４５】
例えばｔpathの最大値をｔmaxとすると、（７）式で表されるように、状態の遷移に要する時間Δｔをｔmaxとｔminとの中央値としてもよい。
【００４６】
【数７】
2014063231.tif 000009
【００４７】
例えばｔpathの確率密度関数をｐ（ｔ）とすると、（８）式で表されるように、状態の遷移に要する時間Δｔを平均値としてもよい。
【００４８】
【数８】
2014063231.tif 000010
【００４９】
・設計支援装置のハードウェア構成の一例
図９は、実施の形態にかかる設計支援装置のハードウェア構成の一例を示す図である。図９に示すように、設計支援装置は、例えばコンピュータ本体３１、入力装置３２及び出力装置３３を有していてもよい。設計支援装置は、例えば図示しないルータやモデムを介して構内通信網（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＬＡＮ）や広域通信網（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＷＡＮ）やインターネットなどのネットワーク３４に接続可能である。
【００５０】
コンピュータ本体３１は、例えば中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）、記憶部及びインターフェースを有していてもよい。ＣＰＵは、設計支援装置の全体の制御を司る。記憶部は、例えばリードオンリーメモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＲＡＭ）、ハードディスク（Ｈａｒｄ  Ｄｉｓｋ：ＨＤ）、光ディスク３５及びフラッシュメモリのうちの一つ以上で構成される。
【００５１】
記憶部は、ＣＰＵのワークエリアとして使用される。記憶部には各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ハードディスクや光ディスク３５は、ディスクドライブによりデータの読み出し及び書き込みが制御される。光ディスク３５やフラッシュメモリは、コンピュータ本体３１に対して着脱可能となっている。
【００５２】
インターフェースは、入力装置３２からの入力、出力装置３３への出力、及びネットワーク３４に対する送信及び受信の制御を行う。入力装置３２としては、例えばキーボード３６、マウス３７及びスキャナ３８などがある。キーボード３６は、文字や数字や各種指示などの入力に用いられるキーを有し、データの入力を行う。また、キーボード３６は、タッチパネル式であってもよい。マウス３７は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
【００５３】
スキャナ３８は、画像を光学的に読み取る。読み取られた画像は、画像データとして取り込まれ、コンピュータ本体３１内の記憶部に格納される。スキャナ３８に光学式文字読み取り（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ：ＯＣＲ）機能を持たせてもよい。
【００５４】
出力装置３３としては、例えばディスプレイ３９、スピーカ４０及びプリンタ４１などが挙げられる。ディスプレイ３９は、カーソル、アイコンまたはツールボックスをはじめ、文書、画像及び機能情報などのデータを表示する。スピーカ４０は、効果音や読み上げ音などの音声を出力する。プリンタ４１は、画像データや文書データを印刷する。
【００５５】
・設計支援装置の機能的構成の一例
図１０は、実施の形態にかかる設計支援装置の機能的構成の一例を示す図である。図１０に示すように、設計支援装置は、状態遷移時間計算部５１、電源間容量計算部５２及び電源間容量時間変化計算部５３を有していてもよい。
【００５６】
状態遷移時間計算部５１は、回路構成情報及び入力情報に基づいて、論理状態の遷移に要する時間を計算する。回路構成情報は、集積回路の各素子の接続関係を示す情報であり、例えばＳＰＩＣＥ形式のネットリストやＶｅｒｉｌｏｇ（ヴェリログ）ネットリストなどである。入力情報は、集積回路の入力端子に入力される論理値を示す情報であり、波形変化の情報が記されるＶＣＤ（Ｖａｌｕｅ  Ｃｈａｎｇｅ  Ｄｕｍｐ）などの入力ベクトル情報である。状態遷移時間計算部５１は、「・状態の遷移に要する時間Δｔ」の項において説明したように、例えば（６）式、(７)式または（８）式を計算することによって、論理状態の遷移に要する時間Δｔを求めてもよい。
【００５７】
電源間容量計算部５２は、回路構成情報及び入力情報に基づいて、各論理状態における電源配線間の容量を計算する。電源間容量計算部５２は、例えば「・集積回路電源の線型回路モデルの一例」の項において説明した、図６に示すような集積回路電源の線型回路モデルを用いてもよい。電源間容量計算部５２は、集積回路電源の線型回路モデルに対して、集積回路の入力端子に入力される論理値の各状態に対して例えば（３）式を計算することによって、各論理状態における電源配線間の容量ＣLSIを求めてもよい。例えば、電源間容量計算部５２は、特開２０１１−１９７８９５号公報に開示されている方法により、各論理状態における電源配線間の容量ＣLSIを求めてもよい。
【００５８】
電源間容量時間変化計算部５３は、電源間容量計算部５２から各論理状態における電源配線間の容量ＣLSIの情報を受け取り、状態遷移時間計算部５１から、論理状態の遷移に要する時間Δｔの情報を受け取る。電源間容量時間変化計算部５３は、論理状態の遷移に要する時間Δｔにおける電源配線間の容量ＣLSIの変化を計算することによって、電源間容量時間変化ＣLSI（ｔ）を求めてもよい。電源間容量時間変化計算部５３によって、例えば図７に示すような電源間容量の時間変化ＣLSI（ｔ）が得られる。
【００５９】
状態遷移時間計算部５１、電源間容量計算部５２及び電源間容量時間変化計算部５３は、例えば図９に示す設計支援装置の記憶部に記憶される当該各部５１〜５３の機能に関するプログラムをＣＰＵに実行させることにより、または、入力や出力のインターフェースにより、実現されてもよい。なお、コンピュータ本体３１は、状態遷移時間計算部５１、電源間容量計算部５２及び電源間容量時間変化計算部５３の各機能に関するプログラムをネットワーク３４から取得してＣＰＵにより実行してもよい。
【００６０】
また、回路構成情報及び入力情報は、例えば図９に示す設計支援装置の記憶部に保持されてもよい。また、状態遷移時間計算部５１、電源間容量計算部５２及び電源間容量時間変化計算部５３からの出力データは、例えば図９に示す設計支援装置の記憶部に保持されてもよい。
【００６１】
・設計支援方法の一例
図１１は、実施の形態にかかる設計支援方法の一例を示す図である。図１１に示す設計支援方法は、図１０に示す設計支援装置により実施されてもよい。本実施例では、図１０に示す設計支援装置が、図１１に示す設計支援方法を実施する場合について説明する。
【００６２】
図１１に示すように、設計支援方法を実現するプログラムの処理が開始されると、設計支援装置は、回路構成情報及び入力情報に基づいて、状態遷移時間計算部５１により、論理状態の遷移に要する時間Δｔを計算する（ステップＳ１）。また、設計支援装置は、回路構成情報及び入力情報に基づいて、電源間容量計算部５２により、各論理状態における電源配線間の容量ＣLSIを計算する（ステップＳ２）。ステップＳ１及びステップＳ２は、いずれが先に処理されてもよいし、同時に処理されてもよい。
【００６３】
次いで、設計支援装置は、論理状態の遷移に要する時間Δｔ、及び電源配線間の容量ＣLSIに基づいて、電源間容量時間変化計算部５３により、電源配線間の容量の時間変化ＣLSI（ｔ）を計算する（ステップＳ３）。そして、設計支援装置は一連の処理を終了する。
【００６４】
図１０に示す設計支援装置によれば、電源配線間の容量の時間変化ＣLSI（ｔ）が得られる。この電源配線間の容量の時間変化ＣLSI（ｔ）から、集積回路の動作時に電源から流れる電流が導出される。従って、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
【００６５】
・設計支援装置の機能的構成の別の例
図１２は、実施の形態にかかる設計支援装置の機能的構成の別の例を示す図である。図１２に示すように、設計支援装置は、入力部５４、状態遷移時間計算部５１、電源間容量計算部５２、電源間容量時間変化計算部５３、電流時間波形計算部５５及びフーリエ変換部５６を有していてもよい。
【００６６】
入力部５４は、設計支援装置に、ネットリストなどの回路構成情報及びＶＣＤなどの入力情報を入力する。状態遷移時間計算部５１、電源間容量計算部５２及び電源間容量時間変化計算部５３については、「・設計支援装置の機能的構成の一例」の項で説明した通りである。従って、これらの計算部５１〜５３の説明を省略する。
【００６７】
電流時間波形計算部５５は、電源間容量時間変化計算部５３から電源間容量の時間変化ＣLSI（ｔ）の情報を受け取る。電流時間波形計算部５５は、電源間容量の時間変化ＣLSI（ｔ）に基づいて電流時間波形Ｉcap（ｔ）を計算して求める。電流時間波形計算部５５は、例えば「・電源間容量の変化によって流れる電流Ｉcap（ｔ）」の項において説明したように、例えば（５）式を計算することによって、電流時間波形Ｉcap（ｔ）を求めてもよい。電流時間波形計算部５５によって、例えば図８に示すような電流波形の時間変化Ｉcap（ｔ）が得られる。
【００６８】
フーリエ変換部５６は、電流時間波形計算部５５から電流時間波形Ｉcap（ｔ）の情報を受け取る。フーリエ変換部５６は、電流時間波形Ｉcap（ｔ）をフーリエ変換することによって周波数領域の電流波形、すなわち電流スペクトラムＩcap（ω）を求めてもよい。
【００６９】
状態遷移時間計算部５１、電源間容量計算部５２、電源間容量時間変化計算部５３、電流時間波形計算部５５及びフーリエ変換部５６は、例えば図９に示す設計支援装置の記憶部に記憶される当該各部５１〜５３，５５，５６の機能に関するプログラムをＣＰＵに実行させることにより、または、入力や出力のインターフェースにより、実現されてもよい。なお、コンピュータ本体３１は、状態遷移時間計算部５１、電源間容量計算部５２、電源間容量時間変化計算部５３、電流時間波形計算部５５及びフーリエ変換部５６の各機能に関するプログラムをネットワーク３４から取得してＣＰＵにより実行してもよい。
【００７０】
また、入力部５４は、例えばユーザが入力装置３２を操作することによって、入力装置３２や光ディスク３５から回路構成情報及び入力情報を記憶部に保持させてもよい。あるいは、入力部５４は、ネットワーク３４から回路構成情報及び入力情報を取得して記憶部に保持させてもよい。
【００７１】
・設計支援方法の別の例
図１３は、実施の形態にかかる設計支援方法の別の例を示す図である。図１３に示す設計支援方法は、図１２に示す設計支援装置により実施されてもよい。本実施例では、図１２に示す設計支援装置が、図１３に示す設計支援方法を実施する場合について説明する。
【００７２】
図１３に示すように、設計支援方法を実現するプログラムの処理が開始されると、設計支援装置には、入力部５４により、回路構成情報及び入力情報が入力される（ステップＳ１１）。次いで、設計支援装置は、回路構成情報及び入力情報に基づいて、状態遷移時間計算部５１により、論理状態の遷移に要する時間Δｔを計算する（ステップＳ１２）。
【００７３】
また、設計支援装置は、回路構成情報及び入力情報に基づいて、電源間容量計算部５２により、各論理状態における電源配線間の容量ＣLSIを計算する（ステップＳ１３）。ステップＳ１２及びステップＳ１３は、いずれが先に処理されてもよいし、同時に処理されてもよい。
【００７４】
次いで、設計支援装置は、論理状態の遷移に要する時間Δｔ、及び電源配線間の容量ＣLSIに基づいて、電源間容量時間変化計算部５３により、電源配線間の容量の時間変化ＣLSI（ｔ）を計算する（ステップＳ１４）。次いで、設計支援装置は、電流時間波形計算部５５により、電源配線間の容量の時間変化ＣLSI（ｔ）に基づいて電流時間波形Ｉcap（ｔ）を計算する（ステップＳ１５）。
【００７５】
次いで、設計支援装置は、フーリエ変換部５６により、電流時間波形Ｉcap（ｔ）をフーリエ変換することによって電流スペクトラムＩcap（ω）を求める（ステップＳ１６）。そして、設計支援装置は、電流スペクトラムＩcap（ω）を出力し（ステップＳ１７）、一連の処理を終了する。
【００７６】
図１２に示す設計支援装置によれば、電源配線間の容量の時間変化ＣLSI（ｔ）から電流スペクトラムＩcap（ω）が得られる。この電流スペクトラムＩcap（ω）は、集積回路の動作時に電源から流れる電流である。従って、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
【００７７】
・奇数倍高調波成分の精度改善効果の一例
図１４は、集積回路の電源間容量の時間変化の別の例を示す図である。図１５は、図１４に示す電源間容量の時間変化に対する電流時間波形の別の例を示す図である。
【００７８】
集積回路の電源間容量ＣLSIは、クロックの"ｈｉｇｈ"と"ｌｏｗ"とが切り替わるときに大きく変化する。そこで、説明を簡略化するため、図１４に示すように、集積回路の電源間容量ＣLSIを、例えばクロックが"ｈｉｇｈ"であるときにＣHとし、クロックが"ｌｏｗ"であるときにＣLであるとする。また、クロック周期をＴCLKとする。
【００７９】
図１４に示すように、集積回路の電源間容量ＣLSIが［ＴCLK／２］ごとにＣHとＣLとで切り替わるとすると、図１５に示すような電流時間波形が得られる。従って、電流時間波形Ｉcap（ｔ）は、（９）式で表される。
【００８０】
【数９】
2014063231.tif 000011
【００８１】
（９）式で表されるＩcap（ｔ）をフーリエ変換すると、（１０）式が得られる。（１０）式において、Ｉcap（ｎ／ＴCLK）は、クロック周波数のｎ倍の周波数における電流値である。ｍは０以上の整数である。また、状態の遷移に要する時間Δｔがクロック周期ＴCLKよりも小さい場合、クロック周波数の奇数倍の周波数における電流値は（１１）式で表される。
【００８２】
【数１０】
2014063231.tif 000012
【数１１】
2014063231.tif 000013
【００８３】
（１０）式及び（１１）式より、クロック周波数の偶数倍の周波数における電流値はゼロとなり、クロック周波数の奇数倍の周波数における電流値は２Ｉ0Δｔとなることがわかる。つまり、集積回路の動作時に電源から流れる電流の電流スペクトラムＩcap（ω）は、クロック周波数の奇数倍の周波数の成分のみを有する。従って、クロック周波数の奇数倍の高調波においても、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
【００８４】
・電源から流れる電流の解析時間の改善効果の一例
ＳＰＩＣＥを用いて、トランジスタレベルのネットリストを過渡解析することによって、集積回路の電源間容量ＣLSIが変動するときに電源から流れる電流を求めることができる。しかし、ＳＰＩＣＥの解析時間は、回路規模ｗに対して［ｗ1.3］程度のオーダーで増加するため、解析に時間がかかり過ぎてしまう。
【００８５】
例えば、ＩＴＲＳ  ２０１１  Ｅｄｉｔｉｏｎ（２０１１  Ｏｖｅｒａｌｌ  Ｒｏａｄｍａｐ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  （ＯＲＴＣ）  Ｔａｂｌｅｓ  （Ｔａｂｌｅ  ＯＲＴＣ−２Ｃ）、ｈｔｔｐ：／／ｗｗｗ．ｉｔｒｓ．ｎｅｔ／Ｌｉｎｋｓ／２０１１ＩＴＲＳ／Ｈｏｍｅ２０１１．ｈｔｍ）に基づいて一例を示す。ＩＴＲＳ  ２０１１  Ｅｄｉｔｉｏｎに従って、１チップあたりのトランジスタ数を約３×１０9個とし、１ゲートあたりのトランジスタ数を４個とすると、１チップのゲート数は約８×１０8個となる。
【００８６】
図１２に示す設計支援装置を用いると、集積回路の電源間容量ＣLSIの計算時間及び静的タイミング解析に要する時間は、ゲート数に対して線型性を有する。従って、例えばゲート数ｗが約８×１０8個の集積回路に対して、ＳＰＩＣＥによる計算時間［ｗ1.3］を、図１２に示す設計支援装置を用いる場合の計算時間ｗで割り算すると、約４６８となる。
【００８７】
つまり、図１２に示す設計支援装置を用いることによって、ＳＰＩＣＥを用いる場合の約４６８分の１の時間で解析することができる。１チップあたりのゲート数は増加傾向にある。従って、今後、ますます、図１２に示す設計支援装置を用いる場合とＳＰＩＣＥを用いる場合との解析時間の差が広がると予想される。
【００８８】
・不要放射の改善
上述するようにして、集積回路の論理状態が遷移するときに電源から流れる電流の電流スペクトラムＩcap（ω）を求めることができる。また、論理セルによって電源から流れる電流の電流スペクトラムＩcell（ω）を求めることができる。Ｉcell（ω）の求め方については、例えば特許文献２または特許文献３に開示されている。
【００８９】
Ｉcell（ω）とＩcap（ω）とを加算することによって、集積回路の電流スペクトラムＩckt（ω）を求めることができる。このように電源から流れる電流を精度良く求めることができると、不要輻射を精度良く見積もることができる。従って、不要放射に対して充分な対策を施すことができる。
【００９０】
・集積回路電源の線型回路モデルの別の例
図１６は、集積回路電源の線型回路モデルの別の例を示す図（その１）である。図１６に示す集積回路電源の線型回路モデル６１において、チップ全体の電源モデル６２は、図６に示す集積回路電源の線型回路モデル２１と同様の回路ブロックの電源モデル６３を複数個、有する。各回路ブロックの電源モデル６３は、１個以上の論理ゲートを有し、チップ全体の電源モデル６２の電源網のＲＬＣ網、ＲＣ網またはＲ網によって接続されている。
【００９１】
各回路ブロックの電源モデル６３に含まれる容量素子６６は、図６に示す集積回路電源の線型回路モデル２１の容量素子２３と同様に、状態依存性を有する。そのため、図１０に示す設計支援装置または図１２に示す設計支援装置を用いることによって、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。図１６において、符号６４は電源網の寄生容量であり、符号６５は電源網の寄生抵抗である。
【００９２】
・集積回路電源の線型回路モデルの別の例
図１７は、集積回路電源の線型回路モデルの別の例を示す図（その２）である。図１７に示す集積回路電源の線型回路モデル７１は、図１６に示す集積回路電源の線型回路モデル６１において、電源供給線ＶDD及び電源供給線ＶSSのそれぞれについて、電圧レベルの異なる複数の電源端子を有する。図１７において、ＶDD1、ＶDD2及びＶDD3は、互いに電圧レベルが異なっていてもよい。また、ＶSS1、ＶSS2及びＶSS3は、互いに電圧レベルが異なっていてもよい。
【００９３】
なお、図６に示す集積回路電源の線型回路モデル２１において、抵抗素子２４はなくてもよい。また、図１６に示す集積回路電源の線型回路モデル６１の各回路ブロックの電源モデル６３において、抵抗素子はなくてもよい。図１７に示す集積回路電源の線型回路モデル７１においても同様であり、各回路ブロックの電源モデル６３内の抵抗素子はなくてもよい。
【００９４】
なお、本実施の形態で説明する設計支援方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００９５】
また、本実施の形態で説明する設計支援装置は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述する設計支援装置の機能５１〜５３，５５，５６をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、設計支援装置を製造することができる。
【００９６】
上述した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９７】
（付記１）集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算する状態遷移時間計算部と、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算する電源間容量計算部と、前記電源間容量計算部により得られる前記容量、及び前記状態遷移時間計算部により得られる前記時間に基づいて、前記容量の時間変化を計算する電源間容量時間変化計算部と、を備えることを特徴とする設計支援装置。
【００９８】
（付記２）前記状態遷移時間計算部は、フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする付記１に記載の設計支援装置。
【００９９】
（付記３）前記電源間容量時間変化計算部により得られる前記容量の時間変化に基づいて、電流時間波形を計算する電流時間波形計算部を備えることを特徴とする付記１または２に記載の設計支援装置。
【０１００】
（付記４）前記電流時間波形計算部により得られる前記電流時間波形をフーリエ変換することによって電流スペクトラムを求めるフーリエ変換部を備えることを特徴とする付記３に記載の設計支援装置。
【０１０１】
（付記５）集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、前記容量及び前記時間に基づいて前記容量の時間変化を計算することを特徴とする設計支援方法。
【０１０２】
（付記６）フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする付記５に記載の設計支援方法。
【０１０３】
（付記７）前記容量の時間変化に基づいて電流時間波形を計算することを特徴とする付記５または６に記載の設計支援方法。
【０１０４】
（付記８）前記電流時間波形をフーリエ変換することによって電流スペクトラムを求めることを特徴とする付記７に記載の設計支援方法。
【０１０５】
（付記９）集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、前記容量及び前記時間に基づいて前記容量の時間変化を計算する処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１０６】
５１  状態遷移時間計算部
５２  電源間容量計算部
５３  電源間容量時間変化計算部
５５  電流時間波形計算部
５６  フーリエ変換部
【図１】
2014063231.tif 000014
【図２】
2014063231.tif 000015
【図３】
2014063231.tif 000016
【図４】
2014063231.tif 000017
【図５】
2014063231.tif 000018
【図６】
2014063231.tif 000019
【図７】
2014063231.tif 000020
【図８】
2014063231.tif 000021
【図９】
2014063231.tif 000022
【図１０】
2014063231.tif 000023
【図１１】
2014063231.tif 000024
【図１２】
2014063231.tif 000025
【図１３】
2014063231.tif 000026
【図１４】
2014063231.tif 000027
【図１５】
2014063231.tif 000028
【図１６】
2014063231.tif 000029
【図１７】
2014063231.tif 000030