JP2002230066A - リーク低減制御を論理回路に挿入するシステム及び方法 - Google Patents

リーク低減制御を論理回路に挿入するシステム及び方法

Info

Publication number
JP2002230066A
JP2002230066A JP2001369057A JP2001369057A JP2002230066A JP 2002230066 A JP2002230066 A JP 2002230066A JP 2001369057 A JP2001369057 A JP 2001369057A JP 2001369057 A JP2001369057 A JP 2001369057A JP 2002230066 A JP2002230066 A JP 2002230066A
Authority
JP
Japan
Prior art keywords
net
state
probability
logic
nets
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.)
Granted
Application number
JP2001369057A
Other languages
English (en)
Other versions
JP3836715B2 (ja
Inventor
John M Cohn
ジョン・エム・コーン
Alvar A Dean
アルバー・エイ・ディーン
David J Hathaway
デビッド・ジェイ・ハサウェイ
Sebastian T Ventrone
セバスチャン・ティ・ベントローン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002230066A publication Critical patent/JP2002230066A/ja
Application granted granted Critical
Publication of JP3836715B2 publication Critical patent/JP3836715B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

(57)【要約】 【課題】 確率的分析にもとづき、論理ゲートの状態を
強制し、リークを低減する論理システム設計方法を提供
すること。 【解決手段】 論理ネットワークのリーク・パワーを低
減する方法が、可観測性don't care情報を用いて、個々
のネットの"スリープ状態"を識別するステップと、確率
的分析にもとづきスリープ状態の少なくとも一部の間、
ネットを特定の値に強制することにより期待パワー消費
が低減される少なくとも1つのネットを決定するステッ
プと、決定されたネットを、そのスリープ状態の決定部
分の間、決定された値に強制するステップとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に半導体素子に
関し、特に、確率決定に従う低減制御回路を提供するこ
とにより、半導体素子におけるリーク電流を低減するシ
ステム及び方法に関する。
【0002】
【従来の技術】リーク電流を低減するための2つの主な
アプローチが提案されている。それらは、しきい値電圧
制御と論理状態制御である。
【0003】集積回路におけるリーク電流は、FETの
しきい値電圧に反比例し、しきい値電圧を上げるとリー
ク電流が低減する。しかしながら、しきい値電圧を上げ
ると素子の性能が低下する。従って、消極的なしきい値
電圧制御方法では一般に、タイミング的に厳格でない論
理パスの部分を選択し、回路のその部分により高いしき
い値素子を使用する。積極的なしきい値制御方法も存在
し、そこではしきい値電圧が能動体により動的に調整さ
れるか、或いは、チップが回路の完全な性能が要求され
ず、最小のリークが所望される"スタンバイ"または"ス
リープ"・モードのときに、十分にバイアスする。
【0004】リークの論理状態は、回路のリークがその
入力の状態の大きく依存するという概念にもとづく。例
えば、CMOS2ウェイ(two-way)NANDゲート
は、両方の入力がロー電圧のときに、両方の入力がハイ
電圧のときよりも一桁低いリーク電流を有する。これら
の方法のリーク制御は、論理ネットワークを想定したと
き、論理ネットワークの入力に加えられ、可能な最も低
いリーク状態を生成する論理値のセットを見い出す。こ
の低リーク状態を生じる論理値のセットは、"低リーク
・ベクトル"と呼ばれる。低リーク・ベクトルは、チッ
プが"スタンバイ"または"スリープ"動作モードに入力す
るとき、論理ネットワークに低リーク・ベクトルを強制
する変更記憶素子により、論理ネットワークに適用され
る。
【0005】このアプローチの主な課題の1つは、大規
模な論理回路上で低リーク・ベクトルを見い出すことで
ある。可能な論理状態の数は、回路への入力の数に直接
比例するので、全ての可能な状態を網羅的にチェックす
ることは不可能ではないにしても非現実的である。従っ
て状態空間を開拓し、"低リーク・ベクトル"を見い出す
ヒューリスティック・アルゴリズムが開発された。これ
らのアルゴリズムは、回路への入力を制御できるだけ
で、可能な"最低リーク・ベクトル"を見い出せないであ
ろう事実により制限される。
【0006】論理状態制御アプローチの別の制限は、"
スリープ"状態と"アクティブ"状態との区別が常に明確
とは限らないことである。設計の異なる部分が異なる時
間の間、非アクティブ(すなわち一種の"スリープ"・モ
ード)であるかもしれない。アクティブ・スイッチング
・パワーに対するリーク・パワーの相対重要度が増しつ
つある新規技術では、比較的短い期間でさえも論理ネッ
トワークのこれらの非アクティブ部分のリークを低減す
ることが重要となる。
【0007】従来システムではリーク低減技術の焦点
は、記憶素子を低リーク・ベクトルに強制することによ
り、"スタンバイ"に入る際に設計に適用される低リーク
・ベクトルを静的に決定することに置かれてきた。
【0008】論理ネットワーク状態に関する確率的情報
を利用することにより、デジタル回路設計を最適化する
技術が存在する。特に参考文献の1つとして、S. Siric
hotiyakul、T. Edwardsらによる"Stand-by Power Minim
ization through Simultaneous Threshould Voltage Se
lection and Circuit Sizing"、ACM 1999、Ch. 26. 2、
pp. 436-441が挙げられる。この参考文献は、リークを
低減または最小化するために、確率的分析を用いてトラ
ンジスタをサイズ決めし、電圧しきい値を変更すること
を教示する。しかしながら、この従来技術は、回路のス
リープ状態及び信号の論理状態の設定を考慮していな
い。
【0009】従って、論理状態統計にもとづき確率的ア
プローチを用いて、集積回路素子の任意の時点での期待
リークを見い出すことにより、低リーク・ベクトルを見
い出す改善された方法及び機構を提供することが望まれ
る。
【0010】更に、半導体回路がアイドル状態のとき、
回路が大域的または局所的に最適化状態になるように、
論理を操作して確率を変化させる改善された方法及び機
構を提供することが望まれる。
【0011】更に、回路が"アクティブ"の間にも、リー
ク電流を低減する論理最適化を可能にする、従って"ス
リープ"と"アクティブ"・モード動作の間の不明瞭な線
を収容する確率的アプローチを用いて、低リーク・ベク
トルを見い出す改善された方法及び機構を提供すること
が望まれる。
【0012】
【発明が解決しようとする課題】従って本発明の目的
は、確率的分析にもとづき、論理ゲートの状態を強制
し、リークを低減する論理システム設計方法を提供する
ことである。
【0013】本発明の別の目的は、多くのアクティブ/
半アクティブ/スタンバイ状態の任意の間に低リーク設
計となるように、論理ネットワークを変更する合成の間
に、リーク確率を見い出す方法及び機構を提供すること
である。
【0014】更に本発明の別の目的は、素子の収容域を
形成したり、特殊なスイッチを追加することなく、多く
のアクティブ/半アクティブ/スタンバイ状態の任意の
間に、リークを低減し、低オーバヘッドとする確率的分
析を実現する論理システム設計方法を提供することであ
る。
【0015】更に本発明の別の目的は、低リーク設計と
なるように、論理ネットワークを変更する合成の間に、
ゲートの固有の性質を利用して論理状態を強制する方法
及び機構を提供することである。
【0016】
【課題を解決するための手段】本発明は論理状態統計に
もとづき、任意の時点での期待リークを見い出す確率的
アプローチを用いることにより、正確な低リーク・ベク
トルを見い出す困難を克服するものである。これは回路
が"アクティブ"の間にもリーク電流を低減する論理最適
化を可能にし、それにより"スリープ"と"アクティブ"・
モード動作との間の不明瞭な線を収容する。幾つかの手
法により確率的情報が計算され記憶される。これらの手
法は、スイッチング・パワーの分析のために、スイッチ
ング情報を決定する手法と似通っている。シミュレーシ
ョン・トレースの結果として情報が個々のネット上で収
集される。或いは、信号間の相関を追跡するために、様
々な入力状態(基本入力及びラッチ出力論理値のセッ
ト)の確率が追跡される。こうした入力状態情報が、2
分決定グラフ(BDD:binary decision diagram)ま
たは他の周知の手段を用いて簡潔に記憶される。各信号
について、その信号が特定値(他の全ての信号値に無関
係か、状態情報を通じて相関付けられる)である確率
と、論理ネットワーク内の各ブロックについて、入力値
の各可能な組み合わせに対するそのブロックのリークに
関する情報が与えられると、全てのブロックに渡り合計
することにより推定リーク・パワーが計算される。すな
わち、ブロック入力値の全ての組み合わせに渡って、そ
の入力値の組み合わせの下でのリークに、その入力値の
組み合わせの発生確率を掛けた積の総和が計算される。
これらの信号確率に影響を及ぼす論理ネットワークの変
更が行われた場合、確率が更新され、リーク・パワーの
結果の変化が推定される。信号確率の更新は論理ネット
ワークの一部または全部を再シミュレートすることによ
り、或いはネットをドライブするゲートの入力における
更新確率にもとづき、論理変更のファンアウト・コーン
内のネット上の確率を再計算することにより、またはこ
れらの組み合わせや他の手段により達成される。
【0017】信号確率と共に、また同様に各状態につい
て、論理ネットワークがその状態のときに、任意の所与
の信号ネットがスイッチする確率が計算される。再度、
これは論理ネットワーク内の様々なネットを独立に扱う
ことにより行われる。この場合、対象となるスイッチン
グ確率は単に、ネットがローのときにハイになる条件付
き確率であり、またネットがハイのときにローになる条
件付き確率である。これらのスイッチング確率はまたグ
ローバル状態にもとづき、BDDまたは他の手段を用い
て計算される。この情報は、ネットが特定の状態にある
であろう期間、従って、その状態に関連付けられるリー
ク・パワーを浪費する期間を決定する支援し、ネット上
のリークを低減する相対重要度を決定するために使用さ
れる。
【0018】著しく異なる動作モードが知れていると
き、確率と結果のリーク・パワー推定値の別々のセット
が、各モードについて保持される。次に、各モードで費
やされる期待期間と各モードにおけるパワー低減の重要
度とにもとづき、これらの異なるモード・パワーの重み
付け合計を低減するために、最適化が実施される(例え
ば、バッテリ・パワーまたは壁面コンセントで動作する
素子は、後者の場合よりも前者の場合に、よりパワーを
低減する必要がある)。一部のモードでは、特定の論理
ネットワーク入力値(基本入力またはラッチ出力)が知
れており、従って、0及び1の状態確率を有する。基本
入力の値が制御されない場合でも、特定のモードは特定
の基本入力が定義済み状態であるモードとして定義され
得る。
【0019】この確率的リーク情報が与えられると、リ
ーク・パワーを低減する様々な最適化が実行される。一
般にこれらの方法は論理において、"don't care"、すな
わち、ゲートまたはサブネットワーク出力値がどうであ
ろうと問題とならない場合の、そうしたゲートまたはサ
ブネットワークへの入力条件を利用する。これらのdon'
t care条件は、高級言語入力による指定を通じて(例え
ばcase文におけるdefault case)、或いは論理ネットワ
ークの分析を通じて、またはこれらの組み合わせにより
決定される。同様に、特定のネットまたはネット・セッ
トがdon't caseである論理条件が、同様に特定の指定信
号(例えば特定の機能またはチップ全体のための"スリ
ープ・モード"信号)により、或いは論理ネットワーク
の分析(すなわちdon't careを意味する論理機能の決
定)により、またはこれらの組み合わせにより決定され
る。変更を加える時期を決定するために選択される機能
が、常に信号がdon't careであることを意味する限り、
don't care関数全体が最適化において使用される必要は
ない(すなわち、リークを低減する全てのdon't care条
件に対して変更を加える必要はない)。換言すると、信
号がdon't careであると判断するのに十分ではあるが、
必要条件である必要のない関数が探索される。更に、do
n't care関数と特定のネットに関連付けられるリークと
の間に相互作用が存在し得る。例えば、信号確率を増加
させるとリークが減少するモードAと、信号確率を減少
させるとリークが減少するモードBの両方において、信
号はdon'tcareであるかもしれない。明らかにこれらの
2つのモードにおいて、信号確率を異なる方向にドライ
ブする変更を加えることが目標となる。
【0020】本発明によれば、複数のネットを含む論理
ネットワークのリーク・パワーを低減する方法が提供さ
れる。この方法は、前記論理ネットワーク内の1つ以上
のネットの可観測性don't care(ODC:observabilit
y don't care)情報を決定するステップを含み、ODC
情報は、ネットにおける入力値が論理ネットワークの出
力値に影響しない入力のセットを表し、ODCは論理ネ
ットワークの個々のネットのスリープ状態を識別するた
めに使用される。方法は更に、スリープ状態の少なくと
も一部の間に、ネットを特定の値に強制するシミュレー
ションを実行し、期待パワー消費が低減される少なくと
も1つのネットを決定する確率的分析を実行するステッ
プと、期待パワー消費が低減されるとき、決定されたネ
ットをそのスリープ状態の一部の間に決定された値に強
制するステップとを含む。
【0021】好適には、これらのdon't care状態を最適
化し、リーク・パワーを低減するために使用される従来
の論理合成技術が、面積を低減し、回路性能を改善し、
ときにスイッチング・パワーを低減するために使用され
る。従って、幾つかの異なる目的のための同時最適化が
試行される。これらは変化が様々な目的関数に及ぼす影
響の重み付け合計を取り(例えばK1*delta-面積+K2*del
ta-スイッチング・パワー+K3*delta-リーク電流)、こ
の重み付け合計において最善の改善を提供する最適化を
選択することにより組み合わされる。こうしたコスト・
ベースの変化もまた制限を受け、例えばネット・スラッ
ク(net slack)があるしきい値以下にならない限り、
前記の重み付け目的関数の合計において最善の改善を与
える変化を加えるようにする。
【0022】
【発明の実施の形態】本発明の原理によれば、合成され
る回路の様々なネット(ネットワーク)の静的確率及び
スイッチング確率を確認するために、第1のフェーズ分
析が実行される。この分析は好適には、論理回路設計を
最適化するために要求される、リークの増分的確率分析
を含む。アルゴリズムでは、当業者には周知のブール関
数を表す2分決定グラフ(BDD)が使用される。ブー
ル関数及びそれらの特性の詳細については、Randal E.
Bryantによる参考文献"Symbolic Boolean Manipulation
with Ordered Binary-Decision Diagrams"、ACM Comput
ing Surveys、Vol. 24、No. 3、September 1992及びR.
RutenbarによるSchool of Computer Science、Carnegie
Mellon University、Fall' 97 class notesで述べられ
ている。尚、左記の開示は、<http://www.ece.cmu.edu/
〜ee760/>で見い出すことができる。BDDは基本的
に、幾つかの変数に依存する関数を表す2分木である。
変数が特定の論理状態値(例えば"0")に制限されると
き、関数は変化し、オリジナル変数のサブセットに依存
する。このプロセスは、当業者にはシャノン・コファク
タリング(Shannon cofactoring)として知られ、関数
が1変数の関数に帰着するように繰り返される。従って
入力変数の任意の割当てに対して、ツリー関数を通じて
パスを走査することにより関数の値が決定される。一般
にBDDと称するとき、これは削減された順序付け図で
あり、ルートからリーフ(leaf)に至る任意のパスに沿
う変数に常に定義済みの順序で遭遇し(全ての変数が全
てのパス上に存在する必要がない)、同じ変数及び同じ
子を有する2つのノードが併合され、その2つの子が同
一である任意のノードが削除される。BDDの他の多く
の操作及び動作が業界で知られている。コンピュータ支
援設計業務において削減された順序付けBDDを表現
し、効率的に操作するデータ構造が、Karl S. Braceら
による参考文献"Efficient Implementation of a BDD P
ackage"で述べられており、業界において周知である。
この機能を提供するコンピュータ・パッケージは、例え
ばSynopsys、Inc. of Mountain View、CAから販売され
ている。
【0023】この第1のフェーズ分析に従い、説明の目
的上、デジタル回路ネットワーク内の"ネット"はBDD
により表され、BDD構造内の各ノードがBDDを通じ
て取られるパスを決定する決定変数として、基本入力、
すなわちネットの値を有するものとする。一旦BDDが
作成されると、BDDにより表されるネットが特定の状
態にある確率が決定される。この様子が、例えばBryant
による前記参照文献"Symbolic Boolean Manipulation w
ith Ordered Binary-Decision Diagrams"で述べられて
いる。一般に、高度なシミュレーションを用いることに
より基本入力での確率が最初に決定され、次に、内部的
なネットの確率がBDDを用いて決定される。しかしな
がら本発明によれば、高度シミュレーションを用いても
確率決定を可能にしないネットワークが変更される。従
って、BDDを用いての信号確率の計算が、既知の確率
を有するリーフから開始する。例えば、ノード0が1で
ある確率は0(常に0)であり、ノード1が1である確
率は1である。正に0及び1である子を有するBDD内
のノードを考えると、常にその属性を有する少なくとも
1つのノードが存在する。そのノードの決定変数が1と
なる1/4の確率を有し、当該変数が1のとき、そのノ
ードにより表される関数が1で、当該変数が0のとき、
関数が0の場合、その関数は1となる1/4の確率を有
する。代わりに、当該変数が1のとき、そのノードによ
り表される関数が0で、当該変数が0のとき、関数が1
の場合、換言すると、ノードが変数の逆元を表す場合、
その関数は1となる3/4の確率を有する。このように
BDD内の各ノードに対して、この計算が実行される。
すなわち、ノードにより表される関数の確率は、ノード
の決定変数が1である確率と、そのノードの1の子が1
となる確率とを掛け合わせた積と、ノードの決定変数が
0である確率と、そのノードの0の子が1となる確率と
を掛け合わせた積との和、すなわち単純合計となる。こ
れは、例えばツリーのポスト・オーダ・デプス・ファー
スト(post-order depth-first:後順深さ優先)探索走
査を用いて再帰的に実行される。このようにして、この
ツリー内の任意のノードに対して確率が見い出され、そ
のノードにより表される関数を有するネットが1である
確率を提供する。
【0024】この技術は静的確率、すなわち信号の値が
1である確率、または信号が0である確率を決定するた
めのものである。本発明によれば、スイッチング確率の
追加の考慮が成される。なぜなら、何かが毎サイクルご
とにスイッチングしている場合(または3サイクル置き
または10サイクル置きにスイッチングしている場合で
あっても)、それを特定の状態に強制することは望まし
くない。なぜなら、信号を特定の状態に強制するオーバ
ヘッドが大きくなり、すなわち、その遷移を行うために
使われるパワーが、非常に短い期間に渡り保管されてき
たリーク・パワーよりも大きくなるからである。従って
好適にはこれらの技術は、信号が長い時間don't careで
ある高い確率を有する場合に適用されるべきである。信
号は高い確率である必要はないが、don't careのとき、
長い時間don't careであることが有望でなければならな
い。
【0025】スイッチされる確率について見ると、Pete
r H. Schneiderらによる"Fast Power Estimation of La
rge Circuits"、IEEE Design and Test of Computers、
1996、pp. 70-78が参照される。この参考文献は基本的
に、静的手法と同じ思想であるが、時間的な1スライス
を表す基本入力の1セット(例えば現変数入力X1、X
2、...、Xn)を有するネットに対してBDDを生
成することに加え、そのネットのBBDが次の連続スラ
イスに対して、例えば次状態変数入力XT 1
T 2、..、XT nの関数として生成される。BDDのこ
れらのセットは同一である。なぜなら、ネット構造がサ
イクル毎に変化しないからである。従って、任意の特定
の遷移において前の状態の変数が与えられると、次の状
態において変数がどのようであるかを知ることができ
る。これらの2つのBDDは次に排他的論理和され、現
状態変数と次状態変数の両方の関数である新たな関数を
表す新たなBDDを生成する。この新たな関数(結合B
DD)は、信号が1対の連続サイクルの間をいつスイッ
チするかを直接的に表す関数である。
【0026】好適には、前記のSchneiderらによる参考
文献"Fast Power Estimation of Large Circuits"で述
べられるように、スイッチング確率を計算するために変
数を現状態と次状態の間でインタリーブすることによ
り、作成されたBDDが特別に順序付けされる。例え
ば、入力変数X0 1及びXT 1は現状態の変数(0の上付文
字で定義される)と、次状態の変数(Tの上付文字で定
義される)をそれぞれ表す。従って、X0 1及びXT 1変数
が隣接するとき、静的状態に対して実行された同一種類
の確率分析が、今度は1度に1対の変数に対して実行さ
れる。従って、Schneiderらの論文で述べられるよう
に、また図1のBDDツリー構造11により表されるよ
うに、与えられる確率はX0 1及びXT 1が両方1であると
きを表し、これはこのツリーの最左端分岐12に対応
し、すなわち変数が前サイクルにおいて1であり、次の
サイクルでも1に留まる。同様に、このツリー11の最
右端分岐13は、変数が前サイクルにおいて0であり、
次のサイクルでも0に留まる場合を示す。中間のケース
では、パスが左を走査し、次に右の分岐16を走査する
とき、スイッチングが発生することを示す。これは変数
が前サイクルにおいて1であり、次のサイクルで0にな
ることを表す。換言すると、変数はこの遷移の間に立ち
下がる。他の残りのパス18は1であり、遷移の間に信
号が立ち上がることを示す。
【0027】一旦全ての統計が高度シミュレーションを
通じて集められると、信号が0である確率に関する統計
だけでなく、それがスイッチする確率に関する統計も収
集される。決定変数が入力信号の現状態値及び次状態値
に対応するBDDの2つのレベルを1度に見ることによ
り、幾分より複雑な分析が実行される。この分析は、決
定変数に対応する入力信号が1であり、そのまま1に留
まる確率をその分岐上の確率と乗算する演算と、決定変
数に対応する入力信号が0であり、そのまま0に留まる
確率を適切な分岐上の確率と乗算する演算と、他の2つ
の分岐確率を一緒に加算する演算と(なぜなら立ち上り
確率は常に立ち下り確率に等しいため)、その値を決定
変数に対応する入力がスイッチする確率と乗算する演算
とを要求する。これらの確率をツリー上で伝搬すること
で、ルートでの確率、すなわち、この信号が任意の連続
するサイクル対の間でスイッチされる確率が生成され
る。
【0028】論理ネットワークにおいて複数変化を効率
的に生成及び評価するために、これらの演算は増分的に
実行されなければならない。例えば、米国特許第550
8937号"INCREMENTAL TIMING ANALYSIS"では、デー
タの増分伝搬をネットワークを通じて順方向に効率的に
実行する分析方法が述べられている。これらのステップ
には、例えば、最初にネットワーク内の全てのネット上
でのスイッチング確率を見い出す初期分析を実行するス
テップと、次に論理変更を行うステップ、例えばゲート
入力において論理1状態を強制するステップとを含む。
ネットワーク全体について解析を最初からやり直すので
はなく、値を更新するために必要な限りにおいて変更が
導入され、伝搬される。従って、本発明の好適な実施例
によれば、状態確率及びスイッチング確率を決定する方
法が、米国特許第5508937号に従う増分的更新機
構と共に適用される。
【0029】ネットワーク関数を表すBDDの作成及び
実現、並びに信号の状態及び信号のスイッチング確率、
及びネットワークに変更が加えられたときに、信号をど
のように更新するかを決定する手段に加え、分析の次の
フェーズは"don't care"条件、特に可観測性don't care
(ODC:observability don't care)の計算及び評価
を要求する。ここでODCは、出力が環境により監視さ
れない、すなわちネットの値に関与しない状況における
入力のセットを表す。論理ネットワーク内のネットに対
してODCセットは、条件セット(すなわち論理ネット
ワークの入力ベクトル)であり、この条件の下では、ネ
ット上の値は論理ネットワークのいずれの基本出力にも
影響せず、また論理ネットワーク内のラッチに記憶され
る値にも影響しない。従って、これらのODC条件の下
で、論理ネットワークの関数(観測可能な出力またはラ
ッチ内容)に影響を及ぼすことなく、ネットが任意の選
択値を取れるように、ネットワークは変更される。
【0030】ODCの計算は多様に行われる。ブール・
モデルにおいてODCを計算するアルゴリズムの詳細
は、Giovanni De Micheliによる書籍"Synthesis and Op
timization of Digital Circuits"、McGraw-Hill Publi
shing、Chapter 8、pp. 380-396で見い出される。本発
明の状況では、ODCセットは電子素子のスリープ動作
モードと同意語であるが、これは従来ラッチからクロッ
ク信号を削除することと見なされた従来のスリープ・モ
ードとは異なる。従来のスリープ・モードでは、ラッチ
上で強制される値が読出されていないために重要でな
い。本発明では、可観測性don't careを計算するアルゴ
リズムは、再収束(reconvergence)が存在しないこと
が知れているローカル・ファンアウトに、或いは、パス
の全てのファンアウトをブロックすることが知れている
グローバル信号に関わる。これは、例えば、出力からの
開始を要求する"カットセット(cut sets)"を実現し、
全てのファンアウトを見い出すなど、既知の方法により
行われ、各パスに沿って、信号によりブロックされる場
所が存在するか否かを判断する。
【0031】より詳細には、ODCの計算を実行する1
方法が図2に示される。図2に示されるように、この方
法は、論理ブロック42及び52を有する論理ネットワ
ーク10において、(ODCが計算される)対象ネット
40からの全てのパスをインタセプトするカット35を
定義するステップを含む。次に、このカット内の全ての
ネットが対象ネットに独立である条件が計算される。ネ
ットNに関するカット・ネットCのブール・デリバティ
ブは、dC/dNとして示される。C=f
(N、...)ならば、dC/dN=f(N=
0、...)とf(N=1、...)との排他的論理和
である。dC/dNが0のとき、すなわちdC/dNの
逆元が1のとき、ネットCはネットNに独立である。カ
ット・セット内の全てのネットに対するこれらの条件の
論理積(AND)を取ることにより、ネットNに対する
ODC条件のセットが与えられる。ネットNに対する総
ODCセットを計算するために、カット35'が基本出
力に取られるべきである(すなわち、図2の論理ブロッ
ク52は空であるべき)。
【0032】ODCの計算において、必要とされる労力
と完全性との間には、トレードオフが存在する。ODC
セットの計算は、ネットとカットとの間の全ての論理の
分析を要求する。ネットの完全なODCセットは、その
ネットの完全なファンアウト・コーンの分析を要求す
る。それにひきかえ、カットがネットに近い場合、少量
の論理だけが分析されればよい。従って完全性のために
は、カットをできるだけ右に(すなわちネットワーク出
力に向けて)押し出すことが好ましい。一方計算スピー
ドのためには、カットをできるだけ左に(すなわちネッ
トに向けて)押し出すことが好ましい。これはまたOD
Cセットの増分的更新に拡張される。すなわち、ネット
とカットとの間の論理(図2の論理ブロック42)に変
更が加えられると、ODCセットが計算されなければな
らない。従って、論理ブロック42のサイズを最小化す
ると、ODCセットの再計算を要求する潜在的な変更の
数が最小化される。
【0033】多くの場合論理ネットワークの"スリープ"
状態は、結果が論理ネットワークの出力の近くに伝搬す
るのをブロックする信号により決定される。例えば、し
ばしば論理ネットワーク出力をラッチするクロックをゲ
ートすることが行われる。こうしたケースでは、関連O
DCの決定がODCが計算されているネットから遠く離
れたカットを用いて行われ、従って、ODCセットを計
算的に高価にする。有用なODCセットを安価に獲得す
る1方法は、ネットNのファンアウト・コーンを通じ
る、あるカット内の全てのネットのODCである条件
が、ネットNのODCでもあることを記すことによる。
図3のネット40を考慮すると、カット35'内の全て
のネットのODCである条件は、対象ネットのODCで
もある。これらの条件は前述のように、ブール・デリバ
ティブを用いて見い出され、次にカット内の全てのネッ
トを横断して、条件を論理積(AND)する。同様に、
ネットのローカルODCが、前述のように、カット35
に対して計算される。これら2つのODCセットの論理
和(OR)もまた、ネット40の有効なODCである。
論理ブロック42及び62が論理ブロック52に比較し
て小さい場合、このことはODC計算において多大な時
間を節約することができる。更に、カット35'は多く
のネット間で共用され、従って、ローカルODCだけが
各ネットに対して別途計算される必要がある。
【0034】ODCの増分的更新は前述のように、カッ
ト対を用いてODCを決定し、次に論理変更が行われる
とき、図3の"論理ブロック42"または"論理ブロック
62"内において、変更された論理を含むネットを決定
することにより計算される。一部の実施例では、完全な
ODCセットを見い出すことが必要でなく、それらのサ
ブセットを見い出せばよい。すなわち、計算が容易で非
常に多くのケースにおいて、don't careである関数を見
い出す。従って、このネットを強制するアクションが取
られるとき、その関数のサブセットをインプリメントす
ることが望ましい。換言すると、非常に複雑な関数はオ
ーバヘッドの点で高価であり、ネットを強制する論理を
構築することができない。しかしながら、単純な回路で
の信号は、95%の時間真であることが判明しており、
論理ゲートに関して、5%のコストで実現できる。従っ
て、たとえ全部のODCセットをカバーしなくても、よ
り単純な関数が構築される。なぜなら、オーバヘッドが
追加される量と、リークが低減される時間量とは、常に
トレードオフの関係にあるからである。
【0035】いずれにしても本発明の好適な実施例によ
れば、ODC状態の確率分析が実行される。各ネットに
対してその関数を見い出す、すなわち基本入力の点か
ら、任意の時刻におけるこのネットの値を見い出すこと
に加え、関数が変更されるかもしれない時期を示すOD
C関数が計算される。なぜならODCが1のときに、ネ
ットを異なる値に強制する入力が導入される場合、ネッ
トワーク振舞いは変更されないからである。これに反し
てODCが0のときに、ネットを異なる値に強制する入
力が導入される場合には、それは出力で観測でき、ネッ
トワークの関数内で不当な変化を構成し得る。
【0036】更に続けると、各ネットに対してODCを
表す関数を計算した後、ODCのスイッチング確率、す
なわちどのくらい頻繁に関数がその状態にスイッチ・イ
ンし、またその状態からスイッチ・アウトするかが決定
される。これは現状態及び次状態変数に関連して、これ
らのODCに対して生成されるBDDから計算される。
1例では、BDDが排他的論理和(XOR)されて、O
DCのスイッチング関数が獲得され、そのスイッチング
確率が決定される。
【0037】前述の追加のスイッチング情報は、ネット
を低リーク状態に強制する(リーク・パワーを低減する
が、スイッチング・パワーを増加する)ための追加の論
理遷移を導入するか、それともネットの論理状態を維持
するかを決定するために使用される。ネットが低リーク
状態に強制される場合、消費されるパワーは低リーク状
態での1サイクル当たりのリーク・パワーと、ネットが
低リーク状態に留まる期待サイクル数との積と、その状
態へ及びその状態から遷移するために要求されるスイッ
チング・パワーとの和である。低リーク状態に強制され
ない場合には、消費パワーは、1サイクル当たりの期待
パワーと(期待リーク及びスイッチング・パワーの両方
を考慮して確率的に決定される)、左記と同じサイクル
数との積である。これらの値を比較することにより、ネ
ットを低リーク状態に強制することにより、パワーが低
減されるか否かが決定される。
【0038】この第1のフェーズの終わりに当たり、各
ネットに対して4つの様々な関数が獲得される。すなわ
ち状態関数(状態)及びスイッチング確率関数(状態)
と、状態関数(ODC)及びスイッチング関数(OD
C)である。一旦全ての情報が獲得されると、試行錯誤
法により、決定された全ての情報を利用して、リークの
改善が図られる。前記の米国特許第5508937号で
述べられる増分的分析は、これらの関数の各々を更新す
るために考慮される。
【0039】特に、試行錯誤法に関して、次の分析が実
行される。すなわち、1)ランダムにネットを選択し、
2)そのODCを見い出し、3)異なるネットワークで
あり得るそのODCの様々な単純化を見い出す(作成の
ために、様々な量の論理が要求される)。見い出される
ODCは、次の所望のトレードオフ基準にもとづき、独
立に選択される。すなわち、1)ネットワークがODC
状態になる確率が最大である、2)この状態にスイッチ
・インし、この状態からスイッチ・アウトする確率が最
小である、及び3)計算が簡単であることである。例え
ば、新たな潜在的なODC関数が見い出され、その確率
が非常に低いか、そのスイッチング確率が非常に高い場
合、それはスキップされてよい(例えば、あまりに高価
と思われるので)。ODC関数が見い出されると、すな
わち、ネットが特定の状態に強制される条件が決定され
ると、ネットが1または0に強制される。例えば、信号
が信号NOT(ODC)とANDされ、または信号OD
CとNORされて、0に強制される。或いは、信号OD
CとORされ、または信号NOT(ODC)とNAND
されて1に強制される。強制論理の犠牲は、強制信号
(ODCサブセット)を生成し、信号をある値に強制す
るために追加される論理の累積消費パワー(スイッチン
グ・パワーとリーク・パワーの両方)である。変更の犠
牲/節約は、リークによるパワー変化、及び強制信号及
びそのファンアウトの変更後確率によるスイッチング変
化に、この犠牲を追加する
【0040】図4乃至図6は、単純なANDゲートの論
理状態を強制する状況を示す。図4のANDゲート70
の出力ネットに注目すると、ネットにODC関数が存在
し(ことによるとそのネットの完全なODC関数のサブ
セットである)、ODC関数が真のとき、この出力を1
に強制することが望ましいことが判断される。1は直接
ANDゲートに強制されないので、図5に示されるよう
に、ORゲート72がANDゲートの出力に配置され、
ODC関数がORゲートに供給されてANDを1に強制
する。或いは、1対の入力を有するANDゲート70の
出力を0に強制するために、図6に示されるように、O
DCがインバータ73を介してANDゲートに供給され
る。ここでインバータ73はODCを反転し、ANDゲ
ートを0に強制する。簡単な計算、高い確率、及び低ス
イッチング基準にもとづき、一旦ODCまたはそのサブ
セットが見い出されるとゲートが強制される。ここでネ
ットの出力を強制すると、幾つかの伝搬効果が生じるこ
とになる。それにより、0に強制される出力は、幾つか
の他のネットを様々な状態に強制し得、同様に出力が1
に強制される場合についても同じことが言える。増分的
分析によれば、ゲートを特定の状態(1または0)に強
制するアクションが取られると、影響される全ての確率
が再計算され、更にリーク・パワー、及びこのネットワ
ークにより消費されるスイッチング・パワーが再計算さ
れ、信号を強制する前に消費されたパワーと比較され
る。消費パワーが悪化する場合、この変化は廃棄され
る。
【0041】シミュレート化アニーリング:ネット状態
を強制するこの純粋にランダムな方法は、シミュレート
化アニーリングなどの、他のネットワーク最適化手法と
共に実施されてもよい。シミュレート化アニーリング
は、ランダム種類の最適化を実行するために使用される
汎用最適化フレームワークを提供する。これはネットの
論理状態の強制に応じて、結晶の結晶化の熱力学をシミ
ュレートし、パワー消費の観点からネットの良否を決定
する。移動が事態を良化する場合それは受け入れられ
る。しかしながら、事態が悪化する場合には、温度と呼
ばれる擬似変数の関数であるボルツマン分布に関連付け
られる確率で受け入れられる。当業者には知れるよう
に、アニーリング・シミュレーションは高温から開始
し、たくさんの悪い移動及びたくさんの良い移動が受け
入れられることが期待され、次に温度がゆっくり低下さ
れる。このプロセスが進行し、温度が下がると受け入れ
られる悪い移動が少なくなる。アニーリングに関する広
範な資料が存在する。例えば、S. Kirkpatrick、C. D.
Gelatt及びM. P. Vecchiによる"Optimization by Simul
ated Annealing"、Science、vol. 220、pp. 671-680、M
ay 1983及び本発明に従い、シミュレート化アニーリン
グがこのランダム手法と併せて使用される。
【0042】感度情報の逆方向伝搬:リークを改善する
第2の方法では、どのネットを使用するかの判断を下す
ための追加の"感度分析"が実行される。すなわち本発明
によれば、最適化プロセスを導き、潜在的なネットワー
ク変化を評価するために、各ネットについて、その出力
コーン内の論理のリークに影響する全効果を決定するこ
とが好ましい。これは概念的または文字通り、状態確率
に関するリーク・パワーのデリバティブの形式を取る。
これらの値は、論理ネットワークを通じる情報の逆方向
伝搬を通じて計算される。例えば、ANDゲートが出力
確率0.25、リーク・デリバティブD、及び各々が独
立な確率0.5を有する2入力を有する場合、各入力ネ
ットは出力ネットに影響する半分の確率しか有さないの
で、逆方向伝搬寄与度は0.5*Dである。これにネッ
トそのものによるリークが追加されなければならず、こ
れはネットが0のときと1のときとの間の、ネットのソ
ース・ゲートのリークの差である。半導体チップ上のリ
ークは、ネットそのもの内ではなく、ネットが接続され
るゲート及び他の回路を通じて発生する。特定の状態で
のネットのリークを指すとき、これはネットが接続され
る回路内のそれらの状態において発生するリークを意味
する。同様にネットの入力とは、ネットをドライブする
ゲートへの入力を意味すると理解される。
【0043】変更の選択は、可能な変更のセットから任
意の可能な変更を選択し、各々の潜在的な利点を評価す
ることにより行われる。最適化の目標において、改善を
もたらすことが期待される特定の変更が選択される。例
えば、前述のように、1)高いリーク・パワー・デリバ
ティブを有し、2)それらの状態確率を著しく変化させ
る潜在性を有し、3)提案された変形を許可する十分に
肯定的なスラック(余裕)を有するネットが選択され
る。
【0044】この追加の分析は、ランダム・アプローチ
よりもより効果的な"感度"分析である。なぜならこれは
ネットの出力が、例えばその入力(ネット)の各々が1
である確率に関連して、1である確率のデリバティブの
決定を含み、デリバティブ計算がネットワークを通じて
逆方向に伝搬するからである。例えば、特定の状態にあ
る可能性の高い特定のネットにおいて、ANDゲートが
与えられる場合、例えば出力は論理1である0.8の確
率を有し、論理0である0.2の確率を有する。これは
その入力ネットのそれぞれの確率に関連付けられる。全
体的に独立なネットでは(再収束が存在しない)、出力
が1である確率は、実際に(例えばANDゲートの)2
つの入力が1である確率の積である。なぜなら、全ての
入力が1の場合のみ、出力は1であるからである。従っ
て、入力の確率の積が総確率を提供する。同様に、これ
は逆方向に伝搬され得る。ORゲートでは、どちらかの
入力が1の場合のみ、すなわち、両方の入力とも0でな
いとき、ORゲートの出力は1である。従って、2つの
入力について出力が1である確率は、次のようになる。
すなわち、
【数1】(1−(1−第1の入力が1である確率)×(1−
第2の入力が1である確率))
【0045】1例として、ネットNのリーク・デリバテ
ィブは、Nの状態確率の変化に関連付けられるリーク・
パワーの変化として定義される。これはNをドライブす
るゲートのリークの変化だけでなく、ネットNの状態確
率の変化の結果、その入力確率が変化するネットNのフ
ァンアウト内の全てのゲートのリークの変化も含む。こ
のデリバティブを正確に計算することは、論理ネットワ
ーク内の再収束の影響により困難である。しかしなが
ら、この計算は、各ゲートについてその全ての入力に対
する変更が独立に行えると仮定することにより、効率的
に近似される(すなわち、それらの共同のファンイン・
コーン内の共通のネット上の変更によらない)。この場
合、ゲートの各入力において、ゲート出力の状態確率の
変化が計算される。これは出力ネットのリーク・デリバ
ティブの乗数倍であり、入力確率の変化によるゲート自
体のリーク・パワーの変化に追加されて、ゲート入力ピ
ンのリーク・デリバティブが求まる。最後に、ネットの
全てのシンクのリーク・デリバティブが合計され、ネッ
ト自体のリーク・デリバティブが求まる。
【0046】図7は、本発明による感度分析において使
用されるリーク・デリバティブのアプリケーションを示
す。図7において、ANDゲート80の出力確率は入力
確率の積であり(上側のゲート80の状態確率デリバテ
ィブは0.2で、下側のANDゲート82のそれは0.
9)、ネットNの状態確率に関して、2つのネットのそ
れぞれのリーク・デリバティブが計算される。すなわ
ち、それぞれ0.2*4=0.8及び0.9*(−10)
=−9.0である(図7に示されるリーク・デリバティ
ブは、ネット自体の状態確率に関する)。入力確率p1
及びp2を有するANDゲートの期待リークは、次のよ
うになる。
【数2】 期待リーク=0.1(1-p1)(1-p2)+0.8[p1(1-p2)+p2(1-p1)]+1.0p1p2 =0.1(1-p1-p2+p1p2)+0.8(p1+p2-2p1p2)+1.0p1p2 =0.1+0.7p1+0.7p2-0.5p1p2
【0047】p1に関するゲート自体のリーク・デリバ
ティブは、0.7−0.5p2である。上側のゲートの
リーク・デリバティブは、0.7−0.5*0.2=
0.6であり、下側のゲートのそれは、0.7−0.5
*0.9=0.25である。従って、ネットNの総リー
ク・デリバティブは、0.8+0.6−9.0+0.2
5=−7.35である。これはネットNのスイッチング
確率を、例えば0.4から0.3に低減すると、約0.
735単位のリーク・パワーが節約できることを示す。
【0048】これは単に真のリーク・デリバティブの近
似であるので、最適化を導くために使用される。結果は
前述のBDDベースの方法を用いるよりも正確な、増分
的パワー分析によりチェックされる。更に、ゲートへの
2つの入力の確率の変化がパワーを低減させたり、逆
に、任意のある入力自体の確率の変化がパワーを増加さ
せる場合がある。パワー最小化のためのこうした機会
は、リーク・デリバティブ法を用いて見い出されるが、
こうした変化の下流での結果が見い出されてもよい。
【0049】感度情報、すなわち、ゲートをドライブす
るその入力の各々が1である確率に関連して、信号が1
である確率のデリバティブを見い出し、逆方向に伝搬す
ることはパワー消費と相関付けられる。すなわち、駆動
ゲートの各入力に対してその入力がゲート出力値を制御
する確率(例えば、ANDゲートでは、他の全てのゲー
ト入力が1である確率)を取得し、それをネット(ゲー
ト出力)の状態確率に関するリーク・パワーのデリバテ
ィブと乗算し、次にこの結果を、入力が1のときの駆動
ゲート自体のリーク・パワーと、入力が0のときの駆動
ゲート自体のリーク・パワーとの差に加算することによ
り、より情報の豊富なリーク・デリバティブが得られ
る。期待リーク電流のデリバティブは、各ネット上の感
度測定を得るために逆方向に伝搬される。これは確率分
析にもとづく強制ネットの変化が与えられるとき、総リ
ーク電流の期待変化の計算を可能にする点で貴重であ
る。
【0050】この情報は総リーク電流の期待変化の客観
的測定が、例えば信号を強制するために必要な論理を追
加する犠牲と比較される点で貴重である。従って、潜在
的なネットワーク変更を選択する試行錯誤アプローチを
取るのではなく、本発明の分析フェーズは感度分析を含
み、感度に従い、ネットを通じて分類する追加のステッ
プを要求する。こうしてローカル推定が状態確率及びス
イッチング確率の期待変化から求められる。例えば、
(反転)ODC関数と特定のネットの状態関数とのAN
Dを取り、新たなスイッチング確率及び状態確率を局所
的に見い出し、次に感度情報を用いて局所変化の伝搬効
果を推定する。ODC関数とネットのオリジナル状態関
数との間には、相関が有り得るので、単に状態確率に反
転ODC関数の確率を乗じるのではなく、このANDさ
れた関数の確率を計算することが好ましい。この期待変
化に設計の各ネットのリーク・デリバティブを乗し、そ
れらを分類し、最初に最善のネットを取り出することが
純粋にランダムなアプローチの改善である。
【0051】この時点で、分析はODCを用いて論理が
強制され、スイッチング確率に関連してリークが低減さ
れる、ネットワーク内の位置の決定を含む。ODCを決
定する分析は、更に次の基準にもとづくトレードオフに
もとづく。すなわち、1)ODC状態にある確率を最大
化する、2)この状態にまたは状態からスイッチ・イン
及びスイッチ・アウトする(高価である)確率を最小化
する、及び3)計算の単純化であり、好適には、論理を
強制する良い場所を見い出すために分析において感度が
使用される。或いは、幾つかのネットをランダムに試
し、最善のネットを拾い出すより単純な貪欲な方法が実
行される。これはまた、ここで述べられるシミュレート
化アニーリング手法に従い実行されてもよい。
【0052】この分析にもとづくこれらの方法の1つ、
例えば試行錯誤法が、これらの摂動の1つを試行し、結
果を測定する。すなわちこの方法の適用の結果が、ネッ
ト位置において固定状態を強制する場合、次のステップ
は例えば、1)到来した信号をゲートする、例えばその
位置に追加のORゲートを配置する(外部論理に配置す
る)こと、または2)そのことにより対象ゲートを置換
し、従って追加の入力を有することとの間のトレードオ
フを評価する。ゲート化論理の配置を要求する第1のケ
ースでは、論理の挿入が信号の遅延に影響し、信号の到
来時刻に応じて他の伝搬信号の遅延にも影響し得る。論
理の挿入が信号の遅延に影響する場合、この影響及び、
遅延、パワー消費、ノイズなどの点で、その総性能的犠
牲を緩和する他の変化がトリガされてもよい。或いは、
余分な入力を有するネットにおいて、第1のゲートの置
換を要求する第2のケースでは、例えば、ゲートの特性
を示す関連ライブラリ素子が保持される。例えば、2入
力NANDゲートでは、余分な入力を有する関連3入力
NANDゲート・ライブラリ素子が保持される。この結
果、ゲートの置換は同じ利点を提供し得るが、遅延また
はパワー消費などは減少し、より良い代替実施例とな
る。従って設計においてパワーを低減する目的に加え、
例えばチップ全体内で最も遅いパスが、そのチップ全体
の実行速度を制限するという意味で、性能の制約が評価
されなければならない。外部タイミング要求を満足しな
ければならない、すなわち、少なくともその速度が維持
されなければならないチップ性能が指定されてもよい。
換言すると、チップ遅延がこれらの要求を満足しない場
合、チップは技術的に機能しない。同様に、ノイズ分析
などの他の領域においても、満足されなければならない
制約が存在したり、特定の状況の下でチップが機能しな
いかもしれない。従って、こうした機能制約に従い、パ
ワー最小化が実施されなければならない。
【0053】アルゴリズム:図8は、本発明の原理に従
う論理システム設計方法を概念的に示すブロック図であ
る。本発明の好適な実施例に従う方法200は、操作さ
れるネット・リストを入力する第1のステップを含む。
次にステップ204で示されるように、追加のステップ
が、状態スイッチング、ODC関数、及び確率の計算を
要求し、ステップ206で、全体としてのネットワーク
の初期パワー計算を行う。次にステップ210で関数を
保持しながら、ネットに論理変更を強制する。これは例
えば、ネットを強制する1つ以上の場所を選択するステ
ップと、バッファリングするステップと、クローン化す
るステップとを要求する。より詳細には、加えられる変
更のタイプは、多くの従来の論理合成変更を含む。これ
らには、例えば、1)論理信号の極性の変更、2)ゲー
トのファクタリング、3)ゲートのクローン化(ゲート
のコピーを生成し、そのファンアウトをオリジナルとコ
ピーとの間で分配する)、4)バッファの追加、5)"
再配線(rewiring)"変形の実行(ゲートへの論理信号
の冗長な接続の追加及び削除)、6)"同期化(retimin
g)"変形の実行(論理アクセス・ラッチ境界の移動)が
含まれる。物理情報(例えばブロック配置)の存在の下
で、論理合成機能が実行される場合、変更は更に、7)
新たな位置へのゲートの移動、及び8)ネットの経路指
定の変更を含み得る。これらに加え、特にリーク・パワ
ーの低減を目的とした新たなタイプの変更が実施され、
それらには、9)ネット値がdon't careのとき、ネット
をその低リーク状態に強制するゲートの追加、及び1
0)所与の状態においてマスタ/スレーブ・ラッチの出
力がdon't careの場合、スレーブ・ラッチを最低リーク
・パワー状態に強制することなどが含まれる。余分な状
態がネットワークの順次振舞いに追加され、ラッチ値が
次に必要とされる前に、(マスタ・ラッチに記憶され
る)適正な論理値を1サイクルまたは半サイクル内にス
レーブ内に強制する。また、11)ゲート出力がdon't
careのとき、余分なトランジスタを高リーク・パスに直
列に配置する余分な入力がゲートに追加される。例えば
ハイであるNORゲートは、リークが発生する2つの並
列NFETを有する。ゲートを2−1OAI(or-and-i
nvertゲート)に変換し、余分なANDにゲートの出力
がdon't careでないときハイとなる入力を追加すること
により、ゲートにおけるリークが低減される。
【0054】あるケースでは、論理ネットワークの大き
な部分(多数のネット)が、同時にかなりの時間スリー
プ状態であり得る。これは例えば、未使用時に機能ユニ
ット(例えばマルチプレクサ)がオフされる場合などに
しばしば見受けられる。こうしたケースでは、変更タイ
プとして、変更セットを考慮することにより、より高機
能な選択が行われ得る。これにより変更の間の相互作用
が加味される。これは次のステップにより行われる。
【0055】ステップ1:リーク電流が低減されるべき
サブネットワークを見い出す。サブネットワークの出力
は、比較的長い時間安定である高い確率を有するdon't
care関数を共用するべきである。1例は、体系的にスリ
ープ状態に強制される機能ユニットの全ての出力であ
る。こうしたサブネットワークはまた、共通カットセッ
ト内の全てのネットのODCのANDが1となる高い確
率を有するように、サブネットワークの全ファンアウト
をインタセプトする共通のカットセットを見い出すこと
によっても見い出される。例えば、図3において、サブ
ネットワークは、ファンアウトがカット35'により完
全にインタセプトされる全てのネット及びブロックを含
むように定義される。サブネットワークの入力はラッチ
か、論理値が強制される中間信号である。
【0056】ステップ2:各サブネット入力上の値を独
立に0及び1に強制するために、どちらが最低リークを
与えるかを判断する(すなわち一時的に入力を各値に強
制する)。これはサブネットワーク入力の数の2倍に等
しい、多数のパターン・アプリケーションを要求する
(サブネットワーク入力が既にある値に強制されている
場合、信号はその反対の値に強制される必要があるだけ
である)。値の変化の強制がパワーを低減しない場合、
または入力を強制するために要求される追加の論理の犠
牲が達成される利点を上回る場合、アプリケーションが
実施され、所望の低リーク状態が見い出される。それ以
外では、アプリケーションは最も有利な入力を、最大の
利点をもたらすと決定された値に強制する。
【0057】ステップ3:改善が見い出されなくなるま
で、ステップ2を繰り返す。
【0058】これらのステップの詳細が、図9乃至図1
2に関連して述べられる。図9は、4つの入力a、b、
c、及びdを有する論理ネットワーク100を示す。こ
れらの入力から発する共有領域102、104、106
及び108は、入力のそれぞれのファンアウト・コーン
を表す。図示のように、入力a及びbのファンアウト・
コーンはオーバラップし、入力b及びcのファンアウト
・コーンについても同様である。この例では、低リーク
・ベクトルの探索は、全ての入力を0にセットすること
により開始され、入力を1または0にセットする強制す
る犠牲は、0と仮定される。より一般的なケースでは、
これらの信号は既に、例えば前述のBDD法により決定
される状態確率を有し、関連する犠牲を伴う追加の論理
が、各入力を強制するために要求される。最も単純なア
プローチでは、図10に示されるように、各それぞれの
入力について、その入力が単独で変化した場合、全体パ
ワーの変化が決定される。次に、最大のパワー低減を示
す入力(図10で丸印で囲まれる)が選択され、その入
力が変更される。このプロセスは、ステップ4で、もは
やパワー改善が不可能になるまで繰り返される。
【0059】この方法の変形が図11に示され、ここで
はそのファンアウト・コーンがオーバラップしない入力
のクラスタを見い出す。ステップ2での有向探索の一部
が、様々なサブネットワーク入力及びラッチのファンア
ウト・コーンの間のオーバラップを決定することにより
並列に実行される。値を1つずつ強制する代わりに、フ
ァンアウト・コーンがオーバラップしない、従って、リ
ーク・パワーへの影響が相互作用しない任意の個数の値
が強制されてもよい。これは前もって入力を非オーバラ
ップ・コーンに区分化し、各区分から強制すべき高々1
入力を選択することにより行われる。この例では、第1
のクラスタが入力a、b、cを含み、第2のクラスタが
入力dだけを含む。前述のように、各基本入力に対して
パワー変化が見い出されるが、最善のパワー低減を提供
する各クラスタからの入力が選択される。図11に示さ
れる例では、第1のクラスタから入力cが選択され、第
2のクラスタから入力dが選択され、これらが同時に変
化される。このアプローチは以降、パワー低減が不能に
なるまで繰り返される。図11に示されるように、ステ
ップ3では、可能な全ての変化がパワーを増加させる。
【0060】或いは、同時に強制され得る入力の最も大
きなセットを表す最大1つの色分け可能セット(one-co
lorable set)を見い出すために、より高機能なグラフ
色分けアルゴリズムが使用される。こうした色分けアル
ゴリズムは、検討中の各入力を強制することにより生成
されるリーク低減量により重みづけされる。従って、図
12に示されるように、入力のグラフが作成され、ここ
でファンアウト・コーンがオーバラップしない任意の入
力対の間にエッジが存在する。再度、各基本入力に対す
るパワー変化が決定される。その変化がパワーを低減す
る入力に対応するノードだけを含む、サブグラフの最大
独立サブセットが見い出される。最大の独立セットは、
最大の総重みを有するノードのセットであり(重みはノ
ードを変化させることにより可能なパワー低減量であ
る)、これはグラフ色分けアルゴリズム(graph colori
ng algorithm)により、単色で色分けされる。図12に
示される例では、パワー低減を示す全ての入力は独立で
あり、従って同時に変化され得る。この最大独立セット
内の全てのノードは変化され、プロセスはステップ2
で、もはやパワー低減が不能になるまで繰り返される。
【0061】或いは、衝突マトリックスを作成すること
により、オーバラップが決定されてもよい。衝突マトリ
ックスでは、2つのサブネットワークの入力のファンア
ウト・コーンがオーバラップするとき、"1"が入力され
る。次に、貪欲な方法により、同時に強制する入力のセ
ットの選択が行われる。パワーを低減する最初の入力
が、強制すべき入力として選択され、その後、強制され
る入力のセットに、ファンアウトがこれまでに追加され
た入力とオーバラップしない全ての入力が、1つずつ追
加される。
【0062】別の実施例では、強制を受けない信号確率
から開始するのではなく、サブネットワークの入力上の
強制値のランダムに決定されたセットから開始すること
が可能である。様々なこうしたランダム開始ポイントが
使用され、前述のように、有向探索が各々から実行され
る。このことは問題の空間において局所極小を回避する
支援となる。シミュレート化アニーリング法はまた、前
述の探索に適用され、局所極小を回避する。
【0063】図8に戻り、変更によりネットを強制した
後、次のステップ212では、確率、関数、及びパワー
計算などを更新する。次にステップ214で、許容可能
な性能基準、すなわち、遅延、ノイズ、パワー消費など
に従い、論理変更を保持する提案された関数を受諾する
か、或いは拒否するかを決定する。次にステップ220
では、移動が総合的な犠牲を低下させる場合、提案され
た論理変更が受諾され、この場合、強制される論理変更
が設計において実施される。それ以外では、ステップ2
22で、提案された変更が拒否され、この場合には設計
変更が行われない。提案された変更が受諾または拒否さ
れた後、プロセスはステップ230に進み、ここで追加
の変更が加えられるべきか否かが判断される。この判断
は、例えば、設計目標が満足されたか否か、或いは、プ
ロセスのランタイムが指定限度値に達したか否か、また
は過去の何度かの繰り返しを通じて、意味のある改善が
成されたか否かを確認することなどにより下される。更
に追加の変更が行われるべきと判断される場合、プロセ
スは終了する。それ以外では、プロセスはステップ21
0にループして戻り、論理変更を保持する新たな関数が
生成される。
【0064】次に、本方法全体の適用例について述べる
ことにする。図13は、本方法が適用される論理ネット
ワーク150を示す。各ネット、例えばネットX、Y、
Z、Q、Rは、シンクの数及び総配線長に関連付けられ
るサイズ(キャパシタンス)を有する。各ゲート、例え
ばゲートGX、GY、GZ、GQ、GRもまた、その出
力ネットのサイズ、及びそのタイミング要求に関連付け
られるサイズを有する(例えばタイミング要求が厳しい
ゲートほど長い)。各ネットのスイッチング・パワー
は、1/2fpCV2である。ここでfはクロック周波
数、pはネット・スイッチング確率、Cはネット・キャ
パシタンス、Vは供給電圧である。これはネット・キャ
パシタンス及びスイッチング確率に比例する。各ゲート
のリーク・パワーはゲート・サイズに比例する。論理ネ
ットワーク150に使用されるゲートのリーク・パワー
が、図15乃至図17の表に示される。各ゲートの値
は、その状態が発生する確率と乗算され、合計がゲート
・サイズと乗算されて、期待平均ゲート・リーク・パワ
ーが得られる。ネット・スイッチング・パワーは、ネッ
ト・サイズにスイッチング・パワーを乗算した結果の1
00倍として計算される。
【0065】ネット150の基本入力A乃至Eにおける
信号(状態)確率が、図18に示され、一般にシステム
・レベルのシミュレーションから導出される。スイッチ
ング確率、すなわち、信号が所与の連続サイクル対の間
で1から0に、または0から1に変化する確率が更に各
信号に対して決定される。同様に、各ゲートに対して異
なるリーク・パワーを生じる各入力条件の確率が決定さ
れる。これは前述のように、BDDにもとづく方法によ
り行われる。1例として、ネットXのBDD及びノード
確率が図19及び図20に示される。各ネットの確率及
び結果のスイッチング・パワーが、図21に示される。
各ゲートの確率及び結果のリーク・パワーが、図22及
び図23に示される。これらから、ネットワークの総期
待平均リーク・パワーは、13.0033となる。
【0066】ゲートGZは最も大きなリーク・パワーを
有するので、ODCがネットZについて生成され、リー
クを低減するために、ゲートZへの別の入力が追加され
るか否かを確認するために使用される。ゲートZのOD
Cは、NOT(A) OR (NOT(B) AND NOT(C))とな
り、Q及びRのZに関して、ブール・デリバティブ(Z
の全てのファンアウトを通るカットを形成する)を得る
ことにより決定され、この条件が真である確率は0.9
25である。この関数を表す信号は、論理ネットワーク
内に存在しないが、信号Aの反転がODC(Z)のサブ
セットであることが見い出される。BDDは、関数J AN
D NOT(K)を計算することにより、信号Jが信号Kのサ
ブセットであるか否か(すなわちJがKを暗黙指定す
る)を判断するために容易に使用される。この関数が常
に偽の場合、JはKの有効なサブセットである。図13
の論理ネットワーク150の例に戻り、信号Aは1であ
る低い確率(従ってその反転は1である高い確率を有す
る)、及びスイッチングの低い確率を有するので、リー
クを低減するための良い候補である。ネットの有効なO
DC(またはサブセット)の反転を、そのネットをドラ
イブするANDまたはNANDゲートへの入力として追
加することが受け入れ可能であるので、AをゲートGZ
への追加の入力として追加する試行が行われる。結果の
ネットワーク150'が図14に示される。この変更さ
れたネットワークにおける、各ネットの確率及び結果の
スイッチング・パワーが図24に示される。この変更さ
れたネットワークにおける、各ゲートの確率及び結果の
リーク・パワーが、図25乃至図27に示される。ネッ
トワークの総期待パワーは、10.48715であり、
これはオリジナル(この例では、リーク・パワー及びス
イッチング・パワーの両方の低減を含む)よりも小さい
ので、変更が保存される。
【0067】以上、本発明は特にその好適な実施例につ
いて述べられてきたが、当業者であれば、前述の実施例
の変更及び他の変更が、本発明の趣旨及び範囲から逸れ
ることなく可能であることが理解できよう。
【0068】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0069】(1)複数のネットを含む論理ネットワー
クのリーク・パワーを低減する方法であって、 a)前記論理ネットワーク内の1つ以上の第1のネット
の可観測性don't care(ODC:observability don't
care)情報を決定するステップであって、前記ODC情
報が、前記第1のネットにおける入力値が前記論理ネッ
トワークの出力値に影響しない前記入力値のセットを表
し、前記ODC情報が、前記論理ネットワークの前記第
1のネットのスリープ状態を識別するために使用され、 b)識別された前記スリープ状態の少なくとも1つの少
なくとも一部の間に、前記第1のネットから選択された
少なくとも1つのネットを、特定の値に強制するシミュ
レーションを実行し、期待パワー消費が低減される少な
くとも1つのネットを決定する確率的分析を実行するス
テップと、 c)前記期待パワー消費が低減されるとき、前記スリー
プ状態部分の間に、選択された前記ネットを前記特定の
値に強制するステップとを含む、方法。 (2)前記確率的分析を実行するステップが、1つ以上
の選択されたネットの各々が第1の論理状態であり、そ
れぞれの第1のリーク・パワー特性値を有する確率と、
選択された前記ネットの各々が第2の論理状態であり、
それぞれの第2のリーク・パワー特性値を有する確率と
を決定するステップと、選択された前記ネットの各々に
対して、前記第1の状態のパワー・リークをそのそれぞ
れの第1の状態確率値と乗算し、前記第2の状態のパワ
ー・リークをそのそれぞれの第2の状態確率値と乗算す
るステップと、選択された前記ネットに対して、結果の
リーク・パワーを推定するステップとを含む、前記
(1)記載の方法。 (3)選択された前記ネットの各々が、それぞれのネッ
トをドライブする少なくとも1つのゲート素子の少なく
とも1つの論理入力を供給し、前記方法が、前記ゲート
素子の入力における更新された確率にもとづき、論理変
更のファンアウト・コーン内のネットの確率を再計算す
るステップを含む、前記(2)記載の方法。 (4)前記確率的分析を実行するステップが、選択され
た各ネットに対して、前記ネットが第1の論理状態から
第2の論理状態に、或いは第2の論理状態から第1の論
理状態にスイッチする確率を計算するステップと、選択
された各ネットが特定の状態になるであろう期間を決定
するステップと、選択された各ネットの結果のパワーを
推定するステップとを含む、前記(2)記載の方法。 (5)前記ODC情報を決定するステップが、ODCの
スイッチング確率を決定するステップを含む、前記
(2)記載の方法。 (6)前記ステップb)において、特定の値に強制され
る少なくとも1つのネットの選択が、1つ以上の基準、
すなわち、選択された前記ネットがODC状態にある確
率が最大であるか否か、及び選択された前記ネットがこ
の状態にスイッチ・イン及びスイッチ・アウトする確率
が最小であるか否かにもとづく、前記(5)記載の方
法。 (7)選択されたネットを特定の値に強制するシミュレ
ーションを実行する前記ステップb)が、前記ネットへ
の入力における論理信号の極性を変更するステップを含
む、前記(5)記載の方法。 (8)選択されたネットを特定の値に強制するシミュレ
ーションを実行する前記ステップb)が、ゲートをファ
クタリングするステップを含む、前記(5)記載の方
法。 (9)選択されたネットを特定の値に強制するシミュレ
ーションを実行する前記ステップb)が、ゲートのコピ
ーを生成し、そのファンアウトをオリジナル・ネットと
コピー・ネットとの間で分配するステップを含む、前記
(5)記載の方法。 (10)選択されたネットを特定の値に強制するシミュ
レーションを実行する前記ステップb)が、1つ以上の
バッファを追加するステップを含む、前記(5)記載の
方法。 (11)選択されたネットを特定の値に強制するシミュ
レーションを実行する前記ステップb)が、ゲートへの
論理信号の冗長な接続を追加及び削除するステップを含
む、前記(5)記載の方法。 (12)選択されたネットを特定の値に強制するシミュ
レーションを実行する前記ステップb)が、前記ネット
値がdon't careのとき、前記ネットを低リーク状態に強
制する回路を入力に追加するステップを含む、前記
(5)記載の方法。(13)前記方法が、 選択された各ネットに対して、状態確率に関連してリー
ク・パワーのデリバティブを計算することにより、変更
がその出力コーン内の論理のリークに与える総効果を決
定するステップを含み、ネットの前記リーク・デリバテ
ィブが、前記ネットの状態確率の変化に関連付けられる
リーク・パワーの変化を表し、デリバティブ計算を前記
ネットワークを通じて逆方向に伝搬させ、実行するステ
ップを含む、前記(5)記載の方法。 (14)期待パワー消費が低減されるネットを決定する
前記ステップが、パワー消費節約の決定を含み、前記方
法が、強制されるネットのファンアウト・コーン内の回
路のパワー消費への影響を考慮するステップを含む、前
記(3)記載の方法。 (15)期待パワー消費が低減されるネットを決定する
前記ステップが、選択されたネットを、決定された値に
強制するために使用される前記回路により要求されるパ
ワー消費を考慮するステップを含む、前記(12)記載
の方法。 (16)選択されたネットを強制する前記ステップc)
に続き、前記ODC及び確率情報を更新するステップ
d)を実行し、所定の条件が満足されるまで、ステップ
b)からd)を繰り返すステップを含む、前記(1)記
載の方法。 (17)前記スリープ状態部分が、全ての有効なスリー
プ状態のサブセットを含み、前記スリープ状態部分の計
算が単純に計算される、前記(6)記載の方法。 (18)前記スリープ状態部分の決定が、前記論理ネッ
トワークがスリープ状態の決定部分にある確率を最大化
するステップを含む、前記(1)記載の方法。 (19)前記スリープ状態部分の決定が、前記論理ネッ
トワークがスリープ状態の決定部分に留まる時間を最大
化するステップを含む、前記(1)記載の方法。 (20)前記スリープ状態部分の決定が、スリープ状態
の決定部分がスリープ状態の一部でもあるネットの数を
最大化するステップを含む、前記(1)記載の方法。 (21)異なるスリープ状態部分の間に、選択されたネ
ットが異なる状態に強制されるようにODC状態が区分
化される、前記(1)記載の方法。 (22)前記強制するステップが、幾つかのネットを同
時に論理値に強制するステップを含み、前記強制するス
テップが、各ネットを論理0及び論理1の両方に独立に
設定し、各設定において期待パワー消費の変化を決定す
るステップと、最大パワー節約を与える状態に強制され
る少なくとも1つのネットを選択するステップと、所定
の条件が満足されるまで、前記設定及び選択ステップを
繰り返すステップとを含む、前記(20)記載の方法。 (23)前記選択するステップが、オーバラップしない
ファンアウト・コーンを有するネットのセットを選択す
るステップを含む、前記(22)記載の方法。 (24)複数のネットを含む論理ネットワークのリーク
・パワーを低減する方法であって、 a)前記論理ネットワーク内のネットの状態関数、スイ
ッチング関数及びそれらの確率を計算し、前記論理ネッ
トワークのネットのスリープ状態、及びその確率を識別
するために使用される可観測性don't care(ODC:ob
servability don't care)関数を計算するステップと、 b)1つ以上の前記ネットの初期パワー・リーク計算を
計算するステップと、 c)前記1つ以上のネットの、少なくとも1つの選択さ
れたネットの論理変更を保持する1つ以上の関数を決定
し、スリープ状態の少なくとも一部の間に、前記選択さ
れたネットを特定の値に強制する前記論理変更をシミュ
レートするステップと、 d)前記論理ネットワークの選択されたネットに対し
て、前記状態関数、スイッチング関数、及びODC関数
を更新し、前記論理変更に照らして、これらの確率を更
新するステップと、 e)前記選択されたネットの強制の結果生じる、該ネッ
トのパワー・リーク変化を計算するステップと、 f)受け入れ可能な性能基準に従い、前記論理変更を保
持する前記関数を受け入れるか拒否するかを決定するス
テップとを含む、方法。 (25)前記決定するステップが、受け入れ可能な性能
基準が満足されるまで、前記ステップc)乃至f)を繰
り返すステップを含む、前記(24)記載の方法。 (26)前記受け入れ可能な性能基準が前記ネットワー
クのパワー消費を含む、前記(25)記載の方法。 (27)前記受け入れ可能な性能基準が前記ネットワー
クを通じる信号伝搬遅延を含む、前記(25)記載の方
法。 (28)前記受け入れ可能な性能基準が前記ネットワー
ク内のノイズ・レベルを含む、前記(25)記載の方
法。 (29)前記ステップc)における、特定の値に強制さ
れる少なくとも1つのネットの選択が、1つ以上の基
準、すなわち、選択された前記ネットがODC状態にあ
る確率が最大であるか否か、及び選択された前記ネット
がこの状態にスイッチ・イン及びスイッチ・アウトする
確率が最小であるか否かにもとづく、前記(24)記載
の方法。 (30)選択ネットを特定の値に強制する論理変更を保
持する1つ以上の関数を決定する前記ステップc)が、
前記ネットへの入力において、論理信号の極性を変更す
るステップと、前記ネットワークのゲートをファクタリ
ングするステップと、ゲートのコピーを生成し、そのフ
ァンアウトをオリジナル・ネットとコピー・ネットとの
間で分配するステップと、1つ以上のバッファを追加す
るステップと、ゲートへの論理信号の冗長な接続を追加
及び削除するステップとを含む、グループから選択され
る1つ以上のステップを含む、前記(24)記載の方
法。 (31)選択ネットを特定の値に強制する論理変更を保
持する1つ以上の関数を決定する前記ステップc)が、
前記ネット値がdon't careのとき、前記ネットを低リー
ク状態に強制する回路を入力に追加するステップを含
む、前記(24)記載の方法。 (32)前記方法が、選択された各ネットに対して、状
態確率に関連してリーク・パワーのデリバティブを計算
することにより、変更がその出力コーン内の論理のリー
クに与える総効果を決定するステップを含み、ネットの
前記リーク・デリバティブが、前記ネットの状態確率の
変化に関連付けられるリーク・パワーの変化を表し、デ
リバティブ計算を前記ネットワークを通じて逆方向に伝
搬させ、実行するステップを含む、前記(24)記載の
方法。 (33)期待パワー消費が低減されるネットを決定する
前記ステップが、パワー消費節約の決定を含み、前記方
法が、強制されるネットのファンアウト・コーン内の回
路のパワー消費への影響を考慮するステップを含む、前
記(31)記載の方法。 (34)期待パワー消費が低減されるネットを決定する
前記ステップが、選択されたネットを決定された値に強
制するために使用される前記回路により要求されるパワ
ー消費を考慮するステップを含む、前記(31)記載の
方法。 (35)前記スリープ状態部分が、全ての有効なスリー
プ状態のサブセットを含み、前記スリープ状態部分の計
算が単純に計算される、前記(29)記載の方法。 (36)前記スリープ状態部分の決定が、前記論理ネッ
トワークがスリープ状態の決定部分にある確率を最大化
するステップを含む、前記(24)記載の方法。 (37)前記スリープ状態部分の決定が、前記論理ネッ
トワークが一旦スリープ状態の決定部分に入力したと
き、該決定部分に留まる時間を最大化するステップを含
む、前記(24)記載の方法。 (38)複数のネットを含む論理ネットワークのリーク
・パワーを低減する方法を実行する、マシンにより実行
可能な命令のプログラムを有する、前記マシンにより読
取り可能なプログラム記憶装置であって、前記方法が、 a)前記論理ネットワーク内の1つ以上の第1のネット
の可観測性don't care(ODC:observability don't
care)情報を決定するステップであって、前記ODC情
報が、前記第1のネットにおける入力値が前記論理ネッ
トワークの出力値に影響しない入力値のセットを表し、
前記ODC情報が、前記論理ネットワークの前記第1の
ネットのスリープ状態を識別するために使用され、 b)識別された前記スリープ状態の少なくとも1つの少
なくとも一部の間に、前記第1のネットから選択された
少なくとも1つのネットを、特定の値に強制するシミュ
レーションを実行し、期待パワー消費が低減される少な
くとも1つのネットを決定する確率的分析を実行するス
テップと、 c)前記期待パワー消費が低減されるとき、前記スリー
プ状態部分の間に、選択された前記ネットを前記特定の
値に強制するステップとを含む、方法。 (39)前記確率的分析を実行するステップが、1つ以
上の選択されたネットの各々が第1の論理状態であり、
それぞれの第1のリーク・パワー特性値を有する確率
と、選択された前記ネットの各々が第2の論理状態であ
り、それぞれの第2のリーク・パワー特性値を有する確
率とを決定するステップと、選択された前記ネットの各
々に対して、前記第1の状態のパワー・リークをそのそ
れぞれの第1の状態確率値と乗算し、前記第2の状態の
パワー・リークをそのそれぞれの第2の状態確率値と乗
算するステップと、選択された前記ネットに対して、結
果のリーク・パワーを推定するステップとを含む、前記
(38)記載の方法。 (40)選択された前記ネットの各々が、それぞれのネ
ットをドライブする少なくとも1つのゲート素子の少な
くとも1つの論理入力を供給し、前記方法が、前記ゲー
ト素子の入力における更新された確率にもとづき、論理
変更のファンアウト・コーン内のネットの確率を再計算
するステップを含む、前記(39)記載の方法。 (41)前記確率的分析を実行するステップが、選択さ
れた各ネットに対して、前記ネットが第1の論理状態か
ら第2の論理状態に、或いは第2の論理状態から第1の
論理状態にスイッチする確率を計算するステップと、選
択された各ネットが特定の状態になるであろう期間を決
定するステップと、選択された各ネットの結果のパワー
を推定するステップとを含む、前記(40)記載の方
法。 (42)前記ODC情報を決定するステップが、ODC
のスイッチング確率を決定するステップを含む、前記
(39)記載の方法。 (43)前記ステップb)において、特定の値に強制さ
れる少なくとも1つのネットの選択が、1つ以上の基
準、すなわち、選択された前記ネットがODC状態にあ
る確率が最大であるか否か、及び選択された前記ネット
がこの状態にスイッチ・イン及びスイッチ・アウトする
確率が最小であるか否かにもとづく、前記(42)記載
の方法。 (44)選択されたネットを強制する前記ステップc)
に続き、前記ODC及び確率情報を更新するステップ
d)を実行し、所定の条件が満足されるまで、ステップ
b)からd)を繰り返すステップを含む、前記(38)
記載の方法。 (45)前記スリープ状態部分が、全ての有効なスリー
プ状態のサブセットを含み、前記スリープ状態部分の計
算が単純に計算される、前記(44)記載の方法。 (46)パワー消費が低減された集積回路素子であっ
て、ネットにおける入力値のセットが、論理ネットワー
クの出力値に影響しないスリープ状態を取り得る、1つ
以上のネットを含む論理ネットワークを含み、少なくと
も1つの前記ネットが、確率的分析により予め決定され
た低パワー消費を示すように、特定の値に強制され、前
記論理ネットワーク内の素子が、期待パワー消費が低減
されるスリープ状態の間に、選択された前記ネットを前
記特定の値に強制する集積回路素子。
【図面の簡単な説明】
【図1】図1は、ネット機能の時刻X0 1及びXT 1におけ
る信号スイッチング確率変化を示すBDDツリー構造を
示す図である。
【図2】論理ブロックを有する論理ネットワーク内にお
いて、OCDが計算される対象となるネットからの全て
のパスをインタセプトするカットを定義する方法を示す
図である。
【図3】論理ブロックを有する論理ネットワーク内にお
いて、OCDが計算される対象となるネットからの全て
のパスをインタセプトするカットを定義する方法を示す
図である。
【図4】単純なANDゲートの論理状態を強制する状況
を示す図である。
【図5】単純なANDゲートの論理状態を強制する状況
を示す図である。
【図6】単純なANDゲートの論理状態を強制する状況
を示す図である。
【図7】本発明による感度分析において使用されるリー
ク・デリバティブのアプリケーション例を示す図であ
る。
【図8】本発明の原理に従う論理システム設計方法を概
念的に示すブロック図である。
【図9】図10乃至図12に従い、低リーク・ベクトル
探索において使用される論理ネットワーク100を示す
図である。
【図10】第1の探索アプローチに従い、図9のネット
ワークにおいて見い出される低リーク・ベクトルの結果
を示す図である。
【図11】クラスタリング・アプローチに従い、図9の
ネットワークにおいて見い出される低リーク・ベクトル
の結果を示す図である。
【図12】グラフ色分けアプローチに従い、図9のネッ
トワークにおいて見い出される低リーク・ベクトルの結
果を示す図である。
【図13】本発明の方法に従い実行される確率的分析の
対象となる論理ネットワーク150を示す図である。
【図14】本発明の方法を適用により、リーク・パワー
の低減のために設計された、図13のネットワークに対
応する結果の論理ネットワーク150'を示す図であ
る。
【図15】図13の論理ネットワーク150において使
用されるゲートのリーク・パワー・テーブルを示す図で
ある。
【図16】図13の論理ネットワーク150において使
用されるゲートのリーク・パワー・テーブルを示す図で
ある。
【図17】図13の論理ネットワーク150において使
用されるゲートのリーク・パワー・テーブルを示す図で
ある。
【図18】図13の論理ネットワーク150の基本入力
A−Eに関する信号(状態)確率を示す図である。
【図19】図13の論理ネットワーク150のネットX
のBDD及びノード確率を示す図である。
【図20】図13の論理ネットワーク150のネットX
のBDD及びノード確率を示す図である。
【図21】図13の論理ネットワーク150内で示され
る各ネットの確率及び結果のスイッチング・パワーを示
す図である。
【図22】図13の論理ネットワーク150の各ゲート
の確率及び結果のリーク・パワーを示す図である。
【図23】図13の論理ネットワーク150の各ゲート
の確率及び結果のリーク・パワーを示す図である。
【図24】図14の変更ネットワーク150'内の各ネ
ットの確率及び結果のスイッチング・パワーを示す図で
ある。
【図25】図14の変更ネットワーク150'の各ゲー
トの確率及び結果のリーク・パワーを示す図である。
【図26】図14の変更ネットワーク150'の各ゲー
トの確率及び結果のリーク・パワーを示す図である。
【図27】図14の変更ネットワーク150'の各ゲー
トの確率及び結果のリーク・パワーを示す図である。
【符号の説明】
10、100、150 論理ネットワーク 11 BDDツリー構造 12 最左端分岐 13 最右端分岐 16 分岐 18 パス 35 カット 40 対象ネット 70、80、82 ANDゲート 72 ORゲート 73 インバータ 102、104、106、108 共有領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・エム・コーン アメリカ合衆国05477、バーモント州リッ チモンド、ダクスバリー・ロード 20 (72)発明者 アルバー・エイ・ディーン アメリカ合衆国05452、バーモント州エセ ックス・ジャンクション、アスペン・ドラ イブ 28 (72)発明者 デビッド・ジェイ・ハサウェイ アメリカ合衆国05490、バーモント州アン ダーヒル・センター、プレザント・バレ ー・ロード 295 (72)発明者 セバスチャン・ティ・ベントローン アメリカ合衆国05403、バーモント州サウ ス・バーリントン、バトラー・ドライブ 38 Fターム(参考) 5B046 AA08 BA03 JA04

