JP3801214B2 - 再構成可能な演算システム - Google Patents
再構成可能な演算システム Download PDFInfo
- Publication number
- JP3801214B2 JP3801214B2 JP51054098A JP51054098A JP3801214B2 JP 3801214 B2 JP3801214 B2 JP 3801214B2 JP 51054098 A JP51054098 A JP 51054098A JP 51054098 A JP51054098 A JP 51054098A JP 3801214 B2 JP3801214 B2 JP 3801214B2
- Authority
- JP
- Japan
- Prior art keywords
- dram
- array
- configuration
- bit
- function
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Logic Circuits (AREA)
- Dram (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Electrotherapy Devices (AREA)
Description
本発明は再構成可能な演算に関し、より詳細には、専ら書き換え可能ゲートアレイ(FPGA)及び同様の構造に関するのではない、再構成可能な演算に関する。
発明の背景
書き換え可能ゲートアレイ(FPGA)として公知である、再構成可能ゲートアレイは、産業界で広く使用され、種々のデジタル回路を動作させる。その応用範囲は、コンピュータ、ワークステーション、制御システム等を含む。代表的な従来のFPGAデバイスは、特定の設計要求を満足するように構成される幾つかの論理セルからなる。プログラムされていないFPGAは、後述するような所定の論理セル構造からなる。これらのセルは各々、特定のタスク(論理回路)を実行するように構成され、所望の機能性を達成する。一般にプログラム情報は、比較的遅いプロセス(幾つかのデバイスは、さらに非常に遅いプロセスである8ビット長バスを介してロードされ、)としてFPGA内に連続的にロードされ、典型的には分散スタティックRAM(SRAM)として実行される構成記憶素子によって、電力がデバイスに供給されている限りは、プログラム情報は内部に維持される。またこのデバイスは、前述した再構成データの遅い連続ロードを含む予め定められたプログラムシーケンスに続くことによって、電力が加えられると、再構成することが可能となる。例としては、従来のFPGAである、Xilinx CorporationのデバイスXC4025は、422,128ビットのプログラム情報を必要とし、ほぼ42msでデバイスのプログラム(再構成)を完了する。
FPGAが一度電力が入れられるだけでプログラムされ、再構成性が問題ではない、ある種のアプリケーションに対しては、この相当に大きな構成時間は一般に容認され得る。しかし再構成時間が実質上縮められるとしても、性能を著しく向上させることができる他の種類のアプリケーションの要求を満足させることができない。この問題は、リアルタイムシミュレーション、双対プロセッサ、デジタル信号処理、他の種々のアルゴリズム等を含む、全ての型式のアプリケーションにあてはまる。
本発明は、最近の再構成の制限及びそれに関する問題を排除することを意図し、また結果的にオンザフライ変更可能チップもしくは他の論理構成を提供するような、多くのアプリケーションに対して実質上万能に利用することができる、非常に高められたシステム性能を低コストで提供することを意図する。
特に高速コンピュータ及びワークステーションの、非常に多くのこのようなシステム設計は、機能ユニットの固定構造のために、それらの特定のドメインを外れる如何なる動作の実行も幾分遅らせる、シミュレーションのようなアプリケーションのあるクラスの性能を確実に制限する。このような問題は、「オンザフライ」再構成性により最もよく解決されるが、これはさらに再構成に必要な時間のために未解決の部分を残す。
したがってある種の広く利用されるアプリケーションが必要とする動的再構成可能論理に対する低コスト、高性能装置の可能性は、十分に分かりにくいまま残った。この問題は、これらの問題を排除し、このように特に低コストで相当に高い性能を提供する、革新的な自己更新オンザフライ再構成可能FPGA構成をここで提供する本発明の出現まで、解決されなかった。
実例となるシミュレーション及び双対プロセッサが、これらの問題及び本発明がその問題を克服する方法のより一層の理解のために例として以下に示されるが、本発明はこれらの例示の範囲にのみ限定されて論じられるものではない。
シミュレーションアプリケーション例
大規模デジタル集積回路設計は、その不経済性及び組立サイクルでの時間の浪費以前に、組立後正確に機能するその機会を最大化するようにシミュレートされる。この設計は、刺激を与えて応答を認めることによって、全ての可能な入力状態を高性能エンジニアリングワークステーションで広く照会する。応答が予想された結果と一致しなければ、この設計は正当性に対して照会される。この繰り返されるプロセスは、全ての可能な予定の計画が確認されるまで続けられる。シミュレーションは、極度に時間を浪費し、不経済であり、市場への時間を余計にかけるが、しかしこの問題は、設計技法の欠くことのできない部分であり、一般に大規模シミュレーションタスクを何人かの技術者の間で分配して結果をまとめることにより成し遂げられる。この分配してまとめる方法は、実質上より高いコストでタスクの速度向上がなされるにも関わらず、非常にエラーを生じやすいプロセスである。最近のIntel Pentiumマイクロプロセッサの浮動小数点ユニットにともなう失敗は適例である。
例として、次世代CPUとしての、2つのクロックサイクルで2つの32ビット数を加えて設計された、新しい高速機能ユニットを考える。このソフトウエアを基にしたゲートレベルシミュレーションは、高速ワークステーションで幾千ものクロックサイクルを取る。多重動作サイクルがこのような新しい機能ユニット設計に対して照会することが必要であるならば、現行の設計の動作よりも非常に劣る結果の遅れは、全シミュレーションの相当な時間を消費する。
この問題に対する他のアプローチは、外部ハードウエアを介して接続される非常に多くの数の従来のFPGA上に設計がマッピングされる、「設計エミュレーション」(例えばQuick Turn Corporationのエミュレーションパンフレットに記載される)であり、これは動作速度よりもより一層遅い速度でリアルタイムで実行される。このエミュレーション装置は非常に高価であり、各エミュレーションサイクルに対して設定するために長時間を必要とし、時に現行の設計でさえも全くマップすることができず、したがって広範に使用できない。
演算アプリケーション例
説明的な背景用途として、複雑な反復型64ビット乗算機能が付加的な機能により引き続いて行われ、1024のサンプルに対して32ビットCPUによって実行される演算アプリケーション例を考える。CPUはこのタスクを実行する専用機能ユニットを備えないので、このタスクは64ビット乗算の多重ステップ32ビット実施を含む種々のサブタスクに分割され、結果は多重32ビット加算を実行することにより他の64ビット数に加えられる。このプロセスは1024回繰り返される。明らかにこの実行はCPU時間の相当な時間数を消費し、それによって実質上性能は低下する。
確かにこれらの及び同様な火急の問題の効果的な解法に対して、本発明は向けられ、この発明は、新しい型式のFPGA及び関係した構成の展開及び方法の展開において解決をなすと信じられ、本発明は:
a.純然たるデバイス速度よりはむしろ新規な構成をオンザフライ再構成性に与え;
b.能率的な高速パイプライン実施を考慮する自己変更性能を与え;
c.チップの内部に非常に多くの数の構成を格納し;
d.与えられた機能性に対して少ない数のピンを与え;
e.ピンの総数を減少させるために相応の低コストを与え;さらに
f.単純なシステムインタフェースを与えて設計努力を最小とする。
発明の目的
したがって本発明の目的は、新規のDRAMを基にした構成制御構造を利用し、一方低コストで非常に高められたシステム性能を与える、それによって無数のアプリケーションに対して実質上万能に利用可能である、新しくかつ改良された動的再構成可能ゲートアレイシステム、構造、方法を提供することであり、この制御構造は、これらの上記の及び関係する問題を含む再構成性の制限を除去する。
他の目的は、所定の基準を基にした論理実行を自己変更する方法及び装置を提供することである。
さらなる目的は、非常に多くのメモリが、再構成時間が従来のアプローチよりも4桁も速く、かつ特に低コストであるように、FPGAの内部で利用することができ、かつわずかな数のピンにアクセスされる、このような新規のシステムを提供することである。
さらに他の目的は、非再構成及び再構成どちらのアプリケーションにおいても等しく効果的に作用する、この新規な構造を基にしたシステムを提供することである。
他の及びさらなる目的は、これ以降に明らかにされ、添付される請求項により詳細に記される。
要約
より広範は観点の1つから、要約すれば、結合された構成ビットメモリによって制御される論理機能を各々有するプログラム可能論理セルのアレイを構成する方法を本発明は高める。ビットメモリは、DRAMコア内で多重プログラム構成を画定するビット情報を格納し;アレイにバスを接続して所望の構成を画定するビット情報を備えるセルの構成ビットメモリのDRAM行長ロードを可能にし;さらに構成コマンド上で、DRAMコアから少なくとも一度に一行、構成ビット情報を検索し、セルのビットメモリにこのような情報をロードして対応するセル論理機能を所望の構成プログラムが達成されるように制御する。
好適な及び最適な態様の設計及び技術はこれ以降に詳細が説明される。
図面
さらに本発明が、添付の図面に関連して記述される。添付の図面の内で図1〜3は、従来の技術を説明する。
図1は、代表的な従来技術のFPGAインタフェースのブロックダイアグラムである;
図2は、代表的な従来技術のFPGA内部論理セル構造もしくはアレイ、及びチャンネルの経路を示す;
図3は、図2のような構成において使用される、代表的な従来技術の構成可能論理セルを図解する;
図4は、本発明にしたがって構成され、ここでは「SONAL」構造と称する構造の部分的な上面のブロックダイアグラムであり、この「SONAL」なる用語は自己変更オンザフライ可変論理を意味する;
図5は、自己変更論理機能の実行を可能にするこのような新規の構造のブロックダイアグラムである;
図6は、また本発明にしたがって構成されるシステム構造のブロックダイアグラムであり、本発明が「SONAL」FPGAと称する、自己変更「オンザフライ」可変論理を具現化している;
図7は、本発明の「SONAL」FPGAに対して有効なピンアウトの例を示す;
図8は、図7に言及する前の「SONAL」FPGAの変更であり、「PARAS」と呼ばれるインタフェース及びアクセスとの使用に適合し、1994年10月7日出願の同時係続中の米国特許出願第08/320,058号に開示され、少ない数のピンでメモリ構造が集積されている。
発明の好適実施例
さらに再構成遅延及び、この新しい「SONAL」にしたがって他の前述された障害を排除するような本発明を開示することを目的とする。この新しい「SONAL」は、FPGAの再構成において消費する総時間数を劇的に減少させることにより、所望であれば自己変更形態を提供することにより解法の中心であり、それによって外部の介入なしに機能変更でき、その結果大変に速い実行時間が得られる。他の利点は、FPGA内部に大規模メモリを利用できることが含まれ、結果として前述のようにシステムのコストが縮小される。
前述のように図1は、主メモリと共に動作するCPUによってラベル付けされ、バスシステムを介してプログラムされるFPGAユニット(#1〜#n)を利用する従来技術のFPGAインタフェースを示す。FPGAユニットは、内部論理セル構造もしくはアレイ及び図2のチャンネル経路を備え、内部論理セルは図3に示されるような結合される構成静的RAM(SRAM)によって制御される論理機能を有する各構成可能論理セルを備え、そこで構成データが静的RAMビットの内部に配置される縮小部分に格納される。しかしながら本発明においては、図4に示すようにDRAMコアが使用されて多重構成を格納する。またデバイス構成に対して要求される構成SRAMビットが与えられる。DRAMの行長バス(ここで使用されるような用語「行」は行の部分又は小数部を包含する)が与えられ、これは、プログラム可能な要素をその後さらに制御する、SRAMビットに直接接続される。構成コマンドが与えられた後、全ての必要な構成記憶素子がロードされてしまうまで、行は常に検索されて前記SRAMビット内に格納される。一部分の再構成は、変更される必要のあるそれらのSRAMビットをロードすることにのみによって達成される。この発明のさらなる改良は、変更される必要のあるビットのみが構成SRAM内にロード可能となるように、マスクする機能を与える。またチップの動作中、DRAM内に新たな構成データをロードすることも可能である。また同じDRAMが、外部I/O双方からもしくは内部論理を介してアクセス可能である記憶空間として使用可能である。外部インタフェース側からは、狭いI/O長データインタフェースを備えるが、内部ではその行長バスは、1つのアクセスにおいて行長データの格納/検索の最大を使用可能である。一度行が内部に選択されると、非常に高速度でコラムデータにアクセスする機能がステートマシーン処理に対してこれを仮想空間とする。従来と等しい行の数及びコラムアプローチに従う必要はなく、ある場合にはコラムを区別するような行に向かう相当なバイアスを備える構造を有することが有利であり、より速い動的な再構成さえ考慮される。全ての機能性は例として最もよく例示される。
全てのそのプログラム可能な素子を構成するのに32768ビット必要とされ、それが再構成可能である際に、10MHzの最大シリアルレートを備える従来のFPGAを考える。さらにこの再構成時間はおおよそ3.3msである。対応する「SONAL」が、図4に示すようにその構造の部分として、256K×8DRAMコアからなると仮定する。再構成コマンドを受信後、4096ビット(1行あたり512ビット×8ビット長)からなる行は、「SONAL」FPGA内で検索され、対応する構成SRAMビット内に格納される。この行検索及び次の格納プロセスは、この例では8回繰り返され、全ての要求構成SRAMビットがロードされる。行検索レートが40nsであれば、合計320nsがFPGAの再構成を完了するのに必要とされる。これは3.3msを必要とする今日の現行のFPGA解法を越える本発明の最も大きな利点である。したがって本発明は、従来のアプローチをおおよそ4桁上回る改良を提供する。さらにバスは、対応する性能の低下を伴って、最大限の行長を有さずに、前述のようにここで依然として「行」と称される行の部分とすることが可能であることに注意されなければならない。
「SONAL」のこの速い再構成時間は、デバイスを構成するのに「r」行が必要とされ、行を検索するのに「t」ナノ秒かかるとするような多重DRAMバンク「m」コを組み込むことによって、さらに向上させることが可能である。この場合
構成時間=r×t/m
である。
構成SRAMビットを備える1つの理由はDRAMコアの再生要求にある。部分に集中したDRAMセルによってこれらSRAMビットを置き換えることもまた確実に可能であるが、しかしこれは再生要求によって生じる干渉のために好ましい解法ではない。これらのビットの除去は、コスト及びデバイスの電力消費を低減させる。本発明の代替的な実施態様は、DRAMの2つの同一のバンクを使用することに関し、同一の構成データがそれらの双方にロードされる。行が全部のFPGAを構成するのに十分なデータを提供すると仮定すると、SRAMビットは必要とされず;1つのバンクが再生されるともう一方のバンクが構成データを提供する。この概念は、「m/2」バンクが同一の構成情報を他の「m/2」バンクとして有するような、「m」バンクに拡張することが可能である。
このデバイスの1つのアプリケーションにおいて、多重化されたデータの逐次流れは、パラレルフォーマットに変換されて同時にDRAM行に異なる所定のコラムアドレスでロードされる、その構成要素である逐次流れの中に分配可能である。
本発明の他の代替的な実施態様では、他の内部バンクが一般用途メモリに関して使用されるのみであるのに対して、内部DRAMバンクが再構成データに関して使用され、それにより双方のバンクが同じインタフェースを介して外部にアクセスしてコストを最小とする。
本発明のさらに他の実施態様では、自己変更回路が、図5に示される1つの可能な実施とともに設計可能である。ここで各行アドレス特有にデコードする必要がビットの数に等しいデータ長を備える小さなSRAMは、DRAMの選択された行アドレスを駆動する。この自己変更構造内に位置するSRAMコアアドレスの数は、再構成機能の必要とされる深度に支配される。この場合例えば、32×9SRAMとして示されている。FPGA制御論理によって駆動される、このSRAMコアに対して5アドレスビットが存在する。論理セルアレイからの構成データビットコマンドに応答してもしくは適当な事象又はある論理状態が遭遇する他の時点で、SRAMコアの出力は行長構成データ検索するのに使用される。この新しい実施は、種々の回路素子の状態を仮定し、結果としてすでに他の回路機能の実施を生じる;その他諸々、機械的にSRAMコアアドレス入力を駆動する、異なる制御論理を備えることができる。したがってチップの機能は、ある論理状態の結果を仮定して所定の論理実施に動的に変更可能である。この技術は、結合されるCPUから最小の介入を必要とする、したがって全体のシステム性能を著しく向上する高効率自己変更回路を提供し、またこの技術は、パイプライン設計等のデジタル信号処理アルゴリズムにおいて広範なアプリケーションを有する。1つの潜在的なアプリケーションは、大規模なパイプライン設計を多重構成にセグメント化することであり、これらの構成は処理ハードウエアによって要求されるようにロードされる。これはゲートの再使用のための設計を実行するのに要求されるゲートの数を著しく減少させ、それによってチップコストが減少する。非常に高速の「オンザフライ」自己変更機能の故にのみ達成可能である。
またSRAMコアはフラッシュメモリもしくはEEPROMのような他の技術とともに実施することも可能である。
システムレベルにおいて、このような多重「SONAL」デバイスは、システムバスに接続可能であり、図6に示すように機械の性能を高めることが可能である。再構成もしくは自己変更回路に対するこのオンザフライアプローチは、FPGAのみに制限されず、同様の再構成可能素子からなるCPUの部分とすることも可能であることに注意されなければならない。
例えばプラットフォームから独立しているように特に設計され、それによって種々の機械の中で完全な可搬性を提供する「JAVA」(最も広く使用されるインターネット言語)を考える。種々のCPUの特有の構造性能の利点を受けることができないので、「JAVA」は極めて遅く実行する点で不利である。「JAVA」の実効速度を向上させる1つのアプローチは、それを与えることにより、(従来のCPU機能に付加して)共通の仮想ハードウエアプラットフォームを非常に高速で変更可能とすることである。この仮想ハードウエアは、どちらかのCPU自体の「SONAL」性能を再構成可能性に与えることにより実行されもしくは独立した「SONAL」FPGAとして実行される。したがってこの構造は、より高速の実行を提供してもなお、プラットフォームから独立するキーエレメントを持ち続ける。
「SONAL」I/Oインタフェース
チップはその特有の構造を示す幾分異なるピンアウトを備える。独立したアドレスとデータバスを備える従来のDRAMインタフェースを与える、1つの可能なピンアウトが図7に例示される。256K×8DRAMを備える「SONAL」の例を考える。従来のDRAMアクセスアプローチを使用すると、21ピン(アドレスのために9ピン、データのために8ピン、「RAS」、「CAS」、「書込」、「出力可能」のそれぞれに対して1ピン)が必要とされる。またFPGAセルとDRAMコアの間の内部転送が発生するときには常に、「待ち」信号がシステムバスインタフェースに与えられる。CPU(もしくは他の主コントローラ)は、アクセスの開始を遅らせるようにどちらもそれを使用することができ、もしくは交互に実行する際には、このアクセスを続ける前に、内部転送が完了するようにアクセスサイクルを延長することが可能である。さらに本発明の改良は、ピンの数すなわちコストを減少させることができる。前記係属中の出願の、「PARAS」DRAMと呼ばれるインタフェースアクセス機構が「SONAL」と一緒に使用される。[この出願は、新規なインタフェース及びアクセス方法によって非同期及び同期のダイナミックランダムアクセスメモリのアクセス性能を向上させるための方法及び装置を開示し、そこでは同一のピンが、行、コラム、データアクセスに対して、読出及び書込どちらのサイクルにおいても使用され;このような効果的な機能が、より少数のピンによって実質上同一の寸法のパッケージ内でデータのバンド幅及びアドレス範囲を増加させる。]このような「PARAS」モデルを使用して、わずか13ピン及び「待ち」に関する1ピンが図8に示されるように必要とされる。さらに構成データがロードされてしまった後DRAMとアクセスする必要がない及びこれにより外部アクセスが必要とされないアプリケーションにおいて、同じピンが従来のFPGA I/Oピンとして使用可能であることに注意されなければならない。
また行及びコラムアドレスを多重サブアドレスに分割することにより、またデータ及び制御ピンを同じライン上で共有することにより、I/Oピンの数をさらに減少させることが可能である。これは明らかにCPUのような外部デバイスからのアクセス時間を減速させるが、より少ないピン数、低減されたコスト、動作中のオンザフライ変更可能FPGAを提供する。
「SONAL」を使用するシミュレーションアプリケーション
例として、2つの32ビット数を2クロックサイクルで加算可能な高速32ビット加算器が次世代CPUに対して設計され、ワークステーションが双対プロセッサとして動作する「SONAL」型式のFPGAを備えるとすれば、典型的には加算器シミュレーションは幾つかのクロックサイクルをとる。好適な実施態様によれば、「SONAL」は動的に再構成することが可能であり、さらにこのような構成された「SONAL」でリアルタイムにタスクを実行することにより、この機能を照会することが可能である。これは、典型的には何千回ものサイクルを行う、「SONAL」アプローチのない従来のワークステーションに十分に匹敵する。
「SONAL」を使用する演算アプリケーション
背景を説明する目的に対して、複雑な反復型64ビット乗算機能が加算機能に引続く、演算アプリケーション例を使用すると、この例が1024サンプルに対して32ビットCPUにより実行されるならば、「SONAL」を備えるCPUは、ステップにおいて反復64ビット機能を実行する機能が限定されたユニットとして動作してそれを構成し、それによって既に記述された従来のアプローチに比較される機械の性能が実質上向上する。
したがって本発明を利用するこのような新規のFPGA構造の利点は、既に示されたように、純然たるデバイス速度よりはむしろ構造上の考案を有するオンザフライ再構成の提供であり;効率的な高速パイプライン実施を見越す自己変更性能;チップの内部に多くの構成を格納すること;ピンの数の減少のために比較的低コストで、提供される機能に対するピンの数を減少させること;及び現行のFPGAユニットとほぼ同一のシステム設計インタフェースを提供すること、したがって設計サイクルを最小とする。
またさらなる変更が当業の熟練者に思い起こされ、その変更とは、ネットワーク、マルチメディア、他のアプリケーションに関してDRAM内に高速シリアルデータロードを可能にする論理を提供すること、外部デバイスよりもむしろCPUそれ自体の部分としてこのアプローチを実行すること、もしくはFPGAとは異なるデバイスに高速再構成に関して内部接続とともに外部DRAMインタフェースを適用することの中で行われ、これらを含むが、このような変更は添付の請求の範囲に定義されるような発明の精神及び範囲の内にあると見なされる。
発明の背景
書き換え可能ゲートアレイ(FPGA)として公知である、再構成可能ゲートアレイは、産業界で広く使用され、種々のデジタル回路を動作させる。その応用範囲は、コンピュータ、ワークステーション、制御システム等を含む。代表的な従来のFPGAデバイスは、特定の設計要求を満足するように構成される幾つかの論理セルからなる。プログラムされていないFPGAは、後述するような所定の論理セル構造からなる。これらのセルは各々、特定のタスク(論理回路)を実行するように構成され、所望の機能性を達成する。一般にプログラム情報は、比較的遅いプロセス(幾つかのデバイスは、さらに非常に遅いプロセスである8ビット長バスを介してロードされ、)としてFPGA内に連続的にロードされ、典型的には分散スタティックRAM(SRAM)として実行される構成記憶素子によって、電力がデバイスに供給されている限りは、プログラム情報は内部に維持される。またこのデバイスは、前述した再構成データの遅い連続ロードを含む予め定められたプログラムシーケンスに続くことによって、電力が加えられると、再構成することが可能となる。例としては、従来のFPGAである、Xilinx CorporationのデバイスXC4025は、422,128ビットのプログラム情報を必要とし、ほぼ42msでデバイスのプログラム(再構成)を完了する。
FPGAが一度電力が入れられるだけでプログラムされ、再構成性が問題ではない、ある種のアプリケーションに対しては、この相当に大きな構成時間は一般に容認され得る。しかし再構成時間が実質上縮められるとしても、性能を著しく向上させることができる他の種類のアプリケーションの要求を満足させることができない。この問題は、リアルタイムシミュレーション、双対プロセッサ、デジタル信号処理、他の種々のアルゴリズム等を含む、全ての型式のアプリケーションにあてはまる。
本発明は、最近の再構成の制限及びそれに関する問題を排除することを意図し、また結果的にオンザフライ変更可能チップもしくは他の論理構成を提供するような、多くのアプリケーションに対して実質上万能に利用することができる、非常に高められたシステム性能を低コストで提供することを意図する。
特に高速コンピュータ及びワークステーションの、非常に多くのこのようなシステム設計は、機能ユニットの固定構造のために、それらの特定のドメインを外れる如何なる動作の実行も幾分遅らせる、シミュレーションのようなアプリケーションのあるクラスの性能を確実に制限する。このような問題は、「オンザフライ」再構成性により最もよく解決されるが、これはさらに再構成に必要な時間のために未解決の部分を残す。
したがってある種の広く利用されるアプリケーションが必要とする動的再構成可能論理に対する低コスト、高性能装置の可能性は、十分に分かりにくいまま残った。この問題は、これらの問題を排除し、このように特に低コストで相当に高い性能を提供する、革新的な自己更新オンザフライ再構成可能FPGA構成をここで提供する本発明の出現まで、解決されなかった。
実例となるシミュレーション及び双対プロセッサが、これらの問題及び本発明がその問題を克服する方法のより一層の理解のために例として以下に示されるが、本発明はこれらの例示の範囲にのみ限定されて論じられるものではない。
シミュレーションアプリケーション例
大規模デジタル集積回路設計は、その不経済性及び組立サイクルでの時間の浪費以前に、組立後正確に機能するその機会を最大化するようにシミュレートされる。この設計は、刺激を与えて応答を認めることによって、全ての可能な入力状態を高性能エンジニアリングワークステーションで広く照会する。応答が予想された結果と一致しなければ、この設計は正当性に対して照会される。この繰り返されるプロセスは、全ての可能な予定の計画が確認されるまで続けられる。シミュレーションは、極度に時間を浪費し、不経済であり、市場への時間を余計にかけるが、しかしこの問題は、設計技法の欠くことのできない部分であり、一般に大規模シミュレーションタスクを何人かの技術者の間で分配して結果をまとめることにより成し遂げられる。この分配してまとめる方法は、実質上より高いコストでタスクの速度向上がなされるにも関わらず、非常にエラーを生じやすいプロセスである。最近のIntel Pentiumマイクロプロセッサの浮動小数点ユニットにともなう失敗は適例である。
例として、次世代CPUとしての、2つのクロックサイクルで2つの32ビット数を加えて設計された、新しい高速機能ユニットを考える。このソフトウエアを基にしたゲートレベルシミュレーションは、高速ワークステーションで幾千ものクロックサイクルを取る。多重動作サイクルがこのような新しい機能ユニット設計に対して照会することが必要であるならば、現行の設計の動作よりも非常に劣る結果の遅れは、全シミュレーションの相当な時間を消費する。
この問題に対する他のアプローチは、外部ハードウエアを介して接続される非常に多くの数の従来のFPGA上に設計がマッピングされる、「設計エミュレーション」(例えばQuick Turn Corporationのエミュレーションパンフレットに記載される)であり、これは動作速度よりもより一層遅い速度でリアルタイムで実行される。このエミュレーション装置は非常に高価であり、各エミュレーションサイクルに対して設定するために長時間を必要とし、時に現行の設計でさえも全くマップすることができず、したがって広範に使用できない。
演算アプリケーション例
説明的な背景用途として、複雑な反復型64ビット乗算機能が付加的な機能により引き続いて行われ、1024のサンプルに対して32ビットCPUによって実行される演算アプリケーション例を考える。CPUはこのタスクを実行する専用機能ユニットを備えないので、このタスクは64ビット乗算の多重ステップ32ビット実施を含む種々のサブタスクに分割され、結果は多重32ビット加算を実行することにより他の64ビット数に加えられる。このプロセスは1024回繰り返される。明らかにこの実行はCPU時間の相当な時間数を消費し、それによって実質上性能は低下する。
確かにこれらの及び同様な火急の問題の効果的な解法に対して、本発明は向けられ、この発明は、新しい型式のFPGA及び関係した構成の展開及び方法の展開において解決をなすと信じられ、本発明は:
a.純然たるデバイス速度よりはむしろ新規な構成をオンザフライ再構成性に与え;
b.能率的な高速パイプライン実施を考慮する自己変更性能を与え;
c.チップの内部に非常に多くの数の構成を格納し;
d.与えられた機能性に対して少ない数のピンを与え;
e.ピンの総数を減少させるために相応の低コストを与え;さらに
f.単純なシステムインタフェースを与えて設計努力を最小とする。
発明の目的
したがって本発明の目的は、新規のDRAMを基にした構成制御構造を利用し、一方低コストで非常に高められたシステム性能を与える、それによって無数のアプリケーションに対して実質上万能に利用可能である、新しくかつ改良された動的再構成可能ゲートアレイシステム、構造、方法を提供することであり、この制御構造は、これらの上記の及び関係する問題を含む再構成性の制限を除去する。
他の目的は、所定の基準を基にした論理実行を自己変更する方法及び装置を提供することである。
さらなる目的は、非常に多くのメモリが、再構成時間が従来のアプローチよりも4桁も速く、かつ特に低コストであるように、FPGAの内部で利用することができ、かつわずかな数のピンにアクセスされる、このような新規のシステムを提供することである。
さらに他の目的は、非再構成及び再構成どちらのアプリケーションにおいても等しく効果的に作用する、この新規な構造を基にしたシステムを提供することである。
他の及びさらなる目的は、これ以降に明らかにされ、添付される請求項により詳細に記される。
要約
より広範は観点の1つから、要約すれば、結合された構成ビットメモリによって制御される論理機能を各々有するプログラム可能論理セルのアレイを構成する方法を本発明は高める。ビットメモリは、DRAMコア内で多重プログラム構成を画定するビット情報を格納し;アレイにバスを接続して所望の構成を画定するビット情報を備えるセルの構成ビットメモリのDRAM行長ロードを可能にし;さらに構成コマンド上で、DRAMコアから少なくとも一度に一行、構成ビット情報を検索し、セルのビットメモリにこのような情報をロードして対応するセル論理機能を所望の構成プログラムが達成されるように制御する。
好適な及び最適な態様の設計及び技術はこれ以降に詳細が説明される。
図面
さらに本発明が、添付の図面に関連して記述される。添付の図面の内で図1〜3は、従来の技術を説明する。
図1は、代表的な従来技術のFPGAインタフェースのブロックダイアグラムである;
図2は、代表的な従来技術のFPGA内部論理セル構造もしくはアレイ、及びチャンネルの経路を示す;
図3は、図2のような構成において使用される、代表的な従来技術の構成可能論理セルを図解する;
図4は、本発明にしたがって構成され、ここでは「SONAL」構造と称する構造の部分的な上面のブロックダイアグラムであり、この「SONAL」なる用語は自己変更オンザフライ可変論理を意味する;
図5は、自己変更論理機能の実行を可能にするこのような新規の構造のブロックダイアグラムである;
図6は、また本発明にしたがって構成されるシステム構造のブロックダイアグラムであり、本発明が「SONAL」FPGAと称する、自己変更「オンザフライ」可変論理を具現化している;
図7は、本発明の「SONAL」FPGAに対して有効なピンアウトの例を示す;
図8は、図7に言及する前の「SONAL」FPGAの変更であり、「PARAS」と呼ばれるインタフェース及びアクセスとの使用に適合し、1994年10月7日出願の同時係続中の米国特許出願第08/320,058号に開示され、少ない数のピンでメモリ構造が集積されている。
発明の好適実施例
さらに再構成遅延及び、この新しい「SONAL」にしたがって他の前述された障害を排除するような本発明を開示することを目的とする。この新しい「SONAL」は、FPGAの再構成において消費する総時間数を劇的に減少させることにより、所望であれば自己変更形態を提供することにより解法の中心であり、それによって外部の介入なしに機能変更でき、その結果大変に速い実行時間が得られる。他の利点は、FPGA内部に大規模メモリを利用できることが含まれ、結果として前述のようにシステムのコストが縮小される。
前述のように図1は、主メモリと共に動作するCPUによってラベル付けされ、バスシステムを介してプログラムされるFPGAユニット(#1〜#n)を利用する従来技術のFPGAインタフェースを示す。FPGAユニットは、内部論理セル構造もしくはアレイ及び図2のチャンネル経路を備え、内部論理セルは図3に示されるような結合される構成静的RAM(SRAM)によって制御される論理機能を有する各構成可能論理セルを備え、そこで構成データが静的RAMビットの内部に配置される縮小部分に格納される。しかしながら本発明においては、図4に示すようにDRAMコアが使用されて多重構成を格納する。またデバイス構成に対して要求される構成SRAMビットが与えられる。DRAMの行長バス(ここで使用されるような用語「行」は行の部分又は小数部を包含する)が与えられ、これは、プログラム可能な要素をその後さらに制御する、SRAMビットに直接接続される。構成コマンドが与えられた後、全ての必要な構成記憶素子がロードされてしまうまで、行は常に検索されて前記SRAMビット内に格納される。一部分の再構成は、変更される必要のあるそれらのSRAMビットをロードすることにのみによって達成される。この発明のさらなる改良は、変更される必要のあるビットのみが構成SRAM内にロード可能となるように、マスクする機能を与える。またチップの動作中、DRAM内に新たな構成データをロードすることも可能である。また同じDRAMが、外部I/O双方からもしくは内部論理を介してアクセス可能である記憶空間として使用可能である。外部インタフェース側からは、狭いI/O長データインタフェースを備えるが、内部ではその行長バスは、1つのアクセスにおいて行長データの格納/検索の最大を使用可能である。一度行が内部に選択されると、非常に高速度でコラムデータにアクセスする機能がステートマシーン処理に対してこれを仮想空間とする。従来と等しい行の数及びコラムアプローチに従う必要はなく、ある場合にはコラムを区別するような行に向かう相当なバイアスを備える構造を有することが有利であり、より速い動的な再構成さえ考慮される。全ての機能性は例として最もよく例示される。
全てのそのプログラム可能な素子を構成するのに32768ビット必要とされ、それが再構成可能である際に、10MHzの最大シリアルレートを備える従来のFPGAを考える。さらにこの再構成時間はおおよそ3.3msである。対応する「SONAL」が、図4に示すようにその構造の部分として、256K×8DRAMコアからなると仮定する。再構成コマンドを受信後、4096ビット(1行あたり512ビット×8ビット長)からなる行は、「SONAL」FPGA内で検索され、対応する構成SRAMビット内に格納される。この行検索及び次の格納プロセスは、この例では8回繰り返され、全ての要求構成SRAMビットがロードされる。行検索レートが40nsであれば、合計320nsがFPGAの再構成を完了するのに必要とされる。これは3.3msを必要とする今日の現行のFPGA解法を越える本発明の最も大きな利点である。したがって本発明は、従来のアプローチをおおよそ4桁上回る改良を提供する。さらにバスは、対応する性能の低下を伴って、最大限の行長を有さずに、前述のようにここで依然として「行」と称される行の部分とすることが可能であることに注意されなければならない。
「SONAL」のこの速い再構成時間は、デバイスを構成するのに「r」行が必要とされ、行を検索するのに「t」ナノ秒かかるとするような多重DRAMバンク「m」コを組み込むことによって、さらに向上させることが可能である。この場合
構成時間=r×t/m
である。
構成SRAMビットを備える1つの理由はDRAMコアの再生要求にある。部分に集中したDRAMセルによってこれらSRAMビットを置き換えることもまた確実に可能であるが、しかしこれは再生要求によって生じる干渉のために好ましい解法ではない。これらのビットの除去は、コスト及びデバイスの電力消費を低減させる。本発明の代替的な実施態様は、DRAMの2つの同一のバンクを使用することに関し、同一の構成データがそれらの双方にロードされる。行が全部のFPGAを構成するのに十分なデータを提供すると仮定すると、SRAMビットは必要とされず;1つのバンクが再生されるともう一方のバンクが構成データを提供する。この概念は、「m/2」バンクが同一の構成情報を他の「m/2」バンクとして有するような、「m」バンクに拡張することが可能である。
このデバイスの1つのアプリケーションにおいて、多重化されたデータの逐次流れは、パラレルフォーマットに変換されて同時にDRAM行に異なる所定のコラムアドレスでロードされる、その構成要素である逐次流れの中に分配可能である。
本発明の他の代替的な実施態様では、他の内部バンクが一般用途メモリに関して使用されるのみであるのに対して、内部DRAMバンクが再構成データに関して使用され、それにより双方のバンクが同じインタフェースを介して外部にアクセスしてコストを最小とする。
本発明のさらに他の実施態様では、自己変更回路が、図5に示される1つの可能な実施とともに設計可能である。ここで各行アドレス特有にデコードする必要がビットの数に等しいデータ長を備える小さなSRAMは、DRAMの選択された行アドレスを駆動する。この自己変更構造内に位置するSRAMコアアドレスの数は、再構成機能の必要とされる深度に支配される。この場合例えば、32×9SRAMとして示されている。FPGA制御論理によって駆動される、このSRAMコアに対して5アドレスビットが存在する。論理セルアレイからの構成データビットコマンドに応答してもしくは適当な事象又はある論理状態が遭遇する他の時点で、SRAMコアの出力は行長構成データ検索するのに使用される。この新しい実施は、種々の回路素子の状態を仮定し、結果としてすでに他の回路機能の実施を生じる;その他諸々、機械的にSRAMコアアドレス入力を駆動する、異なる制御論理を備えることができる。したがってチップの機能は、ある論理状態の結果を仮定して所定の論理実施に動的に変更可能である。この技術は、結合されるCPUから最小の介入を必要とする、したがって全体のシステム性能を著しく向上する高効率自己変更回路を提供し、またこの技術は、パイプライン設計等のデジタル信号処理アルゴリズムにおいて広範なアプリケーションを有する。1つの潜在的なアプリケーションは、大規模なパイプライン設計を多重構成にセグメント化することであり、これらの構成は処理ハードウエアによって要求されるようにロードされる。これはゲートの再使用のための設計を実行するのに要求されるゲートの数を著しく減少させ、それによってチップコストが減少する。非常に高速の「オンザフライ」自己変更機能の故にのみ達成可能である。
またSRAMコアはフラッシュメモリもしくはEEPROMのような他の技術とともに実施することも可能である。
システムレベルにおいて、このような多重「SONAL」デバイスは、システムバスに接続可能であり、図6に示すように機械の性能を高めることが可能である。再構成もしくは自己変更回路に対するこのオンザフライアプローチは、FPGAのみに制限されず、同様の再構成可能素子からなるCPUの部分とすることも可能であることに注意されなければならない。
例えばプラットフォームから独立しているように特に設計され、それによって種々の機械の中で完全な可搬性を提供する「JAVA」(最も広く使用されるインターネット言語)を考える。種々のCPUの特有の構造性能の利点を受けることができないので、「JAVA」は極めて遅く実行する点で不利である。「JAVA」の実効速度を向上させる1つのアプローチは、それを与えることにより、(従来のCPU機能に付加して)共通の仮想ハードウエアプラットフォームを非常に高速で変更可能とすることである。この仮想ハードウエアは、どちらかのCPU自体の「SONAL」性能を再構成可能性に与えることにより実行されもしくは独立した「SONAL」FPGAとして実行される。したがってこの構造は、より高速の実行を提供してもなお、プラットフォームから独立するキーエレメントを持ち続ける。
「SONAL」I/Oインタフェース
チップはその特有の構造を示す幾分異なるピンアウトを備える。独立したアドレスとデータバスを備える従来のDRAMインタフェースを与える、1つの可能なピンアウトが図7に例示される。256K×8DRAMを備える「SONAL」の例を考える。従来のDRAMアクセスアプローチを使用すると、21ピン(アドレスのために9ピン、データのために8ピン、「RAS」、「CAS」、「書込」、「出力可能」のそれぞれに対して1ピン)が必要とされる。またFPGAセルとDRAMコアの間の内部転送が発生するときには常に、「待ち」信号がシステムバスインタフェースに与えられる。CPU(もしくは他の主コントローラ)は、アクセスの開始を遅らせるようにどちらもそれを使用することができ、もしくは交互に実行する際には、このアクセスを続ける前に、内部転送が完了するようにアクセスサイクルを延長することが可能である。さらに本発明の改良は、ピンの数すなわちコストを減少させることができる。前記係属中の出願の、「PARAS」DRAMと呼ばれるインタフェースアクセス機構が「SONAL」と一緒に使用される。[この出願は、新規なインタフェース及びアクセス方法によって非同期及び同期のダイナミックランダムアクセスメモリのアクセス性能を向上させるための方法及び装置を開示し、そこでは同一のピンが、行、コラム、データアクセスに対して、読出及び書込どちらのサイクルにおいても使用され;このような効果的な機能が、より少数のピンによって実質上同一の寸法のパッケージ内でデータのバンド幅及びアドレス範囲を増加させる。]このような「PARAS」モデルを使用して、わずか13ピン及び「待ち」に関する1ピンが図8に示されるように必要とされる。さらに構成データがロードされてしまった後DRAMとアクセスする必要がない及びこれにより外部アクセスが必要とされないアプリケーションにおいて、同じピンが従来のFPGA I/Oピンとして使用可能であることに注意されなければならない。
また行及びコラムアドレスを多重サブアドレスに分割することにより、またデータ及び制御ピンを同じライン上で共有することにより、I/Oピンの数をさらに減少させることが可能である。これは明らかにCPUのような外部デバイスからのアクセス時間を減速させるが、より少ないピン数、低減されたコスト、動作中のオンザフライ変更可能FPGAを提供する。
「SONAL」を使用するシミュレーションアプリケーション
例として、2つの32ビット数を2クロックサイクルで加算可能な高速32ビット加算器が次世代CPUに対して設計され、ワークステーションが双対プロセッサとして動作する「SONAL」型式のFPGAを備えるとすれば、典型的には加算器シミュレーションは幾つかのクロックサイクルをとる。好適な実施態様によれば、「SONAL」は動的に再構成することが可能であり、さらにこのような構成された「SONAL」でリアルタイムにタスクを実行することにより、この機能を照会することが可能である。これは、典型的には何千回ものサイクルを行う、「SONAL」アプローチのない従来のワークステーションに十分に匹敵する。
「SONAL」を使用する演算アプリケーション
背景を説明する目的に対して、複雑な反復型64ビット乗算機能が加算機能に引続く、演算アプリケーション例を使用すると、この例が1024サンプルに対して32ビットCPUにより実行されるならば、「SONAL」を備えるCPUは、ステップにおいて反復64ビット機能を実行する機能が限定されたユニットとして動作してそれを構成し、それによって既に記述された従来のアプローチに比較される機械の性能が実質上向上する。
したがって本発明を利用するこのような新規のFPGA構造の利点は、既に示されたように、純然たるデバイス速度よりはむしろ構造上の考案を有するオンザフライ再構成の提供であり;効率的な高速パイプライン実施を見越す自己変更性能;チップの内部に多くの構成を格納すること;ピンの数の減少のために比較的低コストで、提供される機能に対するピンの数を減少させること;及び現行のFPGAユニットとほぼ同一のシステム設計インタフェースを提供すること、したがって設計サイクルを最小とする。
またさらなる変更が当業の熟練者に思い起こされ、その変更とは、ネットワーク、マルチメディア、他のアプリケーションに関してDRAM内に高速シリアルデータロードを可能にする論理を提供すること、外部デバイスよりもむしろCPUそれ自体の部分としてこのアプローチを実行すること、もしくはFPGAとは異なるデバイスに高速再構成に関して内部接続とともに外部DRAMインタフェースを適用することの中で行われ、これらを含むが、このような変更は添付の請求の範囲に定義されるような発明の精神及び範囲の内にあると見なされる。
Claims (26)
- 接続される構成ビットメモリによって制御される論理機能を各々備えるプログラム可能論理セルのアレイを構成する方法であって、
DRAMコアに多重プログラム構成を画定するビット情報を格納するステップ;
アレイをバスに接続して、所望の構成を画定するビット情報を備えるセルの構成ビットメモリのDRAM行長ロードを可能にするステップ;
さらに構成コマンドによって、DRAMコアから少なくとも一度に1行構成ビット情報を検索して、この情報をセルのビットメモリにロードして所望の構成プログラムが達成されるように対応するセル論理機能を制御するステップを含む方法。 - 一度に1行検索されてロードされるステップが、再構成オンザフライ可能である、請求項1記載の方法。
- アレイがFPGAデバイスからなり、論理セルビットメモリがSRAM分割ビットからなる、請求項1記載の方法。
- 論理セルのアレイによる機能の完了によって、ビットコマンドが発生してアレイの新しく所望される機能を指示し;
追加のメモリコアがDRAM行のビットアドレスを含むことを提供し、次の機能ビットコマンドに応答しかつ対応してDRAMを駆動するように接続され、構成ビット情報を検索してロードすることがセルのビットメモリ内の前記次の機能を表し、対応するセル論理機能を制御し、それによって次の機能を実行するようにアレイを自己変更する、請求項1記載の方法。 - 前記自己変更することが、次に続く所望の機能コマンドによって機械的に続けられる、請求項4記載の方法。
- 部分的な再構成が、変更を必要とするSRAMビットにのみロードされることによって達成される、請求項3記載の方法。
- またDRAMコアが、外部I/Oインタフェース及び内部論理双方からアクセス可能な記憶空間として使用される、請求項1記載の方法。
- 外部にインタフェースする際に、内部行長バスが1つのアクセスにおける行長データの最大を格納し/検索し;
さらに一度行が内部で選択されると迅速にコラムデータにアクセスする、請求項7記載の方法。 - デバイスが動作中に新しい構成データが、DRAMコア内にロードされる、請求項1記載の方法。
- 接続される構成ビットメモリによって制御される論理機能を各々備えるプログラム可能論理セルのアレイを構成する装置であって、
多重プログラム構成を画定するビット情報を格納するためのDRAMコアと;
所望の構成を画定するビット情報を備える論理セルのアレイの構成ビットメモリのDRAM行長ロードを可能にするように、アレイとDRAMを内部接続するバスと;
構成コマンドを発生するための手段と;
さらにこのような構成コマンドによって、このような構成コマンドに応答して、DRAMコアから少なくとも一度に1行構成ビット情報を検索するための手段と;
さらに前記論理セルのビットメモリにこの情報をロードして、所望の構成プログラムを達成するように対応するセル論理機能を制御するための手段とを組み合わせて備える装置。 - アレイがFPGAデバイスからなり、論理セルビットメモリがSRAM分割ビットからなる、請求項10記載の装置。
- アクセス制御回路が、DRAMコア内に接続され、論理セルのアレイから及び外部DRAMインタフェースから内部に生じる構成コマンドに応答してDRAM仲裁及び再生論理モジュールの双方もしくは一方に接続される、請求項10記載の装置。
- アクセス制御回路が、DRAM内部に接続され、DRAM行アドレス特有にデコードされるように要求されるビットの数に等しいデータ長からなるSRAMメモリコアユニットから発生するDRAM行アドレスに対応するデータビットに応答して、それによってDRAM内部に選択された行アドレスを駆動し、さらにSRAMユニットが、論理セルのアレイからアドレスビット構成コマンド信号を受信するように接続される、請求項11記載の装置。
- 前記構成コマンド信号が、アレイの次に所望される機能に関する新しい構成として、論理セルのアレイによって機能の完了で発生され;
さらに指定されるDRAM行アドレスによって、アクセス制御手段からDRAMコアを対応してデコードし;
DRAMコアから戻るように、論理セルのビットメモリに、前記次の機能を表す構成ビット情報をロードするための手段と、それによって対応するセル論理機能を制御し、したがって次の機能を実行するようにアレイを自己再構成し、この自己再構成が後に続く所望の機能コマンドによって機械的に続けられる、請求項13記載の装置。 - 論理セルアレイが5アドレスビットを発生し、SRAMユニットがDRAM行アドレスに対応する9データビットを発生し、SRAMユニットが32×9ビットからなる、請求項14記載の装置。
- 機能の完了によって、論理セルアレイが、アレイの次の所望の機能を表すようにビットコマンドを発生し;
DRAM行のビットアドレスからなる追加のメモリコアをさらに与え、前記次の機能ビットコマンドに応答するように、かつアレイのセルのビットメモリに前記次の機能を表す構成ビット情報を検索してロードするように対応してDRAMを駆動するようにアレイとDRAMコアの間に接続され、それによって前記次の機能を実行するアレイの自己再構成が可能となる、請求項10記載の装置。 - 追加のメモリコアがSRAMコアを含む、請求項16記載の装置。
- 前記自己再構成が次に続く所望の機能コマンドによって機械的に続けられる、請求項16記載の装置。
- 部分的な再構成のみが達成され、ロード手段が変更を必要とするSRAMビットのみにロードする、請求項11記載の装置。
- またDRAMコアが、外部I/Oインタフェース及び内部論理双方からアクセス可能な記憶空間として使用される、請求項10記載の装置。
- 外部にインタフェースする際に、内部行長バスが1つのアクセスにおける行長データの最大を格納し/検索し;
さらに一度行が内部で選択されると手段が迅速にコラムデータにアクセスするように与えられる、請求項20記載の装置。 - アレイがプログラム可能なデバイスの部分であり、新しい構成データが、デバイスの動作中にDRAMコア内にロードされる、請求項10記載の装置。
- デバイスがFPGAを含む、請求項22記載の装置。
- 一度に1行の検索及びロードが、再構成オンザフライを可能とする、請求項11記載の装置。
- DRAMの2つの一致するバンクが、互いの中にロードされる一致する構成データを与える、請求項11記載の装置。
- 1つのバンクが再生されたそのDRAMコアを備える際、他方のバンクが構成データを与える、請求項24記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/700,966 US5838165A (en) | 1996-08-21 | 1996-08-21 | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US08/700,966 | 1996-08-21 | ||
PCT/IB1997/000987 WO1998008306A1 (en) | 1996-08-21 | 1997-08-12 | Reconfigurable computing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000516418A JP2000516418A (ja) | 2000-12-05 |
JP3801214B2 true JP3801214B2 (ja) | 2006-07-26 |
Family
ID=24815539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51054098A Expired - Fee Related JP3801214B2 (ja) | 1996-08-21 | 1997-08-12 | 再構成可能な演算システム |
Country Status (11)
Country | Link |
---|---|
US (1) | US5838165A (ja) |
EP (1) | EP0931380B1 (ja) |
JP (1) | JP3801214B2 (ja) |
KR (1) | KR100458371B1 (ja) |
CN (1) | CN1188948C (ja) |
AT (1) | ATE220263T1 (ja) |
AU (1) | AU3705297A (ja) |
CA (1) | CA2264060C (ja) |
DE (1) | DE69713784T2 (ja) |
HK (1) | HK1023458A1 (ja) |
WO (1) | WO1998008306A1 (ja) |
Families Citing this family (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
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 |
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 |
DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | 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.) |
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.) |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
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 |
US6160419A (en) * | 1997-11-03 | 2000-12-12 | Altera Corporation | Programmable logic architecture incorporating a content addressable embedded array block |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US6092123A (en) * | 1997-07-17 | 2000-07-18 | International Business Machines Corporation | Method and apparatus for changing functions of a hardware device using two or more communication channels |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US6034542A (en) * | 1997-10-14 | 2000-03-07 | Xilinx, Inc. | Bus structure for modularized chip with FPGA modules |
US5923892A (en) * | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
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. |
US6038627A (en) * | 1998-03-16 | 2000-03-14 | Actel Corporation | SRAM bus architecture and interconnect to an FPGA |
US7146441B1 (en) * | 1998-03-16 | 2006-12-05 | Actel Corporation | SRAM bus architecture and interconnect to an FPGA |
US6237129B1 (en) | 1998-03-27 | 2001-05-22 | Xilinx, Inc. | Method for constraining circuit element positions in structured layouts |
US6292925B1 (en) | 1998-03-27 | 2001-09-18 | Xilinx, Inc. | Context-sensitive self implementing modules |
US6243851B1 (en) | 1998-03-27 | 2001-06-05 | Xilinx, Inc. | Heterogeneous method for determining module placement in FPGAs |
US6216258B1 (en) | 1998-03-27 | 2001-04-10 | Xilinx, Inc. | FPGA modules parameterized by expressions |
US6430732B1 (en) | 1998-03-27 | 2002-08-06 | Xilinx, Inc. | Method for structured layout in a hardware description language |
US6260182B1 (en) * | 1998-03-27 | 2001-07-10 | Xilinx, Inc. | Method for specifying routing in a logic module by direct module communication |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US20050149694A1 (en) * | 1998-12-08 | 2005-07-07 | Mukesh Patel | Java hardware accelerator using microcode engine |
US7225436B1 (en) | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
US6826749B2 (en) | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US6081473A (en) * | 1998-12-15 | 2000-06-27 | Lattice Semiconductor Corporation | FPGA integrated circuit having embedded sram memory blocks each with statically and dynamically controllable read mode |
US6262596B1 (en) * | 1999-04-05 | 2001-07-17 | Xilinx, Inc. | Configuration bus interface circuit for FPGAS |
JP2003505753A (ja) | 1999-06-10 | 2003-02-12 | ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング | セル構造におけるシーケンス分割方法 |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
DE19946752A1 (de) * | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Rekonfigurierbares Gate-Array |
US6555398B1 (en) * | 1999-10-22 | 2003-04-29 | Magic Corporation | Software programmable multiple function integrated circuit module |
US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
DE10018374A1 (de) * | 2000-04-13 | 2001-10-18 | Siemens Ag | Mobiles Endgerät |
EP2226732A3 (de) * | 2000-06-13 | 2016-04-06 | PACT XPP Technologies AG | Cachehierarchie für einen Multicore-Prozessor |
US7119576B1 (en) | 2000-09-18 | 2006-10-10 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US7346644B1 (en) | 2000-09-18 | 2008-03-18 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
KR20020028814A (ko) * | 2000-10-10 | 2002-04-17 | 나조미 커뮤니케이션즈, 인코포레이티드 | 마이크로코드 엔진을 이용한 자바 하드웨어 가속기 |
DE10105987A1 (de) * | 2001-02-09 | 2002-08-29 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US8843928B2 (en) | 2010-01-21 | 2014-09-23 | Qst Holdings, Llc | Method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
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 |
US7249242B2 (en) | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
JP3561506B2 (ja) * | 2001-05-10 | 2004-09-02 | 東京エレクトロンデバイス株式会社 | 演算システム |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US10031733B2 (en) * | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US6574130B2 (en) | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
US6706402B2 (en) | 2001-07-25 | 2004-03-16 | Nantero, Inc. | Nanotube films and articles |
US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
US6919592B2 (en) | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
US6911682B2 (en) | 2001-12-28 | 2005-06-28 | Nantero, Inc. | Electromechanical three-trace junction devices |
US7259410B2 (en) | 2001-07-25 | 2007-08-21 | Nantero, Inc. | Devices having horizontally-disposed nanofabric articles and methods of making the same |
US6835591B2 (en) | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
US6924538B2 (en) | 2001-07-25 | 2005-08-02 | Nantero, Inc. | Devices having vertically-disposed nanofabric articles and methods of making the same |
US7566478B2 (en) | 2001-07-25 | 2009-07-28 | Nantero, Inc. | Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8769508B2 (en) | 2001-08-24 | 2014-07-01 | Nazomi Communications Inc. | Virtual machine hardware for RISC and CISC processors |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US7380100B2 (en) * | 2001-09-07 | 2008-05-27 | Ipflex Inc. | Data processing system and control method utilizing a plurality of date transfer means |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US6901473B2 (en) * | 2001-10-16 | 2005-05-31 | Sun Microsystems, Inc. | Apparatus and method for configuring an external device |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US6784028B2 (en) * | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
US7176505B2 (en) | 2001-12-28 | 2007-02-13 | Nantero, Inc. | Electromechanical three-trace junction devices |
US7403981B2 (en) * | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
DE10392560D2 (de) | 2002-01-19 | 2005-05-12 | Pact Xpp Technologies Ag | Reconfigurierbarer Prozessor |
DE50310198D1 (de) | 2002-02-18 | 2008-09-04 | Pact Xpp Technologies Ag | Bussysteme und rekonfigurationsverfahren |
US7386717B2 (en) * | 2002-03-07 | 2008-06-10 | Intel Corporation | Method and system for accelerating the conversion process between encryption schemes |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7335395B2 (en) | 2002-04-23 | 2008-02-26 | Nantero, Inc. | Methods of using pre-formed nanotubes to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7024654B2 (en) | 2002-06-11 | 2006-04-04 | Anadigm, Inc. | System and method for configuring analog elements in a configurable hardware device |
US20040133795A1 (en) * | 2002-07-26 | 2004-07-08 | Eric Murray | Method and system for handling multiple security protocols in a processing system |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US6978435B2 (en) | 2002-08-29 | 2005-12-20 | Anadigm, Inc. | Apparatus for programming a programmable device, and method |
US20040044988A1 (en) * | 2002-08-29 | 2004-03-04 | Schene Christopher Robin | Generation of compiled code for simulator speed up |
US20040122643A1 (en) * | 2002-08-29 | 2004-06-24 | Anderson Howard C. | Apparatus and method for simulating switched-capacitor circuits |
WO2004038599A1 (de) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Rekonfigurierbare sequenzerstruktur |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US7560136B2 (en) | 2003-01-13 | 2009-07-14 | Nantero, Inc. | Methods of using thin metal layers to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
JP4700611B2 (ja) | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
US7860915B2 (en) | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7472155B2 (en) | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7882165B2 (en) | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
US7480690B2 (en) | 2003-12-29 | 2009-01-20 | Xilinx, Inc. | Arithmetic circuit with multiplexed addend inputs |
US7467175B2 (en) | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Programmable logic device with pipelined DSP slices |
US7853634B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
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 |
US7849119B2 (en) | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7865542B2 (en) | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
US7853636B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7844653B2 (en) | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
US7567997B2 (en) | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7853632B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7987312B2 (en) * | 2004-07-30 | 2011-07-26 | Via Technologies, Inc. | Method and apparatus for dynamically determining bit configuration |
US7346759B1 (en) | 2004-08-06 | 2008-03-18 | Xilinx, Inc. | Decoder interface |
US7546441B1 (en) | 2004-08-06 | 2009-06-09 | Xilinx, Inc. | Coprocessor interface controller |
US7590823B1 (en) * | 2004-08-06 | 2009-09-15 | Xilinx, Inc. | Method and system for handling an instruction not supported in a coprocessor formed using configurable logic |
US7590822B1 (en) | 2004-08-06 | 2009-09-15 | Xilinx, Inc. | Tracking an instruction through a processor pipeline |
JP4527571B2 (ja) * | 2005-03-14 | 2010-08-18 | 富士通株式会社 | 再構成可能演算処理装置 |
JP4900717B2 (ja) * | 2005-05-31 | 2012-03-21 | 富士ゼロックス株式会社 | 再構成可能な装置 |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
GB2441726B (en) * | 2005-06-24 | 2010-08-11 | Metaram Inc | An integrated memory core and memory interface circuit |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US7609567B2 (en) | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
JP5242397B2 (ja) | 2005-09-02 | 2013-07-24 | メタラム インコーポレイテッド | Dramをスタックする方法及び装置 |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
JP4909588B2 (ja) | 2005-12-28 | 2012-04-04 | 日本電気株式会社 | 情報処理装置及び再構成デバイスの利用方法 |
EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7539967B1 (en) | 2006-05-05 | 2009-05-26 | Altera Corporation | Self-configuring components on a device |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US7814137B1 (en) | 2007-01-09 | 2010-10-12 | Altera Corporation | Combined interpolation and decimation filter for programmable logic device |
US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
JP4852149B2 (ja) * | 2007-05-21 | 2012-01-11 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2008142767A1 (ja) * | 2007-05-21 | 2008-11-27 | Renesas Technology Corp. | 半導体装置 |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8479133B2 (en) | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
US8543635B2 (en) | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8805916B2 (en) | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
WO2012022496A2 (en) | 2010-08-19 | 2012-02-23 | Per Sonne Holm | Method for killing tumor stem cells |
US9582266B2 (en) | 2011-02-28 | 2017-02-28 | Microsemi SoC Corporation | Apparatus and methods for in-application programming of flash-based programable logic devices |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
BR112014024312B1 (pt) * | 2012-03-30 | 2022-04-12 | Intel Corporation | Sistema e método de implementação de uma matriz de dispositivo programável em um sistema eletrônico |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
KR102032895B1 (ko) | 2013-01-28 | 2019-11-08 | 삼성전자주식회사 | 기능 유닛들 간의 기능 로직 공유 장치, 방법 및 재구성 가능 프로세서 |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
CN104636151B (zh) * | 2013-11-06 | 2018-06-05 | 京微雅格(北京)科技有限公司 | 基于应用存储器的fpga芯片配置结构和配置方法 |
CN104636290B (zh) * | 2013-11-06 | 2018-05-25 | 京微雅格(北京)科技有限公司 | 基于多配置链组的fpga芯片配置结构和配置方法 |
US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US20180081834A1 (en) * | 2016-09-16 | 2018-03-22 | Futurewei Technologies, Inc. | Apparatus and method for configuring hardware to operate in multiple modes during runtime |
US10242728B2 (en) * | 2016-10-27 | 2019-03-26 | Samsung Electronics Co., Ltd. | DPU architecture |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
CN111459874A (zh) * | 2020-04-02 | 2020-07-28 | 京微齐力(北京)科技有限公司 | 一种现场可编程门阵列配置闪存的复用方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62269422A (ja) * | 1986-05-16 | 1987-11-21 | Matsushita Electric Ind Co Ltd | 半導体装置 |
JPS62269420A (ja) * | 1986-05-16 | 1987-11-21 | Matsushita Electric Ind Co Ltd | 半導体装置 |
US4831573A (en) * | 1987-03-06 | 1989-05-16 | Altera Corporation | Programmable integrated circuit micro-sequencer device |
US4940909A (en) * | 1989-05-12 | 1990-07-10 | Plus Logic, Inc. | Configuration control circuit for programmable logic devices |
EP0877385B1 (en) * | 1992-07-02 | 2001-10-17 | Atmel Corporation | Non-disruptive, randomly addressable memory system |
GB9223226D0 (en) * | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5317212A (en) * | 1993-03-19 | 1994-05-31 | Wahlstrom Sven E | Dynamic control of configurable logic |
US5504440A (en) * | 1994-01-27 | 1996-04-02 | Dyna Logic Corporation | High speed programmable logic architecture |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5581198A (en) * | 1995-02-24 | 1996-12-03 | Xilinx, Inc. | Shadow DRAM for programmable logic devices |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
-
1996
- 1996-08-21 US US08/700,966 patent/US5838165A/en not_active Expired - Lifetime
-
1997
- 1997-08-12 CA CA002264060A patent/CA2264060C/en not_active Expired - Fee Related
- 1997-08-12 JP JP51054098A patent/JP3801214B2/ja not_active Expired - Fee Related
- 1997-08-12 WO PCT/IB1997/000987 patent/WO1998008306A1/en active IP Right Grant
- 1997-08-12 DE DE69713784T patent/DE69713784T2/de not_active Expired - Lifetime
- 1997-08-12 KR KR10-1999-7001391A patent/KR100458371B1/ko not_active IP Right Cessation
- 1997-08-12 CN CNB971989915A patent/CN1188948C/zh not_active Expired - Fee Related
- 1997-08-12 EP EP97933815A patent/EP0931380B1/en not_active Expired - Lifetime
- 1997-08-12 AU AU37052/97A patent/AU3705297A/en not_active Abandoned
- 1997-08-12 AT AT97933815T patent/ATE220263T1/de not_active IP Right Cessation
-
2000
- 2000-04-26 HK HK00102467A patent/HK1023458A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5838165A (en) | 1998-11-17 |
EP0931380A1 (en) | 1999-07-28 |
ATE220263T1 (de) | 2002-07-15 |
WO1998008306A1 (en) | 1998-02-26 |
JP2000516418A (ja) | 2000-12-05 |
EP0931380B1 (en) | 2002-07-03 |
CA2264060C (en) | 2008-01-08 |
AU3705297A (en) | 1998-03-06 |
KR20000068256A (ko) | 2000-11-25 |
CN1188948C (zh) | 2005-02-09 |
CA2264060A1 (en) | 1998-02-26 |
DE69713784D1 (de) | 2002-08-08 |
KR100458371B1 (ko) | 2004-11-26 |
HK1023458A1 (en) | 2000-09-08 |
DE69713784T2 (de) | 2003-03-13 |
CN1234923A (zh) | 1999-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3801214B2 (ja) | 再構成可能な演算システム | |
TWI706256B (zh) | 加速器控制器及其方法 | |
US10203878B2 (en) | Near memory accelerator | |
US7237091B2 (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
US5652904A (en) | Non-reconfigurable microprocessor-emulated FPGA | |
AU2002318809B2 (en) | Integrated circuit device | |
JP3587095B2 (ja) | 情報処理装置 | |
JPH05502125A (ja) | 後入れ先出しスタックを備えるマイクロプロセッサ、マイクロプロセッサシステム、及び後入れ先出しスタックの動作方法 | |
CN111433758A (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
JP7381429B2 (ja) | ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法 | |
JPH05224929A (ja) | コンピユータ、パイプライン処理方法及び命令処理方法 | |
KR20200108774A (ko) | 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법 | |
JP2022548641A (ja) | システムオンチップ及びアクセラレータチップを接続するメモリチップ | |
US20200293452A1 (en) | Memory device and method including circular instruction memory queue | |
US8607029B2 (en) | Dynamic reconfigurable circuit with a plurality of processing elements, data network, configuration memory, and immediate value network | |
Zhang et al. | DRAM-less: Hardware acceleration of data processing with new memory | |
JPS6027965A (ja) | 記憶システム | |
US7400550B2 (en) | Delay mechanism for unbalanced read/write paths in domino SRAM arrays | |
JPH04229488A (ja) | 仮想マルチポートram構造 | |
TWI249130B (en) | Semiconductor device | |
US10180847B2 (en) | Circuitry for configuring entities | |
US7043417B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory | |
JPH0462648A (ja) | 記憶装置 | |
JPS5870357A (ja) | マイクロプログラムド・ブロセツサおよびその作動方法 | |
JPS63646A (ja) | メモリアクセス待ち制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040802 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060425 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |