JP2009282976A - 相互接続回路内のデータ経路のルーティングを求める方法、システム、およびコンピュータプログラム製品 - Google Patents
相互接続回路内のデータ経路のルーティングを求める方法、システム、およびコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP2009282976A JP2009282976A JP2009120244A JP2009120244A JP2009282976A JP 2009282976 A JP2009282976 A JP 2009282976A JP 2009120244 A JP2009120244 A JP 2009120244A JP 2009120244 A JP2009120244 A JP 2009120244A JP 2009282976 A JP2009282976 A JP 2009282976A
- Authority
- JP
- Japan
- Prior art keywords
- tiles
- tile
- tree
- interconnect
- devices
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
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
【解決手段】集積回路についての相互接続回路内のデータ経路のルーティングを求めるシステム、方法、およびコンピュータプログラム製品が提供される。第1辺上の相互接続回路が、第1デバイスに対する接続のためのナローインターフェースを提供し、第2辺上の相互接続回路が、分散した複数の別のデバイスに対する接続のためのワイドインターフェースを提供する。各データ経路が、別のデバイスのうちの1つに関連付けられ、その関連付けられる別のデバイスと第1デバイスとの間の相互接続回路を通じて接続を実現する。
【選択図】図1
Description
(i)ワイドインターフェースに沿って設けるべき複数のセルを定義するステップであって、別のデバイスのそれぞれが、前記セルのうちの少なくとも1つに関連付けられるステップと、(ii)行および列として形成されたブロックのアレイとして相互接続回路を定義するステップであって、各セルが前記列のうちの1つに当接するステップと、(iii)所定の1組のタイルを設けるステップであって、各タイルが所定の配線レイアウトを提供するステップと、(iv)各ブロックについて、所定の規則を適用して、そのブロックを実装するのに使用すべき前記タイルのうちの1つを決定するステップであって、所定の規則が、アレイ内のブロックの位置、ならびに複数の別のデバイスと複数のセルの間の関連付けを考慮に入れて、相互接続回路によって設けられる各データ経路が同一の伝播遅延を有することを保証するステップとを含む方法を提供する。
・ルート50-これは、デバイス20をツリー構造40に接続する。ルートはタイル10および11を使用して構築される。
・ツリー構造40-これは、ルート50を個々のIOセル260に接続する。ツリー構造40は、タイル0L、0R、1L、1R、2L、2R、3L、3R、4L、4R、5L、5R、6L、6R、7L、7R、8L、および8Rを使用して構築される。これが相互接続回路の本体を構成する。
N-その値が相互接続回路を介して部分接続されるIOセルの数を表す、所与の構成に対する定数。
CCL-コーナセルがその後ろで具体化されるIOセル列の位置をその値が表す、所与の構成に対する定数。
c-タイルを具体化するために選択された列位置を含む変数。
r-タイルを具体化するために選択された行位置を含む変数。
1.すべてのタイル、IOセル、およびデバイス20が、当接によって互いに接続される。
2.素子を当接するとき、相互接続バス(データ経路)に関するビット位置を維持しなければならない。
3.伝播遅延が整合されることを保証するために、左ツリー区間および右ツリー区間に対する平衡ツリーを構築するときの列数が同一でなければならない。
4.列c=0に関連するIOセルを、相互接続を通じてデバイス20に対する接続を必要とするデバイスに関連付けなければならない。
5.コーナが、列番号が与えられないが、(c,r)グリッド位置を有するタイルの後に配置される0Lおよび0Rタイルと共に構築される。
N-IO数。このパラメータは、IOリング260の一部となるIOセルの合計数を列挙する。
I-接続されるIO数。このパラメータは、相互接続を通じてデバイス20への接続を必要とするIOセル数を指定する。
P-ポート幅。このパラメータは、IOセルが相互接続を通じてデバイス20に伝播する必要がある最大接続数または最大ビット数を指定する。
Z-最大必要水平金属長。このパラメータは、以下のうちの最長のものを指定する。
1.任意のタイルのイーストポートをウェストポートに接続するのに必要な最長のワイヤ。
2.任意の0Rまたは0Lタイルのイーストポートをウェストポートに接続するのに必要な最長のワイヤの2倍。
V-最大必要垂直金属長。このパラメータは、任意のタイルのノースポートをサウスポートに接続するための最長のワイヤを指定する。
H-タイル高さ。このパラメータは、任意のタイルのイースト側またはウェスト側の幅Pビットの2つのポートを支持するのに必要な最小の高さを指定する。
・タイルは高さHを有する。
・タイル幅は、その行位置に応じて変動する。
・すべてのポート(2、3、4、および5)は、それぞれP個の接続(ビット)を有する。
・相互接続配線6および7は、長さMを有する。ただし
M=0.5*Z
・タイルは高さHを有する。
・タイル幅は、その行位置およびコーナ素子のサイズに応じて変動する。
・すべてのポート(2、3、4、および5)は、それぞれP個の接続(ビット)を有する。
・相互接続配線6および7は、長さMを有する。ただし
M=0.5*Z
・タイルは高さHを有する。
・デバイス20への接続を有さないIOセルを含む相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2、3、4、5、6、および7)は、それぞれP個の接続(ビット)を有する。
・相互接続配線8および9は、長さMを有する。ただし
M=Z
・相互接続配線10は長さVを有する。
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2、3、4、5、6、および7)は、それぞれP個の接続(ビット)を有する。
・相互接続配線8および9は、長さMを有する。ただし
M=Z
・相互接続配線10は長さVを有する。
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2、3、4、および5)は、それぞれP個の接続(ビット)を有する。
・相互接続配線6は長さMを有する。ただし
M=0.5*Z+0.5*V
・相互接続配線7は長さMを有する。ただし
M=Z
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2、3、4、および5)は、それぞれP個の接続(ビット)を有する。
・相互接続配線6は長さMを有する。ただし
M=0.5*Z+0.5*V
・相互接続配線7は長さMを有する。ただし
M=Z
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし
M=2*Z+0.5*V
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし
M=2*Z+0.5*V
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし
M=Z+0.5*V
・タイルは高さHを有する
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし、
M=Z+0.5*V
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし
M=1.5Z+0.5*V
・タイルは高さHを有する。
・相互接続回路内で使用される各IOセル幅について、1つのタイルが構築される。
・すべてのポート(2および3)は、それぞれP個の接続(ビット)を有する。
・相互接続配線4は長さMを有する。ただし
M=1.5Z+0.5*V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である。
・ポート2および3は、S個の接続を有する。ただし
S≧(I-1)*P
・ポート4および5は、S個の接続を有する。ただし
S=P
・相互接続配線6は長さMを有する。ただし
M=V
・相互接続配線7は長さMを有する。ただし
M=Z+0.5*V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である。
・ポート2および3は、S個の接続を有する。ただし
S≧(I-1)*P
・ポート4および5は、S個の接続を有する。ただし
S=P
・相互接続配線6は長さMを有する。ただし
M=V
・相互接続配線7は長さMを有する。ただし
M=Z+0.5*V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である。
・ポート2および3は、S個の接続を有する。ただし
S≧I*P
・相互接続配線4は長さMを有する。ただし
M=V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である
・ポート2および3は、S個の接続を有する。ただし
S≧I*P
・相互接続配線4は長さMを有する。ただし
M=V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である。
・ポート2および3は、S個の接続を有する。ただし
S≧(I-1)*P
・ポート4および5は、S個の接続を有する。ただし
S=P
・相互接続配線6は長さMを有する。ただし
M=V
・相互接続配線7は長さMを有する。ただし
M=2*Z+0.5*V
・タイルは高さHを有する。
・タイル幅は、ツリートランク上のIOセル幅と同一である。
・ポート2および3は、S個の接続を有する。ただし
S≧(I-1)*P
・ポート4および5は、S個の接続を有する。ただし
S=P
・相互接続配線6は長さMを有する。ただし
M=V
・相互接続配線7は長さMを有する。ただし
M=2*Z+0.5*V
・タイルは高さTを有する。ただし
Xがツリートランク上のIOセル幅である場合、
T=2*X
・タイルは幅Uを有する。ただし
Xがツリートランク上のIOセル幅である場合、
U=X
・ポート2、3、4、および5は、S個の接続を有する。ただし
S≧(I-1)*P
・相互接続配線6および7は、長さMを有する。ただしMは任意の値でよく、好ましくはタイルに対して可能な最小の長さである。
・タイルは高さTを有する。ただし
Xがツリートランク上のIOセル幅である場合、
T=2*X
・タイルは幅Uを有する。ただし
Xがツリートランク上のIOセル幅である場合、
U=X
・ポート2、3、4、および5は、S個の接続を有する。ただし
S≧(I-1)*P
・相互接続配線6および7は、長さMを有する。ただしMは任意の値でよく、好ましくはタイルに対して可能な最小の長さである。
・タイルは高さTを有する。ただし
Xがツリートランク上のIOセル幅である場合、
T=2*X
・タイルは幅Uを有する。ただし
Xがツリートランク上のIOセル幅である場合、
U=2*X
・ポート2、3、4、および5は、S個の接続を有する。ただし
S≧(I-1)*P
・相互接続配線6および7は、長さMを有する。ただしMは任意の値でよく、好ましくはタイルに対して可能な最小の長さである。
・タイルは高さTを有する。ただし
Xがツリートランク上のIOセル幅である場合、
T=2*X
・タイル幅は任意の長さである。幅が短くなるほど、相互接続ルートは、ASIC内にデバイス20をより正確に配置することができる。タイル10の幅を短くすることには、デバイス20を相互接続ツリーから離して配置しなければならないときに、タイル10の多くを使用しなければならないという犠牲が伴う。配置精度をタイル具体化数の削減と組み合わせるために、複数の幅のタイル10を構築することができる。
・ポート2、3、4、および5は、S個の接続を有する。ただし
S≧(I-1)*P
・相互接続配線6および7は、長さMを有する。ただしMは任意の値でよく、好ましくはタイルに対して可能な最小の長さである。
1.本発明の実施形態の技術を使用して設計された相互接続回路は、2つの物理ブロックのインターフェース間のサイズ差が非常に大きい場合にその2つの物理ブロックを接続することを可能にする。
2.本発明の実施形態の技術を使用して設計された相互接続回路は、差分信号を効果的に処理することができ、具体的には、本発明の実施形態の対称的ワイヤ長および非励振整合(物理的効果整合)の特性により、差分信号を処理することに特に適している。
3.この技術は、厳密に整合した伝播遅延を実現し、カップリング、漏話、ローディング、雑音遮蔽などの他の物理的側面も整合させることができる。
4.この技術は、様々な幅を有するIOデバイスの混合を扱うことができる。
5.この技術は、コアインターフェースピンおよび信号位置を修正することなく、相互接続を通じて接続されるIOデバイスと、相互接続を通じて接続されないIOデバイス/構成要素との様々な混合を効果的に扱うことができる。
6.前述のルートチャネルの使用により、IOデバイスの配置に関して、どんな場所にもコアインターフェースを配置することができる。
7.この技術は、左コアインターフェース配置、右コアインターフェース配置、および中心コアインターフェース配置に対して、別々の最適化されたトポロジを提供することができる。
8.この技術は、所定の配線レイアウトを有する所定のタイルを使用する構造化ルーティング方法を提供する。
9.少数の所定のレイアウト素子(タイル)のみを用いて多種多様な相互接続を構築することが可能である。
10.本発明の実施形態の技術を使用して構築された相互接続は、厳密な幾何学情報に基づく、事前に特徴付けられたタイミングを有する。
11.この技術はアルゴリズムベースのものであり、フィードフォワード手法に基づいて、様々なバス幅に対して即座にコンパイルすることができる。大部分の周知のASICツールとは異なり、プロセスの反復は不要である。
12.本発明の実施形態の技術を使用して設計された相互接続は通常、従来技術のツールを使用して設計されたものと比較して電力消費が削減される。本技術は、遅延のタイミングおよび整合を改善するためにバッファおよび他の構成要素を様々な経路中に挿入する必要を回避するからである。
30 デバイス
32 IOデバイス
34 電源構成要素「VDD」
35 電源構成要素「VDDA」
36 電源構成要素「VSS」
37 電源構成要素「VSSA」
38 電源構成要素コーナ素子
40 相互接続回路
42 VDDセル
44 VSSセル
50 ルートチャネル
60 集積回路
150 ワイドインターフェース
160 ナローインターフェース
165 トランク
170 ブランチ
175 ブランチ
180 ブランチ
185 ブランチ
190 ブランチ
200 セル
205 セル
210 セル
215 セル
220 セル
225 セル
250 コーナ素子
260 IOセル
270 左分岐ツリー
280 コーナ
290 右ツリー区間
700 汎用コンピュータ
702 中央演算処理装置
704 ランダムアクセスメモリ
706 読取り専用メモリ
708 ネットワークインターフェースカード
710 ハードディスクドライブ
712 ディスプレイドライバ
714 モニタ
716 ユーザ入力/出力回路
718 キーボード
720 マウス
722 共通バス
Claims (27)
- 集積回路についての相互接続回路内のデータ経路のルーティングを求める方法において、第1辺上の前記相互接続回路が、第1デバイスに対する接続のためのナローインターフェースを提供し、第2辺上の前記相互接続回路が、分散した複数の別のデバイスに対する接続のためのワイドインターフェースを提供し、各データ経路が、前記別のデバイスのうちの1つに関連付けられ、関連付けられる前記別のデバイスと前記第1デバイスとの間の前記相互接続回路を通じて接続を実現する方法であって、
(i)前記ワイドインターフェースに沿って設けるべき複数のセルを定義するステップであって、前記別のデバイスのそれぞれが、前記セルのうちの少なくとも1つに関連付けられるステップと、
(ii)行および列として形成されたブロックのアレイとして前記相互接続回路を定義するステップであって、各セルが前記列のうちの1つに当接するステップと、
(iii)所定の1組のタイルを設けるステップであって、各タイルが所定の配線レイアウトを提供するステップと、
(iv)各ブロックについて、所定の規則を適用して、前記ブロックを実装するのに使用すべき前記タイルのうちの1つを決定するステップであって、前記所定の規則が、前記アレイ内の前記ブロックの位置、および前記複数の別のデバイスと前記複数のセルの間の関連付けを考慮に入れて、前記相互接続回路によって設けられる各データ経路が同一の伝播遅延を有することを保証するステップと
を含む方法。 - 各データ経路が、タイルのシーケンスによって形成され、前記シーケンス中の各タイルが、前記シーケンスの隣接するタイル内の前記配線レイアウトと少なくとも部分的に当接する配線レイアウトを有するように選択される請求項1に記載の方法。
- 前記所定の規則が、ツリー構造を生成するようにタイルを前記アレイ内の個々のブロックに割り振り、少なくとも1つの列が、ツリー構造のトランクとして形成されるナローインターフェースに当接し、残りの列内の前記行が、前記ツリー構造のブランチを形成し、
前記ステップ(iv)で、前記アレイ内の個々のブロックを実装するのに使用すべきタイルを決定するときに、前記所定の規則が、ブロックが前記ツリー構造の前記トランク内にあるか、それともツリー構造のブランチ内にあるかを考慮に入れる請求項1に記載の方法。 - 前記所定のタイルの組が、トランクタイルの所定のサブセットと、ブランチタイルの所定のサブセットとを含み、前記ステップ(iv)中に、各ブロックについて、前記所定の規則が、前記ブロックが前記ツリー構造の前記トランク内にある場合にトランクタイルの前記サブセットからタイルを選択し、または前記ブロックが前記ツリー構造の前記ブランチ内にある場合にブランチタイルの前記サブセットからタイルを選択する請求項3に記載の方法。
- セルの数が、前記ワイドインターフェースに接続すべき別のデバイスの数を超過し、それによって、前記別のデバイスのうちの1つに関連付けられない少なくとも1つの非接続セルが存在し、
前記ツリー構造の前記トランクとして形成された各列について、前記列に当接するように選ばれた前記セルが非接続セルである請求項3に記載の方法。 - 前記ツリー構造が、1つまたは複数のツリー区間を含み、各ツリー区間が、前記ナローインターフェースに当接して前記ツリー区間に対するトランクを形成する1つの列を有し、前記ツリー区間の残りの列内の前記行が、前記ツリー区間のブランチを形成する請求項3に記載の方法。
- 少なくとも1つのツリー区間が、少なくとも1つの他のツリー区間とは異なる軸上に設けられる請求項6に記載の方法。
- 各ツリー区間が、左ツリー区間または右ツリー区間を含み、前記ステップ(iv)で、適用される所定の規則が、タイルが左ツリー区間のブロックについて決定されるか、それとも右ツリー区間のブロックについて決定されるかに依存すると共に、左ツリー区間内であっても、右ツリー区間内であっても、前記相互接続回路によって与えられる各データ経路が同一の伝播遅延を有することを依然として保証する請求項6に記載の方法。
- 前記分散した複数の別のデバイスが、少なくとも1つの軸をたどる分散経路に沿って分散する請求項1に記載の方法。
- 分散経路中の少なくとも1つの地点で、軸の変化が生じ、
前記ステップ(ii)で、軸の変化が生じる前記分散経路中の各地点に関連して、前記相互接続回路内にコーナ素子を定義し、それによって各コーナ素子が、前記アレイ内のブロックの2つの隣接する列間の軸の変化を定義するステップと、
前記ステップ(iv)で、前記所定の規則が、前記所定のタイルの組と共に含まれる所定のコーナタイルを使用して各コーナ素子を実装し、前記アレイ内の各ブロックについて使用すべきタイルを決定するときに、前記所定の規則が、前記相互接続回路によって設けられる各データ経路が同一の伝播遅延を有することを保証するように、前記相互接続回路内の任意のコーナ素子の位置を考慮に入れるステップと
をさらに含む請求項9に記載の方法。 - 前記ステップ(ii)で、前記コーナ素子のどちらかの側にフィラー素子が定義され、前記ステップ(iv)で、前記所定の規則が、前記所定のタイルの組に含まれる所定のフィラータイルを使用して各フィラー素子を実装する請求項10に記載の方法。
- セルの数が、前記ワイドインターフェースに接続すべき別のデバイスの数を超過し、それによって、前記別のデバイスのうちの1つに関連付けられない少なくとも1つの非接続セルが存在し、前記相互接続回路に対する接続を必要としない前記集積回路の1つまたは複数の他の構成要素を、1つまたは複数の非接続セルに関連付けるステップをさらに含む請求項1に記載の方法。
- 前記他の構成要素が、前記分散した複数の別のデバイスに電力供給するのに使用される電力供給線を備える請求項12に記載の方法。
- 前記ステップ(iv)中に、前記所定の規則が、特定のブロックの位置で配線レイアウトが不要であると前記所定の規則が判定した場合、前記ブロックについてタイルが割り振られない請求項1に記載の方法。
- 前記所定のタイルの組が、配線レイアウトを有さない1つまたは複数のフィラータイルを含み、前記ステップ(iv)中に、特定のブロックの位置で配線レイアウトが不要であると前記所定の規則が判定した場合、前記フィラータイルのうちの1つが、前記ブロックに対して割り振られる請求項1に記載の方法。
- 前記ステップ(i)で、定義される前記複数のセルが、複数の異なる幅であり、前記所定のタイルの組が、各セルが前記列のうちの1つに当接することが可能となるように、対応する複数の異なる幅を有するタイルを含む請求項1に記載の方法。
- 前記ステップ(i)で、一定のセルが、初期セルとフィラーセルの組合せによって形成され、それによって前記アレイ内の列と当接する各セルが、等しい幅となる請求項1に記載の方法。
- 前記相互接続回路の前記ナローインターフェースから前記第1デバイスまで通るルートチャネルを定義し、それによって前記集積回路内の前記ナローインターフェース以外の位置への第1デバイスの配置を可能にするステップをさらに含む請求項1に記載の方法。
- 前記所定のタイルの組が、ルートタイルのサブセットを含み、前記サブセットからの1つまたは複数のルートタイルを使用して前記ルートチャネルを生成するステップをさらに含む請求項18に記載の方法。
- 前記分散した複数の別のデバイスが、前記集積回路の周辺に配置された入力/出力デバイスを含む請求項1に記載の方法。
- 前記第1デバイスが、前記複数の入力/出力デバイスを制御するのに使用されるメモリコントローラデバイスである請求項20に記載の方法。
- 前記別のデバイスのピンと、前記所定のタイルの組の中のタイルの配線レイアウトとの間のピンマッピングを実現する1つまたは複数のブリッジタイルを設けるステップと、
特定の別のデバイスについて、前記特定の別のデバイスのピンの、当接すべき前記相互接続回路内の前記タイルの前記配線レイアウトに対する直接的マッピングがないとき、前記特定の別のデバイスと前記相互接続回路内の前記タイルとの間に少なくとも1つのブリッジタイルを導入して、前記特定の別のデバイスのピンを前記タイルの前記配線レイアウトにマッピングするステップと
をさらに含む請求項1に記載の方法。 - セルの数が、前記ワイドインターフェースに接続すべき別のデバイスの数を超過し、それによって、前記別のデバイスのうちの1つに関連付けられない少なくとも1つの非接続セルが存在し、ワイドインターフェースに沿った前記非接続セルの追加が、ナローインターフェースの幅に影響を及ぼさない請求項1に記載の方法。
- 前記ワイドインターフェースに沿った前記非接続セルの追加が、前記データ経路が前記ナローインターフェースに接続される順序に影響を及ぼさない請求項23に記載の方法。
- 前記所定の組の中の前記タイルのうちの少なくとも1つの配線レイアウトが、前記タイルのうちの少なくとも1つが前記アレイ内のブロックを実装するのに使用されるとき、前記タイル内の前記配線レイアウトのすべてが使用されるのではないようなものとなる請求項1に記載の方法。
- コンピュータシステム上で実行されたときに、集積回路についての相互接続回路内のデータ経路のルーティングを求める方法を前記コンピュータシステムに実行させるコンピュータプログラムを含むコンピュータプログラム製品において、第1辺上の前記相互接続回路が、第1デバイスに対する接続のためのナローインターフェースを提供し、第2辺上の前記相互接続回路が、分散した複数の別のデバイスに対する接続のためのワイドインターフェースを提供し、各データ経路が、前記別のデバイスのうちの1つに関連付けられ、関連付けられる前記別のデバイスと前記第1デバイスとの間の前記相互接続回路を通じて接続を実現するコンピュータプログラム製品であって、前記方法が、
(i)前記ワイドインターフェースに沿って設けるべき複数のセルを定義するステップであって、前記別のデバイスのそれぞれが、前記セルのうちの少なくとも1つに関連付けられるステップと、
(ii)行および列として形成されたブロックのアレイとして前記相互接続回路を定義するステップであって、各セルが前記列のうちの1つに当接するステップと、
(iii)所定の1組のタイルを設けるステップであって、各タイルが所定の配線レイアウトを提供するステップと、
(iv)各ブロックについて、所定の規則を適用して、前記ブロックを実装するのに使用すべき前記タイルのうちの1つを決定するステップであって、前記所定の規則が、前記アレイ内の前記ブロックの位置、および前記複数の別のデバイスと前記複数のセルの間の関連付けを考慮に入れて、前記相互接続回路によって設けられる各データ経路が同一の伝播遅延を有することを保証するステップと
を含むコンピュータプログラム製品。 - 集積回路についての相互接続回路内のデータ経路のルーティングを求めるシステムにおいて、第1辺上の前記相互接続回路が、第1デバイスに対する接続のためのナローインターフェースを提供し、第2辺上の前記相互接続回路が、分散した複数の別のデバイスに対する接続のためのワイドインターフェースを提供し、各データ経路が、前記別のデバイスのうちの1つに関連付けられ、関連付けられる前記別のデバイスと前記第1デバイスとの間の前記相互接続回路を通じて接続を実現するシステムであって、
前記ワイドインターフェースに沿って設けるべき複数のセルを定義する手段であって、前記別のデバイスのそれぞれが、前記セルのうちの少なくとも1つに関連付けられる手段と、
行および列として形成されたブロックのアレイとして前記相互接続回路を定義する手段であって、各セルが前記列のうちの1つに当接する手段と、
所定の1組のタイルを設ける手段であって、各タイルが所定の配線レイアウトを提供する手段と、
各ブロックについて、所定の規則を適用して、前記ブロックを実装するのに使用すべき前記タイルのうちの1つを決定するデータ経路決定手段であって、前記所定の規則が、前記アレイ内の前記ブロックの位置、および前記複数の別のデバイスと前記複数のセルの間の関連付けを考慮に入れて、前記相互接続回路によって設けられる各データ経路が同一の伝播遅延を有することを保証するデータ経路決定手段と
を備えるシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/153,448 | 2008-05-19 | ||
| US12/153,448 US8024690B2 (en) | 2008-05-19 | 2008-05-19 | Method, system and computer program product for determining routing of data paths in interconnect circuitry providing a narrow interface for connection to a first device and a wide interface for connection to a distributed plurality of further devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009282976A true JP2009282976A (ja) | 2009-12-03 |
| JP5241603B2 JP5241603B2 (ja) | 2013-07-17 |
Family
ID=40671785
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009120244A Expired - Fee Related JP5241603B2 (ja) | 2008-05-19 | 2009-05-18 | 相互接続回路内のデータ経路のルーティングを求める方法、システム、およびコンピュータプログラム製品 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8024690B2 (ja) |
| JP (1) | JP5241603B2 (ja) |
| CN (1) | CN101587508B (ja) |
| GB (1) | GB2460142B (ja) |
| TW (1) | TWI454950B (ja) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8122419B2 (en) * | 2008-11-09 | 2012-02-21 | International Business Machines Corporation | System and method for three-dimensional variational capacitance calculation |
| US8341582B2 (en) * | 2009-01-30 | 2012-12-25 | Active-Semi, Inc. | Programmable analog tile configuration tool |
| US8219956B2 (en) * | 2009-01-30 | 2012-07-10 | Active-Semi, Inc. | Analog tile selection, placement, configuration and programming tool |
| US8225260B2 (en) | 2009-01-30 | 2012-07-17 | Active-Semi, Inc. | Programmable analog tile placement tool |
| US8079007B2 (en) * | 2009-01-30 | 2011-12-13 | Active-Semi, Inc. | Programmable analog tile programming tool |
| US9003340B2 (en) * | 2009-01-30 | 2015-04-07 | Active-Semi, Inc. | Communicating configuration information across a programmable analog tile to another tile |
| US8527929B2 (en) * | 2009-12-23 | 2013-09-03 | Cadence Design Systems, Inc. | Method and system for optimally connecting interfaces across multiple fabrics |
| US8479134B2 (en) * | 2009-12-23 | 2013-07-02 | Cadence Design Systems, Inc. | Method and system for specifying system level constraints in a cross-fabric design environment |
| US8386981B1 (en) | 2010-04-12 | 2013-02-26 | Cadence Design Systems, Inc. | Method and systems for implementing I/O rings and die area estimations |
| US9135373B1 (en) | 2010-04-12 | 2015-09-15 | Cadence Design Systems, Inc. | Method and system for implementing an interface for I/O rings |
| US8832629B2 (en) * | 2010-07-23 | 2014-09-09 | Freescale Semiconductor, Inc. | Method for optimising cell variant selection within a design process for an integrated circuit device |
| US8510702B2 (en) * | 2011-11-15 | 2013-08-13 | Texas Instruments Incorporated | Interactive routing editor with symbolic and geometric views for integrated circuit layout |
| US11157676B2 (en) * | 2016-09-20 | 2021-10-26 | Octavo Systems Llc | Method for routing bond wires in system in a package (SiP) devices |
| US10503859B2 (en) * | 2017-08-30 | 2019-12-10 | Arm Limited | Integrated circuit design and/or fabrication |
| US10817641B1 (en) | 2017-09-29 | 2020-10-27 | Cadence Design Systems, Inc. | Method and system to implement topology integrity throughout routing implementations |
| US10521097B1 (en) | 2017-09-29 | 2019-12-31 | Cadence Design Systems, Inc. | User interface to implement topology integrity throughout routing implementations |
| US10489549B1 (en) * | 2017-12-22 | 2019-11-26 | Cadence Design Systems, Inc. | Tree-routing for specific areas of an electronic design |
| US10551431B1 (en) | 2017-12-22 | 2020-02-04 | Cadence Design Systems, Inc. | EM-compliance topology in a tree router |
| US11309306B2 (en) | 2018-09-28 | 2022-04-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Stack-gate circuit |
| GB2580165B (en) * | 2018-12-21 | 2021-02-24 | Graphcore Ltd | Data exchange in a computer with predetermined delay |
| US11151298B1 (en) * | 2019-11-21 | 2021-10-19 | Xilinx, Inc. | Metal track routing with buffer bank insertion |
| US11604751B1 (en) * | 2021-05-10 | 2023-03-14 | Xilinx, Inc. | Optimizing hardware design throughput by latency aware balancing of re-convergent paths |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05334398A (ja) * | 1992-05-29 | 1993-12-17 | Yokogawa Electric Corp | プリント基板cadの自動配線機構 |
| JPH0621223A (ja) * | 1992-07-06 | 1994-01-28 | Toshiba Corp | 半導体集積回路の自動配線方法 |
| JPH06349947A (ja) * | 1993-06-14 | 1994-12-22 | Fujitsu Ltd | 半導体集積回路装置のマスクパターン設計方法および設計装置 |
| JP2001085528A (ja) * | 1999-09-14 | 2001-03-30 | Toshiba Microelectronics Corp | 半導体集積回路の設計方法および半導体集積回路の製造方法 |
| JP2005026537A (ja) * | 2003-07-04 | 2005-01-27 | Cadence Design Systems Inc | 集積回路及び集積回路のレイアウト方法 |
| WO2007073599A1 (en) * | 2005-12-29 | 2007-07-05 | Mosaid Technologies Incorporated | Asic design using clock and power grid standard cell |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5118300A (en) * | 1991-05-23 | 1992-06-02 | Amp Incorporated | Active electrical connector |
| US6279142B1 (en) * | 1998-10-02 | 2001-08-21 | International Business Machines Corporation | Method of on-chip interconnect design |
| US6654712B1 (en) * | 2000-02-18 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Method to reduce skew in clock signal distribution using balanced wire widths |
| US6571380B2 (en) * | 2001-07-12 | 2003-05-27 | Micron Technology, Inc. | Integrated circuit with layout matched high speed lines |
| US6735754B2 (en) * | 2002-06-06 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus to facilitate global routing for an integrated circuit layout |
| WO2004004008A1 (en) * | 2002-06-28 | 2004-01-08 | Koninklijke Philips Electronics N.V. | Integrated circuit having building blocks |
| US7375553B1 (en) * | 2003-05-28 | 2008-05-20 | Actel Corporation | Clock tree network in a field programmable gate array |
| US7132851B2 (en) * | 2003-07-11 | 2006-11-07 | Xilinx, Inc. | Columnar floorplan |
| JP4620942B2 (ja) * | 2003-08-21 | 2011-01-26 | 川崎マイクロエレクトロニクス株式会社 | 半導体集積回路のレイアウト方法、そのレイアウト構造、およびフォトマスク |
| US7213221B1 (en) * | 2004-04-19 | 2007-05-01 | Magma Design Automation, Inc. | Modeling interconnected propagation delay for an integrated circuit design |
| US7126406B2 (en) * | 2004-04-30 | 2006-10-24 | Xilinx, Inc. | Programmable logic device having an embedded differential clock tree |
| US7418689B2 (en) * | 2005-04-27 | 2008-08-26 | International Business Machines Corporation | Method of generating wiring routes with matching delay in the presence of process variation |
| US7312631B1 (en) * | 2005-11-01 | 2007-12-25 | Xilinx, Inc. | Structures and methods for avoiding hold time violations in a programmable logic device |
| US20080074142A1 (en) * | 2006-09-25 | 2008-03-27 | Alex Henderson | Routing for Microprocessor Busses |
| US7739095B2 (en) * | 2007-03-13 | 2010-06-15 | Synopsys, Inc. | Method for determining best and worst cases for interconnects in timing analysis |
| US7570079B2 (en) * | 2007-04-17 | 2009-08-04 | Mihai Sima | Level-restoring buffers for programmable interconnect circuits and method for building the same |
| US20090217225A1 (en) * | 2008-02-22 | 2009-08-27 | Mentor Graphics, Corp. | Multi-mode multi-corner clocktree synthesis |
-
2008
- 2008-05-19 US US12/153,448 patent/US8024690B2/en active Active
-
2009
- 2009-03-26 GB GB0905240.8A patent/GB2460142B/en not_active Expired - Fee Related
- 2009-04-16 TW TW098112661A patent/TWI454950B/zh not_active IP Right Cessation
- 2009-05-18 JP JP2009120244A patent/JP5241603B2/ja not_active Expired - Fee Related
- 2009-05-19 CN CN2009102030778A patent/CN101587508B/zh not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05334398A (ja) * | 1992-05-29 | 1993-12-17 | Yokogawa Electric Corp | プリント基板cadの自動配線機構 |
| JPH0621223A (ja) * | 1992-07-06 | 1994-01-28 | Toshiba Corp | 半導体集積回路の自動配線方法 |
| JPH06349947A (ja) * | 1993-06-14 | 1994-12-22 | Fujitsu Ltd | 半導体集積回路装置のマスクパターン設計方法および設計装置 |
| JP2001085528A (ja) * | 1999-09-14 | 2001-03-30 | Toshiba Microelectronics Corp | 半導体集積回路の設計方法および半導体集積回路の製造方法 |
| JP2005026537A (ja) * | 2003-07-04 | 2005-01-27 | Cadence Design Systems Inc | 集積回路及び集積回路のレイアウト方法 |
| WO2007073599A1 (en) * | 2005-12-29 | 2007-07-05 | Mosaid Technologies Incorporated | Asic design using clock and power grid standard cell |
Also Published As
| Publication number | Publication date |
|---|---|
| GB0905240D0 (en) | 2009-05-13 |
| CN101587508A (zh) | 2009-11-25 |
| TWI454950B (zh) | 2014-10-01 |
| CN101587508B (zh) | 2013-01-02 |
| TW200949592A (en) | 2009-12-01 |
| GB2460142B (en) | 2012-05-02 |
| GB2460142A (en) | 2009-11-25 |
| US8024690B2 (en) | 2011-09-20 |
| US20090288056A1 (en) | 2009-11-19 |
| JP5241603B2 (ja) | 2013-07-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5241603B2 (ja) | 相互接続回路内のデータ経路のルーティングを求める方法、システム、およびコンピュータプログラム製品 | |
| CN109426695B (zh) | 集成电路设计和/或制造 | |
| US11625522B2 (en) | Method and apparatus for generating three-dimensional integrated circuit design | |
| US6308309B1 (en) | Place-holding library elements for defining routing paths | |
| US5665989A (en) | Programmable microsystems in silicon | |
| CN107918694B (zh) | 用于减少集成电路上的延迟的方法 | |
| EP3040888A2 (en) | Integrated circuit layout wiring for multi-core chips | |
| US10068048B1 (en) | Generating clock trees for a circuit design | |
| US9026967B1 (en) | Method and apparatus for designing a system on multiple field programmable gate array device types | |
| US6434731B1 (en) | Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits | |
| US9852255B2 (en) | Method and apparatus for implementing periphery devices on a programmable circuit using partial reconfiguration | |
| US9740808B2 (en) | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration | |
| US8397190B2 (en) | Method for manipulating and repartitioning a hierarchical integrated circuit design | |
| US6425115B1 (en) | Area efficient delay circuits | |
| CN117764024A (zh) | 一种基于h树的时钟树综合优化方法 | |
| US6260175B1 (en) | Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees | |
| US7873934B1 (en) | Method and apparatus for implementing carry chains on field programmable gate array devices | |
| KR102527749B1 (ko) | 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 | |
| JPH0677403A (ja) | 半導体集積回路装置及びその設計方法 | |
| TW201837760A (zh) | 用於產生積體電路的電路模塊的佈局的技術 | |
| KR20250048107A (ko) | 복제된 어레이들에서의 클럭 타이밍 | |
| CN1862968B (zh) | 集成电路以及设计集成电路的方法 | |
| JP2004094402A (ja) | 遅延シミュレーション用ネットリスト生成システムおよび遅延シミュレーション用ネットリスト生成方法 | |
| US8065648B1 (en) | Method and apparatus for modeling an integrated circuit in a computer aided design system | |
| CN117851146A (zh) | 针对小芯片的fpga原型验证系统和原型验证方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111011 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120904 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120925 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
| 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: 20130305 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130402 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |