(57)【要約】  再構成可能な論理コアのアーキテクチャを創成する方法が開示される。このアーキテクチャは、種々の目的に合わせて展開でき、その具体化は、エリア、性能及び電力の面で費用効果がよい。本発明は、テンプレートを用いるとかかるアーキテクチャを記述できるという知見を利用している。この場合、このアーキテクチャをテンプレートのインスタンスとして容易に創成できる。テンプレートは、再構成可能論理コアの論理コンポーネント、経路指定コンポーネント及びインタフェースコンポーネントを定めるモデルである。例えば、論理コンポーネントは、階層的順序で並んだ論理素子、処理素子、論理ブロック、論理タイル、及びアレイであるのがよい。経路指定コンポーネントは、論理コンポーネント相互間の相互接続手段となる経路指定軌道を含む経路指定チャネルから成るのがよい。インタフェースコンポーネントは、入力ポート及び出力ポートから成るのがよい。モデルは、多くのパラメータによって構成され、これらパラメータの値は、アプリケーションドメインに一致する。
2007520795.tif 000002
【特許請求の範囲】
【請求項１】
集積回路上に再構成可能論理コアのアーキテクチャを創成する方法であって、前記アーキテクチャが、論理コンポーネント、経路指定コンポーネント及びインタフェースコンポーネントを有する方法において、前記アーキテクチャは、テンプレートから導き出され、前記テンプレートは、複数個のパラメータにより構成されたモデルであり、前記モデルは、前記論理コンポーネント、前記経路指定コンポーネント及び前記インタフェースコンポーネントを規定し、前記パラメータは、値を有し、該値は、アプリケーションドメインに一致している、方法。
【請求項２】
前記テンプレートは、アレイを有し、該アレイは、複数個の論理タイルを含み、論理タイルの個数は、第１のパラメータであることを特徴とする、請求項１記載の方法。
【請求項３】
前記アレイのアスペクト比は、第２のパラメータであることを特徴とする、請求項２記載の方法。
【請求項４】
前記テンプレートは、
−第１の論理タイルに結合されている少なくとも１つの単純入力／出力タイルと、
−第２の論理タイルに結合されている経路指定機能性を備えた少なくとも１つの入力／出力タイルと、
−少なくとも２つの入力／出力タイルに結合されているコーナ経路指定タイルとを更に有することを特徴とする、請求項３記載の方法。
【請求項５】
前記論理タイルのうち少なくとも１つは、
−複数個の論理ブロックポートを有する論理ブロックと、
−経路指定資源とを有し、該経路指定資源は、
−複数個の経路指定トラックと、
−前記論理ブロックポートを隣りの論理タイルに結合するよう構成された論理ポートと、
−前記経路指定トラックを隣りの論理タイルに結合するよう構成された経路指定ポートと、
−前記論理ブロックと隣りの論理タイルとの直接接続を可能にする直接ポートとを有することを特徴とする、請求項４記載の方法。
【請求項６】
前記論理ブロックポートは、第１の主要な入力ポートを有し、前記論理ブロックは更に、
−複数個の処理クラスタを有し、該処理クラスタの数は、第３のパラメータであり、前記処理クラスタのうちの少なくとも１つは、複数個の直列接続された処理素子を有し、該処理素子の数は、第４のパラメータであり、前記処理クラスタは、複数個の第１補助入力ポート、第１のキャリー入力ポート及び第１のキャリー出力ポートを更に有し、
−第１の入力選択ブロックにより出された制御信号により制御されるよう構成された第１のマルチプレクサブロックを有し、該第１のマルチプレクサブロックは、前記処理素子により出された第１の中間信号の中からの選択を行うよう構成され、
−前記第１の中間信号の選択を受け取って論理ブロックの出力信号の数を決定するよう構成された出力選択ブロックを有し、該出力選択ブロックは更に、出力信号を発生させ、該出力信号を前記論理ブロックの出力ポートに送るよう構成されており、
−前記出力信号を重ね合わすよう構成されたフリップフロップブロックを有することを特徴とする、請求項５記載の方法。
【請求項７】
前記第１の入力選択ブロックは、前記第１の主要入力ポートを前記処理素子に設けられた第２の主要入力ポートに結合したり、入力信号を選択するよう構成され、前記第１の入力選択ブロックは更に、フィードバックループが実現されるよう前記論理ブロックの出力信号を入力信号として受け取るよう構成されていることを特徴とする、請求項６記載の方法。
【請求項８】
処理素子のうち少なくとも１つは、
−複数個の直列接続された論理素子を有し、該論理素子の個数は、第５のパラメータであり、
−第２の主要入力ポートを有し、
−複数個の第２の補助入力ポートを有し、該第２の補助入力ポートは、前記論理素子に設けられた第３の補助入力ポートに結合され、
−第２のキャリー入力ポートを有し、該第２のキャリー入力ポートは、前記直列接続された論理素子のうち最初の素子に設けられた第３のキャリー入力ポートに結合され、
−第２のキャリー出力ポートを有し、該第２のキャリー出力ポートは、前記直列接続された論理素子のうち最後の論理素子に設けられた第３のキャリー出力ポートに結合され、
−複数個の第１の算術出力ポートを有し、
−第１のブール出力ポートを有し、
−第２の入力選択ブロックを有し、該第２の入力選択ブロックは、第２の主要入力ポートを前記論理素子に設けられた第３の主要入力ポートに結合したり、入力信号を選択するよう構成され、
−第２のマルチプレクサブロックを有し、該第２のマルチプレクサブロックは、前記第２の入力選択ブロックにより出された制御信号により制御されるよう構成されており、第２のマルチプレクサブロックは、前記論理素子に設けられた第２のブール出力ポートから来る信号を選択するよう構成され、第２のマルチプレクサブロックは更に、第１のブール出力ポートのための出力信号を生じさせるよう構成され、
前記論理素子に設けられた第２の算術出力ポートは、第１の算術出力ポートに結合されていることを特徴とする、請求項６記載の方法。
【請求項９】
前記論理素子のうちの少なくとも１つは、
−複数個の第３の主要入力ポートを有し、該第３の主要入力ポートの個数は、第６のパラメータであり、
−第３のキャリー入力ポート又は別のキャリー入力ポートを有し、
−第３のキャリー出力ポート又は別のキャリー出力ポートを有し、
−前記第２のブール出力ポートのうちの１つを有し、
−複数個の前記第２の算術出力ポートを有し、該第２の算術出力ポートの個数は、第７のパラメータであることを特徴とする、請求項８記載の方法。
【請求項１０】
請求項１〜９のうちいずれか一に記載の方法により創成されたアーキテクチャを有する再構成可能論理コア。
【発明の詳細な説明】
【開示の内容】
【０００１】
本発明は、再構成可能な論理コアのアーキテクチャを集積回路上に創成する方法に関し、アーキテクチャは、論理コンポーネント、経路指定（ルーティング）コンポーネント及びインタフェースコンポーネントを有する。本発明は又、かかる方法により創成されたアーキテクチャを有する再構成可能な論理コアに関する。
【０００２】
半導体技術について絶えず続けられているスケール縮小は、ウルトラスケール集積化を可能にした。したがって、消費者用途向けの多量の今日のＩＣは、システムオンチップ（system-on-chip）という概念に従って具体化されている。システムオンチップ（ＳｏＣ）では、システムコンポーネント（例えば、プログラマブルコア、メモリ、コプロセッサ、周辺装置）は、同一シリコン片上に集積化されている。オンチップ集積化により、システムの性能が向上すると共にそのコストが低くなる。
【０００３】
従来、ＳｏＣコンポーネントは、専用（ハードワイヤード）コアかプログラマブル（汎用又はＤＳＰ）コアかのいずれかとして具体化されている。専用コアは、高性能であることを特徴とし、機能性は典型的には、１つの特定の機能に制限され、これに対し、プログラマブルコアは、性能が比較的低いが、機能性を恣意的（任意）に変更できるという特徴をもつ。劇的に増大するＩＣマスクセット費用に鑑みて、台頭しつつある用途における性能に対する費用の観点の重要性の高まり及び専用コア及びプログラマブルコアだけを用いてＳｏＣを設計する消費者電子マーケットの競合的性格は、十分に実行可能である解決策をもはやもたらしていない。
【０００４】
これらの理由で、再構成可能な論理は、今日では、専用コア及びプログラマブルコアの魅力的な代替手段と見なされている。第１に、再構成可能論理は、デバイスの作製後にかかるデバイスの機能性を変更することができる。第２に、再構成可能論理は、性能とプログラマブルプロセッサの要する費用との間にバランスのとれたトレードオフの関係を提供する。その結果、再構成可能論理をＳｏＣに埋め込むことにより、ＩＣのコストのかかる再設計の実施回数を減少させることができると共に最終製品の寿命が延びる。
【０００５】
再構成可能論理デバイスの典型的な例は、ＦＰＧＡ（書替え可能（フィールドプログラマブル）ゲートアレイ）である。ＦＰＧＡは、基本論理機能及び基本算術機能をビットレベルで実行するようプログラム可能なコンピュータ処理素子のアレイである。コンピュータ処理素子は、これ又プログラム可能な相互接続ネットワークにより包囲されている。相互接続ネットワークは、コンピュータ処理素子相互間の通信を可能にする。アレイの外縁部のところに配置されたプログラム可能入力／出力素子は、他のシステム資源とのインタフェースとして役立つ。
【０００６】
再構成可能な論理デバイスのプログラム可能な性質は、一方においては、これらのアプリケーションスペースが広いので有益であるが、専用論理利用デバイス（ＡＳＩＣ）と比較して、これらの領域、性能及び電力消費量のオーバーヘッドが生じる理由でもある。オーバーヘッドは、かかるデバイス中に存在する多量のスイッチ、コンフィギュレーションメモリセル及び相互接続ワイヤにより生じる。それ故、スイッチ、コンフィギュレーションメモリセル及び相互接続ワイヤの数をかかるコンポーネントにとって必要なレベルに対してバランスを取る必要がある。
【０００７】
種々のアプリケーション又は適用分野及びかくして種々のシステム要件に鑑みて、ＳｏＣ上に集積可能に取り付けられる埋め込み型ＦＰＧＡ（ｅＦＰＧＡ）コアは、種々の寸法形状で入手できなければならない。これは、通常幾つかのあらかじめ定められた寸法で製造され、システム全体の具体化を標的にするスタンドアロン型ＦＰＧＡとは対照的である。種々の寸法形状の次に、ｅＦＰＧＡコアは、領域、性能及び電力の面でも費用効果がよくなくてはならず、これらは、比較的短時間で実現可能でなければならない。これらの特徴は、コストに敏感な消費者用途にとって高品質ＳｏＣを設計する上で必要不可欠である。今日の再構成可能論理コアの汎用アーキテクチャは、これら要件を満たすようになっていない。
【０００８】
本発明の目的は、種々の目的に合わせて展開でき、その具体化が領域、性能及び電力の面で費用効果のよい再構成可能論理コアのアーキテクチャを創成する方法を提供することにある。この目的は、請求項１の特徴事項記載部分により特徴付けられる方法を提供することにより達成される。
【０００９】
本発明は、テンプレートを用いるとかかるアーキテクチャを記述できるという知見を利用している。この場合、このアーキテクチャをテンプレートのインスタンスとして容易に創成できる。テンプレートは、再構成可能論理コアの論理コンポーネント、経路指定コンポーネント及びインタフェースコンポーネントを定めるモデルである。例えば、論理コンポーネントは、階層的順序で並んだ論理素子、処理素子、論理ブロック、論理タイル、及びアレイであるのがよい。経路指定コンポーネントは、論理コンポーネント相互間の相互接続手段となる経路指定軌道を含む経路指定チャネルから成るのがよい。インタフェースコンポーネントは、入力ポート及び出力ポートから成るのがよい。モデルは、多くのパラメータによって構成され、これらパラメータの値は、アプリケーションドメインに一致する。
【００１０】
例えば、アプリケーションドメインは、データ経路指向機能性、ランダム論理指向機能性又はメモリ指向機能性を含む場合がある。各アプリケーションドメインは、コンポーネントの或る特定のアーキテクチャを必要とする。例えば、データ経路指向論理素子は、或る特定の数の主要入力ポート、補助入力ポート、キャリー入力ポート、少なくとも１つの算術出力ポート、ブール出力ポート及びキャリー出力ポートを有するアーキテクチャを備えなければならない。これら入力ポート及び出力ポートの個数は、テンプレートのパラメータである。テンプレートの全てのパラメータについて適当な値を選択することにより、テンプレートにより創成されるアーキテクチャは、特定のアプリケーションドメインに合わせて微調整できる。その場合、再構成可能論理コア中の例えば多量のスイッチ及び相互接続ワイヤにより生じるオーバーヘッドを著しく減少させることができ、しかも、再構成可能論理コアは、特定のアプリケーションドメイン内で複数の機能を実行するのに十分な融通性を依然として有する。
【００１１】
本発明の技術的思想は、テンプレート利用ドメイン固有再構成可能論理と呼ばれる。この技術的思想の主要な特徴は、次の通りである。
【００１２】
−再構成可能論理アーキテクチャが、汎用目的ではなく、アプリケーションドメイン固有であること。
−の由来の元である再構成可能論理アーキテクチャの汎用テンプレートからドメイン固有インスタンスを導き出せるということ。
−モジュール化設計思想、特にモジュール化アーキテクチャにより、最小数の種々のタイプのタイルを用いて可変寸法再構成可能論理コアを作製できること。
【００１３】
広いアプリケーション領域を保証するため、伝統的なＦＰＧＡ（及びｅＦＰＧＡ）は、汎用的に作られ、それにより、これらのコストオーバーヘッドが増大する。しかしながら、ＳｏＣは代表的には、可能な限り全てのアプリケーションドメインではなく特定のアプリケーションドメインを標的としている。アプリケーションドメイン又はアプリケーションの１つのクラスに属するアプリケーションが、ほぼ同じ特性及び機能を共有しているので、かかるドメインについて再構成可能論理アーキテクチャを最適化することが可能である。このように、コストオーバーヘッドの著しい減少を達成することができる。本発明のテンプレートは、以下の他の利点を有する。
【００１４】
−テンプレートは、ドメイン固有再構成可能論理コア、例えば埋め込み型ＦＰＧＡの迅速且つ融通性のある作製を可能にする。
−汎用アーキテクチャモデルを用い、そのパラメータの恣意的な変更を可能にすることにより、多くの種々のアーキテクチャインスタンスを作製することができる。これにより、従来型（マニュアル）方法を用いて創成できるレベルよりも非常に大きな集合をなす潜在的に興味ある解決策で実験による体系的なアーキテクチャスペース検査が可能になる。
−種々の再構成可能論理コア（テンプレートインスタンス）の大きな集合に関するＶＬＳＩ具体化プロセスの複雑さは、例えばネットリスト又はレイアウトの形態をしたこれらのアーキテクチャの仕様を汎用アーキテクチャテンプレートから自動的に創成できれば、かなり軽減できる。
−マッピング（ＣＡＤ）ツール（例えば、テクノロジーマッピング、配置経路指定）の必要性のためにアーキテクチャをモデル化するためにパラメータ決定可能アーキテクチャテンプレートも又、使用される場合、かかるツールは、再標的可能に作ることができ、これは、これらツールを種々のプラットホーム上で展開できるということを意味する。
【００１５】
再構成可能論理をそれ自体アプリケーションドメインに合わせて調節するという考え方が知られていることは注目される。再構成可能論理を汎用性が低くなるように構築した場合の利点は、過去に認識されており、種々のアプリケーションドメイン固有再構成可能論理アーキテクチャが、大抵の場合ＤＳＰタイプのアプリケーションについて学会で提案された。また、粗粒度再構成可能コンピュータ処理アーキテクチャ（粗粒度再構成可能コンピュータ処理アーキテクチャは、古典的なＦＰＧＡとしてビットレベルに代わりワードレベルで再構成可能である）の導入は、或る特定のアプリケーション領域におけるコスト軽減の考え方によって推進された。かかるアーキテクチャの例としては、ヒューレットパッカード社のＲＡＡアーキテクチャ及びＰＡＣＴからのＸＰＰプロセッサが挙げられる。アプリケーションドメイン固有再構成可能コンピュータ処理の更に別の考え方は、ワシントン大学におけるトーテム（Totem）プロジェクトの一部として提案された（コンプトン（Compton）及びホウク（Hauck）共著，「（Totem: Custom Reconfigurable Array Generation）」，Proceedings of IEEE Symposium on FPGAs for Custom Computing Machines：（特注のコンピュータ処理機械のためのＦＰＧＡに関するＩＥＥＥシンポジウムの議事録）」，２００１年４月）。この場合、あらかじめ定められたアーキテクチャテンプレート及び１組の前もって知られているアルゴリズムを用いることにより粗粒度カスタム再構成可能論理アーキテクチャの自動的創成を可能にするソフトウェアパッケージが開発された。融通性の相当な減少により、トーテムアーキテクチャは、ＦＰＧＡのコストよりもＡＳＩＣのコストに近いコストレベルを達成することができる。
【００１６】
また、パラメータ決定可能な再構成可能論理アーキテクチャの技術的思想が過去に用いられたことも注目される。ベッツ（Betz）他著，「Architecture and CAD for Deep-Submicron FPGAs」クルヴァー・アカデミック・パブリッシャーズ（ Kluwer Academic Publishers），１９９９年では、融通性のあるＣＡＤツールセットの目的でＦＰＧＡアーキテクチャの種々の変性型をモデル化するためにパラメータ決定可能記述が用いられる。ＶＰＲ（汎用性のある配置及び経路指定）と呼ばれる配置及び経路指定ツールを含むかかるツールセット並びにＴ−ＶＰａｃｋ（ＶＰＲ用のタイミング駆動パッキング）と呼ばれるパッキング（クラスタ化）ツールは、ＬＵＴを利用したＦＰＧＡアーキテクチャを標的とするマッピングフローの一部として使用できる。ベッツにより用いられたアーキテクチャモデルは、或る程度の制約をもたらし、このために、比較的単純なＦＰＧＡ構造をモデル化できるに過ぎない。ベッツのアーキテクチャモデルの詳細は、高レベル記述からのアーキテクチャ創成プロセスの自動化を特に強調した状態で、ベッツ等によって書かれた参考文献に記載されている。
【００１７】
しかしながら、以下の特徴は、本発明の技術的思想を既に知られている技術的思想とは著しく異なるものにしている。
【００１８】
最初に、単一アプリケーションドメインに向けて最適化されているに過ぎない学会からのアプリケーション指向アーキテクチャとは異なり、本発明の技術的思想は、種々のアプリケーションドメインの要件を考慮に入れることにより完全なアプローチを用いている。第２に、本発明の技術的思想は、カーネル（核）を処理する同様なタイプを互いに異なるアプリケーションドメイン間で共有できるということを前提としている。これは、類似性に基づいてアプリケーションクラスとして分類できる或る特定のアプリケーションドメインの場合、必要なアーキテクチャのタイプは１つだけであることを意味している。これは、非常に多種多様な趣の再構成可能論理アーキテクチャのサポートを経済的に正当化できない場合が多いので本質的である。第３に、本発明は、例えばトーテムプロジェクトで提案されたアーキテクチャにより提供されるレベルよりも非常に高いレベルの融通性を目的としており、トーテムアーキテクチャは、限定された組をなす非常に明確に定義されたカーネルのみに向けて最適化されている。一方、これにより、コストにおけるマイナス面が増大し、他方、リスクは低くなる。というのは、マップされたカーネルは、依然として更新でき又は再構成可能アーキテクチャをシリコン中に具体化した後は新しいものに置き換え可能だからである。
【００１９】
また、再構成可能アーキテクチャのベッツのモデルは、本発明の再構成可能論理アーキテクチャのテンプレートとは著しく異なっている。第１に、ベッツのモデルの主目的は、マッピングツール用の経路指定アーキテクチャの創成における融通性を達成することにある。その結果、かかるモデルにおける論理ブロックに関する情報は、ツールの適正な機能発揮に必要不可欠である非常に少ないパラメータに縮小されている。原理的には、経路指定アーキテクチャのみを創成することができ、他方、論理ブロックは、特定の細分性のブラックボックスとしてモデル化される。これとは対照的に、本発明のテンプレートは、再構成可能論理デバイスの完全なアーキテクチャ、即ち、全ての機能ブロック（論理及び入力／出力ブロック）及び関連経路指定資源を定める。さらに、本発明のテンプレートは、マッピングＣＡＤフローと物理的設計フロー（例えば、レイアウト作製）の両方に利用できる。第２に、ベッツのモデルは、従来型汎用ＦＰＧＡアーキテクチャを目的としている。これは、単純なｋ−ｉｎｐｕｔＬＵＴをかかるアーキテクチャの基本論理素子として見なし、ＬＵＴは、互いにクラスタ化でき、それにより一層粗い論理ブロックが形成される。これは、アプリケーションドメイン指向アーキテクチャのモデル化向けの本発明のテンプレートとは対照的である。かくして、テンプレートパラメータの値は、標的アプリケーションドメインで決まる。さらに、本発明者のモデルにおける基本論理素子は、Ｔ−ＶＰａｃｋ及びＶＰＲで想定されている単純ｋ−ＬＵＴ素子よりも非常に複雑な場合がある。第３に、ベッツのアーキテクチャモデルは、４つのレベルの階層に基づいており、これに対し、本発明者のアーキテクチャテンプレートは、５つのレベルを特徴としており、本発明者のモデルにおける階層の追加のレベルは、機能的に異なる再構成可能論理構造の曖昧さのない記述を可能にする。
【００２０】
もう１つの注意点として、既に知られている方式に関し上述の差だけが本発明の技術的思想を特に有利なものにするわけではない。もう１つの重要な独特の特徴は、再構成可能論理アーキテクチャのアプリケーションドメイン固有化の技術的思想と汎用アーキテクチャテンプレートからのこれらの自動創成（派生）の技術的思想の組合せにある。この組合せは、当業者には理解されるように包括的な方法論を定める。
【００２１】
米国特許第６，４７６，６３６号明細書は、特定の商用ｅＦＰＧＡ（アクテル・コーポレイション（Actel Corporation））のアーキテクチャを開示していることが注目される。完全なデバイスは、タイルから組み立てられ、これらタイルは、厳密に定義される。この特許文献は、経路指定アーキテクチャの非対称性の問題に取り組んでいない。
【００２２】
最後に、米国特許第６，３０１，６９６号明細書は、所謂「硬化された」ＦＰＧＡを作製する方法論を開示していることが注目される。「硬化」という用語は、金属接続を備えたプログラムドＦＰＧＡのオン状態スイッチをバイパスすることを意味し、これにより、性能の向上が得られる。しかしながら、最終ＦＰＧＡのシリコン領域は、古典的なＦＰＧＡと同一である。「テンプレート」という用語は、中立（非構成）ＦＰＧＡデバイスを説明するために用いられている。
【００２３】
本発明の方法の実施形態は、請求項２に記載されている。この実施形態では、テンプレートは、アレイを有し、このアレイは、複数個の論理タイルを有し、論理タイルの数は、第１のパラメータである。別の実施形態が請求項３に記載されており、アレイのアスペクト比は、第２のパラメータである。
【００２４】
請求項４は、本発明のテンプレートの別の実施形態を記載している。この実施形態では、テンプレートは、
−第１の論理タイルに結合されている少なくとも１つの単純入力／出力タイルと、
−第２の論理タイルに結合されている経路指定機能性を備えた少なくとも１つの入力／出力タイルと、
−少なくとも２つの入力／出力タイルに結合されているコーナ経路指定タイルとを更に有する。
【００２５】
請求項５は、本発明の論理タイルの実施形態を記載している。この実施形態では、論理タイルのうち少なくとも１つは、
−複数個の論理ブロックポートを有する論理ブロックと、
−経路指定資源とを有し、該経路指定資源は、
−複数個の経路指定トラックと、
−論理ブロックポートを隣りの論理タイルに結合するよう構成された論理ポートと、
−経路指定トラックを隣りの論理タイルに結合するよう構成された経路指定ポートと、
−論理ブロックと隣りの論理タイルとの直接接続を可能にする直接ポートとを有する。
【００２６】
請求項６は、本発明の論理ブロックの実施形態を記載している。この実施形態では、論理ブロックポートは、第１の主要な入力ポートを有し、論理ブロックは更に、
−複数個の処理クラスタを有し、該処理クラスタの数は、第３のパラメータであり、処理クラスタのうちの少なくとも１つは、複数個の直列接続された処理素子を有し、該処理素子の数は、第４のパラメータであり、処理クラスタは、複数個の第１補助入力ポート、第１のキャリー入力ポート及び第１のキャリー出力ポートを更に有し、
−第１の入力選択ブロックにより出された制御信号により制御されるよう構成された第１のマルチプレクサブロックを有し、該第１のマルチプレクサブロックは、処理素子により出された第１の中間信号の中からの選択を行うよう構成され、
−第１の中間信号の選択を受け取って論理ブロックの出力信号の数を決定するよう構成された出力選択ブロックを有し、該出力選択ブロックは更に、出力信号を発生させ、該出力信号を論理ブロックの出力ポートに送るよう構成されており、
−出力信号を重ね合わすよう構成されたフリップフロップブロックを有する、請求項５記載の方法。
【００２７】
請求項７は、本発明の論理ブロックの実施形態を記載しており、この実施形態では、第１の入力選択ブロックは、第１の主要入力ポートを処理素子に設けられた第２の主要入力ポートに結合したり、入力信号を選択するよう構成され、第１の入力選択ブロックは更に、フィードバックループが実現されるよう論理ブロックの出力信号を入力信号として受け取るよう構成されている。
【００２８】
請求項８は、本発明の処理素子の実施形態を記載している。この実施形態では、処理素子のうち少なくとも１つは、
−複数個の直列接続された論理素子を有し、該論理素子の個数は、第５のパラメータであり、
−第２の主要入力ポートを有し、
−複数個の第２の補助入力ポートを有し、該第２の補助入力ポートは、論理素子に設けられた第３の補助入力ポートに結合され、
−第２のキャリー入力ポートを有し、該第２のキャリー入力ポートは、直列接続された論理素子のうち最初の素子に設けられた第３のキャリー入力ポートに結合され、
−第２のキャリー出力ポートを有し、該第２のキャリー出力ポートは、直列接続された論理素子のうち最後の論理素子に設けられた第３のキャリー出力ポートに結合され、
−複数個の第１の算術出力ポートを有し、
−第１のブール出力ポートを有し、
−第２の入力選択ブロックを有し、該第２の入力選択ブロックは、第２の主要入力ポートを論理素子に設けられた第３の主要入力ポートに結合したり、入力信号を選択するよう構成され、
−第２のマルチプレクサブロックを有し、該第２のマルチプレクサブロックは、第２の入力選択ブロックにより出された制御信号により制御されるよう構成されており、第２のマルチプレクサブロックは、論理素子に設けられた第２のブール出力ポートから来る信号を選択するよう構成され、第２のマルチプレクサブロックは更に、第１のブール出力ポートのための出力信号を生じさせるよう構成され、
論理素子に設けられた第２の算術出力ポートは、第１の算術出力ポートに結合されている。
【００２９】
請求項９は、本発明の論理素子の実施形態を記載している。この実施形態では、論理素子のうちの少なくとも１つは、
−複数個の第３の主要入力ポートを有し、該第３の主要入力ポートの個数は、第６のパラメータであり、
−第３のキャリー入力ポート又は別のキャリー入力ポートを有し、
−第３のキャリー出力ポート又は別のキャリー出力ポートを有し、
−第２のブール出力ポートのうちの１つを有し、
−複数個の第２の算術出力ポートを有し、該第２の算術出力ポートの個数は、第７のパラメータである。
【００３０】
請求項１０は、本発明の方法により創成されたアーキテクチャを有する再構成可能論理コアを記載している。本発明の方法は、かかる再構成可能論理コア用のアーキテクチャを創成する上で特に有利である。これらアーキテクチャは、自動的に創成できる。
【００３１】
図面を参照して本発明を詳細に説明する。
【００３２】
本発明のアーキテクチャテンプレートは、限定された数の基本ビルディングブロック（タイルと呼ばれる）を用いてアプリケーションドメイン指向の再構成可能な（スタンドアロン型ＦＰＧＡ又は埋め込み型ＦＰＧＡの）論理コアの任意タイプの完全アーキテクチャを創成する手法を規定する。創成されたアーキテクチャは、均質且つ階層的であると見なされる。以下に説明するアーキテクチャテンプレートの好ましい実施形態では、階層のレベル（地位が上がる順番）は、次のモジュール、即ち、論理素子、処理素子、論理ブロック、論理タイル及び再構成可能な論理コアのアレイを定める。
【００３３】
図１は、本発明のテンプレートのビルディングブロックとして使用できる論理素子ＬＥを示している。論理素子ＬＥは、再構成可能な論理アーキテクチャの基本ルックアップテーブルを利用した（ＬＵＴ利用）機能コンポーネントである。論理素子のタイプＴＹＰＥは、アプリケーションドメイン（アプリケーションクラス）のタイプで決まる。論理素子ＬＥは、主要入力ポートの集合Ｐ＝｛ｐｉ：０＜ｉ≦｜Ｐ｜｝、補助入力ポートの集合Ｓ＝｛ｓｉ：０＜ｉ≦｜Ｓ｜｝及びキャリー入力ポートｃｉを有する。この論理素子は、算術出力ポートの集合Ａ＝｛ａｉ：０＜ｉ≦｜Ａ｜｝、ブール出力ポートｂ及びキャリー出力ポートｃｏを更に有する。論理素子ＬＥのポートの個数及びその機能性は、論理素子のタイプＴＹＰＥで決まる。タイプＴＹＰＥは、再構成論理コアが使用される対象としてのアプリケーションドメインで決まる。
【００３４】
ドメイン固有論理素子の３つの例が、図２に示されている。
【００３５】
論理素子のポートの個数及び機能性は、それぞれ、図３及び図４に与えられている。この機能性は、論理素子で具体化できる基本ブール機能、算術機能及びメモリ機能の細分性として記述される。この意味では、細分性は、最大ブール機能の入力ベクトルのビット数、算術機能の単一オペランドのビット数及びメモリのデータ入力のビット数として定義される。
【００３６】
図５は、最高ｌｅ｜Ｎ｜（これを含む）までの複数個の論理素子ｌｅ１，ｌｅ２を有する本発明の処理素子を示している。処理素子は、直列接続された論理素子の集合Ｎ＝｛ｌｅｉ：０＜ｉ≦｜Ｎ｜｝を有する。｜Ｎ｜は、処理素子で具体化できる換算固有ブール機能の最大細分性（入力ベクトルのビット数の面で）を定める。処理素子は、主要入力ポートの集合Ｘ＝｛ｘｉ：０＜ｉ≦｜Ｘ｜｝、補助入力ポートの集合Ｓ＝｛ｓｉ：０＜ｉ≦｜Ｓ｜｝及びキャリー入力ポートｃｉを有する。この処理素子は、出力ポートの集合Ｙ＝｛ｙｉ：０＜ｉ≦｜Ｙ｜｝、ブール出力ポートｚ及びキャリー出力ポートｃｏを更に有する。
【００３７】
処理素子の入力ポートｘｉは、入力選択ブロックを介して｜Ｎ｜個の連続した論理素子の主要入力ポートｐｉに接続されている。１組のマルチプレクサから成る入力選択ブロックが、処理素子の機能モードに応じて、論理素子の主要入力ポートｐｉは、処理素子の主要入力ポートｘｉから正確な信号の組を常時受け取るようにする。処理素子の主要入力ポートの個数｜Ｘ｜は、処理素子で具体化できる最大ブール機能、算術機能又はメモリ機能（どれかがより大きい）の１ビット入力の累積個数に等しい。処理素子の｜Ｓ｜個の補助入力ポートｓｉは、全ての論理素子の補助入力ポートｓｉに直接接続されている。これとは対照的に、論理素子のキャリー入力ポートｃｉ及びキャリー出力ポートｃｏは、互いに連鎖されている。これが意味することは、最初のものを除き全ての論理素子のキャリー入力ポートｃｉが、先の論理素子のキャリー出力ポートｃｏに接続されているということである。処理素子の最初の論理素子、即ち、ｌｅ０のキャリー入力ポートｃｉは、処理素子のキャリー入力ポートｃｉに接続され、これと同様に、処理素子の最後の論理素子、即ちｌｅ｜Ｎ｜のキャリー出力ポートｃｏは、処理素子のキャリー出力ポートｃｏに接続されている。論理素子の算術出力ポートａｉは、処理素子の｜Ｙ｜出力ポートｙｉに直接接続されている。論理素子のブール出力ポートｂは、２：１マルチプレクサのｌｏｇ｜Ｎ｜レベルネットワークから成るマルチプレクサブロックで多重化される。マルチプレクサは、入力選択ブロックにより出される制御信号の集合Ｕ＝｛ｕｉ：０＜ｉ≦｜Ｕ｜｝によって制御される。このブロックでは最終の２：１マルチプレクサの出力であるマルチプレクサブロックの出力は、先の処理素子のブール出力ｚに接続されている。
【００３８】
処理素子の入力ポート及び出力ポートの個数は、その基本コンポーネントとして用いられる論理素子のタイプＴＹＰＥに応じた状態で、図６に与えられている。図７は、種々のタイプＴＹＰＥの論理素子が組み込まれた処理素子の機能性を記載している。
【００３９】
図８は、最高ｐｅ｜Ｍ｜（これを含む）までの処理素子ｐｅ１，ｐｅ２のクラスタを有する論理ブロックを示している。論理ブロックは、処理素子の集合Ｍ＝｛ｐｅｉ：０＜ｉ≦｜Ｍ｜｝を有し、これらは、直列接続された処理素子の｜Ｋ｜平行クラスタの状態で整然と並べられている。一クラスタ中の処理素子の個数は、例えば、或る特定のアプリケーションで用いられる語長で決まる。各クラスタは、独立した集合又は組をなす補助入力ポートｔｉ及び独立したキャリー入力ポートｃｉｉ及びキャリー出力ポートｃｏｉで特徴付けられる。論理ブロックの出力信号を重ね合わせるのがよく、このことは、これら出力信号をクロック信号で同期させることができるということを意味している。また、出力信号を論理ブロックの入力に送ることができ、それによりより複雑な論理機能又はフィードバックループを備えた機能の実現が可能になる。入力ピン、例えば補助入力ポートｔｉ及びキャリー入力ポートｃｉｉは、これらが排他的に用いられるので、場合によっては共有することができ又はマージすることができるということが注目される。
【００４０】
この論理ブロックは、主要入力ポートの集合Ｉ＝｛ｉｉ：０＜ｉ≦｜Ｉ｜｝及び論理ブロックの出力ポート集合Ｏ＝｛ｏｉ：０＜ｉ≦｜Ｏ｜｝のポートに接続された｜Ｏ｜フィードバックポートを有している。論理ブロックは、補助入力ポートの集合Ｔ＝｛ｔｉ：０＜ｉ≦｜Ｔ｜∧｜Ｔ｜＝｜Ｓ｜・｜Ｋ｜｝を更に有している。集合Ｔの第１の｜Ｓ｜入力、即ち、ｔｉ，…，ｔ｜Ｓ｜は、処理素子の第１のクラスタに属し、集合Ｔの第２の｜Ｓ｜入力、即ち、ｔ｜Ｓ｜＋１，…，ｔ２・｜Ｓ｜は、処理素子の第２のクラスタに属する。以下同様である。論理ブロックは、｜Ｋ｜キャリー入力ポートｃｉｉ及び｜Ｋ｜キャリー出力ポートｃｏｉを更に有し、ここで、“ｉ”は、０＜ｉ≦｜Ｋ｜であるようなクラスタ指数である。
【００４１】
｜Ｉ｜主要入力及び｜Ｏ｜フィードバック入力は、１組のマルチプレクサを有する入力選択ブロックに送られる。論理ブロックの入力選択ブロックは、２つの目的に役立つ。第１に、論理ブロックの主要入力ポートの個数が、全てのクラスタの処理素子の主要入力ポートの個数よりも少ない場合、即ち、もし｜Ｉ｜＜｜Ｍ｜・｜Ｘ｜であれば、入力選択ブロックは、論理ブロックの主要入力と処理素子の主要入力との間の完全接続性を実現する。完全接続性により、具体化に要する費用を軽減させた状態で所要レベルの（経路指定）融通性（これは、ランダム論理機能にとって必要不可欠である）が保証される。これは、論理ブロックの入力ポートの個数の減少により、経路指定資源ハードウェアの量が減少するからである。処理素子の主要入力ポートの個数｜Ｘ｜が処理素子の実行できる最大ブール（ランダム論理）機能の入力ベクトルのビット数ｋによって定められる（即ち、｜Ｘ｜＝ｋ）であるアーキテクチャの場合、次の実験式、即ち、｜Ｉ｜＝｜Ｘ｜／２・（｜Ｍ｜＋１）を用いて、処理素子の主要入力の個数｜Ｘ｜と｜Ｍ｜処理素子を有する論理ブロックの主要入力の個数｜Ｉ｜との関係を定めることができる。
【００４２】
第２に、入力選択ブロックは、論理ブロックのフィードバック（出力）ポートの集合Ｏからの信号が処理素子の入力として選択される場合、フィードバックの実現を可能にする。目標アプリケーションドメインに応じて、論理ブロックの入力選択ブロックは、１対１フィードバック接続方式か全フィードバック接続方式かのいずれかを備えた状態で設計されるのがよい。１対１フィードバック接続方式は、データ経路支配アーキテクチャにとって代表的であり、逐次算術モジュール、例えばカウンタ、インクレメンタ及びデクリメンタの実現を可能にし、この場合、アーギュメントのうちの１つは、重ね合わせ信号を受け取る。この理由で、１対１フィードバック接続方式は、論理ブロックの｜Ｏ｜出力ポートを全ての処理素子の｜Ｍ｜・｜Ｘ｜主要入力ポートに接続して、算術出力のｉ番目のビットと関連した論理ブロックの出力ポートｏｉが第１算術アーギュメントのｉ番目のビットと関連している処理素子の主要入力に接続されるようになっている。
【００４３】
これとは対照的に、全フィードバック接続方式は、論理ブロックの全ての｜Ｏ｜出力ポートを処理素子の全ての｜Ｍ｜・｜Ｘ｜主要入力ポートに接続する。この種の接続方式は、ランダム論理指向アーキテクチャにとって代表的であり、これにより、複雑なブール機能（この場合、フィードバック信号は、重ね合わされない）又は別のタイプの有限状態機械（この場合、フィードバック信号は、重ね合わされる）の実現が可能になる。１対１フィードバック接続方式及び全フィードバック接続方式を備えた入力選択ブロックが、それぞれ、図９ａ及び図９ｂに示されている。
【００４４】
図８では、入力選択ブロックの出力は、連続した処理素子の集合Ｘの主要入力ポートに接続されている。論理ブロックの集合Ｔの第１の｜Ｓ｜補助入力ポートは、第１のクラスタの全ての処理素子の集合Ｓの補助入力ポートに接続されている。これとは対照的に、論理ブロックのｉ番目のキャリー入力ポートｃｉｉは、２：１マルチプレクサを介して、ｉ番目のクラスタの第１の処理素子だけのキャリー入力ポートｃｉに接続されている。そのクラスタの残りの処理素子のキャリー入力ポートとキャリー出力ポートは、直列接続されている。ｉ番目のクラスタ内の最後の処理素子のキャリー出力ポートｃｏは、論理ブロックのｉ番目のキャリー出力ポートｃｏｉに接続されている。クラスタの直列接続を可能にするため、ｉ番目のクラスタ（最初のクラスタを除く）の第１の処理素子のキャリー入力ポートのところの２：１マルチプレクサにより、論理ブロックのキャリー入力ポートｃｉｉからの信号か、ｉ番目のクラスタのキャリー出力ポートｃｏからの信号かを選ぶことができる。
【００４５】
ｉ番目のクラスタに属する処理素子の｜Ｓ｜補助入力ポートは、論理ブロックの補助入力ポートのｉ番目の集合、即ち、ポートｔ（ｉ−１）・｜Ｓ｜＋１，…，ｔｉ・｜Ｓ｜から信号を受け取る。さらに、ｉ番目のクラスタの第１の処理素子のキャリー入力ポートは、論理ブロックのｉ番目のキャリー入力ポートｃｉｉから信号を受け取る。ｉ番目のクラスタの残りの処理素子のキャリー入力ポートとキャリー出力ポートは直列接続されている。ｉ番目のクラスタ内の最後の処理素子のキャリー出力ポートｃｏは、論理ブロックのｉ番目のキャリー出力ポートｃｏｉに接続されている。
【００４６】
論理ブロックのマルチプレクサブロックは、入力選択ステージに起因する集合Ｗ＝｛ｗｉ：０＜ｉ≦｜Ｗ｜｝からの制御信号によって制御される２：１マルチプレクサのｌｏｇ｜Ｍ｜ステージネットワークである。第１のステージのマルチプレクサは、連続した対をなす処理素子のブール出力ポートｚからの信号の中から選ぶ。第２のステージの各マルチプレクサは、第１のステージの連続したマルチプレクサの出力からの１対の信号の中から選び、第３のステージの各マルチプレクサは、第２のステージの連続したマルチプレクサの出力からの１対の信号の中から選ぶ。以下同様である。全てのステージのマルチプレクサの出力信号は、マルチプレクサブロックの出力ポートに差し向けられる。これは、最後の（即ち、最後のステージの）マルチプレクサだけの出力信号がマルチプレクサブロックの出力ポートに差し向けられる処理素子のマルチプレクサブロックとは対照的である。
【００４７】
マルチプレクサブロックの出力ポートからの信号及び全ての処理素子の最初の｜Ｙ｜出力ポートからの信号は、出力選択ブロックの入力に結合される。出力選択ブロックは、論理ブロックの出力信号の最終個数並びにこれら信号が見えるポートの最終個数を定めるマルチプレクサネットワークである。マルチプレクサブロックの全ての出力信号及び処理素子の全ての最初の｜Ｙ｜信号は、論理ブロック出力として選択できると見なされる。出力選択ブロックからの信号は、フリップフロップブロックに差し向けられる。フリップフロップブロックにより、論理ブロックの出力ならばどれでも重ね合わせることができる。重ね合わされていても重ね合わされていなくても、フリップフロップブロックの出力信号は、論理ブロックの｜Ｏ｜出力ポートに差し向けられる。
【００４８】
図１０は、論理素子のタイプＴＹＰＥで決まる論理ブロックの主要入力ポート及び出力ポートの個数を示している。図１１は、論理素子のタイプＴＹＰＥで決まる、論理ブロックで具体化できる最大ブール機能、算術機能及びメモリ機能の細分性を示している。
【００４９】
図１２は、本発明の論理ブロックＬＢを有する論理タイルを示している。この論理タイルは、再構成可能な論理アーキテクチャの主ビルディングブロックである。この論理タイルは、論理ブロックＬＢ及び論理ブロックＬＢの経路指定資源を有する。経路指定資源は、水平及び垂直経路指定チャネル中の経路指定トラックの個数、これらの区分化（セグメンテーション）及び論理ブロックのポート（ピン）への経路指定トラックの接続の仕方を定めている。経路指定資源は、経路指定ワイヤセグメントを互いにリンクさせるプログラマブルスイッチのタイプを更に定めている。
【００５０】
論理タイルは、次の３つの互いに異なるタイプのポート、即ち、論理ポートＬＬ（左）、ＬＲ（右）、ＬＴ（上）、ＬＢ（下）と、経路指定ポートＲＨＬ（水平左）、ＲＨＲ（水平右）、ＲＶＴ（垂直方向上）、ＲＶＢ（垂直方向下）と、直接ポートＤｉ（入力）及びＤＯ（出力）とを有する。論理ポートは、論理ブロックのポートを隣接のタイルの経路指定トラックに接続するために用いられ、経路指定ポートは、論理タイル中の経路指定トラックの終端部であり、隣接のタイルの経路指定チャネルへの接続のために用いられ、直接ポートは、隣接の論理タイルへの直接的な接続、即ち、プログラマブルスイッチを通らない接続を可能にする。
【００５１】
図１２のＬは、論理ブロックＬＢの全ての論理ブロックポートの集合を示し、この集合は、主要入力ポートＩの集合、補助入力ポートＴの集合及びキャリー入力ポートＣｉの集合並びに出力ポートＯの集合及びキャリー出力ポートＣＯの集合を含み、即ち、Ｌ＝Ｉ∪Ｔ∪Ｃｉ∪Ｏ∪ＣＯである。
【００５２】
論理ブロックＬＢの集合Ｌ中の論理ブロックポートは、論理タイルの集合ＬＬ，ＬＴのポートに接続されている。集合ＬＬ中のポートは、左隣りの論理タイルの集合ＬＲのポートを介して左側の隣接の論理タイルの経路指定トラックに接続され、集合ＬＴのポートは、上隣りの論理タイルの集合ＬＢのポートを介して上側の隣接の論理タイルの経路指定トラックに接続されている。論理ブロックＬＢの集合Ｌ中のポートも又、論理タイル内の経路指定トラックに接続されている。論理タイルの経路指定トラックへの集合Ｌ中の論理ブロックポートの接続は、所謂接続ブロックで実現される。
【００５３】
接続ブロックの接続性は、連結性行列を用いて記述される。接続性マトリックスの行は、経路指定ポート組の元であり、列は、論理ブロックポートの組の元である。連結性行列は、値“０”及び値“１”で満たされる。マトリックス中の（ｉ，ｊ）位置のところの値“１”は、接続がｉ番目の経路指定トラックとｊ番目の論理ブロックポートとの間に存在することを意味し、値“０”は、接続が存在しないことを意味している。論理タイルの接続ブロック及びかくしてこれらの対応の連結性行列は、以下のように関数αＴ，αＢ，αＬ，αＲによって記述される。
【００５４】
−αＴ：（ＲＨＬ×ＬＢ）→｛０，１｝；
−αＢ：（ＲＨＬ×Ｌ）→｛０，１｝；
−αＬ：（ＲＶＴ×ＬＲ）→｛０，１｝；
−αＲ：（ＲＶＴ×Ｌ）→｛０，１｝
【００５５】
これら行列も又、テンプレートのパラメータであると考えることができるということが注目される。行列の中身は、アルゴリズムを用いて自動的に生成できる。
【００５６】
直接接続ブロックにおける接続性、即ち、論理ブロックポートと論理タイルの直接ポートとの間の接続性は、同様な仕方で定義される。この場合、連結性行列の列は、直接ポート組Ｄｉ又はＤＯの元によりアドレス指定され、列は、論理ブロックポート組Ｌの元によってアドレス指定される。入力のための直接接続ブロックは、関数βｉによって記述され、出力に関する直接接続ブロックは、関数βＯによって記述される。入力に関する直接接続ブロックの連結性行列の最後の｜Ｏ｜＋｜ＣＯ｜列は、値“０”で満たされ（論理ブロックの出力ポートへの接続が行われない）、出力に関する直接接続ブロックの連結性行列の最初の｜Ｉ｜＋｜Ｔ｜＋｜Ｃｉ｜列は、値“０”で満たされている（論理ブロックの入力ポートへの接続が行われない）。直接ポートに関する連結性行列の充填を記述する接続性関数βｉ，βＯは次のように定義される。
【００５７】
−βｉ：（Ｄｉ×Ｌ）→｛０，１｝；
−βＯ：（ＤＯ×Ｌ）→｛０，１｝
【００５８】
経路指定トラックの全く同一の組に接続される（論理タイルの論理ポートを介して）と共にそれぞれ論理タイルの直接入力ポート及び直接出力ポートの同一の組に接続される論理ブロックの入力ポート及び出力ポートを単一のポートにのみ減少させることができる。  
【００５９】
図１３ａには、論理ブロックの選択されたポート、直接ポート及び水平経路指定チャネルの経路指定トラック相互間の接続性の一例が、示されている。図１３ｂは、これに対応した連結性行列を示し、図１３ｃは、接続ブロックの考えられる具体化例を示している。
【００６０】
経路指定トラックの区分化（長さ）（即ち、経路指定トラックがプログラマブルスイッチにより分離される前にまたがる論理ブロックの個数）、スイッチブロックアーキテクチャ（即ち、水平及び垂直経路指定チャネル中の経路指定トラックの相互接続方法）及びプログラマブルスイッチのタイプは、関数λ：（ＲＨＬ×ＲＶＴ）→｛０，ωｉ｝であるように関数λによって定められる。関数λは、スイッチング行列を記述している。スイッチング行列の行は、経路指定ポート組ＲＨＬからの元であり、列は、経路指定ポート組ＲＶＴからの元である。スイッチング行列は、値“０”で又は組Ωからの元ωｉで埋められ、Ω＝｛ωｉ：ωｉ∈Ｎ＼｛０｝∧１≦ｉ＜｜Ω｜｝であるようになっており、Ｎは、自然数の集合である。集合Ωは、スイッチング点タイプの集合である。
【００６１】
スイッチング点タイプは、セグメント接続パターン及び経路指定トラックセグメント相互間の接続を生じさせるのに用いられるプログラマブルスイッチのタイプで定められる。セグメント接続パターンは、経路指定トラックセグメントをこれに対応した水平及び垂直経路セグメントに接続する方法を定める。プログラマブルスイッチは、スイッチング点における１対の経路指定トラックセグメント相互間の単一の接続の具体化例を定める。かくして、集合Ωのサイズは、セグメント接続パターンとプログラマブルスイッチタイプの組合せの数で決定され、その集合の元ωｉにはそれに応じて番号が付けられている。例えば、２つの互いに異なるタイプのセグメント接続パターン（例えば、図１４ａでは「互いに素」及び「半分」）及び３つのタイプのプログラマブルスイッチ（例えば、図１４ｂではパストランジスタスイッチ、デュアルパスゲートスイッチ及び双方向バッファ付きスイッチ）に関し、６つの互いに異なるスイッチング点ω１，…，ω６が可能である。互いに交差した２つの経路設定トラックが接続を有していない場合、値“０”をスイッチング行列の対応の位置に入れる。
【００６２】
論理タイル中の水平及び垂直トラックは、所謂ワイヤツイスタで終端している。ワイヤツイスタにより、各論理タイルの経路指定資源を同一に作ることができる。その結果、たった１つの論理タイルタイプで非常に多くの互いに異なる論理コアではなく、再構成可能な論理コアを創成するのに十分である。経路指定アーキテクチャが２つ以上の論理ブロックＬＢをまたいでいる経路指定セグメント（即ち、「長さ１」よりも長い長さを備えた経路指定セグメント）を有する場合にワイヤツイスタが必要である。その場合、２つ以上の論理ブロックＬＢをまたぐ等しい長さのセグメントを撚り合わせなければならない（図１５ｂ参照）。さらに、所与の長さのトラックの総数は常時、そのトラック長さの倍数でなければならない。例えば、長さ４の経路指定トラックの許容可能な個数は、４、８、１２、１６等である。水平及び垂直経路指定チャネル中のワイヤの撚りは、それぞれ関数θＨ及び関数θＶで定められ、次の通りである。
【００６３】
−θＨ：（ＲＨＬ×ＲＨＲ）→｛０，１｝；
−θＶ：（ＲＶＴ×ＲＶＢ）→｛０，１｝
【００６４】
関数θＨ，θＶは、水平及び垂直ツイスト行列を定める。行列の行は、論理タイルの左及び上に位置する経路指定ポート組の元、即ち、それぞれＲＨＬ，ＲＶＴである。これら行列の列は、論理タイルの右及び下に位置する経路指定ポート組の元、即ち、それぞれＲＨＲ，ＲＶＢである。行列は、値“０”及び値“１”で満たされる。値“１”は、接続がこれら接続ポートと関連している経路指定トラック相互間に存在することを意味する。値“０”は、接続が存在しないことを意味する。典型的には、水平ツイスト行列と垂直ツイスト行列は、互いに同一である。
【００６５】
図１５は、長さ１ワイヤセグメントを備えた３つのトラック及び長さ４ワイヤセグメントを備えた８つのトラックから成る経路指定チャネルを備えた経路指定アーキテクチャの一例を示している。図１５ａは、アーキテクチャを概念的な仕方で示している。注目されることとして、長さ１ワイヤセグメントは、接続スイッチタイプ１（例えば、「互いに素な」セグメント接続パターン及びパストランジスタ利用スイッチ）を使用し、これに対し、長さ４ワイヤセグメントは、接続スイッチタイプ２（例えば、「互いに素な」セグメント接続パターン及びバッファを利用したスイッチ）を用いている。図１５ｂでは、かかるアーキテクチャの具体化例が示されている。長さ１よりも長い長さのワイヤセグメントは、長さを法とする（modulo-length）方式に従って撚り合わされている。最後に、図１５ｃは、論理タイルのスイッチング行列を記載しており、この場合、値“１”及び“２”は、２つの互いに異なるタイプのスイッチング点を意味している。ツイスト行列（水平及び垂直）は、論理タイル中の経路指定トラックの撚り機構を記述している。
【００６６】
図１６は、本発明の論理タイルＬＴを有するアレイを示している。本発明の再構成可能論理アーキテクチャの最も上のレベルは、論理タイルＬＴのアレイである。このアレイ中に含まれる論理タイルＬＴの数及びこのアレイのアスペクト比は、テンプレートのパラメータである。論理タイルＬＴは、二重の機能を有する補助タイルＣＲＴ，ＩＯＲＴ，ＩＯＴにより囲まれている。まず最初に、これら論理タイルは、再構成可能論理ファブリックと同一シリコン片上に埋め込まれた他のシステム資源との間のインタフェースとして働く。第２に、これら論理タイルは、経路指定アーキテクチャを完成させる。後者は、アレイのエッジ上の論理タイルＬＴの経路指定資源により作られる外部経路指定チャネルがアレイの下側及び右側にのみ存在しているので必要である。したがって、経路指定ＩＯＲＴを備えた入力／出力タイルは、アレイの左側及び上側に置かれる。単純な入力／出力タイルＩＯＴは、アレイの右側及び下側に置かれる。加うるに、外部経路指定チャネルを閉じるコーナ経路指定タイルＣＲＴは、アレイの左上隅に置かれる。図１６のボールド体で示されたリングは、このようにして作られた結果としての経路指定チャネルを示している。
【００６７】
論理タイルＬＴは、これらの経路指定ポートを介して隣接している。これは、水平左組ＲＨＬのポートが隣りの論理タイルの水平右組ＲＨＲのポートに接続されていることを意味している。これと同様に、垂直上組ＲＶＴのポートは、隣りの論理タイルの垂直方向下組ＲＶＢのポートに接続されている。左及び上における隣りの論理タイルの経路指定トラックへの接続は、それぞれ、ポートＬＬ−ＬＲ及びＬＴ−ＬＢの組からの対をなすポートを介して具体化される。
【００６８】
経路指定ＣＲＴ、ＩＯＲＴを備えた補助タイル及び単純補助タイルＩＯＴのアーキテクチャの例が、図１７及び図１８に示されている。補助タイルＣＲＴ，ＩＯＲＴ，ＩＯＴの素子は、論理タイルＬＴの素子のデフィニションに類似して定められる。経路指定ＩＯＲＴを備えた上入力／出力タイルは、図１７ａに示されており、これは、２組の入力／出力ポートＦＴ，ＧＢ及び３組の経路指定ポート、即ち、ＲＨＬ，ＲＨＲ，ＲＶＢを有している。組ＦＴのポートは、システム資源に接続され、組ＧＢのポートは、アレイの上に位置する論理タイルＬＴの組ＬＴのポートと経路指定ＩＯＲＴの無い上の入力／出力タイルの経路指定資源の接続を可能にする。組ＲＨＬ，ＲＨＲの経路指定ポートは、それぞれ隣りのＩＯＲＴタイルの組ＲＨＲ，ＲＨＬのポートに接続されている。組ＲＶＢのポートは、アレイの上に位置する論理タイルＬＴの組ＲＶＴのポートに接続されている。組Ｅは、このタイルの直接入力及び出力ポートの組であり、これは、論理タイルＬＴの組Ｄｉ，ＤＯの直接入力及び直接出力ポートにそれぞれ接続されている。図１７ａの連結性行列γＴ，γＢ，δＴは次のように定義される。
【００６９】
−γＴ：（ＲＨＬ×ＧＢ）→｛０，１｝；
−γＢ：（ＲＨＬ×ＦＴ）→｛０，１｝；
−δＴ：（Ｅ×ＦＴ）→｛０，１｝
【００７０】
図１７ｂに示す経路指定ＩＯＲＴを備えた左入力／出力タイルは、経路指定ＩＯＲＴを備えた上入力／出力タイルと同一の素子を有している。しかしながら、これら素子の位置は、経路指定ＩＯＲＴを備えた上入力／出力タイルの素子の位置と鏡像関係にある。経路指定ＩＯＲＴを備えた左入力／出力タイルは、２組の入力／出力ポートＦＬ，ＧＲ、３組の経路指定ポート、即ち、ＲＶＢ，ＲＶＴ，ＲＨＲ及び１組の直接ポートＥを有する。組ＦＬのポートは、システム資源に接続され、組ＧＲのポートは、アレイの左端に位置する論理タイルＬＴの組ＬＴのポートと経路指定ＩＯＲＴのある左の入力／出力タイルの経路指定資源の接続を可能にする。組ＲＶＢ，ＲＶＴの経路指定ポートは、それぞれ隣りのＩＯＲＴタイルの組ＲＶＴ，ＲＶＢのポートに接続されている。組ＲＨＲのポートは、アレイの左端に位置する論理タイルＬＴの組ＲＨＬのポートに接続されている。図１７ｂの連結性行列γＬ，γＲ，δＬは次のように定義される。
【００７１】
−γＬ：（ＲＶＴ×ＧＲ）→｛０，１｝；
−γＲ：（ＲＶＴ×ＦＬ）→｛０，１｝；
−δＬ：（Ｅ×ＦＬ）→｛０，１｝
【００７２】
図１７ｃに示すコーナ経路指定タイルＣＲＴは、２組の経路指定ポート、即ち、ＲＶＢ，ＲＨＲを有する。組ＲＶＢのポートは、経路指定ＩＯＲＴを備えた最も上の左入力／出力タイルの組ＲＶＴのポートに接続されている。組ＲＨＲのポートは、経路指定ＩＯＲＴを備えた最も左の上入力／出力タイルの組ＲＨＬのポートに接続されている。
【００７３】
図１８ａに示す右入力／出力タイルＩＯＴは、２組の入力／出力ポートＦＲ，ＧＬ及び１組の直接ポートＥを有する。組ＦＲのポートは、システム資源に接続され、組ＧＬのポートは、論理タイルポートの組ＬＲを介してアレイの右端の論理タイルＬＴの経路指定資源に接続されている。直接接続のための連結性行列δＲは、δＲ：（Ｅ×ＦＲ）→｛０，１｝として定義される。
【００７４】
図１８ｂに示す下入力／出力タイルＩＯＴは、右入力／出力タイルＩＯＴとほぼ同じ役割を果たすが、これは、再構成可能論理コアの下に置かれている。下入力／出力タイルＩＯＴは、２組の入力／出力ポートＦＢ，ＧＴ及び１組の直接ポートＥを有する。組ＦＢのポートは、システム資源に接続され、組ＧＴのポートは、システム資源に接続され、組ＧＴのポートは、論理タイルポートの組ＬＢを介してアレイの下端の論理タイルＬＴの経路指定資源に接続されている。直接接続のための連結性行列δＢは、δＢ：（Ｅ×ＦＢ）→｛０，１｝として定義される。
【００７５】
各タイルの連結性行列λは、同一に定義されることが注目される。アレイの縁のところの論理タイル及び経路指定を備えた入力／出力タイル中のスイッチブロックの正確な機能は、再構成可能論理コアの構成メモリの適正なプログラミングにより保証される。これは例えば、右下論理タイルのプログラマブルスイッチがこのタイルの下及び右への経路指定接続が可能ではないようにプログラムされることを意味する。
【００７６】
図１９は、データ経路指向ＦＰＧＡ論理ブロックのアーキテクチャインスタンスの一例を示している。論理ブロック構造は、次のようにテンプレートパラメータを設定する上述のテンプレートに由来している。
【００７７】
−論理素子レベル：ＴＹＰＥ＝データ−経路，｜Ｐ｜＝２，｜Ｓ｜＝３，｜Ａ｜＝１；
−処理素子レベル：｜Ｎ｜＝４，｜Ｘ｜＝８，｜Ｓ｜＝３，｜Ｙ｜＝４；
−論理ブロックレベル：｜Ｍ｜＝１，｜Ｋ｜＝１，｜Ｉ｜＝８，｜Ｏ｜＝４
【００７８】
このタイプの論理ブロックは、データ経路機能（最大４ビットまで）及びランダム論理機能（最大４入力まで）の両方を実行する。
【００７９】
本発明の保護範囲は、本明細書に記載した実施形態には限定されないことが注記される。本発明の保護範囲は特許請求の範囲に記載された参照符号によっても限定されない。原文における「comprising」という用語は、特許請求の範囲で言及された構成要素以外の構成要素を排除するわけではない。原文において構成要素の前に位置する単語（冠詞）“ａ（ｎ）”は、かかる構成要素が複数であることを排除しない。本発明の要部を構成する手段は、専用ハードウェアの形態又はプログラムド汎用プロセッサの形態のいずれでも具体化できる。本発明は、新規な特徴の各々又は特徴の組合せにある。
【図面の簡単な説明】
【００８０】
【図１】本発明のテンプレートのビルディングブロックとして使用できる論理素子を示す図である。
【図２】ドメイン固有論理素子の例を示す部分図ａ〜ｃから成る図である。
【図３】図２に示す論理素子のポートの個数を示す図である。
【図４】図２に示す論理素子の機能性を示す図である。
【図５】本発明の複数個の論理素子を有する処理素子を示す図である。
【図６】図５に示す処理素子の入力ポート及び出力ポートの個数をその基本コンポーネントとして用いられた論理素子のタイプに応じて示す図である。
【図７】種々のタイプの論理素子が組み込まれた処理素子の機能性を示す図である。
【図８】本発明の処理素子のクラスタを有する論理ブロックを示す図である。
【図９】部分図ａは、１対１のフィードバック接続方式を備えた入力選択ブロックを示す図、部分図ｂは、全フィードバック接続方式を備えた入力選択ブロックを示す図である。
【図１０】図８に示す論理ブロックの主要入力ポート及び出力ポートの個数を論理素子のタイプに応じて示す図である。
【図１１】論理素子のタイプに応じて図８に示す論理ブロックで具体化できる最も大きなブール機能、算術機能及びメモリ機能の細分性を示す図である。
【図１２】本発明の論理ブロックを有する論理タイルを示す図である。
【図１３ａ】論理ブロックの選択されたポート、直接ポート及び水平経路指定チャネルの経路指定トラック相互間の接続性又は連結性の一例を示す図である。
【図１３ｂ】図１３ａに示すような例に対応した連結性行列を示す図である。
【図１３ｃ】接続ブロックの考えられる具体化例を示す図である。
【図１４】部分図ａは、セグメント接続パターンの２つの互いに異なるタイプを示す図、部分図ｂは、プログラム可能スイッチの３つのタイプを示す図である。
【図１５】長さ１ワイヤセグメントを備えた３つのトラック及び長さ４ワイヤセグメントを備えた８つのトラックから成る経路指定チャネルを有する経路指定アーキテクチャの一例を示す部分図ａ，ｂ，ｃから成る図である。
【図１６】本発明の論理タイルＬＴを有するアレイを示す図である。
【図１７】経路指定方式の補助タイルのアーキテクチャの例を示す部分図ａ，ｂ，ｃから成る図である。
【図１８】単純補助タイルのアーキテクチャの例を示す部分図ａ，ｂから成る図である。
【図１９】データ経路を指向ＦＰＧＡ論理ブロックのアーキテクチャインスタンスの一例を示す図である。
【図１】
2007520795.tif 000003
【図２ａ】
2007520795.tif 000004
【図２ｂ】
2007520795.tif 000005
【図２ｃ】
2007520795.tif 000006
【図３】
2007520795.tif 000007
【図４】
2007520795.tif 000008
【図５】
2007520795.tif 000009
【図６】
2007520795.tif 000010
【図７】
2007520795.tif 000011
【図８】
2007520795.tif 000012
【図９】
2007520795.tif 000013
【図１０】
2007520795.tif 000014
【図１１】
2007520795.tif 000015
【図１２】
2007520795.tif 000016
【図１３ａ】
2007520795.tif 000017
【図１３ｂ】
2007520795.tif 000018
【図１３ｃ】
2007520795.tif 000019
【図１４】
2007520795.tif 000020
【図１５】
2007520795.tif 000021
【図１６】
2007520795.tif 000022
【図１７】
2007520795.tif 000023
【図１８】
2007520795.tif 000024
【図１９】
2007520795.tif 000025
【国際調査報告】
2007520795.tif 000026
2007520795.tif 000027