(57)【特許請求の範囲】
【請求項１】
複数の配線を有する電気配線構造の設計において、トライステート化によって消費電力が低減される少なくとも１つの配線対を識別するためのコンピュータ可読なプログラムが記録された記録媒体であって、前記プログラムが、
１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する配線対を識別するステップと、
識別された前記配線対の同じ配線チャネルを共用する平行配線長である共通ランレングスとして定義されるＬCOMMONが、事前に選択された最小共通ランレングスＬCOMMON,MIN以上であるか否かを判定するステップと、
前記最小共通ランレングスＬCOMMON,MIN以上の前記共通ランレングスＬCOMMONを有すると判定された前記配線対のいずれか一方の配線の状態が、既にトライステート化されているか、トライステート化可能であるかを判定するステップと
を実行させ、
前記配線対の前記第２の配線の状態が、既にトライステート化されているか、トライステート化可能である場合に、前記第１の配線と第２の配線とを含む前記配線対を、前記トライステート化によって消費電力が低減される配線対と識別する、記録媒体。
【請求項２】
前記配線対の配線間の間隔として定義されるＷSPACINGが、事前に選択された最大間隔ＷSPACING,MAX以下であるかを判定するステップを実行させる、請求項１記載の記録媒体。
【請求項３】
前記最小共通ランレングスＬCOMMON,MIN以上であるか否かを判定するステップにおいて、ＬCOMMON／ＷSPACINGをＦLWと定義し、前記ＦLWが、事前選択最小値として定義されるＦLW,MIN以上であるかを判定する、請求項１記載の記録媒体。
【請求項４】
１マシンサイクル内でスイッチされる確率ψが、１クロックあたりの事前に選択された最小スイッチング確率ψMIN以上で、かつ配線長ＬWREが、事前に選択された最小配線長ＬWRE,MIN以上である少なくとも１つの高電力配線を前記第１の配線として識別するステップを実行させる、請求項１記載の記録媒体。
【請求項５】
前記第２の配線の状態をトライステート化するために、トライステート化論理を追加するステップを実行させる、請求項１記載の記録媒体。
【請求項６】
ψODがψOD,MIN以上と識別された前記配線対の前記一方の配線の状態を反転させるために、前記状態を反転する論理を追加するステップを実行させる、請求項１記載の記録媒体。
【請求項７】
前記第２の配線の状態をトライステート化する間に、前記第２の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを実行させる、請求項１記載の記録媒体。
【請求項８】
ＷSPACINGが所定の間隔であり、ＬCOMMONが所定の共通ランレングスである、請求項１記載の記録媒体。
【請求項９】
ＷSPACINGが確定済み間隔であり、ＬCOMMONが確定済み共通ランレングスである、請求項１記載の記録媒体。
【請求項１０】
トライステート化によって消費電力が低減される少なくとも１つの配線対をコンピュータに識別させ、電圧遷移を実行させるプログラムが記録された記録媒体であって、
１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する配線対を識別し、識別された前記配線対の同じ配線チャネルを共用する平行配線長である共通ランレングスとして定義されるＬCOMMONが、事前に選択された最小共通ランレングスＬCOMMON,MIN以上であるか否かを判定し、前記最小共通ランレングスＬCOMMON,MIN以上の前記共通ランレングスＬCOMMONを有すると判定された前記配線対のいずれか一方の配線の状態が、トライステート化可能であるかを判定して、キャパシタンスＣAを有するＡ配線と、キャパシタンスＣBを有するＢ配線とを含み、前記Ａ配線と前記Ｂ配線との間に結合キャパシタンスＣCを有する、電気配線網の２つの配線を識別するステップと、
前記Ｂ配線の状態を電圧ＶB1からハイインピーダンス状態にトライステート化するステップと、
前記Ｂ配線をトライステート化した後、前記Ａ配線の電圧を電圧ＶA1から電圧ＶA2（但しＶA2≠ＶA1）に遷移するステップと、
前記Ａ配線をＶA2に遷移した後、前記Ｂ配線の電圧を電圧ＶB2（但しＶB2≠ＶB1）に遷移するステップと
を実行させる、記録媒体。
【請求項１１】
（ＶA2−ＶA1）（ＶB2−ＶB1）＞０である、請求項１０記載の記録媒体。
【請求項１２】
ＶA1＝ＶB1＝０及びＶA2＝ＶB2＝１であり、前記電圧遷移による前記配線対の実効キャパシタンスがＣA＋ＣBである、請求項１０記載の記録媒体。
【請求項１３】
ＶA1＝ＶB1＝１及びＶA2＝ＶB2＝０であり、前記電圧遷移による前記配線対の実効キャパシタンスが０である、請求項１０記載の記録媒体。
【請求項１４】
（ＶB2−ＶB1）（ＶA2−ＶA1）＜０であり、前記Ａ配線及び前記Ｂ配線が共通ランレングスを有し、前記共通ランレングスに沿って、前記Ｂ配線の電圧を反転するステップを含む、請求項１０記載の記録媒体。
【請求項１５】
ＶA1＝０、ＶB1＝１、ＶA2＝１、及びＶB2＝０であり、前記電圧遷移による前記配線対の実効キャパシタンスがＣA＋ＣBである、請求項１４記載の記録媒体。
【請求項１６】
ＶA1＝１、ＶB1＝０、ＶA2＝０、及びＶB2＝１であり、前記電圧遷移による前記配線対の実効キャパシタンスが０である、請求項１４記載の記録媒体。
【請求項１７】
前記Ｂ配線の状態をトライステート化する間に、前記Ｂ配線からの信号の伝搬を阻止するステップを含む、請求項１０記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は超小型電子回路における消費電力を低減する方法及び構造に関し、特に、結合容量消費電力を低減する方法及び構造に関する。
【０００２】
【従来の技術】
消費電力の低減は、ローエンド・コンシューマ・エレクトロニクスでのバッテリ寿命制限や、ハイエンド・サーバでの放熱により、超大規模集積回路（ＶＬＳＩ）設計において益々困難になりつつある。超小型電子回路技術は小型化されるので、複数の素子特性が低消費電力のための設計の問題を複合化する。そうした問題には、トランジスタ数の増加、デバイス・リークの増加、スイッチング速度の向上、及び結合容量の増加などが含まれる。従って、素子特性に拘わらず、超小型電子回路の消費電力を低減する必要性がある。
【０００３】
【発明が解決しようとする課題】
従って、本発明の目的は、超小型電子回路において消費電力を低減する方法及び構造を提供することである。
【０００４】
【課題を解決するための手段】
本発明は、複数の配線を有する電気配線構造を設計する方法を提供し、この方法は、複数の配線から成る第１の配線と、複数の配線から成る第２の配線とを含む少なくとも１つの配線対を識別するステップを含む。第２の配線は既にトライステート化済みか、トライステート化可能であり、前記配線対は１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向スイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第２の配線は、少なくとも１つの数学的関係を満足し、この数学的関係が、第１の配線と第２の配線との間の間隔として定義されるＷSPACINGと、第１の配線と第２の配線の共通ランレングスとして定義されるＬCOMMONとを含む。
【０００５】
本発明は２線式電圧遷移を実行する方法を提供し、この方法は、キャパシタンスＣAを有するＡ配線と、キャパシタンスＣBを有するＢ配線とを含み、Ａ配線とＢ配線との間に結合キャパシタンスＣCを有する、電気配線網の２つの配線を提供するステップと、Ｂ配線を電圧ＶB1からハイインピーダンス状態にトライステート化するステップと、Ｂ配線をトライステート化した後、Ａ配線を電圧ＶA1から電圧ＶA2（但しＶA2≠ＶA1）に遷移するステップと、Ａ配線をＶA2に遷移した後、Ｂ配線を電圧ＶB2（但しＶB2≠ＶB1）に遷移するステップとを含む。
【０００６】
本発明は、少なくとも１つの配線対を含む電気配線構造を提供し、前記配線対が第１の配線と第２の配線とを含み、前記第２の配線がトライステート化されるように予定され、前記配線対が１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第２の配線は、少なくとも１つの数学的関係を満足し、この数学的関係が、第１の配線と第２の配線との間の間隔として定義されるＷSPACINGと、第１の配線と第２の配線との共通ランレングスとして定義されるＬCOMMONとを含む。
【０００７】
別の態様では、本発明は、キャパシタンスＣAを有するＡ配線と、キャパシタンスＣBを有するＢ配線とを含み、Ａ配線とＢ配線との間に結合キャパシタンスＣCを有する、配線網の２つの配線を含む電気配線構造を提供する。Ｂ配線が電圧ＶB1からトライステート状態に遷移した後、Ａ配線が電圧ＶA1から電圧ＶA2（但しＶA2≠ＶA1）に遷移し、Ａ配線が電圧ＶA2に遷移した後、Ｂ配線が電圧ＶB2（但しＶB2≠ＶB1）に遷移するように意図される。そして、Ａ配線の電圧ＶA1から電圧ＶA2への遷移、及びＢ配線の電圧ＶB1から電圧ＶB2への遷移が、２線式電圧遷移として識別される。
【０００８】
更に別の態様では、本発明は、複数の配線を有する電気配線構造を設計するコンピュータ・システムを提供する。このコンピュータ・システムは、プロセッサと、プロセッサに接続される入力装置と、プロセッサに接続される出力装置と、プロセッサに接続される第１のメモリ装置と、プロセッサに接続される第２のメモリ装置と、第２のメモリ装置に記憶され、プロセッサにより実行されるコンピュータ・コードとを含む。前記コンピュータ・コードは、少なくとも１つの配線対を識別するアルゴリズムを含み、前記配線対が、複数の配線から成る第１の配線と、複数の配線から成る第２の配線とを含む。第２の配線は既にトライステート化済みか、トライステート化可能であり、前記配線対は、１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有する。前記第1及び第２の配線は、少なくとも１つの数学的関係を満足し、この数学的関係が、第１の配線と第２の配線との間の間隔として定義されるＷSPACINGと、第１の配線と第２の配線との共通ランレングスとして定義されるＬCOMMONとを含む。
【０００９】
【発明の実施の形態】
キャパシタンスを駆動するために要求される動的電力は、最新の超大規模集積回路（ＶＬＳＩ）回路における消費電力の大部分を占める。キャパシタンス（Ｃ）を有するキャパシタに蓄積されるエネルギ（Ｅ）は、次式で与えられる。
【数１】
Ｅ＝ＣＶ2／２                                        （１）
【００１０】
ここでキャパシタはその両端子間において、電圧（Ｖ）まで充電される。エネルギＥは、キャパシタが抵抗を通じてグラウンドに放電されるとき消費され、等量のエネルギが、キャパシタが抵抗素子を通じて充電されるときに消費される。レール間遷移及び接地（非カップリング）キャパシタンス（例えば素子ゲート、及びグラウンドに対する配線キャパシタンス）では、電圧Ｖがチップの電源の電圧値（ＶDD）である。エネルギＥは次のように平均電力に変換される。
【数２】
Ｐ＝ＦSWＥ＝ＦSWＣＶDD2／２                          （２）
【００１１】
ここでＰは平均電力で、ＦSWは遷移の平均スイッチング周波数である。信号は各スイッチング周期内で２つの遷移（立ち上りと立ち下り）を生じるが、立ち上り遷移だけが電源から電力を引き出し、立ち下り遷移は以前に蓄積されたエネルギを消費する。従って、係数１／２が式（２）内に留まる。デジタル・システム内の論理配線のスイッチング周波数を予測するのが困難であるため、正確な電力値を得ることは困難である。一般に、クロック周波数（ＦCLOCK）が知られており、所与のクロック・サイクルにおいて特定の配線が遷移する確率（ψ）が、シミュレーションや他の手段により決定される。ＦSWはψＦCLOCKと表されるので、式（２）は次のようになる。
【数３】
Ｐ＝ψＦCLOCKＣＶDD2／２                             （３）
【００１２】
結合キャパシタンスが存在するので、キャパシタの電圧変化、従って遷移に要求されるエネルギは、隣接する配線上で発生する論理遷移に依存する。論理遷移は、別個の論理状態間の遷移であり、例えば、ハイ電圧状態"１"とロー電圧状態"０"との間で遷移する。遷移のために要求されるエネルギＥを計算する必要性は、電力予測及び最適設計を困難にする。なぜなら、隣接する配線上での論理遷移は、関心の対象の配線上の論理遷移と相関付けられなければならないからである。遷移の前後に、様々なキャパシタンスに蓄積されたエネルギを計算しようとするのではなく、遷移を起こすために電源から供給されなければならない電流量を調査することにより、要求エネルギが決定されてもよい。
【００１３】
チップ形状は小型化されるので、配線はより狭く、または一層接近されるようになり、これが待ち時間または結合キャパシタンス（ＣCOUPLING）の増加につながる。結合キャパシタンスは、論理遷移を達成するためにスイッチされなければならない総負荷に占める割合の増加を担う。２つの配線間の結合キャパシタンスは、それらの共通ランレングス（ＬCOMMON）に直接比例し、配線間間隔（ＷSPACING）に逆比例する。すなわち、次のように表すことができる。
【数４】
ＣCOUPLING ∝ ＬCOMMON／ＷSPACING                  （４）
【００１４】
結合キャパシタンスが増加しつつあるのと同時に、素子サイズ及び配線幅がスケーリングにより減少しつつある。配線による非結合キャパシタンス（ＣNON-COUPLING）は、配線幅（ＷWIRE）及び配線長（ＬWIRE）に比例する。すなわち、
【数５】
ＣNON-COUPLING ∝ ＬWIREＷWIRE                     （５）
【００１５】
２つの配線間のＷSPACINGを減少すると、ＣCOUPLINが増加するが、２つの配線間のＷSPACINGを減少すると、ＣNON-COUPLINGが減少する。なぜなら、ＷSPACINGが減少すると、通常他の導体（例えばチップ基板内の導体）で終端する電界線が逸れ、２つの配線が結合される導体（例えば配線）内で終端するようになるからである。
【００１６】
図１は、本発明の実施例に従い、配線１２（"Ａ"で示される）、配線１４（"Ｂ"で示される）、及び電源電圧ＶDDを有する電源２０を含む電気回路を示す。ここでは単純化のために、ＶDDは１Ｖに正規化されるものとするが、当業者であれば、ＶDD＝１Ｖの前提の下でここで示される公式、式及び関係を、ＶDD≠１Ｖの状況に適応化するように、容易に変換することができよう。従って、ＶDD≠１Ｖにおけるこうした公式、式及び関係についても、本発明の範囲に含まれるとみなされる。
【００１７】
図１において、配線Ａはキャパシタ１６により表されるように、キャパシタンスＣAを有する。また配線Ｂは、キャパシタ１７により表されるように、キャパシタンスＣBを有する。配線Ａと配線Ｂとの間の結合キャパシタンスＣCは、キャパシタンス１８により表される。プルアップ素子２２すなわちスイッチが、電源２０と配線Ａとの間に存在し、プルダウン素子２４すなわちスイッチが、配線Ａとグラウンド３０との間に存在する。同様に、プルアップ素子２６すなわちスイッチが、電源２０と配線Ｂとの間に存在し、プルダウン素子２８すなわちスイッチが、配線Ｂとグラウンド３０との間に存在する。キャパシタ１６及び１７は各々、グラウンド３０に接続される。なお、図１では、配線Ａ及び配線Ｂが充放電される直列抵抗が示されていない。
【００１８】
配線Ａは、ロー電圧状態（"０"）またはハイ電圧状態（"１"）を取り得る。ハイ電圧は実際にはＶDDであるが、前述のように、ここでは１Ｖに正規化される。プルアップ素子２２及びプルダウン素子２４は、配線Ａの状態（０及び１）を制御する。（状態０から状態１への）立ち上り遷移は、配線Ａのプルアップ素子２２が閉じ、プルダウン素子２４が開くとき、配線Ａ上で発生する。一方、（状態１から状態０への）立ち下り遷移は、配線Ａのプルアップ素子２２が開き、プルダウン素子２４が閉じるとき、配線Ａ上で発生する。
【００１９】
同様に、配線Ｂもロー電圧状態（"０"）またはハイ電圧状態（"１"）を取り得る。プルアップ素子２６及びプルダウン素子２８が、配線Ｂの状態（０及び１）を制御する。（状態０から状態１への）立ち上り遷移は、配線Ｂのプルアップ素子２６が閉じ、プルダウン素子２８が開くとき、配線Ｂ上で発生する。一方、（状態１から状態０への）立ち下り遷移は、配線Ｂのプルアップ素子２６が開き、プルダウン素子２８が閉じるとき、配線Ｂ上で発生する。
【００２０】
図２は、本発明の実施例に従い、各配線の２状態モデルにもとづく、図１の配線Ａ及び配線Ｂの状態遷移を示す。図２において、配線Ａ及び配線Ｂの４つの状態（"ＡＢ"状態）が、次の定義により、またＶDDを１Ｖに正規化することにより、次のように示される。
【表１】
0003798704.tif 000002
【００２１】
図２は、前記の４つの状態の任意の２つの間での、２つのタイプの状態遷移を示す。第１のタイプの状態遷移（"１線式状態遷移"）では、配線Ａまたは配線Ｂの両方ではなく一方だけが、その状態を変化する（例えば０１→１１状態遷移では、状態Ｂだけがその状態を変化する）。第２のタイプの状態遷移（"２線式状態遷移"）では、配線Ａと配線Ｂの両方が、それらの状態を変化する（例えば０１→１０状態遷移では、配線Ａ及び配線Ｂの両方がそれらの状態を変化する）。２つの状態遷移カテゴリ内において、同方向スイッチング（すなわち００→１１及び１１→００状態遷移）と、逆方向スイッチング（すなわち０１→１０及び１０→０１状態遷移）とが存在する。
【００２２】
同方向スイッチング及び逆方向スイッチングの指定は、数学的に次のように表される。配線Ａが電圧状態ＶA1から電圧状態ＶA2に遷移し、配線Ｂが電圧状態ＶB1から電圧状態ＶB2に遷移する場合、（ＶA2−ＶA1）（ＶB2−ＶB1）＞０ならば、同方向スイッチングが発生し、（ＶA2−ＶA1）（ＶB2−ＶB1）＜０ならば、逆方向スイッチングが発生する。
【００２３】
図２は更に、こうした各状態遷移に対して、電源１０（図１参照）から供給される電流により充電されなければならない実効キャパシタンスを示す。例えば、図２は、０１→１１状態遷移において、実効キャパシタンスＣAを示す。各状態遷移において供給されなければならない電荷は、実効キャパシタンスとＶDDとの積に等しい。ＶDDはここでは１Ｖに正規化されるので、供給されなければならない電荷は、数的に実効キャパシタンスに等しい。両方の配線が変化する"コーナ・ツー・コーナ"（corner-to-corner）遷移（例えば００→１１及び１１→００状態遷移）では、状態遷移は同時に発生すると仮定される。
【００２４】
キャパシタンスＣA及びＣBがグラウンドではなく、ＶDDに対するキャパシタンスの場合、各遷移に対して、電源１０から引き出される電荷量が異なるので、代替実効キャパシタンスが割当てられてもよい。しかしながら、同じ状態で開始及び終了し、同じ閉鎖パスまたはループを横断する一連の遷移に対して要求されるエネルギは、図２に示される実効キャパシタンス、及び代替実効キャパシタンスに対して同じである。従って、こうした別個の閉鎖パスまたはループの各々において、別個の閉鎖パスまたはループに渡るこうした代替実効キャパシタンスの合計が、図２に示される実効キャパシタンスの合計と同じであるという制約の下で、図２に示される実効キャパシタンスの代わりに、代替実効キャパシタンスが使用されてもよい。図２に示される実効キャパシタンスをもとに、当業者であれば、別個の閉鎖パスまたはループに渡る代替実効キャパシタンスの合計を保持するという制約に従い、代替実効キャパシタンスを決定することができよう。従って、本発明の範囲は、図２に関連する代替実効キャパシタンスの分布についても含むものである。
【００２５】
図２は、００→１１または１１→００のＡＢ状態遷移（すなわち同方向スイッチング）において、配線Ａ及び配線Ｂが同時に遷移する場合に、配線Ａ及び配線Ｂが順次遷移する場合に比較して、より低い実効キャパシタンスを有し、それ故、少ない電力を消費することを示す。例えば、同時状態遷移００→１１は実効キャパシタンスＣA＋ＣBを有すのに対して、順次状態遷移００→０１→１１または００→１０→１１は、実効キャパシタンスＣA＋ＣB＋ＣCを有する。同様に、同時状態遷移１１→００は、実効キャパシタンス０を有するのに対して、順次状態遷移１１→０１→００または１１→１０→００は、実効キャパシタンスＣCを有する。従って、同方向スイッチングにおける実効キャパシタンスについては、順次遷移の場合の方が同時遷移の場合に比較して、ＣCだけ大きいことがわかる。従って、同方向スイッチングにおける同時遷移は、結合キャパシタを充電する必要がない分だけ消費電力を低減する。
【００２６】
図２はまた、０１→１０または１０→０１のＡＢ状態遷移（すなわち逆方向スイッチング）において、配線Ａ及び配線Ｂが同時に遷移する場合に、配線Ａ及び配線Ｂが順次遷移する場合に比較して、より高い実効キャパシタンスを有し、それ故、より大きな電力を消費することを示す。例えば、同時状態遷移０１→１０は実効キャパシタンスＣA＋２ＣCを有すのに対して、順次状態遷移０１→００→１０または０１→１１→１０は、実効キャパシタンスＣA＋ＣCを有する。同様に、同時状態遷移１０→０１は、実効キャパシタンスＣB＋２ＣCを有するのに対して、順次状態遷移１０→００→０１または１０→１１→０１は、実効キャパシタンスＣB＋ＣCを有する。従って、逆方向スイッチングの状態遷移における実効キャパシタンスについては、同時遷移の場合の方が順次遷移の場合に比較して、ＣCだけ大きいことがわかる。従って、逆方向スイッチングにおける同時遷移は、結合キャパシタンスにより消費電力を増加させる。
【００２７】
前述の説明は、００→１１及び１１→００のＡＢ状態遷移（すなわち同方向スイッチング）を同時に実行することは、００→１１及び１１→００のＡＢ状態遷移を順次実行するのに比較して、電力効率が良いことを示すものである。しかしながら、対を成す配線上で同時同方向遷移により省電力化を達成することは困難である。なぜなら、意図的に信号の状態遷移を合わせることは困難だからである。この困難は、信号を駆動する論理内のパス長の違い、制御不能なプロセス変化、及び配線の電気環境の予測不能な変化などによる。
【００２８】
本発明は、後述のように、同時遷移を実際に実行することなく、配線Ｂのトライステート化により、同時遷移の数学的効果をシミュレートすることを開示するものである。トライステート化は、配線が幾つかの異なるポイントから双方向にドライブされることを可能にする。トライステート化された配線において、異なる駆動ポイントの各々が切替え可能な制御を含み、これにより、ある時点にあるドライバが電圧を制御するのを可能にする一方、他のドライバは非制御ハイインピーダンス状態に切り替えられる。任意の時点にいずれのドライバもイネーブルされない場合、トライステート化された配線は、ハイインピーダンス状態にフローティングまたは浮遊されると言われる。このフローティング期間中、電荷、従って配線上の電圧が、結合キャパシタンスを通じて隣接ネットから注入される電流により変化する。付録Ａは、配線をトライステート化する様々な技術を開示する。
【００２９】
ＡＢ状態遷移において、その遷移を完了する前に、配線Ｂがトライステート化される。ＡＢ状態遷移シーケンスは、次のようである。すなわち、最初に配線Ｂがトライステート化され、次に配線Ａが配線Ａの遷移を行い、最後に配線Ｂが配線Ｂの遷移を完了する。これらのステップは、同時に実行されるのではなく、順次実行される。ここで００→０１、０１→００、１０→１１、及び１１→１０の状態遷移に対して、新たな配線Ａ状態は導入されないことを述べておく。
【００３０】
配線Ｂをトライステート化する状況において、次のタイミング要件が、配線Ａ及び配線Ｂの前述の遷移シーケンスに当てはまる。クロック・サイクルが期間Ｔを有し、時刻がクロック・サイクルの開始時刻（０）を指し示すものとする。また、配線Ａの信号が、時刻ｔA1以降に状態遷移を開始でき、この信号が時刻ｔA2までに状態遷移を完了できると仮定する。従って、次式で示すように、配線Ａ上の全ての状態遷移が、時刻ｔA1と時刻ｔA2との間に発生しなければならない。
【数６】
０＜ｔA1＜ｔA2＜Ｔ                                   （６）
【００３１】
時刻ｔA1及びｔA2は、配線Ａの全ての既知の時間遅延及び許容差を考慮し、また時刻ｔA1及びｔA2は、あらゆるこうした配線Ａに対して知られていると仮定する。従って、配線Ｂが初期Ｂ状態から最終Ｂ状態に遷移する場合、配線Ｂは０とｔA1との間のある時点に、初期Ｂ状態からトライステート化されなければならない。従って、配線Ｂが配線Ａに関連してトライステート化可能か否かを決定するために、時間間隔ｔA1が、配線Ｂがトライステート化されるのに十分な時間であるか否かを評価しなければならない。十分でない場合、配線Ｂはトライステート化されない。更に、配線Ｂが配線Ａに関連してトライステート化可能か否かを決定するために、時間間隔Ｔ−ｔA2が次の観点から、すなわち、配線Ｂがそのトライステート状態からその最終Ｂ状態に遷移し、その最終Ｂ状態値が任意の続く論理変化を通じて、記憶素子（例えばラッチ）に伝播され、そこに記憶されるのに十分な時間であるか否かという点で、評価されなければならない。十分でない場合、配線Ｂはトライステート化されない。
【００３２】
同時状態遷移の数学的効果をシミュレートするために、Ｂ配線がトライステート化される間、Ｂ配線を下流の論理回路から切り離し、Ｂ配線から下流の論理回路への不要な信号伝搬を阻止するために、ブロッキング機能が使用される。配線Ｂが０から１への、或いはその逆の状態遷移を行う場合、Ｂ配線はトライステートの間、中間電圧にあり、これは０または１の電圧と異なり、それらの中間である。従って、Ｂ配線を下流の論理回路から切り離すことは、中間電圧の信号が下流の論理回路に伝搬することを阻止する。ＡＢ状態遷移全体は、一般にクロック・サイクルの間に発生する。従って、ブロッキング機能は時間制限を受け、Ｂ配線がそのトライステートからその最終状態に遷移した後、そして次のクロック・サイクルが開始する前に、オフされなければならない。付録Ａは、ブロッキング機能に関する追加情報を提供する。
【００３３】
図１を参照して、配線Ｂをトライステート化する例として、配線Ｂが０から１への状態遷移を行っている場合、配線Ｂは最初に"０"状態であり、そのときプルアップ素子２６は開かれており、プルダウン素子２８は閉じられている。次に配線Ｂは、プルダウン素子２８を開くことにより、トライステート化される。そして、配線Ｂはプルアップ素子２６を閉じることにより配線Ｂの遷移を完了する。
【００３４】
配線Ｂをトライステート化する別の例として、配線Ｂが１から０への状態遷移を行っている場合、配線Ｂは最初に"１"状態であり、そのときプルアップ素子２６は閉じられており、プルダウン素子２８は開かれている。次に配線Ｂは、プルアップ素子２６を開くことによりトライステート化される。そして、配線Ｂはプルダウン素子２８を閉じることによりＢの遷移を完了する。
【００３５】
配線Ｂがトライステート化されるとき、配線Ｂの電圧レベルはＸによって表現され、ここでＸは次のように与えられる。
【数７】
Ｘ＝ＣC／（ＣC＋ＣB）                                （７）
【００３６】
図３は、本発明の実施例に従い、配線Ａの２状態モデル（すなわち０及び１）及び配線Ｂのトライステート・モデル（すなわち０、１及びＴ）にもとづき、図１の配線Ａ及び配線Ｂの状態遷移を示す。Ｔは、配線Ｂがトライステート化されるときの、すなわち、Ｂがハイインピーダンス状態のときの、配線Ｂの状態を表す。図２に関連して述べた代替実効キャパシタンスの議論は、図３にも同様に当てはまる。
【００３７】
図３では、配線Ａ及び配線Ｂの８つの状態（"ＡＢ"状態）が、次のように示される。尚、配線Ｂはトライステート化され、ＶDDは１Ｖに正規化される。
【表２】
0003798704.tif 000003
【００３８】
図３は、図２に関連する４つの新たな状態（０，−Ｘ；０，１−Ｘ；１，Ｘ；１，１＋Ｘ）を示し、これらは配線Ｂがトライステート化される間に、容量結合により駆動される中間電圧に対応する。図３はまた、前記の８つのＡＢ状態対の間の状態遷移を示す。図３は更に、こうした各状態遷移において、電源１０（図１参照）から供給される電流により充電されなければならない実効キャパシタンスを示す。例えば、図３は、００→１，Ｘの状態遷移において、ＣA＋ＸＣBの実効キャパシタンスを示す。各状態遷移において供給されなければならない電荷は、実効キャパシタンスとＶDDとの積に等しい。ＶDDはここでは１Ｖに正規化されるので、供給されなければならない電荷は、数的に実効キャパシタンスに等しい。
【００３９】
Ｂのトライステート化により、初期ＡＢ状態から最終ＡＢ状態への状態遷移が同時に実行されるのではなく、順次実行される。しかしながら、以下で４つの例で述べるように、全ての順次ステップの完了後の、トライステートによる実効キャパシタンスＣTRIは、数学的に、同時状態遷移による実効キャパシタンスＣsIMと等価である。
【００４０】
第１の例では、状態遷移が００→１１である。図２から、ＣSIM（００→１１）＝ＣA＋ＣBである。図３から、ＣTRI（００→１１）は順次状態遷移により、次のように計算される。すなわち、
【数８】
0003798704.tif 000004
【００４１】
第２の例では、状態遷移が１１→００である。図２から、ＣSIM（１１→００）＝０である。図３から、ＣTRI（１１→００）は順次状態遷移により、次のように計算される。すなわち、
【数９】
0003798704.tif 000005
【００４２】
第３の例では、状態遷移が０１→１０である。図２から、ＣSIM（０１→１０）＝ＣA＋２ＣCである。図３から、またＸに対して式（７）を用いて、ＣTRI（０１→１０）は順次状態遷移により、次のように計算される。すなわち、
【数１０】
0003798704.tif 000006
【００４３】
第４の例では、状態遷移が１０→０１である。図２から、ＣSIM（１０→０１）＝ＣB＋２ＣCである。図３から、またＸに対して式（７）を用いて、ＣTRI（１０→０１）は順次状態遷移により、次のように計算される。すなわち、
【数１１】
0003798704.tif 000007
【００４４】
前述の例は、Ｂ配線のトライステート化が同時状態遷移をシミュレートすることを示す。Ｂ配線のトライステート化による同時状態遷移のシミュレーションは、物理的なシミュレーションではなく、同時状態遷移の数学的効果のシミュレーションであることが理解できよう。Ｂ配線のトライステート化により、Ａ配線及びＢ配線の状態遷移が同時に実行されるのではなく順次実行される。
【００４５】
従って、本発明は真に同時の状態遷移を、Ｂ配線のトライステート化を通じて、順次状態遷移によりシミュレートすることを可能にする。真に同時の状態遷移は、前述のように有意な実用的な困難を提示するが、Ｂ配線のトライステート化を含む順次状態遷移は、既存の技術により実現できる。前述のように、付録Ａは配線をトライステート化する様々な技術を開示する。
【００４６】
要するに、同方向スイッチング（すなわち状態遷移００→１１及び１１→００）のための同時遷移は、結合キャパシタンスに関連する消費電力を除去するが、こうした同時遷移は実現が極めて困難である。しかしながら、配線Ｂのトライステート化を使用することにより、同時遷移の数学的効果をシミュレートすることが可能で、同時遷移の利点を達成できる。結果的に、配線Ｂのトライステート化を同時方向スイッチングのために使用可能で、結合キャパシタンスに関連する消費電力を除去することができる。
【００４７】
消費電力は一般に、チップ上の全ての遷移に渡り同時に消費される平均電力として予測されるので、結合キャパシタンスに関わる単一の遷移による電力の絶対予測精度は重要ではない。従って、本発明は、全ての遷移に渡り消費される平均電力に関係して、各遷移での電力の潜在的な節約を評価するために、任意の所与のマシンサイクル内で発生し得る各状態遷移の確率を考慮する。本発明は平均消費電力を低減する可能性を提供するのと同時に、過剰設計の必要性を低減する。
【００４８】
同時遷移は同方向スイッチングの消費電力を低減する一方で、逆方向スイッチングの消費電力を増加させる。従って、同時遷移をシミュレートするためのＢ配線のトライステート化は、消費電力を低減するために、選択的に採用されなければならない。配線Ａ及び配線Ｂを前提とすると、Ｂ配線のトライステート化が消費電力を低減するか否かは、クロック・サイクルの間に発生し得る様々な状態遷移の相対確率に依存する。特に、配線Ａ及び配線Ｂのクロック・サイクル内で、同方向スイッチングの確率（ψSD）が逆方向スイッチングの確率（ψOD）を超える場合、トライステート化は潜在的に消費電力を低減する。トライステート化は次の場合に最も有効である。すなわち、
【数１２】
ψSD ≧ ψSD,MIN                                     （８）
【００４９】
ここでψSD,MINは、例えば０．６０、０．７０、０．８０、０．９０などの、所定値またはユーザ選択値である。尚、ψSD,MINはアプリケーションに依存する。図４に固有のアルゴリズムを実現するコンピュータ・ソフトウェアの状況では、"所定値"の例が、コンピュータ・ソフトウェアにエンコードまたはハードワイヤードされた値であり、"ユーザ選択値"の例は、コンピュータ・ソフトウェアのユーザがコンピュータ・ソフトウェアに入力として提供する値である。"所定値またはユーザ選択値"は一般に、ここでは略して"事前選択値"と置換されてもよい。
【００５０】
ψODがψSDを超える場合、トライステート化の電力低減効果は、"逆トライステート化"を利用することにより、すなわちトライステート化をＢ配線の反転（"Ｂ反転"）と組み合わせることにより、潜在的に実現可能である。Ｂ反転は反対方向スイッチングを同方向スイッチングに、次のように変換する。Ａ配線及びＢ配線が共通ランレングスを有し、共通ランレングスに沿って、互いに接近するものとしよう。共通ランレングスの開始位置から、共通ランレングスの終了位置に、Ｂ反転が存在する。共通ランレングスの開始位置では、Ｂ配線上の電圧Ｂ１がＢ１からＮＯＴ  Ｂ１に反転される。共通ランレングスの終了位置では、Ｂ配線上の電圧Ｂ２がＢ２からＮＯＴ  Ｂ２に反転される。Ｂ反転はψSD及びψODを効果的に交換し、Ａ配線及びＢ配線を、同方向スイッチングに関して確率ψODで、また逆方向スイッチングに関して確率ψSDで従事させる。ψODがψSDを上回るので、トライステート化を使用することにより、Ｂ反転が正味の消費電力の増加を、正味の消費電力の減少に変換する。但し、Ｂ反転は共通ランレングスの開始及び終了位置において、余分なインバータを使用するので電力の損失を伴う。電力のこの追加の損失は小さく、本発明によるトライステート化の適用から得られる消費電力の低減により、十分に埋め合わせされるであろう。反転トライステート化を含むか否かは、Ｂ反転の電力損失、及びＢ反転を許可しないかもしれない設計制約に依存する。従って、トライステート化は同方向スイッチングに適用可能で、反転トライステート化は、逆方向スイッチングに有益かもしれないと言える。反転トライステート化は、次の場合に最も有効である。すなわち、
【数１３】
ψOD ≧ ψOD,MIN                                     （９）
【００５１】
ここでψOD,MINは事前に選択された値であり、例えば０．６０、０．７０、０．８０、０．９０などである。尚、ψOD,MINはアプリケーションに依存する。
【００５２】
前述のように、状態遷移０１→１０において、トライステート化を行い、Ｂ反転無しの場合の実効キャパシタンスＣTRI（０１→１０）は、ＣA＋２ＣCである。それに対して、反転トライステート化により、ＣTRI（０１→１０）は、同時状態遷移００→１１の実効キャパシタンスＣA＋ＣBとなる。同様に、状態遷移１０→０１において、トライステート化を行い、Ｂ反転無しの場合の実効キャパシタンスＣTRI（１０→０１）は、ＣB＋２ＣCである。それに対して、反転トライステート化により、ＣTRI（１０→０１）は、同時状態遷移１１→００の実効キャパシタンス、すなわち０となる。
【００５３】
Ｂ配線の直接トライステート化または反転トライステート化による消費電力の低減は、Ａ配線とＢ配線との間の実効キャパシタンスＣCに依存する。式（４）は、ＣCが配線Ａ及び配線Ｂの共通ランレングスＬCOMMONと配線間間隔ＷSPACINGとの比として変化することを示す。Ｂ配線の直接トライステート化に起因する消費電力の低減ΔＰは、配線Ａ及び配線Ｂの所与の対に対して、次のように変化する。すなわち、
【数１４】
ΔＰ ∝（ψSD−ψOD）ＬCOMMON／ＷSPACING              （１０）
【００５４】
同様に、Ｂ配線の反転トライステート化に起因する消費電力の低減ΔＰは、配線Ａ及び配線Ｂの所与の対に対して、次のように変化する。すなわち、
【数１５】
ΔＰ ∝（ψOD−ψSD）ＬCOMMON／ＷSPACING              （１１）
【００５５】
チップにおいて、小さな割合の配線対だけをトライステート化すると、消費電力が著しく低減する。なぜなら、ほとんどの配線対は大変隔たっているか（すなわちＷSPACINGが非常に大きい）、結合キャパシタンスを通じての消費電力への影響が無視できるほど、小さな共通ランレングス（すなわちＬCOMMON）を有するからである。結合キャパシタンスに関連付けられる消費電力を低減するトライステート化は、大きな共通ランレングスを有し、同方向スイッチングまたは逆方向スイッチングを有する接近する配線対に、選択的に適用されるべきである。
【００５６】
トライステート化のために配線対を選択する２つの実施例について、ここでは述べることにする。第１の実施例では、本発明のトライステート化を検討する前に、物理設計が前もってセットされる。従って、第１の実施例では、ＬCOMMON及びＷSPACINGが予め決定される。第２の実施例では、物理設計が流動的であり、ＬCOMMON及びＷSPACINGが、物理設計制約と、トライステート化による消費電力の低減要件の両方に従い、回路配置または経路変更により変更される。
【００５７】
図４は、第１の実施例に関連付けられるプロシージャ・ステップを示すアルゴリズムである。特に図４は、本発明に従いトライステート化する配線対を決定するプロセスのフローチャートであり、そこでは配線の物理レイアウトが本来確立されている。図４はＮ配線を有するチップに当てはまり、Ｎは少なくとも２である。図４のステップ５０は、Ｎ配線の内、"好適な隣接配線"と対にされることにより、最大の電力を潜在的に節約するＩ個（２≦Ｉ≦Ｎ）の高電力配線を識別する。高電力配線は１マシンサイクル内でスイッチされる高い確率ψを有し、大きな配線長ＬWIREを有する。ψの高い値は、同方向スイッチング確率ψSDの、または逆方向スイッチング確率ψODの高い値を保証しないが、高電力配線候補が別の配線と対にされると、ψの低い値がψSD及びψODの低い値を保証する。同様に、ＬWIREの高い値は、高い共通ランレングスＬCOMMONを保証しないが、高電力配線候補が別の配線と対にされると、ＬWIREの低い値がＬCOMMONの低い値を保証する。従って、ステップ５０でＮ配線から次式を満足するＩ個の高電力配線が選択される。すなわち、
【数１６】
ψ ≧ ψMIN                                          （１２）
及び
【数１７】
ＬWIRE ≧ ＬWIRE,MIN                                 （１３）
【００５８】
ここでψMINは、１クロック当たりの事前に選択された最小スイッチング確率であり、ＬWIRE,MINは事前に選択された最小配線長である。尚、ψMIN及びＬWIRE,MINはアプリケーションに依存する。従って、"高電力配線"はここでは、１マシンサイクル内でスイッチされる確率ψが式（１２）を満足し、その配線長ＬWIREが式（１３）を満足する配線として定義される。
【００５９】
ステップ５２は、各高電力配線ｉ（ｉ＝１，２，．．，Ｉ）に対して、好適な隣接配線を見いだすために、外部ループを確立する。ステップ５２は各外部ループ反復に対してｉを固定する。
【００６０】
ステップ５４は内部ループを開始し、これは配線ｊを指標付けして、配線ｊが配線ｉの好適な隣接配線か否かを判断する。従って、ステップ５４はｊを固定し、こうした内部反復の各々に対してｊを増分する。配線ｊは、配線ｉを含まないＮ配線の内の配線に相当する。従って、配線ｉの好適な隣接配線の候補である配線ｊは、配線ｉに十分近接する。すなわち、配線ｉと配線ｊとの間の配線間間隔ＷSPACINGが、次の条件を満足しなければならない。
【数１８】
ＷSPACING ≦ ＷSPACING,MAX                           （１４）
【００６１】
ここでＷSPACING,MAXは事前に選択された最大配線間間隔であり、アプリケーションに依存する。
【００６２】
ステップ５６は、配線ｉ及び配線ｊが高い同方向スイッチング確率ψSDか、高い反対方向スイッチング確率ψODを有するかをテストする。すなわち、ステップ５８に進むためには、ψSDに関する式（８）、またはψODに関する式（９）が満足されなければならない。式（８）及び式（９）の両方とも満足されない場合、配線ｊは配線ｉの好適な隣接配線ではない。この場合、プロシージャは、テストすべき配線ネットｊがまだ存在する場合（ステップ７０参照）、パス７４を通じて、ステップ５４で次の内部ループ反復に入るか、もはやテストすべき配線ネットｊが存在しないが、まだ選択されるべき配線ネットｉが残っている場合には（ステップ７１参照）、パス７２を通じて、ステップ５２で次の外部ループ反復に入る。
【００６３】
ステップ５８は、配線ｉ及び配線ｊが十分に大きな共通ランレングスＬCOMMONを有するか否かをテストする。すなわち、次の条件が満足されなければならない。
【数１９】
ＬCOMMON ≧ ＬCOMMON,MIN                             （１５）
【００６４】
ここでＬCOMMON,MINは事前に選択された最小共通ランレングスであり、アプリケーションに依存する。ＬCOMMONは例えば、配線ｉ及び配線ｊが同じ大域配線チャネルを共用するか否か、或いは、これらが共通パスに沿って平行にまたはほぼ並行に、有意な距離だけオーバラップするか否かを識別することにより決定される。ＬCOMMONの式（１５）が、ステップ６０に進むために満足されなければならない。式（１５）が満足されない場合、配線ｊは配線ｉの好適な隣接配線ではなく、更にテストすべき配線ネットｊが存在する場合（ステップ７０参照）、プロシージャはパス７４を通じて、ステップ５４で次の内部ループ反復に入るか、もはやテストすべき配線ネットｊが存在しないが、まだ選択されるべき配線ネットｉが残っている場合には（ステップ７１参照）、パス７２を通じて、ステップ５２で次の外部ループ反復に入る。
【００６５】
ステップ６０は、配線ｉの状態遷移の間に、配線ｊが既にトライステート化済みか否か、すなわち、配線ｊに対して、トライステート論理が既に提供されているか否かをテストする。提供されている場合、プロシージャはステップ６６に進む。提供されていない場合には、ステップ６２に進む。ステップ５８は、配線ｊがクロックサイクルの一部分の間にトライステート化され得ることを考慮する。
【００６６】
ステップ６２は、設計制約が配線ｊのトライステート化を許可しないかもしれないので、配線ｊがトライステート化可能か否かをテストする。一般に、配線ｊがトライステート化不能でない限り、配線ｊはトライステート化可能である。例えば、配線ｉが式（６）で配線Ａを表すと仮定すると、配線ｊは、トライステート化が式（６）に関連付けられるタイミング要件を満たせない場合、すなわち、配線ｊのトライステート化を時刻ｔA1以前に達成できない場合、または配線ｊがそのトライステートからその最終状態に遷移するのに十分な時間がない場合、トライステート化できない。別の例として、トライステート化による犠牲または費用が、トライステート化による電力低減を上回る場合、配線ｊはトライステート化することができない。配線ｊがトライステート化可能か否かを決定するために使用される特定の基準は、アプリケーションに依存する。
【００６７】
配線ｊがトライステート化可能な場合、プロシージャはステップ６４に進み、トライステート論理を配線ｊに追加し、次にステップ６６に進む。配線ｊがトライステート化不能な場合には、プロシージャは、更にテストすべき配線ネットｊが存在する場合（ステップ７０参照）、パス７４を通じて、ステップ５４で次の内部ループ反復に入るか、もはやテストすべき配線ネットｊが存在しないが、まだ選択されるべき配線ネットｉが残っている場合には（ステップ７１参照）、パス７２を通じて、ステップ５２で次の外部ループ反復に入る。ステップ６２は、信号（一般にクロック）が配線ｊのソース及びシンクの両方において使用可能であり、信号が配線ｊをトライステート化し、配線ｊのシンクにおいて、中間電圧伝搬をブロックすなわちブロックできるものとみなす。前述のように、配線ｊのトライステート化がタイミング問題を発生しないように、トライステート化及びブロッキングの終わりは、配線ｉ上において、要求される到来時刻（ＲＡＴ）の前に発生しなければならない。配線ｉのスイッチング・ウィンドウ（すなわち、配線ｉの早期及び遅延モード到来時刻の間の期間）は、配線ｊのトライステート期間内に入るべきである。
【００６８】
ステップ６６はステップ５６の結果、すなわち配線ｉ及び配線ｊが、高い同方向スイッチング確率ψSDまたは高い逆方向スイッチング確率ψODを有するか否かを調査する。配線ｉ及び配線ｊが高い同方向スイッチング確率ψSDを有する場合、配線ｊは、配線ｉの好適な隣接配線として、配線ｉと対にされ、プロシージャは次にステップ６８に進む。配線ｉ及び配線ｊが高い逆方向スイッチング確率ψODを有する場合、配線ｊの反転トライステート化が許可されても、許可されなくてもよい。なぜなら、反転トライステート化は任意選択であるからである。配線ｊの反転トライステート化は、配線ｊの反転トライステート化による犠牲が、反転トライステート化による消費電力の節約を上回る場合、実行されなくてもよい。別の例として、配線ｊの反転トライステート化は、式（６）に関連づけられるタイミング要求を満たすことができないかもしれない。従って、配線ｉ及び配線ｊが高い逆方向スイッチング確率を有し、反転トライステート化が配線ｊに対して許可される場合、ステップ６６は配線ｊに対して、反転トライステート論理を追加でき、配線ｊは配線ｉの好適な隣接配線として、配線ｉと対にされる。次に、プロシージャはステップ６８に進む。配線ｉ及び配線ｊが高い逆方向スイッチング確率を有し、反転トライステート化が配線ｊに対して許可されない場合、配線ｊは配線ｉの好適な隣接配線ではなく、プロシージャは、更にテストすべき配線ネットｊが存在する場合（ステップ７０参照）、パス７４を通じて、ステップ５４で次の内部ループ反復に入るか、もはやテストすべき配線ネットｊが存在しないが、まだ選択されるべき配線ネットｉが残っている場合には（ステップ７１参照）、パス７２を通じて、ステップ５２で次の外部ループ反復に入る。
【００６９】
ステップ６６で、配線ｊが配線ｉの好適な隣接配線であると判断されると、次にステップ６８に移行する。ＷSPACINGは式（１４）を満足するが、ステップ６８は物理設計制約による許可に従い、共通ランレングスＬCOMMONに沿って、できるだけ長い距離、配線ｊを配線ｉに更に近づけ、それによりＷSPACINGを最小化し、式（１０）または式（１１）の観点から、消費電力低減ΔＰを増加させようとする。ＷSPACINGの低減は、配線ｉとｊとの間の結合キャパシタンスを増加させる一方で、配線ｉとｊとの間の非結合キャパシタンスを低減する。なぜなら、ＷSPACINGが減少すると、通常他の導体（チップ基板内の導体）内で終端する電界線が逸れ、配線ｉ及び配線ｊが結合される導体（例えば配線）内で終端するようになるからである。ステップ６８は要求されるステップではない。なぜなら、配線ｊをトライステート化する全ての基準が、ステップ６８以前に既に満足されているからである。ステップ６８での配線ｊの移動は、設計制約により、実行可能でないかもしれない。或いは、ＷSPACINGが少量だけしが低減されない場合、ほとんど価値のないことかもしれない。逆に、ステップ６８での配線ｊの移動が、ＷSPACINGの大幅な低減を生じ、従って実行する価値があるかもしれない。
【００７０】
ステップ６８の後、ステップ７０に従い、内部ループ内でテストすべき配線ｊが存在する場合、プロシージャは論理パス７４を通じて、ステップ５４で次の内部ループ反復に入る。ステップ６８の後、ステップ７０に従い、内部ループ内でもはやテストすべき配線ｊが存在しない場合、プロシージャはステップ７１に移行し、まだ選択されるべき配線ｉが残っているか否かをテストする。
【００７１】
ステップ７１が実行され、更に選択されるべき配線が存在すると判断される場合、プロシージャは論理パス７２を通じて、ステップ５２で次の外部ループ反復に入る。一方、ステップ７１実行され、もはや選択されるべき配線が存在しないと判断されるとプロシージャは終了する。
【００７２】
各高電力配線ｉに対して、図４の内部ループは、配線ｉのＪ個の好適な隣接配線を見いだす。配線ｉのこうした好適な隣接配線が存在しない場合には、Ｊ＝０である。配線ｉの少なくとも１つの好適な隣接配線が存在する場合、Ｊ＞０である。従って、図４の内部ループは、各高電力配線ｉの少なくとも０個の、すなわちＪ＝０の場合、及びＪ＞０の場合を含む、好適な隣接配線を見いだす。
【００７３】
図４は特定のシーケンス内の特定のステップを示すが、当業者には明らかな図４の変形についても、本発明の範囲内に含まれる。例えば、ステップ５６及びステップ５８の順序が逆転されてもよい。
【００７４】
図４の変形は、ステップ５０で導出された高電力配線を、Ｎ配線により置換する。すなわち、外部ループ指標ｉが１からＩの代わりに、１からＮを取る。この第１の変化は、図４のアルゴリズムを実現する高速コンピュータにより、ステップ５０で配線を選択的にフィルタにかける必要がないと認識する。図４のこの変化は、Ｎ配線内のあらゆる配線対をテストし、好適な隣接配線組み合わせを決定し、２つの特定の配線が高い結合キャパシタンス、及び同方向または逆方向の高いスイッチング確率を有することを認識する。これは、たとえいずれの２つの特定の配線も、技術的に高電力配線としてみなされなくても実施される。
【００７５】
図４の別の変形は、ステップ６０に進むために、ステップ５４及び５８を、次の条件（１６）を満足する配線ｉ及び配線ｊを要求する１度のテストに結合するものである。
【数２０】
ＦLW ≧ ＦLW,MIN                                     （１６）
【００７６】
ここでＦLWは次のように定義される。
【数２１】
ＦLW＝ＬCOMMON／ＷSPACING                            （１７）
【００７７】
ここでＦLW,MINはＦLWの事前選択最小値である。式（１６）及び式（１７）にもとづくこの変化は、ステップ５６の実行を要求し、これにより式（８）または式（９）が満足される必要がある。
【００７８】
以上、図４のアルゴリズムの２つの実施例について開示したが、これら２つの実施例の各々は、ＬCOMMON及びＷSPACINGに関わる少なくとも１つの数学的関係を満足した。一方の実施例では、少なくとも１つの数学的関係が式（１４）及び式（１５）を含んだ。他の実施例では、少なくとも１つの数学的関係が式（１６）及び式（１７）を含んだ。一般に本発明では、少なくとも１つの数学的関係が、ＬCOMMON及びＷSPACINGに関わる数学的関係の任意のセットを含む。例えば、配線対を決定するにおいて、結合キャパシタンスに関連する省電力化の条件が、他の設計条件に対して重んじ過ぎたり、逆に軽んじ過ぎたりし得る。結合キャパシタンスが重んじ過ぎられる場合、少なくとも１つの数学的関係が、（ＬCOMMON／ＷSPACING）Pに依存する。但し、Ｐ＞１（例えばＰ＝２）である。逆に、結合キャパシタンスが軽んじられ過ぎる場合、少なくとも１つの数学的関係が、（ＬCOMMON／ＷSPACING）Pに依存する。但し、Ｐ＜１（例えばＰ＝１／２）である。一般に、ＬCOMMON及びＷSPACINGに関わる少なくとも１つの数学的関係は、アプリケーションに依存する。
【００７９】
物理レイアウトの小さな変更を可能にするステップ６８とは別に、前述の図４の方法論は、本発明のトライステート化が考慮される以前に、物理設計が確立され、またＬCOMMON及びＷSPACINGにが所定値として与えられることを前提とする、本発明の第１の実施例に関連する。しかしながら、幾つかの変形により、図４は、物理設計が流動的な本発明の第２の実施例にも使用され、そこでは物理設計制約と、トライステート化による消費電力の低減要件の両方に従い、ＷSPACINGが回路配置または経路変更により変更される。
【００８０】
第２の実施例では、配線の配置が流動的で、配線を移動することができる。第２の実施例では、図４のステップ５４が、配線ｊが配線ｉに近接しなければならないという要件を排除するように変更される。すなわち、式（１４）がステップ５４で考慮されない。従って、ステップ５４は、式（１４）を満足するために、配線ｉに十分近くない配線ｊを除外することはない。ステップ５４は主に、配線指標ｊをセット及び更新する機能をする。更に、ステップ５８が除去される。なぜなら、式（１５）を満足する配線ｉとの共通ランレングスを達成するために、必要に応じて、配線ｊを移動または経路変更することが可能だからである。ステップ６８に移行するとき、配線ｊが配線ｉにとって好適な隣接配線であるか否かは、まだ決定されていない。従って、ステップ６８は、式（１４）を満足するように、配線ｊが配線ｉの十分近くに配置されているか否か、または、式（１４）を満足するように、配線ｉの十分近くに移動可能か否か、また配線ｊが式（１５）を満足する共通ランレングスを有するか否か、または式（１５）を満足するように移動され、再位置合わせ可能か否かを判断するように変更される。式（１４）及び式（１５）が他の設計制約を犯すことなく満足される場合、配線ｊは配線ｉの好適な隣接配線であるか、移動、位置合わせ、または経路変更を通じて、配線ｉの好適な隣接配線とされる。そうでない場合、配線ｊは配線ｉの好適な隣接配線ではない。式（１４）及び式（１５）を満足するために、配線ｊが配線ｉに対して移動、位置合わせ、または経路変更可能か否かは、物理設計制約の検討の他に、配線ｊの位置変更に関連するコストや、配線ｊのトライステート化及びブロッキングに関連するコストの検討を含む。
【００８１】
第２の実施例は、図４で述べた第１の実施例と基本的に異なる。第１の実施例では、初期に配線ｉに接近する配線ｊ（すなわち初期に式（１４）を満足する配線ｊ）だけが、配線ｉの好適な隣接配線であり、こうした好適な配線ｊがステップ６８に従い、配線ｉに近づくように移動される。第１の実施例では、本発明による省電力化は初期配線配置により制限され、初期に遠くに隔たる配線対は、たとえそれらの一部の配線対が、チップの全体消費電力を有利に低減するような、十分に高い同方向または逆方向スイッチング確率、及び十分に大きな共通ランレングスを有しているとしても、トライステート化アプリケーションにおいて、近くに再配置されることはない。
【００８２】
第２の実施例では、物理配置及び設計制約により、配線ｊが式（１４）を満足するように、配線ｉに十分近づくように移動することを阻止されない限り、任意の配線ｊが、その初期配置に拘わらず、配線ｉの好適な隣接配線となり得る。更に、配線ｊが配線ｉの好適な隣接配線となるために、プロシージャはステップ５６、５８、６０及び６６の要件を満足することを前提として、ステップ６８に進めるべきである（すなわち、高い同方向または逆方向スイッチング確率、大きな共通ランレングスなどの要件が、満足されなければならない）。第２の実施例によれば、本発明による省電力化は初期配線配置により制限されなくなり、初期に遠く隔たった配線対が、本発明のトライステート化アプリケーションにおいて、近くに再配置されるようになる。従って、第２の実施例によれば、物理レイアウトまたは設計が事前に設定されない。物理配置の決定及び論理設計が、お互いを考慮し合って行われる。本発明の省電力化に関する論理決定は、配線の物理配置にもとづき行われ、他方、物理配置の決定は、配線の論理配置にもとづき行われる。物理配置の検討は、技術的検討とコスト検討の両方を含む。従って、ステップ６８は、コスト効果、及び配線ｊを配線ｉの近くに配置するための他の物理的制約を、配線ｊが配線ｉの近くに配置されたときに、配線ｊをトライステート化することにより得られる省電力化と比較検討する。このように、本発明の第２の実施例は、論理設計及び物理設計の両者が呼応して発展することを可能にする。
【００８３】
第１の実施例及び第２の実施例は、特に、配線ｉと配線ｊとの間の配線間隔ＷSPACINGと、配線ｉと配線ｊとの間の共通ランレングスＬCOMMONの意味により、区別される。第１の実施例では、ＷSPACINGが所定の配線間隔であり、ＬCOMMONが所定の共通ランレングスである。用語"所定の"（predetermined）がＷSPACING及びＬCOMMONに適用されるとき、これは配線対生成プロシージャ（例えば図４の配線対生成プロシージャ）のインプリメンテーション前に、事前に確定されていることを意味する。第２の実施例では、ＷSPACINGが確定済みの配線間隔であり、ＬCOMMONが確定済みの共通ランレングスである。用語"確定済み"（established）がＷSPACING及びＬCOMMONに適用されるとき、これは第２の実施例に従い変更されるか、或いは（ＷSPACING及びＬCOMMONの）予め確定済みの値が、変更の必要無しに最適であるか、最適に近いために、予め決められていることを意味する。
【００８４】
図５は、本方法が適用され、トライステート化及びブロッキング回路が追加された後に、"ビン"（bin）６０１乃至６１６に分割されたチップ６００を示す。図５は、本発明の第２の実施例に従い、配線の物理配置及び論理配置が実現される様子を示す。チップ６００のビン環境は、配線網の論理変更が、配線の物理配置の間に行われることを可能にする。ビン６０１乃至６１６は、カット・ベースの配置プログラムと、カットの間に実行される一連の操作とにより生成される。カット・ベースの配置プログラムは、チップ６００面積及びチップ６００上の回路を、再帰的に分割する。カット・ベースの配置プログラムは、チップ６００を２つに分割することにより開始する（チップ６００を４つの部分に分割する四等分方法もしている）。次に、これらの半分の各々が２つに分割される。以下こうした操作が繰り返される。初期には、チップ６００上の回路の最終的な位置に関して、何も知られていない。カットの各セットの後、回路位置が洗練される。配置プロセスの任意の時点において、チップ６００が分割された領域は、"ビン"と呼ばれる。この方法において、様々な"論理合成"アクション（すなわち一般に配線を変更する任意のアクション）が、配置カットのセット間で実行され、現在使用可能な回路配置の洗練された知識にもとづき、配線網の変更を可能にする。典型的なアクションには、バッファリング、クローニング（回路を複製し、そのファンアウトをオリジナル回路とコピーとの間で分配する）、ファクトリング、ピン・スワッピングなどが含まれる。しばしば、回路もビンの間で移動される。
【００８５】
本発明は、ビンが十分に小さく、全てのビン内配線が本発明を有利に適用するには短すぎるが、本方法により導入され得る追加の論理を吸収するにはまだ十分に大きいという状況にまで、配置が進んだ後に、潜在的に好適な隣接配線の対を識別することにより、図５のビン環境において実現できる。
【００８６】
図５は、ソース８１、シンク８２、及びシンク８３を有する配線ネット８０を示す。図５はまた、ソース９１、シンク９２、及びシンク９３を有する配線ネット９０を示す。配線ネット８０及び９０は、オーバラップするランレングス７７に沿って、接近して間隔をあけられる。配線ネット８０及び９０のこうした近接は、配線ネット８０及び９０が遠く隔たっていた初期配置からの、配線ネット８０及び９０の一方または両方の移動に起因し得る。配線ネット８０または配線ネット９０のいずれかがトライステート化され得る。例えば、クロック信号がソース８１及びシンク８２及び８３において使用可能な場合、配線ネット８０がトライステート化される。すなわち、クロック信号が配線ネット８０をトライステート化し、配線ネット８０のシンク８２及び８３において、中間電圧伝搬をブロックすなわち阻止する。
【００８７】
第１の実施例または第２の実施例のいずれかにおいて決定された配線対が、各配線対に関連付けられる省電力化に従い、ランク付けされてもよい。次に、配線対のリストが、省電力化の昇順または降順（或いはソート順）に生成される。このリストは、所定の切り捨て基準に従い、省電力化の収穫逓減ポイントで切り捨てられてもよい。任意の切り捨て基準が使用され得る。例えば、切り捨て基準が、トライステート化の犠牲及び費用に対して、省電力化を平衡化してもよい。
【００８８】
本発明によるトライステート化がかなりな量の平均電力を節減しない場合、本発明はピーク電力を低減するために使用されてもよい。ピーク電力の低減は、互いに接近する配線ネットを有するのを回避することにより達成される。こうした配線ネットは同時にスイッチする可能性があり、同方向スイッチング確率が逆方向スイッチング確率と有意差があるとは言えない。従って、こうした配線ネットは、半分の時間だけ（それらが反対方向に同時にスイッチするとき）高い電力を消費し、残りの半分の時間（同方向にスイッチするとき）は、電力を節減する。こうした接近する配線ネットを有するのを回避することにより、ピーク電力への結合キャパシタンスの寄与が実質的に軽減または除去される。
【００８９】
図６は、本発明の実施例に従い配線対を選択するコンピュータ・システム７００を示す。コンピュータ・システム７００は、プロセッサ７１０と、プロセッサ７１０に接続される入力装置７１１と、プロセッサ７１０に接続される出力装置７１２と、各々がプロセッサ７１０に接続されるメモリ装置７１３及び７１４とを含む。入力装置７１１は、例えばキーボードまたはマウスなどである。出力装置７１２は、例えばプリンタ、プロッタ、コンピュータ画面、磁気テープ、取り外し可能ハードディスク、或いはフロッピー（Ｒ）ディスクなどである。メモリ装置７１３及び７１４は、例えばハードディスク、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、読出し専用メモリ（ＲＯＭ）などである。メモリ装置７１４はコンピュータ・コード７１７を含む。コンピュータ・コード７１７は、ここで述べたように、本発明に従い配線対を選択するアルゴリズムを含む。プロセッサ７１０はコンピュータ・コード７１７を実行する。メモリ装置７１３は入力データ７１６を含む。入力データ７１６は、コンピュータ・コード７１７により要求される入力を含む。出力装置７１２は、コンピュータ・コード７１７からの出力（選択された配線対など）を表示する。
【００９０】
図６は、コンピュータ・システム７００をハードウェア及びソフトウェアの特定の構成として示すが、当業者には明らかなように、図６の特定のコンピュータ・システム７００に関連して前述した目的のために、ハードウェア及びソフトウェアの任意の構成が使用される。例えば、メモリ装置７１３及び７１４は別々のメモリ装置ではなく、単一のメモリ装置の一部であってもよい。別の例として、コンピュータ・コード７１７がメモリ装置７１４に含まれる代わりに、メモリ装置７１３に含まれてもよい。
【００９１】
前述の議論は、チップ（例えば半導体チップ）内の配線、及び電圧状態間の配線遷移について述べたが、本発明の範囲は、電子装置または配線構造内の配線、及び電圧状態間の配線遷移を包含する。
【００９２】
本発明の実施例は例証のために述べたもので、当業者であれば、多くの変更及び変形が明らかであろう。従って、本発明はこうした変更及び変形についても、本発明の趣旨及び範囲内に含まれるものである。
【００９３】
付録Ａ：配線のトライステート化：
配線をトライステート化するために、異なる方法を使用することができる。一部の方法では、信号を反転する。単純な方法は、図７に示される周知のトライステート・ドライバ２００であり、これはインバータ２０８を使用して入力２０１を反転し、イネーブル信号２０３の論理値に従い、出力２０２を選択的にハイインピーダンス状態にする。こうしたトライステート・ドライバ２００のインプリメンテーションが図８に示される。図８は、トライステート素子の共通の静的変形であるトライステート構造３００を示す。トランジスタ２０４及び２０５は、Ｐチャネル・トランジスタである。トランジスタ２０６及び２０７は、Ｎチャネル・トランジスタである。入力２０１、出力２０２、及びイネーブル２０３は、図７に示される通りである。イネーブル信号がハイの場合、Ｐチャネル・トランジスタへのゲートがオンとなり、Ｎチャネル・トランジスタ２０７も、Ｐチャネル・トランジスタ２０４とＮチャネル・トランジスタ２０７との間の反転により、オンとなる。それにより、入力２０１がＰチャネル・トランジスタ２０５及びＮチャネル・トランジスタ２０６に提供され、出力に対するプルアップ及びプルダウン・パスを制御し、入力の反転が出力に提供される。イネーブル信号２０３が０であった場合、Ｐチャネル・トランジスタ２０４がハイ、従ってオフとなる。同様に、イネーブル信号がローになると、Ｎチャネル・トランジスタ２０７がオフになる。この場合、たとえ入力値がＰチャネル・トランジスタ２０５及びＮチャネル・トランジスタ２０６に供給されても、入力値は出力へのプルアップ及びプルダウン・パスのいずれも駆動できない。Ｐチャネル・トランジスタ２０４及びＮチャネル・トランジスタ２０７がオフなので、出力信号は中間状態またはフローティングとなる。従って、出力信号にとって、ＶDD或いはグラウンドへ通じるパスが存在せず、任意の他の出力信号が出力信号をハイまたはローにプルする。
【００９４】
信号反転無しに、回路をハイインピーダンス状態にする必要がある場合、パスゲート変形または他のトポロジが、トライステート化のために使用される。例えば、パスゲート変形を示す図９のトライステート構造４００などが使用される。トライステート構造４００は、入力４０１、出力４０２、イネーブル４０３、インバータ４０４、Ｐチャネル・トランジスタ４０５、及びＮチャネル・トランジスタ４０６を含む。Ｐチャネル・トランジスタ４０５及びＮチャネル・トランジスタ４０６は、並列に接続される。図９のトライステート構造４００は、図８のトライステート構造３００よりも劣る。なぜなら、図９のトライステート構造４００は信号利得を提供せず、従って、図８のトライステート構造３００よりも遅く、劣化した信号を下流のシンクに送達するからである。
【００９５】
配線がハイインピーダンス状態に制御される場合、状態はリークやノイズ、或いは本発明の基本となる意図的な結合により、中間電圧に浮遊する。こうした状態の下で、シンク回路が過剰な電力を消費しないように、注意が払われなければならない。そのためには一般に、信号がシンク位置において使用可能であることが要求され、それによりシンク位置は、配線がハイインピーダンス状態になる度に、潜在的な中間電圧レベルの伝搬を防止できる。この信号はシンクにおいて局所的に生成されるべきである。なぜなら、トライステート化される配線に平行な、追加の制御の伝搬は、省電力化の目的を打ち砕くからである。不要な伝搬を阻止する最も単純な方法は、単純なＡＮＤゲート及びＯＲゲートを、配線がハイインピーダンス状態になる度に、これらのゲートを制御するローカル信号と一緒に使用することである。或いは、ラッチが使用されてもよく、この場合、配線がトライステート化されないときだけ、クロック・エッジ（エッジ・トリガ式ラッチの場合）またはレベル（レベル・センス式ラッチの場合）を捕獲するように構成される。
【００９６】
配線をトライステート化し、中間論理値の伝搬を阻止するために要求される回路は、それ自身のオーバヘッドを、面積、回路遅延及び電力の見地から設計に捧げる。特殊なトライステート制御信号またはシンク伝搬阻止信号が生成されなければならない場合、追加のオーバヘッドが要求される。従って、利点が犠牲を上回る場合に限り、本方法を選択的に適用することが重要である。一般に、ドライバ及びレシーバの両方の近傍に既に経路指定されているクロック信号は、配線をトライステート化し、中間電圧の伝搬を阻止するために使用される。これは配線をトライステート化するために使用されるクロック・フェーズの終了後に、信号がトライステート・トライバから伝搬するための十分な時間を要求する。信号伝搬を阻止するためにゲートが使用される場合、ゲートをブロッキング状態に強制するための追加のスイッチングが、限られた伝搬を有し、電力を過度に増加しないように、注意を払わねばならない。この理由から、ラッチが中間電圧の伝搬を阻止するための好適な回路と言える。
【００９７】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００９８】
（１）複数の配線を有する電気配線構造を設計する方法であって、複数の配線から成る第１の配線と、複数の配線から成る第２の配線とを含む少なくとも１つの配線対を識別するステップを含み、前記第２の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有し、前記第1及び第２の配線が、少なくとも１つの数学的関係を満足し、前記数学的関係が、前記第１の配線と前記第２の配線との間の間隔として定義されるＷSPACING、及び前記第１の配線と前記第２の配線の共通ランレングスとして定義されるＬCOMMONを含む方法。
（２）前記少なくとも１つの数学的関係が、
事前に選択された最大間隔ＷSPACING,MAX以下のＷSPACINGと、
事前に選択された最小共通ランレングスＬCOMMON,MIN以上のＬCOMMONと
を含む、前記（１）記載の方法。
（３）前記少なくとも１つの数学的関係が、ＦLW≧ＦLW,MINを含み、ＦLWがＬCOMMON／ＷSPACINGとして定義され、ＦLW,MINがＦLWの事前選択最小値として定義される、前記（１）記載の方法。
（４）前記少なくとも１つの配線対を識別するステップが、
少なくとも１つの高電力配線を識別するステップと、
前記少なくとも１つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第１の配線が前記高電力配線であり、前記配線対の前記第２の配線が前記好適な隣接配線である、前記（１）記載の方法。
（５）前記第２の配線がまだトライステート化されてないが、トライステート化可能であり、トライステート化論理を前記第２の配線に追加するステップを含む、前記（１）記載の方法。
（６）ψODがψOD,MIN以上であり、前記共通ランレングスに沿って、前記第２の配線を反転する論理を追加するステップを含む、前記（１）記載の方法。
（７）前記第２の配線がトライステート化されている間に、前記第２の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記（１）記載の方法。
（８）ＷSPACINGを低減するステップを含む、前記（１）記載の方法。
（９）前記少なくとも１つの配線対が複数の配線対を含み、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記（１）記載の方法。
（１０）ＷSPACINGが所定の間隔であり、ＬCOMMONが所定の共通ランレングスである、前記（１）記載の方法。
（１１）ＷSPACINGが確定済み間隔であり、ＬCOMMONが確定済み共通ランレングスである、前記（１）記載の方法。
（１２）２線式電圧遷移を実行する方法であって、
キャパシタンスＣAを有するＡ配線と、キャパシタンスＣBを有するＢ配線とを含み、前記Ａ配線と前記Ｂ配線との間に結合キャパシタンスＣCを有する、電気配線網の２つの配線を提供するステップと、
前記Ｂ配線を電圧ＶB1からハイインピーダンス状態にトライステート化するステップと、
前記Ｂ配線をトライステート化した後、前記Ａ配線を電圧ＶA1から電圧ＶA2（但しＶA2≠ＶA1）に遷移するステップと、
前記Ａ配線をＶA2に遷移した後、前記Ｂ配線を電圧ＶB2（但しＶB2≠ＶB1）に遷移するステップと
を含む方法。
（１３）（ＶA2−ＶA1）（ＶB2−ＶB1）＞０である、前記（１２）記載の方法。
（１４）前記Ａ配線及び前記Ｂ配線が、１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有する、前記（１３）記載の方法。
（１５）ＶA1＝ＶB1＝０及びＶA2＝ＶB2＝１であり、前記２線式電圧遷移の実効キャパシタンスがＣA＋ＣBである、前記（１３）記載の方法。
（１６）ＶA1＝ＶB1＝１及びＶA2＝ＶB2＝０であり、前記２線式電圧遷移の実効キャパシタンスが０である、前記（１３）記載の方法。
（１７）（ＶB2−ＶB1）（ＶA2−ＶA1）＜０であり、前記Ａ配線及び前記Ｂ配線が共通ランレングスを有し、前記共通ランレングスに沿って、前記Ｂ配線を反転するステップを含む、前記（１２）記載の方法。
（１８）前記Ａ配線及び前記Ｂ配線が１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する、前記（１７）記載の方法。
（１９）ＶA1＝０、ＶB1＝１、ＶA2＝１、及びＶB2＝０であり、前記２線式電圧遷移の実効キャパシタンスがＣA＋ＣBである、前記（１７）記載の方法。
（２０）ＶA1＝１、ＶB1＝０、ＶA2＝０、及びＶB2＝１であり、前記２線式電圧遷移の実効キャパシタンスが０である、前記（１７）記載の方法。
（２１）前記Ｂ配線がトライステート化されている間に、前記Ｂ配線からの信号の伝搬を阻止するステップを含む、前記（１２）記載の方法。
（２２）少なくとも１つの配線対を含む電気配線構造であって、前記配線対が第１の配線と第２の配線とを含み、前記第２の配線がトライステート化されるように予定され、前記配線対が１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有し、前記第1及び第２の配線が、少なくとも１つの数学的関係を満足し、前記数学的関係が、前記第１の配線と前記第２の配線との間の間隔として定義されるＷSPACINGと、前記第１の配線と前記第２の配線との共通ランレングスとして定義されるＬCOMMONとを含む電気配線構造。
（２３）前記少なくとも１つの数学的関係が、
事前に選択された最大間隔ＷSPACING,MAX以下のＷSPACINGと、
事前に選択された最小共通ランレングスＬCOMMON,MIN以上のＬCOMMONと
を含む、前記（２２）記載の電気配線構造。
（２４）前記少なくとも１つの数学的関係が、ＦLW≧ＦLW,MINを含み、ＦLWがＬCOMMON／ＷSPACINGとして定義され、ＦLW,MINがＦLWの事前選択最小値として定義される、前記（２２）記載の電気配線構造。
（２５）前記配線対の前記第１の配線が前記高電力配線であり、前記配線対の前記第２の配線が、前記高電力配線の好適な隣接配線である、前記（２２）記載の電気配線構造。
（２６）ψODがψOD,MIN以上であり、前記共通ランレングスに沿って、前記第２の配線を反転する論理を含む、前記（２２）記載の電気配線構造。
（２７）前記第２の配線がトライステート化されている間に、前記第２の配線からの信号の伝搬を阻止するブロッキング論理を含む、前記（２２）記載の電気配線構造。
（２８）ＷSPACINGが所定の間隔であり、ＬCOMMONが所定の共通ランレングスである、前記（２２）記載の電気配線構造。
（２９）ＷSPACINGが確定済み間隔であり、ＬCOMMONが確定済み共通ランレングスである、前記（２２）記載の電気配線構造。
（３０）キャパシタンスＣAを有するＡ配線と、キャパシタンスＣBを有するＢ配線とを含み、前記Ａ配線と前記Ｂ配線との間に結合キャパシタンスＣCを有する、配線網の２つの配線を含む電気配線構造であって、
前記Ｂ配線が電圧ＶB1からトライステート状態に遷移した後、前記Ａ配線が電圧ＶA1から電圧ＶA2（但しＶA2≠ＶA1）に遷移し、前記Ａ配線が電圧ＶA2に遷移した後、前記Ｂ配線が電圧ＶB2（但しＶB2≠ＶB1）に遷移するように意図され、前記Ａ配線の電圧ＶA1から電圧ＶA2への遷移、及び前記Ｂ配線の電圧ＶB1から電圧ＶB2への遷移が、２線式電圧遷移として識別される電気配線構造。
（３１）（ＶA2−ＶA1）（ＶB2−ＶB1）＞０である、前記（３０）記載の電気配線構造。
（３２）前記Ａ配線及び前記Ｂ配線が、１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有する、前記（３１）記載の電気配線構造。
（３３）ＶA1＝ＶB1＝０及びＶA2＝ＶB2＝１であり、前記２線式電圧遷移の実効キャパシタンスがＣA＋ＣBである、前記（３１）記載の電気配線構造。
（３４）ＶA1＝ＶB1＝１及びＶA2＝ＶB2＝０であり、前記２線式電圧遷移の実効キャパシタンスが０である、前記（３１）記載の電気配線構造。
（３５）（ＶB2−ＶB1）（ＶA2−ＶA1）＜０であり、前記Ａ配線及び前記Ｂ配線が共通ランレングスを有し、前記Ｂ配線が前記共通ランレングスに沿って反転される、前記（３０）記載の電気配線構造。
（３６）前記Ａ配線及び前記Ｂ配線が１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有する、前記（３５）記載の電気配線構造。
（３７）ＶA1＝０、ＶB1＝１、ＶA2＝１、及びＶB2＝０であり、前記２線式電圧遷移の実効キャパシタンスがＣA＋ＣBである、前記（３５）記載の電気配線構造。
（３８）ＶA1＝１、ＶB1＝０、ＶA2＝０、及びＶB2＝１であり、前記２線式電圧遷移の実効キャパシタンスが０である、前記（３５）記載の電気配線構造。
（３９）前記Ｂ配線がトライステート化されている間に、前記Ｂ配線からの信号の伝搬が阻止される、前記（３０）記載の電気配線構造。
（４０）複数の配線を有する電気配線構造を設計するコンピュータ・システムであって、
プロセッサと、
前記プロセッサに接続される入力装置と、
前記プロセッサに接続される出力装置と、
前記プロセッサに接続される第１のメモリ装置と、
前記プロセッサに接続される第２のメモリ装置と、
前記第２のメモリ装置に記憶され、前記プロセッサにより実行されるコンピュータ・コードと
を含み、前記コンピュータ・コードは、少なくとも１つの配線対を識別するアルゴリズムを含み、前記配線対が、複数の配線から成る第１の配線と、複数の配線から成る第２の配線とを含み、前記第２の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が、１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の同方向のスイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の逆方向スイッチング確率ψODを有し、前記第1及び第２の配線が、少なくとも１つの数学的関係を満足し、前記数学的関係が、前記第１の配線と前記第２の配線との間の間隔として定義されるＷSPACINGと、前記第１の配線と前記第２の配線との共通ランレングスとして定義されるＬCOMMONとを含むコンピュータ・システム。
（４１）前記少なくとも１つの数学的関係が、
事前に選択された最大間隔ＷSPACING,MAX以下のＷSPACINGと、
事前に選択された最小共通ランレングスＬCOMMON,MIN以上のＬCOMMONと
を含む、前記（４０）記載のコンピュータ・システム。
（４２）前記少なくとも１つの数学的関係が、ＦLW≧ＦLW,MINを含み、ＦLWがＬCOMMON／ＷSPACINGとして定義され、ＦLW,MINがＦLWの事前選択最小値として定義される、前記（４０）記載のコンピュータ・システム。
（４３）前記少なくとも１つの配線対を識別するアルゴリズムが、
少なくとも１つの高電力配線を識別するステップと、
前記少なくとも１つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第１の配線が前記高電力配線であり、前記配線対の前記第２の配線が前記好適な隣接配線である、前記（４０）記載のコンピュータ・システム。
（４４）前記アルゴリズムが、前記第２の配線がまだトライステート化されてないが、トライステート化可能であると判断する場合、前記アルゴリズムがトライステート化論理を前記第２の配線に追加するステップを含む、前記（４０）記載のコンピュータ・システム。
（４５）前記アルゴリズムが、ψODがψOD,MIN以上であると判断する場合、前記アルゴリズムが前記共通ランレングスに沿って、前記第２の配線を反転する論理を追加するステップを含む、前記（４０）記載のコンピュータ・システム。
（４６）前記アルゴリズムが、前記第２の配線がトライステート化されている間に、前記第２の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記（４０）記載のコンピュータ・システム。
（４７）前記アルゴリズムがＷSPACINGを低減するステップを含む、前記（４０）記載のコンピュータ・システム。
（４８）前記アルゴリズムが、前記少なくとも１つの配線対が複数の配線対を含むことを識別する場合、前記アルゴリズムが、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記（４０）記載のコンピュータ・システム。
（４９）ＷSPACINGが所定の間隔であり、ＬCOMMONが所定の共通ランレングスである、前記（４０）記載のコンピュータ・システム。
（５０）ＷSPACINGが確定済み間隔であり、ＬCOMMONが確定済み共通ランレングスである、前記（４０）記載のコンピュータ・システム。
（５１）複数の配線を有する電気配線構造を設計するコンピュータ可読プログラム・コードを有するコンピュータ可読媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードが、
複数の配線から成る第１の配線と、複数の配線から成る第２の配線とを含む少なくとも１つの配線対を識別するアルゴリズムを含み、前記第２の配線が既にトライステート化済みか、トライステート化可能であり、前記配線対が１クロック・サイクルにつき、事前に選択された最小同方向スイッチング確率ψSD,MIN以上の、同方向スイッチング確率ψSDを有するか、１クロック・サイクルにつき、事前に選択された最小逆方向スイッチング確率ψOD,MIN以上の、逆方向スイッチング確率ψODを有し、前記第1及び第２の配線が、少なくとも１つの数学的関係を満足し、前記数学的関係が、前記第１の配線と前記第２の配線との間の間隔として定義されるＷSPACING、及び前記第１の配線と前記第２の配線の共通ランレングスとして定義されるＬCOMMONを含むコンピュータ・プログラム製品。
（５２）前記少なくとも１つの数学的関係が、
事前に選択された最大間隔ＷSPACING,MAX以下のＷSPACINGと、
事前に選択された最小共通ランレングスＬCOMMON,MIN以上のＬCOMMONと
を含む、前記（５１）記載のコンピュータ・プログラム製品。
（５３）前記少なくとも１つの数学的関係が、ＦLW≧ＦLW,MINを含み、ＦLWがＬCOMMON／ＷSPACINGとして定義され、ＦLW,MINがＦLWの事前選択最小値として定義される、前記（５１）記載のコンピュータ・プログラム製品。
（５４）前記少なくとも１つの配線対を識別するアルゴリズムが、
少なくとも１つの高電力配線を識別するステップと、
前記少なくとも１つの高電力配線の各々に対して、好適な隣接配線を識別するステップと
を含み、前記配線対の前記第１の配線が前記高電力配線であり、前記配線対の前記第２の配線が前記好適な隣接配線である、前記（５１）記載のコンピュータ・プログラム製品。
（５５）前記アルゴリズムが、前記第２の配線がまだトライステート化されてないが、トライステート化可能であると判断する場合、前記アルゴリズムが、トライステート化論理を前記第２の配線に追加するステップを含む、前記（５１）記載のコンピュータ・プログラム製品。
（５６）前記アルゴリズムが、ψODがψOD,MIN以上であると判断する場合、前記アルゴリズムが前記共通ランレングスに沿って、前記第２の配線を反転する論理を追加するステップを含む、前記（５１）記載のコンピュータ・プログラム製品。
（５７）前記アルゴリズムが、前記第２の配線がトライステート化されている間に、前記第２の配線からの信号の伝搬を阻止するブロッキング論理を追加するステップを含む、前記（５１）記載のコンピュータ・プログラム製品。
（５８）前記アルゴリズムがＷSPACINGを低減するステップを含む、前記（５１）記載のコンピュータ・プログラム製品。
（５９）前記アルゴリズムが、前記少なくとも１つの配線対が複数の配線対を含むと識別する場合、前記アルゴリズムが、
省電力化に従い、前記配線対をランク付けするステップと、
前記省電力化のソート順に、ランク付けされた前記配線対のリストを生成するステップと、
前記リストを所定の切り捨て基準に従い、前記省電力化の収穫逓減ポイントで切り捨てるステップと
を含む、前記（５１）記載のコンピュータ・プログラム製品。
（６０）ＷSPACINGが所定の間隔であり、ＬCOMMONが所定の共通ランレングスである、前記（５１）記載のコンピュータ・プログラム製品。
（６１）ＷSPACINGが確定済み間隔であり、ＬCOMMONが確定済み共通ランレングスである、前記（５１）記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【図１】本発明の実施例に従い、第１の配線、第２の配線、及び電源を有する電気回路を示す図である。
【図２】本発明の実施例に従い、各配線の２状態モデルにもとづく、図１の配線の状態遷移を示す図である。
【図３】本発明の実施例に従い、第１の配線の２状態モデル及び第２の配線のトライステート・モデルにもとづく、図１の配線の状態遷移を示す図である。
【図４】本発明の実施例に従い、各配線対の一方の配線がトライステート化されるように、配線対を選択する方法を示すフローチャートである。
【図５】本発明の実施例に従い、配線対の配線がトライステート化されるように、配線対の配置を示すチップ・レイアウトである。
【図６】本発明の実施例に従い、各配線対の一方の配線がトライステート化されるように、配線対を選択するコンピュータ・システムを示す図である。
【図７】本発明の実施例に従うトライステート・ドライバを示す図である。
【図８】図７のトライステート・ドライバを実現するトライステート構造を示す図である。
【図９】本発明の実施例に従うトライステート構造を示す図である。
【符号の説明】
１２、１４  配線
１６、１７  キャパシタ
１８  結合キャパシタンス
２０  電源
２２、２６  プルアップ素子
２４、２８  プルダウン素子
３０  グラウンド
７７  ランレングス
８０、９０  配線ネット
８１、９１  ソース
８２、８３、９２、９３  ソース
２０４、２０５、４０５  Ｐチャネル・トランジスタ
２０６、２０７、４０６  Ｎチャネル・トランジスタ
２０８、４０４  インバータ
６０１−６１６  ビン
【図１】
0003798704.tif 000008
【図２】
0003798704.tif 000009
【図３】
0003798704.tif 000010
【図４】
0003798704.tif 000011
【図５】
0003798704.tif 000012
【図６】
0003798704.tif 000013
【図７】
0003798704.tif 000014
【図８】
0003798704.tif 000015
【図９】
0003798704.tif 000016