(57)【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）基板内の各セルの配置を決定して回路を構成する方法であって、前記回路が前記各セルによって構成される複数のモジュールとしてのモデルによって記述されるものであり、その方法が、
コンピュータによって前記モデルを処理して、前記各セルのそれぞれを前記ＩＣ基板内の個々の位置に割り当てるトライアル配置を作成する工程ａと、
コンピュータによって該トライアル配置を処理して、前記複数のモジュールのサブセットの全てのセルを含む特定の基板領域の大きさを特定する前記基板のフロアプランを作成する工程ｂと、
コンピュータによって前記特定基板領域内の各位置に前記サブセットの全てのセルを再割り当てし、更に、前記特定領域外の前記ＩＣ基板内の各位置に前記回路を構成する他の全てのセルを再割り当てする工程ｃとからなる方法。
【請求項２】
前記モデルが前記回路のネットリスト記述を具備することを特徴とする請求項１に記載の方法。
【請求項３】
工程ｂにおいて特定された前記基板の特定領域が、直線で囲まれる形状をしていることを特徴とする請求項１に記載の方法。
【請求項４】
工程ｂが、
前記トライアル配置を処理して、各モジュールの前記サブセットを構成する各セルを包含する前記トライアル配置のモジュールコア領域を特定するサブ工程ｂ１と、
前記基板特定領域の前記大きさが工程ｂ１で特定された前記モジュールコア領域の大きさの関数として決められる前記フロアプランを発生するサブ工程ｂ２を具備することを特徴とする請求項１に記載の方法。
【請求項５】
前記フロアプランが、また、前記基板特定領域内にトライアル位置を特定するが、該トライアル位置がトライアル配置内のモジュールコア領域の位置に応じて決定されることを特徴とする請求項４に記載の方法。
【請求項６】
前記基板特定領域が、直線で囲まれており、前記モジュールコア領域が直線で囲まれていないことを特徴とする請求項４に記載の方法。
【請求項７】
工程ａが、
前記基板の各パーティションを定義するサブ工程ａ１と、
前記モデルを処理して、前記セルのいずれが前記複数のモジュールのそれぞれを構成するかを決定するサブ工程ａ２と、
前記回路の各セルを前記基板内の個々の位置に割り当てて、前記モジュールのうちのたった１つのものの各セルが前記パーティションの個々のものに割り当てられるサブ工程ａ３を具備することを特徴とする請求項１に記載の方法。
【請求項８】
工程ａが、更に、
工程ａ１で定義された前記パーティションうちの１つのサブパーティション化を定義するサブ工程ａ４と、
前記パーティションのうちの前記１つの内部位置に割り当てられた各セルを前記サブパーティションのうちの１つの内部位置に再割り当てをして、前記モジュールのうちのたった１つのものの各セルが前記サブパーティションの個々のものに割り当てられるようにするサブ工程ａ５を具備することを特徴とする請求項７に記載の方法。
【請求項９】
工程ｃが、
前記基板特定領域の前記基板内の位置を調整するサブ工程ｃ１と、
前記基板特定領域の外側の前記基板内の個々の位置に前記基板の全てのセルを再割り当てし、更に、前記基板特定領域内の個々の位置に前記特定のモジュールを構成する全てのセルを再割り当てするサブ工程ｃ２を具備することを特徴とする請求項１に記載の方法。
【請求項１０】
サブ工程ｃ１とｃ２が同時に実施されることを特徴とする請求項９に記載の方法。
【請求項１１】
前記トライアル配置を処理して、前記複数のモジュールのサブセットの全てのセルを含む特定の基板領域の大きさを特定する前記基板のフロアプランを作成する工程ｂが、
前記トライアル配置と前記モデルを処理して、前記特定のサブセットの各セルを包含する前記トライアル配置のモジュールコア領域の大きさを特定するサブ工程ｂ１と、
前記基板特定領域の前記大きさが工程ｂ１で特定された前記モジュールコア領域の大きさに基づいて決められるが、前記フロアプランが前記トライアル配置内の前記モジュールコア領域の位置に基づいて前記基板特定領域の前記基板内のトライアル位置を特定するサブ工程ｂ２を具備し、
前記基板特定領域が、直線で囲まれた形状をしており、更に、
前記モジュールコア領域が直線で囲まれていないことを特徴とする請求項１に記載の方法。
【請求項１２】
前記モデルを処理して、前記セルのそれぞれを前記ＩＣ基板内の個々の位置に割り当てるトライアル配置を作成する工程ａが、
前記基板の各パーティションを定義するサブ工程ａ１と、
前記モデルを処理して、前記セルのいずれが前記複数のモジュールのそれぞれを構成するのかを決定するサブ工程ａ２と、
前記回路の各セルを前記基板内の個々の位置に割り当てて、前記モジュールのうちのたった１つのものの各セルが前記パーティションの個々のものに割り当てられるサブ工程ａ３と、
工程ａ１で定義された前記パーティションうちの１つのサブパーティション化を定義するサブ工程ａ４と、
前記パーティションのうちの前記１つの内部位置に割り当てられた各セルを前記サブパーティションのうちの１つの内部位置に再割り当てをして、前記モジュールのうちのたった１つのものの各セルが前記サブパーティションの個々のものに割り当てられるようにするサブ工程ａ５を具備することを特徴とする請求項１１に記載の方法。
【請求項１３】
工程ｃが、
前記モデルと前記フロアプランを処理して、前記特定領域の前記基板内の位置を確立するサブ工程ｃ１と、
前記サブセットの各セル以外の前記回路を構成する全てのセルを前記基板特定領域の外側の前記基板内の個々の位置に再割り当てをするサブ工程ｃ２と、
前記基板特定領域内の個々の位置に前記サブセットを構成する全てのセルを割り当てるサブ工程ｃ３を具備することを特徴とする請求項１２に記載の方法。
【請求項１４】
集積回路（ＩＣ）基板内の各セルの配置と相互接続を決定して、前記各セルによって構成される複数のモジュールとしてのモデルによって記述される回路を構成する方法であって、その方法が、
コンピュータによって前記モデルを処理して、前記セルのそれぞれを前記ＩＣ基板内の個々の位置に割り当てるトライアル配置を作成する工程ａと、
コンピュータによって該トライアル配置と前記モデルを処理して、前記回路を構成する前記セル間の相互接続の諸特性を特定するトライアル配線を作成する工程ｂと、
コンピュータによって前記モデルと前記トライアル配置を処理して、それぞれが前記モジュールの個々のサブセットに対応している一組の基板領域の大きさを特定する前記基板のフロアプランを処理する工程ｃと、
コンピュータによって前記トライアル配置と前記フロアプランを処理して、信号が前記基板領域に入出力するポイントを有する前記基板領域の境界に沿ってピン位置を割り当てる工程ｄと、
コンピュータによって前記モデルと前記フロアプランを処理して、前記モジュールの前記各サブセットの各セルを工程ｃで特定された対応する基板領域内の位置に再割り当てをする工程ｅと、更に、
コンピュータによって工程ｄで割り当てられた前記ピン位置に一致して前記回路を構成する各セル間の信号通路接続を特定する工程ｆとからなる方法。
【請求項１５】
前記フロアプランによって特定された前記各基板領域が実質的に直線で囲まれた形状をしていることを特徴とする請求項１４に記載の方法。
【請求項１６】
工程ｃが、
前記モデルと前記トライアル配置を処理して、前記モジュールの前記個々のサブセットを構成する各セルを包含する前記トライアル配置のモジュールコア領域の大きさを特定するサブ工程ｃ１と、
前記一組の基板領域の大きさが工程ｃ１において特定された前記モジュールコア領域の前記大きさに由来するフロアプランを作成するサブ工程ｃ２を具備することを特徴とする請求項１４に記載の方法。
【請求項１７】
前記フロアプランが、また、前記一組の基板領域内に当初の位置を特定し、前記当初位置がトライアル配置内の前記モジュールコア領域の各位置に由来することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記基板領域が、直線で囲まれており、前記モジュールコア領域が直線で囲まれていないことを特徴とする請求項１６に記載の方法。
【請求項１９】
工程ａが、
前記基板の各パーティションを定義するサブ工程ａ１と、
前記モデルを処理して、前記セルのいずれが前記複数のモジュールのそれぞれを構成しているのかを決定するサブ工程ａ２と、
工程ａ１で定義された前記基板のパーティションのうちの同じものの内部に各モジュールを構成する各セルを寄せ集めるように偏在させて、前記セルのそれぞれを前記基板内の個々の位置に割り当てるサブ工程ａ３を具備することを特徴とする請求項１５に記載の方法。
【請求項２０】
工程ａが、更に、
工程ａ１で定義された前記パーティションうちの１つのサブパーティション化を定義するサブ工程ａ４と、
前記基板のサブパーティションのうちの同じものの内部で各モジュールの各セルを寄せ集めるように偏らせるようにして、前記パーティションのうちの前記１つの内部位置に割り当てられた各セルを前記サブパーティションのうちの１つの内部位置に再割り当てをするサブ工程ａ５を具備することを特徴とする請求項１８に記載の方法。
【請求項２１】
各セルによって構成されるモジュールの階層としてネットリストによってモデル化される回路を前記各セルが構成すべきときに、集積回路（ＩＣ）基板内のセルの配置を決定する方法であって、その方法が、
コンピュータによって前記ネットリストを処理して、各モジュールの各セルを一緒に寄せ集めるようにする方法でそれぞれのセルを前記ＩＣ基板内の個々の位置に割り当てるトライアル配置を作成する工程ａと、
コンピュータによって該トライアル配置を分析して、前記回路モジュールを構成する各セルを包含するＩＣ基板のモジュールコア領域を特定する工程ｂと、
コンピュータによってそれぞれが前記モジュールの個々のサブセットを有する一組のパーティションに前記モデルを編成する工程ｃと、
コンピュータによって前記基板の直線で囲まれた一組の領域であって、それぞれが前記パーティションの個別のものに対応しているものの大きさを定義する前記ＩＣ基板のフロアプランを作成する工程ｄと、
コンピュータによって前記モジュールの各サブセットの全てのセルを前記直線で囲まれた領域のうち対応するものの内部位置に再割り当てをする工程ｅとからなる方法。
【請求項２２】
集積回路基板内において、回路設計の一組のパーティションのそれぞれを具体化して各セルの位置決めをする方法であって、
コンピュータによって回路設計のパーティショニングを無視する、前記回路設計を具体化する各セルのトライアル配置を実行する工程と、
コンピュータによって前記フロアプランにおいて定義される前記基板の個別の領域内に前記パーティションを構成する各セルを配置するためのフロアプランを準備する工程と、
コンピュータによってフロアプランにおいて定義される前記個々の領域内の前記各パーティションを構成する各セルの位置を個別に決定する工程を具備する方法。
【請求項２３】
更に、
コンピュータによって前記トライアル配置によって配置された各セルのトライアル配線を行う工程と、
コンピュータによって前記トライアル配線によってガイドされる方法で前記個別の領域のためのピン割り当てプランを準備する工程と、
コンピュータによって前記ピン割り当てプランに一致する方法で、前記パーティションのそれぞれを構成する前記各セルのための配線プランを準備する工程を具備することを特徴とする請求項２２に記載の方法。
【発明の詳細な説明】
【０００１】
関連出願のクロスレファレンス
本出願は、ここに文献援用される、１９９８年１月８日出願の米国特許出願第０９／００５，３６１号の一部継続出願である。
【０００２】
本出願は、ここに文献援用され、集積回路チップのフロアプランニングとレイアウト設計のための階層パーティション化法と題する１９９９年６月２１日出願の米国仮特許出願第６０／１４０，１５８号の一部継続出願である。
【０００３】
発明の背景
発明の技術分野
本発明は、集積回路の設計方法に関するが、特には、集積回路を構成する各回路素子の物理的配置と相互接続を決定するシステムに関する。
【０００４】
関連技術の説明
ＩＣの設計技術者は、主に、回路を構成している各種の回路素子の動作とこれらの回路素子を相互接続する方法を記述するハードウェア記述言語（ＨＤＬ）を用いて回路をモデル化している。そして、設計技術者は、そのＨＤＬ回路モデルに基づいて回路動作をシミュレートするために回路シミュレータをプログラムする。ＨＤＬモデルは比較的にハイレベルな回路動作モデルであるので、当初の回路シミュレーションでは後にＩＣを実装する半導体技術のタイミング制約やその他の制約を考慮に入れない、
【０００５】
回路論理を検証した後で、設計技術者は、通常コンピュータ支援設計ツール及びコンピュータ支援エンジニアリングツールを用いて、ハイレベルなＨＤＬ回路モデルを、例えば、ネットリストのようなローレベルの技術特定回路モデルに変換する。このモデルにおいて、各回路素子は、最後にＩＣ内の回路素子を具体化するであろう物理回路セル（論理ゲートやトランジスタなど）のモデルに関連して定義される。そして、設計技術者は、シミュレータを使用して、再びネットリストモデルに基づいて回路動作をシミュレートして回路論理を検証することができる。ネットリストモデルはＩＣの最終的な物理実現により密接に関連しているので、シミュレータ又は特別のタイミング検証ツールが回路のタイミングを検証することができる。しかし、ネットリストモデルが将来回路を構成する各セルのＩＣチップ上の実際の物理的レイアウトを考慮に入れていないので、この段階での設計におけるタイミング検証はまだ全く正確ではない。ネットリスト回路モデルの論理検証とそのタイミングの少なくとも一部が検証された後に、設計技術者は、コンピュータ支援配置ツール及びコンピュータ支援配線ツールの支援による、ＩＣ上の回路セルの物理的レイアウトや相互接続の設計開始の準備をする。
【０００６】
配置と配線は典型的な反復工程である。基板領域において各セルのトライアル配置を確立した後で、システムがその配置に対するトライアル配線を作成する。トライアル配線は各セル間の実際の信号通路配線を決定するものではなく、基板領域内で信号通路を配線するのに利用できる十分なスペースがあるか否かについて評価を下すものであり、信号が通路上に伝わるのに必要な時間に影響を与えるそれらの信号通路の長さとインピーダンス特性を評価するものである。トライアル配置に対して適切なトライアル配線通路が確立できなかったときには、そのトライアル配置は修正されて、新たなトライアル配線が試みられる。ふさわしい配置とトライアル配線が得られるまで、このプロセスが反復的に繰り替えされる。この時点で、一般的には、物理的な設計が変換されて、ＩＣを実現する半導体技術の特性だけではなく、配置とトライアル配線の信号タイミングの影響をも考慮に入れたＨＤＬモデルに戻される。そして、シミュレーションツールとタイミング検証ツールが、回路論理とタイミングを検証するために使用される。その後、設計技術者は、配線ツールを使用してＩＣに対する詳細な配線を開発し、各回路セルを相互接続する具体的な通路を画定する。そして、その配置と詳細な配線は、ＨＤＬフォーマットに変換され、再び論理とタイミングの検証の対象となる。その後、その詳細な配置と配線の仕様が、ＩＣ製造のためのマスクを画定するための根拠を提供する。
【０００７】
分割統治（Divide-And-Conquer）配置システム
ある配置アルゴリズムは、ＩＣの基板領域を連続的に再分割してだんだん小さな領域にしていく、回路配置に対する「分割統治（Divide-And-Conquer）」アプローチを採用している。領域が２（又はそれ以上の）より小さな領域に再分割されたときにはいつでも、そのアルゴリズムは、パーティションラインを横断する信号通路の数を最少にするようにしてそのより小さな領域の間で元の領域の各セルを割り当てる方法を探す。このことは、相互接続された各セルを一緒に寄せ集めることとなり、それによって、信号が各セル間で移動するのに必要な時間を減少させる。それぞれの連続的なパーティション化の後でなされ得る可能なセルの割り当て数は通常膨大なものであるので、そのような配置システムは普通各種のサーチ技術を用いて、最適な配置割り当てを見つけようとする。例えば、システムは、各セルをはじめはランダムに割り当てておいて、そして、よりよい配置が見つかることを期待して個々のセルをパーティションからパーティションに移動するようにすることがある。
【０００８】
パーティション化設計
ＨＤＬモデルとネットリストモデルは、いくつかの相互接続されたモジュールであって、それぞれのモジュールがいくつまでの低位レベルのモジュールによっても定義されるものによって回路が定義されるという点で本質的に典型的な階層的モデルである。各モジュールは、概して、いくつかの同一視できる論理機能を有する。例えば、マイクロプロセッサ用の設計には、命令プロセッサモジュールやキャッシュコントローラモジュールやクロックコントローラモジュールのような、トップレベルのモジュールを含めることも可能である。命令プロセッサモジュールは、例えば、命令デコーダモジュールや論理演算ユニットモジュールなどによって構成される。そして、また、命令デコーダモジュールは、それぞれが設計階層の最低レベルにおいてトランジスタや論理ゲートのような一組の低位レベルセルによって定義される多くの論理ゲートモジュールによって構成される。
【０００９】
分割統治配置アルゴリズムの悪影響の１つは、それが設計の階層的特性を無くしてしまうと、ＩＣのある明確な領域内にいかなるモジュールのセルも配置するものではなくなることである。近接して相互接続されたモジュールの各セルが通常混在して信号通路の長さを最少にしている。このことが、ＩＣ全体に対する配置及び配線処理を繰り返さずにＩＣ設計内において、設計者が論理モジュールを修正することを実質的に不可能にしている。したがって、設計技術者は、モジュラーラインに沿ってＩＣ設計を「パーティション化して」、ＩＣ基板の同一視できる領域内に各パーティションを配置することをよく行う。設計者は、また、各種の「スタンダード」セルを、配置及び配線処理中には変化しない個々に同一視できるボックス（「ハードフェンス領域」）内に配置する。ＩＣ設計者は、また、モジュラーラインに沿って大規模ＩＣ設計をパーティション化して、各パーティションがいくつかの同時作動配置及び配線システムによって個別に配置及び配線できるようにする。このことは配置及び配線処理を高速にする。
【００１０】
設計をパーティション化するためには、設計技術者は、まず、信号がパーティション境界を交差する各ポイント（各ピン）を定義する「ピン割り当て」プランと共に、各パーティションのサイズや形状や相対的な位置関係を示すＩＣの「フロアプラン」を開発する。フロアプランは、また、各パーティション内に含まれるハードフェンス領域を定義することができる。そして、設計技術者は、各パーティションに対する個別仕様を開発して、フロアプランとピン割り当てプランに合致した各パーティションに対して配置及び配線が独立して行われるようにする。
【００１１】
ＩＣをパーティション化するためにフロアプランを開発するとき、設計技術者は、そのパーティション内に含まれるべきモジュールを構成するトランジスタや他の構成素子の数やサイズを含めて、ネットリストに含まれた情報に基づいて各パーティションのサイズを通常おおざっぱに見積もる。しかし、設計技術者がパーティション形状や位置とピンの割り当てをそれに基づいて選択するための情報をそう多く持ち合わせていないことがたびたびあるので、各パーティションに対する当初の形状や配置とピン割り当ては、ほとんど「経験や知識に基づく推測（educated guesses）」に基づくものにすぎない。
【００１２】
このような方法で開発されたフロアプランとピン割り振りプランが回路基準を満足する配置及び配線プランに直接的には結びつかないことがたびたびあるので、設計技術者は、満足のいく配置や配線を可能にするプランに到達する前に、フロアプランとピン割り振りプランを幾度か反復的に修正しなければならないことがある。この骨の折れる膨大な反復処理は、許容可能なＩＣレイアウトに収斂するのに緩慢であり、そして、最終的なレイアウトは多くの点で最適に達することはない。
【００１３】
必要なのは、回路構成素子の最適な配置と配線に達することが可能な当初のフロアプランとピン割り当てプランを自動的に生成する、ＩＣを配置及び配線するシステムである。
【００１４】
発明の要約
本発明は、回路モジュールの階層として設計された集積回路（ＩＣ）に配置及び配線をするためのシステムに関する。この発明は、回路設計がモジュラーラインに沿ってパーティション化されて、各パーティションがＩＣ基板の個々の同一視できる領域に配置されるときに使用される。
【００１５】
本発明の一つの側面に関して、このシステムは、回路がパーティション化される方法を考慮に入れないがそれぞれの所定のモジュールの各セルを偏在して一緒に寄せ集める様な方法で、ＩＣ全体設計の当初の「チップ全体」分割統治トライアル配置及び配線を行う。そして、このシステムは、各パーティションを構成する各モジュールを有するＩＣ基板の各領域のサイズと形状と当初の位置決めを確立するＩＣのためのフロアプランを作成する。フロアプランによって定義された各パーティションのサイズと形状と位置は、これらのモジュールを有するトライアル配置の各領域の実際のサイズと形状と相対的位置関係に基づく。
【００１６】
本発明の他の側面においては、本システムは、また、トライアルの配置と配線プランに基づいて各パーティションに対してピン割り当てプランを作成する。
【００１７】
本発明の更に他の側面においては、本システムはそれぞれのパーティションを個々のＩＣ設計のように取り扱い、各パーティション内でセル配置及び配線を個別に最適化する。このシステムは、また、パーティションのサイズ又は形状若しくはそれらのピン割り当てを変更することなく、ＩＣ基板内でパーティション自体の「トップレベル」の位置決めとパーティション間の配線も最適化する。
【００１８】
各パーティションのサイズと形状とピン割り当てと当初の位置決めは、チップ全体のトライアル配置及び配線に基づくものなので、このシステムは、主に、ＩＣ基板スペースを有効利用する許容可能な配置及び配線プランに急速に収斂するフロアプランとピン割り当てプランを作成する。
【００１９】
それゆえ、高精度で回路パーティションの適正なサイズと形状と配置を決定する当初のフロアプランとピン割り当てプランを自動的に作成する配置及び配線システムを提供して、その後に詳細な配置及び配線処理がパーティションを構成する回路素子の配置と配線を急速に最適化できるようにすることが本発明の目的である。
【００２０】
本明細書の結論部分は、本発明の主題を特に指摘し且つ明確に権利主張している。しかし、当該業界で通常の知識を有する者は、同じ引用符号が同じ構成要素を指し示している添付の図面を参照して、本明細書の残りの部分を読むことによって、本発明の構成と操作方法の双方を、更に、その効果と目的をも最もよく理解する。
【００２１】
好適な実施の形態の説明
モジュラー回路設計
本発明に関する配置及び配線システムは、ネットリスト又は同様の回路モデルを処理して、集積回路（ＩＣ）基板内の回路素子のために最適なレイアウトを決定する。ネットリストは、上位レベルの各モジュールが低位レベルのモジュールによって構成されている、回路モジュールの階層としてＩＣを模式的にモデル化している。図１は、例えば、命令ユニット（ＩＵＮＩＴ）１１や実行ユニット（ＥＵＮＩＴ）１２やキャッシュコントローラ１３を有するいくつかの上位レベルのモジュールによって構成される中央演算装置（ＣＰＵ）１０の先行技術階層論理設計の一例をブロック図形式で図示している。上位レベルのモジュール１１−１３のそれぞれは、いくつかの低位レベルのモジュール１４によって構成されているが、モジュール１４は更にまたより低位レベルのモジュール１５によって構成されている。論理ゲートや個々のトランジスタのような小回路セル１６は、階層の最低位レベルに存在するモジュールを構成する。配置及び配線システムは、自動的に、それぞれが一又はそれ以上のモジュールを有するいくつかのパーティションに設計を分割し、そして、各パーティションを構成する各セルを基板の直線で囲まれた領域内に配置し更に配線する。本発明は、特に、システムがパーティションを含むべき基板の各領域の適正なサイズや形状や位置を選択する方法に関する。
【００２２】
分割統治配置
ＩＣを設計するとき、ＩＣ設計技術者は、まず、各種回路モジュールの論理とそれらのモジュールが相互に作用する方法を記述するハードウェア記述言語（ＨＤＬ）を用いて、そのＩＣの上位レベルモデルを作成する。シミュレータを用いて回路論理を検証した後で、設計技術者は、通常、コンピュータ支援設計（ＣＡＤ）ツールを用いて、上位レベルＨＤＬ回路モデルを、モジュールの動作が実際の回路を実現することになる実際のセル（論理ゲート、トランジスタなど）のモデルに基づくものである低位レベルの技術特定ネットリストモデルに変換する。そして、設計技術者は、シミュレーション及びタイミング検証ツールを用いて、ネットリストを処理して、回路論理とタイミングを検証する。設計技術者は、次いで、コンピュータ支援配置及び配線ツールの支援によって、ＩＣ基板領域内の物理的なレイアウトと回路素子の相互接続の設計を開始する準備をする。
【００２３】
代表的な先行技術システムは、セルを配置するときには、「分割統治」配置アルゴリズムを使用する。分割統治配置アルゴリズムは、ＩＣの基板領域を徐々に小さな基板パーティションに連続的に再分割する。（この状況において、用語「パーティション」は、モジュールの集合である回路設計のパーティションというよりもむしろＩＣ基板のパーティションに適用されているものとする。）大きな基板パーティションが２（又はそれ以上の）小さな基板パーティションに再分割されたときにはいつでも、そのアルゴリズムは、基板パーティションラインを横切る信号通路の数を最小にするような方法で、より大きなパーティションの各セルをより小さなパーティション間に割り当てる。多数のセルが２又はそれ以上の基板パーティションに割り当てられる方法が膨大な数に上るので、各種の試行錯誤による発見的なサーチ技術が使用されて、各セルがパーティション間に割り当てられる方法を改善する。典型的な先行技術である分割統治配置システムは、まず、ランダムに基板パーティションの各セルをそのサブパーティション間に割り当てて、そして、個々のセルを１つのサブパーティションから他のサブパーティションに再配置することを試み信号交差数の最も少ない割り当てを見つける。
【００２４】
ＩＣ基板が多数の小さな基板パーティションに分割されていくと、各セルの位置が決められ、そして、「トライアル配線」アルゴリズムが各セルを適正に相互接続するために必要な信号通路のタイミング特性を見積もる。そして、設計技術者は、各種のＣＡＤツールを使用して、ＩＣレイアウトの論理とタイミングを再び検証することができる。タイミング分析によって発見できないタイミングの諸問題は、回路素子の配置又はトライアル配線を反復的に調整することによって解決される。
【００２５】
システムがタイミングと他の回路基準を満足する配置及びトライアル配線を見つけたときには、設計技術者は別のＣＡＤツールを使用して、ＩＣに対する詳細な配線プランを確立して、各回路セルを相互接続する実際の導体通路を特定する。そして、回路の論理及びタイミングは、トライアル配線に比べて信号通路タイミングのより正確な評価を提供する詳細な配線プランに基づいてもう一度検証される。検出された信号タイミングのいかなる問題点も、詳細な配線を反復的に調整するか、又は、必要な場合には、回路素子の配置を調整することによって再び解決される。満足のいく配置と詳細な配線プランが確立されたときには、そのＩＣは製造のための準備段階となり、配置及び配線プランがＩＣ製造に使用されるマスクのための仕様に変換される。
【００２６】
パーティション化設計
従来の分割統治配置及び配線処理は、それらの論理モジュールに従って各セルをグループ化しようとはしなかったので、特に異なるモジュールの各セル間で多くの接続がある場合には、個々のモジュールの各セルはＩＣ基板上である程度混在されてしまう。しかし、ＩＣをレイアウトするとき、設計技術者は被選択回路モジュールをＩＣ基板の特定の領域に制限配置して、他のモジュールの配置及び配線に影響を与えないでこれらのモジュールの以後の変更を簡単にしようとすることがたびたびある。このように、設計技術者は、その設計をいくつかの「回路パーティション」にたびたび分割するが、それぞれの回路パーティションはそれらがより小さな基板領域に配置されている個々のＩＣ設計であるかのように独立して配置及び配線される。（この状況において使用される用語「回路パーティション」は、分割統治配置システムが作成する「基板パーティション」とは異なるものとする。）図１の例において、設計技術者は上位レベルモジュール１１−１３が個々の回路パーティション内において実現されるべく判断を下す。そして、各回路パーティション自体は、１つの大きなＩＣ上に適切に配置され相互接続される。各設計パーティションが並行して作動するいくつかの配置及び配線システムによって同時に配置及び配線され得るので、設計技術者は大きなＩＣの設計を単純にパーティション化して配置及び配線処理を迅速にする、配置及び配線システムの能力範囲内に配置及び配線されるべき回路のサイズを保持するためには大きな回路設計をパーティション化することが必要であることもある。
【００２７】
図２は、設計がパーティション化される場合においてＩＣの配置及び配線を確立するための典型的な先行技術システムを図示するフローチャートである。ＩＣ全体に対するネットリストでスタートして、設計技術者は、手動で各回路パーティションのＩＣ配置領域のサイズと形状と位置を特定するＩＣ用の「フロアプラン」を確立する（工程２０）。設計技術者は、一般的に、その回路パーティションに含まれるべき設計モジュールを構成するトランジスタやその他の回路素子のサイズと数に基づいて、そして、それらの回路素子間の信号通路の数と特性に基づいて各回路パーティションのサイズ（領域）を見積もる。設計技術者は、また、フロアプランにおいて特定された各回路パーティションの形状と位置を選定しなければならない。しかし、ネットリストが各回路パーティションの適切な形状と位置決めに関する決定の基礎となる多くの情報を有してはいないので、設計技術者は、知識や経験に基づく推測をするために経験に多くを依存しなくてはならないことがたびたびある。
【００２８】
フロアプランを開発した後で、設計技術者は、ネットリストをチェックしてどの信号が各回路パーティションに入って出ていったのかを決定し、そして、手動で各パーティションの境界の周囲にパーティションの入出力信号が各パーティションに出入りする各箇所（ピン）を割り当てる（工程２２）。そして、ネットリストとフロアプランとピン割り当てプランが各回路パーティションに対して１つずつの一組の仕様２４と「トップレベル」仕様２６に変換される。各パーティションの仕様２６は、そのパーティションが制限を受ける基板領域のサイズと形状やピン割り当てやタイミングやその他の制約を含む、そのパーティションが満足しなければならない各種の制約を定義するデータと一緒に、そのパーティションに含まれるモジュールのためのネットリストを有する。トップレベル仕様２６は、全てのパーティションのサイズと形状とピン割り当てを定義する。
【００２９】
設計技術者は、そして、入力として、パーティション仕様２４を個々の自動化された配置及び配線システムに提供するが（工程２８）、該システムは、そのサイズ又は形状若しくはそのピン割り当てを変更することなく、各パーティションの内部の配置及び配線を最適にするように試行する。トップレベル仕様は、また、配置及び配線システムに入力として適用されるが、該システムは、パーティションのサイズ又は形状若しくはそのピン割り当てを変更することなく、各パーティション間の配置及び配線を最適にするように試行する。
【００３０】
配置及び配線処理は、事実上本質的に反復的であり、配置及び配線計画案が繰り返し修正され試行されながらそれらの計画案がいろいろな制約をどのようにうまく満足させるのかを決定する（工程３２）。配置及び配線処理は、全ての制約を最もよく満足する配置及び配線計画案を選択することによって終了する（工程３４）。
【００３１】
工程２０と２２によって確立された当初のフロアプラン及びピン割り当てプランが「知識や経験に基づく当て推測」によってその多くが確立されたものなので、それらのプランは結局全ての制約を満足する配置及び配線プランに至ることはできない。設計技術者は、したがって、工程３２において、制約を満足することができない失敗に応答して工程２０と２２に戻って、フロアプラン及びピン割り当てプランを修正しなければならない。このように、許容可能なフロアプラン及びピン割り当てプランの開発は、システムが全ての回路制約を満足する配置及び配線計画案に収斂することができる前に設計技術者がフロアプラン及びピン割り当てプランを何度も修正しながら、たびたび繰り返される反復的処理である。この従来のアプローチに関する問題点は、自動化された配置及び配線処理（工程２８−３２）には時間がかかることがあるので、大きなＩＣにおいては、この処理の数回の反復にも長時間を有することがあることである。
【００３２】
図２に示された先行技術のシステムが許容可能な配置及び配線プランに達する速度と効率、並びに、その処理がＩＣの実際の資産を使用する効率は、設計技術者が工程２０と２２で提供するフロアプラン及びピン割り当てプランの妥当性にその多くを依存している。設計技術者はモジュールを構成するトランジスタとその他の回路素子の数とサイズ並びにそれらの間の接続の数に基づいて各パーティションにとって必要な領域を見積もることができるが、そのような見積もりは必ずしも正確ではない。パーティションの空間条件が過大評価されたときには、ＩＣフロア空間に無駄を生じる。空間条件が過小評価されたときには、配置及び配線処理は失敗する。
【００３３】
改良された配置及び配線システム
上記のように、設計技術者は、ネットリストに含まれる情報と回路設計がパーティション化されるべきときの「知識や経験に基づく推測」に基づいてフロアプラン及びピン割り当てプランを一般的に開発する。したがって、処理の最初でより良好なフロアプラン及びピン割り当てプランを構成する方法を提供して、その処理が許容可能なフロア及びピン割り当てプランにより早急に収斂するようにすれば有利である。
【００３４】
本発明に関する配置及び配線システムは、始めにＩＣ設計をそれがパーティション化されていないかのようにして取り扱う、当初の「チップ全体」のトライアル配置に基づいて、ＩＣに対して自動的にフロアプラン及びピン割り当てプランを確立する。このシステムは、従来の分割統治配置システムの改良版を用いて、ＩＣ基板において互いに近接する各設計モジュールの各セルを寄せ集めるように偏在させる方法で、トライアル配置を作成する。このことは、ＩＣ基板領域内において異なるモジュールの各セルの混在する数を最少にすることに役立つ。
【００３５】
トライアル配置を作成した後で、システムは各モジュールを構成する各セルを内包するトライアル配置内の各領域のアウトラインを決定する。これらの「モジュールコア領域」のサイズと形状と相対的な位置関係が回路モジュールの適切なサイズと形状と相対的位置関係を示しているので、システムは、そして、モジュールコア領域の大きさと相対的位置関係に基づいてこれらのモジュールを含む回路パーティションの適切なサイズと形状と相対的位置関係を定義するフロアプランを作成することができる。システムは、また、そのトライアル配置に対するトライアル配線を実行して信号が各パーティションの境界を通過する箇所を決定し、更に、適切なピン割り当てプランを作成するためにその情報を活用する。
【００３６】
そして、システムは、各回路パーティションに対して個別に詳細な内部の配線及び配置を実行して、各パーティションに内包されるモジュールに対する配置及び配線基準を最適化する。システムは、また、トップレベル配置及び配線を実行して、ＩＣ基板内のパーティションの配置を最適化し、更に、パーティションの相互接続を最適化する。システムがフロアプラン及びピン割り当てプランを「当て推測」によるよりかむしろトライアル配置と配線を根拠にしているので、結果的に詳細になる配置と配線は、確実に、各パーティションをその割り当てられた直線で囲まれた基板領域によりうまく適合させるし、ＩＣの実際の資源をより有効利用でき、更に、タイミングと他の基準をよりよく満足する。
【００３７】
図３は、４つの回路パーティションに分割されるべき回路設計のチップ全体のトライアル配置の結果を略式に図示している。ＩＣ基板４５の４つの領域４１−４４は、この４つのパーティションを構成すべき各モジュールの各セルを包含している。（この略式図面において、４つの領域は重なり合ってはいないが、実際上これらは重なることがしばしばである。何故ならば、異なるパーティションの相互接続されるセルが、一般に、領域の境界においてある程度混在しているからである。）４つの領域４１−４４の境界線を特定した後で、配置システムはそれぞれの特定された領域を含むことができる最も小さなサイズの直線で囲まれたボックス５１−５４（図４）のＸ、Ｙ座標を決定する。そして、システムは、形状を変更することなく、更に、その中心位置を変更することもなしに、各ボックス５１−５４のサイズを小さくして、各ボックス５１−５４によってカバーされる全領域が図５に図示された対応モジュールコア領域４１−４４のそれとほとんど同じになるようにする。そして、図６に図示するように、ボックス５１−５４は、基板領域４５内で再度位置決めされ、重複部分を減らして各ボックス間に所望の最小空間を提供するのに必要な程度に比例して再びサイズが決定される。その結果のボックス５１−５４は、その後、４つの回路パーティションのために確保された各領域の各サイズとアスペクト比と予備的な位置を定義する。
【００３８】
そして、はじめのチップ全体レベルの配置及び配線は捨てられて、詳細な配置及び配線処理が新たに各パーティションに対して個別に実施されるが、該各パーティション内においては、そのパーティション内のセル配置がフロアプランによって示される領域内に限定され、ピン割り当てプランに従って、しいてその境界において信号を終わらせる。
【００３９】
配置及び配線処理
図７は、本発明に関する配置及び配線処理の各工程をフローチャート形式で図示している。上記のように、このシステムは、ＩＣがパーティション化されるべきときに使用される。システムは、タイミングやその他の回路基準に最もよく適合する配置及び配線をサーチする、反復的なチップ全体のトライアル配置及び配線を実施することによって開始される（工程６０）。そして、このシステムは、上記方法によってトライアルの配置及び配線に基づいてフロアプランとピン割り当てプランを確立する（工程６２）。そして、このシステムは、各回路パーティションのための仕様６４と、トップレベルの仕様６６を生成する。各パーティション仕様６４は、回路パーティションに含まれるべきモジュールのためのネットリストを有し、回路パーティションが配置されるべき基板領域のサイズと形状を定義し、そのパーティションのピン割り当てを有し、更に、パーティションの配置と配線が満足すべき各種のタイミングや他の制約を定義する。トップレベル仕様６６は、各パーティションのサイズや形状やピン割り当てと、パーティションが配置されるべきＩＣ基板の大きさと、更に、各パーティションの配置と相互接続に関する各種のタイミングや他の制約を示す。
【００４０】
パーティション仕様６４とトップレベル仕様６６は、各パーティションに対し並びにトップレベルに対する詳細な内部配置及び配線プランを生成する個々の自動化された配置及び配線ツールに入力を提供する（工程６８）、この配置及び配線ツールは、いくつかの異なる配置及び配線プランを試行して、パーティション仕様６４又はトップレベル仕様６６において定義されたタイミングとその他の回路基準に最もよく適合するレイアウトを見つける。各モジュールのための配置及びトライアル配線処理（工程６８）とトップレベルの配置及びトライアル配線処理は、独立して同時に実施されることができるものとする。
【００４１】
全ての回路基準が合致する（工程７０）と、レイアウトプロセスは終了する。工程６８でタイミングやその他の基準に合致するレイアウトが見つけられない場合には、工程６２に戻って設計技術者がフロアプランやピン割り当てに対して調整をするようにする。ネットリストと当て推量に基づく見積もりによるよりもむしろ、チップ全体の予備的なトライアル配置と配線に当初のフロアプランやピン割り当てプランを根拠付けることで、このレイアウトプロセスは、確実に、より早急に許容可能なレイアウトに到達し、更に、良好でより効率的なＩＣレイアウトを生成する。
【００４２】
図８は、図７のチップ全体のトライアル配置及び配線工程６０をより詳細なフローチャート形式で図示している。このシステムは、まず、基板領域を二つのパーティションに分割し（工程７２）、そして、その回路の各セルをこれらのパーティションに割り当てて（工程７４）、「シード割り当て（seed allocation）」を作成する。本発明に関連して、二つの基板パーティションの間に各セルを割り当てるときには、そのシード割り当ては階層設計の可能な最高位のレベルにおいてせいぜい１つのモジュールを分配する。そして、そのシード割り当ては、二つの基板パーティションの間に各セルを再配置することによって反復的に修正がなされて、基板境界を横切る信号通路の数を減少する割り当てを探す（工程７６）。各反復時に工程７４で異なるシード割り当てを作成しながら、工程７４と７４が何度か繰り返され、それによって、二つの基板パーティションの間を通過する比較的に少数の信号を有する割り当てを探す。しかし、あらゆる場合において、シード割り当てはせいぜいたった１つの回路モジュールの各セルを２以上の基板パーティションに割り当てる。工程７６でシステムが１つのパーティションから他のパーティションに各セルを再配置してパーティション境界を横断する信号通路数を減少するとき、再配置された各セルが属するモジュールに関連することなくそれを行う。したがって、信号通路長を最少にするのに役立つときでもモジュールの各セルはそう緊密に寄せ集められはしない。しかし、工程６０で行われたシード割り当てがモジュラーラインに沿って当初に配置された各セルの方に偏っているので、シード割り当てが先行技術分割統治システムのようにランダムに行われる場合に比べて、より確実に最終的な割り当ては結果的に所定のモジュールの各セルの緊密な寄せ集めとなる。
【００４３】
そして、パーティション間の最少の信号交差を提供する割り当てが選択される（工程７８）。基板が最少限界にまでまだ分割されていないときは、（工程８０で）工程７２に帰ってその現存基板パーティションをより小さなパーティションに更に再分割して、各回路モジュールの各セルを同様に偏在させて寄せ集めている新たなより小さなパーティションの間で各セルの適切な割り当てを見つける（工程７４−７８）。基板領域が最少のパーティションに分割されたとき（工程８０）には、従来のトライアル配線アルゴリズムを使用してトライアル配線プランが確立され（８２）、そして、回路論理とタイミングが検証される（工程８４）。そして、結果的に得られたトライアル配置及び配線は、図７のフロア及びピン割り当てプラン工程（工程６２）に入力を提供する。
【００４４】
このように、チップ全体のトライアル配置とトライアル配線に基づいて自動的にフロアプランとピン割り当てプランを生成する本発明に関する集積回路をパーティション化し、配置及び配線をするシステムを例示し説明してきた。このことは、各パーティションのサイズと形状とピン割り当てを回路全体におけるそのパーティションの各セルの実際の配置に関連して正確に見積もりをすることができるようにする。トライアル配置及び配線に基づくフロアプランとピン割り当てプランは、したがって、ネットリスト情報と回路設計者の側での知識と経験に基づく当て推測のみに基づいたフロアプランとピン割り当てプランに比べて、各回路パーティションのサイズと形状と相互接続条件のより良質の一般的予測である。したがって、そのようなフロアプランとピン割り当てプランは、反復的な配置及び配線システムが許容可能なＩＣレイアウトにより早急に収斂することに寄与し、更に、回路基準によりよく合致するより効率的なＩＣレイアウトを生成するのに役立つ。
【００４５】
上記の明細書は本発明の好適実施の形態を説明してきたが、業界において通常の知識を有する者は、本発明の範囲から逸脱することなくそのより広範な諸相において、好適実施の形態に対して多くの改作をなすことができる。例えば、単純化するために、フロアプランで定義されたパーティション領域５１−５４が長方形であるように図６には示されているが、そのような領域は、また、それらが派生したモジュラーコア領域４１−４４（図３）の形状と近似する長方形でない直線で囲まれた形状であってもよいし、又は、決められた形状のセル又はモジュールを内蔵する「ハードフェンス」領域を有するか又は回避するモジュラーコア領域の形状と近似する長方形でない直線で囲まれた形状であってもよい。したがって、添付の特許請求の範囲は、本発明の真の範囲やその精神の範囲内にあるすべてのそのような改作を保護することを意図したものである。
【図面の簡単な説明】
【図１】  中央演算装置の先行技術階層的論理設計の一例をブロック図形式で図示している。
【図２】  集積回路（ＩＣ）チップの基板領域内での各セルの配置と配線を確立させる典型的な従来の方法を示すフローチャートである。
【図３】  回路の４つの論理モジュールを構成する各セルを包含する４つのモジュールコア領域を概略図示したＩＣ基板の略式平面図である。
【図４】  ４つのモジュールコア領域上に４つ一組の直線からなるボックスが重ね合わされたことを除いて、図３とほとんど同じＩＣ基板の平面図である。
【図５】  ４つのボックスがリサイズされたことを除いて、図４とほとんど同じＩＣ基板の平面図である。
【図６】  ４つのボックスが再配置されたことを除いて、図４とほとんど同じＩＣ基板の平面図である。
【図７】  本発明に関するＩＣの配置及び配線方法を示すフローチャートである。
【図８】  図７のトライアル配置及び配線工程をより詳細に示すフローチャートである。
【図１】
0004679029.tif 000002
【図２】
0004679029.tif 000003
【図３】
0004679029.tif 000004
【図４】
0004679029.tif 000005
【図５】
0004679029.tif 000006
【図６】
0004679029.tif 000007
【図７】
0004679029.tif 000008
【図８】
0004679029.tif 000009