(57)【要約】  相互接続ロジックにより、埋込固定論理回路をプログラマブル・ゲートアレイのプログラム可能ロジックファブリックと接続して、固定論理回路をプログラム可能ロジックファブリックの延長として機能させることが可能となる。相互接続ロジックは相互接続タイルを含み、さらにインターフェイスロジックを含み得る。相互接続タイルにより、固定論理回路の入出力部とプログラム可能ロジックファブリックの相互接続部との間の選択的な接続が行なわれる。相互接続ロジックを含める場合、固定論理回路とプログラム可能ロジックファブリックとの間のデータ転送を調整する論理回路が得られる。一動作形態では、固定論理回路のスタートアップ／ブートシーケンスに先立ってプログラム可能ロジックファブリックを構成する。別の動作形態では、固定論理回路をスタートアップし、これを用いてプログラム可能ロジックファブリックを構成する。
2005515682.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の初期化を行なう方法であって、前記集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、前記開口部に位置付けられた固定論理回路を備え、前記固定論理回路は前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記方法は、
前記固定論理回路が予め定められた状態に保持されている間に前記プログラム可能ロジックファブリックのうち少なくとも或る部分を構成するステップと、
前記プログラム可能ロジックファブリックのうち少なくとも或る部分が構成された後に前記固定論理回路を初期化するステップとを備える、方法。
【請求項２】
前記固定論理回路は、前記プログラム可能ロジックファブリックのうち構成された前記部分を用いて少なくとも部分的に初期化される、請求項１に記載の方法。
【請求項３】
前記固定論理回路の前記初期化を支配する情報はブロックＲＡＭからロードされる、請求項１に記載の方法。
【請求項４】
集積回路であって、
プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、
前記開口部に挿入された固定論理回路を備え、前記固定論理回路は前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記プログラム可能ロジックファブリックのうち少なくとも或る部分が構成されている間に前記固定論理回路は予め定められた状態を有する、集積回路。
【請求項５】
さらに、前記固定論理回路を初期化するための前記プログラム可能ロジックファブリックのうち構成された部分を備える、請求項４に記載の集積回路。
【請求項６】
前記固定論理回路は、デジタル信号プロセッサ、マイクロプロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックプロセッサ、および特定用途向け集積回路からなる群から選択される、請求項４に記載の集積回路。
【請求項７】
さらに、前記固定論理回路と、前記複数の構成可能論理ブロックのうち前記或る数の構成可能論理ブロックとの間でのインターフェイスをとるように動作可能な相互接続ロジックを備える、請求項４に記載の集積回路。
【請求項８】
前記相互接続ロジックはマルチプレクサを含み、前記複数の構成可能論理ブロックのうち少なくとも１つの構成可能論理ブロックは第１の複数の通信ラインを利用し、前記固定論理回路は第２の複数の通信ラインを利用し、前記マルチプレクサは、固定論理回路と、前記複数の構成可能論理ブロックのうち前記少なくとも１つの構成可能論理ブロックとの間の通信を容易にするように動作可能である、請求項７に記載の集積回路。
【請求項９】
集積回路であって、
プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、
前記開口部に挿入された固定論理回路を備え、前記固定論理回路は、前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記集積回路はさらに、
前記プログラム可能ロジックファブリックに隣接してあるプログラム可能入出力回路と、
前記プログラム可能入出力回路に前記固定論理回路を接続する通信経路と、
前記通信経路を用いる前記固定論理回路のための初期化ルーチンとを備える、集積回路。
【請求項１０】
さらに、前記プログラム可能ロジックファブリックのうちの、前記固定論理回路により少なくとも部分的に構成される、構成された部分を備える、請求項９に記載の集積回路。
【請求項１１】
前記通信経路は、前記固定論理回路と前記プログラム可能入出力回路との間の通信を容易にするための、前記プログラム可能ロジックファブリックのうちの入出力ロジックとして構成された部分を含む、請求項９に記載の集積回路。
【請求項１２】
前記通信経路は専用通信ラインを含む、請求項９に記載の集積回路。
【請求項１３】
前記通信経路は、専用通信ラインが中に形成される複数の金属層を含み、
前記専用通信ラインの大部分は、前記複数の金属層内の単一の金属層の中に位置する、請求項９に記載の集積回路。
【請求項１４】
集積回路の初期化を行なう方法であって、前記集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、前記開口部に挿入された固定論理回路を備え、前記固定論理回路は、前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記集積回路はさらに、通信経路を介して前記固定論理回路に接続されたプログラム可能入出力回路を備え、前記方法は、
前記プログラム可能入出力回路から前記通信経路を介して与えられた信号を用いて前記固定論理回路を少なくとも部分的に初期化するステップと、
少なくとも部分的に初期化された前記固定論理回路により前記プログラム可能ロジックファブリックのうち少なくとも或る部分を構成するステップとを含む、方法。
【請求項１５】
前記固定論理回路と前記プログラム可能入出力回路との間の通信を容易にするために、前記通信経路が、前記プログラム可能ロジックファブリックのうち或る部分を入出力ロジックとして構成することにより形成される、請求項１４に記載の方法。
【請求項１６】
前記通信経路は専用通信ラインを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の技術分野
この発明は一般的に、埋込固定論理回路を有するフィールド・プログラマブル・ゲートアレイに関し、より特定的には、埋込固定論理回路とフィールド・プログラマブル・ゲートアレイとを連係させながら初期化および処理することに関する。
【背景技術】
【０００２】
発明の背景
プログラマブルデバイスとは、多種多様の用途に合わせて構成され得る多目的の集積回路の一種である。このようなプログラマブルデバイスには２つの基本的な種類があり、すなわち製造業者によってのみプログラムされるマスク・プログラマブルデバイスと、エンドユーザによってプログラム可能なフィールド・プログラマブルデバイスとがある。これに加えて、プログラマブルデバイスはさらに、プログラマブル・メモリデバイスまたはプログラマブル・ロジックデバイスに分類することができる。プログラマブル・メモリデバイスには、プログラム可能読出専用メモリ（ＰＲＯＭ）、消去プログラム可能読出専用メモリ（ＥＰＲＯＭ）および電気的消去プログラム可能読出専用メモリ（ＥＥＰＲＯＭ）が含まれる。プログラマブル・ロジックデバイスには、プログラマブル・ロジックアレイ（ＰＬＡ）デバイス、プログラマブル・アレイロジック（ＰＡＬ）デバイス、消去プログラム可能ロジックデバイス（ＥＰＬＤ）デバイス、およびプログラマブル・ゲートアレイ（ＰＧＡ）が含まれる。
【０００３】
フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）は、電気通信用途、インターネット用途、スイッチング用途、ルーティング用途、およびその他さまざまなエンドユーザ用途において極めて広く普及している。図１は、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）１０の一般化した概略的ブロック図を示す。ＦＰＧＡ１０はプログラム可能ロジックファブリック１２（プログラム可能ロジックゲートおよびプログラム可能相互接続部を含む）と、プログラム可能入出力ブロック１４とを含む。プログラム可能入出力ブロック１４はＦＰＧＡ１０を支持する基板上に作製され、集積回路のピンと結合されて、プログラム可能ロジックファブリック１２へユーザがアクセスできるようにする。プログラム可能ロジックファブリック１２は、特定のエンドユーザ用途に対応する多種多様な機能を実行するようにプログラムされ得る。プログラム可能ロジックファブリック１２はさまざまな態様で実現可能である。たとえばプログラム可能ロジックファブリック１２は対称型アレイ構成、行ベース構成、列ベース構成、シーオブゲート（sea-of-gates）構成、または階層型プログラム可能ロジックデバイス構成で実現可能である。
【０００４】
図２は、対称型アレイ構成に従って実現されたプログラム可能ロジックファブリック１２を例示する。ここに示すように、複数の論理ブロック１６が行および列のアレイとして構成されている。この複数の論理ブロック１６は、各々が特定の論理機能を実行するようにエンドユーザによってプログラム可能である。より複雑な論理機能を得るために、複数のプログラム可能相互接続部１８を用いて、個々にプログラムされた論理ブロックを相互接続する場合もある。したがって、各行および各列の各論理ブロック間にはプログラム可能相互接続部１８が存在する。
【０００５】
プログラム可能相互接続部１８は、論理ブロック１６のアレイの論理ブロック間で、さらには論理ブロックとプログラム可能入出力ブロック１４との間で選択的な接続を可能にする。プログラム可能相互接続部１８を実現するにはあらゆるプログラム可能な素子を用いることができ、これにはスタティックＲＡＭセル技術、ヒューズおよび／またはアンチ
ヒューズセル技術、ＥＰＲＯＭトランジスタ技術、および／またはＥＥＰＲＯＭトランジスタ技術が含まれる。ＦＰＧＡでスタティックＲＡＭプログラム可能接続が利用される場合、接続を行なうには、スタティックＲＡＭセルによって制御されるパストランジスタ、伝送ゲートおよび／またはマルチプレクサを含むさまざまな構成要素を用いることができる。ＦＰＧＡでアンチヒューズ相互接続が利用される場合、典型的に相互接続は高インピーダンス状態に存在し、これを再プログラムして低インピーダンス状態またはヒューズ状態にすることで選択的な接続を行なうことができる。ＦＰＧＡでＥＰＲＯＭまたはＥＥＰＲＯＭベースの相互接続が利用される場合、相互接続セルは再プログラム可能であるため、ＦＰＧＡの再構成が可能である。
【０００６】
図３は、行ベースの構成として実現されたプログラム可能ロジックファブリック１２の概略的ブロック図を例示する。この構成では、プログラム可能ロジックファブリック１２は行として配置された複数の論理ブロック１６を含む。論理ブロックの各行間にはプログラム可能相互接続部１８がある。この相互接続はどのようなプログラム可能記憶素子を用いても実現可能であり、これにはＲＡＭ（スタティックＲＡＭ、ダイナミックＲＡＭおよびＮＶＲＡＭ）、ヒューズおよび／またはアンチヒューズ技術、ＥＰＲＯＭ技術、および／またはＥＥＰＲＯＭ技術が含まれる。
【０００７】
図４は、列ベースの構成として実現されたプログラム可能ロジックファブリック１２の概略的なブロック図を示す。図３と図４とに示す論理ブロック１６およびプログラム可能相互接続部１８は実質的に同様のものである。
【０００８】
図５は、階層型プログラム可能ロジックデバイスとして実現されたプログラム可能ロジックファブリック１２を例示する。この実現例では、プログラム可能ロジックファブリック１２はプログラム可能論理素子ブロック２２およびプログラム可能相互接続部１８を含む。ここに示すように、４つのプログラム可能論理ブロック素子２２が四隅にあり、相互接続ブロック１８がこれら論理素子ブロックの中央にある。さらにこの相互接続部は、プログラム可能論理素子ブロック２２を相互接続ブロック１８と結合するラインを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
公知のように、フィールド・プログラマブル・ゲートアレイでは、エンドユーザは特定用途向け集積回路（ＡＳＩＣ）の最初にかかる費用、時間的遅延および内在的リスクを回避しながらカスタム集積回路を柔軟に実現することができる。ＦＰＧＡにはこのような利点がある一方、いくつかの欠点もある。たとえば、ＡＳＩＣにおいて実現されるのと同様の機能を実行するようにＦＰＧＡをプログラムすると、必要なダイ面積がＡＳＩＣよりも大きくなる場合がある。さらに場合によっては、ＦＰＧＡを用いた設計の性能は、ＡＳＩＣを用いて実現した設計の性能よりも低くなる。
【００１０】
このような不都合を緩和する１つのやり方としては、或る共通に使用される複合的な機能を固定的な論理回路としてＦＰＧＡ内に埋込むことが挙げられる。そこで、埋込まれた固定論理回路を含みながらプログラム可能な構成要素を維持したプログラマブル・ゲートアレイが必要とされている。
【課題を解決するための手段】
【００１１】
発明の概要
この発明は集積回路の初期化に係るシステムおよび方法に関する。この集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された構成可能論理ブロックをを備え、プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲む。この集積回路はさらに固定論理回路を備え、この固定論理回路を上記開口部
に挿入して、上記固定論理回路が上記構成可能論理ブロックのうち或る数の論理ブロックにより取囲まれるようにする。この集積回路はさらに、プログラム可能ロジックファブリックおよび固定論理回路のプログラムおよび初期化を統御する構成ロジックを備える。固定論理回路およびプログラム可能ロジックファブリックに電源を投入し、固定論理回路を或る既知の状態に保持する。次に、固定論理回路は上記既知の状態に保持されている間にプログラム可能ロジックファブリック全体が構成される。次に、構成ロジックが固定論理回路のスタートアップを開始する。固定論理回路とプログラム可能ロジックファブリックとがともに完全に可能化された後、これらは協働して機能する。この実施例では、構成およびスタートアップの間、固定論理回路は構成ロジックに対するスレーブとして動作し、構成ロジックはマスタとして動作する。これら動作の変形例では、プログラム可能ロジックファブリックを部分的に構成し、固定論理回路をスタートアップし、それから固定論理回路がプログラム可能ロジックファブリックの構成を完了させる。
【００１２】
これに代わる実施例では、スタートアップおよび初期化の間、固定論理回路がプログラム可能ロジックファブリックに対するマスタとして動作し、プログラム可能ロジックファブリックはスレーブとして動作する。しかしこのマスタ／スレーブ関係が存在するには、固定論理回路は集積回路の入出力ラインからアクセス可能でなければならない。しかし固定論理回路はプログラム可能ロジックファブリック内に埋込まれている。そこで、この代替的な実施例に従うと、固定論理回路を専用の通信ラインによってアクセス可能とする。この実施例では、固定論理回路はその電源起動およびスタートアップのルーチンを開始させるために直接アクセス可能である。したがって、固定論理回路のスタートアップの後、これを用いてプログラム可能ロジックファブリックを構成することが可能となる。この実施例に従うと、固定論理回路は集積回路の動作条件を調べて、この動作条件に適切な態様でプログラム可能ロジックファブリックを構成することができる。
【００１３】
この発明の概要に関する上述の記載はこの発明のさまざまな局面のうちいくらかを包含しているが、これがそのすべてではない。この発明についての以下の詳細な説明を添付の図面との関連で検討することにより、この発明についてのその他の局面、利点および新規の特徴点が明らかとなるであろう。
【００１４】
この発明についての理解を深めるために、さまざまな例示としての実施例についての以下の詳細な説明を添付の図面との関連で検討する。
【発明を実施するための最良の形態】
【００１５】
発明の詳細な説明
図６は、この発明のいくつかの局面に従い作製された集積回路１９００の一実施例を例示するシステム図である。集積回路１９００は、プログラム可能ロジックファブリック１９１０を取囲む複数のプログラム可能入出力回路（１９２０として一まとめに示す）および構成ロジック１９３０を含む。プログラム可能ロジックファブリック１９１０内には固定処理モジュール１９３４が設けられ、相互接続ロジック１９３８は、固定処理モジュール１９３４とプログラム可能ロジックファブリック１９１０との間の通信を可能にするものである。相互接続ロジック１９３８は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに、相互接続ロジック１９３８はまた、プログラム可能ロジックファブリック１９１０のうち固定処理モジュール１９３４に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックへ配分されることを可能にするように設計され得る。固定処理モジュールには、デジタル信号プロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックスプロセッサ、および特定用途向け集積回路が含まれ得る。この特定の実施例では、スタートアップおよび初期化の間、固定処理モジュール１９３
４は構成ロジック１９３０に対するスレーブとして動作する。同様に、スタートアップおよび初期化の間、構成ロジックは固定処理モジュール１９３４に対するマスタとして動作する。しかしこのマスタ／スレーブ関係を反対にもできることが認められる。この場合には、スタートアップおよび初期化の間、固定処理モジュール１９３４が構成ロジック１９３０に対するマスタとして動作し、構成ロジック１９３０は固定処理モジュール１９３４に対するスレーブとして動作することになるが、これもこの発明の範囲および意味から逸脱しない。図６の固定処理モジュール１９３４はプログラム可能ロジックファブリック１９１０内の中央に位置しているが、これに代えて所与の用途における使用のために適当に選択された任意の場所に位置付けられていてもよい。
【００１６】
図７は、この発明のいくつかの局面に従い実行されるプログラム方法２０００の一実施例を例示する論理図である。ブロック２０１１にて集積回路の電源投入を行なう。ここに記載のさまざまな実施例で示されるように、この電源投入を或る数のステップに分割することがあり、これには集積回路内のさまざまな構成要素の部分的な電源起動が含まれる。次に、ブロック２０１２にて、デバイスについての電源投入リセット（ＰＯＲ）が表明される。ブロック２０１３にてマイクロプロセッサリセット♯１がなされる。ブロック２０１３でのリセットにより、マイクロプロセッサが或る既知の、または予め定められた状態に置かれることが確実となる。
【００１７】
次にブロック２０１４にて、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）内のゲートが特定の用途に合わせて所望の通りに構成される。この動作はＦＰＧＡの構成であると見なすことができる。また、さまざまな実施例においてＦＰＧＡはプログラム可能ロジックファブリックであると言うこともできる。
【００１８】
次に、ブロック２０１６にて、グローバルシステムリセット（ＧＳＲ）が行なわれる。そして最後に、ブロック２０１７に示すように、スタートアップシーケンサが動作を始め、ＦＰＧＡおよびマイクロプロセッサのスタートアップシーケンスが開始される。さらに、他の固定論理デバイスが集積回路内に形成される場合、これら固定論理デバイスもまたステップ２０１７にてスタートアップされることになる。スタートアップシーケンスの後、ＦＰＧＡは起動および構成がなされており、或る既知のまたは予め定められた論理構成にある。
【００１９】
図８は、この発明に従い動作するストリップ状のブロックＲＡＭを有する別の集積回路２１００を例示するシステム図である。集積回路２１００は、プログラム可能ロジックファブリック２１１０を取囲むプログラム可能入出力回路２１２０および構成ロジック２１３０を含む。プログラム可能ロジックファブリック２１１０内には固定処理モジュール２１３４が設けられ、相互接続ロジック２１３８により、固定処理モジュール２１３４とプログラム可能ロジックファブリック２１１０との間の通信が可能となる。
【００２０】
図８に示す実施例では、ブロックＲＡＭ（ＢＲＡＭと呼ばれることもある）のストリップが、固定処理モジュール２１３４およびこれを取囲む相互接続ロジック２１３８の上部および下部に対して整列されることが認められる。このブロックＲＡＭはいくつかの機能を実行するように動作可能であり、これには固定処理モジュール２１３４およびプログラム可能ロジックファブリック２１１０のうち一方またはその両方についての構成の状態の記憶が含まれる。加えて、ブロックＲＡＭはさらに、プログラム可能ロジックファブリック２１１０を取囲むプログラム可能入出力回路２１２０と固定処理モジュール２１３４との間の通信経路となるよう動作可能とされる場合もある。この特定の実施例では４つのストリップのブロックＲＡＭが設けられ、これをブロックＲＡＭ２１９１，２１９２，２１９３，２１９４として示す。これら４つのストリップのブロックＲＡＭ２１９１，２１９２，２１９３，２１９４は固定処理モジュール２１３４およびこれを取囲む相互接続ロジ
ック２１３８の上部および下部に対して位置付けられ、これらストリップのブロックＲＡＭは固定処理モジュール２１３４およびプログラム可能ロジックファブリック２１１０の端縁まで延びる。
【００２１】
ブロックＲＡＭ２１９１，２１９２，２１９３，２１９４はまた、固定処理モジュール２１３４のスタートアップおよび初期化の間にロジックファブリック２１１０によって利用され得る。スタートアップおよび初期化の間、ＦＰＧＡ構成ロジック２１３０はマスタとして働き（これについては図７を参照して説明してある）、構成ロジック２１３０はブロックＲＡＭ２１９１，２１９２，２１９３，２１９４に固定処理モジュール２１３４のためのブート・スタートアップ命令を予めロードする。次に、構成ロジック２１３０は固定処理モジュール２１３４の再始動シーケンスを開始する。この再始動シーケンスにおいて、固定処理モジュール２１３４はそのスタートアップ命令およびデータセットを得るためにブロックＲＡＭ２１９１，２１９２，２１９３，２１９４にアクセスする。さらに、この発明に従う別の動作形態では、ロジック２１３０は、固定処理モジュール２１３４を或る既知の状態に置くことになる命令をブロックＲＡＭ２１９１，２１９２，２１９３，２１９４に予めロードする。
【００２２】
図９は集積回路２２００の別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも１本の専用通信ラインを有するものを示すシステム図である。集積回路２２００はプログラム可能ロジックファブリック２２１０を取囲むプログラム可能入出力回路２２２０および構成ロジック２２３０を含む。プログラム可能ロジックファブリック２２１０内には固定処理モジュール２２３４が設けられ、相互接続ロジック２２３８により、固定処理モジュール２２３４とプログラム可能ロジックファブリック２２１０との間の通信が可能となる。やはりこの発明のさまざまな他の実施例において既に説明したように、相互接続ロジック２２３８は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに、相互接続ロジック２２３８は、プログラム可能ロジックファブリック２２１０のうち固定処理モジュール２２３４に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックのへ配分されることを可能にするように設計され得る。図９の固定処理モジュール２２３４はプログラム可能ロジックファブリック２２１０内の中央に位置しているが、これに代えて所与の用途における使用のために適当に選択された任意の場所に位置付けられてもよい。
【００２３】
この特定の実施例では、専用通信ライン２２５１はプログラム可能入出力回路２２２０を固定処理モジュール２２３４に直接結合する。専用通信ライン２２５１はただ１本の専用通信ラインを含むが、これに代えて任意の数の専用通信ラインを含んでいてもよく、これもこの発明の範囲および意味から逸脱しない。これら専用通信ライン２２５１により、任意の数の機能目的のために固定処理モジュール２２３４へアクセスすることが可能となる。たとえば専用通信ラインを用いてプログラム可能入出力回路２２２０と固定処理モジュール２２３４との間で高速通信を行なうことが可能である。さらに、専用通信ラインを用いて、プログラム可能ロジックファブリック２２１０の相互作用または動作を必要とすることなく固定処理モジュール２２３４の電源起動、スタートアップ、ブートおよび初期化を容易にすることができる。
【００２４】
これに加え、任意の数の他の専用通信ラインを設けてもよく、これをプログラム可能ロジックファブリック２２１０内の専用通信ライン２２６１，２２７１として示す。これら専用通信ラインはいくつかの実施例において固定処理モジュール２２３４およびその相互接続ロジック２２３８のまわりに対称に位置する。これに代えて所与の用途において所望の通りに位置していてもよい。この実施例では３本の専用通信ライン２２５１，２２６１，２２７１が設けられ、これらによって、プログラム可能ロジックファブリック２２１０
の相互接続を必要とすることなしにプログラム可能入出力回路２２２０から固定処理モジュール２２３４およびその相互接続ロジック２２３８に直接通信結合が可能となる。しかし実施例によっては、所与の用途または実施例において所望の通りにその他任意の数の専用通信ラインを採用してもよい。この構造においては、固定処理モジュール２２３４を最初にスタートアップおよび初期化することができる。それから、固定処理モジュール２２３４を用いてＦＰＧＡファブリック２２１０を構成することができる。
【００２５】
図１０は、集積回路２３００のさらに別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも１本の専用通信ラインを有するものを例示すシステム図である。見方によっては、集積回路２３００は図９の集積回路２２００の変形であると見なすことができる。たとえば集積回路２３００は、プログラム可能ロジックファブリック２３１０を取囲むプログラム可能入出力回路２３２０および構成ロジック２３３０を含む。プログラム可能ロジックファブリック２３１０内には固定処理モジュール２３３４が設けられ、相互接続ロジック２３３８は、固定処理モジュール２３３４とプログラム可能ロジックファブリック２３１０との間で通信結合を行なうように動作可能である。やはりこの発明のさまざまな他の実施例において既に説明したように、相互接続ロジック２３３８は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに相互接続ロジック２３３８は、プログラム可能ロジックファブリック２３１０のうち固定処理モジュール２３３４に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックのへ配分されることを可能にするように設計され得る。図１０の固定処理モジュール２３３４はプログラム可能ロジックファブリック２３１０内の中央に位置しているが、これに代えて、所与の用途における使用のために適当に選択された任意の場所に位置付けられていてもよい。
【００２６】
この特定の実施例では、専用通信ライン２３４０，２３５０，２３６０，２３７０の４本の異なる経路がプログラム可能入出力回路２３２０を相互接続ロジック２３３８（そしてこれに従い固定処理モジュール２３３４）に直接通信結合する。図１０に示すこの実施例が図９の実施例と異なるのは、専用通信ラインが相互接続ロジック２３３８に接続するだけで固定処理モジュール２３３４に直接接続しない点である。しかし専用通信ライン２３４０，２３５０，２３６０，２３７０は、図１０において固定処理モジュール２３３４に直接の接続を可能にするように設計されることもあり、これもこの発明の範囲および意味から逸脱しない。同様に図９の専用通信ラインもまた、図９の固定処理モジュール２２３４でなく相互接続ロジック２２３８のみに接続を可能にするように設計されることもある。
【００２７】
専用通信ライン２３４０，２３５０，２３６０，２３７０は各々がただ１本の専用通信ラインを含み得るが、これに代えて各々が任意の数の専用通信ラインを含んでもよく、さらに、その各々における専用通信ラインの数が異なっていてもよく、これもこの発明の範囲および意味から逸脱しない。これら専用通信ライン２３４０，２３５０，２３６０，２３７０により、任意の数の機能目的のために固定処理モジュール２３３４へアクセスすることが可能となる。たとえば専用通信ラインを用いてプログラム可能入出力回路２３２０と固定処理モジュール２３３４との間の高速通信を行なうことが可能である。さらに、専用通信ラインを用いて、プログラム可能ロジックファブリック２３１０の相互作用または動作を必要とすることなく固定処理モジュール２３３４の電源起動、スタートアップ、ブートおよび初期化を容易にすることができる。
【００２８】
専用通信ライン２３４０，２３５０，２３６０，２３７０は、いくつかの実施例において固定処理モジュール２３３４およびその相互接続ロジック２３３８のまわりに対称に位置する。これに代えて所与の用途において所望の通りに位置付けられていてもよい。この
実施例では４本の専用通信ライン２３４０，２３５０，２３６０，２３７０が設けられ、これらにより、プログラム可能ロジックファブリック２３１０の相互作用を必要とせずにプログラム可能入出力回路２３２０から相互接続ロジック２３３８（そしてこれに従い固定処理モジュール２３３４）に直接通信結合が可能となる。しかし実施例によっては、所与の用途または実施例で所望の通りにその他任意の数の専用通信ラインを採用してもよい。
【００２９】
図１１は、この発明のいくつかの局面に従い作製された集積回路２４００の概略的な断面図である。集積回路２４００はシリコン（またはその他の半導体）層を含み、ここにＦＰＧＡファブリック２４０１、固定処理モジュール２４３４および相互接続ロジック２４３８をなすトランジスタが形成される。一実施例では、これら複数のトランジスタおよびその他所用の回路素子の形成にＣＭＯＳプロセスが採用される。このようなプロセスや、トランジスタおよびその他これらの素子をなす回路素子の構造は周知であり、この発明の教示を詳細に説明する場合を除きこれ以上ここでは説明しない。
【００３０】
複数の金属層、すなわち第１の金属層２４０１、第２の金属層２４０２、第３の金属層２４０３、第４の金属層２４０４、…、および第ｎの金属層２４０９が集積回路の相互接続の要件を満たす。これら相互接続要件には、ＦＰＧＡファブリック２４０１の相互接続要件（これについては既にここにおいて各図を参照して説明してある）、ＦＰＧＡファブリック２４０１と相互接続ロジック２４３８との間の相互接続、固定処理モジュール２４３４と相互接続ロジックとの間の相互接続、およびＦＰＧＡファブリック２４０１とプログラム可能入出力部２４２０との間の相互接続が含まれる。周知のように、特定の回路素子、たとえばトランジスタや抵抗器などの間の相互接続は、１つ以上の金属層において、これら金属層の中のラインを金属バイアで２つ以上の回路素子に結合することによって行なわれる。金属層内のラインは、バイアで結合されると回路素子間の電気接続を行なう。プログラム可能入出力部２４２０もまた、複数の金属層２４０１〜２４０９およびプログラム可能素子を含むように形成され、所望の相互接続機能をもたらす。
【００３１】
さらに、この発明に従うと、金属層２４０１〜２４０９のうち１層以上を用いて、固定処理モジュール２４３４および／または相互接続ロジック２４３８からプログラム可能入出力部２４２０への専用通信ラインを形成する。この特定の実施例では、任意の数の異なる経路をなす専用通信ラインは、プログラム可能入出力回路２４２０を、固定処理モジュール２４３４および／または固定処理モジュール２４３４を取囲む相互接続ロジック２４３８に直接通信結合する。換言すると、いくつかの実施例では、専用通信ラインは固定処理モジュール２４３４のみと通信結合する。これに代えて、他の実施例（図１１に示すものなど）では、専用通信ラインは相互接続ロジック２４３８のみに通信結合する場合がある。これら２つの変形例を組合せたものが含まれる実施例もあり得る。専用通信ラインは、単一の金属層に形成されることも、または多数の金属層に形成されることもある。
【００３２】
たとえば、具体的に図１１に示すように、専用通信ライン２４８０は第３の金属層２４８０に形成され、一方で専用通信ライン２４６０は第ｎの金属層２４０９に形成される。専用通信ライン２４８０はプログラム可能入出力部２４２０をバイア２４９０により固定処理モジュール２４３４に結合する。さらに、専用通信ライン２４６０はプログラム可能入出力部２４２０をバイア２４７０により相互接続ロジック２４３８に結合する。専用通信ライン２４４０，２４５０の例示する実施例では、プログラム可能入出力回路２４２０を、固定処理モジュール２４３４および相互接続ロジック２４３８の両方に直接通信結合する。他の実施例では、専用通信ラインはプログラム可能入出力部２４２０を固定処理モジュール２４３４または相互接続ロジック２４３８のいずれかにのみ結合することがあり得る。
【００３３】
これら専用通信ラインにより、集積回路２４００の端縁から固定処理モジュールへ直接アクセスすることが可能となる。このように直接アクセスが可能であることにより、固定処理モジュール２４３４の電源起動および初期化をＦＰＧＡファブリック２４０１の電源起動および構成に先立って行なうことができる。固定処理モジュール２４３４が最初に電源起動および初期化されることにより、これを用いてＦＰＧＡファブリック２４０１を構成することが可能となる。この順序でスタートアップおよび初期化を行なうことにより、設計者は柔軟にＦＰＧＡファブリック２４０１をプログラムすることができる。たとえば設計者は、集積回路２４００の特定の動作条件に依存して或る数の異なるＦＰＧＡファブリック２４０１の構成を選択肢として指定することがあり得る。固定処理モジュール２４３４を専用通信ライン２４８０，２４６０（およびこれらにそれぞれ連接されたバイア２４９０，２４７０）により最初に初期化することによって、固定処理モジュール２４３４は動作条件を検出し、これに従ってＦＰＧＡファブリック２４０１を構成することができる。さらに、任意の時刻にて、固定処理モジュール２４３４は、動作条件の変化に伴いＦＰＧＡファブリック２４０１を再構成することができる。固定処理モジュールから集積回路端縁のプログラム可能入出力部２４２０に至る専用通信ラインを設けることで、固定処理モジュール２４３４はＦＰＧＡファブリック２４０１を再構成することができる。
【００３４】
図１１に示す相互接続ロジック２４３８は固定処理モジュール２４３４を完全に取囲むことが認められる。しかし、相互接続ロジックをさらに分割し、これが固定処理モジュール２４３４を単に部分的に取囲むさまざまな部分になるよう設計することも可能である。たとえば、ここに記載のさまざまな他の実施例では、図１１における固定処理モジュール２４３４の右側にある相互接続ロジック２４３８が実際には固定処理モジュール２４３４の左側の相互接続ロジック２４３８と接続されていない場合もあり、これもこの発明の範囲および意味から逸脱しない。
【００３５】
以下の図を含む本特許出願における以下の図のうち多くにおいて、マイクロプロセッサへの言及は、固定処理モジュール、固定論理回路および／またはその他の固定論理素子と区別なく用いられることがあるが、これもこの発明の範囲および意味から逸脱しない。マイクロプロセッサという用語はいくつかのさまざまな固定論理回路を表わすものとして総称的に用いられる。同様に、ＦＰＧＡアレイへの言及もまた、さまざまな実施例におけるプログラム可能ロジックファブリックへの言及を含み得る。
【００３６】
図１２は、この発明のいくつかの局面に従い実行される初期化方法２５００の一実施例を例示する論理図である。ブロック２５１１にて、集積回路の電源起動を行なう。次に、ブロック２５１５にて、ＦＰＧＡアレイを部分的に構成する。この後、ブロック２５２５にて、マイクロプロセッサをプログラムする。次に、ブロック２５３６にて、ＦＰＧＡアレイのうち残りの部分（すなわちブロック２５１５で部分的に構成されなかった部分）を構成する。これは初期化方法２５００についての図１２で示すさまざまな実施例のうち１つを示すものである。
【００３７】
図１３は、この発明のいくつかの局面に従い実行される初期化方法２７００の別の実施例を例示する論理図である。最初に、ブロック２７１０にて、集積回路の電源起動を行なう。次に、ブロック２７１１にて、ＦＰＧＡアレイのうち１つ以上の部分をセットアップしてマイクロプロセッサへのアクセスを可能にする。これはマイクロプロセッサ入出力機能へのアクセスを得るために実行されるものと見なすことができる。次に、ブロック２７１３にて、マイクロプロセッサをブートする。ブロック２７３１にて、マイクロプロセッサを用いてＦＰＧＡアレイの残りの部分を構成する。これはブロック２７３１でのマイクロプロセッサを用いてＦＰＧＡアレイの残りの部分の構成を指示することであると見なすことができる。
【００３８】
代替的な実施例では、初期化方法２７００の終了前に、代替ブロック２７５１に示すように、ＦＰＧＡアレイのうちマイクロプロセッサのスタートアップおよびブートに用いられた１つ以上の部分が再び利用可能にされる。これに加え、代替ブロック２７６１に示すように、ＦＰＧＡアレイの構成後にマイクロプロセッサをリセットすることもあり得る。ＦＰＧＡアレイの構成後のこのマイクロプロセッサのリセットを実行するために、代替ブロック２７６２に示すように、専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、ＦＰＧＡアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することもできる。加えて、ブロックＲＡＭによる通信結合を用いてマイクロプロセッサのリセットを実行することもできる。
【００３９】
図１４は、この発明のいくつかの局面に従い実行される初期化方法２８００の別の実施例を例示する論理図である。ブロック２８１０にて集積回路の電源起動を行なう。ブロック２８１１にてマイクロプロセッサをブートする。このブロック２８１１でのブートは図１４においてマイクロプロセッサへの専用のアクセスを用いて実行される。次に、ブロック２８２２にてＦＰＧＡアレイを構成する。
【００４０】
これに加え、代替ブロック２８６１に示すように、ＦＰＧＡアレイの構成後にマイクロプロセッサをリセットする場合がある。ＦＰＧＡアレイの構成後におけるこのマイクロプロセッサのリセットを実行するために、代替ブロック２８６２に示すように専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、ＦＰＧＡアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することができる。加えて、ブロックＲＡＭによる通信結合を用いてマイクロプロセッサのリセットを実行することもできる。
【００４１】
図１５は、この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。ブロック２９０２にて集積回路の電源起動を行なう。ブロック２９０５にて、ＦＰＧＡアレイのうちマイクロプロセッサ近傍にある１つ以上の部分を構成し、これのためにこのＦＰＧＡ部分への専用のアクセスを用いる。代替ブロック２９０６に示すように、上記ＦＰＧＡ部分のうちいくらかはブロックＲＡＭを含み得る。次に、ブロック２９１１にて、ＦＰＧＡアレイのうち構成された上記部分を用いてマイクロプロセッサをブートする。
【００４２】
ブロック２９２２にて、ＦＰＧＡアレイを構成する。これはＦＰＧＡアレイの残りの構成を実行することであると見なすことができる。代替的な実施例では、初期化方法２９００の終了前に、代替ブロック２９５１に示すように、ＦＰＧＡアレイのうち１つ以上の部分を再び利用可能にする。これに加え、代替ブロック２９６１に示すように、ＦＰＧＡアレイの構成後にマイクロプロセッサをリセットすることもある。ＦＰＧＡアレイの構成後におけるこのマイクロプロセッサのリセットを実行するために、代替ブロック２９６２に示すように専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、ＦＰＧＡアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することができる。これに加え、ブロックＲＡＭによる通信結合を用いてマイクロプロセッサのリセットを実行することもまた可能である。
【００４３】
この発明についての以上の詳細な説明および添付の図面によれば、当業者にはその他の変更および変形が明らかとなるであろう。また、このようなその他の変更および変形はこの発明の意味および範囲から逸脱することなく実行可能であることが明らかであろう。
【図面の簡単な説明】
【００４４】
【図１】先行技術のフィールド・プログラマブル・ゲートアレイの概略的なブロック図である。
【図２】図１のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって対称型アレイ構成で実現されたものを概略的に示すブロック図である。
【図３】図１のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって行ベースの構成として実現されたものを概略的に示すブロック図である。
【図４】図１のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであってシーオブゲート構成として実現されたものを概略的に示すブロック図である。
【図５】図１のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって階層型プログラム可能論理素子構成として実現されたものを概略的に示すブロック図である。
【図６】この発明のいくつかの局面に従い作製された集積回路の一実施例を例示するシステム図である。
【図７】この発明のいくつかの局面に従い実行されるプログラム方法の一実施例を例示する論理図である。
【図８】この発明に従い動作するストリップ状のブロックＲＡＭを有する別の集積回路を例示するシステム図である。
【図９】集積回路の別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも１本の専用通信ラインを有するものを例示するシステム図である。
【図１０】集積回路のさらに別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも１つの専用通信ラインを有するものを例示するシステム図である。
【図１１】この発明のいくつかの局面に従い作製された多層集積回路の概略的な断面図である。
【図１２】この発明のいくつかの局面に従い実行されるスタートアップおよび初期化の方法の一実施例を例示する論理図である。
【図１３】この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。
【図１４】この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。
【図１５】この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。
【図１】
2005515682.tif 000003
【図２】
2005515682.tif 000004
【図３】
2005515682.tif 000005
【図４】
2005515682.tif 000006
【図５】
2005515682.tif 000007
【図６】
2005515682.tif 000008
【図７】
2005515682.tif 000009
【図８】
2005515682.tif 000010
【図９】
2005515682.tif 000011
【図１０】
2005515682.tif 000012
【図１１】
2005515682.tif 000013
【図１２】
2005515682.tif 000014
【図１３】
2005515682.tif 000015
【図１４】
2005515682.tif 000016
【図１５】
2005515682.tif 000017
【国際調査報告】
2005515682.tif 000018
2005515682.tif 000019