(57)【要約】集積回路（３００）は、実質的に同一のビルディングブロック（１００ａ〜１００ｉ）によって形成される規則的なグリッドを有する。ただ１つの種類の非対称なビルディングブロックを使用することによってもたらされる集積回路（３００）のエッジに沿って発生するかもしれないルーティングコンフリクトを回避するために、集積回路（３００）は、ビルディングブロック（１００ａ〜１００ｉ）のルーティング回路網が存在しないグリッドのエッジにおけるルーティングを提供するルーティングセル（２００）によって拡張される。ルーティングセル（２００）およびスイッチセル（２５０）が、第１のルーティング構造（３３０）および第２のルーティング構造（３４０）と組み合わされ、集積回路（３００）のグリッドを取り囲むルーティング回路網（２８０）を形成する。結果として、集積回路（３００）は、ただ１つの種類のビルディングブロック（１００ａ〜１００ｉ）だけを含み、それにもかかわらず、完全に対称なルーティング構造を有する。
2005531964.tif 000002
【特許請求の範囲】
【請求項１】
規則的なグリッドとして配列された複数の実質的に同一の互いに接続されたビルディングブロックであり、それぞれの前記ビルディングブロックが、
論理セルと、
第１の方向において前記グリッド上の前記論理セルと第１のさらなる論理セルとの間のデータ通信のために前記論理セルに結合された第１のルーティング手段と、
第２の方向において前記グリッド上の前記論理セルと第２のさらなる論理セルとの間のデータ通信のために前記論理セルに結合された第２のルーティング手段と、
前記第１のルーティング手段を前記第２のルーティング手段に結合するためのスイッチ手段と、
を含む前記ビルディングブロックを含む集積回路であって、
前記複数のビルディングブロックの第１の部分集合が、前記グリッドを取り囲むルーティング回路網の一部分を形成するそれら自身の第１のルーティング手段を有し、
前記複数のビルディングブロックの第２の部分集合が、前記グリッドを取り囲むルーティング回路網のさらなる一部分を形成するそれら自身の第２のルーティング手段を有し、
前記集積回路が、前記グリッドを取り囲むルーティング回路網を完成するために、前記ルーティング回路網の前記一部分および前記さらなる一部分に結合された複数のルーティングセルをさらに含む集積回路。
【請求項２】
請求項１記載の集積回路において、
前記複数のルーティングセルが、前記複数のルーティングセルの部分集合を前記複数のビルディングブロックの前記第１の部分集合および前記第２の部分集合の何れか一方に結合するスイッチセルを含む集積回路。
【請求項３】
請求項１記載の集積回路において、
前記複数のルーティングセルからのそれぞれのルーティングセルが、前記グリッド内の少なくとも隣接する論理セルをグリッド外ハードウェアに接続するように構成された集積回路。
【請求項４】
請求項１から３の何れかに記載の集積回路において、
前記第１の部分集合および前記第２の部分集合からの前記ビルディングブロックをグリッド外ハードウェアに接続するように構成された複数の配線セルをさらに含む集積回路。
【請求項５】
請求項１記載の集積回路において、
前記スイッチ手段が、複数のプログラマブルスイッチを含む集積回路。
【請求項６】
請求項１記載の集積回路において、
前記ビルディングブロックが、実質的に長方形である形状を有し、
前記複数のルーティングセルが、
前記長方形の第１の辺を介して、前記複数のビルディングブロックの第３の部分集合を前記ルーティング回路網に組み込むための前記ルーティングセルの第１の部分集合と、
前記長方形の第２の辺を介して、前記複数のビルディングブロックの第４の部分集合を前記ルーティング回路網に組み込むための前記ルーティングセルの第２の部分集合と、を含み、前記第１の辺が、長さが前記第２の辺と異なる、
集積回路。
【請求項７】
電子デバイスであって、
データ通信手段と、
データを記憶するために前記データ通信手段に結合されたデータ記憶エレメントと、
専用のタスクを実行することによってデータを処理するために前記データ通信手段に結合されたプロセッシングエレメントと、
複数のタスクからのタスクを実行することによってデータをさらに処理するための請求項１記載の集積回路であり、前記集積回路を設定することによって、前記タスクを選択することができ、前記集積回路が、前記データ通信手段に結合された、前記集積回路と、
を含む電子デバイス。
【請求項８】
複数の実質的に同一の互いに接続されたビルディングブロックを設計するステップであり、それぞれの前記ビルディングブロックが、
論理セルと、
第１の方向において前記グリッド上の前記論理セルと第１のさらなる論理セルとの間のデータ通信のために前記論理セルに結合された第１のルーティング手段と、
第２の方向において前記グリッド上の前記論理セルと第２のさらなる論理セルとの間のデータ通信のために前記論理セルに結合された第２のルーティング手段と、
前記第１のルーティング手段を前記第２のルーティング手段に結合するためのスイッチ手段と、を含む、前記設計するステップと、
前記複数のビルディングブロックを規則的なグリッドとして配列するステップと、
を含む集積回路を設計する方法であって、
ルーティング回路網の一部分を形成するそれら自身の第１のルーティング手段を有する前記複数のビルディングブロックの第１の部分集合と、
ルーティング回路網のさらなる一部分を形成するそれら自身の第２のルーティング手段を有する前記複数のビルディングブロックの第２の部分集合と、
前記グリッドを取り囲むルーティング回路網を完成するために、前記ルーティング回路網の前記一部分および前記さらなる一部分に結合された複数のルーティングセルと、を含むことによって、前記グリッドを取り囲むルーティング回路網を設計するステップ、
をさらに含む方法。
【請求項９】
請求項８記載の方法において、
前記グリッドのエッジ上の複数のビルディングブロックをグリッド外ハードウェアに接続するための配線手段を付加するステップをさらに含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、規則的なグリッドとして配列された複数のほぼ同一の互いに接続されたビルディングブロックを含む集積回路に関し、それぞれのビルディングブロックは、論理セルと、第１の方向においてグリッド上で論理セルと第１のさらなる論理セルとの間のデータ通信に使用するために論理セルに結合された第１のルーティング手段と、第２の方向においてグリッド上で論理セルと第２のさらなる論理セルとの間のデータ通信に使用するために論理セルに結合された第２のルーティング手段と、第１のルーティング手段を第２のルーティング手段に結合するためのスイッチ手段とを含む。
【背景技術】
【０００２】
半導体の分野においては、用途の広い集積回路を製造するために、多くの努力がなされている。集積回路（ＩＣ）およびそのような集積回路を含む電子デバイスの開発費を考えれば、利用可能なハードウェアをできるだけ再利用するために、多数のタスクを実行することのできる集積回路を有することは望ましいことである。この目的は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなリコンフィギュラブルＩＣによって達成することができる。そのような集積回路は、典型的には、多くのビルディングブロックを含み、それらのビルディングブロックは、多くのタスクを実行することのできるプログラマブル論理ユニット、および、ビルディングブロック間の配線またはルーティング回路網を提供するプログラマブルルーティングハードウェアを含む。典型的には、ビルディングブロックは、様々なビルディングブロック間の配線を短くするために、規則的なパターンとして、すなわち、グリッドとして配置され、これは、ＩＣの良好な性能に寄与する。ルーティング回路網はできるだけ完璧なものであること、例えば、ビルディングブロック間のデータ経路はできるだけ短いものであることは、重要なことである。なぜなら、これは、ビルディングブロック間のデータ通信がＩＣの性能に及ぼす悪影響を減少させるからである。
【０００３】
そのようなＩＣの設計が複雑であることは、グリッドの全体的な対称性がたとえ高くても、ビルディングブロック自身の対称性は、典型的には、低いということである。例えば、ビルディングブロックは、第１の方向において、論理セルからのデータおよび論理セルへのデータをルーティングするために、一方のエッジにルーティング手段を有し、そして、第２の方向において、論理セルからのデータおよび論理セルへのデータをルーティングするために、ビルディングブロックの第２のエッジにさらなるルーティング手段を有する。これは、ビルディングブロックの他方のエッジは、ルーティングハードウェアがないことを意味し、ルーティング資源のないビルディングブロックのエッジによって形成されるグリッドのエッジにおいて、取分け、これらのビルディングブロックがグリッド外データ通信を必要とする場合に、ルーティング問題をもたらす。場合によっては、これは、タスクによってはそれをＩＣ上にマッピングできないことを意味する。なぜなら、その特定のタスクに必要とされるルーティングインフラストラクチャーを利用できないからである。この問題が、ビルディングブロックのすべてのエッジにハードウェアを備えてビルディングブロックを拡張することによって解決できたにしても、この解決方法は、望ましいものであるとは考えられない。なぜなら、それは、すでに相当に広いシリコン基板の面積を劇的に増大させ、そして、そのことが、ＩＣの複雑さおよびコストの両方を増大させるからである。
【０００４】
米国特許第6,002,268号は、ＦＰＧＡのグリッドを取り囲むパッドフレームによって拡張されたＦＰＧＡを開示することによって、この問題の解決方法を提供するものである。パッドフレームは、グリッドのビルディングブロックとグリッドの外側にあるＩ／Ｏセルとの間のルーティング配線を提供するというそれ専用のタスクを有する。これは、シリコン基板の面積をパッドフレームが増大させ、かつ、限られた機能しか提供しないので、不都合なことである。リコンフィギュラブル論理デバイスの設計における大きな障害の１つは、専用デバイスに比較してかなり小さな面積効率であることに注意されたい。これは、上述したルーティング問題の面積効率を備えた解決方法が必要とされていることを強調するものである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、本発明の目的は、取分け、グリッドを取り囲むより用途の広いルーティング機能を有する集積回路を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、独立請求項によって説明される。従属請求項は、有利な実施形態を定義する。  
本発明は、所望のＩＣを形成するためのビルディングブロックを組み合わせることによって、反復構造を有する集積回路を設計できることを実現することに基づくものである。主たる設計作業は、いくつかの所望のタスクを実行することができなければならないビルディングブロックを設計することである。これは、第１および第２のルーティング手段の設計だけでなく論理ユニットの設計も含む。これが実現された後、グリッドが、ビルディングブロックをタイルのように組み合わせることによって、簡単に組み立てられる。その結果として、グリッドの第１のエッジを形成するビルディングブロックの組み合わされた第１のルーティング手段と、グリッドの第２のエッジを形成するビルディングブロックの組み合わされた第２のルーティング手段とが、組み合わされて、グリッドを取り囲む部分的なルーティング回路網となっている。ルーティング回路網は、ルーティングセル、例えば、ルーティングタイルを、組み合わされた第１および第２のルーティング手段によって形成された部分的なルーティング回路網が存在しないグリッドのエッジに付加することによって完成する。これは、すでに存在するルーティングハードウェアを専用のルーティングタイルと組み合わせることによって、このルーティング回路網を容易に形成できるという利点を有し、それは、グリッド内通信およびグリッド外通信の両方に使用することのできるルーティング回路網を実現する。ルーティング回路網の一方の部分をルーティング回路網の他方の部分に結合する機能を有するスイッチセルが、ルーティング回路網を完成させる。好ましくは、独立したタイルであるが、ルーティングセルの１つまたはグリッドのビルディングブロックに組み込まれてもよいこのスイッチセルは、典型的には、複数のルーティングセルの部分集合を複数のビルディングブロックの第１および第２の部分集合の何れか一方に結合する。
【０００７】
さらなるルーティングセルおよびスイッチセルを含むことは、設計しなければならないビルディングブロックの数を増加させるが、ルーティングセルおよびスイッチセルは、それほど複雑なものではないので、これは、不都合なことではないことを強調する。したがって、それらは、迅速に設計することができ、また、それらを利用できることによって、ビルディングブロックの開発に要する設計作業量を減少させるので、全体的な設計作業量は、必ずしも増加するとは限らない。さらに、グリッドに使用されるただ１つの種類のビルディングブロックを使用することができるので、ＩＣの拡張性が向上し、それは、設計再利用の点で重要な利点である。
【０００８】
複数のルーティングセルからのそれぞれのルーティングセルが、グリッド内の少なくとも隣接する論理セルをグリッド外ハードウェアに接続するように構成されるならば、それは、好都合なことである。ルーティングセルは、グリッド上におけるルーティング機能をアップグレードするのに使用されてもよいが、ルーティングセルは、好ましくは、グリッド内のビルディングブロックとグリッド外ハードウェアとの間のルーティングを改善するのに使用される。これは、ＩＣの柔軟性を改善し、より多くの種類のタスクをＩＣ上にマッピングすることを可能にする。１つのルーティングセルが、１つよりも多いビルディングブロックへのルーティングを提供するのに使用されてもよいこと、すなわち、いくつかのビルディングブロックが、１つのルーティングセルを共有してもよいことに注意されたい。
【０００９】
集積回路が、第１の部分集合および第２の部分集合からのビルディングブロックをグリッド外ハードウェアに接続するように構成された複数の配線セルをさらに含むならば、それは、さらなる利点である。
【００１０】
第１および第２の部分集合を形成するビルディングブロックをグリッド外ハードウェアに接続するための配線ハードウェアがこれらのビルディングブロック内に含まれることが仮令できるにしても、独立した配線セル、例えば、この配線ハードウェアを提供するタイルによってこの配線ハードウェアを提供することは好ましいことである。これは、グリッドを形成するビルディングブロックをできる限り同じものにすることができるという利点を有する。当然ながら、そのような配線機能は、ルーティングセルが存在するグリッドのエッジにも存在することが望ましい。付加的な配線セルが、それらのエッジに使用されてもよいが、配線機能はルーティングセルに組み込まれることが望ましい。
【００１１】
スイッチ手段が、複数のプログラマブルスイッチを含むならば、それは、さらなる利点である。
【００１２】
プログラマブルスイッチをスイッチ手段内に含むことは、スイッチ手段をリコンフィギュラブルなものにする。その結果として、様々なビルディングブロックの第１および第２のルーティング手段を介してのそれらの様々なビルディングブロック間のグリッド上におけるルーティングは、きわめて柔軟性のあるものとなり、そのために、より多くの種類のタスクをＩＣ上にマッピングできることによって、ＩＣの柔軟性をさらに向上させる。
【００１３】
本発明のさらなる実施形態においては、ビルディングブロックは、実質的に長方形である形状を有し、そして、複数のルーティングセルは、長方形の第１の辺を介して、複数のビルディングブロックの第３の部分集合をルーティング回路網に組み込むためのルーティングセルの第１の部分集合と、長方形の第２の辺を介して、複数のビルディングブロックの第４の部分集合をルーティング回路網に組み込むためのルーティングセルの第２の部分集合とを含み、第１の辺は、長さが第２の辺と異なる。
【００１４】
ビルディングブロックが、形状が正方形ではなく、長方形であれば、マッピング問題、すなわち、レイアウト問題を回避するために、１つよりも多い寸法のルーティングセルを有する必要があるかもしれない。当然ながら、ルーティングセルの幅は、典型的には、グリッドのエッジに面したビルディングブロックの幅によって規定される。ビルディングブロックの形状を長方形にすると、これは、ルーティングセルの２つの部分集合をもたらし、それらのそれぞれの幅は、ビルディングブロックの辺の寸法に一致する。
【００１５】
例えば、システムオンチップなど、電子デバイスに要求される性能は、速度の点においてだけでなく機能的汎用性の点においても、益々、高度なものになりつつある。本発明による集積回路をそのようなデバイスに含めることは、多数のタスクをＩＣにマッピングすることができるので、電子デバイスの機能的汎用性を改善する。その結果として、電子デバイスは、専用ハードウェアをあまり必要とせず、それは、電子デバイスのシリコン基板の面積を減少させ、本発明によるＩＣを含まないデバイスよりも低いコストで製造することのできるデバイスを実現する。
【００１６】
本発明の設計方法によれば、高い対称性を有するグリッドを備えたＩＣを簡単に設計することができ、それは、取分け、何らかの種類のグラフィカルユーザインタフェースを使用することによってルーティングセルおよびスイッチセルをタイルとしてグリッドに付加することができる場合に、そのようなＩＣに必要な設計作業量を減少させる。その結果として、この方法によって開発されるＩＣの製品化に要する時間が減少し、それは、重要な利点である。  
添付の図面を参照して、限定するものではない例として、本発明をより詳細に説明する。
【発明を実施するための最良の形態】
【００１７】
図１は、リコンフィギュラブル回路、例えば、ＦＰＧＡのような微細デバイス、または、それよりも大きなリコンフィギュラブル回路のグリッドに使用されるビルディングブロック１００を示す。典型的には、ビルディングブロック１００は、多くのタスクを実行することのできる論理ユニット１２０を含み、論理ユニット１２０を配置することによって、その論理ユニット１２０からタスクを選択することができる。ビルディングブロック１００の論理ユニット１２０は、コネクションボックス１５０Ｖを介して、第１のルーティング回路網１３０に結合され、第１の方向において、例えば、垂直方向において、グリッド内のその他のビルディングブロックとのデータ通信を可能にする。さらに、論理ユニット１２０は、コネクションボックス１５０Ｈを介して、第２のルーティング回路網１４０に結合され、第２の方向において、例えば、水平方向において、グリッド内のその他のビルディングブロックとのデータ通信を可能にする。第１のルーティング回路網１３０と第２のルーティング回路網１４０とは、スイッチボックス１６０内の複数のプログラマブルスイッチ１６２を介して、結合される。プログラマブルスイッチの使用は、グリッドの設定可能なルーティング、すなわち、ビルディングブロックのデータ通信配線を可能にする。ビルディングブロック１００は、さらに、ビルディングブロックをグリッド内のその他のビルディングブロックに結合するための複数の配線１２２を含む。
【００１８】
ビルディングブロック１００のこの構造は、限定するものではない単なる例であることを強調する。本発明の教示から逸脱することなく、規則的なグリッドに使用されるビルディングブロックのその他のよく知られた構造を、同様に、受け入れることができる。さらに、当業者には、ルーティング回路網１３０および１４０およびスイッチボックス１６０によって形成されるルーティング構造は、きわめて概略的にかつ限定するものではない単なる例として示されることが分るはずである。より複雑な構造を考え出すことができ、それらの構造においては、本発明の範囲を逸脱することなく、単方向、双方向、および、バッファー付きのルーティング構造が存在してもよい。
【００１９】
好ましくは、リコンフィギュラブル回路のグリッドは、ビルディングブロック１００のような実質的に同一のいくつかのビルディングブロックによって組み立てられる。なぜなら、これは、わずかな設計作業量しか必要としないからである。しかしながら、図１から分るように、ルーティング回路網１３０および１４０は、ビルディングブロック１００の２つの辺にしか存在しないので、そのようなビルディングブロックは、典型的には、非対称である。この非対称性は、グリッドが実質的に非対称であることに反映され、結果として、ルーティング回路網が存在しないビルディングブロックの辺によって形成されるグリッドのエッジにルーティングハードウェアがないことになる。したがって、これまでは、リコンフィギュラブル回路のグリッドは、完全なルーティング回路網がグリッド上に存在することを保証するための複数の種類のビルディングブロックを使用することによって、あるいは、ただ１つの種類のビルディングブロック１００を使用することによってもたらされるグリッドのエッジにおけるルーティング問題を回避するための専用のグリッド取り巻きルーティング回路網を使用することによって、組み立てられてきた。
【００２０】
しかしながら、図２ａ〜図２ｃに示される本発明のセルを使用することによって、専用のグリッド取り巻き回路網を必要とせずに、ただ１つの種類のビルディングブロック１００を使用することができる。なぜなら、これらのセルの使用は、ルーティング回路網が存在しないグリッドのエッジにおけるルーティング問題を解決するからである。図２ａには、ルーティングセルが示される。ルーティングセル２００は、スイッチセル２３０に結合されたルーティング配線２１０を含み、そのスイッチセル２３０は、プログラマブルスイッチ２３２を含む。また、そのようなスイッチセル２３０は、隣接するルーティングセルを互いに接続するための独立したビルディングブロックとして使用されてもよいが、これには、異なる種類のビルディングブロックの数が増加するという欠点がある。さらに、ルーティングセル２００は、ビルディングブロック１００の論理セルをルーティングセル２００に接続するためのコネクションボックス２２０を含む。好ましくは、ルーティングセル２００は、さらに、グリッドを取り囲むルーティング回路網をグリッド外ハードウェアに接続するための配線２４０を有するが、この機能は、また、配線セルを使用することによって（以下で説明するように）、実施されてもよい。図２ａに示されるルーティングセル２００のレイアウトは、単なる例として、論理セル１００のルーティング構造に対応していることを強調する。論理セル１００のルーティング構造が変更されると、それに従って、ルーティングセル２００の構造も変更されることは明らかなことである（以下で説明するように）。
【００２１】
図２ｂにおいて、プログラマブルスイッチ２５２を含むスイッチセル２５０が、示される。そのようなスイッチセルは、グリッドを取り囲むルーティング回路網の様々なセグメントを互いに接続するのに使用されてもよい。好ましい解決方法においては、グリッドを取り囲むルーティング回路網を完成するには１つのスイッチセル２５０しか必要としない。スイッチセル２５０は、本発明の範囲から逸脱することなく、ルーティングセル２００内に組み込まれてもよいことを強調する。
【００２２】
図２ｃにおいて、配線セル２６０が、示される。そのような配線セルは、グリッドのエッジにおいてビルディングブロック１００をグリッド外ハードウェアに互いに接続するのに使用されてもよい。配線セル２６０は、グリッドのエッジにおけるビルディングブロック１００内に組み込まれてもよい。これは、ビルディングブロック１００を、そのまま、グリッド内のその他のビルディングブロックとほぼ同じものにする。しかしながら、配線セル２６０は、独立したセルであることが望ましく、それによって、ただ１つの種類のビルディングブロック１００を設計するだけでよい。さらに、配線セルは、ルーティングセル２００自身にそのような機能がなければ、独立したセルとして、ルーティングセル２００が存在するグリッドのエッジに存在してもよい。
【００２３】
図３には、図１に示されるビルディングブロックによって形成されたグリッドと、図２に示される様々な構成要素との例としての組み合わせが、示される。集積回路３００は、規則的なグリッドとして編成された複数のビルディングブロック１００ａ〜１００ｉを有する。ビルディングブロック１００ａ，１００ｄ，１００ｇ、ビルディングブロック１００ｂ，１００ｅ，１００ｈ、および、ビルディングブロック１００ｃ，１００ｆ，１００ｉの第１のルーティング回路網は、ビルディングブロック１００ａ〜１００ｉのそれぞれのスイッチセルを介して、垂直ルーティング構造をグリッド上に形成する。ビルディングブロック１００ａ，１００ｂ，１００ｃ、ビルディングブロック１００ｄ，１００ｅ，１００ｆ、および、ビルディングブロック１００ｇ，１００ｈ，１００ｉの第２のルーティング回路網は、ビルディングブロック１００ａ〜１００ｉのそれぞれのスイッチセルを介して、水平ルーティング構造をグリッド上に形成する。それぞれのビルディングブロック１００ａ〜１００ｉの非対称性は、形成されたＩＣ３００のグリッドの非対称性に反映される。グリッドは、グリッドの上側エッジおよび左側エッジにおいて、ルーティング構造を含んでいない。
【００２４】
ここで、本発明によれば、グリッドのエッジにすでに存在するルーティング構造は、完成したグリッドを取り囲むルーティング回路網２８０を形成するのに使用されている。ルーティング回路網２８０の第１の部分は、ルーティング構造３３０によって形成され、そのルーティング構造３３０は、複数のビルディングブロック、すなわち、ビルディングブロック１００ｃ，１００ｆ，１００ｉからなる第１の部分集合の第１のルーティング回路網を含む。ルーティング回路網２８０の第２の部分は、さらなるルーティング構造３４０によって形成され、そのルーティング構造３４０は、複数のビルディングブロック、すなわち、ビルディングブロック１００ｇ，１００ｈ，１００ｉからなる第２の部分集合の第２のルーティング回路網を含む。さらに、ルーティングセル２００が、ルーティングセル２００をビルディングブロック１００ａ，１００ｂ，１００ｃの上側エッジおよびビルディングブロック１００ａ，１００ｄ，１００ｆの左側エッジに結合することによって、グリッドの上側エッジおよび左側エッジにルーティング手段を提供するのに使用される。このようにして、ルーティングセル２００は、また、グリッドを取り囲むルーティング回路網２８０の一部を形成する。さらなるルーティング構造３４０が、スイッチセル２５０を介して、ルーティングセル２００によって形成されたルーティング回路網２８０の一部分に結合され、そのスイッチセル２５０は、ルーティング回路網２８０を完成させる。ルーティング回路網２８０は、ただ単に分りやすいように太線によって示される。ＩＣ３００の構造は、配線セル２６０によって完成し、その配線セル２６０は、ビルディングブロック１００ｇ，１００ｈ，１００ｉおよびビルディングブロック１００ｃ，１００ｆ，１００ｉのそれぞれを、グリッド外ハードウェア、例えば、データ通信バスまたはその他の通信ハードウェアに結合する。その結果として、リコンフィギュラブルＩＣ３００が、高い対称性および大きなルーティング柔軟性を備えて得られ、有利には、これは、多数のアプリケーションをＩＣ３００のグリッドにマッピングできることを意味する。
【００２５】
図３に示される実施形態においては、ルーティングセル２００は、配線セル２６０のような配線セルを含み、グリッドと外部ハードウェアとの望ましい相互接続性を提供する。しかしながら、これは、かならずしも必要ではないことに注意されたい。ルーティングセル２００は、そのような機能を含まなくてもよく、その場合、配線セル２６０が、グリッドのすべてのエッジに提供されてもよい。さらに、本発明の範囲から逸脱することなく、ルーティングセル２００のその他のレイアウトが可能であることを強調する。グリッドの左側に存在するルーティングセル２００は、例えば、ただ１つのビルディングブロックの横に並べて配置されてもよく、その場合、スイッチセル２５０が、ＩＣ３００の左上エッジに配置される。当然ながら、左、右、上、および、下のような用語は、限定するものと考えるべきではなく、それらは、ただ単に、分りやすくするために使用されるにすぎない。さらに、ルーティングセルは、例えば、ルーティングセル２００内に複数のスイッチセル２３０を含むことによって、１つよりも多いビルディングブロック１００を分担するように設計されてもよい。そのような設計においては、ルーティングセル２００は、典型的には、いくつかのビルディングブロックのためのルーティングを提供し、そのビルディングブロックの数は、含まれるスイッチセル２３０の数に等しい。
【００２６】
ＩＣ３００のグリッドを形成するビルディングブロック１００が、正方形ではなく長方形であれば、２つの寸法のルーティングセル２００を使用しなければならない。そのようなＩＣ３００の例および概略レイアウトが、図４に示される。
【００２７】
ルーティングセル２００の第１の部分集合、すなわち、ルーティングセル２００ａ〜２００ｃは、複数のビルディングブロックからなる第３の部分集合、すなわち、ビルディングブロック１００ａ〜１００ｃを、それらの長方形の第１の辺を介して、ルーティング回路網内に組み込むのに使用され、ルーティングセル２００の第２の部分集合、すなわち、ルーティングセル２００ｄ〜２００ｆは、複数のビルディングブロックからなる第４の部分集合、すなわち、ビルディングブロック１００ａ，１００ｄ，１００ｇを、それらの長方形の第２の辺を介して、ルーティング回路網内に組み込むのに使用され、第１の辺は、長さが第２の辺と異なる。典型的には、ルーティングセルの第１の部分集合は、ビルディングブロック１００の幅に対応する長さｗ１を有し、ルーティングセル２００の第２の部分集合は、ビルディングブロック１００の長さに対応する長さｗ２を有する。
【００２８】
同じことが、配線セル２６０についても言える。配線セル２６０の第１の部分集合、すなわち、ルーティングセル２６０ａ〜２６０ｃは、複数のビルディングブロックの部分集合、すなわち、ビルディングブロック１００ａ〜１００ｃを、それらの長方形の第１の辺を介して、グリッド外ハードウェアに接続するのに使用され、配線セル２６０の第２の部分集合、すなわち、配線セル２６０ｄ〜２６０ｆは、複数のビルディングブロックのさらなる部分集合、すなわち、ビルディングブロック１００ｃ，１００ｆ，１００ｉを、それらの長方形の第２の辺を介して、グリッド外ハードウェアに接続するのに使用される。
【００２９】
図５は、本発明による集積回路３００を有する電子デバイス５００を示す。集積回路３００は、典型的には専用タスクを実行するように構成されたプロセッシングエレメント５２０、および、例えば、ＲＡＭ、ＲＯＭ、または、その他のメモリーデバイスのようなデータ記憶エレメント５４０と同じように、データ通信バス５６０またはその他のデータ通信アーキテクチャーに結合される。携帯電話、ナビゲーションシステム、または、ディジタルデータを処理するその他のデバイスであってもよい電子デバイス５００は、本発明による集積回路３００が存在することによって利益を得る。なぜなら、集積回路３００は、そのようなリコンフィギュラブル回路が実行できる可能のあるタスクの数を増加させる大きなルーティング柔軟性と、グリッドに使用される１つの種類のビルディングブロックを設計すればよいためにそのような回路の設計作業量が比較的に少ないことによる低いコストとを両立させるからである。したがって、電子デバイス５００は、他社に負けない価格で販売することができ、かつ、ＩＣ３００上にマッピングすることのできるきわめて多いタスクの数によって、用途の広い機能を提供することができる。
【００３０】
本発明の教示は、ＦＰＧＡおよびその他のリコンフィギュラブル回路のような集積回路のきわめて効率的な設計方法を可能にする。
【００３１】
上述したように、そのような回路の設計における大きな障害は、集積回路のグリッドを形成するビルディングブロックの設計である。ただ１つの種類のセルを設計することによってもたらされる上述した非対称性に関連するルーティング問題を回避するために、少なくとも２つの種類の対称的かつ相補的なビルディングブロックが、設計される。これは、集積回路の設計プロセスの複雑さおよび製品化に要する時間を増大させ、それは、製品化に要する短い時間が半導体製品の販売を成功させる重要な要素である市場においては都合の悪いことである。
【００３２】
本発明の方法においては、第１のステップは、複数の実質的に同一の互いに接続されるビルディングブロックを設計することを含み、それぞれのビルディングブロックは、論理セルを含み、さらに、ビルディングブロックは、第１の方向におけるグリッド上の論理セルと第１のさらなる論理セルとの間のデータ通信のために、論理セルに結合された第１のルーティング手段を有し、第２の方向におけるグリッド上の論理セルと第２のさらなる論理セルとの間のデータ通信のために、論理セルに結合された第２のルーティング手段を有し、さらに、ビルディングブロックは、第１のルーティング手段を第２のルーティング手段に結合するためのスイッチ手段を含む。言い換えれば、ただ１つの種類のビルディングブロックしか設計されず、それが、集積回路の開発に要する設計作業量を減少させる。その後に、複数のビルディングブロックが、規則的なグリッドとして配列される。
【００３３】
配列されたグリッドにおいてルーティング非対称性の悪い結果を回避するために、本発明による方法は、さらに、グリッドを取り囲むルーティング回路網の一部分を形成するそれら自身の第１のルーティング手段を有する複数のビルディングブロックからなる第１の部分集合と、グリッドを取り囲むルーティング回路網のさらなる一部分を形成するそれら自身の第２のルーティング手段を有する複数のビルディングブロックからなる第２の部分集合と、グリッドを取り囲むルーティング回路網を完成させるための複数のルーティングセルおよびスイッチセルとを含むことによって、グリッドを取り囲むルーティング回路網を設計するステップを有する。グリッドのエッジにすでに存在するルーティングハードウェアと専用のルーティングセルおよびスイッチセルとを組み合わせたものは、ただ１つの種類のビルディングブロックによって組み立てられたグリッドのルーティング非対称性を除去する。専用のルーティングセルおよびスイッチセルは、異なる設計ステップにおいて容易に設計することのできる比較的に簡素なモジュールである。その結果として、本発明の方法は、集積回路の完成した対称的なルーティングインフラストラクチャーの設計とだけ組み合わされるただ１つの種類のビルディングブロックの設計を必要とする。
【００３４】
本発明の方法によって設計される集積回路として組み合わされる様々な構成要素がモジュール式であるという特徴は、取分け、この方法が、意図する集積回路を設計するためのコンピュータ支援設計（ＣＡＤ）ツールに組み込まれるのに適したものにすることを強調する。
【００３５】
上述した実施形態は、本発明を限定するものではなく説明するものであること、また、当業者は、添付の特許請求の範囲から逸脱することなく、多くの異なる実施形態を考え出すことができることに注意されたい。特許請求の範囲においては、括弧内のいかなる符号も特許請求の範囲を限定するものと解釈されるべきではない。「備える」という用語は、特許請求の範囲記載されたもの以外の構成要素またはステップを除外するものではない。構成要素に先行する「ａ」または「ａｎ」という語は、複数のそのような要素の存在を除外するものではない。いくつかの手段を列挙した物の請求項において、それらのいくつかの手段は、まったく同一のハードウェア構成要素によって実施されてもよい。特定の手段が従属請求項で互いに引用されるという単なる事実は、それらの手段の組み合わせを有利に使用できないことを意味するものではない。
【図面の簡単な説明】
【００３６】
【図１】ビルディングブロックのグリッドを有するＩＣの例としてのそのようなビルディングブロックを示す図である。
【図２ａ】本発明による様々な種類のルーティングセルを示す図である。
【図２ｂ】本発明による様々な種類のルーティングセルを示す図である。
【図２ｃ】本発明による様々な種類のルーティングセルを示す図である。
【図３】本発明による周囲ルーティング回路網を備えたＩＣを示す図である。
【図４】本発明による周囲ルーティング回路網を備えたさらなるＩＣを示す図である。
【図５】本発明によるＩＣを有する電子デバイスを示す図である。
【図１】
2005531964.tif 000003
2005531964.tif 000004
【図３】
2005531964.tif 000005
【図４】
2005531964.tif 000006
【図５】
2005531964.tif 000007
【国際調査報告】
2005531964.tif 000008
2005531964.tif 000009