Claims (46)

    【特許請求の範囲】
  1. 【請求項1】複数のネットを含む論理ネットワークのリ
    ーク・パワーを低減する方法であって、 a)前記論理ネットワーク内の1つ以上の第1のネット
    の可観測性don't care(ODC:observability don't
    care)情報を決定するステップであって、前記ODC情
    報が、前記第1のネットにおける入力値が前記論理ネッ
    トワークの出力値に影響しない前記入力値のセットを表
    し、前記ODC情報が、前記論理ネットワークの前記第
    1のネットのスリープ状態を識別するために使用され、 b)識別された前記スリープ状態の少なくとも1つの少
    なくとも一部の間に、前記第1のネットから選択された
    少なくとも1つのネットを、特定の値に強制するシミュ
    レーションを実行し、期待パワー消費が低減される少な
    くとも1つのネットを決定する確率的分析を実行するス
    テップと、 c)前記期待パワー消費が低減されるとき、前記スリー
    プ状態部分の間に、選択された前記ネットを前記特定の
    値に強制するステップとを含む、方法。
  2. 【請求項2】前記確率的分析を実行するステップが、 1つ以上の選択されたネットの各々が第1の論理状態で
    あり、それぞれの第1のリーク・パワー特性値を有する
    確率と、選択された前記ネットの各々が第2の論理状態
    であり、それぞれの第2のリーク・パワー特性値を有す
    る確率とを決定するステップと、 選択された前記ネットの各々に対して、前記第1の状態
    のパワー・リークをそのそれぞれの第1の状態確率値と
    乗算し、前記第2の状態のパワー・リークをそのそれぞ
    れの第2の状態確率値と乗算するステップと、 選択された前記ネットに対して、結果のリーク・パワー
    を推定するステップとを含む、請求項1記載の方法。
  3. 【請求項3】選択された前記ネットの各々が、それぞれ
    のネットをドライブする少なくとも1つのゲート素子の
    少なくとも1つの論理入力を供給し、前記方法が、前記
    ゲート素子の入力における更新された確率にもとづき、
    論理変更のファンアウト・コーン内のネットの確率を再
    計算するステップを含む、請求項2記載の方法。
  4. 【請求項4】前記確率的分析を実行するステップが、 選択された各ネットに対して、前記ネットが第1の論理
    状態から第2の論理状態に、或いは第2の論理状態から
    第1の論理状態にスイッチする確率を計算するステップ
    と、 選択された各ネットが特定の状態になるであろう期間を
    決定するステップと、 選択された各ネットの結果のパワーを推定するステップ
    とを含む、請求項2記載の方法。
  5. 【請求項5】前記ODC情報を決定するステップが、O
    DCのスイッチング確率を決定するステップを含む、請
    求項2記載の方法。
  6. 【請求項6】前記ステップb)において、特定の値に強
    制される少なくとも1つのネットの選択が、1つ以上の
    基準、すなわち、選択された前記ネットがODC状態に
    ある確率が最大であるか否か、及び選択された前記ネッ
    トがこの状態にスイッチ・イン及びスイッチ・アウトす
    る確率が最小であるか否かにもとづく、請求項5記載の
    方法。
  7. 【請求項7】選択されたネットを特定の値に強制するシ
    ミュレーションを実行する前記ステップb)が、前記ネ
    ットへの入力における論理信号の極性を変更するステッ
    プを含む、請求項5記載の方法。
  8. 【請求項8】選択されたネットを特定の値に強制するシ
    ミュレーションを実行する前記ステップb)が、ゲート
    をファクタリングするステップを含む、請求項5記載の
    方法。
  9. 【請求項9】選択されたネットを特定の値に強制するシ
    ミュレーションを実行する前記ステップb)が、ゲート
    のコピーを生成し、そのファンアウトをオリジナル・ネ
    ットとコピー・ネットとの間で分配するステップを含
    む、請求項5記載の方法。
  10. 【請求項10】選択されたネットを特定の値に強制する
    シミュレーションを実行する前記ステップb)が、1つ
    以上のバッファを追加するステップを含む、請求項5記
    載の方法。
  11. 【請求項11】選択されたネットを特定の値に強制する
    シミュレーションを実行する前記ステップb)が、ゲー
    トへの論理信号の冗長な接続を追加及び削除するステッ
    プを含む、請求項5記載の方法。
  12. 【請求項12】選択されたネットを特定の値に強制する
    シミュレーションを実行する前記ステップb)が、前記
    ネット値がdon't careのとき、前記ネットを低リーク状
    態に強制する回路を入力に追加するステップを含む、請
    求項5記載の方法。
  13. 【請求項13】前記方法が、 選択された各ネットに対して、状態確率に関連してリー
    ク・パワーのデリバティブを計算することにより、変更
    がその出力コーン内の論理のリークに与える総効果を決
    定するステップを含み、ネットの前記リーク・デリバテ
    ィブが、前記ネットの状態確率の変化に関連付けられる
    リーク・パワーの変化を表し、 デリバティブ計算を前記ネットワークを通じて逆方向に
    伝搬させ、実行するステップを含む、請求項5記載の方
    法。
  14. 【請求項14】期待パワー消費が低減されるネットを決
    定する前記ステップが、パワー消費節約の決定を含み、
    前記方法が、 強制されるネットのファンアウト・コーン内の回路のパ
    ワー消費への影響を考慮するステップを含む、請求項3
    記載の方法。
  15. 【請求項15】期待パワー消費が低減されるネットを決
    定する前記ステップが、選択されたネットを、決定され
    た値に強制するために使用される前記回路により要求さ
    れるパワー消費を考慮するステップを含む、請求項12
    記載の方法。
  16. 【請求項16】選択されたネットを強制する前記ステッ
    プc)に続き、前記ODC及び確率情報を更新するステ
    ップd)を実行し、所定の条件が満足されるまで、ステ
    ップb)からd)を繰り返すステップを含む、請求項1
    記載の方法。
  17. 【請求項17】前記スリープ状態部分が、全ての有効な
    スリープ状態のサブセットを含み、前記スリープ状態部
    分の計算が単純に計算される、請求項6記載の方法。
  18. 【請求項18】前記スリープ状態部分の決定が、前記論
    理ネットワークがスリープ状態の決定部分にある確率を
    最大化するステップを含む、請求項1記載の方法。
  19. 【請求項19】前記スリープ状態部分の決定が、前記論
    理ネットワークがスリープ状態の決定部分に留まる時間
    を最大化するステップを含む、請求項1記載の方法。
  20. 【請求項20】前記スリープ状態部分の決定が、スリー
    プ状態の決定部分がスリープ状態の一部でもあるネット
    の数を最大化するステップを含む、請求項1記載の方
    法。
  21. 【請求項21】異なるスリープ状態部分の間に、選択さ
    れたネットが異なる状態に強制されるようにODC状態
    が区分化される、請求項1記載の方法。
  22. 【請求項22】前記強制するステップが、幾つかのネッ
    トを同時に論理値に強制するステップを含み、前記強制
    するステップが、 各ネットを論理0及び論理1の両方に独立に設定し、各
    設定において期待パワー消費の変化を決定するステップ
    と、 最大パワー節約を与える状態に強制される少なくとも1
    つのネットを選択するステップと、 所定の条件が満足されるまで、前記設定及び選択ステッ
    プを繰り返すステップとを含む、請求項20記載の方
    法。
  23. 【請求項23】前記選択するステップが、オーバラップ
    しないファンアウト・コーンを有するネットのセットを
    選択するステップを含む、請求項22記載の方法。
  24. 【請求項24】複数のネットを含む論理ネットワークの
    リーク・パワーを低減する方法であって、 a)前記論理ネットワーク内のネットの状態関数、スイ
    ッチング関数及びそれらの確率を計算し、前記論理ネッ
    トワークのネットのスリープ状態、及びその確率を識別
    するために使用される可観測性don't care(ODC:ob
    servability don't care)関数を計算するステップと、 b)1つ以上の前記ネットの初期パワー・リーク計算を
    計算するステップと、 c)前記1つ以上のネットの、少なくとも1つの選択さ
    れたネットの論理変更を保持する1つ以上の関数を決定
    し、スリープ状態の少なくとも一部の間に、前記選択さ
    れたネットを特定の値に強制する前記論理変更をシミュ
    レートするステップと、 d)前記論理ネットワークの選択されたネットに対し
    て、前記状態関数、スイッチング関数、及びODC関数
    を更新し、前記論理変更に照らして、これらの確率を更
    新するステップと、 e)前記選択されたネットの強制の結果生じる、該ネッ
    トのパワー・リーク変化を計算するステップと、 f)受け入れ可能な性能基準に従い、前記論理変更を保
    持する前記関数を受け入れるか拒否するかを決定するス
    テップとを含む、方法。
  25. 【請求項25】前記決定するステップが、受け入れ可能
    な性能基準が満足されるまで、前記ステップc)乃至
    f)を繰り返すステップを含む、請求項24記載の方
    法。
  26. 【請求項26】前記受け入れ可能な性能基準が前記ネッ
    トワークのパワー消費を含む、請求項25記載の方法。
  27. 【請求項27】前記受け入れ可能な性能基準が前記ネッ
    トワークを通じる信号伝搬遅延を含む、請求項25記載
    の方法。
  28. 【請求項28】前記受け入れ可能な性能基準が前記ネッ
    トワーク内のノイズ・レベルを含む、請求項25記載の
    方法。
  29. 【請求項29】前記ステップc)における、特定の値に
    強制される少なくとも1つのネットの選択が、1つ以上
    の基準、すなわち、選択された前記ネットがODC状態
    にある確率が最大であるか否か、及び選択された前記ネ
    ットがこの状態にスイッチ・イン及びスイッチ・アウト
    する確率が最小であるか否かにもとづく、請求項24記
    載の方法。
  30. 【請求項30】選択ネットを特定の値に強制する論理変
    更を保持する1つ以上の関数を決定する前記ステップ
    c)が、 前記ネットへの入力において、論理信号の極性を変更す
    るステップと、 前記ネットワークのゲートをファクタリングするステッ
    プと、 ゲートのコピーを生成し、そのファンアウトをオリジナ
    ル・ネットとコピー・ネットとの間で分配するステップ
    と、 1つ以上のバッファを追加するステップと、 ゲートへの論理信号の冗長な接続を追加及び削除するス
    テップとを含む、グループから選択される1つ以上のス
    テップを含む、請求項24記載の方法。
  31. 【請求項31】選択ネットを特定の値に強制する論理変
    更を保持する1つ以上の関数を決定する前記ステップ
    c)が、前記ネット値がdon't careのとき、前記ネット
    を低リーク状態に強制する回路を入力に追加するステッ
    プを含む、請求項24記載の方法。
  32. 【請求項32】前記方法が、 選択された各ネットに対して、状態確率に関連してリー
    ク・パワーのデリバティブを計算することにより、変更
    がその出力コーン内の論理のリークに与える総効果を決
    定するステップを含み、ネットの前記リーク・デリバテ
    ィブが、前記ネットの状態確率の変化に関連付けられる
    リーク・パワーの変化を表し、 デリバティブ計算を前記ネットワークを通じて逆方向に
    伝搬させ、実行するステップを含む、請求項24記載の
    方法。
  33. 【請求項33】期待パワー消費が低減されるネットを決
    定する前記ステップが、パワー消費節約の決定を含み、
    前記方法が、 強制されるネットのファンアウト・コーン内の回路のパ
    ワー消費への影響を考慮するステップを含む、請求項3
    1記載の方法。
  34. 【請求項34】期待パワー消費が低減されるネットを決
    定する前記ステップが、選択されたネットを決定された
    値に強制するために使用される前記回路により要求され
    るパワー消費を考慮するステップを含む、請求項31記
    載の方法。
  35. 【請求項35】前記スリープ状態部分が、全ての有効な
    スリープ状態のサブセットを含み、前記スリープ状態部
    分の計算が単純に計算される、請求項29記載の方法。
  36. 【請求項36】前記スリープ状態部分の決定が、前記論
    理ネットワークがスリープ状態の決定部分にある確率を
    最大化するステップを含む、請求項24記載の方法。
  37. 【請求項37】前記スリープ状態部分の決定が、前記論
    理ネットワークが一旦スリープ状態の決定部分に入力し
    たとき、該決定部分に留まる時間を最大化するステップ
    を含む、請求項24記載の方法。
  38. 【請求項38】複数のネットを含む論理ネットワークの
    リーク・パワーを低減する方法を実行する、マシンによ
    り実行可能な命令のプログラムを有する、前記マシンに
    より読取り可能なプログラム記憶装置であって、前記方
    法が、 a)前記論理ネットワーク内の1つ以上の第1のネット
    の可観測性don't care(ODC:observability don't
    care)情報を決定するステップであって、前記ODC情
    報が、前記第1のネットにおける入力値が前記論理ネッ
    トワークの出力値に影響しない入力値のセットを表し、
    前記ODC情報が、前記論理ネットワークの前記第1の
    ネットのスリープ状態を識別するために使用され、 b)識別された前記スリープ状態の少なくとも1つの少
    なくとも一部の間に、前記第1のネットから選択された
    少なくとも1つのネットを、特定の値に強制するシミュ
    レーションを実行し、期待パワー消費が低減される少な
    くとも1つのネットを決定する確率的分析を実行するス
    テップと、 c)前記期待パワー消費が低減されるとき、前記スリー
    プ状態部分の間に、選択された前記ネットを前記特定の
    値に強制するステップとを含む、方法。
  39. 【請求項39】前記確率的分析を実行するステップが、 1つ以上の選択されたネットの各々が第1の論理状態で
    あり、それぞれの第1のリーク・パワー特性値を有する
    確率と、選択された前記ネットの各々が第2の論理状態
    であり、それぞれの第2のリーク・パワー特性値を有す
    る確率とを決定するステップと、 選択された前記ネットの各々に対して、前記第1の状態
    のパワー・リークをそのそれぞれの第1の状態確率値と
    乗算し、前記第2の状態のパワー・リークをそのそれぞ
    れの第2の状態確率値と乗算するステップと、 選択された前記ネットに対して、結果のリーク・パワー
    を推定するステップとを含む、請求項38記載の方法。
  40. 【請求項40】選択された前記ネットの各々が、それぞ
    れのネットをドライブする少なくとも1つのゲート素子
    の少なくとも1つの論理入力を供給し、前記方法が、前
    記ゲート素子の入力における更新された確率にもとづ
    き、論理変更のファンアウト・コーン内のネットの確率
    を再計算するステップを含む、請求項39記載の方法。
  41. 【請求項41】前記確率的分析を実行するステップが、 選択された各ネットに対して、前記ネットが第1の論理
    状態から第2の論理状態に、或いは第2の論理状態から
    第1の論理状態にスイッチする確率を計算するステップ
    と、 選択された各ネットが特定の状態になるであろう期間を
    決定するステップと、選択された各ネットの結果のパワ
    ーを推定するステップとを含む、請求項40記載の方
    法。
  42. 【請求項42】前記ODC情報を決定するステップが、
    ODCのスイッチング確率を決定するステップを含む、
    請求項39記載の方法。
  43. 【請求項43】前記ステップb)において、特定の値に
    強制される少なくとも1つのネットの選択が、1つ以上
    の基準、すなわち、選択された前記ネットがODC状態
    にある確率が最大であるか否か、及び選択された前記ネ
    ットがこの状態にスイッチ・イン及びスイッチ・アウト
    する確率が最小であるか否かにもとづく、請求項42記
    載の方法。
  44. 【請求項44】選択されたネットを強制する前記ステッ
    プc)に続き、前記ODC及び確率情報を更新するステ
    ップd)を実行し、所定の条件が満足されるまで、ステ
    ップb)からd)を繰り返すステップを含む、請求項3
    8記載の方法。
  45. 【請求項45】前記スリープ状態部分が、全ての有効な
    スリープ状態のサブセットを含み、前記スリープ状態部
    分の計算が単純に計算される、請求項44記載の方法。
  46. 【請求項46】パワー消費が低減された集積回路素子で
    あって、ネットにおける入力値のセットが、論理ネット
    ワークの出力値に影響しないスリープ状態を取り得る、
    1つ以上のネットを含む論理ネットワークを含み、少な
    くとも1つの前記ネットが、確率的分析により予め決定
    された低パワー消費を示すように、特定の値に強制さ
    れ、前記論理ネットワーク内の素子が、期待パワー消費
    が低減されるスリープ状態の間に、選択された前記ネッ
    トを前記特定の値に強制する集積回路素子。
