(57)【特許請求の範囲】
【請求項１】
コンピュータが、集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、
コンピュータが、複数の相互接続構造モデルを示すデータを保存し、
前記保存されているデータに基づいて、各ネットについて、
コンピュータが、前記複数の相互接続構造モデルの中から前記ネットのタイミング制約を満たす相互接続構造モデルを選択し、
コンピュータが、前記ネットの選択された前記相互接続構造モデルの各々に、前記ネットの前記ピン同士を接続するのに前記相互接続構造モデルが用いられる確率でありかつ前記相互接続構造モデルが前記ネットの前記ピン同士を接続するのに用いられた際の配線混雑度、セル混雑度、および電力分布に基づいて見積もられる確率を割り当て、
コンピュータが、前記選択された相互接続構造モデルの各々がもたらす配線混雑度、セル混雑度、および電力分布を各タイルの配線混雑度、セル混雑度、および電力分布に割り当てる、
ことを具備し、
前記複数の相互接続構造モデルは、配線幅、配線間隔、およびリピータセルの形式の少なくとも１つの関数である、方法。
【請求項２】
前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、請求項１の方法。
【請求項３】
各ネットについてコンピュータが前記複数の相互接続構造モデルの中から前記ネットのタイミング制約を満たす相互接続構造モデルを選択することが、コンピュータが前記ネットの前記ピンの少なくとも１つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、請求項１の方法。
【請求項４】
各ネットについて、
コンピュータが、初期境界内のタイルの組について前記相互接続構造モデルに前記確率を割り当て、
コンピュータが、どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルに前記確率を割り当てる、
請求項１の方法。
【請求項５】
コンピュータに、
集積回路デザイン内のネットと接続のためのピンとを示すデータを保存させる手順と、
複数の相互接続構造モデルを示すデータを保存させる手順と、
前記保存されているデータに基づいて、各ネットについて、
前記複数の相互接続構造モデルの中から前記ネットのタイミング制約を満たす相互接続構造モデルを選択させる手順と、
前記ネットの選択された前記相互接続構造モデルの各々に、前記ネットの前記ピン同士を接続するのに前記相互接続構造モデルが用いられる確率でありかつ前記相互接続構造モデルが前記ネットの前記ピン同士を接続するのに用いられた際の配線混雑度、セル混雑度、および電力分布に基づいて見積もられる確率を割り当てさせる手順と、
前記選択された相互接続構造モデルの各々がもたらす配線混雑度、セル混雑度、および電力分布を各タイルの配線混雑度、セル混雑度、および電力分布に割り当てさせる手順と、
を実現させ、
前記複数の相互接続構造モデルは、配線幅、配線間隔、およびリピータセルの形式の少なくとも１つの関数である、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して集積回路のデザインに関し、特に、確率論のアプローチを用いて、様々な設計基準に適応する構成部品の相互接続方法の設計を援助するシステムおよび方法に関する。
【背景技術】
【０００２】
デジタル・デバイス（例えば集積回路）がより複雑になり、また一層多くの電子部品を含むようになったことに連れて、これらの装置を設計するためのより良いツールが必要である。特に、設計ツールを、絶えず大きくなっているデザインの諸問題に対処するためにより効率的なものにする必要がある。
【０００３】
現在および将来のＶＬＳＩ技術で最も大きな関心事の１つは、相互接続構造（interconnect）の遅延が、テクノロジの進歩によるトランジスタの遅延と同じ速度で減少しないことである。そのため、トランジスタの遅延に比べ、相互接続構造遅延はますます顕著になってきている。このことによって、集積回路設計の以前行なわれていた時点よりも前の段階で相互接続構造設計を検討することにつながった。相互接続構造設計は、配線層の割り当て、配線幅の割り当て、配線間隔の割り当て、各ネットについての（すなわち、ピン相互間の相互接続構造についての）リピータの割り当てを含んでいる。これらを割り当てる際、タイミング、領域混雑度、配線混雑度、電力消費量が考慮される。
【０００４】
既存の電子設計自動化（ＥＤＡ）ツールの幾つかによってこの種の機能が提供され得る一方、このツールによる配線混雑度分析は、通常、概略配線に基づいており、そのため、少なくとも次の２つの問題が生じる。（ａ）長い実行時間；概略配線ツールには、通常、各ネットについて配線パターンを見つけるための多大な時間が必要である。（ｂ）ツール依存性；ある特定の概略配線ツールによって作成されたある特定の配線パターンが、別の概略配線ツールによって再現されるとは限らない。すなわち、概略配線に基づいた相互接続構造設計は、一般に、用いられている概略配線ツールに依存しない結果をもたらさない。
【０００５】
この出願の発明に関連する先行技術文献情報としては次のものがある。
【非特許文献１】Keith K. C. et al.、"Fast Buffer Planning and Congestion in Interconnect-driven Floorplanning"、IEEE Asia South Pacific Design Automation Conference、２００３年、p.411-416
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、少なくともデザイン内の各ネットについての配線の見積もりに必要な実行時間量を減じるとともに、使用されている具体的な配線ツールに依存しない結果を提示する、相互接続構造の割り当てを設計するためのシステムおよび方法を提供することが望ましい。
【課題を解決するための手段】
【０００７】
本発明の一態様による方法は、コンピュータが、集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、コンピュータが、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、コンピュータが、前記複数の相互接続構造モデルの中から前記ネットのタイミング制約を満たす相互接続構造モデルを選択し、コンピュータが、前記ネットの選択された前記相互接続構造モデルの各々に、前記ネットの前記ピン同士を接続するのに前記相互接続構造モデルが用いられる確率でありかつ前記相互接続構造モデルが前記ネットの前記ピン同士を接続するのに用いられた際の配線混雑度、セル混雑度、および電力分布に基づいて見積もられる確率を割り当て、コンピュータが、前記選択された相互接続構造モデルの各々がもたらす配線混雑度、セル混雑度、および電力分布を各タイルの配線混雑度、セル混雑度、および電力分布に割り当てる、ことを具備し、前記複数の相互接続構造モデルは、配線幅、配線間隔、およびリピータセルの形式の少なくとも１つの関数である。
【０００８】
本発明の一態様によるプログラムは、コンピュータに、集積回路デザイン内のネットと接続のためのピンとを示すデータを保存させる手順と、複数の相互接続構造モデルを示すデータを保存させる手順と、前記保存されているデータに基づいて、各ネットについて、  前記複数の相互接続構造モデルの中から前記ネットのタイミング制約を満たす相互接続構造モデルを選択させる手順と、前記ネットの選択された前記相互接続構造モデルの各々に、前記ネットの前記ピン同士を接続するのに前記相互接続構造モデルが用いられる確率でありかつ前記相互接続構造モデルが前記ネットの前記ピン同士を接続するのに用いられた際の配線混雑度、セル混雑度、および電力分布に基づいて見積もられる確率を割り当てさせる手順と、前記選択された相互接続構造モデルの各々がもたらす配線混雑度、セル混雑度、および電力分布を各タイルの配線混雑度、セル混雑度、および電力分布に割り当てさせる手順と、を実現させ、前記複数の相互接続構造モデルは、配線幅、配線間隔、およびリピータセルの形式の少なくとも１つの関数である。
【発明を実施するための最良の形態】
【０００９】
確率的相互接続構造設計を用いることによって、先行技術の１つ以上の問題を緩和または除去することができる。確率的相互接続構造設計法によって実行時間が短くなる。各ネットを確率的に分析し、ある具体的な配線パターンではなく可能な配線パターンの組合せを検討する。この方法がツールに依存しないからである。
【００１０】
概して、本発明は、様々な設計基準に対応する構成部品の相互接続方法の設計を援助するための確率的方法を取り入れているシステムおよび方法を含んでいる。
【００１１】
一実施形態は、集積回路デザインにおける相互接続構造モデルを確率的に設計するための方法を具備している。デザイン内の相互に接続されるピンの対（すなわち、ネット）を定義する。また、各ネットのピンを相互接続することが可能な相互接続構造モデルの集合を定義する。各ネットについて、ネットのピン同士を接続するのに各相互接続構造モデルを用いる確率を見積もる。次に、集積回路デザイン内のタイルに、各相互接続構造モデルがこのタイルを通過する可能性を示す確率を割り当てる。次に、集積回路デザイン内の各タイルに割り当てた確率に基づいて、確率的配線特性（例えば、配線混雑度、相互接続構造部品混雑度、電力密度、相互接続構造モデル利用度の確率）を示す図形および色彩的データを生成する。次に、この図形および色彩的データがユーザへと出力される(例えば、印刷または表示される)か、または後に使用するために保存される。
【００１２】
一実施形態では、本方法において、デザイン内のピンおよび回路部品の位置を含む、集積回路デザインのための配置図データを用いる。本方法をまずネットのピン相互間のタイミング制約が最も厳しいネットについて実行し、次に、タイミング制約の厳しさがより劣る（すなわちタイミング制約の厳しさが減少する順序で）ネットについて実行することが好ましい。一実施形態では、本方法によって、デザイン内のタイルの部分集合を含んでいる最初の境界内のタイルを検討する。この最初の境界内のタイルについて見積もった相互接続構造モデルが、いずれも検討中のネットに関するタイミング制約を満たさない場合、この境界を拡大するとともに、この拡大した境界内のタイルについて相互接続構造モデルを見積もる。
【００１３】
別の実施形態は、ソフトウェア製品を具備している。このソフトウェア製品は、コンピュータに上記の方法を実行させるプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備している。
【００１４】
さらなる多くの実施形態もまた可能である。
【００１５】
本発明の様々な実施形態によって、当業者にとって明らかなように、実行時間が減少することや、確率的配線ツールの特性に依存しない図形および色彩データが得られる等の、従来技術のシステムおよび方法に対する利点が得られる。
【００１６】
本発明のその他の目的および利点は、以下の詳細な説明を読み、添付の図面を参照することによって明らかとなる。
【００１７】
本発明は様々な形で変形したり別の形態としたりすることができるが、本発明の具体的な実施形態を図面および図面についての詳細な説明において例として示す。図面および詳細な説明によって、説明している具体的な実施形態に本発明を限定することが意図されていないことを理解されたい。そうではなく、本明細書で開示されている内容は、添付の請求項によって定義されるような本発明の範疇に属する変更を加えもの、等価なもの、代わりに用いられるものの全てを網羅することが意図されている。
【００１８】
本発明の実施形態を以下に説明する。以下に記載のこれら実施形態および他のあらゆる実施形態は、例示であって本発明を限定するのではなく説明するために示していることが意図されていることに留意されたい。
【００１９】
概して、本発明は、集積回路内の構成部品の相互接続方法の設計を援助するための確率的相互接続構造を設計するためのシステムおよび方法を含んでいる。
【００２０】
設計工程の重要な部分は、集積回路（ＩＣ）上に配置されている様々な構成部品の相互接続方法を決定することである。設計工程中に、一実施形態では、ＩＣを構成する複数のネットの全てについて、繰り返し処理が行なわれて回路デザインを徐々に改善していく。まず、配置図（構成部品レイアウト／配置）およびタイミング制約を含む初期デザインを用意する。このデザインの各ネットについて、可能な／許容可能な相互接続方法モデルについての確率を算出する。これらの確率を検討して、どの相互接続方法モデルが用いられる可能性が最も高いかを決定する。ネットにこのようなモデルを適用した結果はデザインの図形および色彩的データに組み入れられ、また繰り返し処理を継続する。図形および色彩的データは、配線混雑度、相互接続構造部品混雑度、電力密度、相互接続構造モデル利用度のような特性の確率を示すことが可能である。別の実施形態では、算出された確率の一部または全てを組み合わせてデザインの図形および色彩的データに組み入れている。
【００２１】
一実施形態では、ＩＣデザインを複数の領域（本明細書ではタイルと称される）へと分割する。幾つかの部分集合を用いて、あるネットについての相互接続方法を設計する。相互接続方法は、様々なモデルによって記述することが可能である。この実施形態における相互接続構造モデルは、配線層、リピータ・セルの型式、配線幅、配線間隔を組み合わせたものである。各ネットの相互接続方法を定義し（換言すれば、相互接続構造モデルをネットに割り当て）、資源を用い、資源をさらに制限する。これらの資源には、金属層上の配線が含まれる。したがって、例えば、あるタイル内で幾つかの配線を用いると、後に割り当てられる相互接続構造モデルが利用できる配線は少なくなる。
【００２２】
図１を参照すると、ＩＣの一部を例示する図が示されている。図の上部には、ＩＣの各層の分解組立図が示されている。図の下部には、ＩＣの構成部品の位置および配線をより明確に示すために各層の上面図が示されている。実際は、各層が積層されており、また層を貫くビアが配線と構成部品とを接続していることに留意されたい。
【００２３】
この実施形態では、図１で用いられている実施形態に例示されているように、ＩＣ１０１は３つの層（１１０、１２０、１３０）を有している。層１１０は、ネットの構成部品１０２、１０３を含んでいる。金属層１２０、１３０は、それぞれ、相互接続を行なうために用いる「垂直」配線および「水平」配線用となっている。
【００２４】
配線を層に配置するに連れ、層の混雑度は上がる。ＩＣがタイル１２３のような（９個の）タイルへと機能に従って分割されている場合を考える。垂直層上の配線および水平層上の配線の両方がタイル１３１を通過することに留意されたい。タイルの混雑度が上がると、混雑度がこれよりも低いタイルを配線が通過するようにすることができる。例えば、タイル１３１にスペースが無い（遮られている、ともいう）場合、相互接続構造を、タイル１２２のような別のタイルを通るように配線しなければならない。ある部品の組について、用いることができるタイルの選択肢は効率化のために制限されているものなのだが、制約を満たすために、この選択肢を変更したり増加したりしてもよい。これを適切に行えば、層を効率的に使用することが可能である。
【００２５】
図２に示されている別の例において、タイルの資源はグループ化されている。図１のレイアウトと同様に、ネットによって構成部品１０２および１０３が接続されている。金属層２２０、２３０上の配線は、それぞれ、相互接続を行なうために用いる「垂直」配線および「水平」配線を配線するのに用いることができる。しかしながら、図２の例において用いられている別の実施形態では、タイル資源をグループごとに検討する。例えば、「垂直」層および「水平」層２２０、２３０のタイルを、それぞれ行、列へとグループ化し、配線経路の利用可能度をグループごとに検討する。利用可能な経路は点線で示されている。図示の例では、利用可能な配線経路を有するタイルは、相互に隣接していないタイル２１１、２２２、２３３（隣接しているとは、辺を共有していることである）だけである。すなわち、このように分離されている例を検討する場合、不連続に配線することが示唆される。実際上、そのように資源制約を「緩和する」ことによって、より迅速に解決することが可能であって、一般的に、最終的なデザインは、配線ツールによって配線が良好に配置されたものになる。時に起こる配線についての問題に対して速度が増加するというトレードオフは、有益であると一般に考えられている。
【００２６】
実施形態によって、異なる入力データを用いることができる。入力データには、タイミング・データ、電力データ、（配置図、構成部品、層に関する）物理データが含まれる。実施形態によっては、相互接続構造モデルのライブラリの所定の組が含まれる。
【００２７】
様々な実施形態の出力だけでなく中間データに、領域混雑度、配線混雑度、電力密度、金属層の選択、層の数などを含めてもよい。
【００２８】
一実施形態のフローチャートを図３に例示する。初期化（３１０）に続いて、ネットを選択し（３２０）、各相互接続構造モデルに確率を割り当てることおよびこれに続くデザイン・データを更新することを含む処理を行う（３３０）。
【００２９】
まず、仮デザインおよび他の初期化データを用意する。これは、タイミング許容量の形態で表わされたタイミング制約情報を含んでいる。次に、繰り返し処理を行って、順次、各ネットを処理する。
【００３０】
ネットは、タイミング制約の厳しい順に処理する。各ネットについて、相互接続構造モデルの集合を選択する。この集合の中の相互接続構造モデルは、いずれも、実現することが可能なものである。相互接続構造モデルの集合は、これらが構成部品によって課される制約だけでなくタイミング許容量のようなあらゆる制約をも満たすように選択する。ある相互接続構造モデルは、この相互接続構造モデルによって、より少ない配線混雑度で実現されたりそのようなデザインになったりする結果が得られる場合、より実現されやすい。
【００３１】
この方法によって、具体的な配線は作成されない。相互接続構造モデルを１つ選択する代わりに、この方法によって、実施可能な相互接続構造モデルの各々に対して確率が割り当てられる。この確率は、この相互接続構造モデルを実現した場合の電力密度、領域混雑度、配線混雑度に基づいて算出する。この確率は、あるモデルがどれだけ理想的なものに近いかを示す指標を表している。
【００３２】
確率を算出すると、実施可能な相互接続構造モデルの各々がもたらす電力密度、領域混雑度、配線混雑度が、その確率に基づいて、電力密度、領域混雑度、配線混雑度データベースに加えられる。換言すれば、加えられた結果得られる電力密度、領域混雑度、配線混雑度データは、様々な配線層およびリピータを用いて実現可能な配線パターンを重ね合わせたもの、または組み合わせたものである。その意味では、この方法によれば、全ての実現可能な相互接続構造モデルが考慮される。
【００３３】
各相互接続構造モデルを電力密度、領域混雑度、配線混雑度データベースに割り当てるのも確率的に行なわれる。例えば、具体的な配線パターンを見つける代わりに、本方法によって、配線が配線混雑度のより少ない領域に配置されるように局部の配線混雑度に応じて配線が配線領域に配置される。全てのネットを処理すると、それによって得られる出力は設計工程における次のステップへと渡される。
【００３４】
本方法は、設計工程の初期における大きなデザインについて、電力密度、配線混雑度、リピータ混雑度だけでなくタイミング制約も考慮している配置図（部品配置）の実現可能性だけでなく、金属配線およびビアの積層構造の実現可能性を割り出すのにも有用である。
【００３５】
図４は、一実施形態に従った詳細なフローチャートを示している。以下に、入力（４１０）、処理／反復（４２０）、出力（４３０）について説明する。入力データには、固有のセル遅延および要求到着時刻等のようなタイミング・データ（４３１）、セル配置および阻害要素のような物理データ（４３３）、電力データ（４３４）、相互接続構造モデルのライブラリ（４３２）が含まれている。また、初期化には、タイル初期化（例えば、タイル化４３７）、遅延許容量割り当て（４３５）、ネット仕分け（４３６）を行なうことおよび／またはその結果が含まれている。タイル初期化４３７では、ユニットをタイルへと分割するだけでなく、それらに関連するデータを初期化する。遅延許容量割り当て４３５では、経路に基づいたタイミング制約をネットに基づいたタイミング制約へと変換する。ネット仕分け４３６では、タイミング制約の厳しさに基づいて、ネットを処理する順序を決定する。
【００３６】
ネットの全てについて繰り返し処理を行なうこと（４２０）には、相互接続構造モデルを選択すること（４２１）および確率を算出すること（４２３）が含まれている。相互接続構造モデルはタイミング制約を満たすものが選択され、また、確率はモデルごとに決定される。確率が０である場合、使用されるタイルの集合を拡大する（４２５）。次に、（相互接続構造モデルの）ゼロ以外の確率を、関連するタイルに割り当てる（４２６）。このデータの集まりを用いて、領域混雑度、配線混雑度、電力密度の図形および色彩的データを生成することができる（４３０）。
【００３７】
図４のフローチャートの要素を、次のパラグラフにおいて、より詳細に説明する。
【００３８】
入力データ
タイミング・データ（４３１）：タイミング・データには、各ピンにおける信号の到着時刻および要求到着時刻のようなタイミング制約が含まれる。また、タイミング・データには、セルに固有の、入力ピンまたは内部ラッチ点から出力ピンまたは他の内部ラッチ点への遅延量が含まれる。ネットとピンとの間の接続についての情報を含んでいる接続情報をタイミング・データに含めることもできる。ネットを駆動するピンはソースと呼ばれ、また、ネットによって駆動されるピンはシンクと呼ばれる。１つのネットには、複数のソースおよびシンクがある。
【００３９】
これらのタイミング・データは、例えば、EinsTimerTMの包括タイミング・レポートから得ることができる。
【００４０】
物理データ（４３３）：物理データには、セル配置、ピン位置、各配線層上の阻害要素が含まれる。阻害要素には、セルの内部形状や、クロック、電力バス、設計済み配線のような規定済みの配線が含まれる。
【００４１】
これらの物理データは、例えば、ChipBenchTMの内部データ構造から、そのユーザ・インターフェース機能を用いて得ることができる。
【００４２】
電力データ（４３４）：電力データには、静的電力消費量、スイッチング毎の動的電力消費量、各ソース・ピンでのスイッチング頻度が含まれる。
【００４３】
電力データは、電力分析の結果から得ることができる。
【００４４】
相互接続構造ライブラリ（４３２）：相互接続構造ライブラリは、相互接続構造モデルの集合である。相互接続構造モデルは、（Ｍ，Ｗ，Ｓ，Ｃ）の組合せである。ここで、Ｍ＝（Ｈ、Ｖ）は、配線層の対（水平層Ｈ、垂直層Ｈ）であり、Ｗは配線幅であり、Ｓは配線間隔であり、また、Ｃはリピータ・セルの型式である。この実施形態では、相互接続構造モデルの水平層および垂直層の両方について電気特性および設計ルールが同様であると仮定している。ここで、単位長さについての抵抗および容量は、水平層および垂直層の各々における最小形状の配線について同じである。２つの相違する相互接続構造モデルにおいて、水平層と垂直層の対が異なり得ることに留意されたい。電気特性も、水平層と垂直層の対が異なれば、相違し得る。
【００４５】
下記の関数Ｆを、相互接続構造ライブラリに関連付ける。
【００４６】
Ｆ：（Ｍ，Ｗ，Ｓ，Ｃ，Ｌ）→（Ｎ，Ｄ）
ここで、Ｌは配線長であり、Ｎは挿入されるリピータの数であり、Ｄは配線遅延量およびリピータ遅延量の両方を含む相互接続構造遅延量である。Ｆは、Ｄを最小にするリピータの個数がＮであるとして定義することができる。または、Ｆは、Ｎが多くの制約を満足させるリピータの最小の個数であるとして定義することができる。関数、すなわち参照表Ｆは、各相互接続構造モデルについて、例えば、各層における単位長さについての配線抵抗および容量のような技術パラメータを用いてＳＰＩＣＥシミュレーションを行なうことによって、また例えばリピータのＳＰＩＣＥモデルを行なうことによって得ることができる。
【００４７】
以下の記載において、「ｅ」は多くの場合、相互接続構造モデル（Ｍ，Ｗ，Ｓ，Ｃ）を指すものとする。
【００４８】
プロセス
タイル初期化（４３７）：タイル初期化プロセスによって、ユニットをタイルへと分割し、それらに関連するデータを初期化する。次のデータが各タイルＴについて定められている：
・ＴＸ、ＴＹ：タイルＴの幅および高さ
・Ａ（Ｔ，０）：タイルＴにおける利用可能な配置面積
・Ａ（Ｔ，ｉ）：層ｉ（ｉ＝１、…、ｎ）上のタイルＴにおける利用可能な配線数（ｎは金属層の数）
・Ｂ（Ｔ）：タイルＴでの電力消費量
例えば、Ａ（Ｔ，０）は、ＴＸ×ＴＹであるタイルＴの、タイルＴの面積から既にこのタイルＴに配置されているセルの面積を引いた面積である。同様に、Ａ（Ｔ，ｉ）は、「物理データ４３３」において記述されている阻害要素を引いた後のタイルＴ内の層ｉ上の利用可能な配線である。Ｂ（Ｔ）は、配置済みのセルの電力消費量を含んでいる。より具体的には、各セルによってＢ（Ｔ）に加えられる電力消費量は、タイルＴ内のセル面積に比例する。「確率的相互接続構造モデルの割り当て４２６」において、各相互接続構造モデルが各タイルに割り当てられる度に、Ａ（Ｔ，ｉ）（ｉ＝０、…、ｎ）およびＢ（Ｔ）が更新される。
【００４９】
遅延許容量割り当て（４３５）：遅延許容量割り当て工程は、経路に基づいたタイミング制約をネットに基づいたタイミング制約へと変換することによって、ネットの各ソース・シンク対に、求められる相互接続構造遅延量を割り当てる。換言すれば、この工程によって、各ソース・シンク対についての求められる相互接続構造遅延量を調整することによって、各タイミング経路についてのタイミングのゆとりをネットに割り当てる。この求められる相互接続構造遅延量は、各タイミング経路についてのタイミングゆとりが負にならないように決定される。調整前のタイミングゆとりが正の場合、求められる相互接続構造遅延量を、現在の相互接続構造遅延量から緩和することが可能である。調整前のタイミングゆとりが負の場合、求められる相互接続構造遅延量を、現在の相互接続構造遅延量よりも厳しくすることが可能である。求められる相互接続構造遅延量は、以下、「遅延許容量」と称する。遅延許容量割り当てについてのアルゴリズムの詳細は、本明細書の開示内容からは省略されているが、「Delay Budget Allocation with Path Trimming」と称される米国特許出願番号１１／７３３，０９１において開示されている。
【００５０】
ネット仕分け（４３６）：ネット仕分け工程によって、処理されるネットの順序が、タイミング制約の厳しさに基づいて決定される。タイミング制約の厳しさは、「現在の相互接続構造遅延量」の最大値からネットの全ソース・シンク対に亘る「遅延許容量」を引いたものとして定義されている。ここで、「遅延許容量」は、先の工程「遅延許容量割り当て４３５」によって算出されたものである。一般的には、設計の中の配線を行なう段階において、タイミング制約の厳しいネットにはタイミング制約が緩いネットよりも先に配線される。この意味で、このような実施形態はタイミングに基づいて進められるものである。
【００５１】
図４中の破線による囲み４２０内の下記に示すプロセスでは、各ネットは、ネット仕分けプロセスによって定義されたタイミング制約の厳しさの順に処理される。
【００５２】
相互接続構造モデルの選択（４２１）：相互接続構造モデル選択工程によって、ネットの全ソース・シンク対についてのタイミング制約を満たす相互接続構造モデルの集合を見つける。Ｇは、この相互接続構造モデルの集合を指すものとする。相互接続構造モデルｅ＝（Ｍ，Ｗ，Ｓ，Ｃ）がＧの要素であるための必要十分条件は、Ｄ（ｐ，ｅ）がネットの各ソース・シンク対ｐについての遅延許容量以下であることである。ここで、Ｄ（ｐ，ｅ）は、相互接続構造モデルｅが用いられる場合のソース・シンク対ｐの相互接続構造遅延量である。Ｄ（ｐ，ｅ）は、「相互接続構造ライブラリ４３２」において（Ｎ、Ｄ（ｐ，ｅ））＝Ｆ（Ｍ，Ｗ，Ｓ，Ｃ，Ｌ（ｐ））として定義されている関数Ｆを用いて算出される。ここで、Ｌ（ｐ）は、ｐのソースとシンクとの間のマンハッタン距離である。Ｌ（ｐ）は、「物理データ４３３」を用いて算出することができる。このプロセスの目的はタイミングを保証することである。Ｇに属する相互接続構造モデルに焦点を合わせることによって、タイミング制約は自動的に満たされる。下記のプロセスでは、Ｇの要素だけが扱われる。
【００５３】
Ｇが空集合である場合（図４中の４２２の「ＮＯ」の分岐）、タイミング制約を満たす相互接続構造モデルは存在しない。しかしながら、１つの相互接続構造モデルが、電力密度、領域混雑度、配線混雑度データベースを更新する際に必ずネットに割り当てられていなければならない。このために、Ｇが空集合である場合、Ｇは、単位長さ当たりの相互接続構造遅延量が最小である最速の相互接続構造モデルである要素を１つ有する集合として再定義される。遅延許容量は満たされないが、この相互接続構造モデルは、最もましな解である。このようにＧを修正した後、プログラムは、電力密度、領域混雑度、配線混雑度のようなタイル・データを更新するだけのために「確率的相互接続構造モデルの割り当て４２６」へと飛ぶ。また、ユーザに、タイミング制約が満たされなかったことが通知される。
【００５４】
確率の算出（４２３）：確率算出工程によって、集合Ｇ内の各相互接続構造モデルに確率が割り当てられる。ここで、Ｇは、処理されているネットについての「相互接続構造モデルの選択４２１」によって定義された相互接続構造モデルの集合である。確率は、この相互接続構造モデルが、理想的な解法として配線ツールおよびユーザによって選択される可能性の程度に相当する。本方法では、特定の配線ツールを全く想定しないので、確率は配線ツールについての知識無しで決定される。この実施形態では、確率は、より高い確率を有する相互接続構造モデルによって、より低い確率を有するものよりも、領域混雑度が小さく、および（または）配線混雑度が小さく、および（または）電力消費量が少なくなるように定義されている。
【００５５】
Ｐ（ｅ）が相互接続構造モデルｅの確率を示すものとする。Ｐ（ｅ）は以下のように定義される：
【数１】
0004719265.tif 000002
【００５６】
ここで、ｗ（ｅ）は相互接続構造モデルの「重み」であり、ｗＡ（ｅ）、ｗＷ（ｅ）、ｗＰ（ｅ）は、それぞれ、領域、配線、電力の重みを表している。ｗＡ（ｅ）は、ｗＡ（ｅ）が大きい相互接続構造モデルｅほど、その領域混雑度が小さくなるものとして定義されている。同様に、ｗＷ（ｅ）は、ｗＷ（ｅ）が大きい相互接続構造モデルｅほど、その配線混雑度が小さくなるものとして定義されている。また、ｗＰ（ｅ）は、ｗＰ（ｅ）が大きい相互接続構造モデルｅほど、その電力消費量が少ないものとして定義されている。なお、ｗＡ（ｅ）、ｗＷ（ｅ）、ｗＰ（ｅ）内にトレードオフの関係がある。例えば、幅の広い金属は抵抗値がより小さく、また間隔が広いと結合容量は小さくなるので、配線幅および配線間隔が大きな相互接続構造モデルほど、より小さな配線幅および間隔を有する相互接続構造モデルよりも必要なリピータの数が少ない。これは、大きな配線幅および間隔を有する相互接続構造モデルほど、必要なリピータ面積は小さい（ｗＡ（ｅ）が大きい）一方、必要な配線の数は多い（ｗＷ（ｅ）が大きい）ことを意味している。同様に、ｗＰ（ｅ）は配線幅および間隔に依存する。配線が広いと、配線の充電および放電による電力は大きく、他方、リピータの数が少ないので、リピータによって消費される電力は小さい。一方、配線が狭いと、配線の充電および放電による電力は小さく、他方、この場合リピータの数が多いので、リピータによって消費される電力は大きい。これらのトレードオフ関係を仲裁するために、ｗＡ（ｅ）、ｗＷ（ｅ）、ｗＰ（ｅ）を互いに掛け合わせてｗ（ｅ）を定義する。
【００５７】
ｗ（ｅ）の上記の定義は重みｗ（ｅ）を定義するただ１つの方法ではない。重みｗ（ｅ）は、以下のように定義することが可能である。
【数２】
0004719265.tif 000003
【００５８】
ここで、α、β、γは、ユーザによって調整されるパラメータである。ユーザが配線混雑度を減らすことに焦点を合わせたい場合、ユーザは、より大きなβ、およびより小さなα、γを選択する。
【００５９】
例えば、（α，β，γ）＝（１，２，１）であるとする。３要素の集合（ｗＡ（ｅ）、ｗＷ（ｅ）、ｗＰ（ｅ））が２つ（０．９，１，１）、（１，０．９，１）与えられると、対応する重みｗ（ｅ）は、それぞれ０．９と０．８１であるので、１つ目が選ばれることになる。
【００６０】
以下に、ｗＡ（ｅ）、ｗＷ（ｅ）、ｗＰ（ｅ）の例を示す。
【００６１】
面積についての重み：ｗＡ（ｅ）
【数３】
0004719265.tif 000004
【００６２】
配線についての重み：ｗＷ（ｅ）（図５を参照。図５は、ＩＣ５０１の境界囲み５０２、ソース・シンク対（５０３、５０４）、垂直金属層５２０、水平金属層５３０を例示している。）
【数４】
0004719265.tif 000005
【００６３】
図５は、Ｅ（Ｘ，Ｈ）およびＥ（Ｙ、Ｖ）を例示している。ｗＷ（ｅ）は、配線混雑度が少ないほどｗＷ（ｅ）が大きくなるものとして定義されている。ｗＷ（ｅ）が０未満の場合、利用可能な配線は存在しない。この場合、ｗＷ（ｅ）＝０に設定してｗ（ｅ）＝０とする。換言すれば、そのような相互接続構造モデルは用いることはできない。
【００６４】
電力についての重み：ｗＰ(ｅ）
【数５】
0004719265.tif 000006
【００６５】
ここで、Ｐｗｒ(ｅ）は、相互接続構造モデルｅで実現されている場合のネットの電力消費量である。Ｐｗｒ（ｅ）は以下のように表される。
【数６】
0004719265.tif 000007
【００６６】
ここで、全てのソース・シンク対ｐについての値が加算されており、Ｎ（ｐ）は、（Ｎ（ｐ），Ｄ）＝Ｆ（Ｍ，Ｗ，Ｓ，Ｃ，Ｌ（ｐ））によって得られるリピータの数であり、ＰＣ（ｅ）は相互接続構造モデルｅの１つのリピータによって消費される静的および動的な電力であり、ＰＷ（ｅ）は相互接続構造モデルｅの単位長さの配線の充電および放電による電力である。動的な電力はネットのスイッチング頻度に依存するので、上記の方程式中で明示的に書かれていないが、ＰＣ（ｅ）およびＰＷ（ｅ）はネットのスイッチング頻度に依存する。ｗＰ（ｅ）は、電力消費量が少ないほどｗＰ（ｅ）が大きくなるものとして定義されている。
【００６７】
配線領域の拡大（４２５）：Ｇ内の全ての相互接続構造モデルｅについてｗ（ｅ）＝０である場合、確率Ｐ（ｅ）を決定することができない。これは、例えば、幾つかのソース・シンク対ｐについて領域Ｕ（ｐ）内に利用できるリピータ領域または配線が無いことを意味している。そのような場合、Ｕ（ｐ）をタイルの外側のもう１つの行および列を含めるように拡大してから利用可能な領域および配線を探索する。これに応じて、配線長さＬ（ｐ）は、例えば、平均２×ＴＸ＋２×ＴＹだけ長くなる。付加された外側の行および列へと配線するのにさらなるＴＸおよびＴＹが必要であるとともにこの付加された外側のタイル内の角を曲がるのにさらなるＴＸおよびＴＹが必要であるからである。これは、こうして、迂回しながら配線することが可能になっていることを意味している。Ｌ（ｐ）を変更するので、集合Ｇも更新しなければならない。新しいＧおよびＵ（ｐ）で、ｗ（ｅ）が再び算出される。全てのｗ（ｅ）が依然０である場合、Ｕ（ｐ）を再び拡大する。このことは、ゼロでないｗ（ｅ）の値が見つかるか、Ｕ（ｐ）がデザインの全体に達するまで継続する。このループは、通常、Ｕ（ｐ）がデザインの全体に達する前に停止する。Ｌ（ｐ）が大きくなるとＧが空集合になるからである。換言すれば、タイミング制約を満たす相互接続構造モデルの数は、配線が長くなるに連れて減少する。Ｇが空集合の場合、Ｇを「相互接続構造モデルの選択４２１」において記述されているように、最速の相互接続構造モデルである要素を１つ有する集合とするとともに、フローは図４の「ＮＯ」の分岐を経由して「確率的相互接続構造モデルの割り当て４２６」へと飛ぶ。以上、要約すると、配線領域を拡大する場合、「ネット仕分け４３６」後のフローは、図４に示されているように、以下のようになる。
【００６８】
１．「相互接続構造モデルの選択４２１」において記述されているように集合Ｇを作製する。
【００６９】
２．Ｇが空集合の場合、Ｇを最速の相互接続構造モデルである要素を１つ有する集合として再定義するとともに「確率的相互接続構造モデルの割り当て４２６」へと飛ぶ（図４の中の「ＮＯ」分岐４２２）。
【００７０】
３．「確率の算出４２３」に記述されているようにｗ（ｅ）を算出する。
【００７１】
４．Ｇ内の全ての相互接続構造モデルについてｗ（ｅ）＝０であるかどうかを検査する（図４内の４２４）。ＮＯの場合、「確率的相互接続構造モデルの割り当て４２６」へ行く。ＹＥＳの場合、次のステップに行く。
【００７２】
５．リピータ配置領域および配線がＵ（ｐ）内で残っていないソース・シンク対ｐについてＵ（ｐ）の上、下、左、右に、行および列を加えるとともに４つの隅部タイルを加えることによりＵ（ｐ）を拡大する。また、配線長さＬ（ｐ）を、２×ＴＸ＋２×ＴＹだけ長くする。これらの手続きは、図４内の「配線領域の拡大４２５」に相当する。この工程の後、「相互接続構造モデルの選択４２１」へと戻る。
【００７３】
確率的相互接続構造モデルの割り当て（４２６）：確率的相互接続構造モデルの割り当て工程では、Ａ（Ｔ，ｉ）（ｉ＝０、…、ｎ）およびＢ（Ｔ）を以下のように確率Ｐ（ｅ）に基づいて更新することによって、Ｇ内の各相互接続構造モデルを各タイルＴに割り当てる。
【数７】
0004719265.tif 000008
【００７４】
ＤＡ（Ｔ，０）は、相互接続構造モデルｅが用いられる場合の、ｐ用のリピータが占めるタイルＴ内の面積である。同様に、ＤＡ（Ｔ，Ｈ）およびＤＡ（Ｔ，Ｖ）は、それぞれ、ｐ用の配線が占めるタイルＴ内の水平配線数および垂直配線数であり、また、ＤＢ（Ｔ）は、ｐ用のリピータおよび配線が消費するタイルＴ内の電力である。これらの量の各相互接続構造モデルによって生じる分は、相互接続構造モデルの確率を乗じた上で、Ａ（Ｔ，０）、Ａ（Ｔ，Ｈ）、Ａ（Ｔ，Ｖ）、Ｂ（Ｔ）に加えられるか、これらから減じられる。このことは、加算の結果得られた領域、配線、電力データが、確率Ｐ（ｅ）によって重み付けされた相互接続構造モデルを重ね合せたものであることを意味している。このように、本方法では、１回で２つ以上の相互接続構造モデルを考慮することができ、全般的な電力密度、領域混雑度、配線混雑度データを生成することができる。
【００７５】
各ネットをタイミング制約の厳しさの順に処理していることに留意されたい。タイミング制約が厳しいネットが処理されている場合、特定の相互接続構造モデルを用いる自由度は高い。領域および配線の利用可能度が、この段階ではまだ高いからである。領域および配線が埋まるに連れ、この自由度は減少するが、相互接続構造モデルを選択する自由度は増大する。この段階で処理されているネットは、タイミング制約の厳しさが（比較的）より低く、より多様な相互接続構造モデルが可能であり、高い混雑度のタイル／層が回避されるからである。換言すれば、タイミング制約が厳しいネットに対しては相互接続構造モデルの選択肢は少ないのではあるが、プロセス全体の中の初期においては利用可能な領域および配線が多いゆえに配線することが可能である。一方、タイミング制約が緩いネットを処理する場合、タイミングおよび電力を最適化する利用可能な配線が層上に無いかもしれないが、これらのネットに対してはより多くの相互接続構造モデルの選択肢があるので別の層を用いて配線することが可能である。このように、タイミングおよび配線可能度の両方が保証される。このことは、配線が設計プロセスの、より後において実行される状況に適っている。
【００７６】
以下に、ＤＡ（Ｔ，０）、ＤＡ（Ｔ，Ｈ）、ＤＡ（Ｔ，Ｖ）、ＤＢ（Ｔ）の例を示す。
【数８】
0004719265.tif 000009
【００７７】
リピータ面積Ｎ（ｐ）×Ｋ（Ｃ）は、各タイルＴに、Ｔ内の利用可能な配置面積Ａ（Ｔ，０）に比例する確率で分配される。このことは、領域混雑度が小さいタイルにリピータを配置しやすいという前提から生じている。
【００７８】
ＤＡ（Ｔ，Ｈ）およびＤＡ（Ｔ，Ｖ）（図５を参照されたい）
【数９】
0004719265.tif 000010
【００７９】
ここで、ＨとＶは、相互接続構造モデルｅの水平配線層および垂直配線層であり、Ｃｏｌ（Ｕ（ｐ），Ｔ）はタイルＴを含んでいるＵ（ｐ）の列であり、Ｒｏｗ（Ｕ（ｐ），Ｔ）はタイルＴを含んでいるＵ（ｐ）の行である。列Ｃｏｌ（Ｕ（ｐ））を通過する水平配線数Ｒ（Ｗ，Ｓ，Ｈ）は、この列内の各タイルＴに、Ｔ内の利用可能な水平配線数Ａ（Ｔ，Ｈ）に比例する確率で、分配される。同様に、垂直配線数Ｒ（Ｗ，Ｓ，Ｖ）は、Ａ（Ｔ，Ｖ）に比例する確率で行Ｒｏｗ（Ｕ（ｐ）内の各タイルに分配される。すなわち、各行または列を通過する配線は、配線混雑度が小さいタイル内に配線されやすい。図５は、ＤＡ（Ｔ，Ｈ）およびＤＡ（Ｔ，Ｖ）を例示している。確率は、配線パターンとは無関係に各タイルに独立して割り当てられることに留意されたい。換言すれば、この実施形態では、連続するタイルの組によって表される配線パターンは考慮されない。ここで、「連続するタイルの組」は、それが網羅する領域が形状上、複数の接続された部分へと分割することができないタイルの組である。換言すれば、配線があるタイルに達したところで、この配線の次なる部分は隣接するタイルを通らなければならない。これを保証するために、配線パターンが認識される必要がある。このために概略配線ツールを用いることが可能かもしれないが、上記のように、実現可能な配線パターンを見つけるのに比較的長い実行時間がかかる。高レベルな見積もりおよび設計ツールとして、そのような精度は必要ではなく、また、実行時間を省くことがより重要である。したがって、この実施形態は、（上記のように）配線をタイルに割り当てるための単純な方法を採用している。しかしながら、別の実施形態では、タイルに割り当てられている確率相互の相関性を導入することによって配線パターンを考慮することが可能である。
【００８０】
ＤＢ（Ｔ）
【数１０】
0004719265.tif 000011
【００８１】
ここで、ＰＣ（ｅ）は相互接続構造モデルｅの１つのリピータによって消費される静的および動的な電力消費量であり、ＰＷ（ｅ）は、相互接続構造モデルｅの単位長さの配線の充電および放電による電力である。ＤＢ（Ｔ）がこのように表現されているということは、セル電力Ｎ（ｐ）×ＰＣ（ｅ）が領域利用可能度に従って分配されていること、および配線電力Ｌ（ｐ）×ＰＷ（ｅ）が配線利用可能度に従って分配されていることを示している。これは、ＤＡ（Ｔ，０）、ＤＡ（Ｔ，Ｈ）、ＤＡ（Ｔ，Ｖ）の定義に従っている。
【００８２】
出力データ（４３０）：この実施形態の出力データには、ネットについての、領域混雑度の図形および色彩的データ、配線混雑度の図形および色彩的データ、電力密度の図形および色彩的データ、割り当てられた相互接続構造モデルが含まれている。これらの図形および色彩的データは、例えば、ＧＵＩ上で色がつけられた図形データとして示すことができる。色は、Ａ（Ｔ，ｉ）（ｉ＝０、…、ｎ）またはＢ（Ｔ）の値に基づいて各タイルＴに割り当てることができる。各ネットについての相互接続構造モデルのリストおよびその確率を生成することもできる。タイミング制約を満たす相互接続構造モデルがない場合、そのことについての警告を生成するようにするべきである。各タイルを通過するネットのリストを生成することもできる。
【００８３】
出力データを用いて、配置図およびタイミングの実現可能性を見積もることができる。金属層の積層構造の実現可能性を見積もることも可能である。この方法によって割り当てられた相互接続構造モデルに基づいて、バッファ処理、タイミング分析、配線を実行することが可能である。このために、各ネットについて、相互接続構造モデルを１つ選択するだけでよい。例えば、確率Ｐ（ｅ）が最大の相互接続構造モデルを選択することができる。別のアプローチは、確率Ｐ（ｅ）に従って無作為に相互接続構造モデルを選択することである。この後者のアプローチによって、例えば集合Ｇが２つの相互接続構造モデルｅ１、ｅ２を有するとともにＰ（ｅ１）＝０．４、Ｐ（ｅ２）＝０．６であるとする。次いで、０と１の間の乱数が生成される。乱数が０．４未満である場合、ｅ１が選択され、そうでなければ、ｅ２が選択される。
【００８４】
上の説明は、本発明の方法の実施形態に焦点を当てているが、別の実施形態はソフトウェア・プログラム製品を具備することに留意されたい。この製品は、上記のような方法をコンピュータに実行させるように構成されたプログラム命令をその中に含んだコンピュータ読み取り可能記憶媒体からなる。このコンピュータ読み取り可能記憶媒体には、あらゆる記憶媒体、例として、ＲＡＭ、ＲＯＭ、フラッシュ・メモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭ、光学メディア等が含まれる。この記憶媒体に保存されている命令は、あらゆるタイプのデータ・プロセッサによって実行可能であって、パーソナル・コンピュータまたは汎用コンピュータで実行される命令に限定されない。
【００８５】
上の説明では、幾つかの具体的な例示的な実施形態を示しているが、これとは別の実施形態においては、説明した特徴および構成要素に変更を加えたものを用いることができる。例えば、別の実施形態では、相違する複数の配線特性を出力データに含めることができ、または解析結果を図形および色彩的データ以外の形態で出力させてもよい。例えば、出力は、未加工データ（例えば、位置の関数としての配線混雑度）として保存することができる。別の実施形態では、他の変形体、例として単純なピン対ピンの接続よりも複雑なネットを検討することが可能である。その他の多くの変形体も、本明細書に開示されている内容を読めば、当業者にとって明らかである。
【００８６】
様々な異なる技術および技法のあらゆるものを用いて情報および信号が表現され得ることが当業者によって理解される。例えば、上の説明を通じて言及されているデータ、命令、コマンド、情報、信号、ビット、シンボルは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、またはこれらのあらゆる形で組合せたものによって表現され得る。この情報および信号は、ワイヤ、金属配線、ビア、光ファイバ等を含むあらゆる適切な転送媒体を用いて、明細書に開示されているシステムの構成要素の間で通信される。
【００８７】
さらに、本明細書に開示の実施形態との関連で説明された様々な論理ブロック、モジュール、回路、アルゴリズム・ステップが、電子ハードウェア、コンピュータ・ソフトウェア、またはこれらを組合せたものとして実現され得ることが当業者によって理解される。このようにハードウェアおよびソフトウェアが可換であることを明確に示すために、構成要素、ブロック、モジュール、回路、およびステップは、これらの機能として本明細書では説明されている。このような機能がハードウェアまたはソフトウェアのいずれとして実現されるかは、具体的な適用例およびシステム全体に課される設計制約に依存する。説明されている機能を各具体的な適用例について様々な形で実現することが可能であるが、どのように実現するかを決定することによって本発明の範疇から逸脱するものと解釈されるべきでない。
【００８８】
本明細書に開示の実施形態との関連で説明された様々な論理ブロック、モジュール、回路は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）またはその他の論理デバイス、ディスクリー・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア部品、または本明細書において説明されている機能を実行するように設計されたこれらをあらゆる形で組合せたものとともに実現および実行することが可能である。
【００８９】
本明細書に開示の実施形態との関連で説明した方法およびアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサまたは他のコントローラによって実行されるソフトウェア（プログラム命令）において、またはこれら２つを組合せて具現化することができる。ソフトウェアは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭ、本分野で知られている他のあらゆる適切な記憶媒体に保存しておくことができる。本方法の１つを具現化するプログラム命令をその中に含んでいるこのような記憶媒体は、それ自体が本発明の実施形態である。例示的な記憶媒体を、プロセッサがこの記憶媒体から情報を読み出し、またこの記憶媒体に情報を書き込むことができるようにプロセッサに接続する。または、記憶媒体をプロセッサに組み込んでもよい。プロセッサおよび記憶媒体は、例えばＩＣ内にあってもよい。
【００９０】
本発明によってもたらされる利益および利点は、具体的な実施形態に関して上に記載した。これらの利益および利点、およびこれらの利益および利点を生み出す要素および限定事項は、いずれも、請求項の一部または全ての限定的な、必要な、必須の特徴と解釈されるべきではない。本明細書で用いられているように、「具備する」という文言またはそれが変化した文言は、これらの文言に先行する要素および限定事項を他のものを排除すること無しに含むものとして解釈されることが意図されている。よって、要素の組を具備するシステム、方法または他の実施形態には、これらの要素のみに限定されるのではなく、明白に列挙されていないまたは請求項に記載の実施形態に本来備わっている他の要素が含まれている。
【００９１】
開示された実施形態のここまでの説明は、当業者が本発明を実行したり使用したりできるようにするために提供されている。これらの実施形態に対して様々な形で変更を行なうことは、当業者にとって容易に明らかとなり、本明細書で定義されている包括的な原理は、本発明の思想および範疇から逸脱することなく他の実施形態に適用してもよい。よって、本発明は、本明細書に示す実施形態に限定されることが意図されるのではなく、本明細書に開示されまた請求項内で列挙される原理および新規な特徴に従った最も広い範疇に一致するべきである。
【００９２】
また、この発明は以下の実施態様を取り得る。
【００９３】
（１）集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを具備する方法。
【００９４】
（２）前記ピンについての位置および前記集積回路デザイン内の１つ以上の構成部品についての位置を含む、前記集積回路デザインについての配置図を示すデータを保存することをさらに具備する、（１）の方法。
【００９５】
（３）前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、（１）の方法。
【００９６】
（４）各ネットについて前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もることが、前記ネットの前記ピンの少なくとも１つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、（１）の方法。
【００９７】
（５）各ネットについて、初期境界内のタイルの組について前記相互接続構造モデルが見積もられ、どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルが見積もられる、（１）の方法。
【００９８】
（６）前記方法が、配線密度の確率を図形および色彩的に表示することを具備する、（１）の方法。
【００９９】
（７）前記方法が、相互接続構造の構成部品の密度の確率を図形および色彩的に表示することを具備する、（１）の方法。
【０１００】
（８）前記方法が、電力密度の確率を図形および色彩的に表示することを具備する、（１）の方法。
【０１０１】
（９）前記方法が、相互接続構造モデルの利用度を図形および色彩的に表示することを具備する、（１）の方法。
【０１０２】
（１０）集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを含む方法をコンピュータに実行させるように構成されたプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備するソフトウェア製品。
【０１０３】
（１１）前記方法が、前記ピンについての位置および前記集積回路デザイン内の１つ以上の構成部品についての位置を含む、前記集積回路デザインについての配置図を示すデータを保存することをさらに具備する、（１）のソフトウェア製品。
【０１０４】
（１２）前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、（１０）のソフトウェア製品。
【０１０５】
（１３）各ネットについて前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もることが、前記ネットの前記ピンの少なくとも１つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、（１０）のソフトウェア製品。
【０１０６】
（１４）各ネットについて、初期境界内のタイルの組について前記相互接続構造モデルが見積もられ、どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルが見積もられる、（１０）のソフトウェア製品。
【０１０７】
（１５）前記方法が、配線密度の確率を図形および色彩的に表示することを具備する、（１０）のソフトウェア製品。
【０１０８】
（１６）前記方法が、相互接続構造の構成部品の密度の確率を図形および色彩的に表示することを具備する、（１０）のソフトウェア製品。
【０１０９】
（１７）前記方法が、電力密度の確率を図形および色彩的に表示することを具備する、（１０）のソフトウェア製品。
【０１１０】
（１８）前記方法が、相互接続構造モデルの利用度を図形および色彩的に表示することを具備する、（１０）のソフトウェア製品。
【図面の簡単な説明】
【０１１１】
【図１】一実施形態に従ったＩＣの層をタイル化する方法を例示する機能ブロック図。
【図２】一実施形態に従ってタイル資源をグループ化する方法を例示する機能ブロック図。
【図３】一実施形態に従って確率的に相互接続構造を設計する方法を例示するフローチャート。
【図４】一実施形態に従って確率的に相互接続構造を設計する方法を例示するフローチャート。
【図５】一実施形態に従ったＩＣの金属層のタイル資源を例示する機能ブロック図。
【図１】
0004719265.tif 000012
【図２】
0004719265.tif 000013
【図３】
0004719265.tif 000014
【図４】
0004719265.tif 000015
【図５】
0004719265.tif 000016