トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 集積回路設計の相互接続遅延駆動型の配置および経路指定
【発明者】 【氏名】チェン,シイ・ケイ

【氏名】ヤオ,ソウ−ゼン

【要約】 【課題】サブミクロンIC設計の必要性に、より適切に対処する配置および経路指定技法を提供する。

【解決手段】EDAツールに、相互接続遅延駆動型という形でIC設計の配置と経路指定を最適化する配置および経路指定(P&R)モジュールを備え、そのP&Rモジュールが、それぞれ構成要素を介して2つのピンを相互接続しているその構成セグメントの相互接続遅延を改善できるかどうかを判定することによって、現在のクリティカルな相互接続経路指定パスの相互接続遅延を改善できるかどうかを体系的に判定する。
【特許請求の範囲】
【請求項1】 集積回路設計の配置および経路指定を最適化する方法であって、それぞれが第1ピンから構成要素を介して第2ピンへ接続している複数の相互接続経路指定パスから一群のクリティカルな相互接続経路指定パスを指定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、異なる位置に再配置した構成要素を介して、あるいは異なる位置に配置された論理的に等価な構成要素を介して第1のピンを第2のピンに接続する異なるパスによって相互接続遅延を減少させることができるかどうかを自動的に決定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、前記第1のピンを前記第2のピンに相互接続する異なるパスの1つを前記相互接続遅延を減少させることができるかどうかに基づいて選択することを含むことを特徴とする方法。
【請求項2】 前記クリティカルな相互接続経路指定パスについての相互接続遅延を減少させることができるかどうかの自動的な決定が、性能駆動型経路指定を使用して、前記第1のピンを複数の候補位置に相互接続する第1の複数の相互接続経路指定パスに関する相互接続遅延、および前記第2のピンを同じ複数の候補位置に相互接続する第2の複数の相互接続経路指定パスに関する相互接続遅延を決定することを含む請求項1に記載の方法。
【請求項3】 前記性能駆動型経路指定が、性能駆動型迷路経路指定である請求項2に記載の方法。
【請求項4】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記第1のピンと候補位置との間に発生する相互接続遅延と、前記第2のピンと同じ候補位置との間に発生する相互接続遅延とを合計することをさらに含む請求項2に記載の方法。
【請求項5】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、相互接続遅延の合計と、再配置された構成要素で発生する遅延とを合計することをさらに含む請求項4に記載の方法。
【請求項6】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記相互接続遅延の合計と、候補位置で配置された論理的に等価の構成要素で発生する遅延とを合計することをさらに含む請求項4に記載の方法。
【請求項7】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補の長さに基づいて、複数の相互接続経路指定候補の抵抗を決定することを含む請求項1に記載の方法。
【請求項8】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補のシーリングとフロアの密平面の配置位置に基づいて、複数の相互接続経路指定候補のキャパシタンスを決定することを含む請求項1に記載の方法。
【請求項9】 前記キャパシタンスの決定が、所定のワイヤ間平均距離と、様々なフロアおよびシーリングの密平面の組合せとを使用して、所定のキャパシタンス・テーブルからキャパシタンス値をルックアップすることをさらに含む請求項8に記載の方法。
【請求項10】 前記キャパシタンスの決定が、複数の相互接続面に関する輻輳条件を決定することを含む請求項8に記載の方法。
【請求項11】 コンピュータによって実行されたときにそれぞれが第1ピンから構成要素を介して第2ピンへ接続している複数の相互接続経路指定パスから一群のクリティカルな相互接続経路指定パスを指定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、異なる位置に再配置した構成要素を介して、あるいは異なる位置に配置された論理的に等価な構成要素を介して第1のピンを第2のピンに接続する異なるパスによって相互接続遅延を減少させることができるかどうかを自動的に決定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、前記第1のピンを前記第2のピンに相互接続する異なるパスの1つを前記相互接続遅延を減少させることができるかどうかに基づいて選択することを含む方法を実施する命令が記録されている記録可能媒体。
【請求項12】 前記クリティカルな相互接続経路指定パスについての相互接続遅延を減少させることができるかどうかの自動的な決定が、性能駆動型経路指定を使用して、前記第1のピンを複数の候補位置に相互接続する第1の複数の相互接続経路指定パスに関する相互接続遅延、および前記第2のピンを同じ複数の候補位置に相互接続する第2の複数の相互接続経路指定パスに関する相互接続遅延を決定することを含む請求項11に記載の記録可能媒体。
【請求項13】 前記性能駆動型経路指定が、性能駆動型迷路経路指定である請求項12に記載の記録可能媒体。
【請求項14】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記第1のピンと候補位置との間に発生する相互接続遅延と、前記第2のピンと同じ候補位置との間に発生する相互接続遅延とを合計して相互接続遅延の合計を得ることをさらに含む請求項2に記載の記録可能媒体。
【請求項15】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記相互接続遅延の合計と、再配置された構成要素で発生する遅延とを合計することをさらに含む請求項14に記載の記録可能媒体。
【請求項16】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記相互接続遅延の合計と、候補位置で配置された論理的に等価の構成要素で発生する遅延とを合計することをさらに含む請求項14に記載の記録可能媒体。
【請求項17】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補の長さに基づいて、複数の相互接続経路指定候補の抵抗を決定することを含む請求項11に記載の記録可能媒体。
【請求項18】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補のシーリングとフロアの密平面の配置位置に基づいて、複数の相互接続経路指定候補のキャパシタンスを決定することを含む請求項11に記載の記録可能媒体。
【請求項19】 前記キャパシタンスの決定が、所定のワイヤ間平均距離と、様々なフロアおよびシーリングの密平面の組合せとを使用して、所定のキャパシタンス・テーブルからキャパシタンス値をルックアップすることをさらに含む請求項18に記載の記録可能媒体。
【請求項20】 前記キャパシタンスの決定が、複数の相互接続面に関する輻輳条件を決定することを含む請求項19に記載の記録可能媒体。
【請求項21】 複数のプログラミング命令を格納した記録可能媒体と、前記複数のプログラミング命令を実行するために前記記録可能媒体に連結されたプロセッサであって、前記複数のプログラミング命令が、それぞれが第1ピンから構成要素を介して第2ピンへ接続している複数の相互接続経路指定パスから一群のクリティカルな相互接続経路指定パスを指定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、異なる位置に再配置した構成要素を介して、あるいは異なる位置に配置された論理的に等価な構成要素を介して第1のピンを第2のピンに接続する異なるパスによって相互接続遅延を減少させることができるかどうかを自動的に決定することと、前記指定したクリティカルな相互接続経路指定パスの各々について、前記第1のピンを前記第2のピンに相互接続する異なるパスの1つを前記相互接続遅延を減少させることができるかどうかに基づいて選択することを含む方法を実施するプロセッサとを有することを特徴とするコンピュータ・システム。
【請求項22】 前記クリティカルな相互接続経路指定パスについての相互接続遅延を減少させることができるかどうかの自動的な決定が、性能駆動型経路指定を使用して、前記第1のピンを複数の候補位置に相互接続する第1の複数の相互接続経路指定パスに関する相互接続遅延、および前記第2のピンを同じ複数の候補位置に相互接続する第2の複数の相互接続経路指定パスに関する相互接続遅延を決定することを含む請求項21に記載のコンピュータ・システム。
【請求項23】 前記性能駆動型経路指定が、性能駆動型迷路経路指定である請求項22に記載のコンピュータ・システム。
【請求項24】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記第1のピンと候補位置との間に発生する相互接続遅延と、前記第2のピンと同じ候補位置との間に発生する相互接続遅延とを合計して相互接続遅延の合計を得ることをさらに含む請求項2に記載のコンピュータ・システム。
【請求項25】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記相互接続遅延の合計と、再配置された構成要素で発生する遅延とを合計することをさらに含む請求項24に記載のコンピュータ・システム。
【請求項26】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、前記相互接続遅延の合計と、候補位置で配置された論理的に等価の構成要素で発生する遅延とを合計することをさらに含む請求項24に記載のコンピュータ・システム。
【請求項27】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補の長さに基づいて、複数の相互接続経路指定候補の抵抗を決定することを含む請求項21に記載のコンピュータ・システム。
【請求項28】 あるクリティカルな相互接続経路指定パスの相互接続遅延を減少させることができるかどうかの自動的な決定が、少なくとも一部は相互接続経路指定候補のシーリングとフロアの密平面の配置位置に基づいて、複数の相互接続経路指定候補のキャパシタンスを決定することを含む請求項21に記載のコンピュータ・システム。
【請求項29】 前記キャパシタンスの決定が、所定のワイヤ間平均距離と、様々なフロアおよびシーリングの密平面の組合せとを使用して、所定のキャパシタンス・テーブルからキャパシタンス値をルックアップすることをさらに含む請求項28に記載のコンピュータ・システム。
【請求項30】 前記キャパシタンスの決定が、複数の相互接続面に関する輻輳条件を決定することを含む請求項28に記載のコンピュータ・システム。
【発明の詳細な説明】【0001】
【産業の利用分野】本発明は、集積回路(IC)設計の分野に関する。より詳細には、本発明は、IC設計のための配置および経路指定の最適化に関する。
【0002】
【従来の技術】長年の間にIC設計の複雑さが絶えず増し続けてきたことにより、IC設計者は、IC設計を支援するために、ますます電子設計自動化(EDA)ツールに頼るようになってきた。これらの支援は、合成、配置、経路指定から、レイアウト検証に至るまで、設計プロセス全体に渡るものである。
【0003】配置および経路指定、すなわち構成要素の配置および様々な構成要素を接続している接続の経路指定の技術分野では、様々な技法が知られている。たとえば、Wang等に発行された米国特許第5818729号では、「2次配置」および「スパニング・ツリー」モデルを使用してセルを配置するための方法およびシステムが開示され、Ashtaputre等に発行された米国特許第5072402号では、「チャネル」方式を使用して相互接続を経路指定するための方法が開示され、Xiong等に発行された米国特許第5550748号では、「領域検索」方式を使用してタイミング制約を満たすための「遅延した」経路指定に関する方法が開示されている。
【0004】近年では、配置および経路指定を「結合的に」実行するための様々な技法も知られるようになった。たとえば、Chengに発行された米国特許第5798936号では、経路指定輻輳(routing congestion)のルックアヘッドを含む配置方法が開示され、Varadarajan等に発行された米国特許第5838583号では、配置および経路指定を最適化するための「結合」方法が開示され、Chengに発行された米国特許第5847965号では、ICを配置および経路指定するための「結合」領域ベースの方法が開示された。
【0005】
【発明が解決しようとする課題】これら従来技術の技法はそれぞれが独自の利点を有するが、すべての技法は、サブミクロンICを配置および経路指定する必要性に適切に対処していないという、少なくとも1つの共通した欠点を共有している。さらに、相互接続遅延が、動作速度を上げるためにサブミクロンICをより一層小型化するのを妨げる大きな障害となっている。したがって、サブミクロンIC設計の必要性に、より適切に対処する配置および経路指定技法が求められている。
【0006】
【課題を解決するための手段】EDAツールには、相互接続遅延駆動型という形でIC設計の配置および経路指定を最適化する、配置および経路指定(P&R)モジュールが備えられている。P&Rモジュールは、構成要素を介して2つのピンを接続しているパスの構成セグメントそれぞれの相互接続遅延を改善できるかどうかを判定することによって、クリティカルな相互接続経路指定パスの相互接続遅延を改善できる(すなわち減少させられる)かどうかを、体系的に判定することができる。そのようなそれぞれのセグメントでは、P&Rモジュールが、異なる位置に再配置された構成要素を介して、あるいは異なる位置に配置された論理的に等価の構成要素を介して、2つのピンを相互接続する異なる相互接続経路指定パスを使用することにより、セグメントの相互接続遅延が改善できるかどうかを判定する。
【0007】一実施態様では、ソース・ピンといくつかの候補位置との間の相互接続遅延、および候補位置と宛先ピンとの間の相互接続遅延を決定することによって、各セグメントの相互接続遅延が決定される。一実施態様では、それぞれの場合の相互接続遅延の決定に、セグメントのソース/宛先部分候補の抵抗およびキャパシタンスを決定することが含まれる。
【0008】一実施態様では、性能駆動型経路指定技法を使用して、セグメントのソース/宛先部分候補の相互接続遅延が決定される。それぞれの場合で、抵抗の決定には、セグメントのソース/宛先部分候補の長さを決定することが含まれ、キャパシタンスの決定には、様々な相互接続面の輻輳条件と、ソース/宛先部分候補が配設される相互接続面のワイヤ間平均距離とを決定することが含まれる。決定されたワイヤ間平均距離は、所定のキャパシタンス・テーブルから様々な相互接続面ペアのキャパシタンス寄与をルックアップする際に使用される。次いで、このルックアップされたキャパシタンス寄与が、重み付けされた形でキャパシタンスを決定する際に使用される。
【0009】本発明について、限定的ではなく、例示的な実施形態によって添付の図面で説明するが、この図面では、同じ要素が同じ参照番号で示されている。
【0010】(発明の詳細な説明)以下の説明で本発明の様々な態様について記載し、本発明について徹底的に理解するために様々な詳細について述べる。ただし、当分野の技術者であれば、本発明が本発明の一部のみまたはすべての態様で実施可能であること、および本発明が特定の詳細なしでも実施可能であることが明らかであろう。その他の場合には、本発明が不明瞭にならないように、周知の特徴が省略または簡略化される。
【0011】説明には、当分野の技術者が当分野の他の技術者に作業の内容を伝えるために、セル、相互接続面など、通常使用している用語を使用して示した部分がある。また、説明には、テーブル、データなどの用語を使用して、コンピュータ・システムによって実行される動作に関して示した部分もある。当分野の技術者であればよく理解しているように、これらのものは、デジタル・システムの電気的構成要素を介して格納、転送、結合、あるいは操作することができる、電気信号、磁気信号、または光信号の形式をとり、デジタル・システムという用語には、スタンドアロン型、付属型、または組込型の、汎用ならびに特定用途向けのデータ処理マシン、システムなどが含まれる。
【0012】次に、本発明を理解する上で最も役立つ方法で、様々な動作について、複数の個々のステップを実行しながら説明する。ただし、説明の順序は、これらの動作を記述された順序どおりに実行する必要があることを意味するものとして、さらには順序に依存しているものとして解釈するべきではない。最後に、「一実施形態では」という語句を繰返し使用しているが、これは同じ実施形態を参照する場合もあるが、必ずしもそうではない。
【0013】ここで、一実施形態による本発明の概要を示す構成図である図1を参照する。図に示されるように、本発明によれば、EDAツールの配置および経路指定(P&R)モジュールは、クリティカルな相互接続経路指定パスの相互接続遅延を改善することを体系的に試行することにより、IC設計の配置および経路指定を最適化する。P&Rモジュールは、中間構成要素を介してソース・ピンと宛先ピンのペア(PsとPd)を相互接続している、パスのそれぞれの構成セグメントの相互接続遅延を改善することを体系的に試行することにより、クリティカルパスの相互接続遅延を改善しようと試みる。詳細には、以下でより詳細に説明するように、P&Rモジュールは、中間構成要素を再配置するか、または候補位置で中間構成要素を他の論理的に等価の構成要素に置き換えるために、いくつかの候補位置について考慮することにより、セグメントのソース部分/宛先部分それぞれの相互接続遅延を改善しようと試みる(図10を参照のこと)。
【0014】ブロック102では、P&Rモジュールが、すべての相互接続経路指定パスまたはパス・セグメントに関する相互接続遅延の所与の配置および経路指定を決定する。ブロック104では、相互接続経路指定パスおよびパス・セグメントについて決定された相互接続遅延に基づいて、P&Rモジュールがクリティカルな相互接続パスを識別する。一実施形態では、これらは、設計基準を超える相互接続遅延を招く相互接続パスである。他の実施形態では、クリティカルな相互接続パスは、最大の相互接続遅延を招く相互接続パスである。他の実施形態では、代わりに他の定義を使用する場合がある。ブロック106では、P&Rモジュールが、これらのクリティカルな相互接続パスそれぞれについて、クリティカルな相互接続パスの相互接続遅延が改善可能であるかどうかを判定する。この判定を下す方法について、以下でより詳細に説明する。
【0015】例示された実施形態では、毎回繰り返した後に、プロセスを繰り返すかどうかをP&Rモジュールが判定する。すなわち、設計基準を下回るレベルにまでクリティカルな相互接続パスの相互接続遅延を減少させるためにP&Rモジュールを使用するか、あるいは、達成可能な最良の相互接続遅延を判定するためにP&Rモジュールを使用するかである。前者の場合、ブロック104では、設計基準を超える相互接続遅延を招くすべての相互接続パスが、クリティカルな相互接続パスとして識別される。1回繰り返した後、P&Rモジュールは、遅延を減少させるための代替方法について考察できるように、設計基準を超える相互接続遅延を依然として招いているクリティカルな相互接続パスの報告および識別を、設計者に対して行うだけである。後者の場合、ブロック104で、最大の相互接続遅延を招いている相互接続パスが、クリティカルな相互接続パスとして識別される。毎回繰り返した後に、P&Rモジュールは104で、最大の相互接続遅延を招いているクリティカルな相互接続パスの識別を再度続行する。新しいクリティカルな相互接続パスが出現していなければ、P&Rモジュールはプロセスを終了し、同じ技法を使用してこれ以上改善が達成されることはないとして、105に分岐する。たとえば、3つのクリティカルな相互接続パスがあり、そのうち2つのパスの相互接続遅延が20%改善され、3番目のパスは10%改善された場合、その3番目のパスが最大相互接続遅延を招いている唯一のパスとして残る。ただし、少なくとも1つの新しいクリティカルな相互接続パスが出現した場合、P&Rモジュールは、新しいクリティカルな相互接続パスに対して106を繰り返す。たとえば、ここでも再度、3つのクリティカルな相互接続パスがあり、そのうち2つのパスの相互接続遅延が20%改善され、3番目のパスは10%改善された場合、3番目のパスと4番目の相互接続パスとが、現在最大の相互接続遅延を招いていることになる。4番目の相互接続パスは、新しく出現したクリティカルな相互接続パスである。
【0016】図2を参照すると、一実施形態による、図1の動作106をより詳細に例示した構成図が示されている。図に示されるように、202では、P&Rモジュールが、中間構成要素を介してソース・ピンを宛先ピンに相互接続するクリティカルな相互接続パスのセグメントを選択する。ブロック204では、P&Rモジュールが、異なる位置に再配置された中間構成要素を介して、あるいは異なる位置で配設された論理的に等価の構成要素を介して、ソース・ピンを宛先ピンに相互接続する別の経路を使用し、クリティカルな相互接続パス・セグメントの相互接続遅延が改善(すなわち減少)できるかどうかを判定する。
【0017】改善が不可能な場合、追加のセグメントがあれば、プロセスは206で他のセグメントについて続行する。あるいは改善が可能である場合、すなわち相互接続遅延が少ない相互接続経路指定パスが1つまたは複数存在する場合、P&Rモジュールは208で、主として、相互接続遅延に基づいて、これら代替相互接続経路指定パスのうちの1つを選択する。他の実施形態では、ワイヤ・サイズなどの他の要素についても考察することができる。プロセスは、クリティカルな相互接続パスのそのようなセグメントすべてに関する改善が最終的に試行されるまで、続行する。
【0018】図3は、一実施形態による図2の動作204を示す図である。図に示されるように、ブロック302で、P&Rモジュールは、ICをいくつかの領域(位置とも呼ばれる)に論理的に分割する。304で、P&Rモジュールは、ソース・ピンをいくつかの候補位置に相互接続している様々な代替経路指定候補について、相互接続遅延を決定する。306で、P&Rモジュールは、宛先ピンをいくつかの候補位置に相互接続している様々な代替経路指定候補について、相互接続遅延を決定する。様々な実施形態では、候補位置の識別を含むこれらの相互接続遅延の決定が、様々な性能駆動型経路指定技法を使用して実行される。一実施形態では、1996年6月のLiu等による「New Performance Driven Routing Techniques With Explicit Area/Delay Tradeoff and Simultaneous Wiring Sizing」、33rd Design Automation Conferenceで開示された方法に従って、性能駆動型経路指定が実行される。他の実施形態では、1997年6月のLiu等による「Design and Implementation of a Global Router Based on a New Layout−Driven timing Model with Three Poles」、IEEE International Symposium on Circuits and Systemsで開示された方法に従って、性能駆動型経路指定が実行される。他の実施形態では、1999年4月のHur等による「Timing Driven Maze Routing」、International Symposium on Physical Design(ISPD)で開示された方法に従って、性能駆動型経路指定が実行される。
【0019】ブロック308で、P&Rモジュールは候補位置の相互接続遅延の合計を決定する。P&Rは、それぞれの候補位置について、ソース・ピンを位置に相互接続する部分に対して生じる相互接続遅延と、候補位置を宛先ピンに相互接続する部分に対して生じる相互接続遅延とを合計する。さらに、候補位置で構成要素が再配置可能であり、論理的に等価の構成要素が候補位置にない場合、P&Rモジュールは、構成要素によって生じる相互接続遅延をさらに合計する。ただし、候補位置では構成要素の再配置が不可能であるが、論理的に等価の構成要素が候補位置に存在する場合、P&Rモジュールは、論理的に等価の構成要素によって生じる相互接続遅延をさらに合計する。どちらのオプションも利用可能である場合、P&Rは、(候補位置に再配置された)構成要素によって生じる相互接続遅延と、(候補位置で配設された)論理的に等価の構成要素のうち少ない方、すなわち、2つのオプションのどちらか良い方を選択して、これをさらに合計する。
【0020】図4は、相互接続経路指定パス・セグメントに関する相互接続遅延の決定を示す構成図である。図に示されるように、P&Rモジュールは、402で、相互接続経路指定パス・セグメントの抵抗を決定する。一実施形態では、相互接続経路指定パス・セグメントの抵抗が、主として、相互接続経路指定パス・セグメントの寸法に基づいて決定される。P&Rモジュールは、404で、相互接続経路指定パス・セグメントのキャパシタンスを決定する。一実施形態では、相互接続経路指定パス・セグメントのキャパシタンスが、主として、相互接続経路指定パス・セグメントのシーリング(ceiling)およびフロア(floor)の密平面(dense plane)の配設位置、ならびにこれらの面の輻輳条件(congestion condition)に基づいて、以下でより詳細に説明するように決定される。406では、P&Rモジュールが、パス・セグメントに関して決定された抵抗およびキャパシタンスを使用して、相互接続経路指定パスの相互接続遅延を決定する。一実施形態では、相互接続遅延が、Elmoreモデルを使用して決定される。(抵抗がキャパシタンスよりも前に決定されるように図示されているが、本発明はキャパシタンスを最初に決定しても実施可能である。)
【0021】次に図5を参照すると、一実施形態による、相互接続経路指定パス・セグメントに関するキャパシタンスの決定を例示した構成図が示されている。図5に示されるように、ブロック502で、P&Rモジュールは、様々な相互接続面の輻輳条件を最初に決定する。一実施形態では、P&Rモジュールは、パス・セグメントが配設される面の輻輳条件と、適用可能であれば(すなわち、パス・セグメントが配設される面が最上部、最上部のすぐ下、最下部、または最下部のすぐ上である場合を除く)、上の2面および下の2面の輻輳条件とを決定する。一実施形態では、輻輳条件はワイヤ密度、すなわち単位面積当たりのワイヤ数に関して測定される。代替実施形態では、代わりに、それよりも多いかまたは少ない隣接面について考察される場合がある。ブロック504で、P&Rモジュールは、パス・セグメントが配設される面に関するワイヤ間の平均距離を推定する。一実施形態では、この推定は、経験に基づいて決定された関数を使用する、決定された輻輳条件に基づくものである。ブロック506で、P&Rモジュールは、決定されたワイヤ間の平均距離を使用して、いくつかのフロアおよびシーリングの密平面の組合せに関して、所定のキャパシタンス・テーブルからいくつかのキャパシタンス値をルックアップする。最終的に、ブロック508で、P&Rモジュールは、所定のキャパシタンス・テーブルから取り出したキャパシタンス値を使用して、キャパシタンス値を推定する。一実施形態では、P&Rモジュールが、重み付けの形で推定を実行する。すなわち、決定された輻輳条件を使用して、いくつかの所定の可能性関数から計算される、様々なシーリングとフロアの密平面の組合せが発生する可能性により、取り出されたキャパシタンス値を重み付けすることによる。たとえば、一実施形態では、平面i+2、i+1、i、i−1、およびi−2それぞれに関する所定の輻輳条件が0.7、0.6、0.8、0.5、および0.3であり、様々な密平面の組み合わせに関して取り出されたキャパシタンス値が、{i+1,i−1}、{i+1,i−2}、{i+2,i−1}、および{i+2,i−2}それぞれの組合せに関してc1、c2、c3、およびc4である場合、キャパシタンスは、0.5×0.6×c1+0.6×(1−0.5)×c2+(1−0.6)×0.5×c3+(1−0.6)×(1−0.5)×c4を合計することによって推定される。(1−p)項は、シーリング/フロアの密平面がi+1/i−1面に配設されていない可能性を表す。他の推定方法も使用可能である。テーブル700に格納されたキャパシタンス値は経験に基づいて決定される。
【0022】ここで図6を参照すると、相互接続経路指定パス・セグメントに関する、フロアとシーリングの密平面の概念を図示した多層ICの透視図が示されている。図に示されるように、相互接続経路指定パス・セグメントは、「接続層」とラベル表示された層(相互接続面とも呼ばれる)の1つの上に配設される。フロアとシーリングの密平面は、所定のレベルを超える輻輳レベルを有する接続層「より上」および「より下」の層または相互接続面である。言い換えれば、シーリングの密平面は、「接続層+1」、「接続層+2」などで配設可能であるが、フロアの密平面は「接続層−1」などで配設可能である。十分に輻輳された「接続層」よりも上の相互接続層がない場合、または「接続層」が最上層である場合、相互接続経路指定パス・セグメントにはシーリング密平面がないということである。同様に、十分に輻輳された「接続層」よりも下の相互接続層がない場合、または「接続層」が最下層である場合、相互接続経路指定パス・セグメントにはフロア密平面がないということである。
【0023】図7は、一実施形態によるキャパシタンス・テーブルの一例を示す図である。図に示されるように、例示された実施形態の場合、キャパシタンス・テーブル700は多次元テーブルであり、「シーリング密平面」がどこに配設されるかに従って複数の2次元テーブル702が反復される。2次元テーブル702それぞれが、複数行のキャパシタンス値(cij)704を、フロア密平面の対応する配設それぞれについて1つ格納する。たとえば、層i+1上に配設された「シーリング密平面」の場合は、接続層i−1および接続層i−2などに配設されたフロア密平面のキャパシタンス値である。各行704は、特定のシーリングとフロアの密平面の組合せ、たとえば平面i+1およびi−1について、様々なワイヤ間平均距離のキャパシタンス値(cij)を格納する。
【0024】ここで図8を参照すると、一実施形態による本発明のP&Rモジュールが組み込まれたEDAツールが示されている。図に示されるように、EDAツール・スゥィート800には、図1〜7および10を参照しながら前述したように、本発明の教示に組み込まれたP&Rモジュール802が含まれる。さらに、EDAツール・スゥィート800には、他のツール・モジュール804も含まれる。これらの他のツール・モジュール802の例には、合成モジュール、レイアウト検証モジュールなどが含まれるが、これらに限定されるものではない。
【0025】図9は、本発明の実践に使用するのに好適なコンピュータ・システムの一実施形態を示す図である。図に示されるように、コンピュータ・システム900には、システム・バス906を介して相互に結合された、プロセッサ902およびメモリ904が含まれる。システム・バス906には、ハード・ディスク、フロッピィ・ディスクなどの不揮発性大容量記憶装置908、キーボード、ディスプレイなどの入力/出力装置910、ならびにモデム、LANインターフェースなどの通信インターフェース912が結合される。これらの要素は、それぞれ当分野で知られたその従来の機能を実行する。詳細には、システム・メモリ904および不揮発性大容量記憶装置908は、前述の本発明の教示を実施するプログラミング命令の、作業コピーおよび永続コピーを格納するために使用される。システム・メモリ904および不揮発性大容量記憶装置908は、IC設計を格納するために使用することもできる。本発明を実施するためのプログラミング命令の永続コピーは、配布ソース/媒体914およびオプションで通信インターフェース912を使用して、工場内または現場で、不揮発性大容量記憶装置908にロードすることができる。配布媒体914の例には、テープ、CD−ROM、DVDなどの記録可能媒体が含まれる。一実施形態では、プログラミング命令は、図8のEDAツール800を実施するプログラミング命令の集合体の一部である。要素902〜914の構成はよく知られているため、詳細には説明しない。
【0026】一般に、当分野の技術者であれば、本発明が記載された実施形態に限定されるものでないことを理解されよう。その代わりに、本発明は、添付の特許請求の範囲の精神および範囲内で修正および変更を実施することができる。したがって本発明の説明は、限定的なものではなく例示的なものとみなされる。
【0027】以上、IC設計の配置および経路指定を最適化するための方法および装置について、相互接続遅延駆動型の形で説明した。
【出願人】 【識別番号】500241860
【氏名又は名称】メンター・グラフィクス・コーポレーション
【出願日】 平成12年1月24日(2000.1.24)
【代理人】 【識別番号】100064621
【弁理士】
【氏名又は名称】山川 政樹
【公開番号】 特開2003−271690(P2003−271690A)
【公開日】 平成15年9月26日(2003.9.26)
【出願番号】 特願2003−14386(P2003−14386)