JP2001369057A 2000-12-28 2001-12-03 リーク低減制御を論理回路に挿入するシステム及び方法 Expired - Fee Related JP3836715B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/750,969 US6687883B2 (en) 2000-12-28 2000-12-28 System and method for inserting leakage reduction control in logic circuits
US09/750969 2000-12-28

Publications (2)

Publication Number Publication Date
JP2002230066A true JP2002230066A (ja) 2002-08-16
JP3836715B2 JP3836715B2 (ja) 2006-10-25

Family

ID=25019894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001369057A Expired - Fee Related JP3836715B2 (ja) 2000-12-28 2001-12-03 リーク低減制御を論理回路に挿入するシステム及び方法

Country Status (2)

Country Link
US (1) US6687883B2 (ja)
JP (1) JP3836715B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005006297A (ja) * 2003-05-21 2005-01-06 Agilent Technol Inc アイドル状態にあるディジタル回路において低電力消費を実現する入力状態ベクトルを決める方法及び装置
JP2009541891A (ja) * 2006-06-26 2009-11-26 カップリング ウェーブ ソリューションズ シーダブリュエス 電子システムに注入されるノイズをモデル化する方法
JP2011150601A (ja) * 2010-01-22 2011-08-04 Fujitsu Ltd 論理回路設計方法及びプログラム

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215705A (ja) * 2001-01-23 2002-08-02 Toshiba Corp 回路自動生成装置、回路自動生成方法及び回路自動生成プログラムを記録した記録媒体
US6718524B1 (en) * 2001-09-17 2004-04-06 Lsi Logic Corporation Method and apparatus for estimating state-dependent gate leakage in an integrated circuit
US20030217026A1 (en) * 2002-01-31 2003-11-20 Steven Teig Structure for storing a plurality os sub-networks
US7024639B2 (en) * 2002-01-31 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US7076760B2 (en) 2002-01-31 2006-07-11 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US7398503B2 (en) * 2002-01-31 2008-07-08 Cadence Design Systems, Inc Method and apparatus for pre-tabulating sub-networks
US7383524B2 (en) * 2002-01-31 2008-06-03 Cadence Design Systems, Inc Structure for storing a plurality of sub-networks
US6981231B2 (en) * 2002-02-22 2005-12-27 Hewlett-Packard Development Company, L.P. System and method to reduce leakage power in an electronic device
US7244743B2 (en) * 2002-06-05 2007-07-17 Solvay Pharmaceuticals Gmbh Non-peptidic BRS-3 agonists
US20040153303A1 (en) * 2002-12-30 2004-08-05 Le Tang Efficient process for time dependent network model in an energy market simulation system
US7302652B2 (en) * 2003-03-31 2007-11-27 Intel Corporation Leakage control in integrated circuits
US7162652B2 (en) * 2003-06-20 2007-01-09 Texas Instruments Incorporated Integrated circuit dynamic parameter management in response to dynamic energy evaluation
US6920621B1 (en) * 2003-08-20 2005-07-19 Xilinx, Inc. Methods of testing for shorts in programmable logic devices using relative quiescent current measurements
US7137080B2 (en) * 2003-08-22 2006-11-14 International Business Machines Corporation Method for determining and using leakage current sensitivities to optimize the design of an integrated circuit
US7395524B2 (en) * 2003-08-28 2008-07-01 International Business Machines Corporation Method, system and program product providing a configuration specification language having clone latch support
US6993737B1 (en) * 2003-09-11 2006-01-31 Xilinx, Inc. Leakage power optimization for integrated circuits
JP2005250874A (ja) * 2004-03-04 2005-09-15 Toshiba Corp 回路シミュレーション装置、回路シミュレーション方法を格納するコンピュータ記録媒体及び回路シミュレーションプログラム
US7278120B2 (en) * 2004-07-23 2007-10-02 Synplicity, Inc. Methods and apparatuses for transient analyses of circuits
US7325210B2 (en) * 2005-03-10 2008-01-29 International Business Machines Corporation Hybrid linear wire model approach to tuning transistor widths of circuits with RC interconnect
US7444610B1 (en) 2005-08-03 2008-10-28 Xilinx, Inc. Visualizing hardware cost in high level modeling systems
US20070168792A1 (en) * 2005-12-09 2007-07-19 International Business Machines Corporation Method to Reduce Leakage Within a Sequential Network and Latch Circuit
US7516425B2 (en) * 2005-12-22 2009-04-07 Industrial Technology Research Institute Method for generating minimal leakage current input vector using heuristics
US7444499B2 (en) * 2006-03-28 2008-10-28 Sun Microsystems, Inc. Method and system for trace generation using memory index hashing
JP4999379B2 (ja) * 2006-07-10 2012-08-15 フリースケール セミコンダクター インコーポレイテッド 半導体集積回路設計方法、半導体集積回路設計装置
US7779381B2 (en) * 2006-09-11 2010-08-17 Cadence Design Systems, Inc. Test generation for low power circuits
GB2447944B (en) * 2007-03-28 2011-06-29 Advanced Risc Mach Ltd Reducing leakage power in low power mode
US8341612B2 (en) * 2007-05-16 2012-12-25 International Business Machines Corporation Method and apparatus for run-time statistics dependent program execution using source-coding
US7873923B2 (en) * 2008-02-28 2011-01-18 International Business Machines Corporation Power gating logic cones
JP5195149B2 (ja) * 2008-08-11 2013-05-08 富士通株式会社 真偽判定方法
US8049550B2 (en) * 2008-09-10 2011-11-01 Freescale Semiconductor, Inc. Method for power reduction and a device having power reduction capabilities
US8161434B2 (en) * 2009-03-06 2012-04-17 Synopsys, Inc. Statistical formal activity analysis with consideration of temporal and spatial correlations
US8626480B2 (en) 2009-10-06 2014-01-07 International Business Machines Corporation Compact model for device/circuit/chip leakage current (IDDQ) calculation including process induced uplift factors
US8984048B1 (en) 2010-04-18 2015-03-17 Viasat, Inc. Selective prefetch scanning
US8296701B2 (en) * 2010-12-28 2012-10-23 Texas Instruments Incorporated Method for designing a semiconductor device based on leakage current estimation
US8751999B2 (en) * 2011-07-05 2014-06-10 Fujitsu Limited Component placement tool for printed circuit board
US9100002B2 (en) * 2013-09-12 2015-08-04 Micron Technology, Inc. Apparatus and methods for leakage current reduction in integrated circuits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870308A (en) 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5508937A (en) 1993-04-16 1996-04-16 International Business Machines Corporation Incremental timing analysis
AU2816495A (en) 1994-06-03 1996-01-04 Synopsys, Inc. Method and apparatus for estimating the power dissipated by a digital circuit
US5515302A (en) 1994-11-07 1996-05-07 Motorola, Inc. Method for identifying excessive power consumption sites within a circuit
KR100223770B1 (ko) 1996-06-29 1999-10-15 김영환 반도체 장치의 문턱전압 제어회로
US6191606B1 (en) * 1998-09-10 2001-02-20 Intel Corporation Method and apparatus for reducing standby leakage current using input vector activation
US6711719B2 (en) * 2001-08-13 2004-03-23 International Business Machines Corporation Method and apparatus for reducing power consumption in VLSI circuit designs

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005006297A (ja) * 2003-05-21 2005-01-06 Agilent Technol Inc アイドル状態にあるディジタル回路において低電力消費を実現する入力状態ベクトルを決める方法及び装置
JP2009541891A (ja) * 2006-06-26 2009-11-26 カップリング ウェーブ ソリューションズ シーダブリュエス 電子システムに注入されるノイズをモデル化する方法
JP2011150601A (ja) * 2010-01-22 2011-08-04 Fujitsu Ltd 論理回路設計方法及びプログラム

