JP3798704B2 - 電力のための配線最適化 - Google Patents
電力のための配線最適化 Download PDFInfo
- Publication number
- JP3798704B2 JP3798704B2 JP2002031625A JP2002031625A JP3798704B2 JP 3798704 B2 JP3798704 B2 JP 3798704B2 JP 2002031625 A JP2002031625 A JP 2002031625A JP 2002031625 A JP2002031625 A JP 2002031625A JP 3798704 B2 JP3798704 B2 JP 3798704B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- state
- common
- wire
- recording medium
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
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)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は超小型電子回路における消費電力を低減する方法及び構造に関し、特に、結合容量消費電力を低減する方法及び構造に関する。
【0002】
【従来の技術】
消費電力の低減は、ローエンド・コンシューマ・エレクトロニクスでのバッテリ寿命制限や、ハイエンド・サーバでの放熱により、超大規模集積回路(VLSI)設計において益々困難になりつつある。超小型電子回路技術は小型化されるので、複数の素子特性が低消費電力のための設計の問題を複合化する。そうした問題には、トランジスタ数の増加、デバイス・リークの増加、スイッチング速度の向上、及び結合容量の増加などが含まれる。従って、素子特性に拘わらず、超小型電子回路の消費電力を低減する必要性がある。
【0003】
【発明が解決しようとする課題】
従って、本発明の目的は、超小型電子回路において消費電力を低減する方法及び構造を提供することである。
【0004】
【課題を解決するための手段】
本発明は、複数の配線を有する電気配線構造を設計する方法を提供し、この方法は、複数の配線から成る第1の配線と、複数の配線から成る第2の配線とを含む少なくとも1つの配線対を識別するステップを含む。第2の配線は既にトライステート化済みか、トライステート化可能であり、前記配線対は1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向スイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第2の配線は、少なくとも1つの数学的関係を満足し、この数学的関係が、第1の配線と第2の配線との間の間隔として定義されるWSPACINGと、第1の配線と第2の配線の共通ランレングスとして定義されるLCOMMONとを含む。
【0005】
本発明は2線式電圧遷移を実行する方法を提供し、この方法は、キャパシタンスCAを有するA配線と、キャパシタンスCBを有するB配線とを含み、A配線とB配線との間に結合キャパシタンスCCを有する、電気配線網の2つの配線を提供するステップと、B配線を電圧VB1からハイインピーダンス状態にトライステート化するステップと、B配線をトライステート化した後、A配線を電圧VA1から電圧VA2(但しVA2≠VA1)に遷移するステップと、A配線をVA2に遷移した後、B配線を電圧VB2(但しVB2≠VB1)に遷移するステップとを含む。
【0006】
本発明は、少なくとも1つの配線対を含む電気配線構造を提供し、前記配線対が第1の配線と第2の配線とを含み、前記第2の配線がトライステート化されるように予定され、前記配線対が1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第2の配線は、少なくとも1つの数学的関係を満足し、この数学的関係が、第1の配線と第2の配線との間の間隔として定義されるWSPACINGと、第1の配線と第2の配線との共通ランレングスとして定義されるLCOMMONとを含む。
【0007】
別の態様では、本発明は、キャパシタンスCAを有するA配線と、キャパシタンスCBを有するB配線とを含み、A配線とB配線との間に結合キャパシタンスCCを有する、配線網の2つの配線を含む電気配線構造を提供する。B配線が電圧VB1からトライステート状態に遷移した後、A配線が電圧VA1から電圧VA2(但しVA2≠VA1)に遷移し、A配線が電圧VA2に遷移した後、B配線が電圧VB2(但しVB2≠VB1)に遷移するように意図される。そして、A配線の電圧VA1から電圧VA2への遷移、及びB配線の電圧VB1から電圧VB2への遷移が、2線式電圧遷移として識別される。
【0008】
更に別の態様では、本発明は、複数の配線を有する電気配線構造を設計するコンピュータ・システムを提供する。このコンピュータ・システムは、プロセッサと、プロセッサに接続される入力装置と、プロセッサに接続される出力装置と、プロセッサに接続される第1のメモリ装置と、プロセッサに接続される第2のメモリ装置と、第2のメモリ装置に記憶され、プロセッサにより実行されるコンピュータ・コードとを含む。前記コンピュータ・コードは、少なくとも1つの配線対を識別するアルゴリズムを含み、前記配線対が、複数の配線から成る第1の配線と、複数の配線から成る第2の配線とを含む。第2の配線は既にトライステート化済みか、トライステート化可能であり、前記配線対は、1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第2の配線は、少なくとも1つの数学的関係を満足し、この数学的関係が、第1の配線と第2の配線との間の間隔として定義されるWSP ACINGと、第1の配線と第2の配線との共通ランレングスとして定義されるLCOMMONとを含む。
【0009】
【発明の実施の形態】
キャパシタンスを駆動するために要求される動的電力は、最新の超大規模集積回路(VLSI)回路における消費電力の大部分を占める。キャパシタンス(C)を有するキャパシタに蓄積されるエネルギ(E)は、次式で与えられる。
【数1】
E=CV2/2 (1)
【0010】
ここでキャパシタはその両端子間において、電圧(V)まで充電される。エネルギEは、キャパシタが抵抗を通じてグラウンドに放電されるとき消費され、等量のエネルギが、キャパシタが抵抗素子を通じて充電されるときに消費される。レール間遷移及び接地(非カップリング)キャパシタンス(例えば素子ゲート、及びグラウンドに対する配線キャパシタンス)では、電圧Vがチップの電源の電圧値(VDD)である。エネルギEは次のように平均電力に変換される。
【数2】
P=FSWE=FSWCVDD 2/2 (2)
【0011】
ここでPは平均電力で、FSWは遷移の平均スイッチング周波数である。信号は各スイッチング周期内で2つの遷移(立ち上りと立ち下り)を生じるが、立ち上り遷移だけが電源から電力を引き出し、立ち下り遷移は以前に蓄積されたエネルギを消費する。従って、係数1/2が式(2)内に留まる。デジタル・システム内の論理配線のスイッチング周波数を予測するのが困難であるため、正確な電力値を得ることは困難である。一般に、クロック周波数(FCLOCK)が知られており、所与のクロック・サイクルにおいて特定の配線が遷移する確率(ψ)が、シミュレーションや他の手段により決定される。FSWはψFCLOCKと表されるので、式(2)は次のようになる。
【数3】
P=ψFCLOCKCVDD 2/2 (3)
【0012】
結合キャパシタンスが存在するので、キャパシタの電圧変化、従って遷移に要求されるエネルギは、隣接する配線上で発生する論理遷移に依存する。論理遷移は、別個の論理状態間の遷移であり、例えば、ハイ電圧状態"1"とロー電圧状態"0"との間で遷移する。遷移のために要求されるエネルギEを計算する必要性は、電力予測及び最適設計を困難にする。なぜなら、隣接する配線上での論理遷移は、関心の対象の配線上の論理遷移と相関付けられなければならないからである。遷移の前後に、様々なキャパシタンスに蓄積されたエネルギを計算しようとするのではなく、遷移を起こすために電源から供給されなければならない電流量を調査することにより、要求エネルギが決定されてもよい。
【0013】
チップ形状は小型化されるので、配線はより狭く、または一層接近されるようになり、これが待ち時間または結合キャパシタンス(CCOUPLING)の増加につながる。結合キャパシタンスは、論理遷移を達成するためにスイッチされなければならない総負荷に占める割合の増加を担う。2つの配線間の結合キャパシタンスは、それらの共通ランレングス(LCOMMON)に直接比例し、配線間間隔(WSPACING)に逆比例する。すなわち、次のように表すことができる。
【数4】
CCOUPLING ∝ LCOMMON/WSPACING (4)
【0014】
結合キャパシタンスが増加しつつあるのと同時に、素子サイズ及び配線幅がスケーリングにより減少しつつある。配線による非結合キャパシタンス(CNON-COUPLING)は、配線幅(WWIRE)及び配線長(LWIRE)に比例する。すなわち、
【数5】
CNON-COUPLING ∝ LWIREWWIRE (5)
【0015】
2つの配線間のWSPACINGを減少すると、CCOUPLINが増加するが、2つの配線間のWSPACINGを減少すると、CNON-COUPLINGが減少する。なぜなら、WSPACINGが減少すると、通常他の導体(例えばチップ基板内の導体)で終端する電界線が逸れ、2つの配線が結合される導体(例えば配線)内で終端するようになるからである。
【0016】
図1は、本発明の実施例に従い、配線12("A"で示される)、配線14("B"で示される)、及び電源電圧VDDを有する電源20を含む電気回路を示す。ここでは単純化のために、VDDは1Vに正規化されるものとするが、当業者であれば、VDD=1Vの前提の下でここで示される公式、式及び関係を、VDD≠1Vの状況に適応化するように、容易に変換することができよう。従って、VDD≠1Vにおけるこうした公式、式及び関係についても、本発明の範囲に含まれるとみなされる。
【0017】
図1において、配線Aはキャパシタ16により表されるように、キャパシタンスCAを有する。また配線Bは、キャパシタ17により表されるように、キャパシタンスCBを有する。配線Aと配線Bとの間の結合キャパシタンスCCは、キャパシタンス18により表される。プルアップ素子22すなわちスイッチが、電源20と配線Aとの間に存在し、プルダウン素子24すなわちスイッチが、配線Aとグラウンド30との間に存在する。同様に、プルアップ素子26すなわちスイッチが、電源20と配線Bとの間に存在し、プルダウン素子28すなわちスイッチが、配線Bとグラウンド30との間に存在する。キャパシタ16及び17は各々、グラウンド30に接続される。なお、図1では、配線A及び配線Bが充放電される直列抵抗が示されていない。
【0018】
配線Aは、ロー電圧状態("0")またはハイ電圧状態("1")を取り得る。ハイ電圧は実際にはVDDであるが、前述のように、ここでは1Vに正規化される。プルアップ素子22及びプルダウン素子24は、配線Aの状態(0及び1)を制御する。(状態0から状態1への)立ち上り遷移は、配線Aのプルアップ素子22が閉じ、プルダウン素子24が開くとき、配線A上で発生する。一方、(状態1から状態0への)立ち下り遷移は、配線Aのプルアップ素子22が開き、プルダウン素子24が閉じるとき、配線A上で発生する。
【0019】
同様に、配線Bもロー電圧状態("0")またはハイ電圧状態("1")を取り得る。プルアップ素子26及びプルダウン素子28が、配線Bの状態(0及び1)を制御する。(状態0から状態1への)立ち上り遷移は、配線Bのプルアップ素子26が閉じ、プルダウン素子28が開くとき、配線B上で発生する。一方、(状態1から状態0への)立ち下り遷移は、配線Bのプルアップ素子26が開き、プルダウン素子28が閉じるとき、配線B上で発生する。
【0020】
図2は、本発明の実施例に従い、各配線の2状態モデルにもとづく、図1の配線A及び配線Bの状態遷移を示す。図2において、配線A及び配線Bの4つの状態("AB"状態)が、次の定義により、またVDDを1Vに正規化することにより、次のように示される。
【表1】
【0021】
図2は、前記の4つの状態の任意の2つの間での、2つのタイプの状態遷移を示す。第1のタイプの状態遷移("1線式状態遷移")では、配線Aまたは配線Bの両方ではなく一方だけが、その状態を変化する(例えば01→11状態遷移では、状態Bだけがその状態を変化する)。第2のタイプの状態遷移("2線式状態遷移")では、配線Aと配線Bの両方が、それらの状態を変化する(例えば01→10状態遷移では、配線A及び配線Bの両方がそれらの状態を変化する)。2つの状態遷移カテゴリ内において、同方向スイッチング(すなわち00→11及び11→00状態遷移)と、逆方向スイッチング(すなわち01→10及び10→01状態遷移)とが存在する。
【0022】
同方向スイッチング及び逆方向スイッチングの指定は、数学的に次のように表される。配線Aが電圧状態VA1から電圧状態VA2に遷移し、配線Bが電圧状態VB1から電圧状態VB2に遷移する場合、(VA2−VA1)(VB2−VB1)>0ならば、同方向スイッチングが発生し、(VA2−VA1)(VB2−VB1)<0ならば、逆方向スイッチングが発生する。
【0023】
図2は更に、こうした各状態遷移に対して、電源10(図1参照)から供給される電流により充電されなければならない実効キャパシタンスを示す。例えば、図2は、01→11状態遷移において、実効キャパシタンスCAを示す。各状態遷移において供給されなければならない電荷は、実効キャパシタンスとVDDとの積に等しい。VDDはここでは1Vに正規化されるので、供給されなければならない電荷は、数的に実効キャパシタンスに等しい。両方の配線が変化する"コーナ・ツー・コーナ"(corner-to-corner)遷移(例えば00→11及び11→00状態遷移)では、状態遷移は同時に発生すると仮定される。
【0024】
キャパシタンスCA及びCBがグラウンドではなく、VDDに対するキャパシタンスの場合、各遷移に対して、電源10から引き出される電荷量が異なるので、代替実効キャパシタンスが割当てられてもよい。しかしながら、同じ状態で開始及び終了し、同じ閉鎖パスまたはループを横断する一連の遷移に対して要求されるエネルギは、図2に示される実効キャパシタンス、及び代替実効キャパシタンスに対して同じである。従って、こうした別個の閉鎖パスまたはループの各々において、別個の閉鎖パスまたはループに渡るこうした代替実効キャパシタンスの合計が、図2に示される実効キャパシタンスの合計と同じであるという制約の下で、図2に示される実効キャパシタンスの代わりに、代替実効キャパシタンスが使用されてもよい。図2に示される実効キャパシタンスをもとに、当業者であれば、別個の閉鎖パスまたはループに渡る代替実効キャパシタンスの合計を保持するという制約に従い、代替実効キャパシタンスを決定することができよう。従って、本発明の範囲は、図2に関連する代替実効キャパシタンスの分布についても含むものである。
【0025】
図2は、00→11または11→00のAB状態遷移(すなわち同方向スイッチング)において、配線A及び配線Bが同時に遷移する場合に、配線A及び配線Bが順次遷移する場合に比較して、より低い実効キャパシタンスを有し、それ故、少ない電力を消費することを示す。例えば、同時状態遷移00→11は実効キャパシタンスCA+CBを有すのに対して、順次状態遷移00→01→11または00→10→11は、実効キャパシタンスCA+CB+CCを有する。同様に、同時状態遷移11→00は、実効キャパシタンス0を有するのに対して、順次状態遷移11→01→00または11→10→00は、実効キャパシタンスCCを有する。従って、同方向スイッチングにおける実効キャパシタンスについては、順次遷移の場合の方が同時遷移の場合に比較して、CCだけ大きいことがわかる。従って、同方向スイッチングにおける同時遷移は、結合キャパシタを充電する必要がない分だけ消費電力を低減する。
【0026】
図2はまた、01→10または10→01のAB状態遷移(すなわち逆方向スイッチング)において、配線A及び配線Bが同時に遷移する場合に、配線A及び配線Bが順次遷移する場合に比較して、より高い実効キャパシタンスを有し、それ故、より大きな電力を消費することを示す。例えば、同時状態遷移01→10は実効キャパシタンスCA+2CCを有すのに対して、順次状態遷移01→00→10または01→11→10は、実効キャパシタンスCA+CCを有する。同様に、同時状態遷移10→01は、実効キャパシタンスCB+2CCを有するのに対して、順次状態遷移10→00→01または10→11→01は、実効キャパシタンスCB+CCを有する。従って、逆方向スイッチングの状態遷移における実効キャパシタンスについては、同時遷移の場合の方が順次遷移の場合に比較して、CCだけ大きいことがわかる。従って、逆方向スイッチングにおける同時遷移は、結合キャパシタンスにより消費電力を増加させる。
【0027】
前述の説明は、00→11及び11→00のAB状態遷移(すなわち同方向スイッチング)を同時に実行することは、00→11及び11→00のAB状態遷移を順次実行するのに比較して、電力効率が良いことを示すものである。しかしながら、対を成す配線上で同時同方向遷移により省電力化を達成することは困難である。なぜなら、意図的に信号の状態遷移を合わせることは困難だからである。この困難は、信号を駆動する論理内のパス長の違い、制御不能なプロセス変化、及び配線の電気環境の予測不能な変化などによる。
【0028】
本発明は、後述のように、同時遷移を実際に実行することなく、配線Bのトライステート化により、同時遷移の数学的効果をシミュレートすることを開示するものである。トライステート化は、配線が幾つかの異なるポイントから双方向にドライブされることを可能にする。トライステート化された配線において、異なる駆動ポイントの各々が切替え可能な制御を含み、これにより、ある時点にあるドライバが電圧を制御するのを可能にする一方、他のドライバは非制御ハイインピーダンス状態に切り替えられる。任意の時点にいずれのドライバもイネーブルされない場合、トライステート化された配線は、ハイインピーダンス状態にフローティングまたは浮遊されると言われる。このフローティング期間中、電荷、従って配線上の電圧が、結合キャパシタンスを通じて隣接ネットから注入される電流により変化する。付録Aは、配線をトライステート化する様々な技術を開示する。
【0029】
AB状態遷移において、その遷移を完了する前に、配線Bがトライステート化される。AB状態遷移シーケンスは、次のようである。すなわち、最初に配線Bがトライステート化され、次に配線Aが配線Aの遷移を行い、最後に配線Bが配線Bの遷移を完了する。これらのステップは、同時に実行されるのではなく、順次実行される。ここで00→01、01→00、10→11、及び11→10の状態遷移に対して、新たな配線A状態は導入されないことを述べておく。
【0030】
配線Bをトライステート化する状況において、次のタイミング要件が、配線A及び配線Bの前述の遷移シーケンスに当てはまる。クロック・サイクルが期間Tを有し、時刻がクロック・サイクルの開始時刻(0)を指し示すものとする。また、配線Aの信号が、時刻tA1以降に状態遷移を開始でき、この信号が時刻tA2までに状態遷移を完了できると仮定する。従って、次式で示すように、配線A上の全ての状態遷移が、時刻tA1と時刻tA2との間に発生しなければならない。
【数6】
0<tA1<tA2<T (6)
【0031】
時刻tA1及びtA2は、配線Aの全ての既知の時間遅延及び許容差を考慮し、また時刻tA1及びtA2は、あらゆるこうした配線Aに対して知られていると仮定する。従って、配線Bが初期B状態から最終B状態に遷移する場合、配線Bは0とtA1との間のある時点に、初期B状態からトライステート化されなければならない。従って、配線Bが配線Aに関連してトライステート化可能か否かを決定するために、時間間隔tA1が、配線Bがトライステート化されるのに十分な時間であるか否かを評価しなければならない。十分でない場合、配線Bはトライステート化されない。更に、配線Bが配線Aに関連してトライステート化可能か否かを決定するために、時間間隔T−tA2が次の観点から、すなわち、配線Bがそのトライステート状態からその最終B状態に遷移し、その最終B状態値が任意の続く論理変化を通じて、記憶素子(例えばラッチ)に伝播され、そこに記憶されるのに十分な時間であるか否かという点で、評価されなければならない。十分でない場合、配線Bはトライステート化されない。
【0032】
同時状態遷移の数学的効果をシミュレートするために、B配線がトライステート化される間、B配線を下流の論理回路から切り離し、B配線から下流の論理回路への不要な信号伝搬を阻止するために、ブロッキング機能が使用される。配線Bが0から1への、或いはその逆の状態遷移を行う場合、B配線はトライステートの間、中間電圧にあり、これは0または1の電圧と異なり、それらの中間である。従って、B配線を下流の論理回路から切り離すことは、中間電圧の信号が下流の論理回路に伝搬することを阻止する。AB状態遷移全体は、一般にクロック・サイクルの間に発生する。従って、ブロッキング機能は時間制限を受け、B配線がそのトライステートからその最終状態に遷移した後、そして次のクロック・サイクルが開始する前に、オフされなければならない。付録Aは、ブロッキング機能に関する追加情報を提供する。
【0033】
図1を参照して、配線Bをトライステート化する例として、配線Bが0から1への状態遷移を行っている場合、配線Bは最初に"0"状態であり、そのときプルアップ素子26は開かれており、プルダウン素子28は閉じられている。次に配線Bは、プルダウン素子28を開くことにより、トライステート化される。そして、配線Bはプルアップ素子26を閉じることにより配線Bの遷移を完了する。
【0034】
配線Bをトライステート化する別の例として、配線Bが1から0への状態遷移を行っている場合、配線Bは最初に"1"状態であり、そのときプルアップ素子26は閉じられており、プルダウン素子28は開かれている。次に配線Bは、プルアップ素子26を開くことによりトライステート化される。そして、配線Bはプルダウン素子28を閉じることによりBの遷移を完了する。
【0035】
配線Bがトライステート化されるとき、配線Bの電圧レベルはXによって表現され、ここでXは次のように与えられる。
【数7】
X=CC/(CC+CB) (7)
【0036】
図3は、本発明の実施例に従い、配線Aの2状態モデル(すなわち0及び1)及び配線Bのトライステート・モデル(すなわち0、1及びT)にもとづき、図1の配線A及び配線Bの状態遷移を示す。Tは、配線Bがトライステート化されるときの、すなわち、Bがハイインピーダンス状態のときの、配線Bの状態を表す。図2に関連して述べた代替実効キャパシタンスの議論は、図3にも同様に当てはまる。
【0037】
図3では、配線A及び配線Bの8つの状態("AB"状態)が、次のように示される。尚、配線Bはトライステート化され、VDDは1Vに正規化される。
【表2】
【0038】
図3は、図2に関連する4つの新たな状態(0,−X;0,1−X;1,X;1,1+X)を示し、これらは配線Bがトライステート化される間に、容量結合により駆動される中間電圧に対応する。図3はまた、前記の8つのAB状態対の間の状態遷移を示す。図3は更に、こうした各状態遷移において、電源10(図1参照)から供給される電流により充電されなければならない実効キャパシタンスを示す。例えば、図3は、00→1,Xの状態遷移において、CA+XCBの実効キャパシタンスを示す。各状態遷移において供給されなければならない電荷は、実効キャパシタンスとVDDとの積に等しい。VDDはここでは1Vに正規化されるので、供給されなければならない電荷は、数的に実効キャパシタンスに等しい。
【0039】
Bのトライステート化により、初期AB状態から最終AB状態への状態遷移が同時に実行されるのではなく、順次実行される。しかしながら、以下で4つの例で述べるように、全ての順次ステップの完了後の、トライステートによる実効キャパシタンスCTRIは、数学的に、同時状態遷移による実効キャパシタンスCsIMと等価である。
【0040】
第1の例では、状態遷移が00→11である。図2から、CSIM(00→11)=CA+CBである。図3から、CTRI(00→11)は順次状態遷移により、次のように計算される。すなわち、
【数8】
【0041】
第2の例では、状態遷移が11→00である。図2から、CSIM(11→00)=0である。図3から、CTRI(11→00)は順次状態遷移により、次のように計算される。すなわち、
【数9】
【0042】
第3の例では、状態遷移が01→10である。図2から、CSIM(01→10)=CA+2CCである。図3から、またXに対して式(7)を用いて、CTRI(01→10)は順次状態遷移により、次のように計算される。すなわち、
【数10】
【0043】
第4の例では、状態遷移が10→01である。図2から、CSIM(10→01)=CB+2CCである。図3から、またXに対して式(7)を用いて、CTRI(10→01)は順次状態遷移により、次のように計算される。すなわち、
【数11】
【0044】
前述の例は、B配線のトライステート化が同時状態遷移をシミュレートすることを示す。B配線のトライステート化による同時状態遷移のシミュレーションは、物理的なシミュレーションではなく、同時状態遷移の数学的効果のシミュレーションであることが理解できよう。B配線のトライステート化により、A配線及びB配線の状態遷移が同時に実行されるのではなく順次実行される。
【0045】
従って、本発明は真に同時の状態遷移を、B配線のトライステート化を通じて、順次状態遷移によりシミュレートすることを可能にする。真に同時の状態遷移は、前述のように有意な実用的な困難を提示するが、B配線のトライステート化を含む順次状態遷移は、既存の技術により実現できる。前述のように、付録Aは配線をトライステート化する様々な技術を開示する。
【0046】
要するに、同方向スイッチング(すなわち状態遷移00→11及び11→00)のための同時遷移は、結合キャパシタンスに関連する消費電力を除去するが、こうした同時遷移は実現が極めて困難である。しかしながら、配線Bのトライステート化を使用することにより、同時遷移の数学的効果をシミュレートすることが可能で、同時遷移の利点を達成できる。結果的に、配線Bのトライステート化を同時方向スイッチングのために使用可能で、結合キャパシタンスに関連する消費電力を除去することができる。
【0047】
消費電力は一般に、チップ上の全ての遷移に渡り同時に消費される平均電力として予測されるので、結合キャパシタンスに関わる単一の遷移による電力の絶対予測精度は重要ではない。従って、本発明は、全ての遷移に渡り消費される平均電力に関係して、各遷移での電力の潜在的な節約を評価するために、任意の所与のマシンサイクル内で発生し得る各状態遷移の確率を考慮する。本発明は平均消費電力を低減する可能性を提供するのと同時に、過剰設計の必要性を低減する。
【0048】
同時遷移は同方向スイッチングの消費電力を低減する一方で、逆方向スイッチングの消費電力を増加させる。従って、同時遷移をシミュレートするためのB配線のトライステート化は、消費電力を低減するために、選択的に採用されなければならない。配線A及び配線Bを前提とすると、B配線のトライステート化が消費電力を低減するか否かは、クロック・サイクルの間に発生し得る様々な状態遷移の相対確率に依存する。特に、配線A及び配線Bのクロック・サイクル内で、同方向スイッチングの確率(ψSD)が逆方向スイッチングの確率(ψOD)を超える場合、トライステート化は潜在的に消費電力を低減する。トライステート化は次の場合に最も有効である。すなわち、
【数12】
ψSD ≧ ψSD,MIN (8)
【0049】
ここでψSD,MINは、例えば0.60、0.70、0.80、0.90などの、所定値またはユーザ選択値である。尚、ψSD,MINはアプリケーションに依存する。図4に固有のアルゴリズムを実現するコンピュータ・ソフトウェアの状況では、"所定値"の例が、コンピュータ・ソフトウェアにエンコードまたはハードワイヤードされた値であり、"ユーザ選択値"の例は、コンピュータ・ソフトウェアのユーザがコンピュータ・ソフトウェアに入力として提供する値である。"所定値またはユーザ選択値"は一般に、ここでは略して"事前選択値"と置換されてもよい。
【0050】
ψODがψSDを超える場合、トライステート化の電力低減効果は、"逆トライステート化"を利用することにより、すなわちトライステート化をB配線の反転("B反転")と組み合わせることにより、潜在的に実現可能である。B反転は反対方向スイッチングを同方向スイッチングに、次のように変換する。A配線及びB配線が共通ランレングスを有し、共通ランレングスに沿って、互いに接近するものとしよう。共通ランレングスの開始位置から、共通ランレングスの終了位置に、B反転が存在する。共通ランレングスの開始位置では、B配線上の電圧B1がB1からNOT B1に反転される。共通ランレングスの終了位置では、B配線上の電圧B2がB2からNOT B2に反転される。B反転はψSD及びψODを効果的に交換し、A配線及びB配線を、同方向スイッチングに関して確率ψODで、また逆方向スイッチングに関して確率ψSDで従事させる。ψODがψSDを上回るので、トライステート化を使用することにより、B反転が正味の消費電力の増加を、正味の消費電力の減少に変換する。但し、B反転は共通ランレングスの開始及び終了位置において、余分なインバータを使用するので電力の損失を伴う。電力のこの追加の損失は小さく、本発明によるトライステート化の適用から得られる消費電力の低減により、十分に埋め合わせされるであろう。反転トライステート化を含むか否かは、B反転の電力損失、及びB反転を許可しないかもしれない設計制約に依存する。従って、トライステート化は同方向スイッチングに適用可能で、反転トライステート化は、逆方向スイッチングに有益かもしれないと言える。反転トライステート化は、次の場合に最も有効である。すなわち、
【数13】
ψOD ≧ ψOD,MIN (9)
【0051】
ここでψOD,MINは事前に選択された値であり、例えば0.60、0.70、0.80、0.90などである。尚、ψOD,MINはアプリケーションに依存する。
【0052】
前述のように、状態遷移01→10において、トライステート化を行い、B反転無しの場合の実効キャパシタンスCTRI(01→10)は、CA+2CCである。それに対して、反転トライステート化により、CTRI(01→10)は、同時状態遷移00→11の実効キャパシタンスCA+CBとなる。同様に、状態遷移10→01において、トライステート化を行い、B反転無しの場合の実効キャパシタンスCTRI(10→01)は、CB+2CCである。それに対して、反転トライステート化により、CTRI(10→01)は、同時状態遷移11→00の実効キャパシタンス、すなわち0となる。
【0053】
B配線の直接トライステート化または反転トライステート化による消費電力の低減は、A配線とB配線との間の実効キャパシタンスCCに依存する。式(4)は、CCが配線A及び配線Bの共通ランレングスLCOMMONと配線間間隔WSPACINGとの比として変化することを示す。B配線の直接トライステート化に起因する消費電力の低減ΔPは、配線A及び配線Bの所与の対に対して、次のように変化する。すなわち、
【数14】
ΔP ∝(ψSD−ψOD)LCOMMON/WSPACING (10)
【0054】
同様に、B配線の反転トライステート化に起因する消費電力の低減ΔPは、配線A及び配線Bの所与の対に対して、次のように変化する。すなわち、
【数15】
ΔP ∝(ψOD−ψSD)LCOMMON/WSPACING (11)
【0055】
チップにおいて、小さな割合の配線対だけをトライステート化すると、消費電力が著しく低減する。なぜなら、ほとんどの配線対は大変隔たっているか(すなわちWSPACINGが非常に大きい)、結合キャパシタンスを通じての消費電力への影響が無視できるほど、小さな共通ランレングス(すなわちLCOMMON)を有するからである。結合キャパシタンスに関連付けられる消費電力を低減するトライステート化は、大きな共通ランレングスを有し、同方向スイッチングまたは逆方向スイッチングを有する接近する配線対に、選択的に適用されるべきである。
【0056】
トライステート化のために配線対を選択する2つの実施例について、ここでは述べることにする。第1の実施例では、本発明のトライステート化を検討する前に、物理設計が前もってセットされる。従って、第1の実施例では、LCOMMON及びWSPACINGが予め決定される。第2の実施例では、物理設計が流動的であり、LCOMMON及びWSPACINGが、物理設計制約と、トライステート化による消費電力の低減要件の両方に従い、回路配置または経路変更により変更される。
【0057】
図4は、第1の実施例に関連付けられるプロシージャ・ステップを示すアルゴリズムである。特に図4は、本発明に従いトライステート化する配線対を決定するプロセスのフローチャートであり、そこでは配線の物理レイアウトが本来確立されている。図4はN配線を有するチップに当てはまり、Nは少なくとも2である。図4のステップ50は、N配線の内、"好適な隣接配線"と対にされることにより、最大の電力を潜在的に節約するI個(2≦I≦N)の高電力配線を識別する。高電力配線は1マシンサイクル内でスイッチされる高い確率ψを有し、大きな配線長LWIREを有する。ψの高い値は、同方向スイッチング確率ψSDの、または逆方向スイッチング確率ψODの高い値を保証しないが、高電力配線候補が別の配線と対にされると、ψの低い値がψSD及びψODの低い値を保証する。同様に、LWIREの高い値は、高い共通ランレングスLCOMMONを保証しないが、高電力配線候補が別の配線と対にされると、LWIREの低い値がLCOMMONの低い値を保証する。従って、ステップ50でN配線から次式を満足するI個の高電力配線が選択される。すなわち、
【数16】
ψ ≧ ψMIN (12)
及び
【数17】
LWIRE ≧ LWIRE,MIN (13)
【0058】
ここでψMINは、1クロック当たりの事前に選択された最小スイッチング確率であり、LWIRE,MINは事前に選択された最小配線長である。尚、ψMIN及びLWIRE,MINはアプリケーションに依存する。従って、"高電力配線"はここでは、1マシンサイクル内でスイッチされる確率ψが式(12)を満足し、その配線長LWIREが式(13)を満足する配線として定義される。
【0059】
ステップ52は、各高電力配線i(i=1,2,..,I)に対して、好適な隣接配線を見いだすために、外部ループを確立する。ステップ52は各外部ループ反復に対してiを固定する。
【0060】
ステップ54は内部ループを開始し、これは配線jを指標付けして、配線jが配線iの好適な隣接配線か否かを判断する。従って、ステップ54はjを固定し、こうした内部反復の各々に対してjを増分する。配線jは、配線iを含まないN配線の内の配線に相当する。従って、配線iの好適な隣接配線の候補である配線jは、配線iに十分近接する。すなわち、配線iと配線jとの間の配線間間隔WSPACINGが、次の条件を満足しなければならない。
【数18】
WSPACING ≦ WSPACING,MAX (14)
【0061】
ここでWSPACING,MAXは事前に選択された最大配線間間隔であり、アプリケーションに依存する。
【0062】
ステップ56は、配線i及び配線jが高い同方向スイッチング確率ψSDか、高い反対方向スイッチング確率ψODを有するかをテストする。すなわち、ステップ58に進むためには、ψSDに関する式(8)、またはψODに関する式(9)が満足されなければならない。式(8)及び式(9)の両方とも満足されない場合、配線jは配線iの好適な隣接配線ではない。この場合、プロシージャは、テストすべき配線ネットjがまだ存在する場合(ステップ70参照)、パス74を通じて、ステップ54で次の内部ループ反復に入るか、もはやテストすべき配線ネットjが存在しないが、まだ選択されるべき配線ネットiが残っている場合には(ステップ71参照)、パス72を通じて、ステップ52で次の外部ループ反復に入る。
【0063】
ステップ58は、配線i及び配線jが十分に大きな共通ランレングスLCOMMONを有するか否かをテストする。すなわち、次の条件が満足されなければならない。
【数19】
LCOMMON ≧ LCOMMON,MIN (15)
【0064】
ここでLCOMMON,MINは事前に選択された最小共通ランレングスであり、アプリケーションに依存する。LCOMMONは例えば、配線i及び配線jが同じ大域配線チャネルを共用するか否か、或いは、これらが共通パスに沿って平行にまたはほぼ並行に、有意な距離だけオーバラップするか否かを識別することにより決定される。LCOMMONの式(15)が、ステップ60に進むために満足されなければならない。式(15)が満足されない場合、配線jは配線iの好適な隣接配線ではなく、更にテストすべき配線ネットjが存在する場合(ステップ70参照)、プロシージャはパス74を通じて、ステップ54で次の内部ループ反復に入るか、もはやテストすべき配線ネットjが存在しないが、まだ選択されるべき配線ネットiが残っている場合には(ステップ71参照)、パス72を通じて、ステップ52で次の外部ループ反復に入る。
【0065】
ステップ60は、配線iの状態遷移の間に、配線jが既にトライステート化済みか否か、すなわち、配線jに対して、トライステート論理が既に提供されているか否かをテストする。提供されている場合、プロシージャはステップ66に進む。提供されていない場合には、ステップ62に進む。ステップ58は、配線jがクロックサイクルの一部分の間にトライステート化され得ることを考慮する。
【0066】
ステップ62は、設計制約が配線jのトライステート化を許可しないかもしれないので、配線jがトライステート化可能か否かをテストする。一般に、配線jがトライステート化不能でない限り、配線jはトライステート化可能である。例えば、配線iが式(6)で配線Aを表すと仮定すると、配線jは、トライステート化が式(6)に関連付けられるタイミング要件を満たせない場合、すなわち、配線jのトライステート化を時刻tA1以前に達成できない場合、または配線jがそのトライステートからその最終状態に遷移するのに十分な時間がない場合、トライステート化できない。別の例として、トライステート化による犠牲または費用が、トライステート化による電力低減を上回る場合、配線jはトライステート化することができない。配線jがトライステート化可能か否かを決定するために使用される特定の基準は、アプリケーションに依存する。
【0067】
配線jがトライステート化可能な場合、プロシージャはステップ64に進み、トライステート論理を配線jに追加し、次にステップ66に進む。配線jがトライステート化不能な場合には、プロシージャは、更にテストすべき配線ネットjが存在する場合(ステップ70参照)、パス74を通じて、ステップ54で次の内部ループ反復に入るか、もはやテストすべき配線ネットjが存在しないが、まだ選択されるべき配線ネットiが残っている場合には(ステップ71参照)、パス72を通じて、ステップ52で次の外部ループ反復に入る。ステップ62は、信号(一般にクロック)が配線jのソース及びシンクの両方において使用可能であり、信号が配線jをトライステート化し、配線jのシンクにおいて、中間電圧伝搬をブロックすなわちブロックできるものとみなす。前述のように、配線jのトライステート化がタイミング問題を発生しないように、トライステート化及びブロッキングの終わりは、配線i上において、要求される到来時刻(RAT)の前に発生しなければならない。配線iのスイッチング・ウィンドウ(すなわち、配線iの早期及び遅延モード到来時刻の間の期間)は、配線jのトライステート期間内に入るべきである。
【0068】
ステップ66はステップ56の結果、すなわち配線i及び配線jが、高い同方向スイッチング確率ψSDまたは高い逆方向スイッチング確率ψODを有するか否かを調査する。配線i及び配線jが高い同方向スイッチング確率ψSDを有する場合、配線jは、配線iの好適な隣接配線として、配線iと対にされ、プロシージャは次にステップ68に進む。配線i及び配線jが高い逆方向スイッチング確率ψODを有する場合、配線jの反転トライステート化が許可されても、許可されなくてもよい。なぜなら、反転トライステート化は任意選択であるからである。配線jの反転トライステート化は、配線jの反転トライステート化による犠牲が、反転トライステート化による消費電力の節約を上回る場合、実行されなくてもよい。別の例として、配線jの反転トライステート化は、式(6)に関連づけられるタイミング要求を満たすことができないかもしれない。従って、配線i及び配線jが高い逆方向スイッチング確率を有し、反転トライステート化が配線jに対して許可される場合、ステップ66は配線jに対して、反転トライステート論理を追加でき、配線jは配線iの好適な隣接配線として、配線iと対にされる。次に、プロシージャはステップ68に進む。配線i及び配線jが高い逆方向スイッチング確率を有し、反転トライステート化が配線jに対して許可されない場合、配線jは配線iの好適な隣接配線ではなく、プロシージャは、更にテストすべき配線ネットjが存在する場合(ステップ70参照)、パス74を通じて、ステップ54で次の内部ループ反復に入るか、もはやテストすべき配線ネットjが存在しないが、まだ選択されるべき配線ネットiが残っている場合には(ステップ71参照)、パス72を通じて、ステップ52で次の外部ループ反復に入る。
【0069】
ステップ66で、配線jが配線iの好適な隣接配線であると判断されると、次にステップ68に移行する。WSPACINGは式(14)を満足するが、ステップ68は物理設計制約による許可に従い、共通ランレングスLCOMMONに沿って、できるだけ長い距離、配線jを配線iに更に近づけ、それによりWSPACINGを最小化し、式(10)または式(11)の観点から、消費電力低減ΔPを増加させようとする。WSPACINGの低減は、配線iとjとの間の結合キャパシタンスを増加させる一方で、配線iとjとの間の非結合キャパシタンスを低減する。なぜなら、WSPACINGが減少すると、通常他の導体(チップ基板内の導体)内で終端する電界線が逸れ、配線i及び配線jが結合される導体(例えば配線)内で終端するようになるからである。ステップ68は要求されるステップではない。なぜなら、配線jをトライステート化する全ての基準が、ステップ68以前に既に満足されているからである。ステップ68での配線jの移動は、設計制約により、実行可能でないかもしれない。或いは、WSPACINGが少量だけしが低減されない場合、ほとんど価値のないことかもしれない。逆に、ステップ68での配線jの移動が、WSPACINGの大幅な低減を生じ、従って実行する価値があるかもしれない。
【0070】
ステップ68の後、ステップ70に従い、内部ループ内でテストすべき配線jが存在する場合、プロシージャは論理パス74を通じて、ステップ54で次の内部ループ反復に入る。ステップ68の後、ステップ70に従い、内部ループ内でもはやテストすべき配線jが存在しない場合、プロシージャはステップ71に移行し、まだ選択されるべき配線iが残っているか否かをテストする。
【0071】
ステップ71が実行され、更に選択されるべき配線が存在すると判断される場合、プロシージャは論理パス72を通じて、ステップ52で次の外部ループ反復に入る。一方、ステップ71実行され、もはや選択されるべき配線が存在しないと判断されるとプロシージャは終了する。
【0072】
各高電力配線iに対して、図4の内部ループは、配線iのJ個の好適な隣接配線を見いだす。配線iのこうした好適な隣接配線が存在しない場合には、J=0である。配線iの少なくとも1つの好適な隣接配線が存在する場合、J>0である。従って、図4の内部ループは、各高電力配線iの少なくとも0個の、すなわちJ=0の場合、及びJ>0の場合を含む、好適な隣接配線を見いだす。
【0073】
図4は特定のシーケンス内の特定のステップを示すが、当業者には明らかな図4の変形についても、本発明の範囲内に含まれる。例えば、ステップ56及びステップ58の順序が逆転されてもよい。
【0074】
図4の変形は、ステップ50で導出された高電力配線を、N配線により置換する。すなわち、外部ループ指標iが1からIの代わりに、1からNを取る。この第1の変化は、図4のアルゴリズムを実現する高速コンピュータにより、ステップ50で配線を選択的にフィルタにかける必要がないと認識する。図4のこの変化は、N配線内のあらゆる配線対をテストし、好適な隣接配線組み合わせを決定し、2つの特定の配線が高い結合キャパシタンス、及び同方向または逆方向の高いスイッチング確率を有することを認識する。これは、たとえいずれの2つの特定の配線も、技術的に高電力配線としてみなされなくても実施される。
【0075】
図4の別の変形は、ステップ60に進むために、ステップ54及び58を、次の条件(16)を満足する配線i及び配線jを要求する1度のテストに結合するものである。
【数20】
FLW ≧ FLW,MIN (16)
【0076】
ここでFLWは次のように定義される。
【数21】
FLW=LCOMMON/WSPACING (17)
【0077】
ここでFLW,MINはFLWの事前選択最小値である。式(16)及び式(17)にもとづくこの変化は、ステップ56の実行を要求し、これにより式(8)または式(9)が満足される必要がある。
【0078】
以上、図4のアルゴリズムの2つの実施例について開示したが、これら2つの実施例の各々は、LCOMMON及びWSPACINGに関わる少なくとも1つの数学的関係を満足した。一方の実施例では、少なくとも1つの数学的関係が式(14)及び式(15)を含んだ。他の実施例では、少なくとも1つの数学的関係が式(16)及び式(17)を含んだ。一般に本発明では、少なくとも1つの数学的関係が、LCOMMON及びWSPACINGに関わる数学的関係の任意のセットを含む。例えば、配線対を決定するにおいて、結合キャパシタンスに関連する省電力化の条件が、他の設計条件に対して重んじ過ぎたり、逆に軽んじ過ぎたりし得る。結合キャパシタンスが重んじ過ぎられる場合、少なくとも1つの数学的関係が、(LCOMMON/WSPACING)Pに依存する。但し、P>1(例えばP=2)である。逆に、結合キャパシタンスが軽んじられ過ぎる場合、少なくとも1つの数学的関係が、(LCOMMON/WSPACING)Pに依存する。但し、P<1(例えばP=1/2)である。一般に、LCOMMON及びWSPACINGに関わる少なくとも1つの数学的関係は、アプリケーションに依存する。
【0079】
物理レイアウトの小さな変更を可能にするステップ68とは別に、前述の図4の方法論は、本発明のトライステート化が考慮される以前に、物理設計が確立され、またLCOMMON及びWSPACINGにが所定値として与えられることを前提とする、本発明の第1の実施例に関連する。しかしながら、幾つかの変形により、図4は、物理設計が流動的な本発明の第2の実施例にも使用され、そこでは物理設計制約と、トライステート化による消費電力の低減要件の両方に従い、WSPACINGが回路配置または経路変更により変更される。
【0080】
第2の実施例では、配線の配置が流動的で、配線を移動することができる。第2の実施例では、図4のステップ54が、配線jが配線iに近接しなければならないという要件を排除するように変更される。すなわち、式(14)がステップ54で考慮されない。従って、ステップ54は、式(14)を満足するために、配線iに十分近くない配線jを除外することはない。ステップ54は主に、配線指標jをセット及び更新する機能をする。更に、ステップ58が除去される。なぜなら、式(15)を満足する配線iとの共通ランレングスを達成するために、必要に応じて、配線jを移動または経路変更することが可能だからである。ステップ68に移行するとき、配線jが配線iにとって好適な隣接配線であるか否かは、まだ決定されていない。従って、ステップ68は、式(14)を満足するように、配線jが配線iの十分近くに配置されているか否か、または、式(14)を満足するように、配線iの十分近くに移動可能か否か、また配線jが式(15)を満足する共通ランレングスを有するか否か、または式(15)を満足するように移動され、再位置合わせ可能か否かを判断するように変更される。式(14)及び式(15)が他の設計制約を犯すことなく満足される場合、配線jは配線iの好適な隣接配線であるか、移動、位置合わせ、または経路変更を通じて、配線iの好適な隣接配線とされる。そうでない場合、配線jは配線iの好適な隣接配線ではない。式(14)及び式(15)を満足するために、配線jが配線iに対して移動、位置合わせ、または経路変更可能か否かは、物理設計制約の検討の他に、配線jの位置変更に関連するコストや、配線jのトライステート化及びブロッキングに関連するコストの検討を含む。
【0081】
第2の実施例は、図4で述べた第1の実施例と基本的に異なる。第1の実施例では、初期に配線iに接近する配線j(すなわち初期に式(14)を満足する配線j)だけが、配線iの好適な隣接配線であり、こうした好適な配線jがステップ68に従い、配線iに近づくように移動される。第1の実施例では、本発明による省電力化は初期配線配置により制限され、初期に遠くに隔たる配線対は、たとえそれらの一部の配線対が、チップの全体消費電力を有利に低減するような、十分に高い同方向または逆方向スイッチング確率、及び十分に大きな共通ランレングスを有しているとしても、トライステート化アプリケーションにおいて、近くに再配置されることはない。
【0082】
第2の実施例では、物理配置及び設計制約により、配線jが式(14)を満足するように、配線iに十分近づくように移動することを阻止されない限り、任意の配線jが、その初期配置に拘わらず、配線iの好適な隣接配線となり得る。更に、配線jが配線iの好適な隣接配線となるために、プロシージャはステップ56、58、60及び66の要件を満足することを前提として、ステップ68に進めるべきである(すなわち、高い同方向または逆方向スイッチング確率、大きな共通ランレングスなどの要件が、満足されなければならない)。第2の実施例によれば、本発明による省電力化は初期配線配置により制限されなくなり、初期に遠く隔たった配線対が、本発明のトライステート化アプリケーションにおいて、近くに再配置されるようになる。従って、第2の実施例によれば、物理レイアウトまたは設計が事前に設定されない。物理配置の決定及び論理設計が、お互いを考慮し合って行われる。本発明の省電力化に関する論理決定は、配線の物理配置にもとづき行われ、他方、物理配置の決定は、配線の論理配置にもとづき行われる。物理配置の検討は、技術的検討とコスト検討の両方を含む。従って、ステップ68は、コスト効果、及び配線jを配線iの近くに配置するための他の物理的制約を、配線jが配線iの近くに配置されたときに、配線jをトライステート化することにより得られる省電力化と比較検討する。このように、本発明の第2の実施例は、論理設計及び物理設計の両者が呼応して発展することを可能にする。
【0083】
第1の実施例及び第2の実施例は、特に、配線iと配線jとの間の配線間隔WSPACINGと、配線iと配線jとの間の共通ランレングスLCOMMONの意味により、区別される。第1の実施例では、WSPACINGが所定の配線間隔であり、LCOMMONが所定の共通ランレングスである。用語"所定の"(predetermined)がWSPACING及びLCOMMONに適用されるとき、これは配線対生成プロシージャ(例えば図4の配線対生成プロシージャ)のインプリメンテーション前に、事前に確定されていることを意味する。第2の実施例では、WSPACINGが確定済みの配線間隔であり、LCOMMONが確定済みの共通ランレングスである。用語"確定済み"(established)がWSPACING及びLCOMMONに適用されるとき、これは第2の実施例に従い変更されるか、或いは(WSPACING及びLCOMMONの)予め確定済みの値が、変更の必要無しに最適であるか、最適に近いために、予め決められていることを意味する。
【0084】
図5は、本方法が適用され、トライステート化及びブロッキング回路が追加された後に、"ビン"(bin)601乃至616に分割されたチップ600を示す。図5は、本発明の第2の実施例に従い、配線の物理配置及び論理配置が実現される様子を示す。チップ600のビン環境は、配線網の論理変更が、配線の物理配置の間に行われることを可能にする。ビン601乃至616は、カット・ベースの配置プログラムと、カットの間に実行される一連の操作とにより生成される。カット・ベースの配置プログラムは、チップ600面積及びチップ600上の回路を、再帰的に分割する。カット・ベースの配置プログラムは、チップ600を2つに分割することにより開始する(チップ600を4つの部分に分割する四等分方法もしている)。次に、これらの半分の各々が2つに分割される。以下こうした操作が繰り返される。初期には、チップ600上の回路の最終的な位置に関して、何も知られていない。カットの各セットの後、回路位置が洗練される。配置プロセスの任意の時点において、チップ600が分割された領域は、"ビン"と呼ばれる。この方法において、様々な"論理合成"アクション(すなわち一般に配線を変更する任意のアクション)が、配置カットのセット間で実行され、現在使用可能な回路配置の洗練された知識にもとづき、配線網の変更を可能にする。典型的なアクションには、バッファリング、クローニング(回路を複製し、そのファンアウトをオリジナル回路とコピーとの間で分配する)、ファクトリング、ピン・スワッピングなどが含まれる。しばしば、回路もビンの間で移動される。
【0085】
本発明は、ビンが十分に小さく、全てのビン内配線が本発明を有利に適用するには短すぎるが、本方法により導入され得る追加の論理を吸収するにはまだ十分に大きいという状況にまで、配置が進んだ後に、潜在的に好適な隣接配線の対を識別することにより、図5のビン環境において実現できる。
【0086】
図5は、ソース81、シンク82、及びシンク83を有する配線ネット80を示す。図5はまた、ソース91、シンク92、及びシンク93を有する配線ネット90を示す。配線ネット80及び90は、オーバラップするランレングス77に沿って、接近して間隔をあけられる。配線ネット80及び90のこうした近接は、配線ネット80及び90が遠く隔たっていた初期配置からの、配線ネット80及び90の一方または両方の移動に起因し得る。配線ネット80または配線ネット90のいずれかがトライステート化され得る。例えば、クロック信号がソース81及びシンク82及び83において使用可能な場合、配線ネット80がトライステート化される。すなわち、クロック信号が配線ネット80をトライステート化し、配線ネット80のシンク82及び83において、中間電圧伝搬をブロックすなわち阻止する。
【0087】
第1の実施例または第2の実施例のいずれかにおいて決定された配線対が、各配線対に関連付けられる省電力化に従い、ランク付けされてもよい。次に、配線対のリストが、省電力化の昇順または降順(或いはソート順)に生成される。このリストは、所定の切り捨て基準に従い、省電力化の収穫逓減ポイントで切り捨てられてもよい。任意の切り捨て基準が使用され得る。例えば、切り捨て基準が、トライステート化の犠牲及び費用に対して、省電力化を平衡化してもよい。
【0088】
本発明によるトライステート化がかなりな量の平均電力を節減しない場合、本発明はピーク電力を低減するために使用されてもよい。ピーク電力の低減は、互いに接近する配線ネットを有するのを回避することにより達成される。こうした配線ネットは同時にスイッチする可能性があり、同方向スイッチング確率が逆方向スイッチング確率と有意差があるとは言えない。従って、こうした配線ネットは、半分の時間だけ(それらが反対方向に同時にスイッチするとき)高い電力を消費し、残りの半分の時間(同方向にスイッチするとき)は、電力を節減する。こうした接近する配線ネットを有するのを回避することにより、ピーク電力への結合キャパシタンスの寄与が実質的に軽減または除去される。
【0089】
図6は、本発明の実施例に従い配線対を選択するコンピュータ・システム700を示す。コンピュータ・システム700は、プロセッサ710と、プロセッサ710に接続される入力装置711と、プロセッサ710に接続される出力装置712と、各々がプロセッサ710に接続されるメモリ装置713及び714とを含む。入力装置711は、例えばキーボードまたはマウスなどである。出力装置712は、例えばプリンタ、プロッタ、コンピュータ画面、磁気テープ、取り外し可能ハードディスク、或いはフロッピー(R)ディスクなどである。メモリ装置713及び714は、例えばハードディスク、ダイナミック・ランダム・アクセス・メモリ(DRAM)、読出し専用メモリ(ROM)などである。メモリ装置714はコンピュータ・コード717を含む。コンピュータ・コード717は、ここで述べたように、本発明に従い配線対を選択するアルゴリズムを含む。プロセッサ710はコンピュータ・コード717を実行する。メモリ装置713は入力データ716を含む。入力データ716は、コンピュータ・コード717により要求される入力を含む。出力装置712は、コンピュータ・コード717からの出力(選択された配線対など)を表示する。
【0090】
図6は、コンピュータ・システム700をハードウェア及びソフトウェアの特定の構成として示すが、当業者には明らかなように、図6の特定のコンピュータ・システム700に関連して前述した目的のために、ハードウェア及びソフトウェアの任意の構成が使用される。例えば、メモリ装置713及び714は別々のメモリ装置ではなく、単一のメモリ装置の一部であってもよい。別の例として、コンピュータ・コード717がメモリ装置714に含まれる代わりに、メモリ装置713に含まれてもよい。
【0091】
前述の議論は、チップ(例えば半導体チップ)内の配線、及び電圧状態間の配線遷移について述べたが、本発明の範囲は、電子装置または配線構造内の配線、及び電圧状態間の配線遷移を包含する。
【0092】
本発明の実施例は例証のために述べたもので、当業者であれば、多くの変更及び変形が明らかであろう。従って、本発明はこうした変更及び変形についても、本発明の趣旨及び範囲内に含まれるものである。
【0093】
付録A:配線のトライステート化:
配線をトライステート化するために、異なる方法を使用することができる。一部の方法では、信号を反転する。単純な方法は、図7に示される周知のトライステート・ドライバ200であり、これはインバータ208を使用して入力201を反転し、イネーブル信号203の論理値に従い、出力202を選択的にハイインピーダンス状態にする。こうしたトライステート・ドライバ200のインプリメンテーションが図8に示される。図8は、トライステート素子の共通の静的変形であるトライステート構造300を示す。トランジスタ204及び205は、Pチャネル・トランジスタである。トランジスタ206及び207は、Nチャネル・トランジスタである。入力201、出力202、及びイネーブル203は、図7に示される通りである。イネーブル信号がハイの場合、Pチャネル・トランジスタへのゲートがオンとなり、Nチャネル・トランジスタ207も、Pチャネル・トランジスタ204とNチャネル・トランジスタ207との間の反転により、オンとなる。それにより、入力201がPチャネル・トランジスタ205及びNチャネル・トランジスタ206に提供され、出力に対するプルアップ及びプルダウン・パスを制御し、入力の反転が出力に提供される。イネーブル信号203が0であった場合、Pチャネル・トランジスタ204がハイ、従ってオフとなる。同様に、イネーブル信号がローになると、Nチャネル・トランジスタ207がオフになる。この場合、たとえ入力値がPチャネル・トランジスタ205及びNチャネル・トランジスタ206に供給されても、入力値は出力へのプルアップ及びプルダウン・パスのいずれも駆動できない。Pチャネル・トランジスタ204及びNチャネル・トランジスタ207がオフなので、出力信号は中間状態またはフローティングとなる。従って、出力信号にとって、VDD或いはグラウンドへ通じるパスが存在せず、任意の他の出力信号が出力信号をハイまたはローにプルする。
【0094】
信号反転無しに、回路をハイインピーダンス状態にする必要がある場合、パスゲート変形または他のトポロジが、トライステート化のために使用される。例えば、パスゲート変形を示す図9のトライステート構造400などが使用される。トライステート構造400は、入力401、出力402、イネーブル403、インバータ404、Pチャネル・トランジスタ405、及びNチャネル・トランジスタ406を含む。Pチャネル・トランジスタ405及びNチャネル・トランジスタ406は、並列に接続される。図9のトライステート構造400は、図8のトライステート構造300よりも劣る。なぜなら、図9のトライステート構造400は信号利得を提供せず、従って、図8のトライステート構造300よりも遅く、劣化した信号を下流のシンクに送達するからである。
【0095】
配線がハイインピーダンス状態に制御される場合、状態はリークやノイズ、或いは本発明の基本となる意図的な結合により、中間電圧に浮遊する。こうした状態の下で、シンク回路が過剰な電力を消費しないように、注意が払われなければならない。そのためには一般に、信号がシンク位置において使用可能であることが要求され、それによりシンク位置は、配線がハイインピーダンス状態になる度に、潜在的な中間電圧レベルの伝搬を防止できる。この信号はシンクにおいて局所的に生成されるべきである。なぜなら、トライステート化される配線に平行な、追加の制御の伝搬は、省電力化の目的を打ち砕くからである。不要な伝搬を阻止する最も単純な方法は、単純なANDゲート及びORゲートを、配線がハイインピーダンス状態になる度に、これらのゲートを制御するローカル信号と一緒に使用することである。或いは、ラッチが使用されてもよく、この場合、配線がトライステート化されないときだけ、クロック・エッジ(エッジ・トリガ式ラッチの場合)またはレベル(レベル・センス式ラッチの場合)を捕獲するように構成される。
【0096】
配線をトライステート化し、中間論理値の伝搬を阻止するために要求される回路は、それ自身のオーバヘッドを、面積、回路遅延及び電力の見地から設計に捧げる。特殊なトライステート制御信号またはシンク伝搬阻止信号が生成されなければならない場合、追加のオーバヘッドが要求される。従って、利点が犠牲を上回る場合に限り、本方法を選択的に適用することが重要である。一般に、ドライバ及びレシーバの両方の近傍に既に経路指定されているクロック信号は、配線をトライステート化し、中間電圧の伝搬を阻止するために使用される。これは配線をトライステート化するために使用されるクロック・フェーズの終了後に、信号がトライステート・トライバから伝搬するための十分な時間を要求する。信号伝搬を阻止するためにゲートが使用される場合、ゲートをブロッキング状態に強制するための追加のスイッチングが、限られた伝搬を有し、電力を過度に増加しないように、注意を払わねばならない。この理由から、ラッチが中間電圧の伝搬を阻止するための好適な回路と言える。
【0097】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0098】
(1)複数の配線を有する電気配線構造を設計する方法であって、複数の配線から成る第1の配線と、複数の配線から成る第2の配線とを含む少なくとも1つの配線対を識別するステップを含み、前記第2の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有し、前記第1及び第2の配線が、少なくとも1つの数学的関係を満足し、前記数学的関係が、前記第1の配線と前記第2の配線との間の間隔として定義されるWSPACING、及び前記第1の配線と前記第2の配線の共通ランレングスとして定義されるLCOMMONを含む方法。
(2)前記少なくとも1つの数学的関係が、
事前に選択された最大間隔WSPACING,MAX以下のWSPACINGと、
事前に選択された最小共通ランレングスLCOMMON,MIN以上のLCOMMONと
を含む、前記(1)記載の方法。
(3)前記少なくとも1つの数学的関係が、FLW≧FLW,MINを含み、FLWがLCOMMON/WSPACINGとして定義され、FLW,MINがFLWの事前選択最小値として定義される、前記(1)記載の方法。
(4)前記少なくとも1つの配線対を識別するステップが、
少なくとも1つの高電力配線を識別するステップと、
前記少なくとも1つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第1の配線が前記高電力配線であり、前記配線対の前記第2の配線が前記好適な隣接配線である、前記(1)記載の方法。
(5)前記第2の配線がまだトライステート化されてないが、トライステート化可能であり、トライステート化論理を前記第2の配線に追加するステップを含む、前記(1)記載の方法。
(6)ψODがψOD,MIN以上であり、前記共通ランレングスに沿って、前記第2の配線を反転する論理を追加するステップを含む、前記(1)記載の方法。
(7)前記第2の配線がトライステート化されている間に、前記第2の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記(1)記載の方法。
(8)WSPACINGを低減するステップを含む、前記(1)記載の方法。
(9)前記少なくとも1つの配線対が複数の配線対を含み、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記(1)記載の方法。
(10)WSPACINGが所定の間隔であり、LCOMMONが所定の共通ランレングスである、前記(1)記載の方法。
(11)WSPACINGが確定済み間隔であり、LCOMMONが確定済み共通ランレングスである、前記(1)記載の方法。
(12)2線式電圧遷移を実行する方法であって、
キャパシタンスCAを有するA配線と、キャパシタンスCBを有するB配線とを含み、前記A配線と前記B配線との間に結合キャパシタンスCCを有する、電気配線網の2つの配線を提供するステップと、
前記B配線を電圧VB1からハイインピーダンス状態にトライステート化するステップと、
前記B配線をトライステート化した後、前記A配線を電圧VA1から電圧VA2(但しVA2≠VA1)に遷移するステップと、
前記A配線をVA2に遷移した後、前記B配線を電圧VB2(但しVB2≠VB1)に遷移するステップと
を含む方法。
(13)(VA2−VA1)(VB2−VB1)>0である、前記(12)記載の方法。
(14)前記A配線及び前記B配線が、1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有する、前記(13)記載の方法。
(15)VA1=VB1=0及びVA2=VB2=1であり、前記2線式電圧遷移の実効キャパシタンスがCA+CBである、前記(13)記載の方法。
(16)VA1=VB1=1及びVA2=VB2=0であり、前記2線式電圧遷移の実効キャパシタンスが0である、前記(13)記載の方法。
(17)(VB2−VB1)(VA2−VA1)<0であり、前記A配線及び前記B配線が共通ランレングスを有し、前記共通ランレングスに沿って、前記B配線を反転するステップを含む、前記(12)記載の方法。
(18)前記A配線及び前記B配線が1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する、前記(17)記載の方法。
(19)VA1=0、VB1=1、VA2=1、及びVB2=0であり、前記2線式電圧遷移の実効キャパシタンスがCA+CBである、前記(17)記載の方法。
(20)VA1=1、VB1=0、VA2=0、及びVB2=1であり、前記2線式電圧遷移の実効キャパシタンスが0である、前記(17)記載の方法。
(21)前記B配線がトライステート化されている間に、前記B配線からの信号の伝搬を阻止するステップを含む、前記(12)記載の方法。
(22)少なくとも1つの配線対を含む電気配線構造であって、前記配線対が第1の配線と第2の配線とを含み、前記第2の配線がトライステート化されるように予定され、前記配線対が1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有し、前記第1及び第2の配線が、少なくとも1つの数学的関係を満足し、前記数学的関係が、前記第1の配線と前記第2の配線との間の間隔として定義されるWSPACINGと、前記第1の配線と前記第2の配線との共通ランレングスとして定義されるLCOMMONとを含む電気配線構造。
(23)前記少なくとも1つの数学的関係が、
事前に選択された最大間隔WSPACING,MAX以下のWSPACINGと、
事前に選択された最小共通ランレングスLCOMMON,MIN以上のLCOMMONと
を含む、前記(22)記載の電気配線構造。
(24)前記少なくとも1つの数学的関係が、FLW≧FLW,MINを含み、FLWがLCOMMON/WSPACINGとして定義され、FLW,MINがFLWの事前選択最小値として定義される、前記(22)記載の電気配線構造。
(25)前記配線対の前記第1の配線が前記高電力配線であり、前記配線対の前記第2の配線が、前記高電力配線の好適な隣接配線である、前記(22)記載の電気配線構造。
(26)ψODがψOD,MIN以上であり、前記共通ランレングスに沿って、前記第2の配線を反転する論理を含む、前記(22)記載の電気配線構造。
(27)前記第2の配線がトライステート化されている間に、前記第2の配線からの信号の伝搬を阻止するブロッキング論理を含む、前記(22)記載の電気配線構造。
(28)WSPACINGが所定の間隔であり、LCOMMONが所定の共通ランレングスである、前記(22)記載の電気配線構造。
(29)WSPACINGが確定済み間隔であり、LCOMMONが確定済み共通ランレングスである、前記(22)記載の電気配線構造。
(30)キャパシタンスCAを有するA配線と、キャパシタンスCBを有するB配線とを含み、前記A配線と前記B配線との間に結合キャパシタンスCCを有する、配線網の2つの配線を含む電気配線構造であって、
前記B配線が電圧VB1からトライステート状態に遷移した後、前記A配線が電圧VA1から電圧VA2(但しVA2≠VA1)に遷移し、前記A配線が電圧VA2に遷移した後、前記B配線が電圧VB2(但しVB2≠VB1)に遷移するように意図され、前記A配線の電圧VA1から電圧VA2への遷移、及び前記B配線の電圧VB1から電圧VB2への遷移が、2線式電圧遷移として識別される電気配線構造。
(31)(VA2−VA1)(VB2−VB1)>0である、前記(30)記載の電気配線構造。
(32)前記A配線及び前記B配線が、1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有する、前記(31)記載の電気配線構造。
(33)VA1=VB1=0及びVA2=VB2=1であり、前記2線式電圧遷移の実効キャパシタンスがCA+CBである、前記(31)記載の電気配線構造。
(34)VA1=VB1=1及びVA2=VB2=0であり、前記2線式電圧遷移の実効キャパシタンスが0である、前記(31)記載の電気配線構造。
(35)(VB2−VB1)(VA2−VA1)<0であり、前記A配線及び前記B配線が共通ランレングスを有し、前記B配線が前記共通ランレングスに沿って反転される、前記(30)記載の電気配線構造。
(36)前記A配線及び前記B配線が1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する、前記(35)記載の電気配線構造。
(37)VA1=0、VB1=1、VA2=1、及びVB2=0であり、前記2線式電圧遷移の実効キャパシタンスがCA+CBである、前記(35)記載の電気配線構造。
(38)VA1=1、VB1=0、VA2=0、及びVB2=1であり、前記2線式電圧遷移の実効キャパシタンスが0である、前記(35)記載の電気配線構造。
(39)前記B配線がトライステート化されている間に、前記B配線からの信号の伝搬が阻止される、前記(30)記載の電気配線構造。
(40)複数の配線を有する電気配線構造を設計するコンピュータ・システムであって、
プロセッサと、
前記プロセッサに接続される入力装置と、
前記プロセッサに接続される出力装置と、
前記プロセッサに接続される第1のメモリ装置と、
前記プロセッサに接続される第2のメモリ装置と、
前記第2のメモリ装置に記憶され、前記プロセッサにより実行されるコンピュータ・コードと
を含み、前記コンピュータ・コードは、少なくとも1つの配線対を識別するアルゴリズムを含み、前記配線対が、複数の配線から成る第1の配線と、複数の配線から成る第2の配線とを含み、前記第2の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が、1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有し、前記第1及び第2の配線が、少なくとも1つの数学的関係を満足し、前記数学的関係が、前記第1の配線と前記第2の配線との間の間隔として定義されるWSPACINGと、前記第1の配線と前記第2の配線との共通ランレングスとして定義されるLCOMMONとを含むコンピュータ・システム。
(41)前記少なくとも1つの数学的関係が、
事前に選択された最大間隔WSPACING,MAX以下のWSPACINGと、
事前に選択された最小共通ランレングスLCOMMON,MIN以上のLCOMMONと
を含む、前記(40)記載のコンピュータ・システム。
(42)前記少なくとも1つの数学的関係が、FLW≧FLW,MINを含み、FLWがLCOMMON/WSPACINGとして定義され、FLW,MINがFLWの事前選択最小値として定義される、前記(40)記載のコンピュータ・システム。
(43)前記少なくとも1つの配線対を識別するアルゴリズムが、
少なくとも1つの高電力配線を識別するステップと、
前記少なくとも1つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第1の配線が前記高電力配線であり、前記配線対の前記第2の配線が前記好適な隣接配線である、前記(40)記載のコンピュータ・システム。
(44)前記アルゴリズムが、前記第2の配線がまだトライステート化されてないが、トライステート化可能であると判断する場合、前記アルゴリズムがトライステート化論理を前記第2の配線に追加するステップを含む、前記(40)記載のコンピュータ・システム。
(45)前記アルゴリズムが、ψODがψOD,MIN以上であると判断する場合、前記アルゴリズムが前記共通ランレングスに沿って、前記第2の配線を反転する論理を追加するステップを含む、前記(40)記載のコンピュータ・システム。
(46)前記アルゴリズムが、前記第2の配線がトライステート化されている間に、前記第2の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記(40)記載のコンピュータ・システム。
(47)前記アルゴリズムがWSPACINGを低減するステップを含む、前記(40)記載のコンピュータ・システム。
(48)前記アルゴリズムが、前記少なくとも1つの配線対が複数の配線対を含むことを識別する場合、前記アルゴリズムが、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記(40)記載のコンピュータ・システム。
(49)WSPACINGが所定の間隔であり、LCOMMONが所定の共通ランレングスである、前記(40)記載のコンピュータ・システム。
(50)WSPACINGが確定済み間隔であり、LCOMMONが確定済み共通ランレングスである、前記(40)記載のコンピュータ・システム。
(51)複数の配線を有する電気配線構造を設計するコンピュータ可読プログラム・コードを有するコンピュータ可読媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードが、
複数の配線から成る第1の配線と、複数の配線から成る第2の配線とを含む少なくとも1つの配線対を識別するアルゴリズムを含み、前記第2の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有し、前記第1及び第2の配線が、少なくとも1つの数学的関係を満足し、前記数学的関係が、前記第1の配線と前記第2の配線との間の間隔として定義されるWSPACING、及び前記第1の配線と前記第2の配線の共通ランレングスとして定義されるLCOMMONを含むコンピュータ・プログラム製品。
(52)前記少なくとも1つの数学的関係が、
事前に選択された最大間隔WSPACING,MAX以下のWSPACINGと、
事前に選択された最小共通ランレングスLCOMMON,MIN以上のLCOMMONと
を含む、前記(51)記載のコンピュータ・プログラム製品。
(53)前記少なくとも1つの数学的関係が、FLW≧FLW,MINを含み、FLWがLCOMMON/WSPACINGとして定義され、FLW,MINがFLWの事前選択最小値として定義される、前記(51)記載のコンピュータ・プログラム製品。
(54)前記少なくとも1つの配線対を識別するアルゴリズムが、
少なくとも1つの高電力配線を識別するステップと、
前記少なくとも1つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第1の配線が前記高電力配線であり、前記配線対の前記第2の配線が前記好適な隣接配線である、前記(51)記載のコンピュータ・プログラム製品。
(55)前記アルゴリズムが、前記第2の配線がまだトライステート化されてないが、トライステート化可能であると判断する場合、前記アルゴリズムが、トライステート化論理を前記第2の配線に追加するステップを含む、前記(51)記載のコンピュータ・プログラム製品。
(56)前記アルゴリズムが、ψODがψOD,MIN以上であると判断する場合、前記アルゴリズムが前記共通ランレングスに沿って、前記第2の配線を反転する論理を追加するステップを含む、前記(51)記載のコンピュータ・プログラム製品。
(57)前記アルゴリズムが、前記第2の配線がトライステート化されている間に、前記第2の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記(51)記載のコンピュータ・プログラム製品。
(58)前記アルゴリズムがWSPACINGを低減するステップを含む、前記(51)記載のコンピュータ・プログラム製品。
(59)前記アルゴリズムが、前記少なくとも1つの配線対が複数の配線対を含むと識別する場合、前記アルゴリズムが、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記(51)記載のコンピュータ・プログラム製品。
(60)WSPACINGが所定の間隔であり、LCOMMONが所定の共通ランレングスである、前記(51)記載のコンピュータ・プログラム製品。
(61)WSPACINGが確定済み間隔であり、LCOMMONが確定済み共通ランレングスである、前記(51)記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【図1】本発明の実施例に従い、第1の配線、第2の配線、及び電源を有する電気回路を示す図である。
【図2】本発明の実施例に従い、各配線の2状態モデルにもとづく、図1の配線の状態遷移を示す図である。
【図3】本発明の実施例に従い、第1の配線の2状態モデル及び第2の配線のトライステート・モデルにもとづく、図1の配線の状態遷移を示す図である。
【図4】本発明の実施例に従い、各配線対の一方の配線がトライステート化されるように、配線対を選択する方法を示すフローチャートである。
【図5】本発明の実施例に従い、配線対の配線がトライステート化されるように、配線対の配置を示すチップ・レイアウトである。
【図6】本発明の実施例に従い、各配線対の一方の配線がトライステート化されるように、配線対を選択するコンピュータ・システムを示す図である。
【図7】本発明の実施例に従うトライステート・ドライバを示す図である。
【図8】図7のトライステート・ドライバを実現するトライステート構造を示す図である。
【図9】本発明の実施例に従うトライステート構造を示す図である。
【符号の説明】
12、14 配線
16、17 キャパシタ
18 結合キャパシタンス
20 電源
22、26 プルアップ素子
24、28 プルダウン素子
30 グラウンド
77 ランレングス
80、90 配線ネット
81、91 ソース
82、83、92、93 ソース
204、205、405 Pチャネル・トランジスタ
206、207、406 Nチャネル・トランジスタ
208、404 インバータ
601−616 ビン
Claims (17)
- 複数の配線を有する電気配線構造の設計において、トライステート化によって消費電力が低減される少なくとも1つの配線対を識別するためのコンピュータ可読なプログラムが記録された記録媒体であって、前記プログラムが、
1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する配線対を識別するステップと、
識別された前記配線対の同じ配線チャネルを共用する平行配線長である共通ランレングスとして定義されるLCOMMONが、事前に選択された最小共通ランレングスLCOMMON,MIN以上であるか否かを判定するステップと、
前記最小共通ランレングスLCOMMON,MIN以上の前記共通ランレングスLCOMMONを有すると判定された前記配線対のいずれか一方の配線の状態が、既にトライステート化されているか、トライステート化可能であるかを判定するステップと
を実行させ、
前記配線対の前記第2の配線の状態が、既にトライステート化されているか、トライステート化可能である場合に、前記第1の配線と第2の配線とを含む前記配線対を、前記トライステート化によって消費電力が低減される配線対と識別する、記録媒体。 - 前記配線対の配線間の間隔として定義されるWSPACINGが、事前に選択された最大間隔WSPACING,MAX以下であるかを判定するステップを実行させる、請求項1記載の記録媒体。
- 前記最小共通ランレングスLCOMMON,MIN以上であるか否かを判定するステップにおいて、LCOMMON/WSPACINGをFLWと定義し、前記FLWが、事前選択最小値として定義されるFLW,MIN以上であるかを判定する、請求項1記載の記録媒体。
- 1マシンサイクル内でスイッチされる確率ψが、1クロックあたりの事前に選択された最小スイッチング確率ψMIN以上で、かつ配線長LWREが、事前に選択された最小配線長LWRE,MIN以上である少なくとも1つの高電力配線を前記第1の配線として識別するステップを実行させる、請求項1記載の記録媒体。
- 前記第2の配線の状態をトライステート化するために、トライステート化論理を追加するステップを実行させる、請求項1記載の記録媒体。
- ψODがψOD,MIN以上と識別された前記配線対の前記一方の配線の状態を反転させるために、前記状態を反転する論理を追加するステップを実行させる、請求項1記載の記録媒体。
- 前記第2の配線の状態をトライステート化する間に、前記第2の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを実行させる、請求項1記載の記録媒体。
- WSPACINGが所定の間隔であり、LCOMMONが所定の共通ランレングスである、請求項1記載の記録媒体。
- WSPACINGが確定済み間隔であり、LCOMMONが確定済み共通ランレングスである、請求項1記載の記録媒体。
- トライステート化によって消費電力が低減される少なくとも1つの配線対をコンピュータに識別させ、電圧遷移を実行させるプログラムが記録された記録媒体であって、
1クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、1クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する配線対を識別し、識別された前記配線対の同じ配線チャネルを共用する平行配線長である共通ランレングスとして定義されるLCOMMONが、事前に選択された最小共通ランレングスLCOMMON,MIN以上であるか否かを判定し、前記最小共通ランレングスLCOMMON,MIN以上の前記共通ランレングスLCOMMONを有すると判定された前記配線対のいずれか一方の配線の状態が、トライステート化可能であるかを判定して、キャパシタンスCAを有するA配線と、キャパシタンスCBを有するB配線とを含み、前記A配線と前記B配線との間に結合キャパシタンスCCを有する、電気配線網の2つの配線を識別するステップと、
前記B配線の状態を電圧VB1からハイインピーダンス状態にトライステート化するステップと、
前記B配線をトライステート化した後、前記A配線の電圧を電圧VA1から電圧VA2(但しVA2≠VA1)に遷移するステップと、
前記A配線をVA2に遷移した後、前記B配線の電圧を電圧VB2(但しVB2≠VB1)に遷移するステップと
を実行させる、記録媒体。 - (VA2−VA1)(VB2−VB1)>0である、請求項10記載の記録媒体。
- VA1=VB1=0及びVA2=VB2=1であり、前記電圧遷移による前記配線対の実効キャパシタンスがCA+CBである、請求項10記載の記録媒体。
- VA1=VB1=1及びVA2=VB2=0であり、前記電圧遷移による前記配線対の実効キャパシタンスが0である、請求項10記載の記録媒体。
- (VB2−VB1)(VA2−VA1)<0であり、前記A配線及び前記B配線が共通ランレングスを有し、前記共通ランレングスに沿って、前記B配線の電圧を反転するステップを含む、請求項10記載の記録媒体。
- VA1=0、VB1=1、VA2=1、及びVB2=0であり、前記電圧遷移による前記配線対の実効キャパシタンスがCA+CBである、請求項14記載の記録媒体。
- VA1=1、VB1=0、VA2=0、及びVB2=1であり、前記電圧遷移による前記配線対の実効キャパシタンスが0である、請求項14記載の記録媒体。
- 前記B配線の状態をトライステート化する間に、前記B配線からの信号の伝搬を阻止するステップを含む、請求項10記載の記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/781369 | 2001-02-12 | ||
US09/781,369 US6985004B2 (en) | 2001-02-12 | 2001-02-12 | Wiring optimizations for power |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002328962A JP2002328962A (ja) | 2002-11-15 |
JP3798704B2 true JP3798704B2 (ja) | 2006-07-19 |
Family
ID=25122502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002031625A Expired - Fee Related JP3798704B2 (ja) | 2001-02-12 | 2002-02-08 | 電力のための配線最適化 |
Country Status (2)
Country | Link |
---|---|
US (3) | US6985004B2 (ja) |
JP (1) | JP3798704B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003084721A (ja) * | 2001-09-12 | 2003-03-19 | Fujitsu Display Technologies Corp | 表示装置用駆動回路装置とそれを利用した表示装置 |
US7120887B2 (en) * | 2004-01-16 | 2006-10-10 | International Business Machines Corporation | Cloned and original circuit shape merging |
US7100135B2 (en) * | 2004-06-18 | 2006-08-29 | Intel Corporation | Method and system to evaluate signal line spacing |
US7290233B2 (en) | 2004-07-12 | 2007-10-30 | International Business Machines Corporation | Method for netlist path characteristics extraction |
US7494146B2 (en) * | 2007-03-30 | 2009-02-24 | Merida Industry Co., Ltd. | Bicycle frame |
US7356793B2 (en) | 2004-07-12 | 2008-04-08 | International Business Machines Corporation | Genie: a method for classification and graphical display of negative slack timing test failures |
JP4935232B2 (ja) * | 2006-08-07 | 2012-05-23 | 日本電気株式会社 | 情報処理装置、配線設計方法及びプログラム |
US7886240B2 (en) * | 2008-01-29 | 2011-02-08 | International Business Machines Corporation | Modifying layout of IC based on function of interconnect and related circuit and design structure |
JP5984348B2 (ja) * | 2011-08-23 | 2016-09-06 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US10146899B1 (en) | 2017-11-27 | 2018-12-04 | International Business Machines Corporation | Clock control trees |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4943739A (en) * | 1988-12-19 | 1990-07-24 | Slaughter Grimes G | Non-reflecting transmission line termination |
US5043792A (en) * | 1989-04-17 | 1991-08-27 | Nec Corporation | Integrated circuit having wiring strips for propagating in-phase signals |
EP0650194B1 (en) * | 1993-10-21 | 1999-11-10 | Advanced Micro Devices, Inc. | High density dynamic bus |
JPH07141406A (ja) | 1993-11-17 | 1995-06-02 | Matsushita Electric Ind Co Ltd | 配置配線装置 |
US6310489B1 (en) * | 1996-04-30 | 2001-10-30 | Sun Microsystems, Inc. | Method to reduce wire-or glitch in high performance bus design to improve bus performance |
JP3201276B2 (ja) * | 1996-09-10 | 2001-08-20 | 日本電気株式会社 | 信号伝送回路 |
JPH10178100A (ja) | 1996-10-17 | 1998-06-30 | Matsushita Electric Ind Co Ltd | 配線レイアウト設計方法及び設計装置並びにバスのドライブ方法 |
US6255852B1 (en) * | 1999-02-09 | 2001-07-03 | Micron Technology, Inc. | Current mode signal interconnects and CMOS amplifier |
JP2002049447A (ja) * | 2000-08-03 | 2002-02-15 | Matsushita Electric Ind Co Ltd | 信号伝送システム |
US6653863B1 (en) * | 2002-03-25 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for improving bus capacity |
-
2001
- 2001-02-12 US US09/781,369 patent/US6985004B2/en not_active Expired - Fee Related
-
2002
- 2002-02-08 JP JP2002031625A patent/JP3798704B2/ja not_active Expired - Fee Related
-
2005
- 2005-07-07 US US11/176,712 patent/US7346875B2/en not_active Expired - Fee Related
-
2007
- 2007-12-07 US US11/952,544 patent/US7469395B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7469395B2 (en) | 2008-12-23 |
US20080074147A1 (en) | 2008-03-27 |
US7346875B2 (en) | 2008-03-18 |
JP2002328962A (ja) | 2002-11-15 |
US20050262463A1 (en) | 2005-11-24 |
US20030158714A1 (en) | 2003-08-21 |
US6985004B2 (en) | 2006-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7469395B2 (en) | Wiring optimizations for power | |
US7954078B1 (en) | High level IC design with power specification and power source hierarchy | |
US7930674B2 (en) | Modifying integrated circuit designs to achieve multiple operating frequency targets | |
US6711719B2 (en) | Method and apparatus for reducing power consumption in VLSI circuit designs | |
Moreira et al. | Impact of C-elements in asynchronous circuits | |
US20070220468A1 (en) | Method and Apparatus for Converting Globally Clock-Gated Circuits to Locally Clock-Gated Circuits | |
US8627252B2 (en) | Method for selectively implementing low threshold voltage transistors in digital logic designs | |
Elgamel et al. | Interconnect noise analysis and optimization in deep submicron technology | |
US7100140B2 (en) | Generation of graphical congestion data during placement driven synthesis optimization | |
Shi et al. | Improved analytical delay models for RC-coupled interconnects | |
US20110181331A1 (en) | Integrated circuit with leakage reduction in static nets | |
Kumre et al. | Analysis of GDI Technique for digital circuit design | |
US20030159121A1 (en) | Variable stage ratio buffer insertion for noise optimization in a logic network | |
US7360193B1 (en) | Method for circuit block placement and circuit block arrangement based on switching activity | |
Pulici et al. | A modified IBIS model aimed at signal integrity analysis of systems in package | |
Becer et al. | Crosstalk noise control in an SoC physical design flow | |
Palit et al. | Modeling and analysis of crosstalk coupling effect on the victim interconnect using the ABCD network model | |
JP2002357636A (ja) | スキャンテスト用フリップフロップ回路、論理マクロ、スキャンテスト回路及びそのレイアウト方法 | |
Sekar | Clock trees: Differential or single ended? | |
US7823112B1 (en) | Method, software and system for ensuring timing between clocked components in a circuit | |
Gopalakrishnan | Energy Reduction for Asynchronous Circuits in SoC Applications | |
Araújo | Comparison of full-adder cell layouts for 90nm CMOS technology | |
Johansson | Investigation of typical 0.13 µm CMOS technology timing effects in a complex digital system on-chip | |
JPH10173054A (ja) | 半導体集積回路の低消費電力化設計方法 | |
Gemmeke et al. | A physically oriented model to quantify the noise-on-delay effect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050629 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20050729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060120 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060316 |
|
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: 20060411 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060420 |
|
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: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |