JP2003308350A - 電力消費および速度に対して高性能cmos集積回路設計を最適化する方法 - Google Patents

電力消費および速度に対して高性能cmos集積回路設計を最適化する方法

Info

Publication number
JP2003308350A
JP2003308350A JP2003069238A JP2003069238A JP2003308350A JP 2003308350 A JP2003308350 A JP 2003308350A JP 2003069238 A JP2003069238 A JP 2003069238A JP 2003069238 A JP2003069238 A JP 2003069238A JP 2003308350 A JP2003308350 A JP 2003308350A
Authority
JP
Japan
Prior art keywords
gate
integrated circuit
speed
type
optimization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003069238A
Other languages
English (en)
Inventor
Thomas W Chen
トーマス・ダブリュー・チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003308350A publication Critical patent/JP2003308350A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】本発明の目的は、集積回路において消費される
全電力を低減すること、及び回路タイミング要件が確実
に満たされるようにすることである。 【解決手段】集積回路の設計における、速度および予測
される電力消費を最適化する方法が、集積回路設計の素
子を表す機械表現(606)を生成すること(404)を含む。
ここで、集積回路のパス内の各素子(702)に対して、
その表現が、デバイスサイズの情報とデバイスタイプの
情報を含む。前記素子タイプ情報はさらに、少なくとも
1つの高速であるが漏れが大きいタイプと少なくとも1
つの低速であるが漏れが小さいタイプとの間の選択を含
む。その後、大域的最適化が行われ、ここでデバイスタ
イプとデバイスサイズの両方の置き換え(608)が、各
繰り返しにおける機械表現上で、行われる。置き換えら
れた表現は、速度と消費電力に対して、評価される(61
0)。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明はCMOS集積回路の
設計に関する。より詳細には、本発明は、速度、回路容
量および消費電力を最適化するために、素子のサイズを
自動的に変更し、CMOS回路内に低閾値の素子を選択
的に置き換えることに関する。 【0002】 【従来の技術】関連特許出願本特許出願は、2002年
3月14日出願の「A METHOD OF OPTIMIZING HIGHPERFO
RMANCE CMOS INTEGRATED CIRCUIT DESIGNS FOR POWER C
ONSUMPTION AND SPEED THROUGH GENETIC OPTIMIZATIO
N」というタイトルの下記特許文献1、2002年3月1
4日出願の「A METHOD OF OPTIMIZING HIGH PERFORMANC
E CMOS INTEGRATED CIRCUIT DESIGNS FOR POWER CONSUM
PTION AND SPEED USING GENETIC ANDGREEDY OPTIMIZATI
ONS IN COMBINATION」というタイトルの下記特許文献
2、および2002年3月14日出願の「A METHOD OF
MODELING THE CROSSOVER CURRENT COMPONENT IN SUBMIC
RON CMOS INTEGRATED CIRCUIT DESIGNS」というタイト
ルの下記特許文献3の同時係属、共同出願の特許出願に
関連する。 【0003】数多くのCMOSプロセスは閾値調整注入
工程を伴う。これらの閾値調整注入は通常は、Nおよび
P型素子の閾値が個別に調整されることができるような
マスキング動作を伴う。 【0004】閾値を低減されたN型素子は、N型素子の
製造中に、N型閾値調整注入の一部を選択的に遮断する
ことにより製造される場合があることが知られている。
同様にして、閾値を低減されたP型素子も製造すること
ができる。 【0005】ある特定の例示的なプロセスは、約10分
の1マイクロメータのゲート長と、低閾値の低減−Vt
トランジスタの場合に約0.3V、標準的な閾値のトラ
ンジスタの場合に約0.35Vの公称N型閾値電圧とを
有するトランジスタを提供する。このプロセスは同様
に、約−0.31Vの閾値を有するP型低減−Vt素子
と、約−0.365Vの閾値電圧を有する標準閾値のP
型素子とを提供する。 【0006】その例示的なプロセスでは、低減−Vt素
子の飽和電流は、標準閾値の素子より約20%高くなる
傾向がある。 【0007】エンハンスメント形、低減−Vt形および
真性の素子タイプは多くの場合に、アナログ回路および
専用デジタル回路の設計時に一緒に用いられる。たとえ
ば、ソースフォロワとして用いられる低減−Vt形素子
は、エンハンスメント形素子よりもわずかに優れたヘッ
ドルームを提供する。低減−Vt形素子は、コンデンサ
として用いられる場合に、必要とされるバイアス電圧が
エンハンスメント形素子よりも小さい。N型低減−Vt
形素子ソースフォロワは、デジタルクロックドライバの
P型プルアップと並列に用いられる場合もある。 【0008】通常の低減−Vt素子を完全にオフするた
めの通常のデジタル信号レベルは保証されることができ
ない。実際には、これらの素子は、その標準的なVtタ
イプのものよりも漏れ電流が大きい。 【0009】その例示的なプロセスでは、低減−Vt形
素子の漏れは、標準閾値の素子の漏れの約10倍だけ高
く、高温では、ゲート幅の1マイクロメータ当たり2マ
イクロアンペアに達するか、それを超える可能性があ
る。これは、最近のプロセッサの集積回路のような大規
模な集積回路上のトランジスタのうちの大きな割合を低
減−Vt形が占める場合には、著しく大きな漏れ電流を
生成し得る。 【0010】それゆえ、低減−Vt形トランジスタから
構築されるゲートは、高速であるが漏れが大きいゲート
タイプと呼ぶことができ、標準閾値のゲート構造は、低
速であるが漏れが小さいゲートタイプと呼ぶことができ
る。 【0011】論理ゲートにおいてスイッチング素子とし
て用いられるCMOSトランジスタの実効ソース−ドレ
イン間抵抗は、そのゲート−ソース間電圧とその閾値電
圧との間の差に大きく依存することが知られている。 【0012】それゆえ、1Vのゲート−ソース間電圧を
有するN型エンハンスメント形プルダウントランジスタ
は、同じサイズで、同じソース−ゲート間電圧を有する
N型低減−Vt形素子よりも著しく小さな電流を流すで
あろう。1つの例示的なプロセスでは、この電流は、標
準的な素子の場合よりも、低減−Vt形素子の場合に2
0%高くなる場合がある。このため、低減−Vt形素子
は、タイミング要件を他の手段では決して満たすことが
できない、速度が重要になる論理回路において用いられ
ている。 【0013】素子の長さを増加し、結果としてゲート容
量を高くし、IDSatを低減(それゆえ速度を低下)
することにより、閾値電圧が実効的に増加し、漏れ電流
を著しく低減することもできる。長さをわずかに増加す
るだけでも、漏れ電流を著しく低減することができる。
CMOS設計は、必要な場所で速度を上げるために標準
的な長さのゲートを用い、漏れ電流を小さくすることが
重要な場所ではわずかに長いゲートを用いる場合があ
る。標準的な長さの素子は高速ではあるが漏れの大きい
タイプと呼ばれ、それより長い素子は低速であるが漏れ
の小さいタイプと呼ばれる場合がある。たとえば、0.
1μmプロセス上のトランジスタは、高速が要求される
際に0.1μmの長さを有することができ、一方、漏れ
が小さいことが、速度が遅いという欠点に勝るときに
は、10%長くすることができる。 【0014】論理回路内のMOSトランジスタの実効閾
値電圧は、基板あるいはウエルバイアスを印加すること
により調整される場合があることも知られている。基板
バイアスによる閾値の変化はボディエフェクトとして知
られる。nチャネルトランジスタの場合、従来の基板バ
イアスは0Vであり、pチャネルトランジスタの場合、
従来のバイアスは局部電源電圧VDDである。N型のバ
イアスが回路グランドより高いレベルまで増加される場
合には、接合容量が増加するのと引き換えに、Vtはわ
ずかに低減されることができる。同様に、N型のバイア
スが回路グランドより低いレベルに減少する場合には、
Vtを実効的に増加することができ、接合容量を低減す
ることができる。Pチャネルトランジスタも類似の影響
を及ぼされるが、その極性は反対になる。 【0015】標準的なCMOSのNウエルプロセスは、
ウエル、およびそれによりP型トランジスタに容易にバ
イアスをかけるのに向いている。他のプロセスは、N型
トランジスタにバイアスをかけることに適合させること
ができる。この特許出願の目的のために、閾値電圧の絶
対値が低減されるようにバイアスをかけられるトランジ
スタを有する素子は、高速ではあるが漏れの大きいタイ
プとも呼ばれ、閾値電圧の絶対値を増加するようにバイ
アスをかけられる素子は、低速であるが漏れが小さいタ
イプとも呼ばれる。 【0016】CMOS集積回路内で消費される電力は多
くの場合に、静的成分と動的成分とを有するものとして
記述される。静的電力は、接合および素子の漏れを通し
て消費される電力と、抵抗性負荷および電流源負荷を通
して消費される電力と、スイッチング活動の関数ではな
い他の消費電力とを含む。 【0017】動的電力は、ゲート容量を含む、充電およ
び放電容量を通して消費される電力と、ゲート入力にお
ける信号の遷移中に消費されるクロスオーバ電流とを含
む。CMOSゲートのN型およびP型両方のスタックが
ゲートへの入力信号の遷移中に部分的に導通するので、
クロスオーバ電流は、CMOSゲートのその両方のスタ
ックのレール間を通過する電流を含む。動的電力は一般
に、クロック速度、素子によって切り替えられる容量、
および供給電圧を含むパラメータの関数である。 【0018】従来では、充電および放電容量に関連付け
られる動的電力の成分は、クロスオーバ電流に関連付け
られる成分よりも著しく大きくなっていた。これは、C
MOS回路内のトランジスタが従来では、部分的に導通
した状態と完全にオンの状態との間で遷移するのではな
く、オフ状態からオン状態、あるいはその逆に遷移する
ためであった。クロスオーバ電流に関連付けられる動的
電力の成分は一般に、集積回路の設計において無視され
てきた。 【0019】充電および放電容量に関連付けられる動的
電力の成分は、容量×充電および放電速度×電圧の二乗
に比例する。各ノードの活動比は、クロック速度に対す
る、ノードの充電および放電速度の比である。それゆ
え、動的電力は一般に、クロック速度×活動比×ノード
容量×電源電圧の二乗に比例する。 【0020】プロセッサあるいは他の大規模論理回路の
ノードの活動比は、回路の設計、ノードの回路内の位
置、および回路が機能する環境で変化する。回路内の種
々のノードの活動比は大きく異なる可能性がある。回路
が機能する環境は、プロセッサ回路の場合には、そのプ
ロセッサ上で実行されるコードを含む。 【0021】素子によって消費される全電力は、静的電
力および動的電力の両方を含む。論理ゲートにおいて用
いられる低減−Vt形素子の漏れは、静的電力の一因に
なる。 【0022】複雑な集積回路の多くの設計は、回路の合
成可能なレジスタ・トランスファ・レベル(RTL)記
述の作成で開始する設計フローを通して行われる。ベン
ダーの中でも、Cadence Design、Men
tor GraphicsおよびSynopsysから
市販される合成ツールは、このRTL記述を、ゲートレ
ベルのネットリストにマッピングする。選択された回路
が、ゲートレベル回路図の作成および回路図の抽出を通
して手動で合成され、ゲートレベルのネットリストを作
成することができる。その後、静的タイミング解析ソフ
トウエアを用いて、回路内の予想される遅延が決定さ
れ、これらの遅延が、「制約ファイル」内に表される限
界値と比較される。静的タイミング解析ソフトウエアは
数多くの一般的な合成ツールに組み込まれており、Sy
nopsys、Mentor Graphicsおよび
Avertecを含むベンダーから、ソフトウエア単体
としても市販される。この予備タイミング解析の結果は
多くの場合に合成ツールにフィードバックされ、合成ツ
ールは、タイミング要件を満たすために必要とされるの
に応じて、代わりにより高速のゲートを用いて、論理回
路を配置し直すことができる。 【0023】予備レイアウトタイミング制約を満たす合
成された論理はその後、多くの場合に、Cadence
Design、Avant!およびMonterre
ySystemsから市販されるソフトウエアのような
配置および配線ソフトウエアによってレイアウト、すな
わち物理的に設計される。その後、レイアウトに依存す
る容量性負荷および配線抵抗情報が物理的な設計から抽
出され、さらに別の静的タイミング解析が実行され、そ
の回路が依然としてタイミング要件を満たしていること
が確認される。 【0024】集積回路内の各パスの場合に実現可能な回
路の全体集合は非常に大きくなる可能性が高い。実現可
能な回路はそれぞれ、関連する電力−遅延積を有する。
各パスの場合の電力−遅延積の全体集合の中に、いくつ
かの局所的最小値が存在する可能性があることが知られ
ている。これらの局所的最小値のうちのいくつかは、他
の値よりも小さな電力−遅延積を有する可能性がある。
その全体集合の中で最も小さな電力−遅延積を有する解
を求めて、実装することが望ましい。この解は大域的最
小値である。 【0025】既存のタイミング駆動式の集積回路設計ソ
フトウエアは通常は、タイミングと電力消費とを個別に
考慮する。この結果として、大域的最小値ではなく局所
的最小値が求められるので、電力消費およびタイミング
の両方に対して、その回路が最適化された場合に必要と
される電力よりも著しく大きな電力を消費する設計にな
る可能性がある。 【0026】従来の最適化プログラムは初期条件で開始
し、解の全体集合の電力−遅延積の導出された値を検査
することにより探索方向を決定する。それはその後、最
小点に到達するために、所定のステップサイズの単位
で、電力−遅延積関数を「滑り」降りる。この最小値
は、全てそうであるとは限らないが、多くの初期条件の
場合に局所的最小値になる可能性が高い。最適化プログ
ラムによって実行される探索は、ただ単にその探索がそ
の導出された値から見えてくる方向に進み、解の全体集
合のより最適なものに導くようにする場合には、「欲張
り(グリーディ)」であると呼ばれる。「欲張りな」探
索は、最適化プログラムが局所的最小値まで「滑り」降
りたときに終了するであろう。その後、最適化プログラ
ムは、多くの場合に、より良好な最小値を求めることが
できる「ヒル」を上ることなく、その局所的最小値を、
求められた最良の解として報告する場合がある。すなわ
ち、「局所的最小値に縛られている」と呼ばれる状態に
なる。 【0027】欲張りな最適化は通常は高速であるが、局
所的最小値に縛られる傾向がある。このタイプの最適化
プログラムは局所的最適化プログラムと呼ぶことができ
る。なぜなら、最も近い局所的最小値を求めるためであ
る。それゆえ、欲張りな最適化プログラムは、最適な解
に「近い」良好な初期解を必要とする。その初期解は与
えるのが難しい可能性が高い。 【0028】大域的最適化プログラムは、局所的最小値
とは対照的に、大域的最小値を求めるための能力を有す
る。配置プログラムおよび配線プログラムを含む、集積
回路のためのコンピューティング支援設計(CAD)に
おいて用いられるいくつかの最適化プログラムは、「シ
ミュレーテッドアニーリング」と呼ばれるプロセスを用
いる。シミュレーテッドアニーリングでは、初期状態が
後続状態にランダムに変化される。後続状態が評価さ
れ、その評価結果が初期状態と比較される。一般に、そ
れらが初期状態を改善することになるものと判定される
場合には、それ以降の繰返しの場合に、後続状態が初期
状態の代わりに用いられる。 【0029】いくつかの「ヒルクライミング」シミュレ
ーテッドアニーリング最適化プログラムは、初期(ある
いは親)条件より劣ったものと評価された状態を不定期
に保持できるようにする。通常は、シミュレーテッドア
ニーリング法は、初期状態と各後続状態との間になされ
る変化の量を制御する「温度」パラメータを有する。ヒ
ルクライミング最適化プログラムの場合、この温度は、
劣った状態が将来の繰返しのための親状態として保持さ
れることになる可能性も制御する。この温度は、最適化
が進むのに応じて徐々に減らされる。 【0030】遺伝的最適化プログラムは、実際に進化の
過程に関してモデル化されるアルゴリズムを用いる大域
的最適化プログラムである。通常は、遺伝的アルゴリズ
ムは、少なくとも1つの親の個体から、種々の変化また
は突然変異の個体群を生成することにより動作する。各
個体は、ある特定の問題に対して提案される解である。
各個体は通常は、ある特定の状態を有する機械表現とし
て表される。 【0031】その個体群の中の個体は、親を突然変異さ
せることにより、あるいはいくつかの親からの一部を交
配することにより生成することができる。その後、これ
らのアルゴリズムは選択プロセスにかけられ、そのプロ
セスにおいて、個体群の中の個体にスコアが付けられ、
その個体群の中の大部分の個体より優れているものと判
定されるそれらの個体が保持され、一方、残りは削除さ
れる。保持された個体は、将来の繰返しにおいて親とし
て用いることができる。 【0032】その個体群の1つあるいは複数の世代の
後、ある特定の「最良の」個体が、解を求められている
問題に対する最適化された解として選択される。 【0033】シミュレーテッドアニーリング最適化プロ
グラムは通常は、各繰返しにおいて1つの突然変異され
た状態を生成し、その突然変異された状態は1つの親状
態を変更することにより導出される。遺伝的最適化プロ
グラムは通常、各繰返しにおいて、2つ以上の個体の突
然変異した状態を有する個体群を生成する。また遺伝的
最適化プログラムは多くの場合に、2つ以上の親状態か
らのクロスオーバ操作を通して、その個体群の個々の突
然変異された状態も生成する。 【0034】 【特許文献1】米国特許出願第10/098,136号 【特許文献2】米国特許出願第10/098,110号 【特許文献3】米国特許出願第10/098,112号 【0035】 【発明が解決しようとする課題】本発明の目的は、集積
回路において消費される全電力を低減することである。
本発明の別の目的は、回路タイミング要件が確実に満た
されるようにすることである。以下に記載されるような
本発明は、これらの目標を達成しようとする設計技術者
に有用である。 【0036】 【課題を解決するための手段】集積回路の予測される全
消費電力および回路速度が、大きなトランジスタ、高い
活動比および重い負荷を有するゲートを見つけることに
より最適化できることがわかっている。その後、これら
のゲートは、素子のサイズを自動的に変更し、標準的な
素子の代わりに、低減−Vtあるいは他の高速であるが
漏れの大きい素子を選択的に用いることにより最適化さ
れる。 【0037】各ゲートの活動比は、その設計の論理シミ
ュレーション中に各ノードの活動をログに記録すること
により判定される。プロセッサ集積回路の場合、これら
の論理シミュレーションは、通常のユーザによって実行
されるものと予想されるプログラムに類似のベンチマー
クプログラムの実行をシミュレートする間に実行され
る。 【0038】最適化のための候補ゲートは、その集積回
路のネットリストを検査することにより特定される。こ
れらの候補ゲートは、回路のクリティカルパス上に存在
してもよいが、必ずしもそうである必要はない。最適化
において、その回路のクリティカルパス上およびクリテ
ィカルパス外の両方のパス上のゲートを含むことが有利
であることがわかっている。 【0039】最適化プロセスは、予想される配線抵抗お
よび容量を有する予備レイアウトネットリスト上で、あ
るいは抽出された配線抵抗および容量を有する予備レイ
アウト後のネットリスト上で実行することができる。そ
れは両方において実行することができる。 【0040】集積回路設計の消費電力および速度の両方
を最適化するための大域的最適化方法を用いることが有
利であることがわかっている。詳細には、電力および速
度を同時に最適化することが有利であることがわかって
いる。さらに、最適化プロセスにおいてクリティカルパ
スの直接のメンバである素子以外の素子を含むことが有
利であることがわかっている。 【0041】最適化は、高速であるが漏れが大きいタイ
プ、種々のサイズ、あるいはその両方からなる場合があ
るゲートで、1つあるいは複数の候補ゲートを置き換え
ることにより実行される。その結果として生成される1
つあるいは複数の回路が、電力および速度の両方に対し
て評価される。 【0042】ある特定の実施形態では、擬似アニーリン
グ大域的最適化方法が用いられる。 【0043】別の特定の実施形態では、遺伝的最適化方
法を用いて、同じ遺伝的最適化において、集積回路設計
の電力消費のための部分と回路速度のための部分とが最
適化される。この実施形態では、サイズおよびゲートタ
イプの置き換えの両方が、その回路のいくつかの点にお
いて行われ、その個体群の各個体を生成することができ
る。置き換えは突然変異操作によって行われ、多数の親
が利用可能であるときの繰返しにおいては、交配操作に
よって行われる。個体は、各繰返しにおいて、消費電力
および速度の両方に対してスコアを付けられる。遺伝的
最適化は、1つの回路内の多数の場所において素子タイ
プおよびサイズの両方を調整し、良好に最適化された最
終的な回路設計を生成することができることがわかって
いる。 【0044】ある特定の実施形態では、クロスオーバ電
流項が、遺伝的最適化中の消費電力計算に組み込まれ
る。 【0045】 【発明の実施の形態】通常のCMOS NANDゲート
100(図1)は、第1のプルダウントランジスタ10
2と、それに直列に接続される第2のプルダウントラン
ジスタ104とを有する。第1のプルアップトランジス
タ106と第2のプルアップトランジスタ108も存在
する。 【0046】図1に示されるNANDゲート、NORゲ
ート(図示せず)およびインバータ(図示せず)のよう
な簡単なゲートは、その素子サイズに比例するゲート容
量を有することが知られている。大きな素子サイズは大
きなゲート容量を有し、一方、小さな素子サイズは小さ
なゲート容量を有する。またこの簡単なゲートは、負荷
容量を、素子サイズに反比例して変化する時間内に駆動
することもできる。同じ負荷容量の場合に、大きな素子
サイズを有するゲートは、小さな素子サイズを有するゲ
ートよりも速く、大きな負荷を駆動するであろう。 【0047】同じ素子サイズおよびゲート構造の場合
に、低減−Vtトランジスタから構築されるゲートは、
標準閾値の素子から構築されるゲートよりも速く、負荷
容量を駆動することも知られている。そのような、低減
−Vtトランジスタから構築されるゲートは、標準閾値
のゲートよりも漏れが大きいことも知られている。その
ような漏れは、静的電力消費の大きな一因になる場合が
ある。低減−Vt素子は高速であるが漏れが大きい素子
と呼ばれ、標準閾値の素子は低速であるが漏れが小さい
素子と呼ばれることができる。 【0048】図1のゲートを具現化するようなCMOS
集積回路の従来技術の設計フロー(図2)中に、回路関
数のレジスタ・トランスファ・レベル(RTL)記述を
作成することができる。このRTL記述は合成ツールに
供給され、合成ツール202は、RTL記述をゲートレ
ベルネットリストにマッピングする(202)。ゲート
レベルネットリストは、合成ツールの共通の部分であ
り、ネットリスト内の各ゲートのための予想される遅延
を計算することにより、設計のタイミングを決定する
(204)、静的タイミング解析プログラムに供給され
る。予想される遅延は、各ゲートのトランジスタサイ
ズ、ファンアウト、予想される配線容量、および負荷ゲ
ート容量を含む要因に基づく。 【0049】その後、ネットリスト内のパスの遅延は合
計され、設計者によって設定されたタイミング制約に対
して検査される(206)。タイミング制約が満たされ
ない場合には(208)、制約を満たしていないパス上
のゲートは多くの場合に、通常はより大きなサイズ、あ
るいは低−Vtトランジスタのトランジスタから構成さ
れる、より高速のゲートで置き換えられ(210)、制
約が確実に満たされるようにタイミングが検査し直され
る(206)。またいくつかの合成ツールは、ゲートレ
ベルネットリストの構造を変更し、タイミングを満たす
のを助けることができるように、クリティカルパス上の
論理段の数を削減する。 【0050】一旦、タイミング制約が満たされたなら、
集積回路の物理的設計が実行される。物理的設計は多く
の場合に、物理的なゲートをあるレイアウトに自動的に
配置し、配線する(212)ことにより行われる。その
レイアウトは、レイアウト前に予想されるものと著しく
異なる配線容量を有する可能性があるため、寄生容量お
よび、しばしば寄生抵抗は、そのレイアウトから抽出さ
れ(214)、レイアウト後のタイミング(216)の
遅延が、そのネットリスト内の各ゲートに対して計算さ
れる。このレイアウト後の遅延は各パスに対して合計さ
れ、タイミング制約に対して検査される(218)。 【0051】最後に、回路の寄生およびゲート容量を加
算し、動作電圧の二乗を掛け合わせ、動作周波数を掛け
合わせ、さらに活動係数を掛け合わせることにより電力
消費を計算することができる(220)。 【0052】別の従来技術の設計フロー300(図3)
では、集積回路の、タイミングを決定されたゲートレベ
ルネットリストが、全消費電力を低減するように最適化
される。プロセッサ集積回路の場合、集積回路の通常の
購入者によって用いられるプログラムに類似の特性を有
するものと予想される1組のベンチマークプログラムが
選択される(302)。周辺装置集積回路の場合、実際
の使用時にノードが作用されることになるのと同じよう
に集積回路のノードを作用するものと予想されるテスト
プログラムセットが開発される。ベンチマークあるいは
テストプログラムが実行される間に、ネットリストが論
理的にシミュレートされ、一方、そのネットリストの各
ゲートの場合の活動比がログに記録される(304)。 【0053】次に、コンピュータ上で実行されるプログ
ラムによって、置き換えるためのターゲットとしてゲー
トが特定される(306)。その特定は、ゲートサイズ
に基づくことができる。個々のゲート308の場合に、
そのプログラムは、比較的小さなサイズの低減−Vtト
ランジスタから構築される交換候補ゲートを選択する
(310)。交換候補は、元のゲートと同じ速度を有す
るように選択される。交換候補ゲートはより小さな素子
サイズを有するので、元のゲートよりもゲート容量が小
さい。以前にログに記録された(304)ような、各ゲ
ートの場合の活動比を用いて、置き換えによって達成さ
れる動的電力の削減が計算される(312)。低減−V
tゲートは、同等の駆動機構を生成しながら小さな素子
サイズを有することができるので、この動的電力の削減
が生じる。素子サイズが小さくなると、容量が小さくな
るので、容量の充電および放電に関連する動的電力の成
分が低減される。 【0054】この動的電力の削減が、低減−Vtゲート
内の漏れの結果として予想される静的電力と比較される
(314)。削減される動的電力が漏れ電力よりも大き
い場合には(316)、ネットリストにおいて交換候補
ゲートが置き換えられる(318)。そのプログラム
は、「タッチしていない」として印を付けられていない
全ての候補ゲートが実現可能な置き換えに対して検査さ
れるまで、このプロセスを繰り返す(320)。 【0055】本発明の最適化プログラム(図3A)の一
実施形態では、最適化は、高速デジタルコンピュータに
よって、消費電力および速度の両方に対して実行され
る。ネットリストは、各部分においてクロック間に少な
くとも1つのパスを含む部分に区分される(372)。
各区画374の場合に、最適化のための初期親状態の機
械表現が作成される(376)。突然変異操作を実行す
ることにより、親状態から娘(または子供)状態が生成
される(378)。 【0056】その個体群内の各状態は、少なくとも1つ
のパス内に存在するゲートのサイズおよびタイプを含
む。突然変異は、異なるサイズのゲートの置き換え、低
速であるが漏れが小さいゲートと高速であるが漏れが大
きいゲートとの交換、あるいは高速であるが漏れが大き
なゲートと低速であるが漏れが小さいゲートとの交換を
伴う。ある特定の実施形態では、低速であるが漏れが小
さいゲートは標準−Vtトランジスタを有し、一方、高
速であるが漏れが大きいゲートは低減−Vtトランジス
タから構築される。 【0057】その個体群内の各状態はその後、タイミン
グおよび消費電力に対してスコアを付けられる(38
0)。その区画においてクロック間の各パスの場合の遅
延が計算され、各遅延の合計値がタイミング制約と比較
される。タイミング制約より大きいパスが存在する場合
には、その個体のためのスコアは悪影響を及ぼされる。
消費電力は、以前に説明されたようなベンチマークプロ
グラムのシミュレーション中にログに記録された(30
4)各ゲートの場合の活動比に基づいて計算される。そ
の個体に対するスコアは消費電力に反比例して影響を及
ぼされる。 【0058】高いスコアによってある状態がより高い生
存確率を与えられるように、そのスコアに基づいて生き
残るための生存者が選択される(382)。 【0059】タイミング制約が満たされなかった場合に
は(384)、生存者は親として保持され、それから新
たな娘(または子供)が生成される(378)。その方
法は、依然として最適化を必要とする残りの区画の場合
に繰り返され(380)、ネットリストが、各区画が最
適化されるのに応じて、最良の生存する個体からの情報
で更新される。 【0060】本発明の最適化プログラム400(図4)
の別の実施形態では、最適化が、高速デジタルコンピュ
ータによって消費電力および速度の両方の場合に実行さ
れる。ネットリストは、各部分においてクロック間に少
なくとも1つのパスを含む部分に区分される(40
2)。各区画の場合に、最適化のための初期親状態の機
械表現が作成される(404)。個々の状態の個体群が
突然変異を実行することにより親状態から、さらには一
旦複数の状態が利用可能になったなら、クロスオーバ操
作から生成される(406)。 【0061】その個体群内の各状態は、少なくとも1つ
のパス内に存在するゲートのサイズおよびタイプを含
む。突然変異は、異なるサイズのゲートの置き換え、低
速であるが漏れが小さいゲートと高速であるが漏れが大
きいゲートとの交換、あるいは高速であるが漏れが大き
いゲートと低速であるが漏れが小さいゲートとの交換を
伴う。クロスオーバ操作は、ある親状態の一部と別の親
状態の一部とを交換し、それにより、一方の親状態から
のいくつかのゲートサイズおよびタイプと、他方の親状
態からのいくつかのゲートサイズおよびタイプとを有す
る新しい個体状態を生成することを伴う。1つの初期の
実施形態では、低速であるが漏れが小さいゲートは標準
−Vtトランジスタを有し、一方、高速であるが漏れが
大きいゲートは低減−Vtトランジスタから構築され
る。 【0062】別の実施形態では、低速であるが漏れが小
さいゲートは、最小素子Lよりわずかに大きなトランジ
スタを有し、一方、高速であるが漏れが大きいゲート
は、最小素子Lを有するトランジスタから構築される。
この実施形態に対する変形形態では、最適化中に交換さ
れる場合がある3つの素子タイプ、すなわち、最小値L
を有する低減−Vtトランジスタから構築される高速で
あるが漏れが大きいゲートタイプと、最小値Lを有する
標準−Vtトランジスタから構築される標準ゲートタイ
プと、最小値よりも約10%だけ大きい素子Lを有する
標準−Vtトランジスタから構築される低速であるが漏
れが小さいゲートタイプとが存在する。 【0063】詳細には、低速であるが漏れが小さいゲー
トタイプは、そのプロセスの場合の標準的な最小規則よ
りも5〜20%だけ大きい素子Lを有するトランジスタ
を用いて構築される場合がある。 【0064】本発明の最適化アプローチは、そのトラン
ジスタのうちのいくつかに印加されるバイアス電圧が異
なることにより区別される、高速であるが漏れが大きい
素子タイプと低速であるが漏れが小さい素子タイプとを
用いても機能するであろう。 【0065】個体群内の状態は染色体として知られてお
り、各染色体は、パス内の各ゲートに対して、ゲートタ
イプ遺伝子と、ゲートサイズ遺伝子とを有する。ゲート
サイズおよびタイプは、予め定義されたセルのセルライ
ブラリにおいて利用可能なゲートサイズおよびタイプか
ら選択される。 【0066】その個体群内の各状態はその後、タイミン
グおよび消費電力のためにスコアを付けられる(40
8)。その区画のクロック間の各パスに対する遅延が計
算され、各遅延の合計値がタイミング制約と比較され
る。タイミング制約より大きいパスが存在する場合に
は、その個体のためのスコアは悪影響を及ぼされる。消
費電力は、以前に説明されたようなベンチマークプログ
ラムのシミュレーション中にログに記録された(30
4)各ゲートの場合の活動比に基づいて計算される。そ
の個体のためのスコアは消費電力に反比例して影響を及
ぼされる。 【0067】そのスコアに基づいて生き残るための、そ
の個体群からの個々の状態が選択される(410)。最
良のスコアを有するそれらの状態は生き残ることを保証
される。より低いスコアを有する状態は、より低い、有
限の生存の確率を与えられる。劣ったスコアを有する個
々の状態は、そのアルゴリズムがその区画のための全体
を通した最適値に収束することができるように生き残り
のチャンスを与えられ、局所的な最適値において行き詰
らないようにする。 【0068】タイミング制約が満たされなかった場合に
は(412)、生存する個体が親として保持され、それ
から新たな個体群が生成される(406)。同様に、繰
返し限度を超えていない場合には(414)、生存する
個体が親として保持され、そこから新たな個体群が生成
される(406)。一旦、繰返し限度に達したなら、最
良の生存する個体が選択され(416)、依然として最
適化を必要とする残りの区画に対して、最適化プロセス
が繰り返される(418)。 【0069】ネットリストは、各区画が最適化される時
に、最良の生存する個体からの情報で更新される。 【0070】スコアを付ける(408)間に、各個体の
場合の消費電力が計算され(500、図5)、その区画
内の各ゲートの場合の、素子の漏れに関連付けられる静
的電力SPが計算される(510)。これは、そのゲー
トにとって予想される漏れ電流と、動作電圧の二乗とを
掛け合わせることにより行われる。 【0071】容量に関連する動的電力DPC成分が、素
子および配線の容量(Ctotal)、クロック速度
(ClockRate)、動作電圧の二乗(V
**2)、および活動係数(ActivityFact
or)に基づいて計算される(502)。 DPC=ClockRate*ActivityFac
tor*Ctotal*V**2 【0072】クロスオーバーに関連する動的電力成分D
PXが以下の式のように計算される場合には(50
4)、ディープ・サブミクロンプロセスのための精度が
大きく高められることがわかっている。DPX=Wef
f*(A*TransitionTime−B*Clo
ad)*ActivityRatio*ClockRa
teここで、AおよびBはプロセス、動作電圧および素
子タイプに依存する係数である。一例のプロセスおよび
動作電圧の場合、標準−Vtゲートの場合にA=0.1
2およびB=0.019であり、低減−Vtゲートの場
合にA=0.27およびB=0.0345である。Aお
よびBは、使用中のプロセスにおいて、各閾値電圧ある
いは漏れタイプの例示的なゲートの回路シミュレーショ
ンから導出される特性定数である。AおよびBはテーブ
ルに格納され、各ゲートの閾値電圧あるいは漏れタイプ
による計算において用いるために選択される(50
5)。Cloadは、配線容量およびファンアウト素子
負荷を含む、電力消費が計算されているゲートの全負荷
容量である。 【0073】遷移時間項は、ゲートの入力において予想
される立ち上がりおよび立ち下がり時間の平均として計
算される(506)。Weffは、以下の式から計算さ
れる実効合成トランジスタ幅として計算される(50
8)。 Weff=(pstack_Weff*nstack_
Weff)/(pstack_Weff+nstack
_Weff) ここでpstack_Weffはゲート内のP型素子の
ための実効全幅であり、nstack_Weffはゲー
ト内のN型素子のための実効全幅である。 【0074】その後、各ゲートに対する全電力(PGa
te)が以下のように計算される(510)。 PGate=sum(SP+DPC+DPX) 【0075】直列に接続されるトランジスタを含むスイ
ッチングブランチのための実効幅nstack_Wef
fあるいはpstack_Weffは以下のように計算
される。 stack_Weff=1/((1/W1)+(1/W
2)+...+(1/Wn)) 【0076】並列に接続されるトランジスタからなるス
イッチングブランチに対する実効幅は、全てのスイッチ
ングトランジスタの幅の和として計算される。直列−並
列構成は、AND−OR−INVERTゲートを含む複
雑な論理構造においては一般的である。これらの構造の
場合、実効stack_Weffはこれらの式を組み合
わせることにより計算される。 【0077】その後、ある区画のための全電力が、その
区画の各ゲートの場合の全電力を加算することにより計
算される。 【0078】第1の代替の実施形態は、ネットリストが
特徴付けられた標準ゲートセルのネットリストではな
く、主に個々のトランジスタのネットリストである特定
の有用性を有する。この実施形態では、最適化プロセス
は、図4を参照して説明されたプロセスと同じようにし
て進むが、ゲートVt−タイプおよびゲートサイズの代
わりに、個々のトランジスタそれぞれのためのトランジ
スタVt−タイプ遺伝子およびトランジスタサイズ遺伝
子が存在することが異なる。それゆえ、置き換えは、先
に説明されたようにゲート毎にではなく、トランジスタ
毎に実行される。ある区画の各パスのためのタイミング
解析は当分野において知られているように実行される。 【0079】図4を参照して記載された遺伝的最適化は
大域的最小値を見つける十分な可能性を有するが、最小
値の解に収束するために何度も繰り返さなければならな
いことがわかっている。 【0080】別の代替の実施形態600(図6)はそれ
ゆえ、遺伝的最適化と欲張りな最適化とを組み合わせ
る。非常に簡略化された形態では、この実施形態650
(図9)は、ネットリストを区分すること(652)
と、全体としてそのネットリストが区分することなく取
り扱えるほど十分に小さい場合には、各区画あるいはネ
ットリストの大域的最適化を実行すること(654)
と、大域的最適化の選択された生存結果において局所的
な最適化を実行すること(656)とを伴う。その後、
そのネットリストは、組み合わせられた最適化の最良の
結果で更新される(658)。 【0081】この実施形態、すなわち図6では、通常は
ベンチマークプログラムの論理シミュレーションは、以
前に説明されたように回路ノードの活動比のログを記録
する(602)ための手段を備えられる。その後、ネッ
トリストは、上記のように、個別に最適化可能な区画に
区分される(604)。 【0082】遺伝的最適化は、先に説明された最適化と
同じように進むが、必要とされる世代、すなわち繰返し
は図4の方法の場合よりも少ない。各区画の場合に、初
期の親状態の機械表現が作成される(606)。状態の
個体群が、少なくとも1つの親状態から生成され(60
8)、スコアを決定するために、その個体群の各個体が
評価されるか、スコアを付けられる(610)。その個
体群における個体の生存の確率はこのスコアに依存す
る。生存する個体は、最適化繰返し612につれて、さ
らに先の世代の親になる。 【0083】ある繰返し数に達するとき、生存する個体
はさらに、欲張りな最適化で最適化される。これは、ゲ
ートサイズ対速度および電力の関数の傾斜を判定する
(614)ことにより開始する。探索方向はその傾斜か
ら決定され、ゲートサイズは、電力および速度を組み合
わせた性能が、より良好になる方向において調整される
(616)。調整は、さらに先のステップの結果とし
て、電力および速度の性能が劣化するようになるまで続
けられる。その後、最適化された生存者は電力および速
度の性能に対して評価され(618)、見いだされた最
良の解がネットリストに導入するために選択される。 【0084】その最適化は、全ての区画が最適化される
まで、そのネットリストの各区画に対して繰り返される
(620)。大域的および局所的最適化のこの組み合わ
せは特に、最適な設計を生み出す際に有用であることが
わかっている。 【0085】本発明の最適化方法は、レイアウト前およ
びレイアウト後の両方において適用可能である。たとえ
ば、通常はゲートファンアウトに基づく、配線抵抗およ
び容量の予備レイアウト推定値が、本発明の最適化方法
とともに用いられ、最適なネットリストの最良の推定値
を生成することができる。初期レイアウト後に、その最
適化は、タイミングおよび電力計算時に抽出される配線
抵抗および容量を用いて繰り返される。最適化中にネッ
トリストに対してなされる変更は、そのレイアウトにお
いてもなされ、最終的なレイアウトが生成される。最終
的なレイアウトが抽出し直され、最終的なタイミングが
検査される。 【0086】ネットリストのある区画において存在する
場合があるような論理回路700(図7)について考え
てみる。インバータ702のようなゲートが、タイミン
グ解析のための対象になる2つ以上のパスの一部を形成
し得る。たとえば、インバータ702は、Dフリップフ
ロップ706のQ出力からDフリップフロップ708の
D入力へのパスA703の一部と、Dフリップフロップ
706からDフリップフロップ710のD入力へのパス
B704の一部とを形成する。ゲート712はパスAの
一部であり、ゲート714はパスBの一部である。 【0087】パスA703がその回路のクリティカルパ
スであると仮定する。パスB704は、パスA703と
インバータ702を共有しており、同様にクリティカル
パスの場合もあるが、そうである必要はない。この特定
の例では、パスB704のゲート714はインバータ7
02における負荷であり、それゆえ、ゲート714にお
けるサイズおよびゲートタイプの変更は、パスA703
のタイミングに影響を及ぼす可能性があることに留意さ
れたい。区分402、604中に、後にその区画の全て
の素子に関する最適化にかけられる、同じ区画内のクリ
ティカルパスの全てのブランチを含むことが有利である
ことがわかっている。それゆえ、ゲート714は、パス
A703の最適化のために用いられる区画に含まれ、ゲ
ート714は、個体の個体群の生成のステップ406、
608中に、あるいは突然変異のステップ378中に、
サイズおよびタイプを変更される場合がある。クリティ
カルパスの非クリティカルブランチ上にあるゲート71
4のような、最適化中のゲートを含むことにより、全体
的な設計のための速度および電力の両方の最適化をさら
に改善できるようになることがわかっている。 【0088】「タッチしていない」フラグを立てられた
素子および個別の最適化プログラムによって平衡したク
ロックツリーの一部である素子以外の全ての素子が最適
化に含まれる。これは、クリティカルパスに関連付けら
れない可能性がある素子を含む。クリティカルパスに関
連付けられない素子を最適化することにより、最適化プ
ログラムは、これらの素子のサイズを変更し、その素子
タイプを変更することにより、全電力消費を低減できる
ようになる。 【0089】別の代替の実施形態では、ゲート712の
ような各ゲートの場合の、データ構造800(図8)の
ようなデータ構造を含む、区画799の機械表現が生成
される。そのデータ構造は、そのゲートを通る各パスに
関連付けられる遅延および消費電力のパスA合計値80
4のようなパス合計値への、パスA合計値ポインタ80
2のようなポインタを含む。またそのデータ構造は、負
荷容量805および配線RC806を含む、置き換えら
れたゲートの遅延を素早く計算することができる情報を
含む。 【0090】各個体の状態が生成されるとき、負荷容量
805および配線RC806を、置き換えられるゲート
に関連付けられる特徴付けられたモデルに適用すること
により、置き換えられるゲートの遅延に関する置き換え
の効果が迅速、かつ効率的に計算することができる。新
しい遅延と古い遅延807との間の差が迅速に計算さ
れ、合計値804のような合計値の複製に適用される。
また電力合計値も即座に、素早く更新されることができ
る。 【0091】またそのデータ構造は、構造800に関連
付けられるゲート712を駆動する、インバータ702
のような各ゲートに関連付けられる類似の構造体に接続
する、逆方向リンク808のような1つあるいは複数の
逆方向リンクを含む。これにより、ドライビングゲート
を迅速に特定できるようになる。そのゲートのタイミン
グおよび電力消費は置き換えによって影響を及ぼされ
る。逆方向リンク808には、各ドライビングゲートに
関連付けられる、構造820のような構造が後続する。
ドライビングゲートに関連付けられる構造820の負荷
容量822は、元のゲートおよび置き換えられるゲート
の入力容量の差にしたがって調整され、タイミングおよ
び電力の変化が、合計値804の個体特有の複製に適用
される。 【0092】コンピュータプログラム製品は、コンピュ
ータによって読み出され、コンピュータ上で実行される
際に、そのコンピュータに特定の機能あるいは一連の機
能を実行するように命令するコンピュータ読取り可能コ
ードをその上に記録している、EPROM、ROM、R
AM、DRAM、ディスクメモリあるいはテープのよう
な任意の機械読取り可能媒体である。 【0093】本発明は特に、その特定の実施形態を参照
して図示および説明されてきたが、その形態および細部
における種々の他の変更が、本発明の精神および範囲か
ら逸脱することなくなされる場合があることは当業者で
あれば理解されよう。本明細書に開示され、併記の特許
請求の範囲によって含まれる、幅広い本発明の概念から
逸脱することなく、本発明を種々の実施形態に適合させ
る際に、種々の変更がなされる可能性があることは理解
されたい。以下においては、本発明の種々の構成要件の
組み合わせからなる例示的な実施態様を示す。 1. 集積回路のための設計の速度および予測される電
力消費を最適化する方法であって、集積回路のための前
記設計は少なくとも1つのパス(703)を含み、前記
パス(703)はさらに少なくとも1つのゲート(70
2)を含み、該方法は、前記集積回路設計の素子を表す
初期の親状態を生成するステップ(606)であって、
前記集積回路の1つのパス内の各素子(702)につい
て、前記状態はさらに素子サイズ情報と素子タイプ情報
とを含み、前記素子タイプ情報はさらに、少なくとも1
つの高速であるが漏れが大きいタイプと少なくとも1つ
の低速であるが漏れが小さいタイプとの間の選択を含
む、該生成するステップと、大域的最適化の複数の繰返
しを実行するステップであって、各繰返しにおいて、少
なくとも1つの親状態から少なくとも1つの娘(または
子供)状態が生成され、評価される、該実行するステッ
プとを含み、前記大域的最適化の各繰返しにおいて、前
記少なくとも1つの娘(または子供)状態は、前記少な
くとも1つの親状態のうちの1つの親状態とは素子サイ
ズおよび素子タイプが異なることが可能である方法。 2. 前記大域的最適化方法は、シミュレーテッドアニ
ーリングと遺伝的最適化とからなるグループから選択さ
れる上項1に記載の方法。 3. 少なくとも1つの高速であるが漏れが大きいタイ
プと少なくとも1つの低速であるが漏れが小さいタイプ
との間の差は、注入ドーズ量の設計上の差であり、前記
高速であるが漏れが大きいタイプにおいて用いられるト
ランジスタの閾値電圧は、前記低速であるが漏れが小さ
いタイプにおいて用いられるトランジスタの閾値電圧と
は異なるようになる上項1に記載の方法。 4. 前記大域的最適化によって生成される少なくとも
1つの状態において、局所的最適化を実行するステップ
をさらに含む上項1に記載の方法。 5. タイミングおよび消費電力について個体群の複数
の個体の状態のスコアを付けるステップ(610)であ
って、それによって、各個体の状態のためのスコアを作
成する、該スコアを付けるステップ(610)は、前記
設計の複数のゲートに対してクロスオーバ電流成分を計
算することを含む上項1に記載の方法。 6. 前記クロスオーバ電流成分は、前記ゲートのため
の実効幅を計算するステップと、前記ゲートの入力にお
いて遷移時間を決めるステップと、前記ゲートの出口に
おける負荷容量を決めるステップと、前記ゲートの活動
比を決めるステップと、前記実効幅に、前記活動比と、
クロック速度と、第1の定数と前記遷移時間の積と第2
の定数と前記負荷容量との積との差とを掛け合わせるス
テップであって、それによって、前記ゲートの動的電力
のクロスオーバ電流成分を決めるステップとを含むステ
ップによって計算される上項5に記載の方法。 7. 前記大域的最適化によって生成される少なくとも
1つの状態において局所的最適化を実行するステップを
さらに含む上項6に記載の方法。 8. 前記局所的最適化は、欲張りな最適化である上項
7に記載の方法。 9. 集積回路のための設計の速度と予測される電力消
費とを最適化する方法であって、集積回路のための前記
設計は少なくとも1つのパス(703)を含み、前記パ
ス(703)はさらに少なくとも1つのゲート(70
2)を含み、該方法は、前記集積回路設計の素子を表す
初期の親状態を生成するステップ(606)であって、
前記集積回路の1つのパス内の各素子(702)につい
て、前記状態はさらに素子サイズ情報と素子タイプ情報
とを含み、前記素子タイプ情報はさらに、少なくとも1
つの高速であるが漏れが大きいタイプと少なくとも1つ
の低速であるが漏れが小さいタイプとの間の選択を含
む、該生成するステップと、大域的最適化の複数の繰返
しを実行するステップであって、各繰返しにおいて、少
なくとも1つの親状態から少なくとも1つの娘(または
子供)状態が生成され、評価される、該実行するステッ
プとを含み、前記大域的最適化の各繰返しにおいて、前
記少なくとも1つの娘(または子供)状態は、速度およ
び電力消費に対して評価される方法。 10. 前記大域的最適化の各繰返しにおいて、前記少
なくとも1つの娘(または子供)状態は、前記親状態と
は少なくとも1つの素子タイプが異なる、0以外の確率
と、前記親状態とは少なくとも1つの素子サイズが異な
る、0以外の確率とを有する上項9に記載の方法。 【0094】 【発明の効果】本発明によれば、集積回路において消費
される全電力を低減しながら、回路タイミング要件が確
実に満たされるようにする方法を実現することができ
る。
【図面の簡単な説明】 【図1】通常の従来技術のCMOS論理回路NANDゲ
ートの概略図である。 【図2】CMOS集積回路を設計するための従来技術の
設計フローを示す図である。 【図3】集積回路設計において電力消費を低減する方法
の流れ図である。 【図3A】集積回路設計において電力消費を低減し、速
度を最適化するシミュレーテッドアニーリング法の流れ
図である。 【図4】集積回路設計において、タイミングおよび電力
消費を合わせて最適化するための遺伝的最適化方法の流
れ図である。 【図5】クロスオーバ電流項を含む消費電力の計算を示
す流れ図である。 【図6】遺伝的および欲張りな最適化の両方による最適
化を示す流れ図である。 【図7】仮定された集積回路のある区画内の論理回路の
図である。 【図8】高速遺伝的最適化を可能にするデータ構造の図
である。 【図9】遺伝的最適化および欲張りな最適化の両方によ
る最適化を示す簡略化された流れ図である。 【符号の説明】 702 ゲート(素子) 703 パス 606 親状態を生成するステップ 610 スコアを付けるステップ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA04 5F064 BB03 BB04 BB05 BB06 BB07 BB19 CC12 DD03 DD09 EE42 EE43 HH06 HH08 HH09

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 集積回路のための設計の速度および予測
    される電力消費を最適化する方法であって、集積回路の
    ための前記設計は少なくとも1つのパス(703)を含
    み、前記パス(703)は少なくとも1つのゲート(7
    02)をさらに含み、該方法は、 前記集積回路設計の素子を表す初期の親状態を生成する
    ステップ(606)であって、前記集積回路の1つのパ
    ス内の各素子(702)について、前記状態は素子サイ
    ズ情報と素子タイプ情報とをさらに含み、前記素子タイ
    プ情報は、少なくとも1つの高速であるが漏れが大きい
    タイプと少なくとも1つの低速であるが漏れが小さいタ
    イプとの間の選択をさらに含む、該生成するステップ
    と、 大域的最適化の複数の繰返しを実行するステップであっ
    て、各繰返しにおいて、少なくとも1つの親状態から少
    なくとも1つの娘(または子供)状態が生成され、評価
    される、該実行するステップとを含み、 前記大域的最適化の各繰返しにおいて、前記少なくとも
    1つの娘(または子供)状態は、前記少なくとも1つの
    親状態のうちの1つの親状態とは素子サイズおよび素子
    タイプが異なることが可能である方法。