Also Published As

Publication number Publication date
JP3836715B2 (ja) 2006-10-25
US6687883B2 (en) 2004-02-03
US20020116440A1 (en) 2002-08-22

Similar Documents

Publication Publication Date Title
JP3836715B2 (ja) リーク低減制御を論理回路に挿入するシステム及び方法
US6556962B1 (en) Method for reducing network costs and its application to domino circuits
US7882461B2 (en) Method for optimized automatic clock gating
US20050091025A1 (en) Methods and systems for improved integrated circuit functional simulation
Agarwal et al. Statistical clock skew analysis considering intradie-process variations
Amarú et al. Boolean logic optimization in majority-inverter graphs
Ozdal et al. Algorithms for gate sizing and device parameter selection for high-performance designs
Murray et al. Tatum: Parallel timing analysis for faster design cycles and improved optimization
Sapatnekar Static timing analysis
Liu et al. An efficient parallel critical path algorithm
Crenshaw et al. An incremental floorplanner
Pedram Power estimation and optimization at the logic level
Brayton The future of logic synthesis and verification
Casu et al. Floorplanning for throughput
Cortadella et al. Static timing analysis
Pan et al. Timing-driven placement
Bommu et al. Retiming-based factorization for sequential logic optimization
Zhang et al. SFO: A scalable approach to fanout-bounded logic synthesis for emerging technologies
Murray Fast and Flexible CAD for FPGAs and Timing Analysis
Chong et al. Characterization of feasible retimings
Li et al. Exploiting local logic structures to optimize multi-core soc floorplanning
Neophytou et al. Path representation in circuit netlists using linear-sized ZDDs with optimal variable ordering
Das et al. FA-STAC: A framework for fast and accurate static timing analysis with coupling
Han et al. Folded circuit synthesis: Min-area logic synthesis using dual-edge-triggered flip-flops
Marques Technology mapping for virtual libraries based on cells with minimal transistor stacks

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050805

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060418

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060727

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees