(57)【要約】本発明によるプログラマブル論理装置（７）は、コンフィギュレーション可能な特性を有する複数の論理ブロック（３Ａ〜３Ｄ）と、論理ブロックを相互に、また処理ユニット（４）および入力／出力ユニット（５）と連結するための手段とを含んでいる。論理装置（７）の作動中の論理ブロック（３Ａ〜３Ｄ）の再コンフィギュレーション可能性は、連結手段が付加的に少なくとも１つのコンフィギュレーション可能な切換論理ブロック（８）を有し、それにより再コンフィギュレーション可能な論理ブロック（３Ａ〜３Ｄ）自体またはそれらの相互接続および（または）少なくとも１つの処理ユニット（４）とのそれらの接続および（または）少なくとも１つの入力／出力ユニット（５）とのそれらの接続の少なくともいくつかの１つのコンフィギュレーションが行われることにより与えられている。
2006504344.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理装置であって、
・機能プログラムとそれぞれ他の論理ブロックへのインタフェースとを有するそれぞれ少なくとも１つの処理ユニットを含みコンフィギュレーション可能な特性を有する複数の論理ブロックと、
・論理ブロックに対応付けられている少なくとも１つの入力／出力ユニットと、
・論理ブロックを
ａ）相互に、
ｂ）他の論理ブロックの処理ユニットの少なくとも１つと、また
ｃ）少なくとも１つの入力／出力ユニットと
連結するための手段と
を含んでいるプログラマブル論理装置において、論理装置（７）のすべての作動の間の論理ブロック（３Ａ〜３Ｄ）の再コンフィギュレーション可能性が、連結手段が付加的に少なくとも１つのコンフィギュレーション可能な切換論理ブロック（８）を有し、それにより再コンフィギュレーション可能な論理ブロック（３Ａ〜３Ｄ）自体および（または）それらの相互接続および（または）少なくとも１つの処理ユニット（４）とのそれらの接続および（または）少なくとも１つの入力／出力ユニット（５）とのそれらの接続の少なくともいくつかのコンフィギュレーションが行われることにより与えられていることを特徴とするプログラマブル論理装置。
【請求項２】
切換論理ブロック（８）が、再コンフィギュレーション可能な論理ブロック（３Ａ〜３Ｄ）を有する平面（Ｅ１）と異なる平面（Ｅ２）に構成されていることを特徴とする請求項１記載の装置。
【請求項３】
平面（Ｅ１、Ｅ２）が少なくとも広範囲に同等に構成されていることを特徴とする請求項２記載の装置。
【請求項４】
再コンフィギュレーション可能な論理ブロック（３Ａ〜３Ｄ）の少なくともいくつかのコンフィギュレーションが予め定められたコンテキスト（ｃ）に相応して行われることを特徴とする請求項１〜３のいずれか１つに記載の装置。
【請求項５】
切換論理ブロック（８）が、個々の再コンフィギュレーション可能な論理ブロック（３Ａ〜３Ｄ）の機能に関する情報を含んでいる少なくとも１つの状態メモリを有し、また選択された再コンフィギュレーション可能な論理ブロックのコンフィギュレーションが選択された状態の機能情報に従って行われることを特徴とする請求項１〜４のいずれか１つに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能プログラムとそれぞれ他の論理ブロックへのインタフェースとを有するそれぞれ少なくとも１つの処理ユニットを含みコンフィギュレーション可能な特性を有する複数の論理ブロックと、論理ブロックに対応付けられている少なくとも１つの入力／出力ユニットと、論理ブロックを相互に、他の論理ブロックの少なくとも１つの処理ユニットと、また少なくとも１つの入力／出力ユニットと連結するための手段とを含んでいるプログラマブル論理装置に関するものである。このような論理装置は米国特許出願公開第 4,870,302 A号明細書に示されている。
【０００２】
特にプロセッサのような従来通常の論理装置のプログラマブル論理モジュールは、メモリからロードされるプログラムを実行する。命令語の形態の実行すべきソフトウェアはそこに機械命令として格納されている。これらの命令語はロードされ、解析され、解釈され、また処理ユニットのなかで実行される。単一の命令語の処理は論理装置のなかの多数の個別作用をレリーズする。
【０００３】
公知のディジタル論理装置、特にマイクロプロセッサを有するコンピュータの基本構造および基本組織はいわゆる“フォン・ノイマン計算機”のコンセプトに基づいている。その中央ユニットＣＰＵ（“Central Processing Unit”）、すなわちそのコンピュータコア、はその最小コンフィギュレーションのなかに主構成部分として主メモリ、制御ユニットおよび処理ユニット（ないし算術演算装置）を含んでいる。即ち、
・主メモリは命令語（プログラムデータ）および処理データ（オペランド語）を記憶し、またこれらを要求に応じて利用に供する。さらに主メモリは処理の中間結果および最終結果を受け入れる。主メモリは揮発性または不揮発性のメモリにより実現され得る。
・制御ユニットは命令語が処理される順番を編成する。それは命令語を主メモリから要求し、また処理ユニットのなかでのそれらの実行を行わせる。さらにそれは命令語を解析し、また処理ユニットへの処理データの供給を行わせる。
・処理ユニットは処理データに演算を行い、また相応の結果語を主メモリに供給する。各々の演算に対して処理ユニットは、必要とされる伝送経路を開くマイクロプログラムを含んでいる。処理ユニットは制御ユニットにより各演算形式に、すなわち処理すべき命令に、設定される。中央ユニットには、外部メモリならびに入力装置及び出力装置であってよい周辺装置が対応付けられている。中央ユニットの指定された主構成要素は物理的に隔てられていてよいが、それらはたいてい、キャッシュまたはたとえば埋め込まれたＲＯＭを有する共通のプロセッサチップの上に実現されている。
【０００４】
フォン・ノイマン計算機の前述の基本構成要素を有するこのようなプログラマブル論理装置ＰＬＤ（“Programmable Logic Device）”のプログラミングの一層詳細な考察は、プログラムならびに初期化データが（メモリセルあたり最少１トランジスタを有する）経済的なメモリのなかに格納されており、また、それらが番にあたっているときに始めて、実行のためにＣＰＵに到達することを示す。一方では経済的な記憶が、また他方ではすべての可能な命令に対するＡＬＵ（Arithmetic Logic Unit算術演算装置）のような一層高価なＣＰＵ回路の“再使用”が、プロセッサベースの計算機のいわゆる“機能的な密度”へのポジティブな寄与である。この際に処理の時間的なシーケンスはもちろんネガティブな寄与を生ずる。
【０００５】
その際に機能的な密度はシリコン面積および時間あたりのアクティブな等価ゲートの平均的な数として定義され得る。
【０００６】
計算機能力、メモリおよび入力・出力ユニットＩ／Ｏ（Input／Output）を有する公知のプログラマブル論理装置（ＰＬＤ）では、たとえば冒頭にあげた米国特許出願公開明細書に記載されているように、その構造はいったんプログラムされ、またプログラム（たとえばデータ）内容が構造自体に記憶される。この記憶の形態は費用がかかる。なぜならば、メモリ自体の周りに切換えられるデータ路における迅速な変換の目的で大量の付加のトランジスタを追加しなければならないからである。確かにシリコンの利用に関するわずかなステートメントは存在する。即ち全数／可視のトランジスタキャパシティ（切換機能の意味で）の比で２０〜４０の比率から出発すべきであろう。論理装置の公知の実施形態ではその論理ブロックのリンケージは第１にデータ入力端へのデータ出力端のカップリング（ルーティング・リンケージ）に、また第２に個々の論理ブロックにおける出力データへの入力データの処理（論理演算）に関するものである。ルーティング・リンケージは、論理ブロック（論理要素）から出発しまたはそのなかに導かれるデータに対しても、Ｉ／Ｏパッドから出発しまたはそのなかに導かれるデータに対しても当てはまる。公知の実施形態のこのシステムにおいては専らデータ結合が念頭におかれている。
【０００７】
米国特許第6,333,641 B1号明細書に論理モジュールまたは論理ブロックのアレイを有するプログラマブル論理装置が示されている。垂直なルーティング経路、水平なルーティング経路およびローカルなルーティング経路を有する接続ユニットが論理ブロックを連結する。オムニ（ユニバーサル）バス（データ交換母線）がアレイ上に置かれており、このバスはアレイと、バスがオムニバスと接続されている可変の大きさを有する論理ブロックのダイナミックに自立的なサブアレイを形成するように連結されている。連結はその際に最初から決められている。ここでもそれは米国特許出願公開第 4,870,302 A号明細書の場合のようにデータ接続、すなわちデータの交換である。
【０００８】
切換えられるデータ経路のなかの変換を有するメモリの形態でのプログラミング可能性は、計算機の場合にこれまで完全なプログラムをモジュールのなかに格納するように、かなり高い費用がかかるので、ＰＬＤは高い機能密度の潜在的可能性にもかかわらずプロセッサの１０倍にしか到達しない。このことはＰＬＤのなかの速度利得がプロセッサ解決にくらべて高い費用であがなわれていることを意味する。
【０００９】
従って、本発明の課題は、冒頭にあげた特徴を有するプログラマブル論理装置を、高い機能密度の際にＰＬＤの高い速度を簡単な手段で達成し得るように構成することにある。
【００１０】
この課題は、本発明によれば、請求項１にあげられている手段により解決される。これらの手段は、連結手段が付加的に少なくとも１つのコンフィギュレーション可能な切換論理ブロックを有し、それにより再コンフィギュレーション可能な論理ブロック自体またはそれらの相互接続および（または）少なくとも１つの処理ユニットとのそれらの接続および（または）少なくとも１つの入力／出力ユニットとのそれらの接続の少なくともいくつかのコンフィギュレーションが行われることによる、論理装置のすべての作動の間の論理ブロックの再コンフィギュレーション可能性を含んでいる。
【００１１】
このようなアーキテクチャと結び付けられる利点は特に、いまや再コンフィギュレーション可能な論理ブロックの限られた数の際に、ブロック自体のコンフィギュレーションとならんで、これらのブロックの間の接続および（または）たとえば処理ユニットへの接続および（または）入力／出力ユニットへの接続のようなメモリユニットまたはマイクロプロセッサのような外部のモジュールへの接続も、毎回に対して１つの接続が固定的にあらかじめ与えられているのではない付加的に設けられている切換論理ブロックを使用して、全作動中に必要に応じて作成され得ること、すなわちコンフィギュレーションを行われ得ることにある。切換論理ブロックを用いてのこのようなコンフィギュレーションは本発明により構成された連結手段の連結オペレーションとみなされ得る。
【００１２】
コンフィギュレーションはその際にいつでも、すなわち開始相またはブート相の間だけでなくすべての中断されない作動継続時間中に、行われ得る。こうして本発明による手段は連結範囲への、従ってまた相応のコンフィギュレーションへの、切換論理ブロックの接続を意味する。それによって、個々のブロックにより異なる機能を異なる時点で実行することが可能になる。即ちその利用度が相応に高められる。そのことと、マイクロプロセッサと比較しての論理装置全体のパフォーマンスが相応に改善されること、または従来通常のＰＬＤと比較してパフォーマンス損失が生じないことが結び付けられている。
【００１３】
ＰＬＤは、フォン・ノイマンプロセッサのように、２つの形式の情報、コードおよびデータを受ける。基本的に行動週間を決定し、またＰＬＤではコンフィギュレーションまたはコンフィギュレーションコードと呼ばれるコードは通常本来の作動の前にロードされ、またその後に作動中は変わらない。コンフィギュレーションはなかんずくモジュールのなかでアクティブな接続を決定する。
【００１４】
データは作動中に変化可能で、またそれによりオペレーションの現在の進行に影響じ得る。すなわちコードはすべての可能な経路を含んでいるが、実際の利用（これは現在通過する経路に相当する）はデータによって（も）決定される。
【００１５】
本発明による切換論理ブロックは同じくコードおよびデータを受ける。本発明の本質的なことは、その他の非切換ＰＬＤを制御すること、詳細にはコードの交換または修正により制御することにある。
【００１６】
前記の従来の技術では、また実際に通常のＰＬＤでは、コンフィギュレーション可能なブロックは、（伝搬時間可変の）データが交換可能であることにより、すなわち１つのブロックのデータ出力端が他のブロックのデータ入力端と接続されている形式で、互いに結ばれている。しかし本発明による切換論理ブロックでは、この論理ブロックの出力端が少なくとも部分的に、他の実施形態では作動中にコンフィギュレーション可能な論理ブロックのアクセス不可能なコード範囲に接続されている。それにくらべて従来の技術は、データ経路においてコンフィギュレーション可能な論理ブロックが結合するがコードに影響を有していない実施形態に該当する。
【００１７】
本発明による論理装置の有利な構成は従属請求項にあげられている。
【００１８】
切換論理ブロックが、再コンフィギュレーション可能な論理ブロックを有する１つの平面と異なる１つの平面のなかに構成されていることは好ましい。その際に切換論理ブロックの異なる平面とは、同時に再コンフィギュレーション可能な論理ブロックの平面ではない各々の平面として理解される。すなわち、切換論理ブロックの平面は再コンフィギュレーション可能な論理ブロックの面の上、横または下に位置していてよい。その際これらの平面は少なくとも広範囲に同等に構成されていてよい。
【００１９】
さらに、再コンフィギュレーション可能な論理ブロックの少なくともいくつかのコンフィギュレーションが予め定められたコンテキストに相応して行われると有利である。
【００２０】
さらに、切換論理ブロックが、個々の再コンフィギュレーション可能な論理ブロックの機能に関する情報を含んでいる少なくとも１つの状態メモリを有し、その結果選択された再コンフィギュレーション可能な論理ブロックのコンフィギュレーションが当面の状態の機能情報に従って行われることは好ましい。
【００２１】
本発明による手段の基礎となっている考察は以下に図面を参照して一層詳細に説明される。
【００２２】
以下ではいわゆる有限状態（Finite State）形式の機械からいわゆる逐次有限状態機械（Sequential Finite State Machines（ＳＦＳＭ））が導き出される。ここに説明されるモデルはＰＬＤのなかのコンフィギュレーションのシーケンスを定義するのに適しており、またまさにこのシーケンスはパフォーマンス損失なしにＰＬＤの本質的に高い機能密度（製造および作動のための劇的に低減されたコストと同じ意味）を発生し得る。
【００２３】
第Ｉ節（逐次有限状態機械（Sequential Finite State Machines））
【００２４】
ハードウェア開発のための“クラシックな”思考モデルの１つは以下で有限状態機械（Finite State Machines（ＦＳＭ））と呼ばれる簡単な有限オートマトンにある。
【００２５】
この密に（特にいわゆる“確定的な有限オートマトン”）の理論的なコンセプトに使用されるモデルは正確には下記のように定義されている。
定義１：
ＦＳＭは６タプル｛Ａ，Ｘ，Ｔ，ｆ，ｇ，ａ0 ｝から成っている。Ａ＝｛Ａ0 ，ａ1 ，…ａM ｝はここで状態の有限の集合であり、その際ａ0 は出発状態を意味する。Ｘ＝｛Ｘ1 ，…ＸK ｝はＸI ＝｛ｘ1 ，…ｘL ｝iを有する入力ベクトルの有限の集合であり、その際ｘ1∈｛０，１，−｝。Ｙ＝｛Ｙ1 ，…ＹN ｝はＹJ ＝｛Ｙ1 ，…ＹH ｝j を有する出力ベクトルの有限の集合であり、その際ｙh∈｛０，１，−｝である。
ｆ：ＡｘＸ→Ａは遷移関数（次状態デコーダ）と呼ばれている。
ｇ：ＡｘＸ→Ｙは出力関数（出力デコーダ）と呼ばれている。
ｔ＝時間単位。
【００２６】
この定義のなかにあげられている機能は、入力及び状態ベクトル（本質的に２値）間のアルゴリズム関係を示すスイッチング回路網により実現される。しかながら、そのためには、状態も２値にコード化されることが必要であり、このコード化は定義１ではまだ行われていない。
【００２７】
状態オートマトンに対してはさらに、機能の複雑さへの影響が実際上与えられている３つの本質的なサブ形式（図１参照）が区別され得る。開発者は下記のステップを実行することになる。
１．信号の決定：スイッチング回路網は必要な入力および出力信号を有する“プラックボックス”として描かれている。
２．状態ダイアグラムの設計：このステップはシンセシスの本来の核である。なぜならば、ここで解決すべき問題がフォーマルに記述されるからである。状態ダイアグラムとしては状態グラフ、プログラムフローチャートまたはスイッチング回路網テーブルが可能である。
３．すべてのその後のオペレーションに対するフォーマルな出発点としてのスイッチング回路網テーブルの作成。
４．状態最少化：状態の数の最少化はデザインの１つの簡単化を達成し得る。
５．状態コード化：（図１ｄによるミーリィ（Ｍｅａｌｙ）オートマトンに対するものではなく）同期化された入力を有する同期したスイッチング回路網ではＺから状態に対する任意のコード化が示され得る。しかしながら図１ｂによるＭｅｄｗｅｄｊｅｗオートマトンではコード化は所望の出力信号と合致しなければならない。それに対して図１ｃによるムーア（Ｍｏｏｒｅ）オートマトンではコード化は、簡単化されたスイッチング回路網が次状態デコーダ（ｆ）および出力デコーダ（ｇ）に対して生ずるように選ばれる。
６．次状態および出力スイッチング回路網の計算：次状態スイッチング回路網の具体的な計算のためにはレジスタまたはフリップフロップ形式が選ばれなければならない。なぜならば、その入力（Ｔ、Ｄ、ＲＳまたはＪＫ）はこのスイッチング回路網により占められるが相異なる機能を示すからである。
７．スイッチング回路網の実現およびテスト。
【００２８】
実際からいま、“フラットマシン”とも呼ばれ得る簡単な機械としての実現が無条件に最良ではないことが知られている。互いに結合されている複数の簡単なオートマトンから成る共同作動するオートマトンはこのことをしばしば面積効率の意味ではるかにより良く実現し得る。加えて、前記のデザインの流れが必ずしも示された仕方で実行されなくてもよいことが考慮に入れられるべきであろう。ＶＨＤＬのような標準言語での増大する記述と共に一層アルゴリズミックなスタイルへの指向が認められる。
【００２９】
しかし、それと無関係に、ＦＳＭは基本的なモデルとみなされるべきである。いま、１つのＦＳＭを有するだけでなく、複数のＦＳＭを有し、それらのうち正確に１つが１つの時点でアクティブであるようにすることもできる。１つの際立たせられた部分（いわゆる“シーケンサ”）がその場合に入力信号または得られた結果に関係して個々のＦＳＭの間を切換える。
【００３０】
このＦＳＭから出発して以下には逐次有限状態機械（ＳＦＳＭ）が正しく定義され、また示される。
定義２：
逐次有限状態機械（ＳＦＳＭ）は５タプル｛Ｂ，Ｂ0 ，Ｃ，Ｖ，ｈ｝から成っている。ここでＢ＝｛Ｂ0 ，…ＢK ｝は有限状態機械（ＦＳＭ）の有限の集合を示し、Ｂ0 は出発ＦＳＭである。Ｃ＝｛Ｃ0 ，…ＣK ｝は現在のＦＳＭを表記するための状態の有限の集合を記述する。Ｖ＝｛Ｖ1 ，…ＶN ｝はｖI ＝｛ｖ1 ，…ｖN ｝を有する（付加の）入力ベクトルの有限の集合であり、その際ｖI ∈｛０，１，−｝である。ｈ：ＢｘＶ→Ｂは遷移関数（次ＦＳＭデコーダ）と呼ばれている。
【００３１】
このＳＦＳＭ（図２も参照）の主な利点は先ずモデル化にある。デザイナは、そのデザインをより小さい部分に分割するチャンスを有する。技術的実行中にその場合、すべてのＦＳＭ ＢK からの状態の（引き続き有限な）集合を統一的な状態コード化に写像するべく試みられる。さらにそのために、機能ｈに対してすぐ次のＦＳＭの計算を可能にするため、現在のＦＳＭ ＢKのＣK に対するコード化が伴われなければならない。
【００３２】
他方、図２を見ると、本来はごく少数しか得られていないことが示されている。すべてのレジスタに対するタクトが同一である場合には、図１ａ中ではレジスタおよびスイッチング回路網ｆ（ｕ*，ｘ*）（次状態デコーダ）（＊は全集合を意味する）が、実現中に再び一緒にされるｆ（ｕ，ｘ，ｃ）およびｈ（ｕ，ｘ，ｃ）を有するレジスタの部分集合に分割された。この解決はそれによりほとんど最小にならない。なぜならば、今日の構成形式のＰＬＤのなかではすべての部分、すなわちすべての部分ＦＳＭ、がモジュール上に集積されなければならないからである。ここでいま本発明による考察が始まる。
【００３３】
部分的にではあるがダイナミックに再コンフィギュレーション可能である少数のＦＰＧＡ（“Field- Programmable Gate Arrays”）は確かに存在する。たとえば“Spektrum der Wissenschaft”、1997年8月、第44〜49頁を参照。この再コンフィギュレーション可能な特性は、永久的な部分ｈ（ｕ，ｖ，ｃ）およびＦＳＭコード化のためのレジスタのなかならびにアフタロード可能な部分のなかに現在のＦＳＭがロードされ、また実行されることによって利用され得る。この際に問題はアフタロードの際のパフォーマンス喪失である。このことは以下の例から明らかである。
例
１つの有限状態機械の例として好んであげられる道路交通信号灯は、夜間モードを考えるとき、逐次ＦＳＭの例としても非常に良好にあげられ得る。モードという語は既に経路を示す。個々のＦＳＭの間の切換中にはモード切換のような何かが位置すべきであろう、また昼間モードおよび夜間モードがともかく互いに両立しない。
【００３４】
ＦＳＭ１はいま昼間信号灯を、ＦＳＭ２は夜間信号灯（たとえば裏通りに対する黄色の点滅）を統合し、また上位のシーケンサのなかで時間信号を手がかりにして、どのＦＳＭが実行され、またどのＦＳＭが休止するかが決定される。シーケンサはＦＳＭ０として実現される。
【００３５】
このために必要な３つのＦＳＭ（０…２）に対する記述は別々に実行されるが、範囲０にＦＳＭ０が、範囲１にＦＳＭ１が、また範囲２にＦＳＭ２が位置するように１つのＰＬＤ上に統合される。面積利得がそれによって損なわれない。
【００３６】
アフタロード可能な場合にはＦＳＭ０は永久的に利用可能でなければならず、さらに｛ＦＳＭ１，ＦＳＭ２｝の最大を受入れ得る範囲を有する。その場合、この範囲のなかに常に２つのうちの１つがロードされ、また切換が再コンフィギュレーションをもたらすであろう。
【００３７】
本発明による論理装置のようなダイナミックに再コンフィギュレーション可能なＰＬＤの利点を説明するため、伝達関数ｆ（ｕ，ｘ，ｃ）（図２参照）がいまやｆc （ｕ，ｘ）と呼ばれる（等価なことが関数ｇに対しても当てはまる）。この示し方により依存関係の相違が明らかにされる。ｕおよびｘは機械の状態の、クロックと結び付けられる恒常的な継続を生じさせ、他方においてｃは本質的により稀なモード切換との依存関係を記述する。
【００３８】
再コンフィギュレーション自体は比較的多くの時間を必要とするであろう。いま、１つのはるかに望ましい解決が、同時に複数のプログラムをダイナミックに切換可能に記憶しているＰＬＤの拡張されたアーキテクチャにあることが認識された。相応の論理装置はMulti-Plane-PLDと呼ばれ得よう。しかし、各“コンテキスト”の観点を考慮に入れるため、かつ切換経過部分範囲のみが関係していることを示すため、ここでは名称“Dynamical  Multi-Context ＰＬＤ（ｄＭＣ-ＰＬＤ）”が選ばれる。
【００３９】
第ＩＩ節（“Dynamical Multi-Context ＰＬＤｓ”の本発明によるアーキテクチャ
【００４０】
最初に、クラシックなダイナミックに再コンフィギュレーション可能なＰＬＤに対してもｄＭＣ-ＰＬＤに対しても当てはまる問題に言及しておく。すなわち、ただ１つの部分範囲が切換えられるならば、そのインタフェースは外に向かって、すなわち特に残りの部分の方向に、一定にとどまらなければならない。同時にいくつかの機能プログラム（いわゆる“ルーティング・リソース”）は切換を一緒に行われる。なぜならば、切換えるべきブロックのなかに論理要素だけでなく接続も位置していなければならないからである。
【００４１】
帰結として以下では本発明による論理装置に対して１つのＰＬＤブロックが、他のブロックへのルーティング・リソースおよびインタフェース（いわゆる“ルーティング”）を有する論理的な処理ユニットから成る再コンフィギュレーション可能なユニットとして定義される。この定義は実際上通常の部分的に再コンフィギュレーション可能なモジュールと合致する。このブロックの定義はその際に論理的ブロックの通常の定義と異なっている。
【００４２】
いま、いったんこのようなブロックを有する仮想的なＰＬＤを見るならば、図３に示されているようなアーキテクチャが得られる。この図面には、参照符号２を付して部分的に再コンフィギュレーション可能なＰＬＤ装置または構造が、参照符号３Ａ〜３Ｄを付して４つのＰＬＤブロック（＝論理ブロック）が、参照符号４を付して機能プログラムおよびブロックへのインタフェースを有する処理ユニットを形成する（グローバルな）ルーティングが、また参照符号５を付して論理ブロックを処理ユニットおよび入力／および出力ユニットと連結するための手段を有するＩ／Ｏ範囲が示されている。このアーキテクチャ、いったん外縁におけるＩ／Ｏリソース５を別にすると、各ＰＬＤブロック３Ａ〜３Ｄが完全なＣＰＬＤ（“Complex ＰＬＤ”）またはＦＰＧＡに相当すると考えることができる。このようなアーキテクチャは既に存在する、たとえば“Cypress Delta39ｋ”、“Lattice-Vantiｓ Godfather”アーキテクチャがそれである。しかしそれらはＰＬＤ装置の作動中に再コンフィギュレーション可能でない。
【００４３】
図４に概要を示されている本発明による論理装置７のｄＭＣ-ＰＬＤアーキテクチャでは、図３によるＰＬＤ構造２が付加のＰＬＤにより重畳されている。切換論理ブロック８と呼ばれるこのエキストラＰＬＤは公知の論理装置には存在しておらず、また切換機能ｈ（ｕ，ｖ，ｃ）（図２参照）を引き受けなければならない。従ってそれは、論理ブロック３Ａ〜３Ｄの少なくともいくつかを相互に、かつ（または）処理ユニット４および（または）入力／出力ブロック５とのコンフィギュレーションを行う連結手段の１つの部分をなす。このことは、図４中の出力が記憶されているコンテキストｃに相当し、また当面の機能fc （ｕ，ｘ）およびｇc（ｕ，ｘ）の選択を制御することを意味する。
【００４４】
それによってこのエキストラＰＬＤに対して、多数の入力（ｕ，ｘ）から少数の専ら記憶される出力を計算する構造が生ずる。
【００４５】
この構成から生ずる利点は、機能密度及び従って利用度が高められ、応用あたりのコストが下げられることにある。それに対して以下の粗い見積りが与えられ得る。即ち、使用されるトランジスタの利用度が１：２０であると仮定する。すなわち２０の使用されているトランジスタのうち実際にただ１つが（プログラミング可能な）論理機能のなかで可視である。エキストラＰＬＤ８に対しては２０％のオーバヘッドが見積もられ得る。なぜならば、それは、本来の機能に寄与するのではなく、単に他のブロック３Ａ〜３Ｄを切換える論理ブロックであるからである。付加のプログラムの記憶およびデコーディングのために（ＰＬＤブロックあたりただ４つの記憶されている機能が仮定される）、別の６つのトランジスタが見積もられる（４トランジスタは記憶のため、２トランジスタは４から１の選択のため）。そのことから４：３０の新しい利用度が生じ、それに伴って公知の実施形態にくらべて密度の１６６％の上昇が生ずる。
【００４６】
場合によっては困難が、複数のコンフィギュレーションのなかから１つの現在のコンフィギュレーションを選択しなければならないために１つのＰＬＤブロックのなかの臨界的な経路が１つのトランジスタの分だけ長くなり得ること、そしてこのことが最大のクロック周波数の低下を伴うであろうことにより生じ得るであろう。加えて、いわゆるＳＲＡＭベースの記憶といわゆるＦＬＡＳＨ-ＥＥＰＲＯＭまたはＡｎｔｉ-Ｆｕｓｅとの間が区別されなければならない。
【００４７】
ＳＲＡＭベースの方法に対しては米国特許出願公開第 6,011,740 A号明細書により、複数のコンフィギュレーションの記憶をシャドウＲＡＭのなかに、たとえばリングメモリとして実現し、また現在必要とされる情報を作業メモリのなかにロードする方法が提案される。この方法は最大の作業速度を保証する。
【００４８】
Ｆｌａｓｈ-およびＡｎｔｉｆｕｓｅ記憶に対しては、上記の解決を応用するように、本来のセルとして同じくアフタロード可能なＳＲＡＭセルが考慮に値するであろう。しかしこのことは、記憶の際のテクノロジー切換に起因して付加の費用および場合によっては速度の低下を意味する。これらのテクノロジーの際に実際に、現在のコンテキストをデコードする別のパストランジスタが、場合によってはデュアルゲートＦＥＴの形で経路のなかに導入される。
【００４９】
どのブロックの大きさおよびエキストラＰＬＤの大きさが多数の応用に有利であるかの詳細な区分は例についてのシミュレーションにより求められ得る。
【００５０】
図４による本発明による論理装置の実現のために、両方の概要を示されている層、すなわちエキストラＰＬＤ８（＝切換論理ブロック）を有する層および論理ブロック３Ａ〜３Ｄを有する層、が平面Ｅ２またはＥ１のなかに位置し、また好ましくは少なくともほぼ同等であり、また相互に切換えるだけでなくそれぞれ他の部分のプログラミングをも発生するように構成することができる。切換はこの場合に、予め定められたプログラムの間で選ばれることを意味する。それに対して相互のプログラミングはそのつどの環境への適合（エボリューション）のために利用され得る。簡単な例は、周波数を伝搬時間効果を用いてマスタクロックに適合させるディジタルＰＬＬであり得る。
【図面の簡単な説明】
【００５１】
【図１】４つの簡単な公知のオートマトン形式の基本構造を示す。
【図２】“逐次有限状態機械”の基本構造を示す。
【図３】部分的に再再コンフィギュレーション可能なＰＬＤの概要構成を示す。
【図４】本発明による論理装置の概要構成を示す。
【符号の説明】
【００５２】
２  再コンフィギュレーション可能なＰＬＤ装置
３Ａ〜３Ｄ  ＰＬＤブロック
４  処理ユニット
５  Ｉ／Ｏリソース
７  論理装置
８  切換論理ブロック
Ｅ１、Ｅ２  平面
【図１】
2006504344.tif 000003
【図２】
2006504344.tif 000004
【図３】
2006504344.tif 000005
【図４】
2006504344.tif 000006
【手続補正書】
【提出日】平成17年6月13日(2005.6.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】明細書
【技術分野】
【０００１】
本発明は、機能プログラムとそれぞれ他の論理ブロックへのインタフェースとを有するそれぞれ少なくとも１つの処理ユニットを含みコンフィギュレーション可能な特性を有する複数の論理ブロックと、論理ブロックに対応付けられている少なくとも１つの入力／出力ユニットと、論理ブロックを相互に、他の論理ブロックの少なくとも１つの処理ユニットと、また少なくとも１つの入力／出力ユニットと連結するための手段とを含んでいるプログラマブル論理装置に関するものである。このような論理装置は米国特許出願公開第 4,870,302 A号明細書に示されている。
【０００２】
特にプロセッサのような従来通常の論理装置のプログラマブル論理モジュールは、メモリからロードされるプログラムを実行する。命令語の形態の実行すべきソフトウェアはそこに機械命令として格納されている。これらの命令語はロードされ、解析され、解釈され、また処理ユニットのなかで実行される。単一の命令語の処理は論理装置のなかの多数の個別作用をレリーズする。
【０００３】
公知のディジタル論理装置、特にマイクロプロセッサを有するコンピュータの基本構造および基本組織はいわゆる“フォン・ノイマン計算機”のコンセプトに基づいている。その中央ユニットＣＰＵ（“Central Processing Unit”）、すなわちそのコンピュータコア、はその最小コンフィギュレーションのなかに主構成部分として主メモリ、制御ユニットおよび処理ユニット（ないし算術演算装置）を含んでいる。即ち、
・主メモリは命令語（プログラムデータ）および処理データ（オペランド語）を記憶し、またこれらを要求に応じて利用に供する。さらに主メモリは処理の中間結果および最終結果を受け入れる。主メモリは揮発性または不揮発性のメモリにより実現され得る。
・制御ユニットは命令語が処理される順番を編成する。それは命令語を主メモリから要求し、また処理ユニットのなかでのそれらの実行を行わせる。さらにそれは命令語を解析し、また処理ユニットへの処理データの供給を行わせる。
・処理ユニットは処理データに演算を行い、また相応の結果語を主メモリに供給する。各々の演算に対して処理ユニットは、必要とされる伝送経路を開くマイクロプログラムを含んでいる。処理ユニットは制御ユニットにより各演算形式に、すなわち処理すべき命令に、設定される。中央ユニットには、外部メモリならびに入力装置及び出力装置であってよい周辺装置が対応付けられている。中央ユニットの指定された主構成要素は物理的に隔てられていてよいが、それらはたいてい、キャッシュまたはたとえば埋め込まれたＲＯＭを有する共通のプロセッサチップの上に実現されている。
【０００４】
フォン・ノイマン計算機の前述の基本構成要素を有するこのようなプログラマブル論理装置ＰＬＤ（“Programmable Logic Device）”のプログラミングの一層詳細な考察は、プログラムならびに初期化データが（メモリセルあたり最少１トランジスタを有する）経済的なメモリのなかに格納されており、また、それらが番にあたっているときに始めて、実行のためにＣＰＵに到達することを示す。一方では経済的な記憶が、また他方ではすべての可能な命令に対するＡＬＵ（Arithmetic Logic Unit算術演算装置）のような一層高価なＣＰＵ回路の“再使用”が、プロセッサベースの計算機のいわゆる“機能的な密度”へのポジティブな寄与である。この際に処理の時間的なシーケンスはもちろんネガティブな寄与を生ずる。
【０００５】
その際に機能的な密度はシリコン面積および時間あたりのアクティブな等価ゲートの平均的な数として定義され得る。
【０００６】
計算機能力、メモリおよび入力・出力ユニットＩ／Ｏ（Input／Output）を有する公知のプログラマブル論理装置（ＰＬＤ）では、たとえば冒頭にあげた米国特許出願公開明細書に記載されているように、その構造はいったんプログラムされ、またプログラム（たとえばデータ）内容が構造自体に記憶される。この記憶の形態は費用がかかる。なぜならば、メモリ自体の周りに切換えられるデータ路における迅速な変換の目的で大量の付加のトランジスタを追加しなければならないからである。確かにシリコンの利用に関するわずかなステートメントは存在する。即ち全数／可視のトランジスタキャパシティ（切換機能の意味で）の比で２０〜４０の比率から出発すべきであろう。論理装置の公知の実施形態ではその論理ブロックのリンケージは第１にデータ入力端へのデータ出力端のカップリング（ルーティング・リンケージ）に、また第２に個々の論理ブロックにおける出力データへの入力データの処理（論理演算）に関するものである。ルーティング・リンケージは、論理ブロック（論理要素）から出発しまたはそのなかに導かれるデータに対しても、Ｉ／Ｏパッドから出発しまたはそのなかに導かれるデータに対しても当てはまる。公知の実施形態のこのシステムにおいては専らデータ結合が念頭におかれている。
【０００７】
米国特許第6,333,641 B1号明細書に論理モジュールまたは論理ブロックのアレイを有するプログラマブル論理装置が示されている。垂直なルーティング経路、水平なルーティング経路およびローカルなルーティング経路を有する接続ユニットが論理ブロックを連結する。オムニ（ユニバーサル）バス（データ交換母線）がアレイ上に置かれており、このバスはアレイと、バスがオムニバスと接続されている可変の大きさを有する論理ブロックのダイナミックに自立的なサブアレイを形成するように連結されている。連結はその際に最初から決められている。ここでもそれは米国特許出願公開第 4,870,302 A号明細書の場合のようにデータ接続、すなわちデータの交換である。
【０００８】
切換えられるデータ経路のなかの変換を有するメモリの形態でのプログラミング可能性は、計算機の場合にこれまで完全なプログラムをモジュールのなかに格納するように、かなり高い費用がかかるので、ＰＬＤは高い機能密度の潜在的可能性にもかかわらずプロセッサの１０倍にしか到達しない。このことはＰＬＤのなかの速度利得がプロセッサ解決にくらべて高い費用であがなわれていることを意味する。
【０００９】
従って、本発明の課題は、冒頭にあげた特徴を有するプログラマブル論理装置を、高い機能密度の際にＰＬＤの高い速度を簡単な手段で達成し得るように構成することにある。
【００１０】
この課題は、本発明によれば、請求項１にあげられている手段により解決される。これらの手段は、連結手段が付加的に少なくとも１つのコンフィギュレーション可能な切換論理ブロックを有し、それにより再コンフィギュレーション可能な論理ブロック自体またはそれらの相互接続および（または）少なくとも１つの処理ユニットとのそれらの接続および（または）少なくとも１つの入力／出力ユニットとのそれらの接続の少なくともいくつかのコンフィギュレーションが行われることによる、論理装置のすべての作動の間の論理ブロックの再コンフィギュレーション可能性を含んでいる。
【００１１】
このようなアーキテクチャと結び付けられる利点は特に、いまや再コンフィギュレーション可能な論理ブロックの限られた数の際に、ブロック自体のコンフィギュレーションとならんで、これらのブロックの間の接続および（または）たとえば処理ユニットへの接続および（または）入力／出力ユニットへの接続のようなメモリユニットまたはマイクロプロセッサのような外部のモジュールへの接続も、毎回に対して１つの接続が固定的にあらかじめ与えられているのではない付加的に設けられている切換論理ブロックを使用して、全作動中に必要に応じて作成され得ること、すなわちコンフィギュレーションを行われ得ることにある。切換論理ブロックを用いてのこのようなコンフィギュレーションは本発明により構成された連結手段の連結オペレーションとみなされ得る。
【００１２】
コンフィギュレーションはその際にいつでも、すなわち開始相またはブート相の間だけでなくすべての中断されない作動継続時間中に、行われ得る。こうして本発明による手段は連結範囲への、従ってまた相応のコンフィギュレーションへの、切換論理ブロックの接続を意味する。それによって、個々のブロックにより異なる機能を異なる時点で実行することが可能になる。即ちその利用度が相応に高められる。そのことと、マイクロプロセッサと比較しての論理装置全体のパフォーマンスが相応に改善されること、または従来通常のＰＬＤと比較してパフォーマンス損失が生じないことが結び付けられている。
【００１３】
ＰＬＤは、フォン・ノイマンプロセッサのように、２つの形式の情報、コードおよびデータを受ける。基本的に行動週間を決定し、またＰＬＤではコンフィギュレーションまたはコンフィギュレーションコードと呼ばれるコードは通常本来の作動の前にロードされ、またその後に作動中は変わらない。コンフィギュレーションはなかんずくモジュールのなかでアクティブな接続を決定する。
【００１４】
データは作動中に変化可能で、またそれによりオペレーションの現在の進行に影響じ得る。すなわちコードはすべての可能な経路を含んでいるが、実際の利用（これは現在通過する経路に相当する）はデータによって（も）決定される。
【００１５】
本発明による切換論理ブロックは同じくコードおよびデータを受ける。本発明の本質的なことは、その他の非切換ＰＬＤを制御すること、詳細にはコードの交換または修正により制御することにある。
【００１６】
前記の従来の技術では、また実際に通常のＰＬＤでは、コンフィギュレーション可能なブロックは、（伝搬時間可変の）データが交換可能であることにより、すなわち１つのブロックのデータ出力端が他のブロックのデータ入力端と接続されている形式で、互いに結ばれている。しかし本発明による切換論理ブロックでは、この論理ブロックの出力端が少なくとも部分的に、他の実施形態では作動中にコンフィギュレーション可能な論理ブロックのアクセス不可能なコード範囲に接続されている。それにくらべて従来の技術は、データ経路においてコンフィギュレーション可能な論理ブロックが結合するがコードに影響を有していない実施形態に該当する。
【００１７】
本発明による論理装置の有利な構成は従属請求項にあげられている。
【００１８】
切換論理ブロックが、再コンフィギュレーション可能な論理ブロックを有する１つの平面と異なる１つの平面のなかに構成されていることは好ましい。その際に切換論理ブロックの異なる平面とは、同時に再コンフィギュレーション可能な論理ブロックの平面ではない各々の平面として理解される。すなわち、切換論理ブロックの平面は再コンフィギュレーション可能な論理ブロックの面の上、横または下に位置していてよい。その際これらの平面は少なくとも広範囲に同等に構成されていてよい。
【００１９】
さらに、再コンフィギュレーション可能な論理ブロックの少なくともいくつかのコンフィギュレーションが予め定められたコンテキストに相応して行われると有利である。
【００２０】
さらに、切換論理ブロックが、個々の再コンフィギュレーション可能な論理ブロックの機能に関する情報を含んでいる少なくとも１つの状態メモリを有し、その結果選択された再コンフィギュレーション可能な論理ブロックのコンフィギュレーションが当面の状態の機能情報に従って行われることは好ましい。
【００２１】
本発明による手段の基礎となっている考察は以下に図面を参照して一層詳細に説明される。
【００２２】
以下ではいわゆる有限状態（Finite State）形式の機械からいわゆる逐次有限状態機械（Sequential Finite State Machines（ＳＦＳＭ））が導き出される。ここに説明されるモデルはＰＬＤのなかのコンフィギュレーションのシーケンスを定義するのに適しており、またまさにこのシーケンスはパフォーマンス損失なしにＰＬＤの本質的に高い機能密度（製造および作動のための劇的に低減されたコストと同じ意味）を発生し得る。
【００２３】
第Ｉ節（逐次有限状態機械（Sequential Finite State Machines））
【００２４】
ハードウェア開発のための“クラシックな”思考モデルの１つは以下で有限状態機械（Finite State Machines（ＦＳＭ））と呼ばれる簡単な有限オートマトンにある。
【００２５】
この密に（特にいわゆる“確定的な有限オートマトン”）の理論的なコンセプトに使用されるモデルは正確には下記のように定義されている。
定義１：
ＦＳＭは６タプル｛Ａ，Ｘ，Ｔ，ｆ，ｇ，ａ0 ｝から成っている。Ａ＝｛Ａ0 ，ａ1 ，…ａM ｝はここで状態の有限の集合であり、その際ａ0 は出発状態を意味する。Ｘ＝｛Ｘ1 ，…ＸK ｝はＸI ＝｛ｘ1 ，…ｘL ｝iを有する入力ベクトルの有限の集合であり、その際ｘ1∈｛０，１，−｝。Ｙ＝｛Ｙ1 ，…ＹN ｝はＹJ ＝｛Ｙ1 ，…ＹH ｝j を有する出力ベクトルの有限の集合であり、その際ｙh∈｛０，１，−｝である。
ｆ：ＡｘＸ→Ａは遷移関数（次状態デコーダ）と呼ばれている。
ｇ：ＡｘＸ→Ｙは出力関数（出力デコーダ）と呼ばれている。
ｔ＝時間単位。
【００２６】
この定義のなかにあげられている機能は、入力及び状態ベクトル（本質的に２値）間のアルゴリズム関係を示すスイッチング回路網により実現される。しかながら、そのためには、状態も２値にコード化されることが必要であり、このコード化は定義１ではまだ行われていない。
【００２７】
状態オートマトンに対してはさらに、機能の複雑さへの影響が実際上与えられている３つの本質的なサブ形式（図１参照）が区別され得る。開発者は下記のステップを実行することになる。
１．信号の決定：スイッチング回路網は必要な入力および出力信号を有する“プラックボックス”として描かれている。
２．状態ダイアグラムの設計：このステップはシンセシスの本来の核である。なぜならば、ここで解決すべき問題がフォーマルに記述されるからである。状態ダイアグラムとしては状態グラフ、プログラムフローチャートまたはスイッチング回路網テーブルが可能である。
３．すべてのその後のオペレーションに対するフォーマルな出発点としてのスイッチング回路網テーブルの作成。
４．状態最少化：状態の数の最少化はデザインの１つの簡単化を達成し得る。
５．状態コード化：（図１ｄによるミーリィ（Ｍｅａｌｙ）オートマトンに対するものではなく）同期化された入力を有する同期したスイッチング回路網ではＺから状態に対する任意のコード化が示され得る。しかしながら図１ｂによるＭｅｄｗｅｄｊｅｗオートマトンではコード化は所望の出力信号と合致しなければならない。それに対して図１ｃによるムーア（Ｍｏｏｒｅ）オートマトンではコード化は、簡単化されたスイッチング回路網が次状態デコーダ（ｆ）および出力デコーダ（ｇ）に対して生ずるように選ばれる。
６．次状態および出力スイッチング回路網の計算：次状態スイッチング回路網の具体的な計算のためにはレジスタまたはフリップフロップ形式が選ばれなければならない。なぜならば、その入力（Ｔ、Ｄ、ＲＳまたはＪＫ）はこのスイッチング回路網により占められるが相異なる機能を示すからである。
７．スイッチング回路網の実現およびテスト。
【００２８】
「ジャーナル オブ システムズ アーキテクチャ（Journal of Systems Architecture）」47巻、2002年、1043〜1064頁から、ＦＳＭsの再コンフィギュレーション可能なモデルの根本的な機能様式及びその特殊なＰＬＤsとしてのＦＰＧＡs（Field Programmable Gate Arrays）へのインプリメンテーションが記述されている。再コンフィギュレーション可能なモジュールに対しアプリケーションをコード化するためのデザイン手法が考察される。そのために使用されるハードウエア及び従ってモジュールのアーキテクチャは従来技術に応じてなされる。即ち、既に知られたアーキテクチャから始められる。しかしながら具体的な技術的実行可能性は示されていない。
【００２９】
実際からいま、“フラットマシン”とも呼ばれ得る簡単な機械としての実現が無条件に最良ではないことが知られている。互いに結合されている複数の簡単なオートマトンから成る共同作動するオートマトンはこのことをしばしば面積効率の意味ではるかにより良く実現し得る。加えて、前記のデザインの流れが必ずしも示された仕方で実行されなくてもよいことが考慮に入れられるべきであろう。ＶＨＤＬのような標準言語での増大する記述と共に一層アルゴリズミックなスタイルへの指向が認められる。
【００３０】
しかし、それと無関係に、ＦＳＭは基本的なモデルとみなされるべきである。いま、１つのＦＳＭを有するだけでなく、複数のＦＳＭを有し、それらのうち正確に１つが１つの時点でアクティブであるようにすることもできる。１つの際立たせられた部分（いわゆる“シーケンサ”）がその場合に入力信号または得られた結果に関係して個々のＦＳＭの間を切換える。
【００３１】
このＦＳＭから出発して以下には逐次有限状態機械（ＳＦＳＭ）が正しく定義され、また示される。
定義２：
逐次有限状態機械（ＳＦＳＭ）は５タプル｛Ｂ，Ｂ0 ，Ｃ，Ｖ，ｈ｝から成っている。ここでＢ＝｛Ｂ0 ，…ＢK ｝は有限状態機械（ＦＳＭ）の有限の集合を示し、Ｂ0 は出発ＦＳＭである。Ｃ＝｛Ｃ0 ，…ＣK ｝は現在のＦＳＭを表記するための状態の有限の集合を記述する。Ｖ＝｛Ｖ1 ，…ＶN ｝はｖI ＝｛ｖ1 ，…ｖN ｝を有する（付加の）入力ベクトルの有限の集合であり、その際ｖI ∈｛０，１，−｝である。ｈ：ＢｘＶ→Ｂは遷移関数（次ＦＳＭデコーダ）と呼ばれている。
【００３２】
このＳＦＳＭ（図２も参照）の主な利点は先ずモデル化にある。デザイナは、そのデザインをより小さい部分に分割するチャンスを有する。技術的実行中にその場合、すべてのＦＳＭ ＢK からの状態の（引き続き有限な）集合を統一的な状態コード化に写像するべく試みられる。さらにそのために、機能ｈに対してすぐ次のＦＳＭの計算を可能にするため、現在のＦＳＭ ＢKのＣK に対するコード化が伴われなければならない。
【００３３】
他方、図２を見ると、本来はごく少数しか得られていないことが示されている。すべてのレジスタに対するタクトが同一である場合には、図１ａ中ではレジスタおよびスイッチング回路網ｆ（ｕ*，ｘ*）（次状態デコーダ）（＊は全集合を意味する）が、実現中に再び一緒にされるｆ（ｕ，ｘ，ｃ）およびｈ（ｕ，ｘ，ｃ）を有するレジスタの部分集合に分割された。この解決はそれによりほとんど最小にならない。なぜならば、今日の構成形式のＰＬＤのなかではすべての部分、すなわちすべての部分ＦＳＭ、がモジュール上に集積されなければならないからである。ここでいま本発明による考察が始まる。
【００３４】
部分的にではあるがダイナミックに再コンフィギュレーション可能である少数のＦＰＧＡ（“Field- Programmable Gate Arrays”）は確かに存在する。たとえば“Spektrum der Wissenschaft”、1997年8月、第44〜49頁を参照。この再コンフィギュレーション可能な特性は、永久的な部分ｈ（ｕ，ｖ，ｃ）およびＦＳＭコード化のためのレジスタのなかならびにアフタロード可能な部分のなかに現在のＦＳＭがロードされ、また実行されることによって利用され得る。この際に問題はアフタロードの際のパフォーマンス喪失である。このことは以下の例から明らかである。
例
１つの有限状態機械の例として好んであげられる道路交通信号灯は、夜間モードを考えるとき、逐次ＦＳＭの例としても非常に良好にあげられ得る。モードという語は既に経路を示す。個々のＦＳＭの間の切換中にはモード切換のような何かが位置すべきであろう、また昼間モードおよび夜間モードがともかく互いに両立しない。
【００３５】
ＦＳＭ１はいま昼間信号灯を、ＦＳＭ２は夜間信号灯（たとえば裏通りに対する黄色の点滅）を統合し、また上位のシーケンサのなかで時間信号を手がかりにして、どのＦＳＭが実行され、またどのＦＳＭが休止するかが決定される。シーケンサはＦＳＭ０として実現される。
【００３６】
このために必要な３つのＦＳＭ（０…２）に対する記述は別々に実行されるが、範囲０にＦＳＭ０が、範囲１にＦＳＭ１が、また範囲２にＦＳＭ２が位置するように１つのＰＬＤ上に統合される。面積利得がそれによって損なわれない。
【００３７】
アフタロード可能な場合にはＦＳＭ０は永久的に利用可能でなければならず、さらに｛ＦＳＭ１，ＦＳＭ２｝の最大を受入れ得る範囲を有する。その場合、この範囲のなかに常に２つのうちの１つがロードされ、また切換が再コンフィギュレーションをもたらすであろう。
【００３８】
本発明による論理装置のようなダイナミックに再コンフィギュレーション可能なＰＬＤの利点を説明するため、伝達関数ｆ（ｕ，ｘ，ｃ）（図２参照）がいまやｆc （ｕ，ｘ）と呼ばれる（等価なことが関数ｇに対しても当てはまる）。この示し方により依存関係の相違が明らかにされる。ｕおよびｘは機械の状態の、クロックと結び付けられる恒常的な継続を生じさせ、他方においてｃは本質的により稀なモード切換との依存関係を記述する。
【００３９】
再コンフィギュレーション自体は比較的多くの時間を必要とするであろう。いま、１つのはるかに望ましい解決が、同時に複数のプログラムをダイナミックに切換可能に記憶しているＰＬＤの拡張されたアーキテクチャにあることが認識された。相応の論理装置はMulti-Plane-PLDと呼ばれ得よう。しかし、各“コンテキスト”の観点を考慮に入れるため、かつ切換経過部分範囲のみが関係していることを示すため、ここでは名称“Dynamical  Multi-Context ＰＬＤ（ｄＭＣ-ＰＬＤ）”が選ばれる。
【００４０】
第ＩＩ節（“Dynamical Multi-Context ＰＬＤｓ”の本発明によるアーキテクチ
【００４１】
最初に、クラシックなダイナミックに再コンフィギュレーション可能なＰＬＤに対してもｄＭＣ-ＰＬＤに対しても当てはまる問題に言及しておく。すなわち、ただ１つの部分範囲が切換えられるならば、そのインタフェースは外に向かって、すなわち特に残りの部分の方向に、一定にとどまらなければならない。同時にいくつかの機能プログラム（いわゆる“ルーティング・リソース”）は切換を一緒に行われる。なぜならば、切換えるべきブロックのなかに論理要素だけでなく接続も位置していなければならないからである。
【００４２】
帰結として以下では本発明による論理装置に対して１つのＰＬＤブロックが、他のブロックへのルーティング・リソースおよびインタフェース（いわゆる“ルーティング”）を有する論理的な処理ユニットから成る再コンフィギュレーション可能なユニットとして定義される。この定義は実際上通常の部分的に再コンフィギュレーション可能なモジュールと合致する。このブロックの定義はその際に論理的ブロックの通常の定義と異なっている。
【００４３】
いま、いったんこのようなブロックを有する仮想的なＰＬＤを見るならば、図３に示されているようなアーキテクチャが得られる。この図面には、参照符号２を付して部分的に再コンフィギュレーション可能なＰＬＤ装置または構造が、参照符号３Ａ〜３Ｄを付して４つのＰＬＤブロック（＝論理ブロック）が、参照符号４を付して機能プログラムおよびブロックへのインタフェースを有する処理ユニットを形成する（グローバルな）ルーティングが、また参照符号５を付して論理ブロックを処理ユニットおよび入力／および出力ユニットと連結するための手段を有するＩ／Ｏ範囲が示されている。このアーキテクチャ、いったん外縁におけるＩ／Ｏリソース５を別にすると、各ＰＬＤブロック３Ａ〜３Ｄが完全なＣＰＬＤ（“Complex ＰＬＤ”）またはＦＰＧＡに相当すると考えることができる。このようなアーキテクチャは既に存在する、たとえば“Cypress Delta39ｋ”、“Lattice-Vantiｓ Godfather”アーキテクチャがそれである。しかしそれらはＰＬＤ装置の作動中に再コンフィギュレーション可能でない。
【００４４】
図４に概要を示されている本発明による論理装置７のｄＭＣ-ＰＬＤアーキテクチャでは、図３によるＰＬＤ構造２が付加のＰＬＤにより重畳されている。切換論理ブロック８と呼ばれるこのエキストラＰＬＤは公知の論理装置には存在しておらず、また切換機能ｈ（ｕ，ｖ，ｃ）（図２参照）を引き受けなければならない。従ってそれは、論理ブロック３Ａ〜３Ｄの少なくともいくつかを相互に、かつ（または）処理ユニット４および（または）入力／出力ブロック５とのコンフィギュレーションを行う連結手段の１つの部分をなす。このことは、図４中の出力が記憶されているコンテキストｃに相当し、また当面の機能fc （ｕ，ｘ）およびｇc（ｕ，ｘ）の選択を制御することを意味する。
【００４５】
それによってこのエキストラＰＬＤに対して、多数の入力（ｕ，ｘ）から少数の専ら記憶される出力を計算する構造が生ずる。
【００４６】
このエキストラＰＬＤは本発明によればコンフィギュレーション可能な切換論理ブロックを形成する。この切換論理ブロックは必然的に他のふつうに作動する論理ブロックのコンフィギュレーション部分へのアクセスを持たなければならない。何故ならそうでなければ再コンフィギュレーションは生じさせ得ないであろうからである。それ故、論理切換ブロックの出力はコンフィギュレーションすべき（他の）論理ブロックのコード範囲に少なくとも部分的に接続されて、コンフィギュレーションすべき論理ブロックをコンフィギュレーションする、ないしはそのコンフィギュレーション間で切換得るようにしなければならない。そのような“切換”結合は公知の構造形態には存在せず、また他の非切換論理ブロックもこのような結合を持っていない。
【００４７】
この構成から生ずる利点は、機能密度及び従って利用度が高められ、応用あたりのコストが下げられることにある。それに対して以下の粗い見積りが与えられ得る。即ち、使用されるトランジスタの利用度が１：２０であると仮定する。すなわち２０の使用されているトランジスタのうち実際にただ１つが（プログラミング可能な）論理機能のなかで可視である。エキストラＰＬＤ８に対しては２０％のオーバヘッドが見積もられ得る。なぜならば、それは、本来の機能に寄与するのではなく、単に他のブロック３Ａ〜３Ｄを切換える論理ブロックであるからである。付加のプログラムの記憶およびデコーディングのために（ＰＬＤブロックあたりただ４つの記憶されている機能が仮定される）、別の６つのトランジスタが見積もられる（４トランジスタは記憶のため、２トランジスタは４から１の選択のため）。そのことから４：３０の新しい利用度が生じ、それに伴って公知の実施形態にくらべて密度の１６６％の上昇が生ずる。
【００４８】
場合によっては困難が、複数のコンフィギュレーションのなかから１つの現在のコンフィギュレーションを選択しなければならないために１つのＰＬＤブロックのなかの臨界的な経路が１つのトランジスタの分だけ長くなり得ること、そしてこのことが最大のクロック周波数の低下を伴うであろうことにより生じ得るであろう。加えて、いわゆるＳＲＡＭベースの記憶といわゆるＦＬＡＳＨ-ＥＥＰＲＯＭまたはＡｎｔｉ-Ｆｕｓｅとの間が区別されなければならない。
【００４９】
ＳＲＡＭベースの方法に対しては米国特許出願公開第 6,011,740 A号明細書により、複数のコンフィギュレーションの記憶をシャドウＲＡＭのなかに、たとえばリングメモリとして実現し、また現在必要とされる情報を作業メモリのなかにロードする方法が提案される。この方法は最大の作業速度を保証する。
【００５０】
Ｆｌａｓｈ-およびＡｎｔｉｆｕｓｅ記憶に対しては、上記の解決を応用するように、本来のセルとして同じくアフタロード可能なＳＲＡＭセルが考慮に値するであろう。しかしこのことは、記憶の際のテクノロジー切換に起因して付加の費用および場合によっては速度の低下を意味する。これらのテクノロジーの際に実際に、現在のコンテキストをデコードする別のパストランジスタが、場合によってはデュアルゲートＦＥＴの形で経路のなかに導入される。
【００５１】
どのブロックの大きさおよびエキストラＰＬＤの大きさが多数の応用に有利であるかの詳細な区分は例についてのシミュレーションにより求められ得る。
【００５２】
図４による本発明による論理装置の実現のために、両方の概要を示されている層、すなわちエキストラＰＬＤ８（＝切換論理ブロック）を有する層および論理ブロック３Ａ〜３Ｄを有する層、が平面Ｅ２またはＥ１のなかに位置し、また好ましくは少なくともほぼ同等であり、また相互に切換えるだけでなくそれぞれ他の部分のプログラミングをも発生するように構成することができる。切換はこの場合に、予め定められたプログラムの間で選ばれることを意味する。それに対して相互のプログラミングはそのつどの環境への適合（エボリューション）のために利用され得る。簡単な例は、周波数を伝搬時間効果を用いてマスタクロックに適合させるディジタルＰＬＬであり得る。
【００５３】
対応する具体的な実施例に従って、２つのモード、即ち昼間モード及び夜間モードを有する信号灯設備が選ばれるとする。これらのモードの各々はＦＳＭとして構想される。即ちふつうの実現は、両モードがＰＬＤ上に実際にインプリメントされ、従ってほぼ２倍の場所を必要とする。
【００５４】
再コンフィギュレーション可能なアーキテクチャへの本発明によるインプリメンテーションは、両モードが同じ部分にインプリメントされ、それも一方は能動的であり（例えば昼間モード）であり、それに対し他方（従って夜間モード）はメモリ内にのみ非能動的に存在するようになされる。ところで切換論理ブロックは時間、暗さ、通過車両数、他の外部信号のいずれか１つ又はそれらの任意を組み合わせて検出し、それと関係してモード間の切換を例えば記憶内容のコピーによって指示する。そのための切換論理ブロックは必然的に他のブロックの各コンフィギュレーションメモリへのアクセスを持たなければならない。
【図面の簡単な説明】
【００５１】
【図１】４つの簡単な公知のオートマトン形式の基本構造を示す。
【図２】“逐次有限状態機械”の基本構造を示す。
【図３】部分的に再再コンフィギュレーション可能なＰＬＤの概要構成を示す。
【図４】本発明による論理装置の概要構成を示す。
【符号の説明】
【００５２】
２  再コンフィギュレーション可能なＰＬＤ装置
３Ａ〜３Ｄ  ＰＬＤブロック
４  処理ユニット
５  Ｉ／Ｏリソース
７  論理装置
８  切換論理ブロック
Ｅ１、Ｅ２  平面
【手続補正書】
【提出日】平成17年6月13日(2005.6.13)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2006504344.tif 000007
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2006504344.tif 000008
【国際調査報告】
2006504344.tif 000009
2006504344.tif 000010
2006504344.tif 000011
2006504344.tif 000012
2006504344.tif 000013
2006504344.tif 000014
2006504344.tif 000015
2006504344.tif 000016
2006504344.tif 000017
2006504344.tif 000018