(57)【要約】相互接続ロジックは、埋込固定論理回路と、プログラマブル・ゲートアレイのプログラム可能ロジックファブリックとの接続を行なうことにより、固定論理回路がプログラム可能ロジックファブリックの延長として機能できるようにする。相互接続ロジックは相互接続タイルを含み、さらに相互接続ロジックを含み得る。相互接続タイルは、固定論理回路の入力部および／または出力部と、プログラム可能ロジックファブリックの相互接続部との間で選択的な接続を行なう。相互接続ロジックを含めた場合、これは固定論理回路とプログラム可能ロジックファブリックとの間でのデータ転送を調整する論理回路となる。この発明は、固定の論理回路とプログラム可能な論理回路との両方を備えたデバイスのレイアウトおよびフロア計画についてのさまざまな需要および要件に向けられたものである。ここでのさまざまな設計は多くの目標に適合されたものであるが、これにはたとえば、フェールセーフ動作を可能にする、固定論理回路とプログラム可能ロジックファブリックとのインターフェイスを容易にすることなどの事柄が含まれる。
2005518749.tif 000002
【特許請求の範囲】
【請求項１】
集積回路であって、
ファブリックとなるよう配置された複数の構成可能論理ブロックを備え、ファブリックの中には、構成可能論理ブロックにより取囲まれる開口部が設けられ、集積回路はさらに、
開口部内に存在する固定論理回路を備え、固定論理回路は複数の入出力線を含み、集積回路はさらに、
開口部内に存在し、複数の入出力線をファブリックにインターフェイスする相互接続ロジックを備え、
相互接続ロジックは、複数の入出力線を、開口部の第１の辺に隣接する複数の構成可能論理ブロックに沿って分布させる、集積回路。
【請求項２】
入出力線はアドレス線、データ線および制御線を含み、
複数の構成可能論理ブロックの各々は、複数の入出力線のうち少なくとも１本のアドレス線、少なくとも１本のデータ線および少なくとも１本の制御線により使用される、請求項１に記載の集積回路。
【請求項３】
入出力線はアドレス線、データ入力線、データ出力線および制御線を含み、
複数の構成可能論理ブロックの各々は、複数の入出力線のうち少なくとも１本のアドレス線、少なくとも１本のデータ入力線、少なくとも１本のデータ出力線および少なくとも１本の制御線により使用される、請求項１に記載の集積回路。
【請求項４】
集積回路であって、
ファブリックとなるよう配置された複数の構成可能論理ブロックを備え、ファブリックの中には、各々が構成可能論理ブロックにより取囲まれる第１の開口部および第２の開口部が形成され、集積回路はさらに、
第１の開口部内に存在する第１の固定論理回路を備え、第１の固定論理回路は第１の複数の入出力線を含み、集積回路はさらに、
第２の開口部内に存在する第２の固定論理回路を備え、第２の固定論理回路は第２の複数の入出力線を含み、集積回路はさらに、
第１の開口部内に存在し、第１の複数の入出力線をファブリックにインターフェイスする第１の相互接続ロジックと、
第２の開口部内に存在し、第２の複数の入出力線をファブリックにインターフェイスする第２の相互接続ロジックとを備え、
第１の相互接続ロジックおよび第２の相互接続ロジックは、第１の複数の入出力線および第２の複数の入出力線を対称にファブリックにインターフェイスする、集積回路。
【請求項５】
第１の開口部はファブリックの第１の側部分の中に存在し、
第２の開口部はファブリックの第２の側部分の中に存在し、
ファブリックの第１の側部分およびファブリックの第２の側部分はファブリックの中心線により分割され、
第１の複数の入出力線および第２の複数の入出力線は、ファブリックの中心線に関して対称にファブリックにインターフェイスされる、請求項４に記載の集積回路。
【請求項６】
ファブリックは、複数のブロックＲＡＭストリップとなるよう配置されたブロックＲＡＭを含み、
第１の開口部は、第１のブロックＲＡＭストリップを上方の部分と下方の部分とに二分し、
第２の開口部は、第２のブロックＲＡＭストリップを上方の部分と下方の部分とに二分
し、
第１および第２のブロックＲＡＭストリップの上方の部分は、それぞれ第１および第２の固定論理回路により命令の記憶に用いられ、
第１および第２のブロックＲＡＭストリップの下方の部分は、それぞれ第１および第２の固定論理回路によりデータの記憶に用いられる、請求項４に記載の集積回路。
【請求項７】
第１の固定論理回路と第２の固定論理回路とは実質的に同一の回路を含む、請求項４に記載の集積回路。
【請求項８】
第１の開口部はファブリックの第１の側部分の中に存在し、
第２の開口部はファブリックの第２の側部分の中に存在し、
ファブリックの第１の側部分およびファブリックの第２の側部分はファブリックの中心線により分割され、
第１の複数の入出力線および第２の複数の入出力線は、第１の固定論理回路および第２の固定論理回路から、ファブリックの中心線に関して対称に延びる、請求項４に記載の集積回路。
【請求項９】
集積回路であって、
ファブリックとなるよう配置された複数の構成可能論理ブロックを備え、ファブリックの中には、各々が構成可能論理ブロックにより取囲まれる第１の開口部、第２の開口部、第３の開口部および第４の開口部が形成され、集積回路はさらに、
第１の開口部内に存在する第１の固定論理回路を備え、第１の固定論理回路は第１の複数の入出力線を含み、集積回路はさらに、
第２の開口部内に存在する第２の固定論理回路を備え、第２の固定論理回路は第２の複数の入出力線を含み、集積回路はさらに、
第１の開口部内に存在し、第１の複数の入出力線をファブリックにインターフェイスする第１の相互接続ロジックと、
第２の開口部内に存在し、第２の複数の入出力線をファブリックにインターフェイスする第２の相互接続ロジックとを備え、
第１の相互接続ロジックおよび第２の相互接続ロジックは、第１の複数の入出力線および第２の複数の入出力線を対称にファブリックにインターフェイスする、集積回路。
【請求項１０】
さらに、
第３の開口部内に存在する第３の固定論理回路を備え、第３の固定論理回路は第３の複数の入出力線を含み、集積回路はさらに、
第４の開口部内に存在する第４の固定論理回路を備え、第４の固定論理回路は第４の複数の入出力線を含み、集積回路はさらに、
第３の開口部内に存在し、第３の複数の入出力線をファブリックにインターフェイスする第３の相互接続ロジックと、
第４の開口部内に存在し、第４の複数の入出力線をファブリックにインターフェイスする第４の相互接続ロジックとを備え、
第３の相互接続ロジックおよび第４の相互接続ロジックは、第３の複数の入出力線および第４の複数の入出力線を対称にファブリックにインターフェイスする、請求項９に記載の集積回路。
【請求項１１】
ファブリックは４つの四分割部分を含み、
第１の固定論理回路および第２の固定論理回路は４つの四分割部分のうち下方にある四分割部分に存在し、
第３の固定論理回路および第４の固定論理回路は４つの四分割部分のうち上方にある四分割部分に存在する、請求項１０に記載の集積回路。
【請求項１２】
ファブリックは、複数のブロックＲＡＭストリップとなるよう配置されたブロックＲＡＭを含み、
第１の開口部は、第１のブロックＲＡＭストリップを上方の部分と中央部分とに二分し、
第２の開口部は、第２のブロックＲＡＭストリップを上方の部分と中央部分とに二分し、
第３の開口部は、第１のブロックＲＡＭストリップを中央部分と下方の部分とに二分し、
第４の開口部は、第２のブロックＲＡＭストリップを中央部分と下方の部分とに二分し、
ブロックＲＡＭストリップの上方の部分は、第１および第２の固定論理回路により命令の記憶に用いられ、
第１および第２のブロックＲＡＭストリップの下方の部分は、それぞれ第３および第４の固定論理回路により命令の記憶に用いられる、請求項１０に記載の集積回路。
【請求項１３】
第１のブロックＲＡＭストリップの中央部分は、第１および第２の固定論理回路によりデータの記憶に用いられ、
第２のブロックＲＡＭストリップの中央部分は、第３および第４の固定論理回路によりデータの記憶に用いられる、請求項１２に記載の集積回路。
【請求項１４】
集積回路を設計する方法であって、
複数の構成可能論理ブロックをファブリックとなるよう配置する工程と、
構成可能論理ブロックのうちの一群をファブリックから取除くことにより、ファブリック内に、構成可能論理ブロックにより取囲まれた開口部を形成する工程と、
開口部内に固定論理回路を置く工程とを備え、固定論理回路は複数の入出力線を含み、方法はさらに、
開口部内に、複数の入出力線をファブリックにインターフェイスする相互接続ロジックを置く工程を備え、
相互接続ロジックは、複数の入出力線を、開口部に隣接する複数の構成可能論理ブロックに沿って分布させる、方法。
【請求項１５】
入出力線はアドレス線、データ線および制御線を含み、
複数の構成可能論理ブロックの各々は、複数の入出力線のうち少なくとも１本のアドレス線、少なくとも１本のデータ線および少なくとも１本の制御線により使用される、請求項１４に記載の方法。
【請求項１６】
開口部を取囲む複数の構成可能論理ブロックの各々は、複数の入出力線のうち複数のアドレス線および複数のデータ線により使用される、請求項１４に記載の方法。
【請求項１７】
集積回路を設計する方法であって、
複数の構成可能論理ブロックをファブリックとなるよう配置する工程と、
構成可能論理ブロックのうちの４つの群をファブリックから取除くことにより、ファブリック内に、各々が構成可能論理ブロックにより取囲まれる第１の開口部、第２の開口部、第３の開口部および第４の開口部を形成する工程と、
第１の開口部内に第１の固定論理回路を置く工程とを備え、第１の固定論理回路は第１の複数の入出力線を含み、方法はさらに、
第２の開口部内に第２の固定論理回路を置く工程を備え、第２の固定論理回路は第２の複数の入出力線を含み、方法はさらに、
第１の開口部内に、第１の複数の入出力線をファブリックにインターフェイスする第１
の相互接続ロジックを置く工程と、
第２の開口部内に、第２の複数の入出力線をファブリックにインターフェイスする第２の相互接続ロジックを置く工程とを備え、
第１の相互接続ロジックおよび第２の相互接続ロジックは、第１の複数の入出力線および第２の複数の入出力線を対称にファブリックにインターフェイスする、方法。
【請求項１８】
さらに、
第３の開口部内に第３の固定論理回路を置く工程を備え、第３の固定論理回路は第３の複数の入出力線を含み、方法はさらに、
第４の開口部内に第４の固定論理回路を置く工程を備え、第４の固定論理回路は第４の複数の入出力線を含み、方法はさらに、
第３の開口部内に、第３の複数の入出力線をファブリックにインターフェイスする第３の相互接続ロジックを置く工程と、
第４の開口部内に、第４の複数の入出力線をファブリックにインターフェイスする第４の相互接続ロジックを置く工程とを備え、
第３の相互接続ロジックおよび第４の相互接続ロジックは、第３の複数の入出力線および第４の複数の入出力線を対称にファブリックにインターフェイスする、請求項１７に記載の方法。
【請求項１９】
ファブリックは４つの四分割部分を含み、
第１の固定論理回路および第２の固定論理回路は４つの四分割部分のうち下方にある四分割部分に存在し、
第３の固定論理回路および第４の固定論理回路は４つの四分割部分のうち上方にある四分割部分に存在する、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
技術分野
この発明は一般的に集積回路の設計に関し、より特定的には、固定論理回路およびプログラム可能ロジック要素の両方を有する集積回路の設計に関するものである。
【背景技術】
【０００２】
関連技術
プログラマブルデバイスとは、多種多様の用途に合わせて構成され得る多目的の集積回路の一種である。このようなプログラマブルデバイスには２つの基本的な種類があり、すなわち製造業者によってのみプログラムされるマスク・プログラマブルデバイスと、エンドユーザによってプログラム可能なフィールド・プログラマブルデバイスとがある。これに加えて、プログラマブルデバイスはさらに、プログラマブル・メモリデバイスまたはプログラマブル・ロジックデバイスに分類することができる。プログラマブル・メモリデバイスには、プログラム可能読出専用メモリ（ＰＲＯＭ）、消去プログラム可能読出専用メモリ（ＥＰＲＯＭ）および電気的消去プログラム可能読出専用メモリ（ＥＥＰＲＯＭ）が含まれる。プログラマブル・ロジックデバイスには、プログラマブル・ロジックアレイ（ＰＬＡ）デバイス、プログラマブル・アレイロジック（ＰＡＬ）デバイス、消去プログラム可能ロジックデバイス（ＥＰＬＤ）デバイス、およびプログラマブル・ゲートアレイ（ＰＧＡ）が含まれる。フィールド・プログラマブル・ゲートアレイ（プログラマブル・ゲートアレイ）は、電気通信用途、インターネット用途、スイッチング用途、ルーティング用途などにおいて極めて広く普及している。
【０００３】
公知のように、プログラマブル・ゲートアレイでは、エンドユーザは特定用途向け集積回路（ＡＳＩＣ）の最初にかかる費用、時間的遅延および内在的リスクを回避しながらカスタムＣＭＯＳ  ＶＬＳＩ集積回路からの利益を受ける。プログラマブル・ゲートアレイにはこのような利点がある一方、いくつかの欠点もある。たとえば、ＡＳＩＣにおいて実現されるのと同様の機能を実行するようにプログラマブル・ゲートアレイをプログラムすると、必要なダイ面積がＡＳＩＣのおよそ２５倍から５０倍にもなる。これに伴い、プログラマブル・ゲートアレイの製造原価はＡＳＩＣのそれよりも高くつく。これに加え、プログラマブル・ゲートアレイで必要な印刷回路基板面積は機能の等しいＡＳＩＣよりもはるかに大きく、かつ消費電力も大きい。さらに、プログラマブル・ゲートアレイは多様な実現を目標として設計されるものであって、通常これが発揮する性能はＡＳＩＣに及ばない。
【０００４】
プログラマブル・ゲートアレイがＡＳＩＣに対して劣る点をいくらか緩和するために、プログラマブル・ゲートアレイ製造業者によってはＡＳＩＣに似た機能をプログラム可能ロジックファブリックと同じ基板上に含めるところがある。たとえば、プログラマブル・ゲートアレイであって、プログラム可能ロジックファブリック内にランダムアクセスメモリ（ＲＡＭ）ブロックおよび／または乗算器を備えるものが現在市場で入手可能である。このため、ＲＡＭ機能および／または乗算器機能が必要な場合、これらの機能を実行するようにプログラム可能ロジックファブリックをプログラムする必要はない。したがって、プログラマブル・ゲートアレイ内において、このような機能のために必要なダイ面積は大幅に小さくなる。
【０００５】
固定論理回路をプログラマブル・ゲートアレイのファブリックに含めることで、ダイ面積の消費を小さくしながらエンドユーザにはより広いプログラミングの選択の幅が与えら
れる一方で、エンドユーザは今日プログラマブル・ゲートアレイに対しより大きな性能および柔軟性を求めている。具体的には、エンドユーザは、伝統的なプログラマブル・ゲートアレイの用途の広さを維持しながらプログラマブル・ゲートアレイのプログラム可能ロジックファブリック内にもっと多くの固定論理機能（つまりＡＳＩＣに似た機能）を埋込んでほしいと望んでいる。埋込固定論理回路を有するプログラマブル・ゲートアレイの実施の形態においては、この特定の技術分野が比較的新しいこともあって、プログラム可能回路および固定論理回路のさまざまな構成要素を或る設計でレイアウトする態様に関する教示はほとんどまたは全く存在しない。
【０００６】
このような回路をレイアウトする態様についてのその他の制約および不利な点が、上述のようなシステムと、本願の以下の部分で図面を参照しながら記載するこの発明とを比較することで当業者には明らかとなるであろう。
【発明の開示】
【課題を解決するための手段】
【０００７】
発明の概要
先行技術の装置における上記およびその他の問題を克服するために、この発明に従い設計および作製された集積回路は、ファブリックとなるよう配置された或る数の構成可能論理ブロックを含み、ファブリックの中には、構成可能論理ブロックで取囲まれる開口部が設けられる。ファブリックの開口部内には、或る数の入出力線および制御線を含む固定論理回路が形成される。開口部の中の固定論理回路は、この固定論理回路の入出力線および制御線をファブリックへとインターフェイスする相互接続ロジックによって取囲まれる。この発明に従うと、相互接続ロジックは、入出力線および制御線を、開口部に隣接する或る数の構成可能論理ブロックに沿って分布させる。相互接続ロジックは、ファブリックの構成可能論理ブロックに直接インターフェイスする相互接続タイルを含んでもよい。
【０００８】
実施例によっては、固定論理回路の入出力線および制御線は何百もの別々の線を含む。しかし開口部に隣接する構成可能論理ブロックの数はこれよりもはるかに少ない。したがってこのような場合、開口部に隣接する或る数の構成可能論理ブロックは各々が複数のアドレス線、複数のデータ線および複数の制御線により用いられる。相互接続ロジックの相互接続タイルは各々が固定論理回路の１組のアドレス線、データ線および制御線の終端をなし、これにより開口部に隣接する構成可能論理ブロックへ信号をインターフェイスする。
【０００９】
この発明の一局面に従うと、固定論理回路を支援する一群の線、たとえばプロセッサバスのデータ線、アドレス線および制御線は、開口部の第１の辺に隣接する或る数の相互接続タイルに沿って分布させられる。このような実施例では、プロセッサの他の線は開口部の他の辺に隣接する相互接続タイルに沿って分布させられる。このように固定論理回路の信号線を分布させることによって、ファブリックを管理することで、ファブリックにおける異なる部分が異なる機能を実行するようにこれら部分を構成することが可能となる。この異なる機能とは、固定論理回路で局所的に提示される入出力部に対応するものである。
【００１０】
多数の固定論理回路が存在する場合、ファブリックに対する固定論理回路の入出力線や制御線などが対称な表現例を採用することができる。たとえば、多数の固定論理処理コアを含む実現例では、ファブリックの中心部分に関してファブリックへの線が対称な表現例を採用することができる。このようなファブリックへの線が対称な表現例により、多数の固定論理回路の実現例における協働型および独立型の両方の構成でファブリックの構成が効率的なものとなる。
【００１１】
この発明についての他の局面、利点および新規な特徴点が、添付の図面を参照して以下
のこの発明の詳細な説明から明らかとなるであろう。
【００１２】
この発明をよりよく理解するために、添付の図面を参照しながら以下の例としてのさまざまな実施例の詳細な説明について考察されたい。
【発明を実施するための最良の形態】
【００１３】
図面の詳細な説明
一般的には、この発明に従い作製された集積回路は、プログラマブル・ゲートアレイのファブリックに形成された開口部の中に存在する少なくとも１つの固定論理回路を含む。相互接続ロジックが埋込固定論理回路をプログラマブル・ゲートアレイのプログラム可能ロジックファブリックとインターフェイスする。相互接続ロジックを用いることで、あらゆる固定論理回路（たとえばデジタル信号プロセッサ、マイクロプロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックスプロセッサ、および／または特定用途向け集積回路）をプログラマブル・ゲートアレイのプログラム可能ロジックファブリックに埋込むことが可能となる。これに加え、相互接続ロジックを用いることで、固定論理回路とプログラム可能ロジックファブリックとの間に接続を行なって固定論理回路をプログラム可能ロジックファブリックの延長として機能させる。
【００１４】
相互接続ロジックは、相互接続タイルや、固定論理回路と相互接続タイルとの間の相互接続部を含み、さらに追加の構成要素を含む場合もある。相互接続タイルは固定論理回路の入力部および／または出力部と、プログラム可能ロジックファブリックの相互接続部（構成可能論理ブロック「ＣＬＢ」）との間で選択的な接続を行なう。このような相互接続ロジックを用いることで、任意の固定論理回路を容易にプログラマブル・ゲートアレイの中に埋込みプログラマブル・ゲートアレイのエンドユーザに追加の機能を与えることができる。
【００１５】
図１は、この発明に従い構築された左右対称の集積回路１００の一実施例を示すシステム図である。集積回路１００は、プログラム可能ロジックファブリック１１０と、これを取囲むプログラム可能入出力回路１２０とを含む。さらに、集積回路１００は或る数の固定論理回路を含む。これら固定論理回路は、ピンの設定および／またはソフトウェアの設定に基づいて構成可能であるが、プログラム可能ロジックファブリック１１０のように構成可能なハードウェアロジックを含まない。
【００１６】
プログラム可能ロジックファブリック１１０の左側部分には或る数の固定論理回路が設けられ、これを固定論理回路１３１、固定論理回路１４１、…、および固定論理回路１５１として示す。同様に、プログラム可能ロジックファブリック１１０の右側部分にも或る数の固定論理回路が設けられ、これを固定論理回路１６１、固定論理回路１７１、…、および固定論理回路１８１として示す。固定論理回路１３１，１４１，…，１５１，１６１，１７１，…，１８１は各々が相互接続ロジック（それぞれ１３０，１４０，…，１５０，１６０，１７０，…，１８０）によって取囲まれる。これら相互接続ロジックは固定論理回路１３１，１４１，…，１５１，１６１，１７１，…，１８１をプログラム可能ロジックファブリック１１０に接続するために用いられる。
【００１７】
図１の集積回路は左右対称であり、たとえば集積回路１００の両側部分はファブリック１１０の中心部分に関して少なくとも部分的に対称である。この構成では、集積回路１００には、互いに類似の論理ブロック配列を含みかつ類似の動作能力を有する２つの二分割部分がある。さらに集積回路１００の両側部分は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途で所望の利益をもたらすようにいくらか異なっていることもある。
【００１８】
図１の集積回路１００は、その両側部分の構成要素同士での争いを調停しかつ／またはその動作を連係させる調停部１９９を含む場合があり、その場合、これら構成要素を連係して動作させ、ファブリック内の共有リソースを効率的に利用させることができる。調停部１９９は、プログラム可能ロジックファブリック１１０内で実例として示される単一のユニットまたは複数のユニットを実例とすることができる。調停部１９９は特にハードウェア、ソフトウェア、またはハードウェアとソフトウェアとを組合せたものとして具体化することができる。
【００１９】
所望に応じ、通常動作の間に集積回路１００の両側部分は互いに通信することもまたはしないこともある。このように、集積回路１００の両側部分は互いに協働して合同の動作を行なうことも、または独立して動作することもある。集積回路１００の両側部分が互いに協働する場合、処理作業を共有させて全体の動作の実行を最適化することができる。集積回路１００の両側部分が互いに独立して動作する一動作例では、集積回路１００の両側部分は互いの予備としてフェールセーフの態様で冗長的に動作することができる。
【００２０】
図２は、この発明に従い構築された４つの側で対称の集積回路２００の一実施例を示すシステム図である。集積回路２００は、プログラム可能ロジックファブリック２１０と、これを取囲むプログラム可能入出力回路２２０とを含む。さらに、集積回路２００は、或る数の固定論理ブロック配列２３０，２４０，２５０，２６０を含む。上述のように、および後で図３〜８を特定的に参照して説明するように、固定論理ブロック配列２３０，２４０，２５０，２６０は各々が固定論理回路および相互接続ロジックを含む。固定論理ブロック配列２３０，２４０，２５０，２６０の各々は、さまざまな動作のうちいずれかを実行し固定の論理構造を有する複数の固定論理回路のうちいずれを含んでもよい。固定論理ブロック配列の各々は、固定の論理機能を有する量子化された設計として見ることができる。固定論理ブロック配列２３０，２４０，２５０，２６０は、互いと同一であることも、互いと部分的に同一であることも、または互いから完全に異なることもある。
【００２１】
プログラム可能ロジックファブリック２１０の左上部分には固定論理ブロック配列２３０が存在し、プログラム可能ロジックファブリック２１０の左下部分には固定論理ブロック配列２４０が存在し、プログラム可能ロジックファブリック２１０の右上部分には固定論理ブロック配列２５０が存在し、プログラム可能ロジックファブリック２１０の右下部分には固定論理ブロック配列２６０が存在する。図２は４つの側で対称の集積回路の一実施例を示す。この対称性は、ファブリック２１０における４つの部分をサイズ決定する態様（たとえば４つの部分の各々におけるＣＬＢの数）や、ファブリック２１０の特定の特徴部分に関して開口部を形成する態様や、開口部のサイズ（固定論理ブロック配列によって取って代わられるＣＬＢの数および種類）や、またはその他対称的に互いに関係し得る特徴に関する。
【００２２】
図１に記載した実施例と同様に、所望に応じて、集積回路２００を四分割した各部分は互いに通信することもまたはしないこともある。換言すると、これら四分割部分のうちいくつかは、他の四分割部分の冗長的な予備として障害許容性を与えるためのものであり得る。これら４つの四分割部分はすべてが類似の論理ブロック配列を含み得る。たとえば、これら四分割部分は構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なることもある。これに加え、代替的な実施例では、集積回路２００における四分割部分のうち２つ以上が協働して動作する場合における優先度の争いを救済するための調停部２９９もまた採用する場合がある。
【００２３】
図３は、この発明に従い構築されたｎ個の側で対称の集積回路３００の一実施例を示すシステム図である。集積回路３００は図１および図２の一方または両方を拡張したものと
して見ることができる。集積回路３００は、プログラム可能ロジックファブリック３１０と、これを取囲むプログラム可能入出力回路３２０とを含む。さらに、集積回路３００は或る数の固定論理ブロック配列を含む。固定論理ブロック配列は各々が固定論理回路および相互接続ロジックを含み、これにはこの発明のさまざまな実施例のうちの他の実施例で記載のものなどがある。固定論理ブロック配列の各々は、固定の論理機能を有する量子化された設計として見ることができる。
【００２４】
プログラム可能ロジックファブリック３１０は或る数の扇状部分へ分割される。図に示す特定の分割例では「ｎ」個の扇状部分が設けられる。数「ｎ」個の扇状部分は各々が、固定論理ブロック配列３３０，３４０，３５０，３６０，３７０，…，３９０で示す固定論理ブロック配列を含む。図３の特定の実施例は完全なｎ個の側での対称ではないが、部分的なｎ個の側での対称性が与えられている。このような場合、ｎ個の扇状部分のすべてではないがいくつかが互いに対して完全に対称である。しかしｎ個の扇状部分のすべてが完全に対称なのではない。固定論理ブロック配列３３０，３６０（および固定論理ブロック配列３７０，３９０）に対応する扇状部分について考察する。これら扇状部分のサイズはほぼ等しく、その形状は対称である。固定論理ブロック配列３３０，３６０，３７０，３９０が適当な対称性を有する場合、対応する扇状部分は完全にまたは近似的に対称となるであろう。しかしこれら扇状部分の固定論理ブロック配列３３０，３６０，３７０，３９０が非対称であれば、これら扇状部分の形状が対称性を呈していたとしても全体的には対称ではない。
【００２５】
図１および図２に記載の実施例と同様に、場合によっては集積回路３００のｎ個の扇状部分のうちいくつかは互いに通信する。ｎ個の扇状部分のうちいくつかは他の扇状部分と処理動作を共有し得る。さらに、いくつかの扇状部分は他の扇状部分にフェールセーフの予備的支援を与えるように動作できる。２つ以上の扇状部分は、フェールセーフの予備的支援を与える場合、類似の論理ブロック配列を含むことが典型的である。たとえば、これら扇状部分は構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なることもある。
【００２６】
図３の実施例では、集積回路３００内の扇状部分のうち２つ以上が協働して動作する場合における優先度の争いを救済するための調停部３９９もまた採用する場合がある。この調停部はハードウェア、ソフトウェア、またはハードウェアとソフトウェアとを組合せたものとして実現可能である。さらに、この調停部３９９を実現したものは集積回路３００全体にわたって分布していてもよい。図３で示す調停部３９９はｎ個の扇状部分の各々と直接結合するように存在する。調停部３９９はこの物理的構造を有する場合もあるが、ｎ個の扇状部分のすべてでなく１つ以上の中に位置付けられてなお集積回路３００のｎ個の扇状部分すべてのために調停部として働くこともあり得る。
【００２７】
図４は、この発明に従い構築された左右対称の集積回路４００の別の実施例を示すシステム図である。集積回路４００は、プログラム可能入出力部（図４では明示しない）と、これにより取囲まれるプログラム可能ロジックファブリック４１０とを含む。さらに、集積回路４００は２つの固定論理ブロック配列を含み、その各々が固定論理回路および相互接続ロジックを含む。プログラム可能ロジックファブリック４１０の左側部分の中には相互接続ロジック４３１で取囲まれる固定論理回路４２１が位置付けられ、プログラム可能ロジックファブリック４１０の右側部分の中には相互接続ロジック４３２で取囲まれる固定論理回路４２２が位置付けられる。相互接続ロジック４３１，４３２は各々がそれぞれの固定論理回路４２１，４２２をプログラム可能ロジックファブリック４１０に接続する。
【００２８】
図４の集積回路４００の左右対称性は、固定論理ブロック配列がプログラム可能ロジッ
クファブリック４１０の中に位置付けられかつこれとインターフェイスする態様に関する。図４の集積回路４００の左右対称性はほぼファブリック４１０の中心線に関するものである。しかし、固定論理ブロック４２１，４２２および相互接続ロジック４３１，４３２自体はファブリック４１０の中心線に関して対称でないこともある。図６，７，８を参照してここでさらに説明する特定の一実施例では、固定論理プロセッサが固定論理回路として働き、プログラム可能ロジックファブリック４１０の中に存在する。ここに記載する特定の実施例では、固定論理プロセッサ自体は単一組のマスクを用いて形成され、ファブリックの中心線に関して対称ではない。しかし実施例によっては、他の固定論理ブロックを対称線に関して対称となるように作製することもまた可能である。
【００２９】
相互接続ロジック４３１，４３２は、ブロックＲＡＭ４４１，４４２，４４３，４４４として示すブロックＲＡＭと通信するよう結合する。これらブロックＲＡＭは固定論理回路４２１，４２２のためのオンチップメモリ（ＯＣＭ）として働くものである。したがって、相互接続ロジック４３１は固定論理ブロック４２１をブロックＲＡＭ４４１，４４２，４４３，４４４と結合するように働く。もう１つの相互接続ロジック４３２は固定論理ブロック４２２をブロックＲＡＭ４４５，４４６，４４７，４４８と結合するように働く。ブロックＲＡＭ４４１〜４４８は、固定論理回路４２１，４２２と、隣接するファブリック４１０と、プログラム可能ロジックファブリック４１０の周囲に位置付けられた入出力部とのための専用の記憶機能を行なう。ここに例示するブロックＲＡＭ４４１〜４４８の構造は利用され得る構造の１つにすぎない。他の構造では、ブロックＲＡＭはプログラム可能ロジックファブリックの他の部分に位置付けられ得るが、なお固定論理ブロック配列により用いられる。このように相互接続ロジック４３１，４３２はこれに隣接するブロックＲＡＭにアドレス指定するだけでこれらブロックＲＡＭにアクセスすることができる。
【００３０】
ここに例示した特定の実施例では、固定論理回路４２１，４２２は対称にファブリック４１０とインターフェイスする。たとえば、ブロックＲＡＭ４４１〜４４８を用いることにおいて、固定論理回路４２１，４２２は上方の部分すなわちブロックＲＡＭ４４１，４４２，４４５，４４６をデータの記憶に用い、下方の部分すなわちブロックＲＡＭ４４５，４４６，４４７，４４８を命令の記憶に用いる。換言すると、プログラム可能ロジックファブリック４１０の上方の部分にあるブロックＲＡＭはデータの記憶専用とされ（データ側）、プログラム可能ロジックファブリック４１０の下側にあるブロックＲＡＭは命令の記憶専用とされる（命令側）。固定論理回路４２１は、データおよび命令の所望の処理を実行する際、その相互接続ロジック４３１を介しブロックＲＡＭ４４１〜４４４を用いてデータおよび命令を記憶しアクセスする。同様に、固定論理回路４２２は、データおよび命令の所望の処理を実行する際、その相互接続ロジック４３１を介しブロックＲＡＭ４４５〜４４８を用いてデータおよび命令を記憶しアクセスする。
【００３１】
これに加え、固定論理回路４２１，４２２の各々は、それぞれの相互接続ロジック４３１，４３２を介してファブリック４１０と少なくとも部分的に対称にインターフェイスする。これはプロセッサ・ローカルバス（ＰＬＢ）および／またはシリアルバスを介して行なわれる。ＰＬＢはPowerPC405または類似のＩＢＭのプロセッサに独自のものである。異なる固定論理プロセッサ、入出力デバイスなどで採用されるバス構造は異なり得る。したがって、ＰＬＢバスに関する記載は、固定論理回路をファブリック４１０にインターフェイスする際にどのように対称性が用いられ得るかについての一例にすぎない。
【００３２】
この特定の実施例では、相互接続ロジック４３１，４３２は、ＰＬＢのアドレス線、データ線および制御線を、ファブリック４１０のうち固定論理回路４２１，４２２間に存在する中央部分にインターフェイスする。さらに、相互接続ロジック４３１，４３２は他の固定論理回路４２１，４２２のインターフェイスをファブリック４１０の外方の部分に向
ける。この外方の部分はファブリック４１０の中央部分と反対に存在する。相互接続ロジック４３１，４３２はＰＬＢインターフェイスおよびその他のインターフェイスをプログラム可能ロジックファブリック４１０へ、特定の実施例に依存して完全に対称または部分的に対称（中心線として集積回路４００の上から下へ延びる対称線に関して）に経路付けることができる。
【００３３】
図４の実施例では、ＰＬＢインターフェイスおよびその他のインターフェイスをファブリック４１０の中まで延びるように示してある。しかし、さらに図６〜８を参照して説明するように、ＰＬＢバスの線は実際には、固定論理回路および相互接続ロジックが形成される開口部に隣接する相互接続タイルに向けられる。これら相互接続タイルはプログラム可能ロジックファブリック４１０のＣＬＢに直接結合する。したがって、プログラム可能ロジックファブリック４１０へのＰＬＢインターフェイスを表わす矢印は主に、固定論理回路４２１，４２２の信号線がそれぞれ相互接続ロジック４３１，４３２によりファブリックに対して対称的に向けられる態様を例示するために示したものである。
【００３４】
所望に応じて、集積回路４００の両側部分は互いに通信することもまたはしないこともある。すなわち、両側部分は互いのフェールセーフの予備として動作することができる。これら両側部分は類似の論理ブロック配列を両側に含むことができる。たとえばこれら両側部分は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なっていてもよい。これに加え、代替的な実施例では、集積回路４００の両側部分が協働して動作する場合における優先度の争いを救済しかつ／または処理負荷を分散させるための調停部４９９を採用する場合もある。
【００３５】
相互接続ロジック４３１，４３２が含む構成要素および機能は先に記載した相互接続ロジックと同様のものであってもよい。しかし、相互接続ロジック４３１，４３２は、所与の用途での所望に応じて異なる機能を含む場合もある。最低でも、相互接続ロジック４３１，４３２は、固定論理回路４２１，４２２とプログラム可能ロジックファブリック４１０との間で相互接続およびインターフェイスを行なうよう動作可能である。
【００３６】
固定論理回路４２１，４２２を対称にファブリック４１０とインターフェイスすることにより、ファブリック４１０の構成および利用における効率性が実現される。たとえば、データ側ブロックＲＡＭがファブリック４１０の上方の部分に位置付けられ、ファブリック４１０の単一の部分がデータ側ブロックＲＡＭ４４１，４４２，４４５，４４６すべてで用いられるように構成されることがあり得る。同様に、命令側ブロックＲＡＭがファブリック４１０の下方の部分に位置付けられ、ファブリック４１０の単一の部分が命令側ブロックＲＡＭ４４３，４４４，４４７，４４８すべてで用いられるように構成されることがあり得る。さらに、両方の固定論理回路４２１，４２２がファブリック４１０の中央部分とインターフェイスし、ファブリック４１０の単一の部分が両方のＰＬＢインターフェイスで用いられるように構成されることがあり得る。
【００３７】
図５は、この発明に従い構築されたプログラム可能ロジックファブリックの中に設けられた固定論理回路として働くマイクロプロセッサ４個を採用した集積回路の一実施例を示すシステム図である。図５の集積回路５００は、この発明に従うプログラム可能ロジックファブリック５１０の中に存在する４個の固定論理ブロック配列を含む。これら固定論理ブロック配列の各々は、相互接続ロジックにより取囲まれるPowerPC405コア（「405コア」）を含む。具体的に、相互接続ロジック５２１，５２２，５２３，５２４はそれぞれ405コア５１１，５１２，５１３，５１４をプログラム可能ロジックファブリック５１０にインターフェイスする。405コア５１１，５１２，５１３，５１４の各々は、プログラム可能ロジックファブリック５１０の中ですぐ上下にあるブロックＲＡＭを用いる。これらブロックＲＡＭは、405コア５１１，５１２，５１３，５１４のためのオンチップメモリ
（ＯＣＭ）として働く。ブロックＲＡＭの各々の部分は命令記憶機能、データ記憶機能または命令とデータとの両方の記憶機能を有する。
【００３８】
しかし、図５に例示する特定の実施例では、ブロックＲＡＭは特定の機能を行なうように分離してある。たとえば、ブロックＲＡＭ５４３，５４４は405コア５１１および405コア５１２のためのデータ記憶部として使用される。同様に、ブロックＲＡＭ５５３，５５４は、405コア５１３および405コア５１４のためのデータ記憶部として使用される。プログラム可能ロジックファブリック５１０の外部分付近のブロックＲＡＭは、405コア５１１、405コア５１２、405コア５１３および405コア５１４のための命令を記憶する。たとえば、ブロックＲＡＭ５４１，５４２は405コア５１１のための命令を記憶し、ブロックＲＡＭ５４５，５４６は405コア５１２のための命令を記憶する。同様に、ブロックＲＡＭ５５１，５５２は405コア５１３のための命令を記憶し、ブロックＲＡＭ５５５，５５６は405コア５１４のための命令を記憶する。405コア５１１，５１２，５１３，５１４は、スタートアップ／初期化の間、さらにまた通常の動作の間でも、ブロックＲＡＭ５４１，５４２，５４５，５４６，５５１，５５２，５５５，５５６に記憶された命令を実行する。
【００３９】
405コア５１１，５１２，５１３，５１４はそれぞれのＰＬＢインターフェイスおよびその他のインターフェイスを用いてプログラム可能ロジックファブリック５１０とインターフェイスする。相互接続ロジック５２１，５２２，５２３，５２４はＰＬＢインターフェイスおよびその他のインターフェイスをプログラム可能ロジックファブリック５１０にインターフェイスする。この特定の実施例では、ＰＬＢはファブリック５１０の中央の領域においてファブリック５１０へインターフェイスし、左側部分には405コア５１１および405コア５１２が、そして右側部分には405コア５１３および405コア５１４がある。ＰＬＢの各々にファブリック５１０の中央部分とインターフェイスさせることによって、ファブリックは、405コア５１１，５１２，５１３，５１４とそれぞれのＰＬＢを介して通信する１つ以上の機能構成要素を含むように効率的に構成可能である。したがって、ＰＬＢがプログラム可能ロジックファブリック５１０とインターフェイスする態様は、集積回路の上から下および左から右に走り集積回路５００の中心点を通じて延びる対称線に関して対称である。その他のインターフェイスがプログラム可能ロジックファブリック５１０にインターフェイスする態様はこれと同一または同様に対称である。図５の構造を変形しても対称性を維持するであろう例としては、たとえば命令側ＲＡＭが405コアの外部分の代わりに405コア間に存在するという例があり、この結果としてやはり対称構造が得られるであろう。この明細書を読む者には、図５の構造に変更を加えても結果として部分的または完全な対称性を得ることが可能な例が多数あることが理解されるであろう。
【００４０】
しかし、提示された対称性が単に部分的な場合もある。完全またはほぼ完全な対称性では、ＰＬＢインターフェイスおよび／またはその他のインターフェイスの信号線がファブリックと相互結合する態様は、信号線を上から下へ再び順序付けることを必要とするであろう。このように信号線を再び順序付けると、より対称的なインターフェイスは得られるが、インターフェイスがより困難なものとなるおそれがある。上と下とのＰＬＢインターフェイスでＰＬＢ信号線を同じく順序付けることにより、各々の固定論理ブロック配列について同じ相互接続タイル設計を用いることでの効率性を得ることができる。さらに、プログラム可能ファブリックにおけるいくらかのリソースに内在的な単方向性が存在する場合もあり、これは信号の或る順序付けをより効率的にする。たとえば、ザイリンクス（Xilinx）社のバーテックス（Virtex）ＦＰＧＡにおけるキャリー・チェーンは上から下へ走る。固定論理ブロック上のバスがキャリー・チェーンと接続されることを目標とする場合、これが各々すべての固定論理ブロックにおいて同じ順序付けに従う方が適当である。したがって、ここに例示する実施例では、より高いレベルでは完全な対称性が存在する一方で、信号接続レベルでは単に部分的な対称性が存在することになる。図６，７，８につい
ての記述において、固定論理回路の線をプログラム可能ロジックファブリックにインターフェイスする態様についてより詳細な説明を与える。
【００４１】
所望に応じ、集積回路５００の両側部分（または四分割した場合での４つの部分）は互いに通信することもまたはしないこともある。換言すると、両側部分（または４つの四分割部分）は互いのフェールセーフの予備として動作することができる。両側部分（または４つの四分割部分）は両方（４つすべて）の側部で類似の論理ブロック配列を含むことができる。たとえば、両側部分（または４つの四分割部分）は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし、所与の用途での所望に応じて異なっていてもよい。いずれの場合でも、集積回路５００の両側部分が協働して動作する場合における優先度の争いを救済するための調停部５９９を採用する場合がある。
【００４２】
図６は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する複数の相互接続タイル／構成可能論理ブロックへインターフェイスされる態様を例示するブロック図である。具体的には405コアのＰＬＢ６１０について説明する。ＰＬＢ６１０は複数の構成要素を含み、その各々はＮビット幅、たとえば１２８ビット、６４ビット、３２ビットなどである。具体的に、ＰＬＢ６１０はデータ入力線（ＤＩ）、データ出力線（ＤＯ）、アドレス線（ＡＤＤ）および制御線（ＣＮＴＬ）を含む。ここに例示する実施例では、ＰＬＢ６１０のＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの構成要素は各々が６４ビット幅である。しかし実施例によってはこれらの構成要素が異なる幅であることもある。たとえば、特定の一実施例では、ＤＩおよびＤＯは６４ビット幅であり、ＡＤＤが３２ビット幅であり、ＣＮＴＬが３２ビット幅である。
【００４３】
相互接続ロジックはＰＬＢの信号線を相互接続タイル６８０，６８１，６８２，…，６８９へ経路付けする。これら相互接続タイルは、プログラム可能ロジックファブリック５１０の中に形成された開口部に沿って並び、それぞれの405コアを含む固定論理ブロック配列を受ける。405コアは、ＰＬＢのＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬを介してプログラム可能ロジックファブリックと通信する。相互接続ロジックはＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬを相互接続タイル６８０〜６８９に結合する。相互接続タイル６８０〜６８９はＣＬＢ６９０〜６９９と相互結合する。相互接続タイル６８０〜６８９は特化されたＣＬＢであるため、相互接続タイル６８０〜６８９を相互接続ロジックの一部またはプログラム可能ファブリックの一部のいずれとして見ることもできる。いずれの場合でも、その機能は405コアのＰＬＢをプログラム可能ファブリックのＣＬＢにインターフェイスすることである。
【００４４】
この発明のいくつかの局面はまた、ＰＬＢの信号線が相互接続タイル６８０〜６８９およびＣＬＢ６９０〜６９９とインターフェイスする態様に向けられる。図７を参照してさらに説明する特定の一実施例では、ＰＬＢの信号線は、図４および図５に示す実施例などのように、相互接続ロジックを介して開口部の単一の辺に隣接する相互接続タイル／ＣＬＢのみに結合する。しかし、他の実施例では、ＰＬＢの信号線は開口部の二辺以上に存在するＣＬＢに分布する。
【００４５】
図６に例示したように、ＰＬＢの信号線、すなわちＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬは、ＰＬＢで用いられる相互接続タイル／ＣＬＢに沿って分布する。たとえば、ＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの各々についての最初の４本の信号線［０：３］は相互接続タイル６８０を用いるのに対し、ＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの各々についての最後の４本の信号線［６０：６３］は相互接続タイル６８９を用いる。信号インターフェイスをこのように分布させて設計することにより、プログラム可能ファブリックを通じた信号の経路付けを向上させることができ、さらに比較的少数のＣＬＢで405コアの通信需要すべてを満たすことが可能となる。この構造の特定の一応用例では、405コアは９４１本の
信号線を含む。これら信号線を、405コアおよび相互接続ロジックが存在する開口部に隣接するプログラム可能ロジックファブリックのＣＬＢに分布させることによって、９４１線の各々の需要がプログラム可能ロジックファブリックにより十分に満たされる。
【００４６】
図７は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部の一辺に隣接する複数の相互接続タイル／構成可能論理ブロックにインターフェイスされる態様を例示する部分システム図である。集積回路７００の構造は図６と同様である。プログラム可能ロジックファブリックの中に開口部が形成され、固定論理回路７１０および相互接続ロジック７１２を含む固定論理ブロック配列を受ける。相互接続ロジック７１２は、プログラム可能ロジックファブリックのＣＬＢ７８０とインターフェイスする複数の相互接続タイルを含み得る。しかし、先に説明したように、相互接続タイルはプログラム可能ロジックファブリック自体の一部と見ることが可能である。相互接続タイルは特化したＣＬＢだからである。
【００４７】
図７は、固定論理回路７１０（405コア）および相互接続ロジック７１２すなわち１６×１６ＣＬＢを受けるように選択された特定の開口部サイズの例を示す。図７の構造では、６４ビット幅ＰＬＢがプログラム可能ロジックファブリックの単一の辺にインターフェイスされる。図７では、信号線ＤＩ［０：６３］、ＤＯ［０：６３］、ＡＤＤ［０：６３］およびＣＮＴＬ［０：６３］を含む６４ビットＰＬＢインターフェイスがプログラム可能ロジックファブリックにインターフェイスされる態様を示す。これらバスの信号線は、プログラム可能ロジック内に形成された開口部の右辺に隣接する１６個のＣＬＢ７８０および１６個の相互接続タイル７７９に沿って分布させられる。このようにＰＬＢ線を開口部に隣接する１６個のＣＬＢにわたって分布させることによって、この比較的少数のＣＬＢで、各々６４ビット幅の４本のバスの需要を満たすことが可能となる。ここに示すように、開口部の右辺に沿った最初の相互接続タイルは信号ＤＩ［０：３］、ＤＯ［０：３］、ＡＤＤ［０：３］およびＣＮＴＬ［０：３］を受ける。やはりここに示すように、開口部の右辺に沿った最後の相互接続タイルは信号ＤＩ［６０：６３］、ＤＯ［６０：６３］、ＡＤＤ［６０：６３］およびＣＮＴＬ［６０：６３］を受ける。残りのＰＬＢ信号線は、開口部の右辺に隣接するその他１４個の相互接続タイルに沿って分布させられる。
【００４８】
この明細書を読む者には理解されるであろうように、需要を満たされる信号線の数が異なる場合、これら信号線の分布は異なってくる。たとえば、ＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの各々における信号線が３２本のみである場合、信号線の或る分布例によると、各々の相互接続タイルはＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの各々につき２本の信号線の需要を満たすことになる。これに代えてもっと小さい開口部を形成することもある（ただし、固定論理回路７１０および相互接続ロジック７１２に与えられる面積がより小さいと仮定した場合）。たとえば、ＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの各々が３２本の信号線を含んだ場合、例示したのと同様のやり方で８個の相互接続タイルにより３２本の信号線の需要を満たすことができる。このような場合、８個の相互接続タイルの各々はＤＩ、ＤＯ、ＡＤＤおよびＣＮＴＬの信号線４本により用いられることになる。
【００４９】
図８は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル／構成可能論理ブロックにインターフェイスされる一態様を例示するブロック図である。図８では、相互接続タイル８０２はＤＩ［０：３］、ＤＯ［０：３］、ＡＤＤ［０：３］およびＣＮＴＬ［０：３］を受ける。この相互接続タイルはＣＬＢ８０４に結合する。しかし、相互接続タイル８０２が対角線上に位置付けられたＣＬＢと通信するように結合する場合もあることは言うまでもない。この特定の実施例では、信号線ＤＩ［０：３］、ＤＯ［０：３］、ＡＤＤ［０：３］およびＣＮＴＬ［０：３］は各々が相互接続タイルに沿って分布する。
【００５０】
図９は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル／構成可能論理ブロックにインターフェイスされる別の態様を例示するブロック図である。図８に例示した構造とは対照的に、図９の構造では、信号ＤＩ［０：３］、ＤＯ［０：３］、ＡＤＤ［０：３］およびＣＮＴＬ［０：３］が相互接続タイル９０２に沿ってその接続においてグループ化される。しかし相互接続タイル９０２とＣＬＢ９０４との結合は、相互接続タイル８０２とＣＬＢ８０４との結合と同じ態様による。
【００５１】
以上に述べたこの発明の詳細な説明および関連の図面を考慮すれば、当業者にはその他の変更例および変形例が明らかとなるであろう。また、このような他の変更例および変形例は、この発明の意味および範囲から逸脱することなく実施可能であることも明らかであろう。
【図面の簡単な説明】
【００５２】
【図１】この発明に従い構築された左右対称の集積回路の一実施例を示すシステム図である。
【図２】この発明に従い構築された４つの側で対称の集積回路の一実施例を示すシステム図である。
【図３】この発明に従い構築されたｎ個の側で対称の集積回路の一実施例を示すシステム図である。
【図４】この発明に従い構築された左右対称の集積回路の別の実施例を示すシステム図である。
【図５】この発明に従い構築されたプログラム可能ロジックファブリック内にある固定論理回路として働くマイクロプロセッサ４個を採用した集積回路の一実施例を示すシステム図である。
【図６】この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する複数の相互接続タイル／構成可能論理ブロックにインターフェイスされる態様を例示するブロック図である。
【図７】この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部の一辺に隣接する複数の相互接続タイル／構成可能論理ブロックにインターフェイスされる態様を例示する部分システム図である。
【図８】この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル／構成可能論理ブロックにインターフェイスされる一態様を例示するブロック図である。
【図９】この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル／構成可能論理ブロックにインターフェイスされる別の態様を例示するブロック図である。
【図１】
2005518749.tif 000003
【図２】
2005518749.tif 000004
【図３】
2005518749.tif 000005
【図４】
2005518749.tif 000006
【図５】
2005518749.tif 000007
【図６】
2005518749.tif 000008
【図７】
2005518749.tif 000009
【図８】
2005518749.tif 000010
【図９】
2005518749.tif 000011
【国際調査報告】
2005518749.tif 000012
2005518749.tif 000013