(57)【要約】【課題】  低消費電力の集積回路を短時間に設計することができる設計方法を提供する。【解決手段】  低消費電力のライブラリ２１と、高消費電力のライブラリ２２を用いて集積回路を設計する設計方法２においては、タイミングを最適化するステップ１４および回路規模を最適化するステップ１５において、高消費電力のライブラリ２２のサイズに関わるパラメータを増大するように変更し、最適な回路要素を選択して最適化を行う。タイミングを最適化する段階で、高消費電力の回路要素は選択されにくくなるので、低消費電力の回路要素を中心としたタイミングの最適化が行われ、低消費電力で所望の性能を備えた集積回路を設計できる。【選択図】        図２
2005165419.tif 000002
【特許請求の範囲】
【請求項１】
選択条件の異なる複数のライブラリから回路要素を選択して集積回路の設計を行う際に、前記ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときは前記サイズが増大するように変更した後に、前記複数のライブラリの中から最適な回路要素を選択する最適化工程と、
前記複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する工程とを有する集積回路の設計方法。
【請求項２】
請求項１において、前記最適化工程は、タイミングを最適化する工程および／または回路規模を最適化する工程を備えている、集積回路の設計方法。
【請求項３】
集積回路の設計において選択される回路要素を備えたライブラリであって、選択条件の異なる複数のライブラリと、
前記ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときは前記サイズが増大するように変更した後に、前記複数のライブラリの中から最適な回路要素を選択する最適化手段と、
前記複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する手段とを有する集積回路の設計装置。
【請求項４】
請求項３において、前記最適化手段は、タイミングを最適化する手段および／または回路規模を最適化する手段を備えている、集積回路の設計装置。
【請求項５】
選択条件の異なる複数のライブラリから回路要素を選択して集積回路の設計を行う際に、前記ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときは前記サイズが増大するように変更した後に、前記複数のライブラリの中から最適な回路要素を選択する処理と、
前記複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する処理とをコンピュータにおいて実行可能な命令を有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置の設計方法に関し、特に、消費電力を低減することを目的とした設計方法に関するものである。
【背景技術】
【０００２】
ＬＳＩあるいはＡＳＩＣといった半導体集積回路装置を設計および製造する際に、消費電力を低減することは１つの重要なポイントである。特開２００３−１６２５５５号公報では、低消費電力の集積回路を設計するために、回路ブロック毎に性質データを入力し、複数のパラメータ・ベクトル値に対して集積回路の性能評価関数を計算し、その評価関数を最小とするようにして最適な集積回路構成を自動的に判別するようにしている。
【特許文献１】特開２００３−１６２５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
集積回路を設計する上において、消費電力を低減することは重要なポイントである。しかしながら、タイミングの収束と、そのタイミングの収束速度を高めることは、一般に消費電力を低減することより優先される。また、集積回路の面積を低減することは製造コストに大きな影響を与えるので、消費電力を低減することよりも優先されることが多い。
【０００４】
タイミング収束、面積および消費電力といった条件を全て満足するように集積回路を設計することは理想である。しかしながら、全ての条件を同時に考慮しながら設計することは不可能である。近年、ＥＤＡ（Electronic Design Automation）と呼ばれる電子回路の開発および設計用ソフトウェア・ツールが提供されており、その性能および処理速度は向上しつつある。ＥＤＡを採用しても、全ての条件を同時に満足する解を求めることは処理が膨大になり不可能に近く、可能であるとしても膨大な時間がかかる。したがって、短ＴＡＴ（Turn Around Time、システムＬＳＩの開発からテストまでの回転時間）が要求される近年のＬＳＩの開発および設計環境では、集積回路の基本的な性能であるタイミング収束および面積を最適化した後に消費電力の最適化を行い、可能な範囲で低消費電力の集積回路を得るという設計方法を採用せざるを得ない。
【０００５】
このため、消費電力の最適化を行う段階では、事前に最適化されたタイミング収束および面積という要素に影響を与えない範囲で低消費電力の回路要素を選択したり、それらを組み合わせることが可能なだけになる。したがって、回路ブロック毎に動作状態をきめ細かく判断して低消費電力化を図ったとしても、その効果は限定的である。消費電力を最適化する段階において、電力消費をさらに低減するために、ドライブ能力の小さな回路要素を積極的に採用してしまうと、多くの場合、タイミング収束に影響を与えることになり、配置配線の段階からやり直す必要が発生し、ＴＡＴを増加させることになる。
【０００６】
そこで、本発明においては、ＴＡＴを増加させることなく、低消費電力の回路要素を積極的に使用して低消費電力の集積回路を製造できる集積回路の設計方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明においては、選択条件の異なる複数のライブラリから回路要素を選択して集積回路の設計を行う際に、ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときはサイズが増大するように変更した後に、複数のライブラリの中から最適な回路要素を選択する最適化工程と、複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する工程とを有する集積回路の設計方法を提供する。
【０００８】
この設計方法では、消費電力がサイズ、すなわち、面積のパラメータに反映されたライブラリを用いて集積回路を設計することになる。したがって、タイミングを最適化する段階および／または回路規模を最適化する段階において、サイズの大きな回路要素を採用するメリットがあるときにのみ、消費電力の大きな回路要素が選択される。このため、タイミングを最適化する段階および／または回路規模を最適化する段階においては、低消費電力の回路要素が積極的に利用される一方、必要なときは消費電力の大きな回路要素も選択される。消費電力の大きな回路要素は、主に、タイミングを最適化するために必要とされ、回路規模を最適化する段階において除かれなければ、消費電力の大きな回路要素が最終的に選択されたことになる。
【０００９】
したがって、最適化の初期段階から消費電力のパラメータを実質的に考慮した自動設計が可能となり、ＴＡＴを増加させずに低消費電力の集積回路を設計できる。タイミングを最適化する段階および／または回路規模を最適化する段階において、実質的に消費電力も最適化されているので、消費電力を最適化する段階を省くことも可能である。
【００１０】
この設計方法においては、最適化する段階では、ライブラリのサイズに関するパラメータが実際とは異なっている。したがって、最終的な設計データを出力する前には、複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する工程が必要になる。この検証する工程では、最適化工程において選択された回路要素およびその組み合わせの規模は縮小する方向になるので、タイミング収束および回路規模という最適化の結果が悪化することはない。したがって、検証する工程で再度タイミング収束および回路規模の最適化が繰り返されることはなく、検証する工程は短時間で実行できＴＡＴに与える影響は非常に小さい。検証する工程において、サイズを元に戻すことにより、全体の回路規模は小さくなるはずである。したがって、予め高消費電力のライブラリから選択される回路素子の割合を予想し、タイミングの最適化および回路規模の最適化におけるターゲットの値を予想に基づいて最終的なターゲットの値よりも大きくしておくことも有効である。
【００１１】
この設計方法では、さらに、消費電力の大きな回路要素およびその組み合わせが選択される可能性は、高消費電力のライブラリのサイズの増減の割合を調整することにより簡単に制御できる。したがって、予め消費電力を低減するターゲットの値を設定して、集積回路の設計を行うことができる。目標とする消費電力が与えられているような仕様に対しては、タイミングの最適化が終了した後に消費電力を最適化して目標とする消費電力が得られないときは、タイミング設計に戻り、仕様を満足するまで、それを繰り返す必要がある。これに対して、本発明の設計方法であれば、予め仕様を満足するような消費電力が得られるように、集積回路に含まれる高消費電力の回路要素と低消費電力の回路要素との割合を制御できるので、設計の繰り返しを防止あるいは抑制することができる。
【００１２】
さらに、本発明においては、集積回路の設計において選択される回路要素を備えたライブラリであって、選択条件の異なる複数のライブラリと、ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときはサイズが増大するように変更した後に、複数のライブラリの中から最適な回路要素を選択する手段と、複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する手段とを有する集積回路の設計装置を提供する。この設計装置は、汎用のハードウェアコンピュータをハードウェアリソースとして使用することが可能であり、本発明は、選択条件の異なる複数のライブラリから回路要素を選択して集積回路の設計を行う際に、ライブラリのサイズに関わるパラメータを、そのライブラリの電力消費の評価が高消費電力のときはサイズが増大するように変更した後に、複数のライブラリの中から最適な回路要素を選択する処理と、複数のライブラリのサイズに関するパラメータを元に戻し、選択された回路要素により設計された集積回路を検証する処理とコンピュータにおいて実行可能な命令を有するプログラムを提供することができる。このプログラムは、ＲＯＭあるいはハードディスクなどの適当な記録媒体に記録して提供でき、また、インターネットなどの伝送媒体を介して提供することも可能である。
【発明の効果】
【００１３】
本発明においては、集積回路を設計する際の選択要素である消費電力をサイズ、すなわち、面積のパラメータに反映して集積回路を設計する。したがって、タイミングを最適化する段階および／または回路規模を最適化する段階において、実質的に消費電力が最適化に反映されることになり、ＴＡＴを増加させることなく、低消費電力の回路要素を積極的に使用して低消費電力の集積回路を製造できる。この設計方法は、電子を信号の伝送媒体とした半導体集積回路に限らず、光あるいはその他の伝送媒体を用いた集積回路にも適用できる。
【発明を実施するための最良の形態】
【００１４】
図１に、半導体集積回路（ＬＳＩあるいはＡＳＩＣ）の設計方法の一例を示してある。この設計方法１では、消費電力を削減するための最適化を最終段階で行う。ステップ１１は実体化であり、構造がわからないソースコード形式の仕様から実際の回路の構造を意識した抽象的モデルに置き換える。この段階の抽象的モデルは汎用化されたものでありＡＮＤゲート、ＯＲゲートという最も基本的な回路要素だけではなくもう少し高度なレベルが混ざった状態、例えば、加算、比較、選択など演算器レベルのモデルに置き換える。ステップ１２は、論理最適化であり、論理圧縮による冗長論理を最適化したり、因数としてくくれる共通項共通論理をくくりだして最適化する。これらの工程は、いわゆる、論理合成と称されるレベルの設計段階である。
【００１５】
ステップ１３は、テクノロジーマッピングである。この段階では、論理設計の終了した回路を、半導体集積回路製造メーカ各社が提供する回路要素のライブラリ２０を用いて実際のゲートに置き換える。
【００１６】
ステップ１４においては、タイミングの最適化を行う。仕様により指定されたタイミングを満たすようにするために、ステップ１３で選択されたゲートの置き換えや論理の変換を行う。このとき、回路要素を選択することによるタイミング（タイミング収束）の早くなる度合いと、面積の増加の度合いのバランスをとりながら最適な解が得られる回路要素と、それらの組み合わせを探す。例えば、タイミング収束が遅い場合は、ドライブ能力が強い回路要素に置き換えたり、面積が過大になればＡＮＤおよびＯＲが合体したような復号ゲートに置き換えたりすることができる。
【００１７】
ステップ１５においては、回路規模の最適化を行う。ステップ１４により最適化されたタイミングを維持したまま回路規模が縮小されるように回路要素を選択したり、論理を置き換えたりする。
【００１８】
ステップ１６においては、消費電力を最適化する。ステップ１４により最適化されたタイミングと、ステップ１５により最適化された回路規模を維持したまま消費電力が小さくなるように回路要素を選択したり、論理や置き換えたりする。これらの最適化の過程は、回路設計およびレイアウト（配置配線）設計と呼ばれる段階であり、論理設計を一応終了した後の、集積回路の物理的な設計段階である。
【００１９】
上記の順番で最適化する設計方法は、タイミング収束が重要な場合、すなわち、処理速度が優先される集積回路の設計で採用され、処理速度を優先する集積回路では、消費電力は制約条件が無いに等しいのでステップ１６が実行されないことも多い。
【００２０】
一方、集積回路のサイズ、すなわち、面積優先の集積回路を設計する場合は、タイミングの最適化を行う前に、ステップ１５の回路規模の最適化を行う。つまり、ステップ１５において、面積を満たすまで面積方向の最適化を行った後、ステップ１４の最適化を行い、面積を維持したままタイミングが早くなるように最適化を行う。
【００２１】
ステップ１４からステップ１６の最適化を同時に行うことも可能かもしれないが、変動する条件が多くなり、結果が収束しないか、あるいは収束するために長時間を要する。逆に言うと、異なる条件で順番に最適化を行うことにより、後工程で最適化する条件で変更可能な範囲は限られたものとなり、設計時間を短縮できるが、後工程で最適化する条件は設計された集積回路の性能には反映され難い。したがって、ステップ１６の最適化を最初に行うことにより、低消費電力の集積回路を設計できる可能性は高い。しかしながら、タイミングの最適化と、面積の最適化は図られず、コンパクトで性能の高い集積回路は得られない。現在の集積回路に対する要求は、消費電力が低いことが好ましいとは言っても、それは所定の処理速度と、所定のチップサイズという条件を満たした上のことであり、消費電力が最優先になることはない。
【００２２】
たとえば、ライブラリ群２０に、低速、低リーク電流（低消費電力）の回路要素を提供する第１のライブラリ２１と、高速、大リーク電流（高消費電力）の回路要素を提供する第２のライブラリ２２とが用意されており、これらのライブラリ２１および２２により提供される回路要素のサイズは同じであるとする。実際、集積回路のサイズは、回路要素の速度よりも回路要素の数、たとえばゲート数に大きく依存する。このようなライブラリ群２０を用いて設計を行うと、ステップ１４では、１００％、第２のライブラリ２２の回路要素が選択される。理由は単純であり、同じサイズでより高速な回路要素ある場合は、タイミング収束を早くするために面積のデメリットが無いので、全て高速な回路要素が選択されるからである。
【００２３】
このようにタイミングが最適化された回路を、ステップ１６において最適化することにより、タイミングを遅らせない範囲で第２のライブラリ２２の回路要素が第１のライブラリ２１の回路要素に置き換えられる。しかしながら、回路の構造は確定しているため、最適化はあまり進まず、消費電力はそれほど低減されない。低消費電力の回路要素は一般に低速であり、タイミングがフィックスしている回路においては、クリティカルパス以外の部分で回路要素を置き換えできる程度になるからである。また、タイミングを最適化するステップ１４においては、高速の回路要素を用いることで最適化の条件が満たされると、論理をさらに高速になるように置き換えるなどの最適化は行われない。したがって、高速の回路要素でタイミングが決定された回路の一部を低速の回路要素に置き換えることは容易ではない。
【００２４】
図２に、上記と異なる設計方法を示してある。この設計方法２においては、ステップ１１からステップ１３は上記と共通するが、ステップ１４およびステップ１５においてタイミングおよび面積をそれぞれ最適化する際に、高速・高消費電力のライブラリ２２のサイズのパラメータを実際より大きくして使用している。図２では、タイミングを最適化するステップ１４と、面積を最適化するステップ１５とに対して、サイズパラメータを変換するプロセスあるいは機能２９を介してライブラリ群２０の選択条件を供給している。パラメータを変換する機能２９においては、消費電力が大きいライブラリ２２にかぎって、サイズのパラメータを大きくする。したがって、これらのステップ１４および１５においては、集積回路を最適化する際に、ライブラリ２２に含まれる回路要素は、ライブラリ２１に含まれる回路要素よりサイズが大きいものとして、それらのライブラリ２１および２２の中から最適な回路要素が選択される。
【００２５】
ライブラリ２２のパラメータを変更する方法は多種多様であり、ステップ１４および１５を行うときだけライブラリ２２のパラメータを書き換えても良いし、ステップ１４および１５を行うプログラム内でパラメータを変更しても良い。また、高消費電力のライブラリ２２のサイズの増加率は任意であり、消費電力の低減をどの程度期待するかに依存する。たとえば、低消費電力のライブラリ２１に対して、高消費電力のライブラリ２２のサイズのパラメータを２倍にすることが可能である。
【００２６】
この設計方法２においては、タイミングを最適化するステップ１４において、ライブラリ２２の回路要素は面積の増大を招くために選択されにくくなり、低速で低消費電力のライブラリ２１の回路要素が基本的に選択され、それらの低速の回路要素の組み合わせにより与えられた条件を満たすように、回路の構成が変更され、また、論理が置き換えられる。そして、ライブラリ２１の低速の回路要素では条件を満たせないときにのみ、ライブラリ２２の高速の回路要素が選択される。したがって、ステップ１４における最適化は単純に高速の回路要素を選択するという作業ではなくなり、低速で低消費電力の回路要素の使用率が大幅に向上する。ステップ１４においては、ライブラリ２２の高速の回路要素の使用も許可されているので、タイミングの条件を満たさない場合は高速の回路要素も使用され、与えられた条件を満たすように最適化された解は得られる。
【００２７】
回路規模を最適化するステップ１５においても同様であり、高速の回路要素は選択し難くなっているので、基本的には低速で低消費電力の回路要素が選択され、回路規模が最適化される。しかしながら、このステップ１５においても、ライブラリ２２から回路要素を選択することはできるので、ライブラリ２２に含まれる論理を置き換えることにより、回路規模を縮小する効果が得られる場合はライブラリ２２の回路要素が選択される。発明者がシミュレーションしたところ、図１に示した設計方法１では、５０％以上がライブラリ２２の回路要素により設計される集積回路を、図２に示した設計方法２を用い、ライブラリ２２のサイズのパラメータを２倍にすることにより、ライブラリ２２の回路要素の使用率を５〜１０％程度に収めることができた。
【００２８】
この設計方法２においては、ステップ１４および１５の最適化の段階で、消費電力の最適化も行われているので、消費電力の最適化を行うステップを省くことができる。さらに消費電力の最適化を行うステップを設けても良い。
【００２９】
この設計方法２においては、ステップ１４および１５の最適化の段階で、ライブラリ２２が選択される可能性はある。したがって、ステップ１７において、ライブラリ２２のサイズパラメータを実際の値に戻して、最適化された結果に対して、タイミングおよびサイズの検証を行う。ステップ１４および１５においては、ライブラリ２１のサイズは変更せず、消費電力の大きなライブラリ２２のサイズをアップしているだけなので、検証するステップ１７においては、選択された回路要素のサイズが小さくなるだけである。したがって、タイミング収束の点でも、チップ面積の点でも、ライブラリ２２のサイズを元に戻すことは良好な結果が得られることを意味する。ステップ１７において、ライブラリ２２のサイズを元に戻すことにより、タイミングあるいは面積の有意な誤差が現れ、その修正が必要になるとしても、修正は容易である。
【００３０】
図２に示した設計方法２は、最適化するステップ１４および１５において、消費電力の大きなライブラリ２２のサイズのパラメータを増加させるだけで良いので、集積回路を自動設計するソフトウェアの基本的な処理を変える必要がない。したがって、自動設計用のソフトウェアに本発明の設計方法を適用することは極めて容易である。
【００３１】
図３に、設計方法２により集積回路を自動設計する設計装置の概要を示してある。この設計装置３０は、汎用的なコンピュータのリソースを用いて実現され、合成ツールと称される。図３に示した設計装置３０は、ＣＰＵ３１と、基本的なプログラムが格納されたＲＯＭ３２と、ワーク用のメモリであるＲＡＭ３３と、ＨＤＤなどからなるファイルシステム３４と、入出力インターフェイス３５とを備えており、これらがバス３６により接続されている。ファイルシステム３４には、ライブラリやアプリケーションプログラムが格納されており、その一部として、回路要素を格納したライブラリ群２０と、集積回路を自動設計するアプリケーションプログラム５０とが格納されている。アプリケーションプログラム５０は、図２に示した設計方法２の各ステップを設計装置３０において実行する命令を備えている。したがって、設計装置３０は、ステップ１１の論理を実体化する機能、ステップ１２の論理を最適化する機能、ステップ１３のテクノロジーマッピングを行う機能、ステップ１４のタイミングを最適化する機能、ステップ１５の回路規模を最適化する機能、およびステップ１７の検証を行う機能を備えている。そして、タイミングを最適化する機能および回路規模を最適化する機能においては、ライブラリ２２のサイズパラメータを増大して利用する。また、検証を行う機能においては、ライブラリ２２のサイズパラメータを元に戻して最適化された集積回路の検証を行う。
【００３２】
本発明の集積回路の設計方法においては、消費電力のパラメータを、面積のパラメータに置き換える、あるいは反映することにより、省電力の最適化を、合成ツールが得意とする速度および面積の最適化機能を用いて、速度および面積の最適化と共に実現している。消費電力のパラメータを、面積のパラメータに置き換える、あるいは反映することにより、速度および面積を最適化するときのパラメータを増加させずに消費電力も最適化できるので、最適な解を得るための条件を悪化させることはなく、収束しなくなったり、収束するために膨大な時間を要することはない。本発明により、速度および面積を最適化する際に、単純に高速なライブラリに用意されたゲートを選択するのではなく、素子の組み合わせを最適化したり、論理を置き換えるという処理が必要となるので、合成ツールの能力をフルに発揮させて、処理速度が速く、コンパクトであり、さらに低消費電力の集積回路を短時間で設計することができる。したがって、本発明により、短ＴＡＴで、所望の性能を備えた低消費電力の集積回路を開発および設計し、市場に供給することが可能となる。
【００３３】
なお、上記の例では、ライブラリ群２０には低消費電力のライブラリ２１と、高消費電力のライブラリ２２の２つが用意されているが、３つ以上の性質の異なるライブラリを使用した設計方法においても本発明は適用可能である。その場合、消費電力の評価が最小となるライブラリのサイズに関するパラメータに対して、他のライブラリのサイズに関するパラメータをそれぞれの消費電力の評価が反映されるように増大させ、タイミングの最適化などを行うことが望ましい。また、本発明の設計方法および設計装置は、電子あるいは電気を論理の媒体として実現する半導体集積回路に限らず、光集積回路、光磁気集積回路などに対しても適用可能である。
【図面の簡単な説明】
【００３４】
【図１】消費電力の最適化を後工程で行う設計方法を示すフローチャートである。
【図２】消費電力の大きなライブラリのサイズのパラメータを変えて最適化を行う設計方法を示すフローチャートである。
【図３】図２に示した設計方法により集積回路を設計する設計装置の概要を示す図である。
【符号の説明】
【００３５】
１、２    設計方法
２０    ライブラリ
２１    低速・低消費電力のライブラリ
２２    高速・高消費電力のライブラリ
３０    設計装置
【図１】
2005165419.tif 000003
【図２】
2005165419.tif 000004
【図３】
2005165419.tif 000005