(57)【要約】  【課題】  現在の設計の混乱を最小としながらネット間の相関結合を最小限に抑えるようにアレイを再ルーティングする方法を提供する。  【解決手段】  回路のための相互接続アレイ４の実施形態が開示される。相互接続アレイは、多数の交差した攻撃ネット２００〜４００のセクションに並列にかつ隣接して配置された犠牲ネット１００を含み、これによって、結合容量による遅延または誤った切り換えが回路に生じるのを最小限に抑える。また、これに関連して、相互接続アレイ４を再ルーティングする方法の実施形態も開示される。この方法は、犠牲ネット１００および少なくとも２つの攻撃ネット２００〜４００を識別することと、多数の攻撃ネットのセクションが犠牲ネット１００に並列にかつ隣接して配置されるように攻撃ネット２００〜４００を交差させて、配線環境の変化を最小としながら犠牲ネット１００に対する結合容量の影響を最小限に抑えることと、を組み込む。【選択図】  図３
2009531787.tif 000002
【特許請求の範囲】
【請求項１】
相互接続アレイを再ルーティングする方法であって、
第１の切り換え挙動を有し、タイミング要求に失敗する第１のネットを識別するステップと、
第２の切り換え挙動を有し、前記第１のネットの一方側に平行し隣接する第２のネットを識別するステップであって、前記第１のネットと前記第２のネットとの間の結合容量が前記第１の切り換え挙動に与える影響によって前記第１のネットが前記タイミング要求に失敗する、ステップと、
第３の切り換え挙動を有する第３のネットを選択するステップと、
前記第２のネットおよび前記第３のネットが交差するように、かつ、前記第２のネットおよび前記第３のネットの双方のセクションが前記第１のネットの前記一方の側に平行し隣接するように、前記第２のネットおよび前記第３のネットを再ルーティングするステップと、
を含み、前記第１のネットと前記セクションとの間の結合容量が前記第１の切り換え挙動に与える総合的な影響が、前記第１のネットと前記第２のネットとの間のみの結合容量の前記影響に比べて低減している、方法。
【請求項２】
前記再ルーティングするステップが、
前記第２のネットおよび前記第３のネットの一方の上の空のトラックを特定するステップ、および、前記第２のネットおよび前記第３のネットの一方の下に空のトラックを特定するステップの一方と、
前記空のトラックに追加のバイアを形成し、前記空のトラックを通して配線を形成して、前記第２のネットおよび前記第３のネットの交差を可能とするステップと、
を含む、請求項１に記載の方法。
【請求項３】
少なくとも１つの追加のネットを識別するステップと、
前記再ルーティングの間に、前記追加のネットが前記第２のネットおよび前記第３のネットと交差するように、かつ、前記追加のネットの追加のセクションが前記第１のネットの前記一方の側に平行し隣接するように、前記追加のネットを同時に再ルーティングするステップと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記再ルーティングするステップが、前記第１のネットと前記セクションとの間に所定の最大結合容量以下の容量が確立されるように再ルーティングを行うステップを含む、請求項１に記載の方法。
【請求項５】
前記再ルーティングするステップが、前記セクションの各々が所定の最大長以下となるように再ルーティングを行うステップを含む、請求項１に記載の方法。
【請求項６】
統計的に前記第２の切り換え挙動および前記第２の切り換え挙動が異なる可能性があるために前記総合的な影響が低減される、請求項１に記載の方法。
【請求項７】
相互接続アレイを再ルーティングする方法であって、
第１の切り換え挙動を有し、タイミング要求に失敗する第１のネットを識別するステップと、
第２の切り換え挙動を有し、前記第１のネットの一方側に平行し隣接する第２のネットを識別するステップであって、前記第１のネットと前記第２のネットとの間の結合容量が前記第１の切り換え挙動に与える影響によって前記第１のネットが前記タイミング要求に失敗する、ステップと、
第３の切り換え挙動を有する第３のネットを選択するステップと、
前記第２のネットおよび前記第３のネットが交差するように、かつ、前記第２のネットおよび前記第３のネットの双方のセクションが前記第１のネットの前記一方の側に平行し隣接するように、前記第２のネットおよび前記第３のネットを再ルーティングするステップと、
前記再ルーティングの間に、前記第１のネットに対する全ての結合容量の合計を維持するステップと、
を含み、前記第１のネットと前記セクションとの間の結合容量が前記第１の切り換え挙動に与える総合的な影響が、前記第１のネットと前記第２のネットとの間のみの結合容量の前記影響に比べて低減している、方法。
【請求項８】
前記再ルーティングするステップが、
前記第２のネットおよび前記第３のネットの一方の上の空のトラックを特定するステップ、および、前記第２のネットおよび前記第３のネットの一方の下に空のトラックを特定するステップの一方と、
前記空のトラックに追加のバイアを形成し、前記空のトラックを通して配線を形成して、前記第２のネットおよび前記第３のネットの交差を可能とするステップと、
を含む、請求項１に記載の方法。
【請求項９】
少なくとも１つの追加のネットを識別するステップと、
前記再ルーティングの間に、前記追加のネットが前記第２のネットおよび前記第３のネットと交差するように、かつ、前記追加のネットの追加のセクションが前記第１のネットの前記一方の側に平行し隣接するように、前記追加のネットを同時に再ルーティングするステップと、
を更に含む、請求項１に記載の方法。
【請求項１０】
前記再ルーティングするステップが、前記第１のネットと前記セクションとの間に所定の最大結合容量以下の容量が確立されるように再ルーティングを行うステップを含む、請求項１に記載の方法。
【請求項１１】
前記再ルーティングするステップが、前記セクションの各々が所定の最大長以下となるように再ルーティングを行うステップを含む、請求項１に記載の方法。
【請求項１２】
前記第１のネットに対する全ての結合容量の前記合計を維持する前記ステップが、前記第１のネットに対する未結合の負荷の変化を防止する、請求項７に記載の方法。
【請求項１３】
統計的に前記第２の切り換え挙動および前記第２の切り換え挙動が異なる可能性があるために前記総合的な影響が低減される、請求項１に記載の方法。
【請求項１４】
相互接続アレイであって、
第１のネットと、
第２のネットと、
第３のネットと、
を含み、前記第１のネットが線形であり、前記第２のネットおよび前記第３のネットの双方のセクションが前記第１のネットの一方の側に平行し隣接するように前記第２のネットおよび前記第３のネットが交差し、
前記第１のネットと前記セクションとの間の結合容量が前記第１のネットに対して総合的な影響を有して、前記第１のネットの切り換え挙動に影響を与える、相互接続アレイ。
【請求項１５】
前記第２のネットおよび前記第３のネットのランダムな切り換え挙動のために、前記第２のネットのみが前記第１のネットに隣接している場合の結合容量の影響に比べて、前記総合的な影響が低減される、請求項１４に記載の相互接続アレイ。
【請求項１６】
少なくとも１つの追加のネットを更に含み、前記追加のネットの追加のセクションが前記第１のネットに平行し隣接するように前記追加のネットが前記第２のネットおよび前記第３のネットと交差する、請求項１４に記載の相互接続アレイ。
【請求項１７】
前記第１のネットと前記第２のネットとの間の所定の最大結合容量を更に含む、請求項１４に記載の相互接続アレイ。
【請求項１８】
前記セクションの各々について所定の最大長を更に含む、請求項１４に記載の相互接続アレイ。
【請求項１９】
コンピュータによって読み取り可能であり、ネットに対する結合容量の影響を低減させる方法を実行するために前記コンピュータによって実行可能な命令のプログラムを具現化するプログラム・ストレージ・デバイスであって、前記方法が、
第１の切り換え挙動を有し、タイミング要求に失敗する第１のネットを識別するステップと、
第２の切り換え挙動を有し、前記第１のネットの一方側に平行し隣接する第２のネットを識別するステップであって、前記第１のネットと前記第２のネットとの間の結合容量が前記第１の切り換え挙動に与える影響によって前記第１のネットが前記タイミング要求に失敗する、ステップと、
第３の切り換え挙動を有する第３のネットを選択するステップと、
前記第２のネットおよび前記第３のネットが交差するように、かつ、前記第２のネットおよび前記第３のネットの双方のセクションが前記第１のネットの前記一方の側に平行し隣接するように、前記第２のネットおよび前記第３のネットを再ルーティングするステップと、
を備え、
前記第１のネットと前記セクションとの間の結合容量が前記第１の切り換え挙動に与える総合的な影響が、前記第１のネットと前記第２のネットとの間のみの結合容量の前記影響に比べて低減している、
プログラム・ストレージ・デバイス。
【請求項２０】
前記方法が、
前記再ルーティングの間に、前記第１のネットに対する全ての結合容量の合計を維持するステップであって、それにより前記第１のネットに対する未結合の負荷の変化を防止するようにする、ステップ、
をさらに備える、請求項１９に記載のプログラム・ストレージ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ルーティングされた配線設計に関し、更に具体的には、ネット間の相関結合が最小限であるルーティング配線設計、およびこれに関連した、ネット間の相関結合を低減させる方法に関する。
【背景技術】
【０００２】
並列ネット間では結合容量が生じる。この結合によってクロストーク・ノイズが発生し、これが信号の遅延および回路の故障につながる恐れがある。具体的には、並列した隣接ネットの切り換えウィンドウが重複すると、あるネットが攻撃ネットとして作用して、隣接するネット（すなわち犠牲ネット）の切り換え時刻（すなわち、低電圧から高電圧または高電圧から低電圧への出力遷移が生じる時）またはスルー・レート（すなわち低電圧から高電圧または高電圧から低電圧への出力変化率）あるいはその両方に影響を与える場合がある。例えば、攻撃ネットおよび犠牲ネットが切り換わる時が重複しているが、方向（すなわち低から高または高から低）が逆であるか、またはスルー・レートが異なる場合、あるいはその両方では、犠牲ネットのスルー・レートが増大または低減し、犠牲ネットの切り換え時刻が早くなるかまたは遅くなる場合がある。犠牲ネットのスルー・レートを増大させるか、または切り換え時刻を遅くすると、セットアップ時間に悪影響が及ぶ（例えばフリップ・フロップまたはラッチにおいて）か、または出力タイミング・ウィンドウのエラーが生じることがある。犠牲ネットのスルー・レートを低減させるか、または切り換え時刻を早くすると、保持時間に悪影響を与える恐れがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
結合ノイズが誘発するタイミングの失敗を回避するために用いられている１つの技法は、配線を遠くに移動させ、これによって結合容量を低減させることである。この方法は、極めて密集したチップ領域においては、絶縁距離を拡大するための追加の空間がなければ、充分に機能しない。他の一般的な方法は、より強力なドライバを用いることでいっそう大きなタイミング・マージンを生成することである。重要なネットでは、この方法はすでに使い果たされている。従って、当技術分野において、現在の設計の混乱を最小としながら、密集した配線領域におけるネット間の相関結合を最小限に抑えるようにアレイを再ルーティングする方法が必要とされている。
【課題を解決するための手段】
【０００４】
前述のことに鑑み、高密度回路のための相互接続アレイの実施形態が開示される。相互接続アレイは、多数の交差した攻撃ネットのセクションに並列にかつ隣接して配置された犠牲ネットを含み、これによって、結合容量による遅延または誤った切り換えが回路に生じるのを最小限に抑える。また、これに関連して、相互接続アレイを再ルーティングする方法の実施形態も開示される。この方法は、犠牲ネットおよび少なくとも２つの攻撃ネットを識別することと、多数の攻撃ネットのセクションが犠牲ネットに並列にかつ隣接して配置されるように攻撃ネットを交差させて、配線環境の変化を最小としながら犠牲ネットに対する結合容量のノイズの影響を最小限に抑えることと、を組み込む。
【０００５】
更に具体的には、開示される相互接続アレイの実施形態は、犠牲ネット（すなわち第１のネット）および少なくとも２つの攻撃ネット（すなわち第２のネット、第３のネット等）を含む。これらのネットは全て同じ方向に向けられ、大部分は同じ配線レベル上に配されている。ネットの各々は、対応する切り換え挙動を有する（すなわち切り換えウィンドウ、スルー・レート、切り換え時刻、および切り換え方向）。すなわち、第１のネットは第１の切り換え挙動を有し、第２のネットは第２の切り換え挙動を有し、第３のネットは第３の切り換え挙動を有する等である。
【０００６】
第１のネットは線形である。これに対して、第２および第３のネットは交差またはねじれて、第２および第３のネットの各々のセクションが第１のネットの一方の側に平行しかつ隣接するようになっている。このため、結合容量から生じるクロストーク・ノイズは、異なる攻撃ネットに分散し、従って、ネットの切り換え挙動に対して総合的な影響を及ぼす。具体的には、統計的に第２および第３のネットの切り換え挙動は異なる可能性があるので、単一の攻撃ネットのみ（例えば第２のネットのみ）が第１のネットに隣接して配置されている場合の影響に比べて、第１のネットと第２および第３のネットのセクションとの間の結合容量が第１の切り換え挙動に与える総合的な影響は、低減させることができる。更に、第２および第３のネットを追加の攻撃ネットと交差させて、追加ネットの追加セクションを第１のネットの同じ側と平行にかつ隣接して配置することができる。第１のネットに隣接したセクションを有する攻撃ネットの数を増やすことで、第１の切り換え挙動に対する結合容量の総合的な影響を更に抑えることができる。
【０００７】
例示的な実施形態においては、第１のネットに隣接した各セクションが所定の最大長を有するように、相互接続アレイを構成することができる。別の例示的な実施形態では、第１のネットに影響を与える総合的な結合容量が所定の最大値未満になるように選択され交差させた攻撃ネットを用いて、相互接続アレイを構成することができる。
【０００８】
また、相互接続アレイにおいてネットを再ルーティングするための方法も開示される。この方法では、アレイ内のネットは同じ方向に向けられ、同じ配線レベル（すなわちアレイの主配線レベル）に配置されている。各ネットは、対応する切り換え挙動（すなわちスルー・レート、切り換え時刻、切り換え方向、および切り換えウィンドウ）を有する。すなわち、第１のネットは第１の切り換え挙動を有し、第２のネットは第２の切り換え挙動を有する等である。    
【０００９】
本発明の実施形態は、アレイ内の異なるネットの中から、別のネット（すなわち第２のネット）との結合容量によるクロストーク・ノイズの結果、タイミング要求に失敗した１つのネットを識別して、第１のネットを犠牲ネットと見なし、第２のネットを攻撃ネットと見なすことを含む。
【００１０】
第１のネット（すなわち犠牲ネット）を識別することに加えて、犠牲ネットを失敗させた第２のネット（すなわち最初の攻撃ネット）も識別する。具体的には、第１のネットに平行しかつ隣接し、結合容量の結果として第１のネットの切り換え挙動（すなわち第１の切り換え挙動）に影響を与えることで第１のネットをタイミング要求に失敗させるネットとして、第２のネットを識別する。
【００１１】
いったん、第１のネットおよび第２のネットを識別すると、第３のネット（すなわち別の攻撃ネット）を、第２のネットと交差させるものとしてアレイ内の他のネットから選択する。第３のネットの選択は、主配線レベルの上または下の配線レベルにおいて短い空のトラックを有するネットに制限される。統計的に、選択の要件を満足させるいずれかの攻撃ネットの切り換え挙動（すなわち動作、スルー・レート、切り換え時刻、または切り換え方向あるいはそれら全て）は、第２のネットの切り換え挙動（すなわち第２の切り換え挙動）とは異なる可能性がある。このため、いったん第２および第３のネットが交差すると、第１のネットに対する結合容量の総合的な影響は、第１のネットおよび第２のネット間のみの結合容量の影響に比べて低減する。
【００１２】
任意に、第２のネットと交差させるために第３のネットを識別することに加えて、上述したのと同じ方法で、１つ以上の追加の攻撃ネットも交差のために選択することができる。
【００１３】
いったん、第３のネットおよび任意の追加ネットが選択されると、第２のネットおよびこれらの選択された攻撃ネットを再ルーティングして交差させる。これらの多数の攻撃ネット（すなわち、第２のネット、第３のネット、およびいずれかの追加ネット）を交差するように再ルーティングし、多数の攻撃ネットの各々のセクションを第１のネットの一方の側に平行にかつ隣接して配置することで、それらの切り換え挙動（すなわち第２のネットの第２の切り換え挙動、いずれかの追加ネットの追加の切り換え挙動等）は、第１のネットの第１の切り換え挙動に対して総合的な影響を有する。すなわち、統計的に、これらの多数の攻撃ネットの切り換え挙動（すなわち動作、切り換えウィンドウ、スルー・レート、切り換え時刻、または切り換え方向あるいはそれら全て）は、多様であり、相互に相殺する可能性がある。このため、第１のネットのスルー・レートおよび切り換え時刻に対する結合容量の総合的な影響は、第１のネットおよび第２のネットのみの間の結合容量の影響に比べて低減する。
【００１４】
ネットの再ルーティングのプロセスは、犠牲ネットおよび攻撃ネットが配置されている主配線レベルの上または下（すなわち第２のネットまたは第３のネットの上または下のいずれかの配線レベル）の結合領域において空のトラックを特定することによって達成可能である。次いで、これらの空のトラックに追加のバイアを形成することができ、空のトラックを通して配線を形成してネットの交差を可能とする。この再ルーティングのプロセス中、第１のネットに対する全ての結合容量の合計を維持して、未結合の負荷を不変とすることができる。更に、選択および再ルーティング・プロセスに制限を課して、犠牲および隣接ネットの全ての結合が所与の閾値よりも小さいことを確実とすることができる。例えば、犠牲ネットに隣接する多数の攻撃ネットのセクションの各々が、所定の最大長よりも長くなることを防止する制限を課すことができる。また、第１のネットおよび多数の交差させた攻撃ネットのセクションの間が最大結合容量以下になるようにする別の制限を設定することができる。
【００１５】
本発明の実施形態のこれらおよび他の態様は、以下の記載および添付図面に関連付けて考慮した場合により良く認められ理解されるであろう。しかしながら、本発明の好適な実施形態およびその多数の具体的な詳細事項を示す以下の記載は、例示のため与えるのであって限定ではないことは理解されよう。本発明の実施形態の範囲内で、その精神から逸脱することなく、多くの変更および変形が可能であり、本発明の実施形態は全てのかかる変形を包含する。
【００１６】
本発明の実施形態は、図面を参照した以下の詳細な記載から、より良く理解されよう。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態ならびにその様々な機構および利点となる詳細事項を、添付図面において例示し以下の記載において詳述する非限定的な実施形態を参照して、更に充分に説明する。図面に示した機構は必ずしも一定の縮尺どおりでないことに留意すべきである。本発明の実施形態を不必要に曖昧にしないため、周知の構成要素および処理技法の説明は省略する。本発明において用いる例は、本発明の実施形態を実施することができる方法の理解を容易にすること、および、本発明の実施形態を当業者が実施することを可能とすることのみを意図している。従って、例は、本発明の実施形態の範囲を限定するものとして解釈されるものではない。
【００１８】
図１は、単一の配線レベル５上に複数の並列する隣接したネット１００〜４００を有する相互接続アレイ１を示す図である。上述のように、並列ネット１００〜４００間には結合容量が生じる。この結合はクロストーク・ノイズを発生させ、これが信号の遅延および回路の故障につながる恐れがある。具体的には、並列の隣接ネット（例えば１００および２００）の切り換えウィンドウが重複している場合、一方のネット２００が攻撃ネットとして作用し、隣接するネット１００の切り換え挙動に影響を与える場合がある（例えば、隣接ネット１００（すなわち犠牲ネット）の切り換え時刻（すなわち、低電圧から高電圧または高電圧から低電圧への出力遷移が生じる時）またはスルー・レート（すなわち低電圧から高電圧または高電圧から低電圧への出力変化率）あるいはその両方に影響を与える場合がある）。例えば、攻撃ネット２００および犠牲ネット１００が切り換わるウィンドウが重複しているが、方向（すなわち低から高または高から低）が逆であるか、スルー・レートが異なるか、または切り換え時刻が異なる場合、あるいはそれら全ての場合では、結果として、犠牲ネット１００のスルー・レートが増大または低減し、犠牲ネットの切り換え時刻が早くなるか遅くなる場合がある。犠牲ネット１００のスルー・レートを増大させるか、または切り換え時刻を遅くすると、セットアップ時間に悪影響が及ぶ（例えばフリップ・フロップまたはラッチにおいて）か、または出力タイミング・ウィンドウのエラーが生じることがある。犠牲ネット１００のスルー・レートを低減させるか、または切り換え時刻を早くすると、保持時間に悪影響を与える恐れがある。
【００１９】
上述したように、結合ノイズが誘発するタイミングの失敗を回避するために用いられている１つの技法は、配線を遠くに移動させ（例えば配線１００と配線２００との間の距離６を大きくする）、これによって結合容量を低減させることである。この方法は、極めて密集したチップ領域においては、絶縁距離を拡大するための追加の空間がなければ、充分に機能しない。他の一般的な方法は、より強力なドライバを用いることでいっそう大きなタイミング・マージンを生成することである。重要なネットでは、この方法はすでに使い果たされている。従って、当技術分野において、現在の設計の混乱を最小としながら、密集した配線領域におけるネット間の相関結合を最小限に抑えるようにアレイを再ルーティングする方法が必要とされている。
【００２０】
図２を参照すると、単一のインタラクションを多くのインタラクションに分割する（例えば攻撃ネット２００を２００ａ〜２００ｄに分割する）ことで、犠牲１００の遅延に対する結合容量のノイズの影響を効果的に除去している。従って、前述のことに鑑み、本発明において開示する本発明の攻撃および方法の実施形態では、単一の攻撃ネットをもっと小さい多数のものに分割する。これらの実施形態は、回路切り換え統計データのランダム性に頼っている。すなわち、ランダムなロジックでは、いずれの攻撃ネットも静かである（quiet）か、または立ち上がりもしくは立ち下がり遷移を有することができる。単一の攻撃ネットとは異なり、多くの「攻撃」ネットが、結合容量によって単一の「犠牲」ネットに接続されている場合、その作用は全てのインタラクションの合計である。統計的に、多くの攻撃ネットは様々な切り換え挙動を有する可能性があるので、全体的なインタラクションによって結果的にノイズは相殺され、このためノイズの影響は無視できる程度である。これは、大きな追加空間を必要とすることも、全体的な容量負荷を著しく変化させることもなく達成される。このため、本発明の実施形態は、設計に対する混乱を最小に抑えて設計サイクル終了時のノイズ誘発遅延変化を修正する（fix）のに極めて適したものである。
【００２１】
更に具体的には、高密度回路のための相互接続アレイの実施形態が開示される。相互接続アレイは、多数の交差した攻撃ネットのセクションに並列にかつ隣接して配置された犠牲ネットを含み、これによって、結合容量による遅延または誤った切り換えが回路に生じるのを最小限に抑える。また、これに関連して、相互接続アレイを再ルーティングする方法の実施形態も開示される。この方法は、犠牲ネットおよび少なくとも２つの攻撃ネットを識別することと、多数の攻撃ネットのセクションが犠牲ネットに並列にかつ隣接して配置されるように攻撃ネットを交差させて、配線環境の変化を最小としながら犠牲ネットに対する結合容量の影響を最小限に抑えることと、を組み込む。
【００２２】
本発明の相互接続アレイの実施形態（図３のアレイ３および図４のアレイ４を参照）は、犠牲ネット１００（すなわち第１のネット）および少なくとも２つの攻撃ネット２００〜４００を含む。犠牲ネットおよび攻撃ネット１００〜４００は全て同じ方向に向けられ、大部分は同じ配線レベル（すなわち主配線レベル）上に配されている。ネット１００〜４００の各々は、対応する切り換え挙動を有する（すなわち切り換えウィンドウ、スルー・レート、切り換え時刻、および切り換え方向）。すなわち、第１のネット１００は第１の切り換え挙動を有し、第２のネット２００は第２の切り換え挙動を有し、第３のネット３００は第３の切り換え挙動を有する等である。統計的に、これらの切り換え挙動は変動し得る。
【００２３】
図３を参照すると、犠牲ネット１００（すなわち第１のネット）は線形である。これに対して、第２のネット２００および第３のネット３００（すなわち攻撃ネット）は交差またはねじれて、各攻撃ネットのセクション２２０、３２０が第１のネット１００の第１の側１７０に平行しかつ隣接するようになっている。交差は、同じ配線レベルの追加の配線１３、（図示のように）結合領域の上または下の配線レベルの配線１４、および追加のバイア１２によって達成される。このため、結合容量から生じるクロストーク・ノイズは、異なる攻撃ネット２００、３００に分散し、従って、第１のネット１００の切り換え挙動（すなわちスルー・レートおよび切り換え時刻）に対して総合的な影響を及ぼす。すなわち、第２のネット２００および第３のネット３００は双方とも第１のネット１００に対して攻撃ネットであり、第１のネット１００に隣接して配置されたセクション２２０、３２０の双方を有するので、それらの切り換え挙動（すなわち切り換えウィンドウ、動作、スルー・レート、切り換え時刻、および切り換え方向）は、第１のネット１００の第１の切り換え挙動に影響を与える可能性がある。具体的には、統計的に第２のネット２００および第３のネット３００の第２および第３の切り換え挙動は異なるので、単一の攻撃ネットのみ（例えば第２のネットのみ）が第１のネット１００に隣接して配置されている場合の第１の切り換え挙動に対する結合容量の影響に比べて、第１の切り換え挙動に対する第１のネット１００およびセクション２２０、３２０間の結合容量の総合的な影響は、低減させることができる。
【００２４】
図５は、ネット１００の切り換え挙動に対する例示的な攻撃ネット２００および３００の総合的な影響を示す。ライン１０１はネット１００の切り換え遷移を示し、いずれの隣接ネットからも結合容量がない場合には、切り換え時刻は１３０ａであり、スルー・レートは１４０ａである。図示のように、ネット２００は、ネット１００の切り換えウィンドウ１１０に重複する切り換えウィンドウ２１０を有し、その切り換え時刻２３０はネット１００の切り換え時刻１３０ａよりも遅く、切り換え方向２２０はネット１００の切り換え方向１２０とは異なり、スルー・レート２４０はネット１００のスルー・レート１４０ａよりも低い。ライン１０２は、ネット２００のみによる結合容量を受ける場合の、ネット１００のもっと遅い切り換え時刻１３０ｂおよび変更スルー・レート１４０ｂを例示する。図示のように、ネット３００は、ネット１００の切り換えウィンドウ１１０に重複する切り換えウィンドウ３１０を有し、その切り換え時刻３３０はネット１００の切り換え時刻１３０ａおよびネット２００の２３０よりも早く、切り換え方向３２０はネット１００の切り換え方向１２０と同じでありネット２００の切り換え方向２２０とは異なり、スルー・レート３４０はネット１００のスルー・レート１４０ａおよびネット２００の２４０よりも高い。ライン１０３は、ネット３００のみによる結合容量を受ける場合の、ネット１００のもっと速い切り換え時刻１３０ｃおよび変更スルー・レート１４０ｃを例示する。ライン１０４は、ネット２００および３００が交差して各ネットのセクションがネット１００に隣接している場合の、ネット１００に対するネット２００およびネット３０の双方の総合的な影響を示す。具体的には、ライン１０４によって、第２のネット２００および第３のネット３００の双方が第１のネット１００に対して攻撃ネットとして作用することで、第１のネット１００のスルー・レートおよび切り換え時刻に対する結合容量の総合的な影響は、第１のネット１０と第３のネット３００あるいは第２のネット２００との間の結合容量の影響に比べて低減可能であることが示される。
【００２５】
更に、図４を参照すると、第２および第３のネット２００、３００を、他の攻撃ネット（例えば、各々が自分の切り換え挙動を有する１つ以上の追加ネット４００）と交差させて、追加ネット４００の追加セクション４２０を第１のネット１００の第１の側１７０と平行にかつ隣接して配置することができる。図３のアレイ３と同様に、交差は、同じ配線レベル１０の追加の配線１３、（図示のように）結合領域の上または下あるいはその両方の配線レベルの追加の配線１４、および追加のバイア１２によって達成される。犠牲ネット１００に隣接したセクションを有する攻撃ネットの数を増やすことで、犠牲ネットの切り換え挙動（すなわちスルー・レートまたは切り換え時刻あるいはその両方）に対する結合容量の総合的な影響を更に抑えることができる。
【００２６】
例示的な実施形態においては、図３または図４の相互接続アレイを、交差させた所定数の攻撃ネット２００〜４００を用いて構成し、図４に示すように、犠牲ネット１００に隣接した各セクション（例えばセクション２２０、セクション３２０、セクション４２０等）が所定の最大長１８０を有するようにすることができる。例えば、所定の最大長１８０は約１００マイクロメートルと設定することができる。別の実施形態では、図３または図４の相互接続アレイを、攻撃ネットを用いて構成する際に、犠牲ネット１００に影響を与える結合容量（すなわち第１のネットと攻撃ネットのセクション２２０、３２０、４２０等の全てとの間の総合的な合計結合容量）が、所定の最大値（例えば約１０フェモトファラド（ｆＦ））未満となるように、攻撃ネットを選択して交差させることができる。
【００２７】
図３と組み合わせて図６を参照すると、相互接続アレイにおいてネットを再ルーティングするための方法の実施形態が開示されている。ここでは、アレイ内のネットは同じ方向に向けられ、同じ配線レベル（すなわちアレイの主配線レベル）に配置されている。各ネットは、対応する切り換え挙動（すなわちスルー・レート、切り換え時刻、切り換え方向、および切り換えウィンドウ）を有する。すなわち、第１のネットには第１の切り換え挙動、第２のネットには第２の切り換え挙動、第３のネットには第３の切り換え挙動等である。
【００２８】
この方法の実施形態は、アレイ内の異なるネット１００〜４００の中から、別のネット（すなわち第２のネット２００）との結合容量によるクロストーク・ノイズの結果、タイミング要求に失敗した１つのネット（すなわち第１のネット１００）を識別して、第１のネット１００を犠牲ネットと見なし、第２のネット２００を攻撃ネットと見なすことを含む（６０２）。具体的には、第２のネットとの結合容量の結果、第１の切り換え挙動が変わる。例えば、第１のネット１００のスルー・レートが増大もしくは低減し、または、第１のネット１００の切り換え時刻が前または後ろに移動し、あるいはその両方となり、これによって第１のネット１００はタイミング要求に失敗する。この犠牲ネット（すなわち第１のネット）の識別は、例えば、ノイズ分析機能を有するタイミング分析ツールを用いて達成することができる。
【００２９】
第１のネット１００（すなわち犠牲ネット）を識別することに加えて、第１のネット１００を失敗させた第２のネット２００（すなわち最初の攻撃ネット）も識別する（６０２）。具体的には、第２のネット２００を、犠牲ネットの切り換えウィンドウに重複する切り換えウィンドウを有し、犠牲ネットに平行しかつ隣接し、結合容量の結果として第１のネット１００の第１の切り換え挙動（すなわちスルー・レートまたは切り換え時刻あるいはその両方）に影響を与えてタイミング要求に失敗させるネットとして識別する。
【００３０】
いったん、第１のネット１００（すなわち犠牲ネット）および第２のネット２００（すなわち最初の攻撃ネット）を識別すると、第３のネット３００（すなわち別の攻撃ネット）を、第２のネット２００と交差させるものとしてアレイ内の他のネットから選択する（６０４）。第３のネット３００の選択は、上または下の配線レベルにおいて利用可能な空のトラックを有するネット３００に制限される（６０５）。統計的に、選択の要件を満足させるいずれかの攻撃ネットの切り換え挙動（すなわち動作、スルー・レート、切り換え時刻、切り換えウィンドウ、および切り換え方向）は、第２のネットの切り換え挙動（すなわち第２の切り換え挙動）とは異なる可能性がある。このため、いったん（以下で述べるプロセス６０８において）第２のネット２００および第３のネット３００が交差すると、第１のネットに対する結合容量の総合的な影響は、第１のネットおよび第２のネット間のみの結合容量の影響に比べて低減する。
【００３１】
図６と組み合わせて図４を参照すると、プロセス６０４において任意に、第２のネット２００および第３のネット３００と交差させるために同じ方法で１つ以上の追加のネット４００を選択して、１つ以上の追加のセクション４２０が第１のネットの第１の側に平行にかつ隣接して配置されるようにすることができる。
【００３２】
いったん、第３のネット３００および任意の追加ネット４００が選択されると、第２のネット２００、第３のネット３００、およびいずれかの追加のネット４００を再ルーティングして（６０６）交差させ（６０８）、これによって、多数の攻撃ネット２００、３００等の各々のセクション２２０、３２０を、第１のネット１００の一方の側１７０に平行にかつ隣接して配置する（図４を参照）。これらの多数の攻撃ネット（すなわち第２のネット、第３のネット、およびいずれかの追加のネット）をこのように再ルーティングすることによって、それらの切り換え挙動（すなわち第２のネットの第２の切り換え挙動、第３のネットの第３の切り換え挙動等）は、第１のネット１００の第１の切り換え挙動に対して総合的な影響を有する。すなわち、統計的に、これらの多数の攻撃ネットの動作、切り換えウィンドウ、スルー・レート、切り換え時刻、または切り換え方向あるいはそれら全ては、多様であり、相互に相殺する可能性がある。このため、第１のネット１００の切り換え挙動（すなわちスルー・レートおよび切り換え時刻）に対する結合容量の総合的な影響は、第１のネット１００および第２のネット２００のみの間の結合容量の影響に比べて低減する。
【００３３】
ネットの再ルーティングのプロセス（６０６）は、プロセス６０４において、犠牲ネットおよび攻撃ネットが配置されている主配線レベルの上または下（すなわち第２のネットまたは第３のネットの上または下のいずれかの配線レベル）の結合領域において短い空のトラックを有するネットのみを選択することによって達成可能である（６０５）。次いで、これらの空のトラックに追加のバイアを形成することができ、空のトラックを通して配線を形成してネットの交差を可能とする（６１０）。この再ルーティングのプロセス中、第１のネットに対する全ての結合容量の合計を維持して、未結合の負荷を不変とすることができる（６０９）。更に、選択および再ルーティング・プロセスに制限を課して、犠牲および隣接ネットの全ての結合が所与の閾値よりも小さいことを確実とすることができる（６１１）。例えば、犠牲ネット１００に隣接する多数の攻撃ネット２００、３００等のセクション２２０、３２０の各々が、所定の最大長（例えば約１００マイクロメートル）よりも長くなることを防止する制限を課すことができる（６１２、図４の長さ１８０を参照）。また、第１のネット１００および多数の交差させた攻撃ネットのセクション２２０、３２０等の間が最大結合容量（例えば約１０フェムトファラド（ｆＦ））以下になるようにする別の制限を設定することができる（６１３）。
【００３４】
変更した設計を再びタイミング調節することによって、インタラクション数の増加が故障の確率を著しく低下させたことが証明される。このため、本発明の実施形態は、全ての半導体チップのタイプにおいて実施可能である。しかしながら、この配線ねじれ技法は、データ・バス内の実施には適していないことに留意すべきである。データ・バス内のネットは同時にアクティブになるからである。
【００３５】
更に、本発明の実施形態は、全体的にハードウェアの実施形態、全体的にソフトゥエアの実施形態（例えば電子設計自動化（ＥＤＡ）ソフトウェアによって実施される）、またはハードウェア要素およびソフトウェア要素の双方を含む実施形態によって実施することができる。一実施形態において、本発明はソフトウェアにおいて実施される。このソフトウェアは、ファームウェア、常駐ソフトウェア、ミクロコード等を含むがこれらには限定されない。更に、本発明の実施形態は、コンピュータもしくはいずれかの命令実行システムによってまたはこれと共に用いるためのプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読み取り可能な媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この記載の目的のため、コンピュータ使用可能またはコンピュータ読み取り可能な媒体は、命令実行システム、装置、もしくはデバイスによってまたはこれらと共に用いるためのプログラムを含有、記憶、伝達、伝搬、または移送することができるいずれかの装置とすれば良い。この媒体は、電子、磁気、光、電磁気、赤外線、または半導体システム（もしくは装置もしくはデバイス）、または伝搬媒体とすることができる。コンピュータ読み取り可能媒体の例は、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスクおよび光ディスクを含む。現在の光ディスクの例は、コンパクト・ディスク−リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００３６】
従って、高密度回路のための相互接続アレイの実施形態が開示された。相互接続アレイは、多数の交差した攻撃ネットのセクションに並列にかつ隣接して配置された犠牲ネットを含み、これによって、結合容量による遅延または誤った切り換えが回路に生じるのを最小限に抑える。また、これに関連して、相互接続アレイを再ルーティングする方法の実施形態も開示される。この方法は、犠牲ネットおよび少なくとも２つの攻撃ネットを識別することと、多数の攻撃ネットのセクションが犠牲ネットに並列にかつ隣接して配置されるように攻撃ネットを交差させて、配線環境の変化を最小としながら犠牲ネットに対する結合容量の影響を最小限に抑えることと、を組み込む。
【００３７】
前述の具体的な実施形態の記載によって、本発明の全体的な性質が充分に明らかとなろう。他の者によって、現在の知識を適用することで、包括的な概念から逸脱することなく、かかる具体的な実施形態を様々な用途のために容易に変更または適合あるいはその両方を行うことができる。従って、かかる適合および変更は、開示した実施形態の均等物の意味および範囲内で理解すべきであり、そのように理解されることが意図される。本発明において用いる用語または専門用語は記載の目的のためのものであり、限定ではないことは理解されよう。従って、本発明を実施形態に関連付けて記載したが、これらの実施形態は特許請求の精神および範囲から逸脱することなく変更を加えて実施可能であることは、当業者には認められよう。
【図面の簡単な説明】
【００３８】
【図１】単一の配線レベル上に複数の並列ネットを有する相互接続アレイの上面図を示す図である。
【図２】配線２００を２００ａ、２００ｂ、２００ｃ、および２００ｄに分割することによって、どのように配線１００の２００に対するインタラクションを低減させるかを示す図である。
【図３】本発明の相互接続アレイの一実施形態を示す図である。
【図４】犠牲ネットのスルー・レートおよび切り換え時刻に対する多数の攻撃ネットの総合的な影響を示す図である。
【図５】本発明の相互接続アレイの別の実施形態を示す図である。
【図６】本発明の方法の一実施形態を示すフロー図である。
【図１】
2009531787.tif 000003
【図２】
2009531787.tif 000004
【図３】
2009531787.tif 000005
【図４】
2009531787.tif 000006
【図５】
2009531787.tif 000007
【図６】
2009531787.tif 000008
【国際調査報告】
2009531787.tif 000009