JP2009140495A - 確率的相互接続構造設計のためのシステムおよび方法 - Google Patents

確率的相互接続構造設計のためのシステムおよび方法 Download PDF

Info

Publication number
JP2009140495A
JP2009140495A JP2008307735A JP2008307735A JP2009140495A JP 2009140495 A JP2009140495 A JP 2009140495A JP 2008307735 A JP2008307735 A JP 2008307735A JP 2008307735 A JP2008307735 A JP 2008307735A JP 2009140495 A JP2009140495 A JP 2009140495A
Authority
JP
Japan
Prior art keywords
interconnect structure
net
wiring
tiles
interconnect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008307735A
Other languages
English (en)
Other versions
JP4719265B2 (ja
Inventor
Migaku Uchino
琢 内野
Alvan Ng
アルバン・ヌグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
International Business Machines Corp
Original Assignee
Toshiba Corp
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, International Business Machines Corp filed Critical Toshiba Corp
Publication of JP2009140495A publication Critical patent/JP2009140495A/ja
Application granted granted Critical
Publication of JP4719265B2 publication Critical patent/JP4719265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】使用されている具体的な配線ツールに依存しない結果を提示する、相互接続構造の割り当てを設計するためのシステムおよび方法を提供する。
【解決手段】集積回路デザイン内のネットと接続のためのピンとを示すデータが保存される。複数の相互接続構造モデルを示すデータが保存される。保存されているデータに基づいて、各ネットについて、ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率が見積もられ、集積回路デザイン内の複数のタイルの各々について、タイルに相互接続構造モデルの各々がこのタイルを通過する対応する確率が割り当てられる。集積回路デザイン内の前記複数のタイルの各々に割り当てられた確率に基づいて、配線混雑度、セル混雑度、電力分布が確率的に計算される。
【選択図】 図4

Description

本発明は、概して集積回路のデザインに関し、特に、確率論のアプローチを用いて、様々な設計基準に適応する構成部品の相互接続方法の設計を援助するシステムおよび方法に関する。
デジタル・デバイス(例えば集積回路)がより複雑になり、また一層多くの電子部品を含むようになったことに連れて、これらの装置を設計するためのより良いツールが必要である。特に、設計ツールを、絶えず大きくなっているデザインの諸問題に対処するためにより効率的なものにする必要がある。
現在および将来のVLSI技術で最も大きな関心事の1つは、相互接続構造(interconnect)の遅延が、テクノロジの進歩によるトランジスタの遅延と同じ速度で減少しないことである。そのため、トランジスタの遅延に比べ、相互接続構造遅延はますます顕著になってきている。このことによって、集積回路設計の以前行なわれていた時点よりも前の段階で相互接続構造設計を検討することにつながった。相互接続構造設計は、配線層の割り当て、配線幅の割り当て、配線間隔の割り当て、各ネットについての(すなわち、ピン相互間の相互接続構造についての)リピータの割り当てを含んでいる。これらを割り当てる際、タイミング、領域混雑度、配線混雑度、電力消費量が考慮される。
既存の電子設計自動化(EDA)ツールの幾つかによってこの種の機能が提供され得る一方、このツールによる配線混雑度分析は、通常、概略配線に基づいており、そのため、少なくとも次の2つの問題が生じる。(a)長い実行時間;概略配線ツールには、通常、各ネットについて配線パターンを見つけるための多大な時間が必要である。(b)ツール依存性;ある特定の概略配線ツールによって作成されたある特定の配線パターンが、別の概略配線ツールによって再現されるとは限らない。すなわち、概略配線に基づいた相互接続構造設計は、一般に、用いられている概略配線ツールに依存しない結果をもたらさない。
この出願の発明に関連する先行技術文献情報としては次のものがある。
Keith K. C. et al.、"Fast Buffer Planning and Congestion in Interconnect-driven Floorplanning"、IEEE Asia South Pacific Design Automation Conference、2003年、p.411-416
したがって、少なくともデザイン内の各ネットについての配線の見積もりに必要な実行時間量を減じるとともに、使用されている具体的な配線ツールに依存しない結果を提示する、相互接続構造の割り当てを設計するためのシステムおよび方法を提供することが望ましい。
本発明の一態様による方法は、集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを具備する。
本発明の一態様によるソフトウェア製品は、集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを含む方法をコンピュータに実行させるように構成されたプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備する。
確率的相互接続構造設計を用いることによって、先行技術の1つ以上の問題を緩和または除去することができる。確率的相互接続構造設計法によって実行時間が短くなる。各ネットを確率的に分析し、ある具体的な配線パターンではなく可能な配線パターンの組合せを検討する。この方法がツールに依存しないからである。
概して、本発明は、様々な設計基準に対応する構成部品の相互接続方法の設計を援助するための確率的方法を取り入れているシステムおよび方法を含んでいる。
一実施形態は、集積回路デザインにおける相互接続構造モデルを確率的に設計するための方法を具備している。デザイン内の相互に接続されるピンの対(すなわち、ネット)を定義する。また、各ネットのピンを相互接続することが可能な相互接続構造モデルの集合を定義する。各ネットについて、ネットのピン同士を接続するのに各相互接続構造モデルを用いる確率を見積もる。次に、集積回路デザイン内のタイルに、各相互接続構造モデルがこのタイルを通過する可能性を示す確率を割り当てる。次に、集積回路デザイン内の各タイルに割り当てた確率に基づいて、確率的配線特性(例えば、配線混雑度、相互接続構造部品混雑度、電力密度、相互接続構造モデル利用度の確率)を示す図形および色彩的データを生成する。次に、この図形および色彩的データがユーザへと出力される(例えば、印刷または表示される)か、または後に使用するために保存される。
一実施形態では、本方法において、デザイン内のピンおよび回路部品の位置を含む、集積回路デザインのための配置図データを用いる。本方法をまずネットのピン相互間のタイミング制約が最も厳しいネットについて実行し、次に、タイミング制約の厳しさがより劣る(すなわちタイミング制約の厳しさが減少する順序で)ネットについて実行することが好ましい。一実施形態では、本方法によって、デザイン内のタイルの部分集合を含んでいる最初の境界内のタイルを検討する。この最初の境界内のタイルについて見積もった相互接続構造モデルが、いずれも検討中のネットに関するタイミング制約を満たさない場合、この境界を拡大するとともに、この拡大した境界内のタイルについて相互接続構造モデルを見積もる。
別の実施形態は、ソフトウェア製品を具備している。このソフトウェア製品は、コンピュータに上記の方法を実行させるプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備している。
さらなる多くの実施形態もまた可能である。
本発明の様々な実施形態によって、当業者にとって明らかなように、実行時間が減少することや、確率的配線ツールの特性に依存しない図形および色彩データが得られる等の、従来技術のシステムおよび方法に対する利点が得られる。
本発明のその他の目的および利点は、以下の詳細な説明を読み、添付の図面を参照することによって明らかとなる。
本発明は様々な形で変形したり別の形態としたりすることができるが、本発明の具体的な実施形態を図面および図面についての詳細な説明において例として示す。図面および詳細な説明によって、説明している具体的な実施形態に本発明を限定することが意図されていないことを理解されたい。そうではなく、本明細書で開示されている内容は、添付の請求項によって定義されるような本発明の範疇に属する変更を加えもの、等価なもの、代わりに用いられるものの全てを網羅することが意図されている。
本発明の実施形態を以下に説明する。以下に記載のこれら実施形態および他のあらゆる実施形態は、例示であって本発明を限定するのではなく説明するために示していることが意図されていることに留意されたい。
概して、本発明は、集積回路内の構成部品の相互接続方法の設計を援助するための確率的相互接続構造を設計するためのシステムおよび方法を含んでいる。
設計工程の重要な部分は、集積回路(IC)上に配置されている様々な構成部品の相互接続方法を決定することである。設計工程中に、一実施形態では、ICを構成する複数のネットの全てについて、繰り返し処理が行なわれて回路デザインを徐々に改善していく。まず、配置図(構成部品レイアウト/配置)およびタイミング制約を含む初期デザインを用意する。このデザインの各ネットについて、可能な/許容可能な相互接続方法モデルについての確率を算出する。これらの確率を検討して、どの相互接続方法モデルが用いられる可能性が最も高いかを決定する。ネットにこのようなモデルを適用した結果はデザインの図形および色彩的データに組み入れられ、また繰り返し処理を継続する。図形および色彩的データは、配線混雑度、相互接続構造部品混雑度、電力密度、相互接続構造モデル利用度のような特性の確率を示すことが可能である。別の実施形態では、算出された確率の一部または全てを組み合わせてデザインの図形および色彩的データに組み入れている。
一実施形態では、ICデザインを複数の領域(本明細書ではタイルと称される)へと分割する。幾つかの部分集合を用いて、あるネットについての相互接続方法を設計する。相互接続方法は、様々なモデルによって記述することが可能である。この実施形態における相互接続構造モデルは、配線層、リピータ・セルの型式、配線幅、配線間隔を組み合わせたものである。各ネットの相互接続方法を定義し(換言すれば、相互接続構造モデルをネットに割り当て)、資源を用い、資源をさらに制限する。これらの資源には、金属層上の配線が含まれる。したがって、例えば、あるタイル内で幾つかの配線を用いると、後に割り当てられる相互接続構造モデルが利用できる配線は少なくなる。
図1を参照すると、ICの一部を例示する図が示されている。図の上部には、ICの各層の分解組立図が示されている。図の下部には、ICの構成部品の位置および配線をより明確に示すために各層の上面図が示されている。実際は、各層が積層されており、また層を貫くビアが配線と構成部品とを接続していることに留意されたい。
この実施形態では、図1で用いられている実施形態に例示されているように、IC101は3つの層(110、120、130)を有している。層110は、ネットの構成部品102、103を含んでいる。金属層120、130は、それぞれ、相互接続を行なうために用いる「垂直」配線および「水平」配線用となっている。
配線を層に配置するに連れ、層の混雑度は上がる。ICがタイル123のような(9個の)タイルへと機能に従って分割されている場合を考える。垂直層上の配線および水平層上の配線の両方がタイル131を通過することに留意されたい。タイルの混雑度が上がると、混雑度がこれよりも低いタイルを配線が通過するようにすることができる。例えば、タイル131にスペースが無い(遮られている、ともいう)場合、相互接続構造を、タイル122のような別のタイルを通るように配線しなければならない。ある部品の組について、用いることができるタイルの選択肢は効率化のために制限されているものなのだが、制約を満たすために、この選択肢を変更したり増加したりしてもよい。これを適切に行えば、層を効率的に使用することが可能である。
図2に示されている別の例において、タイルの資源はグループ化されている。図1のレイアウトと同様に、ネットによって構成部品102および103が接続されている。金属層220、230上の配線は、それぞれ、相互接続を行なうために用いる「垂直」配線および「水平」配線を配線するのに用いることができる。しかしながら、図2の例において用いられている別の実施形態では、タイル資源をグループごとに検討する。例えば、「垂直」層および「水平」層220、230のタイルを、それぞれ行、列へとグループ化し、配線経路の利用可能度をグループごとに検討する。利用可能な経路は点線で示されている。図示の例では、利用可能な配線経路を有するタイルは、相互に隣接していないタイル211、222、233(隣接しているとは、辺を共有していることである)だけである。すなわち、このように分離されている例を検討する場合、不連続に配線することが示唆される。実際上、そのように資源制約を「緩和する」ことによって、より迅速に解決することが可能であって、一般的に、最終的なデザインは、配線ツールによって配線が良好に配置されたものになる。時に起こる配線についての問題に対して速度が増加するというトレードオフは、有益であると一般に考えられている。
実施形態によって、異なる入力データを用いることができる。入力データには、タイミング・データ、電力データ、(配置図、構成部品、層に関する)物理データが含まれる。実施形態によっては、相互接続構造モデルのライブラリの所定の組が含まれる。
様々な実施形態の出力だけでなく中間データに、領域混雑度、配線混雑度、電力密度、金属層の選択、層の数などを含めてもよい。
一実施形態のフローチャートを図3に例示する。初期化(310)に続いて、ネットを選択し(320)、各相互接続構造モデルに確率を割り当てることおよびこれに続くデザイン・データを更新することを含む処理を行う(330)。
まず、仮デザインおよび他の初期化データを用意する。これは、タイミング許容量の形態で表わされたタイミング制約情報を含んでいる。次に、繰り返し処理を行って、順次、各ネットを処理する。
ネットは、タイミング制約の厳しい順に処理する。各ネットについて、相互接続構造モデルの集合を選択する。この集合の中の相互接続構造モデルは、いずれも、実現することが可能なものである。相互接続構造モデルの集合は、これらが構成部品によって課される制約だけでなくタイミング許容量のようなあらゆる制約をも満たすように選択する。ある相互接続構造モデルは、この相互接続構造モデルによって、より少ない配線混雑度で実現されたりそのようなデザインになったりする結果が得られる場合、より実現されやすい。
この方法によって、具体的な配線は作成されない。相互接続構造モデルを1つ選択する代わりに、この方法によって、実施可能な相互接続構造モデルの各々に対して確率が割り当てられる。この確率は、この相互接続構造モデルを実現した場合の電力密度、領域混雑度、配線混雑度に基づいて算出する。この確率は、あるモデルがどれだけ理想的なものに近いかを示す指標を表している。
確率を算出すると、実施可能な相互接続構造モデルの各々がもたらす電力密度、領域混雑度、配線混雑度が、その確率に基づいて、電力密度、領域混雑度、配線混雑度データベースに加えられる。換言すれば、加えられた結果得られる電力密度、領域混雑度、配線混雑度データは、様々な配線層およびリピータを用いて実現可能な配線パターンを重ね合わせたもの、または組み合わせたものである。その意味では、この方法によれば、全ての実現可能な相互接続構造モデルが考慮される。
各相互接続構造モデルを電力密度、領域混雑度、配線混雑度データベースに割り当てるのも確率的に行なわれる。例えば、具体的な配線パターンを見つける代わりに、本方法によって、配線が配線混雑度のより少ない領域に配置されるように局部の配線混雑度に応じて配線が配線領域に配置される。全てのネットを処理すると、それによって得られる出力は設計工程における次のステップへと渡される。
本方法は、設計工程の初期における大きなデザインについて、電力密度、配線混雑度、リピータ混雑度だけでなくタイミング制約も考慮している配置図(部品配置)の実現可能性だけでなく、金属配線およびビアの積層構造の実現可能性を割り出すのにも有用である。
図4は、一実施形態に従った詳細なフローチャートを示している。以下に、入力(410)、処理/反復(420)、出力(430)について説明する。入力データには、固有のセル遅延および要求到着時刻等のようなタイミング・データ(431)、セル配置および阻害要素のような物理データ(433)、電力データ(434)、相互接続構造モデルのライブラリ(432)が含まれている。また、初期化には、タイル初期化(例えば、タイル化437)、遅延許容量割り当て(435)、ネット仕分け(436)を行なうことおよび/またはその結果が含まれている。タイル初期化437では、ユニットをタイルへと分割するだけでなく、それらに関連するデータを初期化する。遅延許容量割り当て435では、経路に基づいたタイミング制約をネットに基づいたタイミング制約へと変換する。ネット仕分け436では、タイミング制約の厳しさに基づいて、ネットを処理する順序を決定する。
ネットの全てについて繰り返し処理を行なうこと(420)には、相互接続構造モデルを選択すること(421)および確率を算出すること(423)が含まれている。相互接続構造モデルはタイミング制約を満たすものが選択され、また、確率はモデルごとに決定される。確率が0である場合、使用されるタイルの集合を拡大する(425)。次に、(相互接続構造モデルの)ゼロ以外の確率を、関連するタイルに割り当てる(426)。このデータの集まりを用いて、領域混雑度、配線混雑度、電力密度の図形および色彩的データを生成することができる(430)。
図4のフローチャートの要素を、次のパラグラフにおいて、より詳細に説明する。
入力データ
タイミング・データ(431):タイミング・データには、各ピンにおける信号の到着時刻および要求到着時刻のようなタイミング制約が含まれる。また、タイミング・データには、セルに固有の、入力ピンまたは内部ラッチ点から出力ピンまたは他の内部ラッチ点への遅延量が含まれる。ネットとピンとの間の接続についての情報を含んでいる接続情報をタイミング・データに含めることもできる。ネットを駆動するピンはソースと呼ばれ、また、ネットによって駆動されるピンはシンクと呼ばれる。1つのネットには、複数のソースおよびシンクがある。
これらのタイミング・データは、例えば、EinsTimerTMの包括タイミング・レポートから得ることができる。
物理データ(433):物理データには、セル配置、ピン位置、各配線層上の阻害要素が含まれる。阻害要素には、セルの内部形状や、クロック、電力バス、設計済み配線のような規定済みの配線が含まれる。
これらの物理データは、例えば、ChipBenchTMの内部データ構造から、そのユーザ・インターフェース機能を用いて得ることができる。
電力データ(434):電力データには、静的電力消費量、スイッチング毎の動的電力消費量、各ソース・ピンでのスイッチング頻度が含まれる。
電力データは、電力分析の結果から得ることができる。
相互接続構造ライブラリ(432):相互接続構造ライブラリは、相互接続構造モデルの集合である。相互接続構造モデルは、(M,W,S,C)の組合せである。ここで、M=(H、V)は、配線層の対(水平層H、垂直層H)であり、Wは配線幅であり、Sは配線間隔であり、また、Cはリピータ・セルの型式である。この実施形態では、相互接続構造モデルの水平層および垂直層の両方について電気特性および設計ルールが同様であると仮定している。ここで、単位長さについての抵抗および容量は、水平層および垂直層の各々における最小形状の配線について同じである。2つの相違する相互接続構造モデルにおいて、水平層と垂直層の対が異なり得ることに留意されたい。電気特性も、水平層と垂直層の対が異なれば、相違し得る。
下記の関数Fを、相互接続構造ライブラリに関連付ける。
F:(M,W,S,C,L)→(N,D)
ここで、Lは配線長であり、Nは挿入されるリピータの数であり、Dは配線遅延量およびリピータ遅延量の両方を含む相互接続構造遅延量である。Fは、Dを最小にするリピータの個数がNであるとして定義することができる。または、Fは、Nが多くの制約を満足させるリピータの最小の個数であるとして定義することができる。関数、すなわち参照表Fは、各相互接続構造モデルについて、例えば、各層における単位長さについての配線抵抗および容量のような技術パラメータを用いてSPICEシミュレーションを行なうことによって、また例えばリピータのSPICEモデルを行なうことによって得ることができる。
以下の記載において、「e」は多くの場合、相互接続構造モデル(M,W,S,C)を指すものとする。
プロセス
タイル初期化(437):タイル初期化プロセスによって、ユニットをタイルへと分割し、それらに関連するデータを初期化する。次のデータが各タイルTについて定められている:
・TX、TY:タイルTの幅および高さ
・A(T,0):タイルTにおける利用可能な配置面積
・A(T,i):層i(i=1、…、n)上のタイルTにおける利用可能な配線数(nは金属層の数)
・B(T):タイルTでの電力消費量
例えば、A(T,0)は、TX×TYであるタイルTの、タイルTの面積から既にこのタイルTに配置されているセルの面積を引いた面積である。同様に、A(T,i)は、「物理データ433」において記述されている阻害要素を引いた後のタイルT内の層i上の利用可能な配線である。B(T)は、配置済みのセルの電力消費量を含んでいる。より具体的には、各セルによってB(T)に加えられる電力消費量は、タイルT内のセル面積に比例する。「確率的相互接続構造モデルの割り当て426」において、各相互接続構造モデルが各タイルに割り当てられる度に、A(T,i)(i=0、…、n)およびB(T)が更新される。
遅延許容量割り当て(435):遅延許容量割り当て工程は、経路に基づいたタイミング制約をネットに基づいたタイミング制約へと変換することによって、ネットの各ソース・シンク対に、求められる相互接続構造遅延量を割り当てる。換言すれば、この工程によって、各ソース・シンク対についての求められる相互接続構造遅延量を調整することによって、各タイミング経路についてのタイミングのゆとりをネットに割り当てる。この求められる相互接続構造遅延量は、各タイミング経路についてのタイミングゆとりが負にならないように決定される。調整前のタイミングゆとりが正の場合、求められる相互接続構造遅延量を、現在の相互接続構造遅延量から緩和することが可能である。調整前のタイミングゆとりが負の場合、求められる相互接続構造遅延量を、現在の相互接続構造遅延量よりも厳しくすることが可能である。求められる相互接続構造遅延量は、以下、「遅延許容量」と称する。遅延許容量割り当てについてのアルゴリズムの詳細は、本明細書の開示内容からは省略されているが、「Delay Budget Allocation with Path Trimming」と称される米国特許出願番号11/733,091において開示されている。
ネット仕分け(436):ネット仕分け工程によって、処理されるネットの順序が、タイミング制約の厳しさに基づいて決定される。タイミング制約の厳しさは、「現在の相互接続構造遅延量」の最大値からネットの全ソース・シンク対に亘る「遅延許容量」を引いたものとして定義されている。ここで、「遅延許容量」は、先の工程「遅延許容量割り当て435」によって算出されたものである。一般的には、設計の中の配線を行なう段階において、タイミング制約の厳しいネットにはタイミング制約が緩いネットよりも先に配線される。この意味で、このような実施形態はタイミングに基づいて進められるものである。
図4中の破線による囲み420内の下記に示すプロセスでは、各ネットは、ネット仕分けプロセスによって定義されたタイミング制約の厳しさの順に処理される。
相互接続構造モデルの選択(421):相互接続構造モデル選択工程によって、ネットの全ソース・シンク対についてのタイミング制約を満たす相互接続構造モデルの集合を見つける。Gは、この相互接続構造モデルの集合を指すものとする。相互接続構造モデルe=(M,W,S,C)がGの要素であるための必要十分条件は、D(p,e)がネットの各ソース・シンク対pについての遅延許容量以下であることである。ここで、D(p,e)は、相互接続構造モデルeが用いられる場合のソース・シンク対pの相互接続構造遅延量である。D(p,e)は、「相互接続構造ライブラリ432」において(N、D(p,e))=F(M,W,S,C,L(p))として定義されている関数Fを用いて算出される。ここで、L(p)は、pのソースとシンクとの間のマンハッタン距離である。L(p)は、「物理データ433」を用いて算出することができる。このプロセスの目的はタイミングを保証することである。Gに属する相互接続構造モデルに焦点を合わせることによって、タイミング制約は自動的に満たされる。下記のプロセスでは、Gの要素だけが扱われる。
Gが空集合である場合(図4中の422の「NO」の分岐)、タイミング制約を満たす相互接続構造モデルは存在しない。しかしながら、1つの相互接続構造モデルが、電力密度、領域混雑度、配線混雑度データベースを更新する際に必ずネットに割り当てられていなければならない。このために、Gが空集合である場合、Gは、単位長さ当たりの相互接続構造遅延量が最小である最速の相互接続構造モデルである要素を1つ有する集合として再定義される。遅延許容量は満たされないが、この相互接続構造モデルは、最もましな解である。このようにGを修正した後、プログラムは、電力密度、領域混雑度、配線混雑度のようなタイル・データを更新するだけのために「確率的相互接続構造モデルの割り当て426」へと飛ぶ。また、ユーザに、タイミング制約が満たされなかったことが通知される。
確率の算出(423):確率算出工程によって、集合G内の各相互接続構造モデルに確率が割り当てられる。ここで、Gは、処理されているネットについての「相互接続構造モデルの選択421」によって定義された相互接続構造モデルの集合である。確率は、この相互接続構造モデルが、理想的な解法として配線ツールおよびユーザによって選択される可能性の程度に相当する。本方法では、特定の配線ツールを全く想定しないので、確率は配線ツールについての知識無しで決定される。この実施形態では、確率は、より高い確率を有する相互接続構造モデルによって、より低い確率を有するものよりも、領域混雑度が小さく、および(または)配線混雑度が小さく、および(または)電力消費量が少なくなるように定義されている。
P(e)が相互接続構造モデルeの確率を示すものとする。P(e)は以下のように定義される:
Figure 2009140495
ここで、w(e)は相互接続構造モデルの「重み」であり、wA(e)、wW(e)、wP(e)は、それぞれ、領域、配線、電力の重みを表している。wA(e)は、wA(e)が大きい相互接続構造モデルeほど、その領域混雑度が小さくなるものとして定義されている。同様に、wW(e)は、wW(e)が大きい相互接続構造モデルeほど、その配線混雑度が小さくなるものとして定義されている。また、wP(e)は、wP(e)が大きい相互接続構造モデルeほど、その電力消費量が少ないものとして定義されている。なお、wA(e)、wW(e)、wP(e)内にトレードオフの関係がある。例えば、幅の広い金属は抵抗値がより小さく、また間隔が広いと結合容量は小さくなるので、配線幅および配線間隔が大きな相互接続構造モデルほど、より小さな配線幅および間隔を有する相互接続構造モデルよりも必要なリピータの数が少ない。これは、大きな配線幅および間隔を有する相互接続構造モデルほど、必要なリピータ面積は小さい(wA(e)が大きい)一方、必要な配線の数は多い(wW(e)が大きい)ことを意味している。同様に、wP(e)は配線幅および間隔に依存する。配線が広いと、配線の充電および放電による電力は大きく、他方、リピータの数が少ないので、リピータによって消費される電力は小さい。一方、配線が狭いと、配線の充電および放電による電力は小さく、他方、この場合リピータの数が多いので、リピータによって消費される電力は大きい。これらのトレードオフ関係を仲裁するために、wA(e)、wW(e)、wP(e)を互いに掛け合わせてw(e)を定義する。
w(e)の上記の定義は重みw(e)を定義するただ1つの方法ではない。重みw(e)は、以下のように定義することが可能である。
Figure 2009140495
ここで、α、β、γは、ユーザによって調整されるパラメータである。ユーザが配線混雑度を減らすことに焦点を合わせたい場合、ユーザは、より大きなβ、およびより小さなα、γを選択する。
例えば、(α,β,γ)=(1,2,1)であるとする。3要素の集合(wA(e)、wW(e)、wP(e))が2つ(0.9,1,1)、(1,0.9,1)与えられると、対応する重みw(e)は、それぞれ0.9と0.81であるので、1つ目が選ばれることになる。
以下に、wA(e)、wW(e)、wP(e)の例を示す。
面積についての重み:wA(e)
Figure 2009140495
配線についての重み:wW(e)(図5を参照。図5は、IC501の境界囲み502、ソース・シンク対(503、504)、垂直金属層520、水平金属層530を例示している。)
Figure 2009140495
図5は、E(X,H)およびE(Y、V)を例示している。wW(e)は、配線混雑度が少ないほどwW(e)が大きくなるものとして定義されている。wW(e)が0未満の場合、利用可能な配線は存在しない。この場合、wW(e)=0に設定してw(e)=0とする。換言すれば、そのような相互接続構造モデルは用いることはできない。
電力についての重み:wP(e)
Figure 2009140495
ここで、Pwr(e)は、相互接続構造モデルeで実現されている場合のネットの電力消費量である。Pwr(e)は以下のように表される。
Figure 2009140495
ここで、全てのソース・シンク対pについての値が加算されており、N(p)は、(N(p),D)=F(M,W,S,C,L(p))によって得られるリピータの数であり、PC(e)は相互接続構造モデルeの1つのリピータによって消費される静的および動的な電力であり、PW(e)は相互接続構造モデルeの単位長さの配線の充電および放電による電力である。動的な電力はネットのスイッチング頻度に依存するので、上記の方程式中で明示的に書かれていないが、PC(e)およびPW(e)はネットのスイッチング頻度に依存する。wP(e)は、電力消費量が少ないほどwP(e)が大きくなるものとして定義されている。
配線領域の拡大(425):G内の全ての相互接続構造モデルeについてw(e)=0である場合、確率P(e)を決定することができない。これは、例えば、幾つかのソース・シンク対pについて領域U(p)内に利用できるリピータ領域または配線が無いことを意味している。そのような場合、U(p)をタイルの外側のもう1つの行および列を含めるように拡大してから利用可能な領域および配線を探索する。これに応じて、配線長さL(p)は、例えば、平均2×TX+2×TYだけ長くなる。付加された外側の行および列へと配線するのにさらなるTXおよびTYが必要であるとともにこの付加された外側のタイル内の角を曲がるのにさらなるTXおよびTYが必要であるからである。これは、こうして、迂回しながら配線することが可能になっていることを意味している。L(p)を変更するので、集合Gも更新しなければならない。新しいGおよびU(p)で、w(e)が再び算出される。全てのw(e)が依然0である場合、U(p)を再び拡大する。このことは、ゼロでないw(e)の値が見つかるか、U(p)がデザインの全体に達するまで継続する。このループは、通常、U(p)がデザインの全体に達する前に停止する。L(p)が大きくなるとGが空集合になるからである。換言すれば、タイミング制約を満たす相互接続構造モデルの数は、配線が長くなるに連れて減少する。Gが空集合の場合、Gを「相互接続構造モデルの選択421」において記述されているように、最速の相互接続構造モデルである要素を1つ有する集合とするとともに、フローは図4の「NO」の分岐を経由して「確率的相互接続構造モデルの割り当て426」へと飛ぶ。以上、要約すると、配線領域を拡大する場合、「ネット仕分け436」後のフローは、図4に示されているように、以下のようになる。
1.「相互接続構造モデルの選択421」において記述されているように集合Gを作製する。
2.Gが空集合の場合、Gを最速の相互接続構造モデルである要素を1つ有する集合として再定義するとともに「確率的相互接続構造モデルの割り当て426」へと飛ぶ(図4の中の「NO」分岐422)。
3.「確率の算出423」に記述されているようにw(e)を算出する。
4.G内の全ての相互接続構造モデルについてw(e)=0であるかどうかを検査する(図4内の424)。NOの場合、「確率的相互接続構造モデルの割り当て426」へ行く。YESの場合、次のステップに行く。
5.リピータ配置領域および配線がU(p)内で残っていないソース・シンク対pについてU(p)の上、下、左、右に、行および列を加えるとともに4つの隅部タイルを加えることによりU(p)を拡大する。また、配線長さL(p)を、2×TX+2×TYだけ長くする。これらの手続きは、図4内の「配線領域の拡大425」に相当する。この工程の後、「相互接続構造モデルの選択421」へと戻る。
確率的相互接続構造モデルの割り当て(426):確率的相互接続構造モデルの割り当て工程では、A(T,i)(i=0、…、n)およびB(T)を以下のように確率P(e)に基づいて更新することによって、G内の各相互接続構造モデルを各タイルTに割り当てる。
Figure 2009140495
DA(T,0)は、相互接続構造モデルeが用いられる場合の、p用のリピータが占めるタイルT内の面積である。同様に、DA(T,H)およびDA(T,V)は、それぞれ、p用の配線が占めるタイルT内の水平配線数および垂直配線数であり、また、DB(T)は、p用のリピータおよび配線が消費するタイルT内の電力である。これらの量の各相互接続構造モデルによって生じる分は、相互接続構造モデルの確率を乗じた上で、A(T,0)、A(T,H)、A(T,V)、B(T)に加えられるか、これらから減じられる。このことは、加算の結果得られた領域、配線、電力データが、確率P(e)によって重み付けされた相互接続構造モデルを重ね合せたものであることを意味している。このように、本方法では、1回で2つ以上の相互接続構造モデルを考慮することができ、全般的な電力密度、領域混雑度、配線混雑度データを生成することができる。
各ネットをタイミング制約の厳しさの順に処理していることに留意されたい。タイミング制約が厳しいネットが処理されている場合、特定の相互接続構造モデルを用いる自由度は高い。領域および配線の利用可能度が、この段階ではまだ高いからである。領域および配線が埋まるに連れ、この自由度は減少するが、相互接続構造モデルを選択する自由度は増大する。この段階で処理されているネットは、タイミング制約の厳しさが(比較的)より低く、より多様な相互接続構造モデルが可能であり、高い混雑度のタイル/層が回避されるからである。換言すれば、タイミング制約が厳しいネットに対しては相互接続構造モデルの選択肢は少ないのではあるが、プロセス全体の中の初期においては利用可能な領域および配線が多いゆえに配線することが可能である。一方、タイミング制約が緩いネットを処理する場合、タイミングおよび電力を最適化する利用可能な配線が層上に無いかもしれないが、これらのネットに対してはより多くの相互接続構造モデルの選択肢があるので別の層を用いて配線することが可能である。このように、タイミングおよび配線可能度の両方が保証される。このことは、配線が設計プロセスの、より後において実行される状況に適っている。
以下に、DA(T,0)、DA(T,H)、DA(T,V)、DB(T)の例を示す。
Figure 2009140495
リピータ面積N(p)×K(C)は、各タイルTに、T内の利用可能な配置面積A(T,0)に比例する確率で分配される。このことは、領域混雑度が小さいタイルにリピータを配置しやすいという前提から生じている。
DA(T,H)およびDA(T,V)(図5を参照されたい)
Figure 2009140495
ここで、HとVは、相互接続構造モデルeの水平配線層および垂直配線層であり、Col(U(p),T)はタイルTを含んでいるU(p)の列であり、Row(U(p),T)はタイルTを含んでいるU(p)の行である。列Col(U(p))を通過する水平配線数R(W,S,H)は、この列内の各タイルTに、T内の利用可能な水平配線数A(T,H)に比例する確率で、分配される。同様に、垂直配線数R(W,S,V)は、A(T,V)に比例する確率で行Row(U(p)内の各タイルに分配される。すなわち、各行または列を通過する配線は、配線混雑度が小さいタイル内に配線されやすい。図5は、DA(T,H)およびDA(T,V)を例示している。確率は、配線パターンとは無関係に各タイルに独立して割り当てられることに留意されたい。換言すれば、この実施形態では、連続するタイルの組によって表される配線パターンは考慮されない。ここで、「連続するタイルの組」は、それが網羅する領域が形状上、複数の接続された部分へと分割することができないタイルの組である。換言すれば、配線があるタイルに達したところで、この配線の次なる部分は隣接するタイルを通らなければならない。これを保証するために、配線パターンが認識される必要がある。このために概略配線ツールを用いることが可能かもしれないが、上記のように、実現可能な配線パターンを見つけるのに比較的長い実行時間がかかる。高レベルな見積もりおよび設計ツールとして、そのような精度は必要ではなく、また、実行時間を省くことがより重要である。したがって、この実施形態は、(上記のように)配線をタイルに割り当てるための単純な方法を採用している。しかしながら、別の実施形態では、タイルに割り当てられている確率相互の相関性を導入することによって配線パターンを考慮することが可能である。
DB(T)
Figure 2009140495
ここで、PC(e)は相互接続構造モデルeの1つのリピータによって消費される静的および動的な電力消費量であり、PW(e)は、相互接続構造モデルeの単位長さの配線の充電および放電による電力である。DB(T)がこのように表現されているということは、セル電力N(p)×PC(e)が領域利用可能度に従って分配されていること、および配線電力L(p)×PW(e)が配線利用可能度に従って分配されていることを示している。これは、DA(T,0)、DA(T,H)、DA(T,V)の定義に従っている。
出力データ(430):この実施形態の出力データには、ネットについての、領域混雑度の図形および色彩的データ、配線混雑度の図形および色彩的データ、電力密度の図形および色彩的データ、割り当てられた相互接続構造モデルが含まれている。これらの図形および色彩的データは、例えば、GUI上で色がつけられた図形データとして示すことができる。色は、A(T,i)(i=0、…、n)またはB(T)の値に基づいて各タイルTに割り当てることができる。各ネットについての相互接続構造モデルのリストおよびその確率を生成することもできる。タイミング制約を満たす相互接続構造モデルがない場合、そのことについての警告を生成するようにするべきである。各タイルを通過するネットのリストを生成することもできる。
出力データを用いて、配置図およびタイミングの実現可能性を見積もることができる。金属層の積層構造の実現可能性を見積もることも可能である。この方法によって割り当てられた相互接続構造モデルに基づいて、バッファ処理、タイミング分析、配線を実行することが可能である。このために、各ネットについて、相互接続構造モデルを1つ選択するだけでよい。例えば、確率P(e)が最大の相互接続構造モデルを選択することができる。別のアプローチは、確率P(e)に従って無作為に相互接続構造モデルを選択することである。この後者のアプローチによって、例えば集合Gが2つの相互接続構造モデルe1、e2を有するとともにP(e1)=0.4、P(e2)=0.6であるとする。次いで、0と1の間の乱数が生成される。乱数が0.4未満である場合、e1が選択され、そうでなければ、e2が選択される。
上の説明は、本発明の方法の実施形態に焦点を当てているが、別の実施形態はソフトウェア・プログラム製品を具備することに留意されたい。この製品は、上記のような方法をコンピュータに実行させるように構成されたプログラム命令をその中に含んだコンピュータ読み取り可能記憶媒体からなる。このコンピュータ読み取り可能記憶媒体には、あらゆる記憶媒体、例として、RAM、ROM、フラッシュ・メモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、CD−ROM、光学メディア等が含まれる。この記憶媒体に保存されている命令は、あらゆるタイプのデータ・プロセッサによって実行可能であって、パーソナル・コンピュータまたは汎用コンピュータで実行される命令に限定されない。
上の説明では、幾つかの具体的な例示的な実施形態を示しているが、これとは別の実施形態においては、説明した特徴および構成要素に変更を加えたものを用いることができる。例えば、別の実施形態では、相違する複数の配線特性を出力データに含めることができ、または解析結果を図形および色彩的データ以外の形態で出力させてもよい。例えば、出力は、未加工データ(例えば、位置の関数としての配線混雑度)として保存することができる。別の実施形態では、他の変形体、例として単純なピン対ピンの接続よりも複雑なネットを検討することが可能である。その他の多くの変形体も、本明細書に開示されている内容を読めば、当業者にとって明らかである。
様々な異なる技術および技法のあらゆるものを用いて情報および信号が表現され得ることが当業者によって理解される。例えば、上の説明を通じて言及されているデータ、命令、コマンド、情報、信号、ビット、シンボルは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、またはこれらのあらゆる形で組合せたものによって表現され得る。この情報および信号は、ワイヤ、金属配線、ビア、光ファイバ等を含むあらゆる適切な転送媒体を用いて、明細書に開示されているシステムの構成要素の間で通信される。
さらに、本明細書に開示の実施形態との関連で説明された様々な論理ブロック、モジュール、回路、アルゴリズム・ステップが、電子ハードウェア、コンピュータ・ソフトウェア、またはこれらを組合せたものとして実現され得ることが当業者によって理解される。このようにハードウェアおよびソフトウェアが可換であることを明確に示すために、構成要素、ブロック、モジュール、回路、およびステップは、これらの機能として本明細書では説明されている。このような機能がハードウェアまたはソフトウェアのいずれとして実現されるかは、具体的な適用例およびシステム全体に課される設計制約に依存する。説明されている機能を各具体的な適用例について様々な形で実現することが可能であるが、どのように実現するかを決定することによって本発明の範疇から逸脱するものと解釈されるべきでない。
本明細書に開示の実施形態との関連で説明された様々な論理ブロック、モジュール、回路は、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)またはその他の論理デバイス、ディスクリー・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア部品、または本明細書において説明されている機能を実行するように設計されたこれらをあらゆる形で組合せたものとともに実現および実行することが可能である。
本明細書に開示の実施形態との関連で説明した方法およびアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサまたは他のコントローラによって実行されるソフトウェア(プログラム命令)において、またはこれら2つを組合せて具現化することができる。ソフトウェアは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、CD−ROM、本分野で知られている他のあらゆる適切な記憶媒体に保存しておくことができる。本方法の1つを具現化するプログラム命令をその中に含んでいるこのような記憶媒体は、それ自体が本発明の実施形態である。例示的な記憶媒体を、プロセッサがこの記憶媒体から情報を読み出し、またこの記憶媒体に情報を書き込むことができるようにプロセッサに接続する。または、記憶媒体をプロセッサに組み込んでもよい。プロセッサおよび記憶媒体は、例えばIC内にあってもよい。
本発明によってもたらされる利益および利点は、具体的な実施形態に関して上に記載した。これらの利益および利点、およびこれらの利益および利点を生み出す要素および限定事項は、いずれも、請求項の一部または全ての限定的な、必要な、必須の特徴と解釈されるべきではない。本明細書で用いられているように、「具備する」という文言またはそれが変化した文言は、これらの文言に先行する要素および限定事項を他のものを排除すること無しに含むものとして解釈されることが意図されている。よって、要素の組を具備するシステム、方法または他の実施形態には、これらの要素のみに限定されるのではなく、明白に列挙されていないまたは請求項に記載の実施形態に本来備わっている他の要素が含まれている。
開示された実施形態のここまでの説明は、当業者が本発明を実行したり使用したりできるようにするために提供されている。これらの実施形態に対して様々な形で変更を行なうことは、当業者にとって容易に明らかとなり、本明細書で定義されている包括的な原理は、本発明の思想および範疇から逸脱することなく他の実施形態に適用してもよい。よって、本発明は、本明細書に示す実施形態に限定されることが意図されるのではなく、本明細書に開示されまた請求項内で列挙される原理および新規な特徴に従った最も広い範疇に一致するべきである。
また、この発明は以下の実施態様を取り得る。
(1)集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを具備する方法。
(2)前記ピンについての位置および前記集積回路デザイン内の1つ以上の構成部品についての位置を含む、前記集積回路デザインについての配置図を示すデータを保存することをさらに具備する、(1)の方法。
(3)前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、(1)の方法。
(4)各ネットについて前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もることが、前記ネットの前記ピンの少なくとも1つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、(1)の方法。
(5)各ネットについて、初期境界内のタイルの組について前記相互接続構造モデルが見積もられ、どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルが見積もられる、(1)の方法。
(6)前記方法が、配線密度の確率を図形および色彩的に表示することを具備する、(1)の方法。
(7)前記方法が、相互接続構造の構成部品の密度の確率を図形および色彩的に表示することを具備する、(1)の方法。
(8)前記方法が、電力密度の確率を図形および色彩的に表示することを具備する、(1)の方法。
(9)前記方法が、相互接続構造モデルの利用度を図形および色彩的に表示することを具備する、(1)の方法。
(10)集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、複数の相互接続構造モデルを示すデータを保存し、前記保存されているデータに基づいて、各ネットについて、前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、ことを含む方法をコンピュータに実行させるように構成されたプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備するソフトウェア製品。
(11)前記方法が、前記ピンについての位置および前記集積回路デザイン内の1つ以上の構成部品についての位置を含む、前記集積回路デザインについての配置図を示すデータを保存することをさらに具備する、(1)のソフトウェア製品。
(12)前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、(10)のソフトウェア製品。
(13)各ネットについて前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もることが、前記ネットの前記ピンの少なくとも1つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、(10)のソフトウェア製品。
(14)各ネットについて、初期境界内のタイルの組について前記相互接続構造モデルが見積もられ、どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルが見積もられる、(10)のソフトウェア製品。
(15)前記方法が、配線密度の確率を図形および色彩的に表示することを具備する、(10)のソフトウェア製品。
(16)前記方法が、相互接続構造の構成部品の密度の確率を図形および色彩的に表示することを具備する、(10)のソフトウェア製品。
(17)前記方法が、電力密度の確率を図形および色彩的に表示することを具備する、(10)のソフトウェア製品。
(18)前記方法が、相互接続構造モデルの利用度を図形および色彩的に表示することを具備する、(10)のソフトウェア製品。
一実施形態に従ったICの層をタイル化する方法を例示する機能ブロック図。 一実施形態に従ってタイル資源をグループ化する方法を例示する機能ブロック図。 一実施形態に従って確率的に相互接続構造を設計する方法を例示するフローチャート。 一実施形態に従って確率的に相互接続構造を設計する方法を例示するフローチャート。 一実施形態に従ったICの金属層のタイル資源を例示する機能ブロック図。

Claims (5)

  1. 集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、
    複数の相互接続構造モデルを示すデータを保存し、
    前記保存されているデータに基づいて、各ネットについて、
    前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、
    前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、
    前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、
    ことを具備する方法。
  2. 前記方法が、タイミング制約の厳しい順序で複数のネットについて実行される、請求項1の方法。
  3. 各ネットについて前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もることが、前記ネットの前記ピンの少なくとも1つの対に関連するタイミング制約に違反する相互接続構造モデルを除去することを具備する、請求項1の方法。
  4. 各ネットについて、
    初期境界内のタイルの組について前記相互接続構造モデルが見積もられ、
    どの相互接続構造モデルも前記境界内で配線可能制約を満たさない場合、拡大された境界内のタイルの組について前記相互接続構造モデルが見積もられる、
    請求項1の方法。
  5. 集積回路デザイン内のネットと接続のためのピンとを示すデータを保存し、
    複数の相互接続構造モデルを示すデータを保存し、
    前記保存されているデータに基づいて、各ネットについて、
    前記ネットの前記ピン同士を接続するのに各相互接続構造モデルが用いられる確率を見積もり、
    前記集積回路デザイン内の複数のタイルの各々について、前記タイルに、前記相互接続構造モデルの各々がこのタイルを通過する対応する確率を割り当て、
    前記集積回路デザイン内の前記複数のタイルの各々に割り当てられた前記確率に基づいて、配線混雑度、セル混雑度、電力分布を確率的に計算する、
    ことを含む方法をコンピュータに実行させるように構成されたプログラム命令を含んでいるコンピュータ読み取り可能媒体を具備するソフトウェア製品。
JP2008307735A 2007-12-03 2008-12-02 確率的相互接続構造設計のためのシステムおよび方法 Active JP4719265B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/949,583 2007-12-03
US11/949,583 US8370783B2 (en) 2007-12-03 2007-12-03 Systems and methods for probabilistic interconnect planning

Publications (2)

Publication Number Publication Date
JP2009140495A true JP2009140495A (ja) 2009-06-25
JP4719265B2 JP4719265B2 (ja) 2011-07-06

Family

ID=40677076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008307735A Active JP4719265B2 (ja) 2007-12-03 2008-12-02 確率的相互接続構造設計のためのシステムおよび方法

Country Status (2)

Country Link
US (1) US8370783B2 (ja)
JP (1) JP4719265B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012164363A (ja) * 2012-05-25 2012-08-30 Fujitsu Ltd 半導体回路設計支援プログラム

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533419A (zh) * 2008-03-11 2009-09-16 英业达股份有限公司 布线路径的显示方法及其电脑可读取的记录媒体
US7992120B1 (en) * 2008-11-26 2011-08-02 Lattice Semiconductor Corporation Congestion estimation for programmable logic devices
US8225260B2 (en) 2009-01-30 2012-07-17 Active-Semi, Inc. Programmable analog tile placement tool
US8219956B2 (en) * 2009-01-30 2012-07-10 Active-Semi, Inc. Analog tile selection, placement, configuration and programming tool
US9003340B2 (en) * 2009-01-30 2015-04-07 Active-Semi, Inc. Communicating configuration information across a programmable analog tile to another tile
US8079007B2 (en) * 2009-01-30 2011-12-13 Active-Semi, Inc. Programmable analog tile programming tool
US8341582B2 (en) * 2009-01-30 2012-12-25 Active-Semi, Inc. Programmable analog tile configuration tool
JP2011204000A (ja) * 2010-03-25 2011-10-13 Toshiba Corp 基板の配線設計方法及びプログラム
US8560998B1 (en) 2010-12-29 2013-10-15 Cadence Design Systems, Inc. Method, system, and program product to implement C-routing for double pattern lithography
US8671368B1 (en) 2010-12-29 2014-03-11 Cadence Design Systems, Inc. Method, system, and program product to implement detail routing for double pattern lithography
US8375348B1 (en) * 2010-12-29 2013-02-12 Cadence Design Systems, Inc. Method, system, and program product to implement colored tiles for detail routing for double pattern lithography
US8443324B2 (en) * 2011-03-14 2013-05-14 International Business Machines Corporation Routing and timing using layer ranges
US8584070B2 (en) 2011-10-04 2013-11-12 International Business Machines Corporation Evaluating routing congestion based on average global edge congestion histograms
US9251299B1 (en) 2013-06-28 2016-02-02 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs
US9117052B1 (en) 2012-04-12 2015-08-25 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns
US8984465B1 (en) 2013-06-28 2015-03-17 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design
US9003349B1 (en) 2013-06-28 2015-04-07 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks
US9183343B1 (en) 2012-08-31 2015-11-10 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US9104830B1 (en) 2013-06-28 2015-08-11 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design
US9213793B1 (en) 2012-08-31 2015-12-15 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks
US9817941B2 (en) 2012-12-04 2017-11-14 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US8612913B1 (en) * 2012-12-21 2013-12-17 Synopsys, Inc. Automated approach to planning critical signals and busses
US8769468B1 (en) 2013-01-09 2014-07-01 International Business Machines Corporation Automatic generation of wire tag lists for a metal stack
KR101996825B1 (ko) 2013-01-18 2019-10-01 삼성전자 주식회사 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템
US8782582B1 (en) 2013-03-13 2014-07-15 Atrenta, Inc. Efficient method to analyze RTL structures that cause physical implementation issues based on rule checking and overlap analysis
US8745567B1 (en) 2013-03-14 2014-06-03 Atrenta, Inc. Efficient apparatus and method for analysis of RTL structures that cause physical congestion
US9165103B1 (en) 2013-06-28 2015-10-20 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for tessellating and labeling routing space for routing electronic designs
US9384316B2 (en) 2014-07-09 2016-07-05 International Business Machines Corporation Path-based congestion reduction in integrated circuit routing
US9846759B2 (en) * 2015-07-30 2017-12-19 Taiwan Semiconductor Manufacturing Company, Ltd. Global connection routing method and system for performing the same
US9558313B1 (en) * 2015-09-08 2017-01-31 King Fahd University Of Petroleum And Minerals Method and system for providing a game theory based global routing
US20180048317A1 (en) * 2016-03-05 2018-02-15 Chengdu Haicun Ip Technology Llc Configurable Computing-Array Package
US20190115921A1 (en) * 2016-03-05 2019-04-18 HangZhou HaiCun Information Technology Co., Ltd. Configurable Computing-Array Package
US11348000B1 (en) 2016-09-28 2022-05-31 Cadence Design Systems, Inc. System, method, and computer-program product for routing in an electronic design using deep learning
US11386322B1 (en) * 2016-09-28 2022-07-12 Cadence Design Systems, Inc. System, method, and computer-program product for routing in an electronic design using deep learning
US10360341B2 (en) * 2017-08-31 2019-07-23 Synopsys, Inc. Integrated metal layer aware optimization of integrated circuit designs
US10599882B1 (en) 2018-02-02 2020-03-24 Synopsys, Inc. Using a layer performance metric (LPM) to perform placement, routing, and/or optimization of an integrated circuit (IC) design
US11151298B1 (en) * 2019-11-21 2021-10-19 Xilinx, Inc. Metal track routing with buffer bank insertion
WO2021105716A1 (en) * 2019-11-27 2021-06-03 Instadeep Ltd Electrical circuit design
US11233515B2 (en) * 2020-05-29 2022-01-25 Microsoft Technology Licensing, Llc Scheduling of tasks for execution in parallel based on geometric reach
US11694015B2 (en) 2021-06-23 2023-07-04 Nxp B.V. Signal routing between memory and memory controller

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091673A (ja) * 1996-09-19 1998-04-10 Toshiba Corp 配線混雑見積方法及びそれを利用した半導体集積回路設計システム
JPH11126825A (ja) * 1997-10-23 1999-05-11 Fujitsu Ltd 配線密度予測方法および配線密度予測プログラムを格納した記憶媒体並びにセル配置装置
US7013445B1 (en) * 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7076406B1 (en) * 2001-05-04 2006-07-11 Lsi Logic Corporation Minimal bends connection models for wire density calculation
US20060156266A1 (en) * 2005-01-11 2006-07-13 Alpert Charles J Probabilistic congestion prediction with partial blockages

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385760B2 (en) * 1998-06-12 2002-05-07 Monterey Design Systems, Inc. System and method for concurrent placement of gates and associated wiring
US6944552B2 (en) * 2003-06-25 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for detecting power deficiencies in a computer component

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091673A (ja) * 1996-09-19 1998-04-10 Toshiba Corp 配線混雑見積方法及びそれを利用した半導体集積回路設計システム
JPH11126825A (ja) * 1997-10-23 1999-05-11 Fujitsu Ltd 配線密度予測方法および配線密度予測プログラムを格納した記憶媒体並びにセル配置装置
US7076406B1 (en) * 2001-05-04 2006-07-11 Lsi Logic Corporation Minimal bends connection models for wire density calculation
US7013445B1 (en) * 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US20060156266A1 (en) * 2005-01-11 2006-07-13 Alpert Charles J Probabilistic congestion prediction with partial blockages

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012164363A (ja) * 2012-05-25 2012-08-30 Fujitsu Ltd 半導体回路設計支援プログラム

Also Published As

Publication number Publication date
US8370783B2 (en) 2013-02-05
US20090144688A1 (en) 2009-06-04
JP4719265B2 (ja) 2011-07-06

Similar Documents

Publication Publication Date Title
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
US10268797B2 (en) Architectural physical synthesis
US8966415B2 (en) Architectural physical synthesis
US7921392B2 (en) Node spreading via artificial density enhancement to reduce routing congestion
US10318686B2 (en) Methods for reducing delay on integrated circuits by identifying candidate placement locations in a leveled graph
US9003344B2 (en) Generating pattern-based estimated RC data with analysis of route information
EP2278506A1 (en) Method and apparatus for automated circuit design
US9589090B1 (en) Method and apparatus for performing multiple stage physical synthesis
US8239797B1 (en) Congestion aware block placement
US8365120B2 (en) Resolving global coupling timing and slew violations for buffer-dominated designs
US6990651B2 (en) Advanced design format library for integrated circuit design synthesis and floorplanning tools
US9842187B1 (en) Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design
Lin et al. qGDR: A via-minimization-oriented routing tool for large-scale superconductive single-flux-quantum circuits
US10860761B1 (en) Systems and methods for enhanced clock tree power estimation at register transfer level
US8082532B1 (en) Placing complex function blocks on a programmable integrated circuit
Zhong et al. Application-specific network-on-chip synthesis: Cluster generation and network component insertion
US9292648B1 (en) Activity-driven capacitance reduction to reduce dynamic power consumption in an integrated circuit
US8032855B1 (en) Method and apparatus for performing incremental placement on a structured application specific integrated circuit
US10325050B2 (en) User-defined partitions for logical and physical circuit syntheses
US7853914B1 (en) Fanout-optimization during physical synthesis for placed circuit designs
US7392499B1 (en) Placement of input/output blocks of an electronic design in an integrated circuit
Sham et al. Congestion prediction in early stages of physical design
Jahanian et al. Performance and timing yield enhancement using Highway-on-Chip Planning
JP2014089499A (ja) 半導体集積回路のレイアウト設計方法、レイアウト設計プログラム及びレイアウト設計装置
Alpert et al. Placement-Driven Synthesis Design Closure Tool

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110401

R150 Certificate of patent or registration of utility model

Ref document number: 4719265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350