JP2003069238A 2002-03-14 2003-03-14 電力消費および速度に対して高性能cmos集積回路設計を最適化する方法 Pending JP2003308350A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/098111 2002-03-14
US10/098,111 US6687888B2 (en) 2002-03-14 2002-03-14 Method of optimizing high performance CMOS integrated circuit designs for power consumption and speed

Publications (1)

Publication Number Publication Date
JP2003308350A true JP2003308350A (ja) 2003-10-31

Family

ID=28039317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003069238A Pending JP2003308350A (ja) 2002-03-14 2003-03-14 電力消費および速度に対して高性能cmos集積回路設計を最適化する方法

Country Status (2)

Country Link
US (1) US6687888B2 (ja)
JP (1) JP2003308350A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345845A (ja) * 2002-05-22 2003-12-05 Mitsubishi Electric Corp 自動配置配線装置
US20040019473A1 (en) * 2002-07-24 2004-01-29 Burden David C. System and method of processing a circuit design via critical design paths
US7451413B1 (en) * 2003-01-03 2008-11-11 Marvell International Ltd. Methods of minimizing leakage current by analyzing post layout information and associated threshold voltage and leakage current
US7032200B1 (en) * 2003-09-09 2006-04-18 Sun Microsystems, Inc. Low threshold voltage transistor displacement in a semiconductor device
US7243312B1 (en) * 2003-10-24 2007-07-10 Xilinx, Inc. Method and apparatus for power optimization during an integrated circuit design process
US7580824B1 (en) * 2005-12-21 2009-08-25 Altera Corporation Apparatus and methods for modeling power characteristics of electronic circuitry
US8332793B2 (en) * 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing
US7716618B2 (en) * 2006-05-31 2010-05-11 Stmicroelectronics, S.R.L. Method and system for designing semiconductor circuit devices to reduce static power consumption
US20070283301A1 (en) * 2006-06-05 2007-12-06 Karandikar Arvind K System and Method of Eliminating Electrical Violations
US7840927B1 (en) * 2006-12-08 2010-11-23 Harold Wallace Dozier Mutable cells for use in integrated circuits
JP5161035B2 (ja) * 2008-10-29 2013-03-13 ルネサスエレクトロニクス株式会社 半導体集積回路の設計装置、設計方法およびプログラム
US20120144353A1 (en) * 2010-12-06 2012-06-07 Kamdar Chetan C Method for Implementing Timing Point Engineering Change Orders in an Integrated Circuit Design Flow
JP2014035667A (ja) * 2012-08-09 2014-02-24 Renesas Electronics Corp Lsi設計方法およびlsi設計装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528058A (en) * 1986-03-21 1996-06-18 Advanced Power Technology, Inc. IGBT device with platinum lifetime control and reduced gaw
US5689144A (en) * 1996-05-15 1997-11-18 Siliconix Incorporated Four-terminal power MOSFET switch having reduced threshold voltage and on-resistance

