JP2009524134A - ハードウェア定義方法 - Google Patents
ハードウェア定義方法 Download PDFInfo
- Publication number
- JP2009524134A JP2009524134A JP2008550680A JP2008550680A JP2009524134A JP 2009524134 A JP2009524134 A JP 2009524134A JP 2008550680 A JP2008550680 A JP 2008550680A JP 2008550680 A JP2008550680 A JP 2008550680A JP 2009524134 A JP2009524134 A JP 2009524134A
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- pae
- data
- register
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Abstract
本発明はハードウェア定義方法に関する。この方法においては、パラメータ化可能で実行可能なエレメントのライブラリを準備し、パラメータを選択し、選択されたパラメータを用いてエレメントを作成し、作成を簡略化することが提案される。
Description
本発明は請求項の上位概念において権利を主張している事項に関し、したがって有利にはリコンフィギュラブルなアーキテクチャまたは有利には部分的にリコンフィギュラブルなアーキテクチャならびにセルエレメントフィールドのプログラミング方法に関する。そのようなフィールドのエレメントは異なる複数の機能を実施することができ、殊に汎用プロセッサのように複数の機能を実施することができる。
本明細書においてリコンフィギュラブルなアーキテクチャとは広義の意味で、データを処理、記憶および/または転送するエレメントがネットワーク化されたものの内の少なくとも1つもしくはエレメント自体を変更できるアーキテクチャであると解される;有利なヴァリエーションにおいては、その都度の意味的な関係から何も明記されていない限り、毎回それを参照せずともリコンフィギュラブルなアーキテクチャとは動的にリコンフィギュラブルなアーキテクチャであると解される。動的とは、有効期間中に完全なリコンフィギュレーションおよび/または部分的なリコンフィギュレーションを実現する速度でリコンフィギュレーションできることを意味している;すなわちリコンフィギュレーションは1つのフィールドの全てのセルエレメント、コネクションエレメントなどに対して、フィールドの部分グループに対してのみ、および/または、フィールドの単一のエレメントに対して行うことができる。リコンフィギュレーションを例えば、必要に応じて別個に構成および/またはプレロードされた中央インスタンスによって、データを別のセルまたはセルエレメントフィールドの外のセルへと転送および/または出力する前、またはその際に続けて別のデータ処理またはさらなるデータ処理が必要であることを実行されるデータ処理によって経過中に確認する、エレメント自体内の隣接するセルおよび/または1つのセルによって指示することができる(本出願人による先行の特許文献を参照されたい。開示を目的として、それらの全体の範囲を本願の参考文献とする)。データ経路においてデータの流れに関して上流側にあるエレメントのリコンフィギュレーションを指示することもできる。リコンフィギュレーションを外部から、すなわちフィールド外から、および/または、内部から強制するおよび/または要求することができる。リコンフィギュレーション情報を別個のリコンフィギュレーション線路、(データ)バスおよび/またはセルからセルへの直接的なコネクションを介して伝送することができる。
フィールドの拡張された部分にわたり延びる比較的長い領域および/またはリコンフィギュレーションインスタンスおよび/または外部ユニット、例えばデータメモリ、データソースおよび/またはデータ受信器のスイッチオンないし起動によって複数のセルを相互的に接続する代わりに、および/または、複数のセルを相互的に接続することに付加的に、セルからセルへ直接的にデータを伝送することができる。この種のデータ受信器ないしデータソースは例えばディスプレイ、データインタフェース、外部(ホスト)プロセッサ、コプロセッサ、マイクロコントローラおよび/またはチップに集積されたシーケンサユニットなどでよい。
リコンフィギュレーション情報をデータと共に、例えば比較的長いデータパケットのデータワード内に挿入して伝送することができる。いずれにせよセルエレメント間のデータ交換は有利には同期的に行うことができる。セルからセルへのコンフィギュレーションデータの伝送を、コンフィギュレーション可能なセルエレメントをコンフィギュレーションするための本来のコンフィギュレーションワードの伝送によって、および/または、殊にトリガベクトルの形でのトリガの伝送によって行うことができる。このトリガによりトリガベクトル目標受信器セルエレメントに関してさらに提供すべきコンフィギュレーションおよび/または既に提供されたコンフィギュレーションの中からコンフィギュレーションが選択される。
目下行われている処理および/または後に行われる処理に関する少なくとも1つのコンフィギュレーション、有利には複数のコンフィギュレーションがセルエレメント内またはセルエレメントのもとに記憶される場合には有利であるが、これは本願発明にとって必ずしも必要なことではない。本出願人による先行の特許文献からそれ自体公知であるようなコンフィギュレーションメモリを各セル内および/またはセルのグループに対して設けることができる。
コンフィギュレーションデータのためであれ、および/または、処理すべきデータのためであれ、本発明のようなプロセッサフィールドを用いて、また本発明のようなプロセッサフィールドのために構成することができる階層構造について言及する。複数の異なるコンフィギュレーション、殊に事前に記憶されているコンフィギュレーションの中からコンフィギュレーションIDにしたがい選択を行うために、データストリーム内にトリガベクトルを挿入できることを言及しておく。例えば本出願人によるPCT/EP02/02402(PACT25/PCTE)において提案されているように、複数のコンフィギュレーションをコンフィギュレーション可能な1つのセルエレメントにおいて時間的に交差して処理できる場合(これは可能であると見なされる)、有利にはセルエレメントがデータ伝送時に所定の処理すべきタスクについてのデータパケットの属性に関連する情報も一緒に送信することができる。データと共に伝送されるこの識別情報に関してはPCT/EP02/02403(PACT18/PCT)ならびにPCT/EP02/10572(PACT31/PCToe)を参照されたい。殊に前者についてはAPIDについての実施形態、後者についてはCONFIGIDについての実施形態を参照されたい。セルエレメントに関係すること、つまりそれ自体考えられることは、特別なプログラムがコンパイルされるべき目下考察しているリコンフィギュレーション可能なアーキテクチャが(完全に)均質のフィールドであるということであり、このフィールドにおいては例えば本出願人による公知のXPPにおけるように、殊にセグメント化されたバスを備えた複数のセルがそれらの間に設けられている。セルは部分的に拡張された機能範囲を有するALU(EALU)でよいが、これは必ずしも必要ではない(PCT/DE97/02949(PACTO2/PCT)を参照されたい)。またALUが両側において入力バスないし出力バスと接続されている(多段式の)レジスタユニットを設けることができる(例えばPCT/EP01/11299(PACT22a/PCT)におけるFREG、BREG、また本出願人の別の特許文献における相応の構成を参照されたい)。さらにはこれに関してはALU自体の手前にある入力/出力レジスタについて言及する。これは別の表記で本出願人による他の刊行物においても見出すことができる。
有利にはセルエレメントの通信は本出願人が既にXPPアーキテクチャに関連させて記述したようなプロトコルに従う。殊に、PCT/DE03/00489(PACT16/PCTD)に記載されているようなRDY/ACKプロトコル、RDY/ABLEプロトコル、またこの刊行物においてさらに記載されているCREDITプロトコルなどのようなプロトコル、例えば拒絶(Reject)の可能性を有するプロトコルについて言及しておく。本出願人が先行の特許明細書において、場合によっては受信されるがもはや必要とされないデータパケットを拒絶できることを既に指示しているが、これもついても同様に言及しておく。ここでは単に例として、例えばハイパースレッディング、プロセッサ結合などと関連した他の目的のため、例えばリコンフィギュラブルなアーキテクチャに関する使用目的に関して同様に包括的に関連するPCT/EP2004/003603(PACT50/PCTE)についても言及しておく。それらは開示を目的としてその内容全体を本願の参考文献とする。
セルエレメントを以下のものとして形成することができる、および/または、セルエレメントは以下のものを含むことができる:ALU−PAE、EALU−PAE、RAM−PAE、RAM+ALU−PAE、機能多重化(funktionsfaltende)PAE(DE10 2005 005 766.7、DE10 2005 010 846.6、DE10 2005 014 860.3、DE10 2005 023 785.1、EP05 005 832.0、EP05 019 296.2、EP05 020 297.7、EP05 020 772.9、(PACT62ff)を参照されたい)、グラフ多重化(graph-faltend)PAE、命令線路を介して接続されているシーケンサ構造ならびに、例えばALU、リングメモリのようなメモリなど、殊に複数のポインタを備えたその種のもののようなコンフィギュレート可能または調整可能なユニットに加え、その機能が固定的に一度だけ規定された部分、例えば有利には殊に高速なコンフィギュレーション方法を殆ど使用せずに、また有利には使用せずにリコンフィギュレーション可能なFPGAのようなグループを規定しているFPGAのような論理回路、および/または、例えばRS232、LAN、VGA、XVGA、DVI、USB、S/PDIF、Firewire、RAMBUSなどのような所定のI/Oプロトコルのために使用することができるASICのような機能が固定的な論理回路も有することができるPAE。
さらには、セルエレメントに属することができるASICのような論理回路を用いて固定の機能、例えばASICのようなプログラミング可能なDCTアルゴリズム、FIRフィルタまたはIIRフィルタ、VITERBIアルゴリズムなどを使用することができ、このことは例えばHDTV、カメラ、基地局、移動電話、無線受信器(ソフトウェア的に定義されたラジオ)、スマートアンテナ、CODECおよび/またはそのための部品用の汎用プロセッサ、汎用コプロセッサ、マイクロコントローラ、シーケンサ、画像加工部および/または画像処理部における種々の用途にとって重要である。
この種の構造および構造の作動方法を使用できるようにするためには相応のハードウェアを構想しなければならず、またこのハードウェア上で実行されるデータ処理プロセスを規定しなければならない。
従来のアーキテクチャ、プロトコルなどを有するハードウェアを構想し、そのためにプログラムを記述することは既に問題なく可能であることは経験上分かっている。アーキテクチャのためのプログラムに関係することは、殊に言語NMLならびにそのために存在する資料、マニュアルまた一般的な説明に指示される;プログラミング言語自体は公知であり、必要に応じて特別なアーキテクチャにも適用できることを言及しておく。単なる例に過ぎないが考えられる関連するプログラミング高級言語としてBASIC、LISP、COBOL、PL−M、ADA、ALGOL、FORTRAN、BASH、TCLが挙げられるが、しかしながらまたJAVA、C++、PASCAL、OBERON、EIFFEL、PERL、A、B、XML、UMLのような種々の方言におけるCも挙げられる。
それにもかかわらず、冒頭で述べた構造およびアーキテクチャを構想する際、および/または、その使用可能性に関して少なくとも部分的に改善が実現されることが望ましいであろう。
設計フローに関する従来技術の方法が図1に示されている。図1は、上記の記述の意味におけるリコンフィギュラブルなアーキテクチャの公知の作成およびプログラミング方法を示す。図面の右側には、殊にALU−PAE定義、RAM−PAE定義などに関連する比較的大きいチップのためのモジュールを含むライブラリが設けられている。これらの種々の定義はXPPジェネレータにおいて必要とされるように、また所定のように組み合わされ、続けてXPPジェネレータから得られる出力に関する合成を行い、その合成結果に基づいて合成されたハードウェアに関するマスクセットが形成され、それによりチップを製造することができる。
図面の左側には、NMLのような言語での複数のプログラムのためのライブラリ(ソフトウェアパーツ)が設けられており、これらの特別な言語は前述のように本出願人による他の刊行物から公知である。続いて、この種のライブラリソフトウェア部分を使用してプログラムが記述されるが、ライブラリに含まれていないソフトウェアパーツも勿論付加的に使用することができる、および/または、専ら使用することができる。続いてプログラムがコンパイルされる。ここでコンパイルには配置および配線も必要に応じて含まれるべきである。このためにコンパイラは実際の目標ハードウェア構想に関連する情報を必要とする;コンパイラはその種の情報も有する。コンパイラによって生成された1つまたは複数のコンフィギュレーションがランタイムコンフィギュレーションとしてハードウェアにおいて実行される。
ハードウェアを構想する際にいわゆるボトムアップアプローチを行うことも既に提案されている(WO2004/114166を参照されたい)。この刊行物においては、メッセージパケットに基づき動作するためにそれぞれ構造化されている複数のハードウェアオブジェクトの記述ライブラリを有する集積回路開発システムが提案されている。各オブジェクトは比較的似ている電気的な負荷特性を有するべきである。また集積回路開発システムはさらにモデラを有し、このモデラはライブラリを参照し、記述のうちの1つをインスタンス化する命令を受け取るため、また生成された2つまたはそれ以上のインスタンスを相互に結合するコマンドを受け取るために構造化されるべきである。インスタンス化されたハードウェアオブジェクトのこの公知の方法による手間のかかるプログラミングでは、それ自体がインスタンス化されたハードウェアオブジェクトの抽象化であるべきソフトウェアオブジェクトのコレクション、リストアップされたハードウェアオブジェクトを結合するための規則のリストおよびリスト化されたハードウェアオブジェクトにロードされるべき指示ファイルが受け入れられるべきである。各ソフトウェアオブジェクトはソフトウェアオブジェクトにおいて使用されるハードウェアオブジェクトのリストを有するべきである。物理的にインスタンス化されたハードウェアオブジェクトのコレクションの記述が受け入れられるべきである。ハードウェアオブジェクトのリストからなる物理的にインスタンス化された各ハードウェアオブジェクトに識別子が割り当てられるべきであり、また指示ファイル内のシンボリックな情報を置換するために、物理的にインスタンス化されたハードウェアオブジェクトのコレクションに関する初期化ファイルが識別子を使用して生成されるべきである。前述のWO2004/114166による技術は殊に、実際にハードウェアとソフトウェアが同形(Isomorphismus)とされ、排他的には主張されないということを必ずしも仮定できず、またさらにはシステムに応じて構成された用途では不要な余剰のハードウェアをシリコンチップ上に設けなければならないことが多いので不利である。それと同時に、WO2004/114166による公知の方法では予め規定された変更不能なハードウェアモジュールから構成されているハードウェアオブジェクトの最適な実行速度を実現することは保証されていない。
さらに、参照したWO2004/114166による従来技術ではハードウェアエンジニアが依然としてハードウェアを構想しなければならない。専用用途のためのチップの構成を専用用途のプログラマに完全にまたは少なくとも大部分任せることは不可能である。
本発明の課題は、産業上の用途のための新規な方法を提供することである。
以下では図面を参照しながら本発明を単に例示的に説明する。図面において、
図1は従来技術による構成を示す;
図2は、ハードウェアを作成および/またはプログラミングするための本発明による改善された方法を示す。
図1は従来技術による構成を示す;
図2は、ハードウェアを作成および/またはプログラミングするための本発明による改善された方法を示す。
以下において詳細に説明する図2は、図1にも示した従来技術から公知であるような設計フローの本質的な部分を示すが、この設計フローは本発明によるやり方で補間および拡張ないし変更されている。以下の説明から明らかになるように、次の事項が非常に重要である。
先ず高級言語プログラムが提供され、この高級言語プログラムにおいては差し当たり必ずしも実際のハードウェア特性を関連付ける必要はない。このプログラムを従来の高級言語、例えばC++、JAVA、MATLABなどで記述することができる。すなわちプログラミングにおいては抽象化されて各ハードウェアによって処理され、したがってここでは完全なハードウェア抽象化言語、少なくとも部分的なハードウェア抽象化言語が有利には使用されるが、これは必ずしも必要ではない。このハードウェア抽象化プログラムないしこれらのハードウェア抽象化プログラムは有利には、個々のオブジェクトについて複数のヴァリエーションを有することができるほぼ最大限に自由なハイパーセット、すなわち考えられるハードウェアオブジェクトのスーパーセットに関連付けられ、それ自体公知のように翻訳される。前述のヴァリエーションは例えば有利には、パラメータによって決定できるやり方で1つまたは複数の特性を異ならせることができる。ハードウェア抽象化高級言語プログラムが考えられるハードウェア構造などのほぼ最大限に自由なハイパーセットに関連付けられ翻訳され、このために変換コンパイラが使用される場合には、これらのハイパーセットに関してパラメータ化された複数のPAEなどに基づき、ソフトウェアライブラリに格納されている適切なモジュールを使用することができる。ライブラリ内のモジュールをハイパーセットのパラメータ化されたエレメント、またはさらにパラメータ化可能なエレメントに関して決定することができ、また前述したように変換コンパイラによって行われる記述の翻訳として、機械的なコーディングによって、また必要に応じて所望のように完全におよび/または部分的に手動的なコーディングによって形成することができる。機械的および/または手動的な翻訳の際にモジュールを使用することは必ずしも必要ではないということを言及しておく。
パラメータ化をインタラクティブにプログラマによって、殊に配置ツールおよび配線ツールとのインタラクションによって行うことができるが、パラメータ化はそのようなツールによって必要に応じて完全に自動的に提案され、また必要に応じて確認のみが行われ、および/または、確認なしで規定される。択一的に、必要に応じてインタラクティブでもよい、および/または、配置ツールおよび配線ツールの制御および調整下での発見的な方法も考えられる。発見的な方法においては、プログラマ定義環境およびハードウェア定義環境において配置ツールおよび配線ルールまたは他のツールを用いてインタラクティブなやり方を実施することができ、この種の繰り返しは手動、半自動、および/または、択一的に殊に有利には全自動で行うことができることを言及しておく。
ヒューリスティクスにより目標量を設定することができ、この目標量は反復により、例えばテストにより達成されるべきものである。開示を目的として「焼きなまし法(simulated annealing)」を明示的に言及しておく。
焼きなまし法の他にも遺伝的アルゴリズム(genetic algorithm)のような発展的な方法も勿論問題なく適用することができる。
その他の点に関して、本明細書において「ほぼ最大限に自由」とはハイパーセットについて一般的に使用可能なオブジェクトに関する制限の数が可能な限り少ない、すなわち最大限に多くの自由度が残されたままであることを意味している。しかしながら可能な限り多くの自由度が要求されるにもかかわらず所定の要因によって、例えば目標の半導体におけるモジュールの構築可能性によってこれらの制限は必要であることも考えられる;したがって「ほぼ」最大限に自由であるとしか表記しない。その他の点に関しては、特定のケースにおいてほぼ最大限に自由なハイパーセットは単に、しかしながら十分且つ多くのパラメータでパラメータ化可能なPAEを有していれば良く、これらのパラメータからパラメータ化により相互に異なる多数のPAEを導出できることを言及しておく。
高級言語プログラムに由来するハイパーセットを使用し、したがって従来技術に対し新規性がありまた発明性のある本発明によるやり方で生成されたこのプログラムに基づきさらなる改善を達成することができる。先ず、後にプログラムを実行するハードウェアにおいて、リコンフィギュラブルなフィールドで処理すべき他のほぼ全てのタスクに対してもプログラミング可能ないしコンフィギュレーション可能に使用することができる、一般的な目的のために設けられたエレメント、ハイパーセットから選択されたエレメント、またパラメータ化などによって完全にハードウェア構造において規定されたエレメントによって処理されるようにするためではなく、単独および/または一緒に、専用化によって特定され最適化された、もしくは最適化可能なハードウェア装置においてインプリメントされるようにするために複数のプログラム部分から所定のプログラム部分を選択することができる(図面において順番に右に向かう)。これに関して図2においてはプログラム部分f(3)、f(n)、f(n−2)が選択されている。典型的にその種のプログラム部分は、ハイパーセットにおいて記述された、またはハイパーセットを用いて記述可能な、殊にパラメータ化により完全に記述可能なエレメント、例えばALU−PAE、グラフ多重化PAE、機能PAE、MAC−PAE、RAM−PAE、ROP−PAEおよび/または入力・出力PAEの少なくとも部分的にコンフィギュレーション可能なセットからなる、XPPフィールドなどのための複数のコンフィギュレーションまたはコンフィギュレーション部分または単一のコンフィギュレーションでよい。インプリメントすべきモジュールの種類の選択を種々のやり方で行うことができる;ここでは単なる例として以下の可能性を挙げるが、本発明の実際に有利な実施形態においてはそれらの可能性のうちの1つのみが専ら使用されるのではなく、それらの可能性のうちの複数または全てを同時的または連続的なインプリメントのためにプログラム部分のハードウェアモジュールとして設けることが可能であり、また有利であることは明らかである:
−プログラム部分の手動の選択。このことは殊にプログラムコード内に適切なテキスト部分を挿入することによって、例えば制御記号を挿入することによって行うことができる;
−プログラムコード全体において殊に頻繁に現われる、および/または、実施されなければならないプログラム部分、もしくは製造すべきハードウェアにおいて相互に依存せずに実施されるべき複数のプログラムコードにおいて実施されると思われるプログラム部分の選択、すなわち実行時間および/または実行頻度に応じた選択;
−他のエレメントに比べて他の場合には単に弱いクロック周波数で実行可能であるか、より高いクロック周波数で実行可能であることを識別できるモジュール、すなわち性能にとって重要であることが明らかなプログラム部分;総じて所定のプログラム部分を所定のハードウェアの一部において実施できるようにするためにこの種のプログラム部分の選択は好適となる;
−選択されなければ製造すべきハードウェアにおける殊に大きな損失出力を生じさせる可能性があるパラメータ部分の選択;
−ハードウェアチップの殊に大きな面積を必要とすることになる可能性があるプログラム部分;
−殊にプログラムコードに基づいた(単独でも可能である)パラメータ化を実現する発見的な方法にしたがった選択。
−プロファイリングまたは同等の技術によるプログラム部分の選択;専用ハードウェアモジュールが別個に提供される部分、例えば上述のパラメータに関して該当する実施可能性、使用可能性などをソースコード分析に基づいて識別することができる。択一的および/または付加的に、必要に応じてプログラムの実行中にプロファイリングを行うことも可能である。例えば、どのプログラム部分、サブプログラム部分、コンフィギュレーション、コンフィギュレーション部分などが殊に頻繁に実行されるか、性能にとって重要であるか、面積に関して重要であるか、多数および/または長時間のメモリアクセスが必要であるか、種々のコンフィギュレーションにおいて殊に頻繁に使用されるかなどを分析することができる。その種のプロファイリングの利点は、複数のプログラムを呼び出す典型的な用途に関して、例えばサーバ、ラップトップまたはワークステーションにおける汎用プロセッサとしてのプロセッサの用途、一人の使用者または典型的な使用者に対して最適化されているプロセッサ、コプロセッサを規定できることにある。確かにこの種のプロファイリングはシミュレータにおいても実施することができるが、トップダウンアプローチの本発明による技術の特別な利点は、差し当たり既に高性能で、したがってリアルタイム条件が設定されたチップを使用できることであり、これがプロファイルを検出すべきユーザに妨害なく提供される。すなわち目標アーキテクチャを使用することにより、この目標アーキテクチャを性能損失なく、むしろクリティカルなパラメータに関した性能の改善のもとでどのように設計変更プロセスに可能な範囲で最善に使用できるかを識別することができる。所定のプログラム部分およびハードウェア部分の記述の定義の選択によって可変の回路を定義するために、ハードウェアモジュールの定義によって、後の所望のアーキテクチャに正確に対応する本明細書において記述する回路を除いた実際の目標アーキテクチャを基礎とするものもそれ自体で発明性があると見なされることを言及しておく;殊にこれに関して、および/または、その態様の一部に関して分割出願などの提出も準備されている。複数のプロファイルを中央ユニット、例えばプロセッサ製造メーカに伝送することによって、殊にインターネットを介して伝送することによって連続的な処理を改善できることを言及しておく。このことは例えば標準プログラムおよび他のプロセッサに対して使用することができる。
高級言語プログラムに由来するハイパーセットを使用し、したがって従来技術に対し新規性がありまた発明性のある本発明によるやり方で生成されたこのプログラムに基づきさらなる改善を達成することができる。先ず、後にプログラムを実行するハードウェアにおいて、リコンフィギュラブルなフィールドで処理すべき他のほぼ全てのタスクに対してもプログラミング可能ないしコンフィギュレーション可能に使用することができる、一般的な目的のために設けられたエレメント、ハイパーセットから選択されたエレメント、またパラメータ化などによって完全にハードウェア構造において規定されたエレメントによって処理されるようにするためではなく、単独および/または一緒に、専用化によって特定され最適化された、もしくは最適化可能なハードウェア装置においてインプリメントされるようにするために複数のプログラム部分から所定のプログラム部分を選択することができる(図面において順番に右に向かう)。これに関して図2においてはプログラム部分f(3)、f(n)、f(n−2)が選択されている。典型的にその種のプログラム部分は、ハイパーセットにおいて記述された、またはハイパーセットを用いて記述可能な、殊にパラメータ化により完全に記述可能なエレメント、例えばALU−PAE、グラフ多重化PAE、機能PAE、MAC−PAE、RAM−PAE、ROP−PAEおよび/または入力・出力PAEの少なくとも部分的にコンフィギュレーション可能なセットからなる、XPPフィールドなどのための複数のコンフィギュレーションまたはコンフィギュレーション部分または単一のコンフィギュレーションでよい。インプリメントすべきモジュールの種類の選択を種々のやり方で行うことができる;ここでは単なる例として以下の可能性を挙げるが、本発明の実際に有利な実施形態においてはそれらの可能性のうちの1つのみが専ら使用されるのではなく、それらの可能性のうちの複数または全てを同時的または連続的なインプリメントのためにプログラム部分のハードウェアモジュールとして設けることが可能であり、また有利であることは明らかである:
−プログラム部分の手動の選択。このことは殊にプログラムコード内に適切なテキスト部分を挿入することによって、例えば制御記号を挿入することによって行うことができる;
−プログラムコード全体において殊に頻繁に現われる、および/または、実施されなければならないプログラム部分、もしくは製造すべきハードウェアにおいて相互に依存せずに実施されるべき複数のプログラムコードにおいて実施されると思われるプログラム部分の選択、すなわち実行時間および/または実行頻度に応じた選択;
−他のエレメントに比べて他の場合には単に弱いクロック周波数で実行可能であるか、より高いクロック周波数で実行可能であることを識別できるモジュール、すなわち性能にとって重要であることが明らかなプログラム部分;総じて所定のプログラム部分を所定のハードウェアの一部において実施できるようにするためにこの種のプログラム部分の選択は好適となる;
−選択されなければ製造すべきハードウェアにおける殊に大きな損失出力を生じさせる可能性があるパラメータ部分の選択;
−ハードウェアチップの殊に大きな面積を必要とすることになる可能性があるプログラム部分;
−殊にプログラムコードに基づいた(単独でも可能である)パラメータ化を実現する発見的な方法にしたがった選択。
−プロファイリングまたは同等の技術によるプログラム部分の選択;専用ハードウェアモジュールが別個に提供される部分、例えば上述のパラメータに関して該当する実施可能性、使用可能性などをソースコード分析に基づいて識別することができる。択一的および/または付加的に、必要に応じてプログラムの実行中にプロファイリングを行うことも可能である。例えば、どのプログラム部分、サブプログラム部分、コンフィギュレーション、コンフィギュレーション部分などが殊に頻繁に実行されるか、性能にとって重要であるか、面積に関して重要であるか、多数および/または長時間のメモリアクセスが必要であるか、種々のコンフィギュレーションにおいて殊に頻繁に使用されるかなどを分析することができる。その種のプロファイリングの利点は、複数のプログラムを呼び出す典型的な用途に関して、例えばサーバ、ラップトップまたはワークステーションにおける汎用プロセッサとしてのプロセッサの用途、一人の使用者または典型的な使用者に対して最適化されているプロセッサ、コプロセッサを規定できることにある。確かにこの種のプロファイリングはシミュレータにおいても実施することができるが、トップダウンアプローチの本発明による技術の特別な利点は、差し当たり既に高性能で、したがってリアルタイム条件が設定されたチップを使用できることであり、これがプロファイルを検出すべきユーザに妨害なく提供される。すなわち目標アーキテクチャを使用することにより、この目標アーキテクチャを性能損失なく、むしろクリティカルなパラメータに関した性能の改善のもとでどのように設計変更プロセスに可能な範囲で最善に使用できるかを識別することができる。所定のプログラム部分およびハードウェア部分の記述の定義の選択によって可変の回路を定義するために、ハードウェアモジュールの定義によって、後の所望のアーキテクチャに正確に対応する本明細書において記述する回路を除いた実際の目標アーキテクチャを基礎とするものもそれ自体で発明性があると見なされることを言及しておく;殊にこれに関して、および/または、その態様の一部に関して分割出願などの提出も準備されている。複数のプロファイルを中央ユニット、例えばプロセッサ製造メーカに伝送することによって、殊にインターネットを介して伝送することによって連続的な処理を改善できることを言及しておく。このことは例えば標準プログラムおよび他のプロセッサに対して使用することができる。
この関係においてその他の点については、プロファイリング毎に得られるデータに基づいて手動の選択が行えること、および/または、自動化された選択が行えることを言及しておく。
選択の際に専ら1つのパラメータだけを顧慮する必要はないことを言及しておく。むしろ、例えばファジーロジックの方法を使用することも考えられ、殊に適切な重み付けを用いて、および/または、非線形のやり方で上述の制御パラメータのうちの複数または全てを考慮することもできる。選択されたプログラム部分は差し当たり既知のハイパーセット内に存在するPAEであり、これらのPAEは前述のPAEの他に、前述のPAEの機能を組み合わせたものからなるPAE、すなわち、例えばパラメータ化可能なALUのセット、パラメータ化可能なビット幅、またパラメータ化可能な機能範囲を有するパラメータ化可能なまたはパラメータ化されたPAEを有することができ、これらのPAEには機能多重化エレメント、パラメータ化可能なエレメント、例えばビット幅に関してパラメータ化可能なエレメントおよび/または殊に1つまたは複数のALUからのポインタおよび/または命令制御線路を有するパラメータ化可能なメモリ領域、または、シーケンサないしマイクロプロセッサを実施するためのPAE内の他のデータ変更部分、入力・出力エレメントなどが属することができる。
さらにパラメータ化可能なハイパーPAEの例は図面のうちの1つに示されている。そこでは種々のパラメータ化可能なユニット、例えばm個の入力側の備えたバス入力側が見て取れる。ここでmはパラメータを表す。すなわちm個の異なるオペランドをPAEに供給することができる。バスはそれぞれkビット幅である。ここでkはやはりパラメータを表す。またn個の異なるバスが設けられており、それらのバスのうちm個の異なる入力側がアクセスされる。バスの総数であるnもパラメータを表す。PAE内には例示的に種々のオペランド結合ユニットが示されており、図3の実施例においては組み合わされたネットワークを有する除算器、乗算器、ALU段、ブールロジック、バレルシフト段(バレルシフタ)ならびに浮動小数点ユニットが示されている。前述のユニット自身もやはりパラメータ化可能であり、例えば8ビットレベル、16ビットレベル、32ビットレベルまたは64ビットレベルまたは勿論その他のビットレベルでもよいオペランド幅に関してパラメータ化可能であることを言及しておく。さらには、例えばALU、浮動小数点ユニットなどの機能範囲もパラメータを介して定義することができる。図面を明瞭にする理由から、所定のエレメント、省略されたエレメント、同じくハイパーPAEにおいて設けることができるエレメント、例えばシーケンサユニット、機能多重PAE(PCT/EP03/09957を参照されたい)を設けてもよいことを言及しておく。殊にこの関係において、PAEのための種々の論理エレメント、例えばFPGAのような構造、SIMD−ALUなどが開示されている、本出願人の先行の特許文献を言及しておく。これらの特許文献の開示内容全体を本願の参考文献とする。
パラメータ化可能な機能範囲に関して、単なる例として浮動小数点ユニットはフローティングポイントユニットでよく、これはさらにパラメータ化可能な定義における以下の結合のうちの少なくとも1つ、有利には複数の結合を行うことができる:乗算、加算、減算、除算、浮動小数点結合、検査テーブル、必要に応じて例えばテイラー級数のための三角関数(正弦、余弦、正接)計算、逐次計算のような所定の関数のための補間可能性も用いる。所定の近似/補間のために特別なハードウェアを設けることができ、またさらに有利にはデータワード幅に関する浮動小数点ユニットの仮数および/または指数形式のパラメータ化も行うことができる。
その種のハイパーPAEのためのパラメータ化可能なライブラリは例えば、いわゆるIfDef構成が使用される構成を使用することができる。これは、相応の定義が例えばパラメータの設定、例えば機能範囲の設定によって行われている限り、(実際にチップ上に設けることができるハードウェア回路に)単なる翻訳の所定のプログラム部分を供する。このことは、PAEにおける種々のマルチプレクサ段、出力などのパラメータ化と同じように、異なる深さに設定することもできるコンフィギュレーションレジスタのようなハイパーPAEの量およびエレメント、場合によってはPAEにおいてインプリメント可能なプロトコル(RDY/ACK、クレジットプロトコル、RDY/ABLEを参照されたい)などに関しても可能であることを言及しておく。
電力消費、面積効率または実行性能のような予め選択されたクリティカルな判定基準のうちの幾つかの判定基準に関して所望の改善を達成するために、および/または、例えば性能の高さにとって決定的なプログラム部分において出力および/または面積が重要でない場合に、複数の領域のうちの少なくとも1つの領域における殊に大きな改善を場合によっては別の領域を改善しながら、もしくは別の領域を完全に無視しながら達成するために、有利な実施形態においては、有利には自動化された変換ステップ、および/または、部分的に自動化された変換ステップが実施される。これは図面においてNML2Vと示されており、変換ステップを表す。この変換ステップにより選択されたプログラム部分について、必要に応じて選択理由を考慮して、ハードウェア言語記述が決定される。ハードウェアモジュールに関するプログラム部分が選択された状況を考慮して、ハイパーセットにおける1つまたは複数のエレメントに関して、同一の翻訳を発見することが可能である。すなわち、VERILOGのようなハードウェア記述コードへの変換の際にエラーが発生しないことが保証されており、このことは中間的に実行可能なシミュレーションステップによって確認することができ、これは望ましいことである。したがって、1つまたは複数の種々のコンフィギュレーションにおけるパラメータ化されたPAEの相応の機能を有するハードウェア記述コード、例えばVERILOGコードが差し当たり得られる。
ハードウェアモジュールをインプリメントするために使用されるプログラム部分を規定する際にハイパーPAEを使用しても驚くべきことにハードウェアコードについてのコンバータにとって妨げとならないことが分かる。このことは、変換コンパイラのための本来のプログラムを決定する際に既に、パラメータ化可能な特性のうちの所定の特性、例えばPAEのビット幅が確定されていなければならないが、他方では他の特性、例えば本来の機能範囲、すなわち例えばALU−PAE内に除算器段、乗算器段、加算器段および/または減算器段を設けるかはまだ確定しなくてよいということに理由がある。換言すれば、変換コンパイリングと同時にほぼ最大限に自由なハイパーセットがパラメータ化された、および/または、部分的にパラメータ化されたハイパー部分セットに縮小される。殊に低い自由度が設定されており、したがって修正の必要はない。例えばセルについてのバス幅を既に確定することができる;VERILOGコンバータなどに従うNMLコンバータ、より一般的にはハードウェア言語記述作成コンバータには、既に確定されたパラメータ、例えば変換コンパイリングの際に確定されたパラメータが提供され、このことは例えばコメント行の形でのプログラム部分の相応の指示、および/または、本来のプログラム部分とは分けられた別個のデータを用いたプログラム部分の相応の指示によって行われることを言及しておく。したがって変換コンパイラはパラメータ化情報を形成するよう基礎となるハードウェアによって設計されている。従来のコンパイラとは異なり、ハードウェアを記述する、すなわち自由度を記述するコードも生成される。
ハードウェアモジュールを最適にインプリメントするべきプログラム部分はここでPAEに関して確定されたパラメータを有しているだけでなく、それと同時に、ハードウェアモジュールへと変換されるべきプログラム部分内の所定のPAEがどのコンフィギュレーションにおいて作動されるべきかが明らかである。このコンフィギュレーションにより、PAEの所定の部分は使用されないということが場合によっては直接的に分かる結果となる。これは例えば、確かに変換コンパイラには依然として他のプログラム部分のために浮動小数点ユニットを設けておく必要があるが、ハードウェアモジュールに変換すべき目下考察しているプログラム部分においては浮動小数点演算が必要ない場合である。ここでの考察のために(シーケンサのようなPAEないしシーケンサのように動作するPAEのために逐次的に処理すべき複数のコンフィギュレーションがPAE内に存在することができるということを言及しておく)確定しているコンフィギュレーションはしたがって、所定のユニットは必要とされず、また例えばオペランド結合段の後段に接続されており、どのオペランド結合ユニットがその1つまたは複数の出力を出力領域に供給するかを選択するマルチプレクサも不要または部分的に不要であることを明らかにできること示唆する。したがって通常の場合は、典型的なPAEの複数のオペランド結合ユニットの後方に典型的に配置されているマルチプレクサを所定のハードウェアモジュールにおいて容易に簡略化することができる。ハイパーPAEないしほぼ最大限に自由なハイパーPAEのセットを使用してハードウェアモジュールを決定する際にマルチプレクサ段および/または完全なマルチプレクサユニットを除去してもそれ自体は発明と見なされる。実行すべきコンフィギュレーションにおける必要ないPAE内のエレメントの除去をNML2Vコンバータによって、すなわち同型のハードウェア簡略化手段において行えること、および/または、必要ないものとして除去すべきハードウェアエレメントの選択を合成の過程においても行えることを言及しておく。その他の点においては、ハードウェアモジュールもしくはこのハードウェアモジュールに関する特定の部分においてコンフィギュレーションレジスタは必ずしも、より明瞭にするために例示的に示したような一定の値を維持する必要はないことを言及しておく。むしろ、ハードウェアモジュールに関して個々のエレメントの動作様式のウェーブ状の変更ないしリコンフィギュレーションおよび/または動作様式の制限された変更が例えばその上または下にあるデータ処理段に依存して必要である場合にはコンフィギュレーションレジスタ内に複数の考えられるコンフィギュレーションを格納することができる。このような事前に格納されたコンフィギュレーションのもとでの選択は本出願人による別の特許明細書に開示されており(殊に、しかしながら専らPCT/DE98/00334(PACT08/PCT)を参照されたい)、その開示内容全体を本願の参考文献とする。その他の点に関しては、トリガベクトルなどだけを伝送できるのではなく、必要に応じて、ハードウェアモジュール内および/または外部から相応に限定された機能範囲において、コンフィギュレーションデータとして作業指示(命令など)を理解できるデータ、および/または、殊にオペランド間でセットされている相応の指示を包含できるデータも直接的にユニットに伝送できることも言及しておく。その他の点に関して、定義されたハードウェアモジュール上では依然として自由に定義可能なコンフィギュレーションを処理可能であるようにハードウェアモジュールを定義することもでき、自由に定義可能なコンフィギュレーションは個々のエレメントにおいて低減された機能セットにアクセスする、および/または、そのように定義されたハードウェアモジュールの個々のエレメント間において、例えば多数のセルにわたり延びる包括的なバスコネクションの代わりに、直近の隣接セルとのコネクションにのみ関する制限されたコネクティビティを設けることができ、それにもかかわらず多次元のコネクティビティ、すなわち必要に応じて2次元を明らかに上回る次元のコネクティビティおよび/または環状コネクティビティ、また多次元の環状コネクティビティもインプリメントできることを言及しておく。
NMLV2コンバータのそのように有利には自動的に生成されるハードウェア記述コードが本発明の殊に有利なヴァリエーションにおいて最適化される。この最適化においては一方でパラメータ化されたPAEにおけるそれぞれの機能に関して必要ないレジスタ、結合ユニットなどを取り除くことができるべきである;この関係において本出願人の先行の特許文献について言及しておく(PCT/EP03/08080(PACT30/PCTE)およびPCT/EP03/08081(PACT33/PCTE)を参照されたい)。これらの特許文献においては、各ASIC構造のためのマスク構成を必要とすることなくASIC機能を備えたチップを問題なく構成できるようにするために、フィールドまたは単一のPAEのコンフィギュレーションがヒューズ、すなわち溶断可能なエレメントなどを一度だけ使用することによって確定されることが提案されており、しかしながらこの公知のヴァリエーションにおいては必要のない機能エレメントがALUまたはPAEの他のユニット内に残っている可能性がある。例えば、減算器、除算器、加算器および乗算器を包含するALUを備えたPAEが加算器を使用するために固定的にコンフィギュレーションされた場合には、乗算器を形成するために使用されるシリコン面がそれにもかかわらず設けられなければならなかった。本明細書および本発明は殊に1つの態様によりこれを回避することを目標とし、このことは専用ハードウェア領域の大きさの低減、したがって必要に応じて実行速度にも寄与する。パラメータ化可能なハイパーPAEおよび既に部分的にパラメータ化されたハイパーPAEの相応の変更はリタイミング(Re-Timing)段において行われ、このリタイミング段において先ず不要なレジスタが除去される。レジスタの除去により先ずPAE定義の使用によって予めカプセル化された機能部分のカプセル化が解除される。しかしながらこのことは決してクリティカルではなく、それどころか逆に一連の適切でインテリジェントな構想においては非常に有利である。
これと共に本発明により提案される一連の構想は、従来技術において必要とされる煩雑なカプセル化の解除、例えば適切なプロトコル、例えばRDY/ACKプロトコルを介してのみ有意義に制御することができる入力・出力FIFOおよび/またはレジスタによるカプセル化の解除を時代遅れのものにするインテリジェントな設計を内在的に含んでいる。このために例えば、先ず内部的なレジスタ、すなわち考察するセル間においてそれらの移行部に位置するレジスタが除去される。しかしながらレジスタの除去は全てのレジスタに対して隠れて行われるのではなく、むしろより正確には、除去することができるレジスタもしくはハードウェア部分内に残しておかなければならないレジスタの有利には容易に自動化された選択が行われる。ハードウェア部分内には差し当たり定数が残されるべきである。さらに、値をプレロードするためのレジスタ(PRELOADレジスタ)が除去されない場合には非常に有利である。別のレジスタは差し当たり所定の方法の実施においては必要とされない。
これは勿論装置全体のタイミング特性を変更する。ここで本発明によれば、それにもかかわらずレジスタを除去するが、考察するハードウェア部分を用いるデータ処理の正確な時間経過を保証するために合成ステップを実施することが提案される。したがって本発明によれば有利には合成ステップが実施される。このことは構成すべきハードウェアモジュールの入力/出力にも該当する。
適切なプロトコルによって、また適切なプロトコルに関して容易にバス固有のレジスタを使用でき、RAM−PAEにおけるデータの供給/読み出しが可能であり、および/または、総じて必要とされる限りは、プレロードメモリにおけるデータの供給/読み出しを行うことができ、またはしかしながら、例えば十分に公知のFORWARD−BACKWARDレジスタが他のPAEによる利用のためにも提供されるべきでない限りは、ハードウェア部分の最後と最初に入力・出力レジスタを設けることも可能であることを示唆しておく。有利な実施形態においてはRAMの一定の内容がROMによって実現される、もしくはその種のものにマッピングされる。
レジスタの除去はタイミング特性を変化させ、ここで考察する設けるべき回路の周波数特性を場合によっては著しく劣化させる可能性もある。これは適切な個所にレジスタを新たに使用することによって補償することができ、このレジスタは一定の規則にしたがい、例えば以前はより深いレジスタ段が設けられていた場所にそれよりも深くないレジスタ段を使用することによって配置されるか、しかしながらまたは、殊に有利には、周波数を高めるためにレジスタが必要とされる個所を識別するために、残存するハードウェア回路の信号伝播時間を考察することによって配置される。その種の方法自体は当業者であれば詳細な説明がなくとも実施することができる。
さらには、考察するソフトウェア部分は差し当たり平衡が維持されていると見なすことができる間は、通常の場合、PAE内もしくはPAE間の種々のデータ処理機能領域間にレジスタ段を設けることなどによって平衡が維持される、または平衡の維持を行っても良いことに注意すべきである。レジスタを最初に除去することによって、所定の個所に一緒に接続しなければならないデータ処理経路の考えられる平衡維持または既に与えられている平衡維持が損なわれる。ここで後続のレジスタ挿入ステップにおいては、場合によっては要求される必要な周波数上昇のみが維持されるだけでなく、それと同時にデータ伝播時間の補償調整(平衡維持)も達成されるように既に再び設けられているレジスタを配置することが試みられる。すなわち、所定のデータ経路の平衡が相互に維持されていることが示唆されている、ハードウェアモジュールにすべきプログラム部分を必要に応じて備えたプログラム部分にのみ基づいたリタイミングによって、レジスタ挿入によるリタイミング手段における自動的な平衡維持が指示される。
リタイミングにおいては例えば別のことも考慮しなければならない:パラメータ化されている場合であっても、ハイパーPAEは通常の場合、ハードウェアモジュールにおいて必要とされない機能を依然として有する。例えば、そもそも除算器が必要とされないプログラム部分に関してハードウェアモジュールが記述されることも考えられる。この場合、PAE内に除算器段は不要である。除算は所定の遅延、すなわち構造群における伝播時間を必要とする。この伝播時間は加算段における遅延時間よりもはるかに長くなる。パラメータ化されたPAEないしハイパーPAEの最初に行われるデータ伝播時間補償により、除算段の伝播時間も考慮されていることになる。しかしながらハードウェアモジュールにおいては所定の個所に除算段はもはや必要とされない場合、このことは認識され、有利にはその種の必要とされないユニットをPAEから除去することができる。これによりユニットを通過するデータの遅延が変化する。これに基づきハードウェアモジュールはリタイミングの際に適合されるべきである。しかしながら原則としてこのことは必ずしも必要でないことを言及しておく。複数のハイパーPAEから構成されているハードウェアモジュールの個々の段の間において不要なレジスタ段が除去される場合には既に所期の利点が得られる;しかしながら有利なケースにおいては、前述の除算器段の除去のように、ハイパーPAEからも不要な部分が除去され、このことは例えば合成の間に実施することができる。他の段、例えばメモリ段エレメント、乗算器、浮動小数点ユニットなども必要に応じて除去することができる。このこともまたリタイミングの際に考慮することができる。このために有利には合成が実施され、この合成により、必要な個所に自動的にレジスタを挿入するため、および/または、規則的なタイミング特性を保証するためにプログラマはどこにレジスタを挿入するべきかを指示するために、自動的にタイミング特性が分析される。
その他の点に関しては、前記において除算器段について言及したことを参照されたい。これに関して、またレジスタの除去可能性に関しては明示的に、しかしながら例示的に、プロトコルに関連するレジスタおよびデータ通信に関連するレジスタをモジュールまたはアレイ内に設けることができることを言及しておく;これらは差し当たり問題なく除去される。しかしながら除算では所定のレジスタが除去されるべきではない、および/または、レジスタを除去できないことが明らかである。ハードウェア内に設けることが可能な除算段が構成されるべき場合には除算を2つの方式に置換することができる。第1の可能性では、レジスタが必要とされない組み合わされたネットワークが設けられる。第2のヴァリエーションは、除算をマニュアルで計算するように値が反復的に何度も計算される逐次的な除算である。後者の場合には中間結果をレジスタに書き込む必要がある。このレジスタはアルゴリズム的に必要とされるので、リタイミングの際に除去されてはならない。除去しないことは例えば、変換コンパイラのコンパイルコードにおける本来的なプログラムのためには必要でないコメントでよい、ハイパーPAEのハードウェア定義コードにおける指示によって取り決めることができる;択一的および/または付加的に、最初に除去し、後に再び挿入することができるヴァリエーションも考えられる。
したがって殊に有利なヴァリエーションにおいては、レジスタの除去の開始時にレジスタが自動的に除去されないようにするために、所定のレジスタがアルゴリズム的に必要であるか否かについてハイパーPAEの特徴付けを行うことができる;択一的および/または付加的に、過剰なレジスタを除去する際に、データ上流側に位置する回路領域とのフィードバック部を備えたレジスタは除去されないという趣旨のもとで分析を行うことができる。この種のレジスタはすなわち自動的に、アルゴリズム的に重要なレジスタとなる。レジスタが対応付けられているアルゴリズムが実施されない場合には、アルゴリズム的に必要とされるレジスタであっても勿論除去できることを言及しておく;これは例えば、除算自体は構成すべきハードウェアモジュール内にインプリメントされていない場合に、ハイパーPAEにおいて一般的に逐次的な除算が行われるケースである。その他の点に関しては、本出願により設けられた標準PAEにおけるフィードバックがバックワードレジスタによってインプリメントされていることを言及しておく。レジスタが実際に所定のプログラム部分において必要とされる限りは、このレジスタを除去しない、または検査なしで除去しない、および/または、完全には除去しないことは有利である。
リタイマにより必要に応じてレジスタが挿入される。原理的には、レジスタをハードウェアモジュール内の任意の個所において必要とされるように使用できることを言及しておく。殊に、専ら性能効率を考慮しなければならない場合には、ハードウェアモジュール内に設けられている(パラメータ化された)ハイパーPAE内のレジスタを使用することができる。しかしながら、除去すべきハードウェアモジュール内の複数のハイパーPAE間のインタフェースに、差し当たり除去されているレジスタないしレジスタの部分が再び挿入される場合にはレジスタ挿入の簡単な方法が得られることを言及しておく。その理由とは、その挿入個所において自動的に挿入を行えるようにハイパーPAEの全体の出力定義全体が選択されていることにより、この個所においては最適な挿入を行うことができるからである。このことは相応の図面に示されている。図面においては、単に例示的にパイプライン状であり、単に例示的に分岐されていないハードウェアモジュールに関して、差し当たりレジスタがどのように除去されるかが示されている。それらのレジスタは「除去レジスタ」としてハッチングされて示されている。これらのレジスタはハードウェアモジュール記述のパラメータ化された形で使用されているハイパーPAEでは入力/出力プロトコルレジスタ、すなわち例えばハイパーPAEのFREG/BREGレジスタである。択一的に、FREG/BREGレジスタを備えていないPAEに、バスと接続されているPAEにおけるオペランド結合のためのALUと論理エレメントの直接的な接続経路内にプロトコルレジスタとして設けられているレジスタのみを設けることも可能である。殊にPCT/DE97/02949(PACT02/PCT)に開示されているOREGおよびRREGを参照されたい。ハッチングされて示されているレジスタの除去後に平衡の維持ないし所望の性能/面積効率/待ち時間を保証する新たに挿入されたレジスタは図面において点線で示されており、また「挿入レジスタ」もしくは、多段式のレジスタに関して「挿入FIFO」と表記されている。
予め定義されたハイパーPAE間へのレジスタ、FIFOなどの図示されている挿入は構造的な設計を単純化するだけでなく、基礎となるエレメントの伝播時間特性などがレジスタ除去ステップないしリタイミングステップの際に十分に既知であると見なされることからハードウェア内に設けられている回路における遅延時間の検査および算出も容易にし、このことは場合によってはリタイミングタスクへの着手も容易にするということを再度言及しておく。さらに、以前に使用されていた基礎となる(パラメータ化された)ハイパーPAE間にレジスタを挿入することは殊に面積効率がよい。何故ならば、例えばハイパーPAEにおける一般的なALUを使用する場合には、例えば殊に高い周波数を達成するためにその場所における挿入が容易に可能であるにもかかわらず複数のレジスタが必要とされるからである。さらにALUないしPAEコア内の部分における有利な効果は殆ど生じない。
その他の点に関しては、XPPフィールドまたは他のリコンフィギュラブルなユニットフィールドに対して予定されている動作周波数とは異なる動作周波数で動作できるようにハードウェアモジュールを構成することは容易に可能であることを言及しておく。一方では周波数を低く選定する、例えば待ち時間だけ低減する、面積を縮小する、および/または、電力消費を低減することができる。例えば同様に設けることができるリコンフィギュラブルなプロセッサフィールドとは異なるトランジスタのゲート厚のようなハードウェア定義により電力消費を低減するために処理できることを完全性の理由から一緒に開示しておく。純粋に電流を低減することを考察する代わりに、所定のケースにおいてはハードウェアモジュールを所定の周波数に関して設計することも可能であり、このことはハードウェアモジュールを用いる殊に高いデータスループットが必要とされ、および/または、非常に多くの計算を要するタスクが処理されるべき場合には殊に有利である。
その他の点に関しては、使用すべき、もしくは新たに挿入された、または再び挿入されたレジスタ段またはFIFO段は待ち時間に関して使用されるだけではなく、場合によってはレジスタを最初に除去することによって崩れたデータフロー経路の平衡を再び回復できることを言及しておく。差し当たりレジスタの除去後には平衡が維持されたデータ経路が自動的に存在しているが、場合によってはタイミング条件が遵守されないこともあることを言及しておく;付加的なレジスタを挿入することよって差し当たりタイミング特性が回復されるが、これによって個々のデータ経路間の平衡が崩れる可能性がある。しかしながらタイミング条件およびタイミング要求が回復された後にさらに平衡を維持するために、従来技術、殊に本出願人による平衡を維持するための技術を、殊に実行可能なコンフィギュレーションを算出するために例えばNMLコンパイラ用のコンパイラ構造においても使用されるアルゴリズムを用いて容易に使用することができる。殊に特許文献PCT/EP02/10065(PACT11/PCTE)、PCT/EP02/06865(PACT20/PCTE)、PCT/EP03/00624(PACT27/PCTE)、PCT/EP2004/009640(PACT48/PCTE)を参照されたい。これらの特許文献には平衡を維持するための方法が開示されている。
リタイマからの出力はハイパーPAEないしほぼ最大限に自由なハイパーセットのエレメントを使用することにより確実に実行できるハードウェアコードであり、このハードウェアコードはリタイミングによって周波数および/またはスループットが最適化されている。さらに自動的な面積最適化も行われる。ホストモジュールとしての新たなハードウェア領域のそのようにして得られた定義を[XPP]ライブラリに加えることができる。そのようにして決定されたハードウェアモジュール機能をXPPフィールド、またはより一般的にはリコンフィギュラブルおよび/または部分的にリコンフィギュラブルなエレメントのフィールドに集積するため、および/または、そのようなフィールドに接続するための複数の可能性が存在する。1つの可能性は例えば、中央機能としてALUまたは個々のシーケンサを有しているのではなく、ハードウェアモジュールの別個のハードウェア機能を有している完全なPAEを設けることである。その種のPAEにおいてPCT/EP01/08534(PACT14/PCT)に提案されているように、フィールドの他のPAEと同じような外に向かう幾何学また殊に端子幾何学が設けられる場合には殊に有利である。このことはフィールドの均一性が殆ど損なわれていないままであるという大きな利点を有する。択一的および/または付加的に、形状ファクタ(DE102 36 269.6およびDE102 38 172.0−53(PACT36および36I)を参照されたい)の相応の考慮を必要とせずに、別個のハードウェアモジュールが本来のフィールドの他にセットされることによって接続を達成することができる。一体的な製造を行うこと、および/または、部品を別個に製造し、続いてバスによって、RAMなどを介してリコンフィギュラブルなフィールドと通信させることも考えられる(SOC技術などを参照されたい)。
接続の別の可能性は図面に示されている。
図5aの左側にはXPPフィールドまたはFPGAフィールドと本発明のハードウェアモジュールとの組合せが示されている。ハードウェアモジュールのフィールドへの接続は入力経路および/または出力経路内のFIFOメモリを介して行われ、有利にはFIFOを介して双方向で行われる。原則として、本発明のハードウェアモジュール間または各ハードウェアモジュール間にFIFOメモリを設けることによって、殊に処理速度に関して独立した構成および交番的なクロックなどを可能にする分離効果が得られる。
しかしながら、交換されるデータパケットに個々のワードそれぞれにおけるパケットヘッダまたは付加的な識別ビットの形の識別情報が付加される場合には殊に有利である。このようにして、ハードウェアモジュールおよび/またはXPPモジュールないしFPGAモジュールを用いて、もしくは他のフィールドを用いて種々のタスクをマルチスレッド方式、ハイパースレッド方式、マルチタスク方式、タイムスロット方式または他の方式で実施し、FIFOを介して生じる結合が比較的緩いにもかかわらず、交換されるデータパケットまたはデータワードが受信器において、すなわちハードウェアモジュールないしXPPフィールドなどにおいて適切に処理されることも考えられる。
識別情報がハードウェアモジュールにおいて変更されないままである場合、および/または、処理結果を受信器、すなわち例えばXPPフィールドに返送した後に所属のデータパケットが所定のやり方で処理されるように、例えばこの所属のデータパケットが適切なコンフィギュレーションを用いてさらに処理されることによって処理されるように変更される場合には既に有用であることを言及しておく。
しかしながら択一的および/または付加的に、例えば僅かにしか変更できないハードウェアモジュールにおいて、例えば逐次的なオペランドの加算または減算を実施するか否かなどを選択するために、純粋な識別情報の代わりに、および/または、識別情報に付加的に制御命令などを一緒に伝送することもできる。このようにして、自己修正されたコードにまで及ぶプログラミングの高いフレキシビリティを達成することができる。
図5bには、入力経路および/または出力経路内にハードウェアモジュールを接続するために、FIFOとしてではなく、RAMメモリ、殊にそれどころかRAM−PAEとして構成されている複数の接続エレメントをどのように設けることができるかが示されている。これにより殊に、ハードウェアモジュールに関するフィールドからのデータの書き込みのため、またフィールドに関するハードウェアモジュールによる書き込みの際にも、すなわち一方ではデータをフィールドからハードウェアに伝送する場合、他方ではハードウェアモジュールからフィールドに結果を戻す場合にそれぞれ専用メモリ領域を設けることができる。これにより一方では種々のコンフィギュレーションを用いる処理が容易になり、他方では例えば専ら、また有利には第1のメモリ領域において処理される、すなわち読み出され書き込まれることによって、また第1のメモリ領域において十分頻繁にデータ処理が行われている場合、および/または、この第1のメモリ領域にデータは存在しない場合にのみ別のメモリ領域、したがって別のタスクが使用されることによって優先付けが実現される。
その他の点に関しては、XPPフィールドからのデータ入力およびXPPフィールドへの結果伝送が問題となるところでは、ハードウェアモジュールがXPPフィールドをフレキシブルなデータ処理エレメントとして使用できることによって逆の経過も考えられること、および/または、混合形態が可能であるところでは、すなわちデータが全体の処理に関してピンポンのように、またはあまり規則的でないやり方で往復するように移動されることを言及しておく。
図6aは1つのヴァリエーションを示す。このヴァリエーションにおいてはやはりデータがFIFOメモリを介して交換され、また殊に少なくとも入力経路内にFIFOメモリが存在するか、有利には出力経路内にもFIFOメモリが存在する。これに付加的に、ここではトリガベクトルが伝送される。トリガベクトルの意味および用途に関してはWO98/35299(PACT08/PCT)を参照されたい。所定のデータ処理またはプロセスをトリガするために交換されるトリガ情報ないし状態情報および/またはプログラミング情報と識別情報との組合せについてもここで再度明示的に言及しておく。
図6bにはデータ交換の際に「タイムスタンプ」、すなわちデータパケットの優先順位ないし時間妥当性が一緒に伝送されることが示されている;図6bに示されているケースにおいてはリードライトメモリ(RAM)にこのタイムスタンプが伝送される。一緒に伝送されるタイムスタンプを、後続のものとして処理が実行されるべきデータパケットを選択するために使用することができる。
このようにして、データ処理の殊に好適な制御が実現されることを言及しておく。データフローの処理の際にタイムスタンプがデータワードまたはデータパケットと共に送信される本来的な構成は既にWO02/071249に開示されている(PACT18/PCTE、Metzgerプロトコル;butcherプロトコル)。特許文献WO02/071249全体を参照により本願の参考文献としているが、タイムスタンプのデータパケットへの対応付けにより、後の任意の時点においてデータの順序を再構成する、および/または、再び確立すること、さらにはオペランドを必要とされるように相互に結合できるということを明示的に言及しておく。このことはオペランドを供給する分岐が待ち時間に関して平衡を維持している場合に殊に有利である。
図6bに関してはWO02/071249(PACT18/PCTE)を参照しており、他の図面に付いても同様に、図5aに関してはWO02/071248(PACT15/PCTE)およびWO02/071196(PACT25/PCTE)を参照しており、図5bに関してはWO02/071196(PACT25/PCTE)およびWO98/29952(PACT04/PCT)を参照しており、ならびに図6aに関してはWO98/35299(PACT08/PCT)およびWO02/071196(PACT25/PCTE)を参照していることを言及しておく。またこれらの文献の全範囲を参照により本願の参考文献とする。
その他の点に関して、本明細書において説明および開示した複数の結合方法は、例えばタイムスタンプなどを並行して一緒に伝送しながらRAM−PAEにFIFOを前置接続することによって組合せられることを言及しておく。
ハードウェアモジュールの物理的な接続可能性に関しては、これらのハードウェアモジュールがXPPまたは他のプロセッサフィールドの内部バスシステムへの包含によって接続可能である、および/または、必要に応じて束ねられた外部の入力/出力線路を介して接続可能であるということを言及しておく。例えば超細粒度フィールドにおいてハードウェアモジュールの接続を維持するために個々の複数の入力線路/出力線路をバスに統合するための可能性を言及しておく。この関係においてWO02/29600(PACT22aII/PCTE)ならびに優先権に関してこれと関連する並行する保護権を参照されたい。これらの開示内容全体を本願の参考文献とする。
図8には、XPPフィールドまたは他のフィールドにおける本発明のハードウェアモジュールまたはハードウェア部分の空間的な配置に関して、これらのハードウェアモジュールまたはハードウェア部分が列または行としてフィールの縁側に設けられることが示されている。勿論、必要に応じてその種のハードウェアモジュールまたはハードウェア部分によってフィールドを包囲することもできる、および/または、図8の左下に示されているように、個々のエレメントまたはフィールドグループをフィールドにわたり分散させることができる。択一的に、本発明によるハードウェアエレメントおよび/またはハードウェアエレメントのグループをXPPフィールドまたは他のフィールドの隣に配置してもよい、もしくは、相応の製造プロセスによって、そのフィールドの上または下に配置してもよいことを言及しておく。共通して製造された単一のチップ上に集積することによる有用性は、別個のエレメントを別々に製造して接続することと同様の可能性を表す。本発明のハードウェアモジュールが中間に配置されている列を形成し、縁側の列、辺縁および/またはフィールド内に設けられているエレメントを表すことによりそれらのハードウェアモジュールが密にフィールドと結合されているヴァリエーションにおいては、その配置が内部バスを介して接続されており、他方フィールドの隣の配置においてはI/O端子を介する接続が好適であると解される。縁側の配置においては択一的にI/Oポートおよび/または内部バスを介する接続を行うことができる。必要に応じて、フィールドエレメント間に配置されているハードウェアエレメントを越えてバス線路または他の線路を延ばせることも言及しておく。フィールド内に配置されるハードウェアエレメントを別個の線路によって必要とされるように接続することもできる。その他の点に関しては列での配置が明らかに有利である。本発明のハードウェア部分を有するデータ処理ユニットが何のために使用されるべきかに依存して、列の縁側の配置または中間の配置が好適である。
有利なヴァリエーションにおいては、一方では滞ったデータ処理タスクを迅速且つ効率的に解消できるように、他方ではフィールド内またはフィールド上に使用する際に形状ファクタが考慮されるように、ハードウェアモジュールの数は選択される。
この関係においてその他の点に関しては、必要に応じて本発明のハードウェアモジュールはフィールドと密に接続されている場合であっても付加的に、メモリなどのような外部のエレメントと通信するための固有のI/O端子を有することができることを言及しておく。
その他の点に関して図9によれば、本発明のハードウェアモジュール相互間および/またはハードウェアモジュールとフィールドエレメント部分との間を接続することができる。フィールドエレメントは永続的に固定的なものであるが、択一的に有利には単に一時的に構成されているものである。階層的に整理されているバスシステムが接続可能および/または取り外し可能な包括的なバス線路を許容する場合、このことは殊に容易に行える。バス線路の接続ないし取り外しに関しては、その全体を本願の参考文献とするWO98/35294(PACT07/PCT)を参照されたい。
専用チップを製造するためのマスクを構成する前に必要に応じてエミュレーションを使用できることを言及しておく。FPGAを備えたハードウェア部分がエミュレートされる。小さいFPGAフィールドを表すことができるPAEが設けられているXPPフィールドを構成することは本出願人により既に提案されていることを言及しておく。複数のその種のFPGA−PAEを適切に接続/結線することによって、必要に応じてハードウェア構造をエミュレートすることができる。FPGA−PAEを備えている適切に設計されたXPPテストチップによって、パーソナライズされた設計ないし顧客固有の設計の検証ないしエミュレーションをエミュレートすることができる。
前記においては、単に例示的に直線状に並べて配置されている、適切なやり方でパラメータ化され規定されるハイパーPAEによってハードウェアモジュールを構成できることを記述したが、これは必ずしも必要ではない。プログラム部分における各オペランド結合に固有のPAEを対応付けずに、線形の処理を行うことは有利である。むしろ殊に非常に複雑なプログラム部分の場合、ハードモジュールにおいて実行することができる複数の異なるコンフィギュレーションにプログラム部分が再び分解されることも考えられる。そのようなケースにおいては、1つの所定の部分はプログラム部分を2つのコンフィギュレーションに分解するために有利であることが確認される。このような部分をどのように配置することができるかに関する手法自体は公知である。殊にPCT/EP02/10065(PACT11/PCTE)を参照されたい。その種の構成が所望される場合、典型的には、所望の箇所における機能範囲が異なるコンフィギュレーションによって実施されたオペランド結合、もしくは実施することができるオペランド結合の統合セットなどにそれぞれ対応するようにハードモジュールの機能範囲が選択される。必要に応じて、マルチコンフィギュレーションハードモジュール定義においては、ハードモジュール内に固定的に設けられている固定コンフィギュレーションを設けることができることを言及しておく(PCT/EP03/08080(PACT30/PCTE)を参照されたい)。
さらには、有利には複数のコンフィギュレーションがハードモジュール上で逐次的に処理されるべき場合に、パラメータ化によってすなわちハイパーPAEのパラメータの規定によって維持される個々のハードモジュール領域の機能範囲は、それぞれの計算ユニットが個別に見て依然として最小の機能範囲を有するように選択されることを言及しておく。このことは場合によっては、各コンフィギュレーションにおいてただ1回の乗算が必要である場合には常に同一のPAE内で乗算が実施され、また他のPAEにおける乗算段の代わりに、場合によっては僅かな面積負荷でのデータフィードバックまたはデータ供給のために必要とされ、所定のコンフィギュレーションによって呼び出されるデータ線路が殊にここでもまた直近の隣接するものとのコネクションとして実施されるべき線路としてインプリメントされるように、分割されるコンフィギュレーションが実施されることによって行うことができる。
Claims (1)
- ハードウェア定義方法において
パラメータ化可能で実行可能なエレメントのライブラリを準備し、
パラメータを選択し、
選択されたパラメータを用いてエレメントを作成し、
前記作成を簡略化することを特徴とする、ハードウェア定義方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06001043 | 2006-01-18 | ||
EP06400003 | 2006-01-18 | ||
DE102006003275 | 2006-01-23 | ||
DE102006004151 | 2006-01-27 | ||
PCT/EP2007/000380 WO2007082730A1 (de) | 2006-01-18 | 2007-01-17 | Hardwaredefinitionsverfahren |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009524134A true JP2009524134A (ja) | 2009-06-25 |
Family
ID=38093028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008550680A Pending JP2009524134A (ja) | 2006-01-18 | 2007-01-17 | ハードウェア定義方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US8250503B2 (ja) |
EP (1) | EP1974265A1 (ja) |
JP (1) | JP2009524134A (ja) |
WO (1) | WO2007082730A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007082730A1 (de) * | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
DE102008001433A1 (de) | 2008-04-28 | 2009-10-29 | Evonik Degussa Gmbh | Hydrophobiertes Silicium-Eisen-Mischoxid |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8423983B2 (en) * | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
US9652231B2 (en) * | 2008-10-14 | 2017-05-16 | International Business Machines Corporation | All-to-all permutation of vector elements based on a permutation pattern encoded in mantissa and exponent bits in a floating-point SIMD architecture |
JP6436916B2 (ja) | 2013-02-11 | 2018-12-12 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | ランタイムにfpgaの信号値を変更するための方法、当該方法を実施するためのデータ処理装置、コンピュータプログラムおよびディジタル記憶媒体 |
EP2765528B1 (de) * | 2013-02-11 | 2018-11-14 | dSPACE digital signal processing and control engineering GmbH | Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit |
US8751997B1 (en) * | 2013-03-14 | 2014-06-10 | Xilinx, Inc. | Processing a fast speed grade circuit design for use on a slower speed grade integrated circuit |
WO2016077393A1 (en) * | 2014-11-12 | 2016-05-19 | Xilinx, Inc. | Heterogeneous multiprocessor program compilation targeting programmable integrated circuits |
US9218443B1 (en) * | 2014-11-12 | 2015-12-22 | Xilinx, Inc. | Heterogeneous multiprocessor program compilation targeting programmable integrated circuits |
US9846660B2 (en) | 2014-11-12 | 2017-12-19 | Xilinx, Inc. | Heterogeneous multiprocessor platform targeting programmable integrated circuits |
US9552456B2 (en) * | 2015-05-29 | 2017-01-24 | Altera Corporation | Methods and apparatus for probing signals from a circuit after register retiming |
US10394990B1 (en) * | 2016-09-27 | 2019-08-27 | Altera Corporation | Initial condition support for partial reconfiguration |
US10956241B1 (en) | 2017-12-20 | 2021-03-23 | Xilinx, Inc. | Unified container for hardware and software binaries |
US11087232B2 (en) * | 2018-07-18 | 2021-08-10 | IonQ, Inc. | Quantum hybrid computation |
US11036546B1 (en) | 2019-04-16 | 2021-06-15 | Xilinx, Inc. | Multi-threaded shared memory functional simulation of dataflow graph |
US10628622B1 (en) * | 2019-05-10 | 2020-04-21 | Xilinx, Inc. | Stream FIFO insertion in a compilation flow for a heterogeneous multi-core architecture |
US11138019B1 (en) * | 2019-05-23 | 2021-10-05 | Xilinx, Inc. | Routing in a compilation flow for a heterogeneous multi-core architecture |
US10831691B1 (en) * | 2019-05-24 | 2020-11-10 | International Business Machines Corporation | Method for implementing processing elements in a chip card |
US11755884B2 (en) | 2019-08-20 | 2023-09-12 | Micron Technology, Inc. | Distributed machine learning with privacy protection |
US11392796B2 (en) * | 2019-08-20 | 2022-07-19 | Micron Technology, Inc. | Feature dictionary for bandwidth enhancement |
US11636334B2 (en) | 2019-08-20 | 2023-04-25 | Micron Technology, Inc. | Machine learning with feature obfuscation |
Family Cites Families (598)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2067477A (en) | 1931-03-20 | 1937-01-12 | Allis Chalmers Mfg Co | Gearing |
GB971191A (en) | 1962-05-28 | 1964-09-30 | Wolf Electric Tools Ltd | Improvements relating to electrically driven equipment |
US3564506A (en) * | 1968-01-17 | 1971-02-16 | Ibm | Instruction retry byte counter |
GB1253309A (en) | 1969-11-21 | 1971-11-10 | Marconi Co Ltd | Improvements in or relating to data processing arrangements |
US3753008A (en) | 1970-06-20 | 1973-08-14 | Honeywell Inf Systems | Memory pre-driver circuit |
US5459846A (en) * | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US3855577A (en) | 1973-06-11 | 1974-12-17 | Texas Instruments Inc | Power saving circuit for calculator system |
DE2713648A1 (de) * | 1976-03-26 | 1977-10-06 | Tokyo Shibaura Electric Co | Stromzufuhr-steuervorrichtung fuer speichervorrichtungen |
US4233667A (en) | 1978-10-23 | 1980-11-11 | International Business Machines Corporation | Demand powered programmable logic array |
US4442508A (en) | 1981-08-05 | 1984-04-10 | General Instrument Corporation | Storage cells for use in two conductor data column storage logic arrays |
US4498134A (en) | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4590583A (en) | 1982-07-16 | 1986-05-20 | At&T Bell Laboratories | Coin telephone measurement circuitry |
US4498172A (en) | 1982-07-26 | 1985-02-05 | General Electric Company | System for polynomial division self-testing of digital networks |
US4667190A (en) | 1982-07-30 | 1987-05-19 | Honeywell Inc. | Two axis fast access memory |
JPS5936857A (ja) | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4663706A (en) | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
US4739474A (en) | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4566102A (en) | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
US5123109A (en) | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
US4571736A (en) * | 1983-10-31 | 1986-02-18 | University Of Southwestern Louisiana | Digital communication system employing differential coding and sample robbing |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
JPS60198618A (ja) | 1984-03-21 | 1985-10-08 | Oki Electric Ind Co Ltd | ダイナミツク論理回路 |
US4761755A (en) | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4682284A (en) | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
EP0190813B1 (en) | 1985-01-29 | 1991-09-18 | The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and | Processing cell for fault tolerant arrays |
US4720778A (en) | 1985-01-31 | 1988-01-19 | Hewlett Packard Company | Software debugging analyzer |
US5023775A (en) | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5225719A (en) | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US5015884A (en) | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US4972314A (en) | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
GB8517376D0 (en) | 1985-07-09 | 1985-08-14 | Jesshope C R | Processor array |
US4720780A (en) | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
EP0221360B1 (en) | 1985-11-04 | 1992-12-30 | International Business Machines Corporation | Digital data message transmission networks and the establishing of communication paths therein |
US4852048A (en) | 1985-12-12 | 1989-07-25 | Itt Corporation | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
US5021947A (en) | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US4882687A (en) | 1986-03-31 | 1989-11-21 | Schlumberger Technology Corporation | Pixel processor |
US5034914A (en) | 1986-05-15 | 1991-07-23 | Aquidneck Systems International, Inc. | Optical disk data storage method and apparatus with buffered interface |
GB8612396D0 (en) | 1986-05-21 | 1986-06-25 | Hewlett Packard Ltd | Chain-configured interface bus system |
US4791603A (en) | 1986-07-18 | 1988-12-13 | Honeywell Inc. | Dynamically reconfigurable array logic |
US4860201A (en) | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4910665A (en) | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4884231A (en) | 1986-09-26 | 1989-11-28 | Performance Semiconductor Corporation | Microprocessor system with extended arithmetic logic unit |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
FR2606184B1 (fr) | 1986-10-31 | 1991-11-29 | Thomson Csf | Dispositif de calcul reconfigurable |
US4918440A (en) | 1986-11-07 | 1990-04-17 | Furtek Frederick C | Programmable logic cell and array |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
CA1299757C (en) | 1987-08-28 | 1992-04-28 | Brent Cameron Beardsley | Device initiated partial system quiescing |
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
CA1286421C (en) | 1987-10-14 | 1991-07-16 | Martin Claude Lefebvre | Message fifo buffer controller |
US5115510A (en) | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5113498A (en) | 1987-11-10 | 1992-05-12 | Echelon Corporation | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control |
US4918690A (en) | 1987-11-10 | 1990-04-17 | Echelon Systems Corp. | Network and intelligent cell for providing sensing, bidirectional communications and control |
NL8800053A (nl) * | 1988-01-11 | 1989-08-01 | Philips Nv | Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem. |
US5197016A (en) * | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
USRE34444E (en) | 1988-01-13 | 1993-11-16 | Xilinx, Inc. | Programmable logic device |
NL8800071A (nl) | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
EP0325421B1 (en) * | 1988-01-20 | 1994-08-10 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in supporting multiprocessor operations |
US5303172A (en) | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
US4959781A (en) | 1988-05-16 | 1990-09-25 | Stardent Computer, Inc. | System for assigning interrupts to least busy processor that already loaded same class of interrupt routines |
US4939641A (en) * | 1988-06-30 | 1990-07-03 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
JPH06101043B2 (ja) | 1988-06-30 | 1994-12-12 | 三菱電機株式会社 | マイクロコンピュータ |
US5287511A (en) * | 1988-07-11 | 1994-02-15 | Star Semiconductor Corporation | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith |
WO1990001192A1 (en) | 1988-07-22 | 1990-02-08 | United States Department Of Energy | Data flow machine for data driven computing |
US5010401A (en) | 1988-08-11 | 1991-04-23 | Mitsubishi Denki Kabushiki Kaisha | Picture coding and decoding apparatus using vector quantization |
US5204935A (en) | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US4901268A (en) | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5353432A (en) | 1988-09-09 | 1994-10-04 | Compaq Computer Corporation | Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts |
EP0363631B1 (de) | 1988-09-22 | 1993-12-15 | Siemens Aktiengesellschaft | Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere PCM-Zeitmultiplex-Fernsprechvermittlungsanlagen mit Zentralkoppelfeld und angeschlossenen Teilkoppelfeldern |
DE68929518T2 (de) * | 1988-10-05 | 2005-06-09 | Quickturn Design Systems, Inc., Mountain View | Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät |
JP2930341B2 (ja) | 1988-10-07 | 1999-08-03 | マーチン・マリエッタ・コーポレーション | データ並列処理装置 |
US5014193A (en) | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5041924A (en) | 1988-11-30 | 1991-08-20 | Quantum Corporation | Removable and transportable hard disk subsystem |
US5081375A (en) | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5237686A (en) | 1989-05-10 | 1993-08-17 | Mitsubishi Denki Kabushiki Kaisha | Multiprocessor type time varying image encoding system and image processor with memory bus control table for arbitration priority |
US5109503A (en) | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
JP2584673B2 (ja) | 1989-06-09 | 1997-02-26 | 株式会社日立製作所 | テストデータ変更回路を有する論理回路テスト装置 |
CA2021192A1 (en) | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
US5343406A (en) | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
US5489857A (en) | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5128559A (en) | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (ja) | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
GB8925721D0 (en) | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
GB8925723D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
DE58908974D1 (de) | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Datengesteuerter Arrayprozessor. |
US5099447A (en) | 1990-01-22 | 1992-03-24 | Alliant Computer Systems Corporation | Blocked matrix multiplication for computers with hierarchical memory |
AU7305491A (en) | 1990-01-29 | 1991-08-21 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
US5125801A (en) | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
US5036493A (en) * | 1990-03-15 | 1991-07-30 | Digital Equipment Corporation | System and method for reducing power usage by multiple memory modules |
US5142469A (en) | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5555201A (en) | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
EP0463721A3 (en) | 1990-04-30 | 1993-06-16 | Gennum Corporation | Digital signal processing device |
US5355508A (en) | 1990-05-07 | 1994-10-11 | Mitsubishi Denki Kabushiki Kaisha | Parallel data processing system combining a SIMD unit with a MIMD unit and sharing a common bus, memory, and system controller |
US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
US5193202A (en) | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
CA2045773A1 (en) | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
US5111079A (en) | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
SE9002558D0 (sv) | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
DE4129614C2 (de) * | 1990-09-07 | 2002-03-21 | Hitachi Ltd | System und Verfahren zur Datenverarbeitung |
US5274593A (en) | 1990-09-28 | 1993-12-28 | Intergraph Corporation | High speed redundant rows and columns for semiconductor memories |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5713037A (en) | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
ATE180586T1 (de) | 1990-11-13 | 1999-06-15 | Ibm | Paralleles assoziativprozessor-system |
US5794059A (en) | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5588152A (en) | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
CA2051222C (en) | 1990-11-30 | 1998-05-05 | Pradeep S. Sindhu | Consistent packet switched memory bus for shared memory multiprocessors |
US5613128A (en) | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
US5276836A (en) | 1991-01-10 | 1994-01-04 | Hitachi, Ltd. | Data processing device with common memory connecting mechanism |
US5301284A (en) | 1991-01-16 | 1994-04-05 | Walker-Estes Corporation | Mixed-resolution, N-dimensional object space method and apparatus |
US5301344A (en) | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
JP2867717B2 (ja) * | 1991-02-01 | 1999-03-10 | 日本電気株式会社 | マイクロコンピュータ |
US5212716A (en) | 1991-02-05 | 1993-05-18 | International Business Machines Corporation | Data edge phase sorting circuits |
US5218302A (en) | 1991-02-06 | 1993-06-08 | Sun Electric Corporation | Interface for coupling an analyzer to a distributorless ignition system |
DE59109046D1 (de) | 1991-02-22 | 1998-10-08 | Siemens Ag | Programmierverfahren für einen Logikbaustein |
JPH04290155A (ja) | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
JPH04293151A (ja) | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5617547A (en) | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
WO1992018935A1 (en) | 1991-04-09 | 1992-10-29 | Fujitsu Limited | Data processor and data processing method |
JPH04328657A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5446904A (en) | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
JPH06507990A (ja) | 1991-05-24 | 1994-09-08 | ブリティッシュ・テクノロジー・グループ・ユーエスエイ・インコーポレーテッド | コンピュータのための最適化コンパイラ |
US5659797A (en) | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
JP3259969B2 (ja) | 1991-07-09 | 2002-02-25 | 株式会社東芝 | キャッシュメモリ制御装置 |
US5347639A (en) | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5317209A (en) | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
US5581731A (en) | 1991-08-30 | 1996-12-03 | King; Edward C. | Method and apparatus for managing video data for faster access by selectively caching video data |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5633830A (en) | 1995-11-08 | 1997-05-27 | Altera Corporation | Random access memory block circuitry for programmable logic array integrated circuit devices |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
FR2681791B1 (fr) | 1991-09-27 | 1994-05-06 | Salomon Sa | Dispositif d'amortissement des vibrations pour club de golf. |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
WO1993011503A1 (en) | 1991-12-06 | 1993-06-10 | Norman Richard S | Massively-parallel direct output processor array |
US5208491A (en) | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
FR2686175B1 (fr) | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
US5412795A (en) * | 1992-02-25 | 1995-05-02 | Micral, Inc. | State machine having a variable timing mechanism for varying the duration of logical output states of the state machine based on variation in the clock frequency |
JP2791243B2 (ja) | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
JP2647327B2 (ja) * | 1992-04-06 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 大規模並列コンピューティング・システム装置 |
US5493663A (en) * | 1992-04-22 | 1996-02-20 | International Business Machines Corporation | Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses |
JP2572522B2 (ja) | 1992-05-12 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピューティング装置 |
US5611049A (en) | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
WO1993024895A2 (en) | 1992-06-04 | 1993-12-09 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
DE4221278C2 (de) | 1992-06-29 | 1996-02-29 | Martin Vorbach | Busgekoppeltes Mehrrechnersystem |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
JP3032382B2 (ja) | 1992-07-13 | 2000-04-17 | シャープ株式会社 | デジタル信号のサンプリング周波数変換装置 |
US5365125A (en) | 1992-07-23 | 1994-11-15 | Xilinx, Inc. | Logic cell for field programmable gate array having optional internal feedback and optional cascade |
US5386154A (en) * | 1992-07-23 | 1995-01-31 | Xilinx, Inc. | Compact logic cell for field programmable gate array chip |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
US5802290A (en) | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5581778A (en) | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
ATE237861T1 (de) | 1992-09-03 | 2003-05-15 | Sony Corp | Datenaufzeichnungsgerät und -verfahren |
US5572710A (en) | 1992-09-11 | 1996-11-05 | Kabushiki Kaisha Toshiba | High speed logic simulation system using time division emulation suitable for large scale logic circuits |
US5425036A (en) | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
JPH06180653A (ja) | 1992-10-02 | 1994-06-28 | Hudson Soft Co Ltd | 割り込み処理方法および装置 |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5857109A (en) * | 1992-11-05 | 1999-01-05 | Giga Operations Corporation | Programmable logic device for real time video processing |
US5497498A (en) | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5361373A (en) | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5311079A (en) | 1992-12-17 | 1994-05-10 | Ditlow Gary S | Low power, high performance PLA |
US5428526A (en) | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
US5386518A (en) * | 1993-02-12 | 1995-01-31 | Hughes Aircraft Company | Reconfigurable computer interface and method |
GB9303084D0 (en) | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (ja) | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5548773A (en) | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5596742A (en) | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5418953A (en) | 1993-04-12 | 1995-05-23 | Loral/Rohm Mil-Spec Corp. | Method for automated deployment of a software program onto a multi-processor architecture |
US5473266A (en) | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
AU6774894A (en) * | 1993-04-26 | 1994-11-21 | Comdisco Systems, Inc. | Method for scheduling synchronous data flow graphs |
DE4416881C2 (de) | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung |
US5435000A (en) * | 1993-05-19 | 1995-07-18 | Bull Hn Information Systems Inc. | Central processing unit using dual basic processing units and combined result bus |
US5349193A (en) | 1993-05-20 | 1994-09-20 | Princeton Gamma Tech, Inc. | Highly sensitive nuclear spectrometer apparatus and method |
IT1260848B (it) | 1993-06-11 | 1996-04-23 | Finmeccanica Spa | Sistema a multiprocessore |
US5444394A (en) | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (ja) | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
US5581734A (en) | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
CA2129882A1 (en) | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
US5457644A (en) | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5440538A (en) | 1993-09-23 | 1995-08-08 | Massachusetts Institute Of Technology | Communication system with redundant links and data bit time multiplexing |
GB2282244B (en) * | 1993-09-23 | 1998-01-14 | Advanced Risc Mach Ltd | Integrated circuit |
US5502838A (en) * | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
US6219688B1 (en) | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
US5455525A (en) | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US5535406A (en) | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
US5680583A (en) | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
EP0752132B1 (en) | 1994-03-22 | 2000-11-15 | Hyperchip Inc. | Cell-based defect tolerant architecture with beneficial use of unassigned spare cells |
US5561738A (en) | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5574927A (en) | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5781756A (en) | 1994-04-01 | 1998-07-14 | Xilinx, Inc. | Programmable logic device with partially configurable memory cells and a method for configuration |
US5504439A (en) * | 1994-04-01 | 1996-04-02 | Xilinx, Inc. | I/O interface cell for use with optional pad |
US5761484A (en) | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5896551A (en) | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5426378A (en) | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
JP2671804B2 (ja) | 1994-05-27 | 1997-11-05 | 日本電気株式会社 | 階層型資源管理方法 |
US5532693A (en) | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
EP0690378A1 (en) | 1994-06-30 | 1996-01-03 | Tandem Computers Incorporated | Tool and method for diagnosing and correcting errors in a computer programm |
JP3308770B2 (ja) | 1994-07-22 | 2002-07-29 | 三菱電機株式会社 | 情報処理装置および情報処理装置における計算方法 |
US5600845A (en) | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
JP3365581B2 (ja) | 1994-07-29 | 2003-01-14 | 富士通株式会社 | 自己修復機能付き情報処理装置 |
US5798719A (en) * | 1994-07-29 | 1998-08-25 | Discovision Associates | Parallel Huffman decoder |
US5574930A (en) | 1994-08-12 | 1996-11-12 | University Of Hawaii | Computer system and method using functional memory |
US5513366A (en) | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5619720A (en) * | 1994-10-04 | 1997-04-08 | Analog Devices, Inc. | Digital signal processor having link ports for point-to-point communication |
US5450022A (en) | 1994-10-07 | 1995-09-12 | Xilinx Inc. | Structure and method for configuration of a field programmable gate array |
EP0707269A1 (en) | 1994-10-11 | 1996-04-17 | International Business Machines Corporation | Cache coherence network for a multiprocessor data processing system |
US5530946A (en) | 1994-10-28 | 1996-06-25 | Dell Usa, L.P. | Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof |
US5815726A (en) | 1994-11-04 | 1998-09-29 | Altera Corporation | Coarse-grained look-up table architecture |
JPH08137824A (ja) | 1994-11-15 | 1996-05-31 | Mitsubishi Semiconductor Software Kk | セルフテスト機能内蔵シングルチップマイコン |
US6154826A (en) | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
US5584013A (en) | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
EP0721157A1 (en) | 1994-12-12 | 1996-07-10 | Advanced Micro Devices, Inc. | Microprocessor with selectable clock frequency |
US5537580A (en) | 1994-12-21 | 1996-07-16 | Vlsi Technology, Inc. | Integrated circuit fabrication using state machine extraction from behavioral hardware description language |
JP3598139B2 (ja) * | 1994-12-28 | 2004-12-08 | 株式会社日立製作所 | データ処理装置 |
US5682491A (en) | 1994-12-29 | 1997-10-28 | International Business Machines Corporation | Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier |
US6128720A (en) | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5696791A (en) | 1995-01-17 | 1997-12-09 | Vtech Industries, Inc. | Apparatus and method for decoding a sequence of digitally encoded data |
US5493239A (en) | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5532957A (en) | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
DE69632424T2 (de) | 1995-02-17 | 2005-05-12 | Kabushiki Kaisha Toshiba, Kawasaki | Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe |
US5675743A (en) | 1995-02-22 | 1997-10-07 | Callisto Media Systems Inc. | Multi-media server |
US5757207A (en) | 1995-03-22 | 1998-05-26 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5748979A (en) | 1995-04-05 | 1998-05-05 | Xilinx Inc | Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table |
JP3313007B2 (ja) | 1995-04-14 | 2002-08-12 | 三菱電機株式会社 | マイクロコンピュータ |
US6077315A (en) | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US5933642A (en) | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
JP3948494B2 (ja) | 1995-04-28 | 2007-07-25 | ザイリンクス,インコーポレイテッド | プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ |
US5600597A (en) * | 1995-05-02 | 1997-02-04 | Xilinx, Inc. | Register protection structure for FPGA |
US5701091A (en) | 1995-05-02 | 1997-12-23 | Xilinx, Inc. | Routing resources for hierarchical FPGA |
GB9508931D0 (en) | 1995-05-02 | 1995-06-21 | Xilinx Inc | Programmable switch for FPGA input/output signals |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5649179A (en) | 1995-05-19 | 1997-07-15 | Motorola, Inc. | Dynamic instruction allocation for a SIMD processor |
US5821774A (en) | 1995-05-26 | 1998-10-13 | Xilinx, Inc. | Structure and method for arithmetic function implementation in an EPLD having high speed product term allocation structure |
JPH08328941A (ja) * | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
JP3677315B2 (ja) * | 1995-06-01 | 2005-07-27 | シャープ株式会社 | データ駆動型情報処理装置 |
US5671432A (en) | 1995-06-02 | 1997-09-23 | International Business Machines Corporation | Programmable array I/O-routing resource |
US5652529A (en) | 1995-06-02 | 1997-07-29 | International Business Machines Corporation | Programmable array clock/reset resource |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5815715A (en) | 1995-06-05 | 1998-09-29 | Motorola, Inc. | Method for designing a product having hardware and software components and product therefor |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US5889982A (en) | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5559450A (en) | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5978583A (en) | 1995-08-07 | 1999-11-02 | International Business Machines Corp. | Method for resource control in parallel environments using program organization and run-time support |
US5649176A (en) | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5996083A (en) | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
GB2304438A (en) | 1995-08-17 | 1997-03-19 | Kenneth Austin | Re-configurable application specific device |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5583450A (en) | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5737565A (en) | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
US5737516A (en) | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5734869A (en) * | 1995-09-06 | 1998-03-31 | Chen; Duan-Ping | High speed logic circuit simulator |
US6430309B1 (en) | 1995-09-15 | 2002-08-06 | Monogen, Inc. | Specimen preview and inspection system |
US5745734A (en) * | 1995-09-29 | 1998-04-28 | International Business Machines Corporation | Method and system for programming a gate array using a compressed configuration bit stream |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
US5754827A (en) | 1995-10-13 | 1998-05-19 | Mentor Graphics Corporation | Method and apparatus for performing fully visible tracing of an emulation |
US5815004A (en) | 1995-10-16 | 1998-09-29 | Xilinx, Inc. | Multi-buffered configurable logic block output lines in a field programmable gate array |
US5642058A (en) * | 1995-10-16 | 1997-06-24 | Xilinx , Inc. | Periphery input/output interconnect structure |
US5608342A (en) * | 1995-10-23 | 1997-03-04 | Xilinx, Inc. | Hierarchical programming of electrically configurable integrated circuits |
US5656950A (en) | 1995-10-26 | 1997-08-12 | Xilinx, Inc. | Interconnect lines including tri-directional buffer circuits |
US5675262A (en) | 1995-10-26 | 1997-10-07 | Xilinx, Inc. | Fast carry-out scheme in a field programmable gate array |
US5943242A (en) | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732209A (en) | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US5773994A (en) | 1995-12-15 | 1998-06-30 | Cypress Semiconductor Corp. | Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit |
JPH09231788A (ja) | 1995-12-19 | 1997-09-05 | Fujitsu Ltd | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
US5804986A (en) | 1995-12-29 | 1998-09-08 | Cypress Semiconductor Corp. | Memory in a programmable logic device |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
JP3247043B2 (ja) | 1996-01-12 | 2002-01-15 | 株式会社日立製作所 | 内部信号で障害検出を行う情報処理システムおよび論理lsi |
US5760602A (en) | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
JP2795244B2 (ja) | 1996-01-17 | 1998-09-10 | 日本電気株式会社 | プログラムデバッグシステム |
US5854918A (en) | 1996-01-24 | 1998-12-29 | Ricoh Company Ltd. | Apparatus and method for self-timed algorithmic execution |
US5898602A (en) | 1996-01-25 | 1999-04-27 | Xilinx, Inc. | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions |
US5936424A (en) | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US5635851A (en) * | 1996-02-02 | 1997-06-03 | Xilinx, Inc. | Read and writable data bus particularly for programmable logic devices |
US5727229A (en) * | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US5754459A (en) | 1996-02-08 | 1998-05-19 | Xilinx, Inc. | Multiplier circuit design for a programmable logic device |
KR0165515B1 (ko) | 1996-02-17 | 1999-01-15 | 김광호 | 그래픽 데이터의 선입선출기 및 선입선출 방법 |
GB9604496D0 (en) | 1996-03-01 | 1996-05-01 | Xilinx Inc | Embedded memory for field programmable gate array |
US6020758A (en) | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US5841973A (en) | 1996-03-13 | 1998-11-24 | Cray Research, Inc. | Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory |
US6279077B1 (en) | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
US6311265B1 (en) | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US6154049A (en) | 1998-03-27 | 2000-11-28 | Xilinx, Inc. | Multiplier fabric for use in field programmable gate arrays |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5687325A (en) | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US6173434B1 (en) | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5960200A (en) | 1996-05-03 | 1999-09-28 | I-Cube | System to transition an enterprise to a distributed infrastructure |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5892370A (en) | 1996-06-21 | 1999-04-06 | Quicklogic Corporation | Clock network for field programmable gate array |
EP0978051A1 (en) | 1996-06-21 | 2000-02-09 | Mirage Technologies, Inc. | Dynamically reconfigurable hardware system for real-time control of processes |
US6785826B1 (en) | 1996-07-17 | 2004-08-31 | International Business Machines Corporation | Self power audit and control circuitry for microprocessor functional units |
US6023742A (en) | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US6023564A (en) | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5933023A (en) | 1996-09-03 | 1999-08-03 | Xilinx, Inc. | FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines |
US6624658B2 (en) | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US5859544A (en) * | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US6049866A (en) * | 1996-09-06 | 2000-04-11 | Silicon Graphics, Inc. | Method and system for an efficient user mode cache manipulation using a simulated instruction |
JP3934710B2 (ja) * | 1996-09-13 | 2007-06-20 | 株式会社ルネサステクノロジ | マイクロプロセッサ |
US5828858A (en) | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US6178494B1 (en) * | 1996-09-23 | 2001-01-23 | Virtual Computer Corporation | Modular, hybrid processor and method for producing a modular, hybrid processor |
US5694602A (en) | 1996-10-01 | 1997-12-02 | The United States Of America As Represented By The Secretary Of The Air Force | Weighted system and method for spatial allocation of a parallel load |
US5901279A (en) | 1996-10-18 | 1999-05-04 | Hughes Electronics Corporation | Connection of spares between multiple programmable devices |
US5832288A (en) | 1996-10-18 | 1998-11-03 | Samsung Electronics Co., Ltd. | Element-select mechanism for a vector processor |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5844422A (en) | 1996-11-13 | 1998-12-01 | Xilinx, Inc. | State saving and restoration in reprogrammable FPGAs |
US5895487A (en) * | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
US5860119A (en) * | 1996-11-25 | 1999-01-12 | Vlsi Technology, Inc. | Data-packet fifo buffer system with end-of-packet flags |
US6005410A (en) | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
US6427156B1 (en) | 1997-01-21 | 2002-07-30 | Xilinx, Inc. | Configurable logic block with AND gate for efficient multiplication in FPGAS |
EP0858168A1 (en) | 1997-01-29 | 1998-08-12 | Hewlett-Packard Company | Field programmable processor array |
EP0858167A1 (en) | 1997-01-29 | 1998-08-12 | Hewlett-Packard Company | Field programmable processor device |
DE19704044A1 (de) | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US5865239A (en) | 1997-02-05 | 1999-02-02 | Micropump, Inc. | Method for making herringbone gears |
US6055619A (en) * | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US6150837A (en) | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
US5927423A (en) | 1997-03-05 | 1999-07-27 | Massachusetts Institute Of Technology | Reconfigurable footprint mechanism for omnidirectional vehicles |
US5857097A (en) | 1997-03-10 | 1999-01-05 | Digital Equipment Corporation | Method for identifying reasons for dynamic stall cycles during the execution of a program |
US5884075A (en) | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
US6125408A (en) | 1997-03-10 | 2000-09-26 | Compaq Computer Corporation | Resource type prioritization in generating a device configuration |
US6085317A (en) | 1997-08-15 | 2000-07-04 | Altera Corporation | Reconfigurable computer architecture using programmable logic devices |
US6272257B1 (en) * | 1997-04-30 | 2001-08-07 | Canon Kabushiki Kaisha | Decoder of variable length codes |
AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6035371A (en) * | 1997-05-28 | 2000-03-07 | 3Com Corporation | Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device |
US6421817B1 (en) | 1997-05-29 | 2002-07-16 | Xilinx, Inc. | System and method of computation in a programmable logic device using virtual instructions |
US6047115A (en) | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6339840B1 (en) | 1997-06-02 | 2002-01-15 | Iowa State University Research Foundation, Inc. | Apparatus and method for parallelizing legacy computer code |
US6011407A (en) | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US5996048A (en) | 1997-06-20 | 1999-11-30 | Sun Microsystems, Inc. | Inclusion vector architecture for a level two cache |
US6240502B1 (en) | 1997-06-25 | 2001-05-29 | Sun Microsystems, Inc. | Apparatus for dynamically reconfiguring a processor |
US5838988A (en) | 1997-06-25 | 1998-11-17 | Sun Microsystems, Inc. | Computer product for precise architectural update in an out-of-order processor |
US5966534A (en) | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
US6437441B1 (en) | 1997-07-10 | 2002-08-20 | Kawasaki Microelectronics, Inc. | Wiring structure of a semiconductor integrated circuit and a method of forming the wiring structure |
US6020760A (en) | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6170051B1 (en) | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6078736A (en) * | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US6038656A (en) | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
JP3612186B2 (ja) | 1997-09-19 | 2005-01-19 | 株式会社ルネサステクノロジ | データ処理装置 |
US6539415B1 (en) | 1997-09-24 | 2003-03-25 | Sony Corporation | Method and apparatus for the allocation of audio/video tasks in a network system |
US5966143A (en) | 1997-10-14 | 1999-10-12 | Motorola, Inc. | Data allocation into multiple memories for concurrent access |
SG82587A1 (en) * | 1997-10-21 | 2001-08-21 | Sony Corp | Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
JP4128251B2 (ja) | 1997-10-23 | 2008-07-30 | 富士通株式会社 | 配線密度予測方法およびセル配置装置 |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6247147B1 (en) * | 1997-10-27 | 2001-06-12 | Altera Corporation | Enhanced embedded logic analyzer |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US6108760A (en) | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US6127908A (en) | 1997-11-17 | 2000-10-03 | Massachusetts Institute Of Technology | Microelectro-mechanical system actuator device and reconfigurable circuits utilizing same |
JP4197755B2 (ja) | 1997-11-19 | 2008-12-17 | 富士通株式会社 | 信号伝送システム、該信号伝送システムのレシーバ回路、および、該信号伝送システムが適用される半導体記憶装置 |
US6212650B1 (en) | 1997-11-24 | 2001-04-03 | Xilinx, Inc. | Interactive dubug tool for programmable circuits |
US6091263A (en) | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
EP0926594B1 (en) | 1997-12-17 | 2007-05-23 | Hewlett-Packard Company, A Delaware Corporation | Method of using primary and secondary processors |
WO1999031574A1 (en) | 1997-12-17 | 1999-06-24 | Hewlett-Packard Company | Implementation of multipliers in programmable arrays |
DE69827589T2 (de) | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
DE69841256D1 (de) | 1997-12-17 | 2009-12-10 | Panasonic Corp | Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6172520B1 (en) | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US6260114B1 (en) * | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6049222A (en) | 1997-12-30 | 2000-04-11 | Xilinx, Inc | Configuring an FPGA using embedded memory |
US6301706B1 (en) | 1997-12-31 | 2001-10-09 | Elbrus International Limited | Compiler method and apparatus for elimination of redundant speculative computations from innermost loops |
US6105106A (en) | 1997-12-31 | 2000-08-15 | Micron Technology, Inc. | Computer system, memory device and shift register including a balanced switching circuit with series connected transfer gates which are selectively clocked for fast switching times |
US6216223B1 (en) | 1998-01-12 | 2001-04-10 | Billions Of Operations Per Second, Inc. | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor |
US6034538A (en) | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6230307B1 (en) | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6389579B1 (en) | 1998-01-26 | 2002-05-14 | Chameleon Systems | Reconfigurable logic for table lookup |
DE69919059T2 (de) | 1998-02-04 | 2005-01-27 | Texas Instruments Inc., Dallas | Datenverarbeitungssytem mit einem digitalen Signalprozessor und einem Koprozessor und Datenverarbeitungsverfahren |
US7152027B2 (en) | 1998-02-17 | 2006-12-19 | National Instruments Corporation | Reconfigurable test system |
US6086628A (en) | 1998-02-17 | 2000-07-11 | Lucent Technologies Inc. | Power-related hardware-software co-synthesis of heterogeneous distributed embedded systems |
US6198304B1 (en) | 1998-02-23 | 2001-03-06 | Xilinx, Inc. | Programmable logic device |
US6096091A (en) | 1998-02-24 | 2000-08-01 | Advanced Micro Devices, Inc. | Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
US6298043B1 (en) | 1998-03-28 | 2001-10-02 | Nortel Networks Limited | Communication system architecture and a connection verification mechanism therefor |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6456628B1 (en) | 1998-04-17 | 2002-09-24 | Intelect Communications, Inc. | DSP intercommunication network |
US6084429A (en) | 1998-04-24 | 2000-07-04 | Xilinx, Inc. | PLD having a window pane architecture with segmented and staggered interconnect wiring between logic block arrays |
AU3755599A (en) * | 1998-04-24 | 1999-11-16 | E.I. Du Pont De Nemours And Company | Phytic acid biosynthetic enzymes |
US6421808B1 (en) | 1998-04-24 | 2002-07-16 | Cadance Design Systems, Inc. | Hardware design language for the design of integrated circuits |
US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6449283B1 (en) | 1998-05-15 | 2002-09-10 | Polytechnic University | Methods and apparatus for providing a fast ring reservation arbitration |
US5999990A (en) | 1998-05-18 | 1999-12-07 | Motorola, Inc. | Communicator having reconfigurable resources |
US6298396B1 (en) | 1998-06-01 | 2001-10-02 | Advanced Micro Devices, Inc. | System for loading a current buffer desciptor register with a value different from current value to cause a previously read buffer descriptor to be read again |
US6092174A (en) | 1998-06-01 | 2000-07-18 | Context, Inc. | Dynamically reconfigurable distributed integrated circuit processor and method |
JP3123977B2 (ja) | 1998-06-04 | 2001-01-15 | 日本電気株式会社 | プログラマブル機能ブロック |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US6202182B1 (en) | 1998-06-30 | 2001-03-13 | Lucent Technologies Inc. | Method and apparatus for testing field programmable gate arrays |
EP0978944B1 (en) | 1998-07-06 | 2002-01-02 | Hewlett-Packard Company, A Delaware Corporation | Wiring of cells in logic arrays |
KR100385370B1 (ko) | 1998-07-21 | 2003-05-27 | 시게이트 테크놀로지 엘엘씨 | 개선된 메모리 시스템 장치 및 방법 |
US6609088B1 (en) | 1998-07-24 | 2003-08-19 | Interuniversitaire Micro-Elektronica Centrum | Method for determining an optimized memory organization of a digital device |
US6137307A (en) | 1998-08-04 | 2000-10-24 | Xilinx, Inc. | Structure and method for loading wide frames of data from a narrow input bus |
DE19835189C2 (de) | 1998-08-04 | 2001-02-08 | Unicor Rohrsysteme Gmbh | Vorrichtung zur kontinuierlichen Herstellung von nahtlosen Kunststoffrohren |
US20020152060A1 (en) | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
JP2000076066A (ja) | 1998-09-02 | 2000-03-14 | Fujitsu Ltd | 信号処理回路 |
US7100026B2 (en) * | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
US6205458B1 (en) | 1998-09-21 | 2001-03-20 | Rn2R, L.L.C. | Adder and multiplier circuits employing logic gates having discrete, weighted inputs and methods of performing combinatorial operations therewith |
JP3551353B2 (ja) * | 1998-10-02 | 2004-08-04 | 株式会社日立製作所 | データ再配置方法 |
US6862563B1 (en) * | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US6215326B1 (en) | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
EP1138001B1 (en) | 1998-11-20 | 2003-08-27 | Altera Corporation | Reconfigurable programmable logic device computer system |
US6977649B1 (en) | 1998-11-23 | 2005-12-20 | 3Dlabs, Inc. Ltd | 3D graphics rendering with selective read suspend |
JP2000181566A (ja) | 1998-12-14 | 2000-06-30 | Mitsubishi Electric Corp | マルチクロック並列処理装置 |
US6044030A (en) | 1998-12-21 | 2000-03-28 | Philips Electronics North America Corporation | FIFO unit with single pointer |
US6434695B1 (en) | 1998-12-23 | 2002-08-13 | Apple Computer, Inc. | Computer operating system using compressed ROM image in RAM |
US6757847B1 (en) | 1998-12-29 | 2004-06-29 | International Business Machines Corporation | Synchronization for system analysis |
US6496902B1 (en) | 1998-12-31 | 2002-12-17 | Cray Inc. | Vector and scalar data cache for a vector multiprocessor |
JP3585800B2 (ja) | 1999-01-13 | 2004-11-04 | 株式会社東芝 | 情報処理装置 |
US6539438B1 (en) | 1999-01-15 | 2003-03-25 | Quickflex Inc. | Reconfigurable computing system and method and apparatus employing same |
US6490695B1 (en) | 1999-01-22 | 2002-12-03 | Sun Microsystems, Inc. | Platform independent memory image analysis architecture for debugging a computer program |
US6321298B1 (en) | 1999-01-25 | 2001-11-20 | International Business Machines Corporation | Full cache coherency across multiple raid controllers |
DE10028397A1 (de) | 2000-06-13 | 2001-12-20 | Pact Inf Tech Gmbh | Registrierverfahren |
US6243808B1 (en) | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
US6512804B1 (en) * | 1999-04-07 | 2003-01-28 | Applied Micro Circuits Corporation | Apparatus and method for multiple serial data synchronization using channel-lock FIFO buffers optimized for jitter |
GB9909196D0 (en) | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
US6286134B1 (en) | 1999-04-23 | 2001-09-04 | Sun Microsystems, Inc. | Instruction selection in a multi-platform environment |
JP2000311156A (ja) | 1999-04-27 | 2000-11-07 | Mitsubishi Electric Corp | 再構成可能並列計算機 |
US6381624B1 (en) | 1999-04-29 | 2002-04-30 | Hewlett-Packard Company | Faster multiply/accumulator |
US6298472B1 (en) | 1999-05-07 | 2001-10-02 | Chameleon Systems, Inc. | Behavioral silicon construct architecture and mapping |
US6748440B1 (en) * | 1999-05-12 | 2004-06-08 | Microsoft Corporation | Flow of streaming data through multiple processing modules |
US7007096B1 (en) | 1999-05-12 | 2006-02-28 | Microsoft Corporation | Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules |
US6211697B1 (en) | 1999-05-25 | 2001-04-03 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure |
DE19926538A1 (de) | 1999-06-10 | 2000-12-14 | Pact Inf Tech Gmbh | Hardware und Betriebsverfahren |
EP1061439A1 (en) | 1999-06-15 | 2000-12-20 | Hewlett-Packard Company | Memory and instructions in computer architecture containing processor and coprocessor |
US6757892B1 (en) | 1999-06-24 | 2004-06-29 | Sarnoff Corporation | Method for determining an optimal partitioning of data among several memories |
JP3420121B2 (ja) | 1999-06-30 | 2003-06-23 | Necエレクトロニクス株式会社 | 不揮発性半導体記憶装置 |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
GB2352548B (en) | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
US6745317B1 (en) * | 1999-07-30 | 2004-06-01 | Broadcom Corporation | Three level direct communication connections between neighboring multiple context processing elements |
US6370596B1 (en) | 1999-08-03 | 2002-04-09 | Chameleon Systems, Inc. | Logic flag registers for monitoring processing system events |
US6341318B1 (en) | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6204687B1 (en) | 1999-08-13 | 2001-03-20 | Xilinx, Inc. | Method and structure for configuring FPGAS |
US6438747B1 (en) | 1999-08-20 | 2002-08-20 | Hewlett-Packard Company | Programmatic iteration scheduling for parallel processors |
US6507947B1 (en) | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6606704B1 (en) | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
US6311200B1 (en) | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
US6288566B1 (en) | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6631487B1 (en) | 1999-09-27 | 2003-10-07 | Lattice Semiconductor Corp. | On-line testing of field programmable gate array resources |
DE19946752A1 (de) | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Rekonfigurierbares Gate-Array |
US6598128B1 (en) * | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6665758B1 (en) | 1999-10-04 | 2003-12-16 | Ncr Corporation | Software sanity monitor |
US6434642B1 (en) | 1999-10-07 | 2002-08-13 | Xilinx, Inc. | FIFO memory system and method with improved determination of full and empty conditions and amount of data stored |
JP2001167066A (ja) | 1999-12-08 | 2001-06-22 | Nec Corp | プロセッサ間通信方法及びマルチプロセッサシステム |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6633181B1 (en) | 1999-12-30 | 2003-10-14 | Stretch, Inc. | Multi-scale programmable array |
DE60138145D1 (de) | 2000-01-07 | 2009-05-07 | Nippon Telegraph & Telephone | Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung |
JP2001202236A (ja) | 2000-01-20 | 2001-07-27 | Fuji Xerox Co Ltd | プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法 |
US6701431B2 (en) | 2000-01-28 | 2004-03-02 | Infineon Technologies Ag | Method of generating a configuration for a configurable spread spectrum communication device |
US6496971B1 (en) | 2000-02-07 | 2002-12-17 | Xilinx, Inc. | Supporting multiple FPGA configuration modes using dedicated on-chip processor |
US6487709B1 (en) | 2000-02-09 | 2002-11-26 | Xilinx, Inc. | Run-time routing for programmable logic devices |
US7036106B1 (en) * | 2000-02-17 | 2006-04-25 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US6519674B1 (en) | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
JP2001236221A (ja) | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
WO2001063434A1 (en) | 2000-02-24 | 2001-08-30 | Bops, Incorporated | Methods and apparatus for dual-use coprocessing/debug interface |
JP3674515B2 (ja) | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
US6434672B1 (en) | 2000-02-29 | 2002-08-13 | Hewlett-Packard Company | Methods and apparatus for improving system performance with a shared cache memory |
US6539477B1 (en) | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
KR100841411B1 (ko) | 2000-03-14 | 2008-06-25 | 소니 가부시끼 가이샤 | 전송장치, 수신장치, 전송방법, 수신방법과 기록매체 |
US6657457B1 (en) | 2000-03-15 | 2003-12-02 | Intel Corporation | Data transfer on reconfigurable chip |
US6871341B1 (en) | 2000-03-24 | 2005-03-22 | Intel Corporation | Adaptive scheduling of function cells in dynamic reconfigurable logic |
US6624819B1 (en) | 2000-05-01 | 2003-09-23 | Broadcom Corporation | Method and system for providing a flexible and efficient processor for use in a graphics processing system |
US6362650B1 (en) | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
US6373779B1 (en) | 2000-05-19 | 2002-04-16 | Xilinx, Inc. | Block RAM having multiple configurable write modes for use in a field programmable gate array |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
US7340596B1 (en) | 2000-06-12 | 2008-03-04 | Altera Corporation | Embedded processor with watchdog timer for programmable logic |
ATE476700T1 (de) | 2000-06-13 | 2010-08-15 | Richter Thomas | Pipeline ct-protokolle und -kommunikation |
US6285624B1 (en) | 2000-07-08 | 2001-09-04 | Han-Ping Chen | Multilevel memory access method |
DE10129237A1 (de) | 2000-10-09 | 2002-04-18 | Pact Inf Tech Gmbh | Verfahren zur Bearbeitung von Daten |
DE10036627A1 (de) | 2000-07-24 | 2002-02-14 | Pact Inf Tech Gmbh | Integrierter Schaltkreis |
JP2002041489A (ja) | 2000-07-25 | 2002-02-08 | Mitsubishi Electric Corp | 同期信号生成回路、それを用いたプロセッサシステムおよび同期信号生成方法 |
US6538468B1 (en) | 2000-07-31 | 2003-03-25 | Cypress Semiconductor Corporation | Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD) |
US6542844B1 (en) | 2000-08-02 | 2003-04-01 | International Business Machines Corporation | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits |
AU2001283549A1 (en) | 2000-08-07 | 2002-02-18 | Altera Corporation | Software-to-hardware compiler |
US6754805B1 (en) | 2000-08-07 | 2004-06-22 | Transwitch Corporation | Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration |
EP1182559B1 (en) * | 2000-08-21 | 2009-01-21 | Texas Instruments Incorporated | Improved microprocessor |
US7249351B1 (en) | 2000-08-30 | 2007-07-24 | Broadcom Corporation | System and method for preparing software for execution in a dynamically configurable hardware environment |
US6829697B1 (en) | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
US7346644B1 (en) * | 2000-09-18 | 2008-03-18 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6538470B1 (en) * | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6518787B1 (en) | 2000-09-21 | 2003-02-11 | Triscend Corporation | Input/output architecture for efficient configuration of programmable input/output cells |
AU2002220600A1 (en) | 2000-10-06 | 2002-04-15 | Pact Informationstechnologie Gmbh | Cell system with segmented intermediate cell structure |
US6525678B1 (en) | 2000-10-06 | 2003-02-25 | Altera Corporation | Configuring a programmable logic device |
US20040015899A1 (en) | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US20020045952A1 (en) | 2000-10-12 | 2002-04-18 | Blemel Kenneth G. | High performance hybrid micro-computer |
US6398383B1 (en) | 2000-10-30 | 2002-06-04 | Yu-Hwei Huang | Flashlight carriable on one's person |
JP3636986B2 (ja) | 2000-12-06 | 2005-04-06 | 松下電器産業株式会社 | 半導体集積回路 |
GB2370380B (en) * | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
JP4022147B2 (ja) | 2000-12-20 | 2007-12-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 設定可能な機能ユニットを備えるデータ処理装置 |
US6483343B1 (en) | 2000-12-29 | 2002-11-19 | Quicklogic Corporation | Configurable computational unit embedded in a programmable device |
US6426649B1 (en) * | 2000-12-29 | 2002-07-30 | Quicklogic Corporation | Architecture for field programmable gate array |
US6392912B1 (en) | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
US7020673B2 (en) | 2001-01-19 | 2006-03-28 | Sony Corporation | Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system |
US20020099759A1 (en) * | 2001-01-24 | 2002-07-25 | Gootherts Paul David | Load balancer with starvation avoidance |
US6847370B2 (en) | 2001-02-20 | 2005-01-25 | 3D Labs, Inc., Ltd. | Planar byte memory organization with linear access |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6792588B2 (en) | 2001-04-02 | 2004-09-14 | Intel Corporation | Faster scalable floorplan which enables easier data control flow |
US20020143505A1 (en) | 2001-04-02 | 2002-10-03 | Doron Drusinsky | Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals |
US6836849B2 (en) | 2001-04-05 | 2004-12-28 | International Business Machines Corporation | Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements |
US20030086300A1 (en) | 2001-04-06 | 2003-05-08 | Gareth Noyes | FPGA coprocessing system |
US6836842B1 (en) | 2001-04-24 | 2004-12-28 | Xilinx, Inc. | Method of partial reconfiguration of a PLD in which only updated portions of configuration data are selected for reconfiguring the PLD |
US6999984B2 (en) | 2001-05-02 | 2006-02-14 | Intel Corporation | Modification to reconfigurable functional unit in a reconfigurable chip to perform linear feedback shift register function |
US6976239B1 (en) * | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
JP2004533691A (ja) * | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
JP3580785B2 (ja) | 2001-06-29 | 2004-10-27 | 株式会社半導体理工学研究センター | ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法 |
US7043416B1 (en) * | 2001-07-27 | 2006-05-09 | Lsi Logic Corporation | System and method for state restoration in a diagnostic module for a high-speed microprocessor |
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US7036114B2 (en) * | 2001-08-17 | 2006-04-25 | Sun Microsystems, Inc. | Method and apparatus for cycle-based computation |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US6874108B1 (en) | 2001-08-27 | 2005-03-29 | Agere Systems Inc. | Fault tolerant operation of reconfigurable devices utilizing an adjustable system clock |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US20030056091A1 (en) | 2001-09-14 | 2003-03-20 | Greenberg Craig B. | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations |
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US20030055861A1 (en) | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
US20030052711A1 (en) | 2001-09-19 | 2003-03-20 | Taylor Bradley L. | Despreader/correlator unit for use in reconfigurable chip |
US6854073B2 (en) | 2001-09-25 | 2005-02-08 | International Business Machines Corporation | Debugger program time monitor |
US6798239B2 (en) | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US6625631B2 (en) | 2001-09-28 | 2003-09-23 | Intel Corporation | Component reduction in montgomery multiplier processing element |
US7000161B1 (en) | 2001-10-15 | 2006-02-14 | Altera Corporation | Reconfigurable programmable logic system with configuration recovery mode |
WO2003044962A2 (en) | 2001-11-16 | 2003-05-30 | Morpho Technologies | Viterbi convolutional coding method and apparatus |
US6886092B1 (en) | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US6668237B1 (en) | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
US20030154349A1 (en) | 2002-01-24 | 2003-08-14 | Berg Stefan G. | Program-directed cache prefetching for media processors |
US6476634B1 (en) | 2002-02-01 | 2002-11-05 | Xilinx, Inc. | ALU implementation in single PLD logic cell |
DE10204044A1 (de) | 2002-02-01 | 2003-08-14 | Tridonicatco Gmbh & Co Kg | Elektronisches Vorschaltgerät für Gasentladungslampe |
US6961924B2 (en) | 2002-05-21 | 2005-11-01 | International Business Machines Corporation | Displaying variable usage while debugging |
WO2005010632A2 (en) * | 2003-06-17 | 2005-02-03 | Pact Xpp Technologies Ag | Data processing device and method |
WO2004021176A2 (de) * | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US6908227B2 (en) | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
US6957306B2 (en) | 2002-09-09 | 2005-10-18 | Broadcom Corporation | System and method for controlling prefetching |
US6803787B1 (en) | 2002-09-25 | 2004-10-12 | Lattice Semiconductor Corp. | State machine in a programmable logic device |
US6802206B2 (en) | 2002-10-11 | 2004-10-12 | American Axle & Manufacturing, Inc. | Torsional actuation NVH test method |
US6816814B2 (en) * | 2002-11-12 | 2004-11-09 | Sonics, Inc. | Method and apparatus for decomposing and verifying configurable hardware |
US7028283B1 (en) * | 2003-01-30 | 2006-04-11 | Xilinx, Inc. | Method of using a hardware library in a programmable logic device |
US7873811B1 (en) * | 2003-03-10 | 2011-01-18 | The United States Of America As Represented By The United States Department Of Energy | Polymorphous computing fabric |
US7139985B2 (en) | 2003-06-18 | 2006-11-21 | Ambric, Inc. | Development system for an integrated circuit having standardized hardware objects |
US7412581B2 (en) | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
US7472155B2 (en) | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7567997B2 (en) | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US8495122B2 (en) | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7870182B2 (en) | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US7038952B1 (en) | 2004-05-04 | 2006-05-02 | Xilinx, Inc. | Block RAM with embedded FIFO buffer |
US7290238B2 (en) * | 2004-05-12 | 2007-10-30 | International Business Machines Corporation | Method, system and program product for building an automated datapath system generating tool |
US7455450B2 (en) | 2005-10-07 | 2008-11-25 | Advanced Micro Devices, Inc. | Method and apparatus for temperature sensing in integrated circuits |
WO2007082730A1 (de) * | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US7759968B1 (en) | 2006-09-27 | 2010-07-20 | Xilinx, Inc. | Method of and system for verifying configuration data |
US8103987B2 (en) * | 2007-03-09 | 2012-01-24 | Mips Technologies, Inc. | System and method for managing the design and configuration of an integrated circuit semiconductor design |
US7971051B2 (en) * | 2007-09-27 | 2011-06-28 | Fujitsu Limited | FPGA configuration protection and control using hardware watchdog timer |
US20090193384A1 (en) | 2008-01-25 | 2009-07-30 | Mihai Sima | Shift-enabled reconfigurable device |
JP2010277303A (ja) | 2009-05-28 | 2010-12-09 | Renesas Electronics Corp | 半導体装置及び異常検出方法 |
-
2007
- 2007-01-17 WO PCT/EP2007/000380 patent/WO2007082730A1/de active Application Filing
- 2007-01-17 JP JP2008550680A patent/JP2009524134A/ja active Pending
- 2007-01-17 EP EP07702834A patent/EP1974265A1/de not_active Ceased
- 2007-01-17 US US12/087,916 patent/US8250503B2/en active Active
-
2012
- 2012-06-08 US US13/491,935 patent/US20120278772A1/en not_active Abandoned
-
2014
- 2014-07-07 US US14/325,150 patent/US20140331194A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US8250503B2 (en) | 2012-08-21 |
US20090199167A1 (en) | 2009-08-06 |
EP1974265A1 (de) | 2008-10-01 |
US20140331194A1 (en) | 2014-11-06 |
WO2007082730A1 (de) | 2007-07-26 |
US20120278772A1 (en) | 2012-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009524134A (ja) | ハードウェア定義方法 | |
Cardoso et al. | Compilation techniques for reconfigurable architectures | |
EP2490141B1 (en) | Method of, and apparatus for, stream scheduling in a parallel pipelined stream processor | |
Moreano et al. | Efficient datapath merging for partially reconfigurable architectures | |
WO2002061633A2 (en) | System, method and article of manufacture for signal constructs in a programming language capable of programming hardware architectures | |
WO2002061630A2 (en) | System, method and article of manufacture for distributing ip cores | |
WO2006046711A1 (ja) | 再構成可能な論理回路を有するデータ処理装置 | |
Koch et al. | High-Level-Language Compilation for Reconfigurable Computers. | |
Gajski et al. | Essential issues in codesign | |
WO2002061631A2 (en) | System, method and article of manufacture for using a library map to create and maintain ip cores effectively | |
WO2002061636A2 (en) | System, method and article of manufacture for parameterized expression libraries | |
Koul et al. | Aha: An agile approach to the design of coarse-grained reconfigurable accelerators and compilers | |
Abdelhamid et al. | A highly-efficient and tightly-connected many-core overlay architecture | |
Rykunov | Design of asynchronous microprocessor for power proportionality | |
Meredith | High-level SystemC synthesis with forte's cynthesizer | |
Dutta et al. | A holistic approach for tightly coupled reconfigurable parallel processors | |
Peng et al. | Automated synthesis for asynchronous FPGAs | |
Stripf et al. | A compilation-and simulation-oriented architecture description language for multicore systems | |
Werner et al. | Automatic toolflow for VCGRA generation to enable CGRA evaluation for arithmetic algorithms | |
Reshadi | No-Instruction-Set-Computer (NISC) technology modeling and compilation | |
Yu et al. | Executing hardware as parallel software for PicoBlaze networks | |
Trajkovic et al. | Automated generation of custom processor core from c code | |
Sawitzki et al. | Prototyping framework for reconfigurable processors | |
Hara-Azumi et al. | Simultaneous Allocation and Binding Considering Multiplexers in High-Level Synthesis | |
Becker et al. | Real-time prototyping in microprocessor/accelerator symbiosis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120509 |