(57)【要約】集積回路（ＩＣ）がいくつかの機能ブロック（ＦＢ）を含み、その機能ブロックの少なくとも１つは再構成可能である。各ＦＢは、再構成可能な機能ブロックでも、または再構成不能な機能ブロックでも、または「ネストされた」機能を付加して再帰的に拡張されたブロックでもよい。このＩＣはさらにいくつかの入力ピン、いくつかの出力ピン、およびいくつかのクロスバ・デバイスを含んでいる。各素子は、少なくともＩＣレベルにおいて、入力信号はすべてクロスバ・デバイスの第１のサブセットを経由してＦＢに供給され、内部信号はすべてクロスバ・デバイスの第２のサブセットを経由して１つのＦＢから別のＦＢへ送信され、かつ出力信号はすべてクロスバ・デバイスの第３のサブセットを経由して各ＦＢから出力ピンへ送信されるように結合されている。配線し易さおよび速度を増加させるために、各クロスバ・デバイスの出力は単一のファンアウトを有する。さらに、各クロスバ・デバイスは別のクロスバ・デバイスに対して１つの入力だけを供給することができる。
2005505978.tif 000002
【特許請求の範囲】
【請求項１】
第１の複数の入力と、
第１の複数の出力と、
第１の１つまたは複数の機能ブロックと、
前記第１の複数の入力、第１の複数の出力、第１の１つまたは複数の機能ブロックに結合されて、前記第１の入力を前記第１の１つまたは複数の機能ブロックに、前記第１の１つまたは複数の機能ブロックを互いに、また前記第１の１つまたは複数の機能ブロックを前記第１の出力にそれぞれ排他的に結合する第１の複数のクロスバ・デバイスとを備え、
前記第１の１つまたは複数の機能ブロックが、前記入力、出力、１つまたは複数の機能ブロック、クロスバ・デバイスの１つまたは複数の再帰的にネストされた集合を含む少なくとも第１の機能ブロックを備え、前記第１の複数のクロスバ・デバイスが前記第１の入力を前記第１の１つまたは複数の機能ブロックに、前記第１の１つまたは複数の機能ブロックを互いに、また前記第１の１つまたは複数の機能ブロックを前記第１の出力にそれぞれ結合するのと同じように、ネストされた各集合のクロスバ・デバイスがネストされた集合の入力、出力、１つまたは複数の機能ブロックを相互に接続している装置。
【請求項２】
前記第１の複数のクロスバ・デバイスが、第１、第２、第３のサブセットを含み、前記第１のサブセットが前記第１の複数の入力信号を前記第１の１つまたは複数の機能ブロックの入力へ送信し、前記第２のサブセットが前記第１の１つまたは複数の機能ブロックの出力を前記第１の１つまたは複数の機能ブロックの入力へ送信し、かつ前記第３のサブセットが前記第１の１つまたは複数の機能ブロックの出力を前記第１の複数の出力へ配線する請求項１に記載の装置。
【請求項３】
前記サブセットの少なくとも２つが同じサブセットである請求項２に記載の装置。
【請求項４】
３つのサブセットがすべて同じサブセットである請求項２に記載の装置。
【請求項５】
前記第１の機能ブロックが、
第２の複数の入力と、
第２の複数の出力と、
第２の１つまたは複数の機能ブロックと、
前記第２の複数の入力、第２の複数の出力、第２の１つまたは複数の機能ブロックに結合されて、前記第１の複数のクロスバ・デバイスが、前記第１の入力を前記第１の１つまたは複数の機能ブロックに、前記第１の１つまたは複数の機能ブロックを互いに、また前記第１の１つまたは複数の機能ブロックを前記第１の出力にそれぞれ結合するのと同じように、前記第２の複数の入力を前記第２の１つまたは複数の機能ブロックに、前記第２の１つまたは複数の機能ブロックを互いに、また前記第２の１つまたは複数の機能ブロックを前記第２の複数の出力にそれぞれ排他的に結合する第２の複数のクロスバ・デバイスとを備える請求項１に記載の装置。
【請求項６】
前記第２の複数のクロスバ・デバイスが、第１、第２、第３のサブセットを含み、前記第１のサブセットが前記第２の複数の入力信号を前記第２の１つまたは複数の機能ブロックの入力へ配線し、前記第２のサブセットが前記第２の１つまたは複数の機能ブロックの出力を前記第２の１つまたは複数の機能ブロックの入力へ配線し、かつ前記第３のサブセットが前記第２の１つまたは複数の機能ブロックの出力を前記第２の複数の出力へ配線する請求項１に記載の装置。
【請求項７】
前記サブセットの少なくとも２つが同じサブセットである請求項６に記載の装置。
【請求項８】
３つのサブセットがすべて同じサブセットである請求項６に記載の装置。
【請求項９】
前記第２の１つまたは複数の機能ブロックが、入力、出力、１つまたは複数の機能ブロック、クロスバ・デバイスの１つまたは複数の再帰的にネストされた集合を含む第２の機能ブロックを備え、前記第１の複数のクロスバ・デバイスが前記第１の入力を前記第１の１つまたは複数の機能ブロックに、前記第１の１つまたは複数の機能ブロックを互いに、また前記第１の１つまたは複数の機能ブロックを前記第１の出力にそれぞれ結合するのと同じように、ネストされた各集合のクロスバ・デバイスが、ネストされた集合の入力、出力、１つまたは複数の機能ブロックを相互に接続している請求項５に記載の装置。
【請求項１０】
前記第２の機能ブロックが、
第３の複数の入力と、
第３の複数の出力と、
第３の１つまたは複数の機能ブロックと、
前記第３の複数の入力、第３の複数の出力、第３の１つまたは複数の機能ブロックに結合されて、前記第２の複数のクロスバ・デバイスが前記第２の入力を前記第２の１つまたは複数の機能ブロックに、前記第２の１つまたは複数の機能ブロックを互いに、前記第２の１つまたは複数の機能ブロックを前記第２の出力にそれぞれ結合し、前記第１の複数のクロスバ・デバイスが前記第１の入力を前記第１の１つまたは複数の機能ブロックに、前記第１の１つまたは複数の機能ブロックを互いに、前記第１の１つまたは複数の機能ブロックを前記第１の出力にそれぞれ結合するのと同じように、前記第３の複数の入力を前記第３の１つまたは複数の機能ブロックに、前記第３の１つまたは複数の機能ブロックを互いに、また前記第３の１つまたは複数の機能ブロックを前記第３の複数の出力にそれぞれ排他的に結合する第３の複数のクロスバ・デバイスとを備える請求項９に記載の装置。
【請求項１１】
前記装置が集積回路の形成に使用される埋込論理ブロックである請求項１に記載の装置。
【請求項１２】
前記装置が集積回路である請求項１に記載の装置。
【請求項１３】
前記入力、出力、１つまたは複数の機能ブロック、クロスバ・デバイスの１つまたは複数の再帰的にネストされた集合の少なくとも１つが、
それぞれの論理ブロックがｎ個の入力とｏ個の出力（ｍ、ｎおよびｏは整数）を有し、少なくとも１つの集合の出力として与えられる前記ｏ出力のサブセットを持つｍ個の再構成可能な論理ブロックと、
それぞれのクロスバ・デバイスが、前記ｍ個の再構成可能な論理ブロックの前記ｎ個の入力に対応して結合されたｍ個の出力を有するｎ個のクロスバ・デバイスとを備え、前記ｍ個の再構成可能な論理ブロックの出力が、最大限、前記ｎ個のクロスバ・デバイスの入力の第１のサブセットと、前記ｎ個のクロスバ・デバイスの入力の第２のサブセットに結合された少なくとも１つのネストされた集合の各入力とに結合されている請求項１に記載の装置。
【請求項１４】
前記装置の各クロスバ・デバイスの出力が単一のファンアウトを有し、前記装置の各クロスバ・デバイスはその装置の別のクロスバ・デバイスに対して１つの入力だけを供給する請求項１３に記載の装置。
【請求項１５】
前記装置の各クロスバ・デバイスの出力が単一のファンアウトを有し、前記装置の各クロスバ・デバイスはその装置の別のクロスバ・デバイスに対して１つの入力だけを供給する請求項１に記載の装置。
【請求項１６】
それぞれがｎ個の入力とｏ個の出力（ｍ、ｎ、ｏは整数）を有し、前記ｏ個の出力のサブセットが機能ブロックの出力として与えられるｍ個の再構成可能な論理ブロックと、
それぞれが、前記ｍ個の再構成可能な論理ブロックの前記ｎ個の入力に対応して結合されたｍ個の出力を有するｎ個のクロスバ・デバイスと
を備え、前記ｍ個の再構成可能な論理ブロックの出力が、最大限、前記ｎ個のクロスバ・デバイスの入力の第１のサブセットと、前記ｎ個のクロスバ・デバイスの入力の第２のサブセットに結合された前記機能ブロックの各入力とに結合されている機能ブロック。
【請求項１７】
前記機能ブロックが集積回路の形成に使用される埋込論理ブロックである請求項１５に記載の機能ブロック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路（ＩＣ）の分野に関する。さらに詳細に述べると、本発明は再構成可能な集積回路の構成に関する。
【背景技術】
【０００２】
ＩＣの設計および製造技術は一般に知られている。長年にわたって、ＩＣの設計および製造技術が向上し続けているので、単一のＩＣにパッケージ化される電子素子の数が増加しており、これら素子間の相互接続がますます複雑になっている。密度および複雑性が増すにつれ、ＩＣ製造マスクを作成する費用もこれに応じてかなり増加した。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
論理の全体という観点で見た場合、最近のＩＣ製品ファミリの異なった商品間、または連続して提供される商品間で、それらの機能が比較的わずかかしか増加していないことが多い。それゆえ、新しいＩＣマスクのコストが高いことならびにその他の要因を考慮すると、より多くのＩＣ設計者が、一部を再構成することによって異なった商品間での機能の変化を吸収できるＩＣを得ることを望んでいる。
【０００４】
米国特許第５５７４３８８号はエミュレーション応用向けに設計された再構成可能な集積回路を開示している。集積されたデバッグ装置を特に含むこの構成は所期の用途に特に適している。しかしながら、汎用目的の部分的に再構成可能な集積回路は別の一連の課題を提示している。１つの望ましい特性は、使用する素子面積と配線し易さの間のより柔軟性のあるトレードオフを提供するスケーラビリティである。したがって、再構成可能な集積回路構成の改良が望まれている。
【課題を解決するための手段】
【０００５】
集積回路（ＩＣ）がいくつかの機能ブロックを含み、その機能ブロックの少なくとも１つは再構成可能な機能ブロックである。各機能ブロックは、再構成可能な機能ブロックでも、または再構成不能な機能ブロックでも、または同一構成のものと相互接続された「ネストされた」機能を付加して再帰的に拡張されたブロックでもよい。このＩＣはさらにいくつかの外部入力ピン、およびいくつかの外部出力ピンを備えている。
【０００６】
各素子は、少なくともＩＣレベルにおいて、入力信号はすべてクロスバ・デバイスの第１のサブセットを経由して外部入力ピンから機能ブロックに送信され、内部信号はすべてクロスバ・デバイスの第２のサブセットを経由して１つの機能ブロックから別の機能ブロックへ送信され、かつ出力信号はすべてクロスバ・デバイスの第３のサブセットを経由して各機能ブロックから出力ピンへ送信されるように結合されている。
【０００７】
１つの実施態様において、各クロスバ・デバイスの出力は単一のファンアウトを有する。さらに、各クロスバ・デバイスは別のクロスバ・デバイスに対して１つの入力だけを供給することができる。
【発明を実施するための最良の形態】
【０００８】
本発明を、添付図面に示した模範的な実施形態によって説明するが、本発明はこれに限定されるものではない。図中、同一の参照数字は同一の素子を表している。
図１はスケーラブル・アーキテクチャを組み込んだ、１つの実施形態による本発明の再構成可能な集積回路の概略図である。
図２はスケーラブル・アーキテクチャを組み込んだ、１つの実施形態による本発明の再構成可能な集積回路の概略図である。
図３は１つの実施形態による、再構成可能な機能ブロックのさらに詳細な図である。
図４は１つの実施形態による、クロスバ間の相互接続を示す図である。
図５は図１と図２の再構成可能な集積回路の１つの実施形態をさらに詳細に示した図である。
図６は図１と図２の再構成可能な集積回路の別の実施形態をさらに詳細に示した図である。
図７は図１と図２の再構成可能な集積回路の別の実施形態をさらに詳細に示した図である。
【０００９】
以下の説明においては、本発明の完全な理解を得るために、説明上、特定の番号、材質および構成を定めておく。しかしながら、本発明は特定の詳細な説明なしでも実施できることが当業者には明白であろう。他の例では、本発明が不明瞭にならないようによく知られた特徴は省略するかまたは簡略化している。
【００１０】
また、「１つの実施形態において」という語句が繰り返し使用されている。この語句は、同じ実施形態を指す場合も、別の実施形態を指す場合もある。本出願で使用されているような、「備えている」、「含む」、「有する」等の用語は同義語である。
【００１１】
図１について説明すると、１つの実施形態による本発明の再構成可能な集積回路（１００）の概要をブロック図で示す。図に示すように集積回路（ＩＣ）１００はいくつかの機能ブロック１０２といくつかのクロスバ・デバイス１０４を含んでいる。ＩＣ１００はさらにいくつかの外部出力ピンと入力ピンを含んでいる。機能ブロック１０２はＩＣ１００の論理を与え、一方、ロスバ・デバイス１０４は信号をＩＣ１００の内外に送信するとともに、ＩＣ１００内の各機能ブロック間で送信するための信号送信経路を提供している。以下でより詳細に説明するように、有利なことには、新しいアーキテクチャにしたがって各素子がひとまとめに結合されたことにより、簡単に拡張縮小できる方法（スケーラブル方法）で所望の配線経路を達成することが可能になり、素子が使用する面積対配線し易さのトレードオフの柔軟性が増している。
【００１２】
機能ブロック１０２は、再構成不能な機能ブロック１０２ａ、再構成可能な機能ブロック１０２ｂ、および／または「ネストされた」機能ブロック１０２ｃを含む。たとえば、機能ブロック１０２は、プロセッサ・コア、記憶装置制御器、バス・ブリッジなどの再構成不能な機能ブロック１０２ａを含んでいる。それに加えて、またはその代わりに、機能ブロック１０２は、ＰＬＤまたはＦＰＧＡで見られるものと同様の再構成可能回路、ＩＳＡバスもしくはＥＩＳＡバスをサポートしているものの間、または１２ＣもしくはＳＰＩシリアル・コミュニケーション・インターフェースをサポートしているものの間などで再構成してかわりの機能をサポートするものなどの再構成可能な機能ブロック１０２ｂ含んでいてもよい。「ネストされた」機能ブロック１０２ｃ内の機能ブロックは、機能ブロック１０２、外部入力と外部出力、およびクロスバ・デバイス１０４をＩＣレベル（「ルート」または「最も高い」または「最も外側の」レベルとも呼ばれる）で相互に接続するために、同一の相互接続アーキテクチャに従って体系化され、かつ一緒に相互接続されている。「ネストされた」機能ブロックの各集合は、再構成不能な機能ブロック、再構成可能な機能ブロック、および／または同一の相互接続アーキテクチャに従って相互接続されている「ネストされた」機能ブロックを含むことができる。最終的に、「最も深い」ネスト・レベル（「最も低い」または「最も内側の」ネスト・レベルとも呼ばれる）で、各々の機能ブロックは、同一の相互接続アーキテクチャに従って相互接続された再構成不能な機能ブロックかまたは再構成可能な機能ブロックである。
【００１３】
各クロスバ・デバイス１０４は、数が固定した入力と数が固定した出力を有している。その出力はすべて、制約なしにどのような入力からも同時に経路を通して送信することができる（これは完全に実装されたクロスバとも呼ばれる）。クロスバ・デバイス１０４の他の重要な特性は、信号が常にクロスバ・デバイスを通って同じ方向に伝わる（すなわち、入力から出力へ）ことである。しかし、これは、通過トランジスタ双方向クロスバ・デバイスまたは有線ないしは一方向クロスバ・デバイスまたはバッファーとしてはたらく、一方向クロスバ・デバイスのような任意のクロスバ・デバイスで実施することができる。図１に示したように、ＩＣレベルにおいて、各素子は以下の方法でお互いに結合される。
ａ）クロスバ・デバイス１０４の第１のサブセットが、コネクション１５６とコネクション１５０の第１のサブセットを経由して外部入力ピンを機能ブロック１０２の入力の第１のサブセットに配線している。
ｂ）次に、クロスバ・デバイス１０４の第２のサブセットが、コネクション１５４の第１のサブセットとコネクション１５０の第２のサブセット経由で、機能ブロック１０２の出力の第１のサブセットを機能ブロック１０２の入力の第２のサブセットに配線している。
ｃ）さらに、クロスバ・デバイス１０４の第３のサブセットが、コネクション１５４の第２のサブセットおよびコネクション１５２経由で機能ブロック１０２の出力の第２のサブセットを外部出力ピンに配線している。
【００１４】
したがって、外部入力ピンはすべて、クロスバ・デバイス１０４の第１のサブセットを経由して各機能ブロック１０２に与えられている。内部信号はすべて、クロスバ・デバイス１０４の第２のサブセットを経由して１つの機能ブロック１０２から別の機能ブロック１０２に送られ、また出力信号はすべて、クロスバ・デバイス１０４の第３のサブセットを経由して各機能ブロック１０２から外部出力ピンに送られる。
【００１５】
このクロスバ・デバイス１０４の第１、第２および第３のサブセットは重なる場合もあれば重ならない場合もあり、また３つのサブセットのそれぞれがクロスバ・デバイス１０４の集合全体を含んでいても良いことに注意する必要がある。同様に、機能ブロック１０２の入力の第１および第２のサブセットが重なる場合もあれば重ならない場合もあり、また２つのサブセットのそれぞれが機能ブロック１０２の入力の集合全体を含んでいても良い。同じように、機能ブロック１０２の出力の第１および第２のサブセットが重なる場合もあれば重ならない場合もあり、また２つのサブセットのそれぞれが機能ブロック１０２の出力の集合全体を含んでもよい。
【００１６】
図２に示すように、ネストされた機能ブロック１０２ｃの各集合は、いくつかの機能ブロック２０２（「ネストされた」機能ブロック２０２ｃの集合か、再構成不能な機能ブロック２０２ａか、再構成可能な機能ブロック２０２ｂでよい）とクロスバ・デバイスを含んでいる。この機能ブロック２０２は、ＩＣレベルにおいてトポロジ的には機能ブロック１０２と類似の位置を占めており、一方、クロスバ・デバイス２０４は、ＩＣレベルにおいてトポロジ的にクロスバ・デバイス１０４と類似の位置を占めている。入力はＩＣレベルにおいてトポロジ的に外部入力ピンと類似の位置を占めており、出力はＩＣレベルにおいてトポロジ的に外部出力ピンと類似の位置を占めている。したがって、
ａ）クロスバ・デバイス２０４の第１のサブセットが、コネクション２５６およびコネクション２５０の第１のサブセット経由で入力を機能ブロック２０２の入力の第１のサブセットに配線する。
ｂ）次に、クロスバ・デバイス２０４の第２のサブセットが、コネクション２５４の第１のサブセットおよびコネクション２５０の第２のサブセット経由で機能ブロック２０２の出力の第１のサブセットを機能ブロック２０２の入力の第２のサブセットに配線する。
ｃ）さらに、クロスバ・デバイス２０４の第３のサブセットが、コネクション２５４の第２のサブセットおよびコネクション２５２経由で機能ブロック２０２の出力の第２のサブセットを出力に配線する。
【００１７】
したがって、入力はすべて、クロスバ・デバイス２０４の第１のサブセットを経由して各機能ブロック２０２に提供されている。内部信号はすべて、クロスバ・デバイス２０４の第２のサブセットを経由して１つの機能ブロック２０２から別の機能ブロック２０２に送られ、また出力信号はすべて、クロスバ・デバイス２０４の第３のサブセットを経由して各機能ブロック２０２から外部出力に送られる。
【００１８】
ＩＣレベルと同様に、クロスバ・デバイス２０４の第１、第２、第３のサブセットは重なる場合もあれば重ならない場合もあり、また３つのサブセットのそれぞれがクロスバ・デバイス２０４の集合全体を含んでいても良い。同様に、機能ブロック２０２の入力の第１および第２のサブセットが重なる場合もあれば重ならない場合もあり、また２つのサブセットのそれぞれが機能ブロック２０２の入力の集合全体を含んでいても良い。同じように、機能ブロック２０２の出力の第１および第２のサブセットは重なる場合もあれば重ならない場合もあり、また２つのサブセットのそれぞれが機能ブロック２０２の出力の集合全体を含んでいても良い。
【００１９】
各クロスバ・デバイス２０４はＩＣレベルのクロスバ・デバイス１０４と同じタイプである。
【００２０】
したがって、本発明のもとでは、本発明の各機能ブロック１０２をより良好な素子使用面積と配線し易さ間のトレードオフをもたらすように帰納的に拡張することができる。必要な信号送信経路が比較的少ないＩＣ１００を実装するためには、少数のクロスバ・デバイスと単一レベルの機能ブロックを用い、本発明の相互接続アーキテクチャに従って相互に接続すればよい。しかしながら、より多くの機能ブロックを必要とするＩＣ１００を実装するためには、（ＩＣレベルで各素子を相互に接続するのと同じやり方で各ネスト・レベルの素子を相互に接続して）１つまたは複数の機能ブロック１０２を１回または複数回帰納的に拡張すればよい。それに対応して、各帰納レベルにおいて機能ブロックのいくつかの入力と出力を供給する。このように、本発明のＩＣ１００は、高度にスケーラビリティであり、使用面積、速度および配線し易さのバランスにおいて柔軟性がある。
【００２１】
理解しやすくするために、上記の説明ではＩＣ１００を外部入力ピンおよび外部出力ピンを有するものとしているが、本発明は、入力または出力の一方だけの外部ピン、または入力か出力になるように構成できる外部ピンとして実装することができる。
【００２２】
図３は、図１の再構成可能な機能ブロック１０２ｂおよび図２の再構成可能な機能ブロック２０２ｂの１つの実施形態をさらに詳細に示している。この再構成可能な機能ブロックは再構成可能な論理素子（ＲＬＥ）の集合を含んでいる。ＲＬＥは少数の論理ゲート（一般に１０個以下）に相当する簡単な論理機能とフリップフロップなどの記憶機能を遂行するように構成することができる素子である。たとえば簡単な論理機能は、４入力１出力の真理値表として使用される１６ビットＲＡＭを使用して行なうことができる。図示するように、この実施形態に対して、再構成可能な機能ブロック１０２ｂは、それぞれｎ個の入力３０６ａ〜３０６ｄ（ｎ＝４）とｏ個の出力３０８（ｏ＝１）とを持つｍ個のＲＬＥ３０２ａ〜３０４ｈ（ｍ＝８）、およびそれぞれｍ個の出力３１０ａ〜３１０ｈ（クロスバ・デバイスの出力の数はＲＬＥの数に等しい）を持つｎ個のクロスバ・デバイス３０４ａ〜３０４ｄ（クロスバ・デバイスの数はＲＬＥ入力の数に等しい）を含んでいる。ＲＬＥ３０２ａ〜３０２ｈはいくつかの論理機能を遂行するために再構成することか可能である一方、クロスバ・デバイス３０４ａ〜３０４ｄは、ＲＬＥへの入力信号の配線経路、および各ＲＬＥ間の信号配線経路に柔軟性をもたらす。クロスバ・デバイス３０４ａ〜３０４ｄの出力は、ＲＬＥ３０２ａ〜３０２ｈのそれぞれの入力に結合され（クロスバの出力の数はＲＬＥの数に等しいので、各ＲＬＥはクロスバ・デバイスの各々から１つの入力を受信する）、一方、ＲＬＥ３０２ａ〜３０２ｈのそれぞれの出力はクロスバ・デバイス３０４ａ〜３０４ｄの各々の入力に最大限に結合される。すなわち、ＲＬＥからの出力がｎ１個有り、クロスバ・デバイスがｎ２個有る場合、各々のＲＬＥの出力が１つのクロスバ・デバイスに相互に接続され、最大の相互接続が形成されたクロスバ・デバイスへの相互接続の数と最小の相互接続が形成されたクロスバ・デバイスへの相互接続の数の差は１となる。図示した実施形態に対しては、ＲＬＥ３０２ａ〜３０２ｈからの出力が８つ有り、クロスバ・デバイス３０４ａ〜３０４ｄが４つ有るので、各々のクロスバ・デバイスは２つのＲＬＥから信号を受信する。
【００２３】
再構成可能な機能ブロックの入力はクロスバ・デバイス３０４ａ〜３０４ｄの入力に直接供給され、再構成可能な機能ブロックの出力はＲＬＥの出力のサブセット（これはＲＬＥの出力の集合全体を含んでいてもよい）に直接供給される。図示した実施形態において、クロスバ・デバイス３０４ａ〜３０４ｄの各々が４つの入力を受信し、６つのＲＬＥ３０２ａ〜３０２ｆだけが出力を供給する。
【００２４】
図示しやすくするために、上記の説明では、８つのＲＬＥ、６つの出力、１６の入力を有する再構成可能な機能ブロック１０２ｂを示している。本発明は、より多くのＲＬＥ、より多くの出力およびより多くの入力を有し、同一アーキテクチャのもので実施することができる。
【００２５】
図４は、ＩＣ１００の１つの実施形態のクロスバ・デバイス間の結合を示している。ＩＣ１００のネストされた機能ブロック１０２ｃ／２０２ｃが全体として拡張された場合、ＩＣ１００は、相互に接続された、再構成不能な機能ブロック１０２ａ／２０２ａ、再構成可能な機能ブロック１０２ｂ／２０２ｂ、クロスバ・デバイス、外部入力ピン、外部出力ピンの集合に縮小する。ＩＣ１００の配線可能性を増加させるためには、機能ブロックの出力と機能ブロックの入力との間、外部入力ピンと機能ブロックの入力との間、さらには機能ブロックの出力と外部出力ピンとの間の異なった送信経路を最大数用意することが好ましい。すなわち、クロスバ・デバイス４０２の１つの出力だけが他のクロスバ・デバイス４０４ａ〜４０４ｄの各々に接続される。さらに、より大きな速度をもたらすために、各クロスバ・デバイスの出力の容量負荷は最小限に低減すべきである。すなわち、どのようなクロスバ・デバイスの出力４０６も単一のクロスバ・デバイスの入力に接続される。したがって、本発明のもとでは、クロスバ・デバイス４０２が、最大数のクロスバ・デバイス４０４ａ〜４０４ｄに入力を供給し、その結果、出力容量負荷を最小限に低減しつつ送信経路の数を最大にする。
【００２６】
図５〜７は、図１〜２の再構成可能な集積回路の１つの実施をさらに詳細に示している。図示したように、ＩＣ５００は、「ネストされた」機能ブロック５０２の集合を１個、８個のクロスバ・デバイス５０４ａ〜５０４ｈ、３２個の外部出力ピン、３２個の外部入力ピンおよびコネクション５５０、５５２、５５４、５５６を含んでいる。クロスバ・デバイス５０４ｅ〜５０４ｈは、ＩＣレベルにおけるクロスバ・デバイスの第１のサブセットであり、コネクション５５６、５５０経由で外部入力ピンをネストされた機能ブロック５０２の入力に配線する。クロスバ・デバイス５０４ａ〜５０４ｄは、ＩＣレベルにおけるクロスバ・デバイスの第３のサブセットであり、コネクション５５４、５５２経由でネストされた機能ブロック５０２の出力を外部出力ピンに送る。本発明において、ＩＣレベルにおけるクロスバ・デバイスの第２のサブセットは空である。したがって、「ネスト」された機能ブロック５０２の集合は、ＩＣレベルにおいてトポロジ的に機能ブロック１０２の位置を占め、クロスバ・デバイス５０４ａ〜５０４ｈは、トポロジ的に、ＩＣレベルのクロスバ・デバイス１０４の位置を占め、またコネクション５５０、５５２、５５４、５５６は、トポロジ的に、ＩＣレベルのコネクション１５０、１５２、１５４、１５６の位置をそれぞれ占めている。クロスバ・デバイス６０４ａ〜６０４ｆはネストされた機能ブロック５０２のクロスバ・デバイスの一部である（ネストされた機能ブロック５０２の他のネストされた素子は図示していない）。
【００２７】
図６はネストされた機能ブロック集合５０２の１つの実装を示している。ネストされた機能ブロック５０２は、２個のネストされた機能ブロック６０２ａ〜６０２ｂ（図示する目的上、入力と出力の接続パターンを明快にするために、ブロック６０２ａ〜６０２ｂの表示を２回使用している）、６個のクロスバ・デバイス６０４ａ〜６０４ｆ、２４個の入力、２４個の出力、コネクション６５０、６５２、６５４、６５６を含む。クロスバ・デバイス６０４ａ〜６０４ｆはネストされた機能ブロック・レベルにおけるクロスバ・デバイスの第１、第２、第３のサブセットであり、それぞれが、コネクション６５６、６５０経由で入力を機能ブロック６０２ａ〜６０２ｂの入力に、コネクション６５４、６５０経由で機能ブロック６０２ａ〜６０２ｂの出力を機能ブロック６０２ａ〜６０２ｂの入力に、またコネクション６５４、６５２経由で機能ブロック６０２ａ〜６０２ｂの出力を出力に送る。したがって、ネストされた機能ブロック６０２ａ〜６０２ｂは、トポロジ的に、ネストされた機能ブロック・レベルの機能ブロック２０２の位置を占めており、一方、クロスバ・デバイス６０４ａ〜６０４ｆは、トポロジ的に、ネストされた機能ブロック・レベルのクロスバ・デバイス２０４の位置を占めており、またコネクション６５０、６５２、６５４、６５６は、トポロジ的に、ネストされた機能ブロック・レベルのコネクション２５０、２５２、２５４、２５６の位置をそれぞれ占めている。クロスバ・デバイス７０４ａ〜７０４ｄはネストされた機能ブロック６０２ａ〜６０２ｂのクロスバ・デバイスである（ネストされた機能ブロック６０２ａ〜６０２ｂの他のネストされた素子は図示してない）。
【００２８】
図７はネストされた機能ブロック６０２ａ〜６０２ｂの１つの実装を示している。ネストされた機能ブロック６０２ａ〜６０２ｂは４つのプログラム可能な機能ブロック７０２ａ〜７０２ｄ（図示する目的上、入力と出力の接続パターンを明快にするために、ブロック７０２ａ〜７０２ｄの表示を２回使用している）、４つのクロスバ・デバイス７０４ａ〜７０４ｄ、１２個の入力、１２個の出力、コネクション７５０、７５２、７５４、７５６を含む。クロスバ・デバイス７０４ａ〜７０４ｄはネストされた機能ブロック・レベルにおけるクロスバ・デバイスの第１、第２、第３のサブセットであり、それぞれが、コネクション７５６、７５０経由で入力を機能ブロック７０２ａ〜７０２ｄの入力に、コネクション７５４、７５０経由で機能ブロック７０２ａ〜７０２ｄの出力を機能ブロック７０２ａ〜７０２ｄの入力に、またコネクション７５４、７５２経由で機能ブロック７０２ａ〜７０２ｄの出力を出力に送る。したがって、ネストされた機能ブロック７０２ａ〜７０２ｄは、トポロジ的に、ネストされた機能ブロック・レベルの機能ブロック２０２の位置を占めており、クロスバ・デバイス７０４ａ〜７０４ｄは、トポロジ的に、ネストされた機能ブロック・レベルのクロスバ・デバイス２０４の位置を占めており、またコネクション７５０、７５２、７５４、７５６は、トポロジ的に、ネストされた機能ブロック・レベルのコネクション２５０、２５２、２５４、２５６の位置をそれぞれ占めている。プログラム可能な機能ブロック７０２ａ〜７０２ｄは、上に述べ、図３に示したプログラム可能な機能ブロックの実施と同じものである。
【００２９】
ＩＣ５００の各クロスバ・デバイスは、数が固定した入力と数が固定した出力を有しており、そのため、信号が常にクロスバ・デバイスを通って同じ方向に伝わることが本発明の重要な特性の１つであることに注目する必要がある。しかし、本発明は、通過トランジスタ双方向クロスバ・デバイスまたは有線ないしは一方向クロスバ・デバイスまたはバッファーとしてはたらく一方向クロスバ・デバイスのようなどのような種類のクロスバ・デバイスアーキテクチャでも実現することができる。
【００３０】
さらに、ＩＣ５００の各クロスバ・デバイス間の接続はすべて、上に開示し、図４に示したルールに従って行われる。
【００３１】
例示と理解を容易にするために、わざわざＩＣ５００を少数の素子で示していることに注意する必要がある。しかしながら、当業者は、ＩＣ５００の実装を拡張して実際的に商品に相当するようにできることを了解するだろう。たとえば、
ａ）ＩＣレベルは、１６個の「４８入力、４８出力」クロスバ・デバイス、１個の第１レベルのネストされた機能ブロック、３８４個の入力、３８４個の出力を備えることができ、
ｂ）第１レベルのネストされた機能ブロックは、４８個の「３２入力、４８出力」クロスバ・デバイス、２４個の第２レベルのネストされた機能ブロック、３８４個の入力、３８４個の出力を含むことができ、
ｃ）第２レベルのネストされたブロックは、１６個の１３入力、３５の出力のクロスバ・デバイス、８個のプログラム可能な機能ブロック、８０個の入力、４８個の出力を含むことができ、
ｄ）プログラム可能な機能ブロックは、４個の「２０入力、１６出力」クロスバ・デバイス、１６個の「４入力、１出力」ＲＬＥ、６４個の入力、１６個の出力を含むことができる。
【００３２】
したがって、ＩＣは３０９２個のＲＬＥ、３８４個の外部出力ピンおよび３８４個の外部入力ピンを有する。
【００３３】
このように、スケーラブル・アーキテクチャを有する完全にまたは部分的に再構成可能な集積回路について説明してきた。上記例示した実施形態によって本発明の集積回路を説明したが、当業者は本発明が説明した実施形態に限定されるものではないことを了解するであろう。さらに、本発明を集積回路として説明したが、そうしないで、本発明をＩＣの一部を形成する埋込論理ブロックとして実現することもできる。したがって、本発明は、添付の請求範囲の精神と範囲内で変更および変形して実施することができる。それゆえこの説明は、本発明を限定するものではなく、例示するものとみなすべきである。
【図面の簡単な説明】
【００３４】
【図１】スケーラブル・アーキテクチャを組み込んだ、１つの実装形態による本発明の再構成可能な集積回路の概略図である。
【図２】スケーラブル・アーキテクチャを組み込んだ、１つの実装形態による本発明の再構成可能な集積回路の概略図である。
【図３】１つの実装形態による、再構成可能な機能ブロックのさらに詳細な図である。
【図４】１つの実装形態による、クロスバ間の相互接続を示す図である。
【図５】図１と図２の再構成可能な集積回路の１つの実装形態をさらに詳細に示した図である。
【図６】図１と図２の再構成可能な集積回路の別の実施形態をさらに詳細に示した図である。
【図７】図１と図２の再構成可能な集積回路の別の実施形態をさらに詳細に示した図である。
【図１】
2005505978.tif 000003
【図２】
2005505978.tif 000004
【図３】
2005505978.tif 000005
【図４】
2005505978.tif 000006
【図５】
2005505978.tif 000007
【図６】
2005505978.tif 000008
【図７】
2005505978.tif 000009
【国際公開パンフレット】
2005505978.tif 000010
2005505978.tif 000011
2005505978.tif 000012
2005505978.tif 000013
2005505978.tif 000014
2005505978.tif 000015
2005505978.tif 000016
2005505978.tif 000017
2005505978.tif 000018
2005505978.tif 000019
2005505978.tif 000020
2005505978.tif 000021
2005505978.tif 000022
2005505978.tif 000023
2005505978.tif 000024
2005505978.tif 000025
2005505978.tif 000026
2005505978.tif 000027
2005505978.tif 000028
2005505978.tif 000029
2005505978.tif 000030
2005505978.tif 000031
2005505978.tif 000032
【国際公開パンフレット（コレクトバージョン）】
2005505978.tif 000033
2005505978.tif 000034
【国際調査報告】
2005505978.tif 000035
2005505978.tif 000036
2005505978.tif 000037