Also Published As

Publication number Publication date
US20030177459A1 (en) 2003-09-18
US6687888B2 (en) 2004-02-03

Similar Documents

Publication Publication Date Title
Li et al. Architecture evaluation for power-efficient FPGAs
Boyd et al. Digital circuit optimization via geometric programming
US6212665B1 (en) Efficient power analysis method for logic cells with many output switchings
US7003738B2 (en) Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS using altering process
US7325210B2 (en) Hybrid linear wire model approach to tuning transistor widths of circuits with RC interconnect
JP2003308350A (ja) 電力消費および速度に対して高性能cmos集積回路設計を最適化する方法
US5703798A (en) Switch level simulation employing dynamic short-circuit ratio
Roy et al. Transistor-level optimization of digital designs with flex cells
Bogiolo et al. Power estimation of cell-based CMOS circuits
US6728941B2 (en) Method of modeling the crossover current component in submicron CMOS integrated circuits designs
Chang et al. Type-matching clock tree for zero skew clock gating
US6711720B2 (en) Method of optimizing high performance CMOS integrated circuit designs for power consumption and speed through genetic optimization
US6785870B2 (en) Method of optimizing high performance CMOS integrated circuit designs for power consumption and speed using global and greedy optimizations in combination
US6460166B1 (en) System and method for restructuring of logic circuitry
US7594209B2 (en) Method for incorporating Miller capacitance effects in digital circuits for an accurate timing analysis
Ponnian et al. A new systematic GDI circuit synthesis using MUX based decomposition algorithm and binary decision diagram for low power ASIC circuit design
Dhanwada et al. Leakage power contributor modeling
Hu et al. Synthesis and placement flow for gain-based programmable regular fabrics
US6282695B1 (en) System and method for restructuring of logic circuitry
Benkoski et al. The role of timing verification in layout synthesis
US8745558B1 (en) Deployment of transmission gate logic cells in application specific integrated circuits
Kutzschebauch et al. Layout driven decomposition with congestion consideration
Hwang et al. Gate sizing and replication to minimize the effects of virtual ground parasitic resistances in MTCMOS designs
Hsu et al. Clock gating optimization with delay-matching
Es' haghi et al. Aging-aware scheduling and binding in high-level synthesis considering workload effects