JP3392067B2 - ハードウェアのセットを再構成する方法および再構成可能ハードウェア装置 - Google Patents
ハードウェアのセットを再構成する方法および再構成可能ハードウェア装置Info
- Publication number
- JP3392067B2 JP3392067B2 JP01139599A JP1139599A JP3392067B2 JP 3392067 B2 JP3392067 B2 JP 3392067B2 JP 01139599 A JP01139599 A JP 01139599A JP 1139599 A JP1139599 A JP 1139599A JP 3392067 B2 JP3392067 B2 JP 3392067B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- circuit
- pages
- reconfigurable
- reconfigurable hardware
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/253—Centralized memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、適応化コンピュー
ティングや他のアプリケーションにて用いる再構成可能
ハードウェアに関し、特に、所望のいかなる大きさ、構
造、複雑さを有する論理回路においても効率的な実装を
可能にする再構成可能ハードウェア技術に関する。
ティングや他のアプリケーションにて用いる再構成可能
ハードウェアに関し、特に、所望のいかなる大きさ、構
造、複雑さを有する論理回路においても効率的な実装を
可能にする再構成可能ハードウェア技術に関する。
【0002】
【従来の技術】再構成可能ハードウェアは論理回路機能
を実装するために適応化コンピューティングや他のアプ
リケーションにおいて用いられている。フィールドプロ
グラマブルゲートアレー(FPGA:field programmabl
e gate array、現場でプログラム可能なゲートアレー)
や他の同様なデバイスをベースにしてもよい再構成可能
ハードウェアは、別の時に別の論理機能を提供するよう
に再構成することができ、通常は相当に多くのハードウ
ェアを必要としてしまう複合回路の機能を提供すること
ができる。FPGAをベースにする再構成可能ハードウ
ェアは、文献、J.H. Mayer, "Reconfigurable computin
g redefines design flexibility", Computer Design,
pp. 49-52, February 1997、J.Rosenberg, "Implementi
ng Cache Logic(TM) with FPGAs", Atmel Application
Note 0461A, pp. 7-11〜7-14、B.K.Fawcett, "Applicat
ions of Reconfigurable Logic," in "more FPGAs", W.
R.Moore, W. Luk, eds., Abingdon EE & CS Books, Oxf
ord, Enggland, pp. 57-69, 1994、などに説明されてい
る。
を実装するために適応化コンピューティングや他のアプ
リケーションにおいて用いられている。フィールドプロ
グラマブルゲートアレー(FPGA:field programmabl
e gate array、現場でプログラム可能なゲートアレー)
や他の同様なデバイスをベースにしてもよい再構成可能
ハードウェアは、別の時に別の論理機能を提供するよう
に再構成することができ、通常は相当に多くのハードウ
ェアを必要としてしまう複合回路の機能を提供すること
ができる。FPGAをベースにする再構成可能ハードウ
ェアは、文献、J.H. Mayer, "Reconfigurable computin
g redefines design flexibility", Computer Design,
pp. 49-52, February 1997、J.Rosenberg, "Implementi
ng Cache Logic(TM) with FPGAs", Atmel Application
Note 0461A, pp. 7-11〜7-14、B.K.Fawcett, "Applicat
ions of Reconfigurable Logic," in "more FPGAs", W.
R.Moore, W. Luk, eds., Abingdon EE & CS Books, Oxf
ord, Enggland, pp. 57-69, 1994、などに説明されてい
る。
【0003】
【発明が解決しようとする課題】典型的な適応化コンピ
ューティングのアプリケーションにおいて、回路モデル
(ネットリスト(netlist)と呼ばれる)を作るのに用い
るためにプリプロセッシング段階が用いられる。回路モ
デルは、再構成可能ハードウェアへとロードされ、それ
が特定の回路の機能を提供するようにされる。しかし、
従来の再構成可能ハードウェアのプラットフォームは、
通常の複雑さの回路に対するネットリスト全体を扱う容
量が不十分なことが多い。エミュレータと呼ばれる種類
の再構成ハードウェアは非常に大きな容量を有し、約6
00万ゲートを収容するが、エミュレータは非常に高価
であり、通常ゲートあたり100円程度もするため、多
くの重要なアプリケーションには使えない。
ューティングのアプリケーションにおいて、回路モデル
(ネットリスト(netlist)と呼ばれる)を作るのに用い
るためにプリプロセッシング段階が用いられる。回路モ
デルは、再構成可能ハードウェアへとロードされ、それ
が特定の回路の機能を提供するようにされる。しかし、
従来の再構成可能ハードウェアのプラットフォームは、
通常の複雑さの回路に対するネットリスト全体を扱う容
量が不十分なことが多い。エミュレータと呼ばれる種類
の再構成ハードウェアは非常に大きな容量を有し、約6
00万ゲートを収容するが、エミュレータは非常に高価
であり、通常ゲートあたり100円程度もするため、多
くの重要なアプリケーションには使えない。
【0004】このような高価なエミュレータの利用をさ
けるため、回路を複数のステージへと分け、ステージそ
れぞれにはそれほど高価ではない再構成可能ハードウェ
アプラットフォームを用いるアプリケーションがあり、
図1にその例を示す。ロジック回路10は、3つの別々
のステージ12−1、12−2、12−3を有する。ロ
ジック回路10のこれらステージ12−1、12−2、
12−3それぞれは、同じ再構成可能ハードウェア14
を用いて実装される。これらステージのうちの1つのス
テージの特徴を表す情報を含む部分的ネットリストが再
構成可能ハードウェア14へとロードされ、そのステー
ジに対して再構成可能ハードウェアが処理動作を行える
ようにする。この方法により、再構成可能ハードウェア
14はステージ12−1〜12−3により共有され、ス
テージそれぞれに必要な特定の処理動作を行うために周
期的に再構成される。図1の技術は複数のステージへと
自然に区分することができるようなアプリケーションに
おいて適している。このアプリケーションでは、各ステ
ージはパイプラインのステージと同様な方法により、前
のステージにより準備されたデータを用いる。例えば、
文献、H. Schmit, "Incremental Reconfiguration for
Pipelined Applications", IEEE Symposiumon FPGAs fo
r Custom Computing Machines, pp. 47-55, 1996、など
を参照されたい。
けるため、回路を複数のステージへと分け、ステージそ
れぞれにはそれほど高価ではない再構成可能ハードウェ
アプラットフォームを用いるアプリケーションがあり、
図1にその例を示す。ロジック回路10は、3つの別々
のステージ12−1、12−2、12−3を有する。ロ
ジック回路10のこれらステージ12−1、12−2、
12−3それぞれは、同じ再構成可能ハードウェア14
を用いて実装される。これらステージのうちの1つのス
テージの特徴を表す情報を含む部分的ネットリストが再
構成可能ハードウェア14へとロードされ、そのステー
ジに対して再構成可能ハードウェアが処理動作を行える
ようにする。この方法により、再構成可能ハードウェア
14はステージ12−1〜12−3により共有され、ス
テージそれぞれに必要な特定の処理動作を行うために周
期的に再構成される。図1の技術は複数のステージへと
自然に区分することができるようなアプリケーションに
おいて適している。このアプリケーションでは、各ステ
ージはパイプラインのステージと同様な方法により、前
のステージにより準備されたデータを用いる。例えば、
文献、H. Schmit, "Incremental Reconfiguration for
Pipelined Applications", IEEE Symposiumon FPGAs fo
r Custom Computing Machines, pp. 47-55, 1996、など
を参照されたい。
【0005】図1に示したようなパイプライン化された
回路構造のステージそれぞれにて用いる論理機能を想定
すると、このようなアプリケーションは各ステージに対
してハードウェアを再構成することによりハードウェア
を再利用できる。しかし、この種のアプローチには多く
の問題がある。例として、論理回路を複数のステージへ
と区分することには、大量の高コストな人間の設計労力
が必要となってしまう。また、多くの重量なアプリケー
ションは、識別可能なステージへと区分することができ
るパイプライン化構造を示さない。回路がパイプライン
化構造を示したとしても、この構造は大きなネットリス
トから認識してもらうのが困難であったり、1つのステ
ージを利用可能なハードウェアが収容できるような大き
さの回路ではなかったりする。このように、現存する再
構成可能ハードウェアは、経済的な方法により大きな回
路のネットリストを処理する能力がなく、多くの重要な
アプリケーションにおいて用いることができない。
回路構造のステージそれぞれにて用いる論理機能を想定
すると、このようなアプリケーションは各ステージに対
してハードウェアを再構成することによりハードウェア
を再利用できる。しかし、この種のアプローチには多く
の問題がある。例として、論理回路を複数のステージへ
と区分することには、大量の高コストな人間の設計労力
が必要となってしまう。また、多くの重量なアプリケー
ションは、識別可能なステージへと区分することができ
るパイプライン化構造を示さない。回路がパイプライン
化構造を示したとしても、この構造は大きなネットリス
トから認識してもらうのが困難であったり、1つのステ
ージを利用可能なハードウェアが収容できるような大き
さの回路ではなかったりする。このように、現存する再
構成可能ハードウェアは、経済的な方法により大きな回
路のネットリストを処理する能力がなく、多くの重要な
アプリケーションにおいて用いることができない。
【0006】
【課題を解決するための手段】本発明は、再構成可能ハ
ードウェアの容量を拡張する仮想論理システムを提供す
る。この仮想論理システムは部分的にハードウェアペー
ジングをベースとする。このハードウェアページング
は、回路のアクティブ部分のみを再構成可能ハードウェ
アにロードされている状態に維持し、現在利用していな
い回路部分をメモリーに置き、これは必要があれば再構
成可能ハードウェアへとダウンロードされる。上述の従
来技術とは対照的に、本発明の仮想論理システムは、回
路の大きさや同期回路構造の種類を問わず、また非常に
ユーザ透過的(user-transparent)な方式で動作する。
ードウェアの容量を拡張する仮想論理システムを提供す
る。この仮想論理システムは部分的にハードウェアペー
ジングをベースとする。このハードウェアページング
は、回路のアクティブ部分のみを再構成可能ハードウェ
アにロードされている状態に維持し、現在利用していな
い回路部分をメモリーに置き、これは必要があれば再構
成可能ハードウェアへとダウンロードされる。上述の従
来技術とは対照的に、本発明の仮想論理システムは、回
路の大きさや同期回路構造の種類を問わず、また非常に
ユーザ透過的(user-transparent)な方式で動作する。
【0007】図示した実施例において、再構成可能ハー
ドウェアのセットは、多くの現場でプログラム可能なゲ
ートアレー(FPGA)、ページマネージャ(PAGM
AN)と呼ぶコントローラ22、FPGAやPAGMA
NにつながったRAMベースのローカルメモリ24を具
備する。各FPGAは論理回路の異なる部分を実装する
のに適している。論理回路を特徴づける初期ネットリス
トは多くのページへと区分され、各ページは回路の部分
のうちの1つに対応する。各FPGAは、これらページ
のうちの1つの回路機能を実装する。PAGMANは、
これらページの再構成可能ハードウェアのFPGAへの
ロードとアンロードを制御し、ロードされたページとア
ンロードされたページとの間のページ間信号の記憶およ
び転送を制御する。PAGMANは、FIFO入力バッ
ファや他の適切なレジスタセットを具備することがで
き、ページ間信号値を記憶し、ページ間通信を制御す
る。PAGMANは、1もしくは複数個の異なる種類の
「ページフォールト(ページングの失敗)」を検出する
ように構成する。このページフォールトは、例として、
アンロードされたページの入力バッファが満杯(フル)
となった場合に起きてしまう。PAGMANは、ページ
フォールトに対して、その後にFPGAのうちの1つへ
とアンロードされたページをロードすることにより応答
させることができる。FPGA、PAGMAN、ローカ
ルメモリは、ホストコンピュータへとバスを介してつな
がった回路カード上で実装できる。
ドウェアのセットは、多くの現場でプログラム可能なゲ
ートアレー(FPGA)、ページマネージャ(PAGM
AN)と呼ぶコントローラ22、FPGAやPAGMA
NにつながったRAMベースのローカルメモリ24を具
備する。各FPGAは論理回路の異なる部分を実装する
のに適している。論理回路を特徴づける初期ネットリス
トは多くのページへと区分され、各ページは回路の部分
のうちの1つに対応する。各FPGAは、これらページ
のうちの1つの回路機能を実装する。PAGMANは、
これらページの再構成可能ハードウェアのFPGAへの
ロードとアンロードを制御し、ロードされたページとア
ンロードされたページとの間のページ間信号の記憶およ
び転送を制御する。PAGMANは、FIFO入力バッ
ファや他の適切なレジスタセットを具備することがで
き、ページ間信号値を記憶し、ページ間通信を制御す
る。PAGMANは、1もしくは複数個の異なる種類の
「ページフォールト(ページングの失敗)」を検出する
ように構成する。このページフォールトは、例として、
アンロードされたページの入力バッファが満杯(フル)
となった場合に起きてしまう。PAGMANは、ページ
フォールトに対して、その後にFPGAのうちの1つへ
とアンロードされたページをロードすることにより応答
させることができる。FPGA、PAGMAN、ローカ
ルメモリは、ホストコンピュータへとバスを介してつな
がった回路カード上で実装できる。
【0008】ランタイム(実行時)再構成を活用するこ
とにより、仮想論理システムは再構成可能ハードウェア
の物理的容量よりもはるかに大きな回路の実装を可能に
し、かつ、ベースとするハードウェアや実行時インフラ
(基盤技術)からユーザを隔離し解放することができ
る。本発明は、回路の大きさ、構造、複雑さに関わら
ず、広範囲の重要なアプリケーションにおいて再構成可
能ハードウェアを利用することを経済的に実現可能とし
た。
とにより、仮想論理システムは再構成可能ハードウェア
の物理的容量よりもはるかに大きな回路の実装を可能に
し、かつ、ベースとするハードウェアや実行時インフラ
(基盤技術)からユーザを隔離し解放することができ
る。本発明は、回路の大きさ、構造、複雑さに関わら
ず、広範囲の重要なアプリケーションにおいて再構成可
能ハードウェアを利用することを経済的に実現可能とし
た。
【0009】
【発明の実施の形態】以下の説明において、本発明は、
複数のFPGAを具備し、非常に大きなネットリストを
有する複雑な論理回路を処理するのに適した再構成可能
ハードウェアのセットを用いるが、本発明は再構成可能
ハードウェアの種類によって限定されない。例として、
1つのFPGAをベースとする再構成可能ハードウェア
のアプリケーションに容易に適合させることができる
が、FPGAを具備しない再構成可能ハードウェアを用
いてもよい。本明細書において用語「ページ」は、再構
成可能ハードウェアにおいて実装される回路の少なくと
も部分を特徴づけるデータその他の情報のいずれをも含
むように意図している。用語「コントローラ」は、ペー
ジング機能や他の仮想論理機構の少なくとも一部を行う
ように構成されるようなページマネージャや他の処理デ
バイスをいうように意図している。用語「回路モデル」
は、回路を特徴づけるネットリストや他の情報の種類を
含むように意図している。
複数のFPGAを具備し、非常に大きなネットリストを
有する複雑な論理回路を処理するのに適した再構成可能
ハードウェアのセットを用いるが、本発明は再構成可能
ハードウェアの種類によって限定されない。例として、
1つのFPGAをベースとする再構成可能ハードウェア
のアプリケーションに容易に適合させることができる
が、FPGAを具備しない再構成可能ハードウェアを用
いてもよい。本明細書において用語「ページ」は、再構
成可能ハードウェアにおいて実装される回路の少なくと
も部分を特徴づけるデータその他の情報のいずれをも含
むように意図している。用語「コントローラ」は、ペー
ジング機能や他の仮想論理機構の少なくとも一部を行う
ように構成されるようなページマネージャや他の処理デ
バイスをいうように意図している。用語「回路モデル」
は、回路を特徴づけるネットリストや他の情報の種類を
含むように意図している。
【0010】本発明は、相当にユーザ透過的な方法によ
り、所望のいかなる大きさ、いかなる同期回路構造の種
類である論理回路を実装することを再構成可能ハードウ
ェアのセットに対して可能にさせる仮想論理システムを
提供する。本明細書において、論理回路は初期ネットリ
ストと呼ぶモデルにより特徴づけられ、これは任意の大
きさであってよい。このネットリストは、論理合成や回
路図把握(schematic capture)のような周知の異なる種
類のいかなる数の設計方法によって生成してもよい。論
理回路のネットリストは、幾つかのばらばらなサブ回路
へと区分され、これらサブ回路それぞれは「ページ」と
呼ぶ初期ネットリストの部分により表される。このよう
なサブ回路への論理回路の区分化は、初期ネットリスト
を対応するページへと区分することにより行われる。上
述のような従来技術のパイプライン化構造の複数のステ
ージへの区分化とは対照的に、本発明に従う初期ネット
リストのページへの区分化は異なるページ間でいかなる
特定の機能的関係をも必要としない。回路に適用される
再構成可能ハードウェアの効率を改善するため、再構成
可能ハードウェアにおいて演算と再構成周期との釣り合
いをとるためにページ区分化アルゴリズムを用いること
ができる。
り、所望のいかなる大きさ、いかなる同期回路構造の種
類である論理回路を実装することを再構成可能ハードウ
ェアのセットに対して可能にさせる仮想論理システムを
提供する。本明細書において、論理回路は初期ネットリ
ストと呼ぶモデルにより特徴づけられ、これは任意の大
きさであってよい。このネットリストは、論理合成や回
路図把握(schematic capture)のような周知の異なる種
類のいかなる数の設計方法によって生成してもよい。論
理回路のネットリストは、幾つかのばらばらなサブ回路
へと区分され、これらサブ回路それぞれは「ページ」と
呼ぶ初期ネットリストの部分により表される。このよう
なサブ回路への論理回路の区分化は、初期ネットリスト
を対応するページへと区分することにより行われる。上
述のような従来技術のパイプライン化構造の複数のステ
ージへの区分化とは対照的に、本発明に従う初期ネット
リストのページへの区分化は異なるページ間でいかなる
特定の機能的関係をも必要としない。回路に適用される
再構成可能ハードウェアの効率を改善するため、再構成
可能ハードウェアにおいて演算と再構成周期との釣り合
いをとるためにページ区分化アルゴリズムを用いること
ができる。
【0011】サブ回路は、その対応するページをハード
ウェアへとロードすることにより再構成可能ハードウェ
アの一部として実装させることができる。再構成可能ハ
ードウェアにサブ回路が実装された「アクティブ」ペー
ジは、ロードされたページと呼ぶ。現在利用されていな
いページはアクティブではなく、アンロードされたペー
ジと呼ぶ。アクティブでないページは再構成可能ハード
ウェアに関連づけられたローカルメモリ内に必要となる
まで記憶される。図2を用いて下で詳細に説明するペー
ジマネージャ(PAGMAN)は、再構成可能ハードウ
ェアに出入りするようなページのロードとアンロードを
制御するのに用いられ、アクティブでないページをアン
ロード状態でローカルメモリ内で記憶されている状態に
保ち、ページフォールトを検出し処理する。
ウェアへとロードすることにより再構成可能ハードウェ
アの一部として実装させることができる。再構成可能ハ
ードウェアにサブ回路が実装された「アクティブ」ペー
ジは、ロードされたページと呼ぶ。現在利用されていな
いページはアクティブではなく、アンロードされたペー
ジと呼ぶ。アクティブでないページは再構成可能ハード
ウェアに関連づけられたローカルメモリ内に必要となる
まで記憶される。図2を用いて下で詳細に説明するペー
ジマネージャ(PAGMAN)は、再構成可能ハードウ
ェアに出入りするようなページのロードとアンロードを
制御するのに用いられ、アクティブでないページをアン
ロード状態でローカルメモリ内で記憶されている状態に
保ち、ページフォールトを検出し処理する。
【0012】図2には、再構成可能ハードウェア20の
セットを示し、これは、上述のような方法でページのロ
ードとアンロードを制御することができるページマネー
ジャ22を具備する。再構成可能ハードウェア20はF
PGA1、FPGA2、FPGA3、FPGA4の4つ
のFPGAを有する。これら4つのFPGAのそれぞれ
が論理回路ネットリストのページ1つと対応しているも
のと想定することができる。4つのFPGAそれぞれは
バス23を介してここではRAMであるローカルメモリ
24と通信する。ページマネージャ22は、各FPGA
を制御し、またローカルメモリ24と通信するようにバ
ス23へとつながっている。ローカルメモリ24はペー
ジそれぞれに対して構成情報やレジスタの値を記憶させ
るための専用領域を具備していてもよい。この実施例に
おけるローカルメモリ24は4つのFPGAそれぞれに
より共有され、異なるFPGAにおいて異なる時に同じ
ページがロードできるようにされている。図2の実施例
において、本発明にとっては必要条件ではないが、FP
GA資源に関してページそれぞれは大まかに同一の大き
さであることを想定することができる。動作時の異なる
時において、元々の回路ネットリストの異なるページを
同じFPGAが持っていることができる。
セットを示し、これは、上述のような方法でページのロ
ードとアンロードを制御することができるページマネー
ジャ22を具備する。再構成可能ハードウェア20はF
PGA1、FPGA2、FPGA3、FPGA4の4つ
のFPGAを有する。これら4つのFPGAのそれぞれ
が論理回路ネットリストのページ1つと対応しているも
のと想定することができる。4つのFPGAそれぞれは
バス23を介してここではRAMであるローカルメモリ
24と通信する。ページマネージャ22は、各FPGA
を制御し、またローカルメモリ24と通信するようにバ
ス23へとつながっている。ローカルメモリ24はペー
ジそれぞれに対して構成情報やレジスタの値を記憶させ
るための専用領域を具備していてもよい。この実施例に
おけるローカルメモリ24は4つのFPGAそれぞれに
より共有され、異なるFPGAにおいて異なる時に同じ
ページがロードできるようにされている。図2の実施例
において、本発明にとっては必要条件ではないが、FP
GA資源に関してページそれぞれは大まかに同一の大き
さであることを想定することができる。動作時の異なる
時において、元々の回路ネットリストの異なるページを
同じFPGAが持っていることができる。
【0013】演算処理が現在にロードされているページ
のみに対して進行するので、ページごとの「ローカルタ
イム」のようなタイミング情報をページマネージャ22
が追跡することができる。同期サブ回路に対応するペー
ジのローカルタイムは、再構成可能ハードウェアにおい
て当該ページの動作開始から経過したクロックサイクル
の数を一般には表す。結局全てのページのローカルタイ
ムはほぼ同じとなるが、しかし、初期動作時では、これ
らのローカル時間は、「同期ずれ状態(out-of-sync)」
であって、例えば、ロードされたページに対してのみロ
ーカルタイムが進行するようになることがあり得る。適
切な動作を確実にするため、時間tの間は、その時間t
の間に対応するその入力データの全てが利用可能となる
までは、演算を開始することを許されるページがあって
はならない。
のみに対して進行するので、ページごとの「ローカルタ
イム」のようなタイミング情報をページマネージャ22
が追跡することができる。同期サブ回路に対応するペー
ジのローカルタイムは、再構成可能ハードウェアにおい
て当該ページの動作開始から経過したクロックサイクル
の数を一般には表す。結局全てのページのローカルタイ
ムはほぼ同じとなるが、しかし、初期動作時では、これ
らのローカル時間は、「同期ずれ状態(out-of-sync)」
であって、例えば、ロードされたページに対してのみロ
ーカルタイムが進行するようになることがあり得る。適
切な動作を確実にするため、時間tの間は、その時間t
の間に対応するその入力データの全てが利用可能となる
までは、演算を開始することを許されるページがあって
はならない。
【0014】図2のマルチFPGA再構成可能ハードウ
ェア20は、バス(PCI(peripheral component inte
rconnect)バスなど)を介してホストコンピュータへと
取り付けられた単一のコプロセッサ回路ボード上で実装
させることができる。FPGAは、Atmel Corporation
(米国、San Jose, CA)から得られ、上記文献にて説明さ
れているような市場で得られるFPGAであってもよ
い。他の適切なFPGAとして、Altera (San Jose, C
A)、Lattice Semiconductor (Hillsboro, OR)、Lucent
Technologies (Murray Hill, NJ)、Motorala (Chandle
r, AZ)、Xilinx(SanJose, CA)のような米国のメーカー
から得られるものがある。また、多くの代替構成を用い
ることもできる。例として、再構成可能ハードウェア2
0は単一のFPGAや、FPGAではない多くの種類の
ハードウェアで構成してもよい。また、再構成可能ハー
ドウェアはホストコンピュータに取り付けられた回路ボ
ードではなく、スタンドアロン型コンピュータや他のプ
ロセッシングデバイスとして実装することができる。
ェア20は、バス(PCI(peripheral component inte
rconnect)バスなど)を介してホストコンピュータへと
取り付けられた単一のコプロセッサ回路ボード上で実装
させることができる。FPGAは、Atmel Corporation
(米国、San Jose, CA)から得られ、上記文献にて説明さ
れているような市場で得られるFPGAであってもよ
い。他の適切なFPGAとして、Altera (San Jose, C
A)、Lattice Semiconductor (Hillsboro, OR)、Lucent
Technologies (Murray Hill, NJ)、Motorala (Chandle
r, AZ)、Xilinx(SanJose, CA)のような米国のメーカー
から得られるものがある。また、多くの代替構成を用い
ることもできる。例として、再構成可能ハードウェア2
0は単一のFPGAや、FPGAではない多くの種類の
ハードウェアで構成してもよい。また、再構成可能ハー
ドウェアはホストコンピュータに取り付けられた回路ボ
ードではなく、スタンドアロン型コンピュータや他のプ
ロセッシングデバイスとして実装することができる。
【0015】再構成可能ハードウェア20内のローカル
メモリ24は、ホストコンピュータ内のRAM、再構成
可能ハードウェア内の専用RAM、あるいはこれらの組
み合わせであってもよい。ここで、図2の実施例におけ
るローカルメモリ24の大きさは記憶できるページ数、
そして処理できる論理回路の大きさを制約することとな
る。再構成可能ハードウェア20内で処理できるページ
数を増やすためにディスクベースの記憶手段などの他の
種類の記憶手段を用いてもよいが、このようなデバイス
からのページの記憶および取り出しによってハードウェ
ア動作を遅くしてしまうことがある。従って、RAMベ
ースのローカルメモリが処理速度が重要なアプリケーシ
ョンにおいては好ましい。
メモリ24は、ホストコンピュータ内のRAM、再構成
可能ハードウェア内の専用RAM、あるいはこれらの組
み合わせであってもよい。ここで、図2の実施例におけ
るローカルメモリ24の大きさは記憶できるページ数、
そして処理できる論理回路の大きさを制約することとな
る。再構成可能ハードウェア20内で処理できるページ
数を増やすためにディスクベースの記憶手段などの他の
種類の記憶手段を用いてもよいが、このようなデバイス
からのページの記憶および取り出しによってハードウェ
ア動作を遅くしてしまうことがある。従って、RAMベ
ースのローカルメモリが処理速度が重要なアプリケーシ
ョンにおいては好ましい。
【0016】ページマネージャ22は、再構成可能ハー
ドウェア20内の4つのFPGAそれぞれのページのロ
ードとアンロードを制御する。ある時間においてどのペ
ージがどのFPGAへとロードされてるかの情報を記憶
し、またページのマッピングやそれらのローカルメモリ
24内の位置を記憶する。またページマネージャ22
は、ロードされたページの間の信号をルーティングし、
ページフォールトを検出する。ページマネージャ22は
1もしくは複数個のFIFOバッファを含み、ページ間
信号値の記憶及び転送を制御するのに用いる。FIFO
バッファを用いると、ページがアクティブになる前に多
くの信号値をページマネージャ22が蓄積することを可
能にし、ページ構成をダウンロードしたときに有用な機
能をより迅速に行うことができるようになう。このよう
に実装することにより、FPGAへとページ構成をダウ
ンロードするのに費やす時間とページ構成をダウンロー
ドした後のFPGAにおける演算時間との間の不釣り合
いを減少することができる傾向にある。
ドウェア20内の4つのFPGAそれぞれのページのロ
ードとアンロードを制御する。ある時間においてどのペ
ージがどのFPGAへとロードされてるかの情報を記憶
し、またページのマッピングやそれらのローカルメモリ
24内の位置を記憶する。またページマネージャ22
は、ロードされたページの間の信号をルーティングし、
ページフォールトを検出する。ページマネージャ22は
1もしくは複数個のFIFOバッファを含み、ページ間
信号値の記憶及び転送を制御するのに用いる。FIFO
バッファを用いると、ページがアクティブになる前に多
くの信号値をページマネージャ22が蓄積することを可
能にし、ページ構成をダウンロードしたときに有用な機
能をより迅速に行うことができるようになう。このよう
に実装することにより、FPGAへとページ構成をダウ
ンロードするのに費やす時間とページ構成をダウンロー
ドした後のFPGAにおける演算時間との間の不釣り合
いを減少することができる傾向にある。
【0017】図3は、FIFO入力バッファ30の一部
を示してあり、これはページAに対するページマネージ
ャ22内に具備することができる。ページマネージャ2
2は再構成と演算時間との釣り合いをとるように試み
る。これは、ロードされたページが別のページのために
空きを作るようにアンロードされる前に、なるべく多く
の演算を行うべきであることを意味する。このため、ペ
ージAの入力データベクトルは図3に示すようにバッフ
ァリングされる。ページB、C、Dが生成した、ページ
Aに対するデータベクトルの異なる「スライス」ないし
部分は、パラレル(並列)FIFOバッファに同期され
て蓄積される。図3のFIFO入力バッファ30は、3
つのセットのパラレルFIFOバッファ32、34、3
6を有し、それぞれページB、C、Dにより生成された
データベクトルを保持する。FIFOバッファ32、3
4、36のセットぞれぞれは、いくつかの個々のスライ
スバッファ33、35、37を具備する。ページCによ
るデータベクトルの計算は、そのバッファセットの相対
的占有度により示されるように、ページBおよびDによ
る計算よりも一時的に遅れる。理想的にはAはその入力
バッファ30が満杯になった後にのみロードされるのが
よい。これは、一般化したデータフローモデルの一種と
して考えることができる。このモデルでは、ページAに
必要とされる演算数(オペランド)はページB、C、D
が生成したベクトルスライスに対応し、最後のkのクロ
ックサイクルで演算されたオペランドを演算は待つ。こ
こで、kは、セット32、34、36それぞれにおける
バッファの数である。ページマネージャ22は、回路の
ページのそれぞれに対して図3で示したものと同様な入
力バッファを維持する。なお、本発明は、他の種類のペ
ージ間バッファリングをも用いることができる。
を示してあり、これはページAに対するページマネージ
ャ22内に具備することができる。ページマネージャ2
2は再構成と演算時間との釣り合いをとるように試み
る。これは、ロードされたページが別のページのために
空きを作るようにアンロードされる前に、なるべく多く
の演算を行うべきであることを意味する。このため、ペ
ージAの入力データベクトルは図3に示すようにバッフ
ァリングされる。ページB、C、Dが生成した、ページ
Aに対するデータベクトルの異なる「スライス」ないし
部分は、パラレル(並列)FIFOバッファに同期され
て蓄積される。図3のFIFO入力バッファ30は、3
つのセットのパラレルFIFOバッファ32、34、3
6を有し、それぞれページB、C、Dにより生成された
データベクトルを保持する。FIFOバッファ32、3
4、36のセットぞれぞれは、いくつかの個々のスライ
スバッファ33、35、37を具備する。ページCによ
るデータベクトルの計算は、そのバッファセットの相対
的占有度により示されるように、ページBおよびDによ
る計算よりも一時的に遅れる。理想的にはAはその入力
バッファ30が満杯になった後にのみロードされるのが
よい。これは、一般化したデータフローモデルの一種と
して考えることができる。このモデルでは、ページAに
必要とされる演算数(オペランド)はページB、C、D
が生成したベクトルスライスに対応し、最後のkのクロ
ックサイクルで演算されたオペランドを演算は待つ。こ
こで、kは、セット32、34、36それぞれにおける
バッファの数である。ページマネージャ22は、回路の
ページのそれぞれに対して図3で示したものと同様な入
力バッファを維持する。なお、本発明は、他の種類のペ
ージ間バッファリングをも用いることができる。
【0018】図4は、図2のページマネージャ22にて
実装することができるページフォールト処理動作の流れ
図である。アンロードされたページの入力バッファが満
杯になったことを表すページフォルトを検知すると、ペ
ージマネージャ22は、そのページフォールトを直すた
めに置換元ページ(置換すべきページ)を選択する(5
0)。選択されるページは、例えば、最近最もロードさ
れていないページ、あるいは他の所定規則を用いて選択
される。代わりに、ページ置換アルゴリズムを特定の基
準を最小化するように置換ページを選択して用いてもよ
い。次に、ページマネージャ22は置換元ページの全て
のレジスタの値をローカルメモリ24内に保存する(5
2)。ページマネージャ22は置換元ページのFPGA
における全ての入出力(I/O)ピンを切断する(5
4)。次に、新しく置換するページ(新置換ページ)の
構成情報をページマネージャ22がローカルメモリ24
から置換元ページが占有するFPGAへとダウンロード
する(56)。新置換ページのレジスタの値はローカル
メモリ24から取り出され、復帰される(58)。新置
換ページのFPGAのI/Oピンを接続する(60)。
これにより、新置換ページの入力バッファから対応する
FPGAの入力へ、またそのFPGAの出力から新置換
ページが供給するページの入力バッファへの必要な接続
を確立する。
実装することができるページフォールト処理動作の流れ
図である。アンロードされたページの入力バッファが満
杯になったことを表すページフォルトを検知すると、ペ
ージマネージャ22は、そのページフォールトを直すた
めに置換元ページ(置換すべきページ)を選択する(5
0)。選択されるページは、例えば、最近最もロードさ
れていないページ、あるいは他の所定規則を用いて選択
される。代わりに、ページ置換アルゴリズムを特定の基
準を最小化するように置換ページを選択して用いてもよ
い。次に、ページマネージャ22は置換元ページの全て
のレジスタの値をローカルメモリ24内に保存する(5
2)。ページマネージャ22は置換元ページのFPGA
における全ての入出力(I/O)ピンを切断する(5
4)。次に、新しく置換するページ(新置換ページ)の
構成情報をページマネージャ22がローカルメモリ24
から置換元ページが占有するFPGAへとダウンロード
する(56)。新置換ページのレジスタの値はローカル
メモリ24から取り出され、復帰される(58)。新置
換ページのFPGAのI/Oピンを接続する(60)。
これにより、新置換ページの入力バッファから対応する
FPGAの入力へ、またそのFPGAの出力から新置換
ページが供給するページの入力バッファへの必要な接続
を確立する。
【0019】上述の方法によりロードされたページは、
そのベクトルのスライス全てがロードされたページの入
力バッファに到達してからすぐにその次の入力ベクトル
を処理する。ページマネージャ22は、そのページ入力
バッファの状態を用いて次のページを取り替えて追い出
し(スワップアウト)、演算のフローを進行させる。例
えば、すでに満杯な入力バッファの少なくとも1つを供
給(フィード)するページは、アンロードされる。なぜ
なら、その次の出力ベクトルのための記憶場所がないか
らである。完全に満杯なページ入力バッファがなけれ
ば、スワップインすべき次のページは、処理すべきベク
トルの数が最も多い入力バッファを有するページとして
選択される。
そのベクトルのスライス全てがロードされたページの入
力バッファに到達してからすぐにその次の入力ベクトル
を処理する。ページマネージャ22は、そのページ入力
バッファの状態を用いて次のページを取り替えて追い出
し(スワップアウト)、演算のフローを進行させる。例
えば、すでに満杯な入力バッファの少なくとも1つを供
給(フィード)するページは、アンロードされる。なぜ
なら、その次の出力ベクトルのための記憶場所がないか
らである。完全に満杯なページ入力バッファがなけれ
ば、スワップインすべき次のページは、処理すべきベク
トルの数が最も多い入力バッファを有するページとして
選択される。
【0020】ページマネージャ22は、マイクロプロセ
ッサ、FPGA、これらの組み合わせ、FPGAと現場
でプログラム可能な相互接続チップ(FPIC)との組
み合わせを用いて実装することができる。また他のハー
ドウェア、ソフトウェア、ファームウェア、または図2
〜4と関連して上述したページ管理機能を提供するのに
適切なこれらの組み合わせを用いることができる。
ッサ、FPGA、これらの組み合わせ、FPGAと現場
でプログラム可能な相互接続チップ(FPIC)との組
み合わせを用いて実装することができる。また他のハー
ドウェア、ソフトウェア、ファームウェア、または図2
〜4と関連して上述したページ管理機能を提供するのに
適切なこれらの組み合わせを用いることができる。
【0021】ネットリストあるいは他の回路表現を各ペ
ージへと区分することを以下に説明する。図5Aは、フ
ィードフォワード構造を具備する回路のページ構成を示
すブロック図である。従って、図5Aのフィードフォワ
ード構造における4つのページA、B、C、Dの間の相
互接続は、ページの内部構造は1もしくは複数個のフィ
ードバックループを具備するかもしれないが、フィード
バックループを全く具備しない。上述のパイプライン化
構造は、フィードフォワード構造の一種である。プライ
マリ入力(PI)のみにより供給されるページは、独立
ページと呼ぶ。例えば、図6Aにおいて、ページAおよ
びBは独立ページであり、ページCおよびDは従属ペー
ジである。独立ページは、任意の大きな数の入力データ
ベクトルをバッファリングすることができる。
ージへと区分することを以下に説明する。図5Aは、フ
ィードフォワード構造を具備する回路のページ構成を示
すブロック図である。従って、図5Aのフィードフォワ
ード構造における4つのページA、B、C、Dの間の相
互接続は、ページの内部構造は1もしくは複数個のフィ
ードバックループを具備するかもしれないが、フィード
バックループを全く具備しない。上述のパイプライン化
構造は、フィードフォワード構造の一種である。プライ
マリ入力(PI)のみにより供給されるページは、独立
ページと呼ぶ。例えば、図6Aにおいて、ページAおよ
びBは独立ページであり、ページCおよびDは従属ペー
ジである。独立ページは、任意の大きな数の入力データ
ベクトルをバッファリングすることができる。
【0022】「ページレベル」と呼ばれる概念は以下の
ように循環的に定められる。PIのみにより供給される
ページはレベル0を有するとされる。他の全てのページ
XのレベルはXに供給するページの中の最大レベルより
も大きなレベルである。図5において、ページAおよび
Bのレベルは0であり、ページCのレベルは0+1=1
であり、ページDのレベルは1+1=2である。このペ
ージレベル情報をページマネージャ22が用いて、利用
可能なFPGAにてロードするために各ページをスケジ
ューリングする。例えば、一実施例において、同時に2
ページのみをロードすることができるとすると、ページ
マネージャ22はまずレベル0のページ(ページAおよ
びB)をロードし、PIからバッファリングされた入力
データベクトルでこれら2ページの演算を開始する。次
に、ページAおよびBは、それらの出力データベクトル
をページCおよびDの入力バッファにて記憶する。
ように循環的に定められる。PIのみにより供給される
ページはレベル0を有するとされる。他の全てのページ
XのレベルはXに供給するページの中の最大レベルより
も大きなレベルである。図5において、ページAおよび
Bのレベルは0であり、ページCのレベルは0+1=1
であり、ページDのレベルは1+1=2である。このペ
ージレベル情報をページマネージャ22が用いて、利用
可能なFPGAにてロードするために各ページをスケジ
ューリングする。例えば、一実施例において、同時に2
ページのみをロードすることができるとすると、ページ
マネージャ22はまずレベル0のページ(ページAおよ
びB)をロードし、PIからバッファリングされた入力
データベクトルでこれら2ページの演算を開始する。次
に、ページAおよびBは、それらの出力データベクトル
をページCおよびDの入力バッファにて記憶する。
【0023】ページCの入力バッファが満杯になると、
ページマネージャ22はページフォールトを認識する。
次に、レベル0のページの1つ、ページAなどがそのF
PGAからアンロードされ、(レベル1の)ページCそ
のFPGAへとロードされる。次に、ページCは、その
入力バッファからのデータの処理を開始し、ページDの
入力バッファにその結果を記憶する。この動作に伴い、
(レベル2の)ページDに必要な構成およびレジスタの
値がページBにより以前に用いられていたFPGAへと
ロードされる。ページDがロードされると、その入力バ
ッファからのデータ処理を開始する。ページCがその入
力バッファをからにするとすぐ、ページCのFPGAは
ページAへと再割り当てされる。ここで、ページAのロ
ード処理はページDの動作と協調して動作する。ページ
Aはそのロード処理を完成するとすぐに入力データベク
トルの処理を開始することができる。
ページマネージャ22はページフォールトを認識する。
次に、レベル0のページの1つ、ページAなどがそのF
PGAからアンロードされ、(レベル1の)ページCそ
のFPGAへとロードされる。次に、ページCは、その
入力バッファからのデータの処理を開始し、ページDの
入力バッファにその結果を記憶する。この動作に伴い、
(レベル2の)ページDに必要な構成およびレジスタの
値がページBにより以前に用いられていたFPGAへと
ロードされる。ページDがロードされると、その入力バ
ッファからのデータ処理を開始する。ページCがその入
力バッファをからにするとすぐ、ページCのFPGAは
ページAへと再割り当てされる。ここで、ページAのロ
ード処理はページDの動作と協調して動作する。ページ
Aはそのロード処理を完成するとすぐに入力データベク
トルの処理を開始することができる。
【0024】本発明に従うページパーディショナーは、
ページ間論理動作を最小化するように試み、各ページは
可能な限り「自らに含まれる」すなわち自律性(オート
ノマス)を有するようにされる。ページがより自律性を
有すると、他のページが作ったデータをより多く必要と
する前までは、その入力バッファに蓄積されたデータに
関して行うことができる演算の量は増える。従って、パ
ーティショナーの1つの目的として、各ページの内部に
フィードバックループを保持することがある。FPGA
の大きさに依存して、この目的は全ての回路において達
成できるとは限らない。
ページ間論理動作を最小化するように試み、各ページは
可能な限り「自らに含まれる」すなわち自律性(オート
ノマス)を有するようにされる。ページがより自律性を
有すると、他のページが作ったデータをより多く必要と
する前までは、その入力バッファに蓄積されたデータに
関して行うことができる演算の量は増える。従って、パ
ーティショナーの1つの目的として、各ページの内部に
フィードバックループを保持することがある。FPGA
の大きさに依存して、この目的は全ての回路において達
成できるとは限らない。
【0025】図5Bは、図5Aのページ相互接続ととも
に、ページDの出力からページCの入力へのフィードバ
ック(帰還)ループを示している。フィードバックルー
プのためにページレベルは上述の手順を用いてはページ
CおよびDに対して演算することができない。従って、
「規定されていない」ページレベルを用いて、フィード
バックループを識別するのに用いることができる。FP
GAの大きさの制約のため、ページCおよびDは同じペ
ージ内にともにグルーピングすることはできないと考え
ることができる。図5Bのページ間帰還ループを取り扱
う方法として、2つの隣接するFPGAへと収まる必要
があるように、1つの超ページ(スーパーページ)C_
DとしてページCおよびDを扱う方法がある。もちろ
ん、グローバル帰還ループの存在は、回路全体が超ペー
ジとして扱われることを必要とし、これは、利用可能な
再構成可能ハードウェアへと収まるためには大きすぎる
ことになる。このような回路の問題としては、新しい再
構成を必要とする前に、わずかなベクトルのみをバッフ
ァリングすることができるという点がある。この問題
は、例えば、それらを必要とする前に構成のダウンロー
ドをするための拡張ルックアヘッドの技術、また、再構
成可能ハードウェア内のページをエミュレーションする
ことなしに学習したページの動作の再生を可能とするキ
ャッシング技術を用いることにより解決することができ
る。
に、ページDの出力からページCの入力へのフィードバ
ック(帰還)ループを示している。フィードバックルー
プのためにページレベルは上述の手順を用いてはページ
CおよびDに対して演算することができない。従って、
「規定されていない」ページレベルを用いて、フィード
バックループを識別するのに用いることができる。FP
GAの大きさの制約のため、ページCおよびDは同じペ
ージ内にともにグルーピングすることはできないと考え
ることができる。図5Bのページ間帰還ループを取り扱
う方法として、2つの隣接するFPGAへと収まる必要
があるように、1つの超ページ(スーパーページ)C_
DとしてページCおよびDを扱う方法がある。もちろ
ん、グローバル帰還ループの存在は、回路全体が超ペー
ジとして扱われることを必要とし、これは、利用可能な
再構成可能ハードウェアへと収まるためには大きすぎる
ことになる。このような回路の問題としては、新しい再
構成を必要とする前に、わずかなベクトルのみをバッフ
ァリングすることができるという点がある。この問題
は、例えば、それらを必要とする前に構成のダウンロー
ドをするための拡張ルックアヘッドの技術、また、再構
成可能ハードウェア内のページをエミュレーションする
ことなしに学習したページの動作の再生を可能とするキ
ャッシング技術を用いることにより解決することができ
る。
【0026】本発明は、いかなる同期回路構造に適用す
ることができ、ユーザにとって透過性のある方法で動作
する再構成可能ハードウェア技術を提供する。従って、
本発明は、上述の従来技術の問題となっている「パイプ
ラインのみ」による構造的制約を有効に除去することが
できる。また、ユーザにとって、再構成可能ハードウェ
ア上を回路がどのように実行、エミュレーション、ある
いはシミュレーションするかを知らなくてもすみ、ま
た、回路の大きさと利用可能なハードウェアの容量との
ミスマッチの可能性について気にしないでもすむ。すな
わち、本発明に従う仮想論理システムは、用いるハード
ウェアや実行時インフラからユーザを隔離し、ユーザが
その設計を動作させる論理設計ではなく、動作せたいア
プリケーションに焦点を当てることができる。
ることができ、ユーザにとって透過性のある方法で動作
する再構成可能ハードウェア技術を提供する。従って、
本発明は、上述の従来技術の問題となっている「パイプ
ラインのみ」による構造的制約を有効に除去することが
できる。また、ユーザにとって、再構成可能ハードウェ
ア上を回路がどのように実行、エミュレーション、ある
いはシミュレーションするかを知らなくてもすみ、ま
た、回路の大きさと利用可能なハードウェアの容量との
ミスマッチの可能性について気にしないでもすむ。すな
わち、本発明に従う仮想論理システムは、用いるハード
ウェアや実行時インフラからユーザを隔離し、ユーザが
その設計を動作させる論理設計ではなく、動作せたいア
プリケーションに焦点を当てることができる。
【0027】上述の実施例は、例示的な目的で示してあ
り、本発明は他の構成も可能である。別の種類の再構成
可能ハードウェアやページング制御機構を用いる構成も
可能である。また本発明は所望な回路のいかなる大きさ
をも収容するために自由にスケーリングすることがで
き、例えば、ローカルメモリ24の大きさ、FPGAの
数や大きさを増やすことができる。また、回路に対して
エミュレーションされたメモリとして用いるために埋め
込みメモリを具備するようにFPGAを構成することが
できる。さらに、インクリメント型実行時再構成機能を
サポートするように構成してもよい。
り、本発明は他の構成も可能である。別の種類の再構成
可能ハードウェアやページング制御機構を用いる構成も
可能である。また本発明は所望な回路のいかなる大きさ
をも収容するために自由にスケーリングすることがで
き、例えば、ローカルメモリ24の大きさ、FPGAの
数や大きさを増やすことができる。また、回路に対して
エミュレーションされたメモリとして用いるために埋め
込みメモリを具備するようにFPGAを構成することが
できる。さらに、インクリメント型実行時再構成機能を
サポートするように構成してもよい。
【図1】マルチステージパイプラインか回路構造で用い
るのに適した従来技術の再構成可能ハードウェア技術を
示すブロック図。
るのに適した従来技術の再構成可能ハードウェア技術を
示すブロック図。
【図2】本発明に従った仮想論理機構を具備する再構成
可能ハードウェアのセットのブロック図。
可能ハードウェアのセットのブロック図。
【図3】図2の再構成可能ハードウェアにて用いるのに
適したページマネージャ(PAGMAN)におけるFI
FOバッファの動作を示す説明図。
適したページマネージャ(PAGMAN)におけるFI
FOバッファの動作を示す説明図。
【図4】本発明に従うPAGMANにて実装することが
できるページフォールト処理動作を示す流れ図。
できるページフォールト処理動作を示す流れ図。
【図5】本発明のページ区分の原理を示すページブロッ
ク図。
ク図。
10 ロジック回路
14、20 再構成可能ハードウェア
22 ページマネージャ(PAGMAN)
24 ローカルメモリ
30 FIFO入力バッファ
33、35、37 スライスバッファ
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 平3−40520(JP,A)
特開 昭59−16050(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
H01L 21/82
H01L 21/822
G06F 7/00
H03K 19/177
H01L 27/04
Claims (25)
- 【請求項1】 回路の異なる部分を実装するためにハー
ドウェアのセットを再構成する方法であって、 (A) 複数のページへと回路のモデルを区分するステ
ップを備え、前記ページそれぞれは、回路の部分のうち
の1つに対応しており、 (B) メモリからハードウェアへのページのシーケン
シャルロードを制御するステップをさらに備え、アンロ
ードされたページに関する状態の検出により、その後の
そのアンロードされたページのロードをトリガーする、
方法。 - 【請求項2】 アンロードされたページに関する前記状
態は、そのアンロードされたページに対応する入力バッ
ファが実質的に満杯であることの指示に対応する、請求
項1記載の方法。 - 【請求項3】 前記制御するステップ(B)は、 (C) 当該ページに対応するFIFOバッファへとペ
ージ間信号値を記憶するステップを有する、請求項1記
載の方法。 - 【請求項4】 前記ハードウェアは、複数のフィールド
プログラマブルゲートアレーを具備し、前記制御するス
テップ(B)は、 (D) 前記各フィールドプログラマブルゲートアレー
へと各ページのサブセットがロードされるように、各ペ
ージのロードを制御するステップを有する、請求項1記
載の方法。 - 【請求項5】 前記制御するステップ(B)は、 (E) 当該ページが異なるフィールドプログラマブル
ゲートアレーへと異なる時間にてロードされるように、
各ページのロードを制御するステップを有する、請求項
4記載の方法。 - 【請求項6】 前記制御するステップ(B)は、 (F) 再構成可能ハードウェアの第1部分へとロード
された第1ページと第2ページに対応する入力バッファ
との間の接続を確立するステップを有する、請求項1記
載の方法。 - 【請求項7】 前記制御するステップ(B)は、 (G) 置換元ページに対応する再構成可能ハードウェ
アの部分における入力および出力線の切断を指示するス
テップと、 (H) 置換元ページとは別のページに対応する、前に
記憶したページ間信号値を取り出すステップと、 (I) 前記別のページに対応する入力および出力線の
接続を指示するステップとを有する、請求項1記載の方
法。 - 【請求項8】 再構成可能ハードウェア装置であって、 (A) それぞれが回数の異なる部分を独立に実装する
ことができる複数の再構成可能デバイスを備え、前記回
路は、それぞれが前記回路の各部分と対応する複数のペ
ージへと区分されたモデルにより特徴づけられ、 (B) 前記再構成可能デバイスとつながれ、各ページ
のロードを制御するように動作するコントローラをさら
に備え、これにより、アンロードされたページに関する
状態の検出により、その後のそのアンロードされたペー
ジのロードをトリガーさせる、再構成可能ハードウェア
装置。 - 【請求項9】 アンロードされたページに関する前記状
態は、そのアンロードされたページに対応する入力バッ
ファが実質的に満杯であることの指標に対応する、請求
項8記載の再構成可能ハードウェア装置。 - 【請求項10】 (C) 前記再構成可能デバイス
(A)および前記コントローラ(B)につながれたロー
カルメモリを有する、請求項8記載の再構成可能ハード
ウェア装置。 - 【請求項11】 前記コントローラ(B)は、ページ間
信号値をそのページに対応するFIFOバッファ内へと
記憶するように動作する、請求項8記載の再構成可能ハ
ードウェア装置。 - 【請求項12】 前記再構成可能デバイス(A)は、フ
ィールドプログラマブルゲートアレーであり、前記コン
トローラ(B)は、各ページのサブセットが前記フィー
ルドプログラマブルゲートアレーへとロードされるよう
に、各ページのロードを制御するように動作する、請求
項8記載の再構成可能ハードウェア装置。 - 【請求項13】 前記コントローラ(B)は、各ページ
が異なる時間において異なるフィールドプログラマブル
ゲートアレーへとロードされるように、各ページのロー
ドを制御するように動作する、請求項12記載の再構成
可能ハードウェア装置。 - 【請求項14】 前記コントローラ(B)は、前記再構
成可能デバイス(A)の第1デバイスへとロードされた
第1ページと第2ページに対応する入力バッファとの間
の接続を確立するように動作する、請求項8記載の再構
成可能ハードウェア装置。 - 【請求項15】 前記コントローラ(B)および少なく
とも前記再構成デバイス(A)のサブセットは、ホスト
コンピュータへバスを介してつながれた回路カード上に
実装される、請求項8記載の再構成可能ハードウェア装
置。 - 【請求項16】 前記コントローラ(B)は、パーソナ
ルコンピュータの資源を少なくとも一部用いて実装され
る、請求項8記載の再構成可能ハードウェア装置。 - 【請求項17】 回路の異なる部分を実装するためにハ
ードウェアのセットを再構成する装置であって、 (A) 複数のページへと回路のモデルを区分する手段
を備え、各ページは、当該回路の部分のうちの1つに対
応し、 (B) メモリからハードウェアへのページのロードを
制御する手段をさらに備え、あるロードされたページか
らアンロードされたページに向けられた1個以上のペー
ジ間信号値が、アンロードされたページがシーケンシャ
ルにロードされるときに用いることができるように記憶
される、装置。 - 【請求項18】 回路の異なる部分を実装するためにハ
ードウェアのセットを再構成する装置であって、 (A) 複数ページへと回路のモデルを区分する手段を
備え、各ページは、当該回路の部分のうちの1つに対応
し、 (B) メモリからハードウェアへのページのシーケン
シャルロードを制御する手段をさらに備え、これによ
り、アンロードされたページに関する状態の検出により
その後のそのアンロードされたページのロードをトリガ
ーする、装置。 - 【請求項19】 再構成可能ハードウェア装置であっ
て、 (A) 再構成可能ハードウェアを用いて回路の異なる
部分を実装する手段を 備え、前記回路は、複数のページ
により特徴づけられ、前記ページそれぞれは、前記回路
の部分のうちの1つに対応し、 (B) 前記再構成可能ハードウェアへと各ページのロ
ードを制御する手段をさらに備え、あるロードされたペ
ージからアンロードされたページに向けられた1個以上
のページ間信号値が、アンロードされたページがシーケ
ンシャルにロードされるときに用いることができるよう
に記憶される、再構成可能ハードウェア装置。 - 【請求項20】 再構成可能ハードウェア装置であっ
て、 (A) 再構成可能ハードウェアを用いて回路の異なる
部分を実装する手段を備え、前記回路は、複数のページ
により特徴づけられ、前記ページそれぞれは、前記回路
の部分のうちの1つに対応し、 (B) 前記再構成可能ハードウェアへと各ページのシ
ーケンシャルロードを制御する手段をさらに備え、これ
により、アンロードされたページに関する状態の検出に
よりその後のそのアンロードされたページのロードをト
リガーする、再構成可能ハードウェア装置。 - 【請求項21】 回路の異なる部分を実装するためにハ
ードウェアのセットを再構成する方法であって、 (A) 回路の異なる部分を実装するために複数の再構
成可能デバイスを用いるステップを備え、前記回路は、
複数のページにより特徴づけられ、前記ページれぞれ
は、前記回路の部分の1つに対応し、 (B) 前記再構成可能デバイスへと各ページのロード
を制御するステップをさらに備え、あるロードされたペ
ージからアンロードされたページに向けられた1個以上
のページ間信号値が、アンロードされたページがシーケ
ンシャルにロードされるときに用いることができるよう
に記憶される、方法。 - 【請求項22】 回路の異なる部分を実装するためにハ
ードウェアのセットを再構成する方法であって、 (A) 回路の異なる部分を実装するために複数の再構
成可能デバイスを用いるステップを備え、前記回路は、
複数のページにより特徴づけられ、前記ページそれぞれ
は、前記回路の部分の1つに対応し、 (B) 前記再構成可能デバイスへと各ページのシーケ
ンシャルロードを制御するステップをさらに備え、これ
により、ロードされたページからアンロードされたペー
ジへ向かうページ間信号が、その後のそのアンロードさ
れたページのロードまでに少なくとも一時的に記憶され
る、方法。 - 【請求項23】 再構成可能ハードウェアにおいて回路
を実装する装置であって、 (A) 前記再構成可能ハードウェアにより実装するこ
とができるパイプライン化できない各ページへと回路を
区分する回路パーティショナーと、 (B) 前記パイプライン化できない各ページのうちの
現在実装されているページとそれらページのうちの別の
ページとの間で結果を交信するためのメモリとを有す
る、装置。 - 【請求項24】 再構成可能ハードウェアにおいて回路
を実装する装置であって、前記回路は、各ページへと区
分され、各ページのうちの最大大きさのページを前記再
構成可能ハードウェア上に実装することができ、前記装
置は、 (A) 前記再構成可能ハードウェアを各ページへと任
意の順序で制御状態で供給するページマネージャを備
え、前記ページマネージャは、前記回路を実装するため
に各ページをスワッピングし、 (B) 各ページのうちの現在実装されているページと
それらページのうちの別のページとの間で結果を交信す
るためのメモリをさらに備える、装置。 - 【請求項25】 再構成可能ハードウェア装置であっ
て、 (A) それぞれが回路の異なる部分を独立に実装する
ことができる複数の再構成可能デバイスを備え、前記回
路は、それぞれが前記回路の各部分と対応する複数のペ
ージへと区分されたモデルにより特徴づけられ、 (B) 前記再構成可能デバイスとつながれ、各ページ
のロードを制御するように動作するコントローラをさら
に備え、これにより、あるロードされたページからアン
ロードされたページに向けられた1個以上のページ間信
号値が、アンロードされたページがシーケンシャルにロ
ードされるときに用いることができるように記憶され
る、再構成可能ハードウェア装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/010,000 US6034538A (en) | 1998-01-21 | 1998-01-21 | Virtual logic system for reconfigurable hardware |
US09/010000 | 1998-01-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000040745A JP2000040745A (ja) | 2000-02-08 |
JP3392067B2 true JP3392067B2 (ja) | 2003-03-31 |
Family
ID=21743238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01139599A Expired - Fee Related JP3392067B2 (ja) | 1998-01-21 | 1999-01-20 | ハードウェアのセットを再構成する方法および再構成可能ハードウェア装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6034538A (ja) |
JP (1) | JP3392067B2 (ja) |
GB (1) | GB2333625B (ja) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356620B2 (en) | 2003-06-10 | 2008-04-08 | Altera Corporation | Apparatus and methods for communicating with programmable logic devices |
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 |
EP1329816B1 (de) * | 1996-12-27 | 2011-06-22 | Richter, Thomas | 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 |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
GB2347249B (en) * | 1998-01-21 | 2001-01-03 | Lucent Technologies Inc | Virtual logic system for reconfigurable hardware |
GB2350456A (en) * | 1999-05-13 | 2000-11-29 | Jpc Technology Ltd | Data processing |
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 |
US7200138B2 (en) * | 2000-03-01 | 2007-04-03 | Realtek Semiconductor Corporation | Physical medium dependent sub-system with shared resources for multiport xDSL system |
EP2226732A3 (de) | 2000-06-13 | 2016-04-06 | PACT XPP Technologies AG | Cachehierarchie für einen Multicore-Prozessor |
US7197542B2 (en) * | 2000-06-30 | 2007-03-27 | Ponzio Jr Frank J | System and method for signaling quality and integrity of data content |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US7206733B1 (en) | 2000-10-26 | 2007-04-17 | Cypress Semiconductor Corporation | Host to FPGA interface in an in-circuit emulation system |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US6526559B2 (en) | 2001-04-13 | 2003-02-25 | Interface & Control Systems, Inc. | Method for creating circuit redundancy in programmable logic devices |
AU2002347560A1 (en) * | 2001-06-20 | 2003-01-02 | Pact Xpp Technologies Ag | Data processing method |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) * | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
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 |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
DE10392560D2 (de) | 2002-01-19 | 2005-05-12 | Pact Xpp Technologies Ag | Reconfigurierbarer Prozessor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
WO2003081454A2 (de) * | 2002-03-21 | 2003-10-02 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US20070011433A1 (en) * | 2003-04-04 | 2007-01-11 | Martin Vorbach | Method and device for data processing |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
WO2004038599A1 (de) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Rekonfigurierbare sequenzerstruktur |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7430652B2 (en) * | 2003-03-28 | 2008-09-30 | Tarari, Inc. | Devices for performing multiple independent hardware acceleration operations and methods for performing same |
EP2511787B1 (en) | 2003-05-23 | 2017-09-20 | IP Reservoir, LLC | Data decompression and search using FPGA devices |
US7120571B2 (en) * | 2003-06-16 | 2006-10-10 | Fortelink, Inc. | Resource board for emulation system |
WO2005001689A1 (ja) * | 2003-06-25 | 2005-01-06 | Nec Corporation | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム |
US8106679B2 (en) | 2003-08-29 | 2012-01-31 | Fuji Xerox Co., Ltd. | Data processing system |
JP4004052B2 (ja) * | 2003-09-24 | 2007-11-07 | 株式会社東芝 | 論理回路装置、プログラマブル論理回路の動作方法 |
CN100412801C (zh) * | 2003-09-30 | 2008-08-20 | 三洋电机株式会社 | 备有可重构电路的处理装置、集成电路装置 |
US20070038971A1 (en) * | 2003-09-30 | 2007-02-15 | Tatsuo Hiramatsu | Processing device with reconfigurable circuit, integrated circuit device and processing method using these devices |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
JP3967737B2 (ja) * | 2004-07-20 | 2007-08-29 | 株式会社東芝 | プログラマブル論理回路装置およびプログラマブル論理回路の再構築方法 |
JP4201816B2 (ja) * | 2004-07-30 | 2008-12-24 | 富士通株式会社 | リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法 |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
JP4893309B2 (ja) | 2004-10-28 | 2012-03-07 | 富士ゼロックス株式会社 | 再構成可能な論理回路を有するデータ処理装置 |
JP4450737B2 (ja) * | 2005-01-11 | 2010-04-14 | 富士通株式会社 | 半導体集積回路 |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
EP1859378A2 (en) | 2005-03-03 | 2007-11-28 | Washington University | Method and apparatus for performing biosequence similarity searching |
JP2006287675A (ja) * | 2005-04-01 | 2006-10-19 | Renesas Technology Corp | 半導体集積回路 |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
JP4720436B2 (ja) * | 2005-11-01 | 2011-07-13 | 株式会社日立製作所 | リコンフィギュラブルプロセッサまたは装置 |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
JP4909588B2 (ja) | 2005-12-28 | 2012-04-04 | 日本電気株式会社 | 情報処理装置及び再構成デバイスの利用方法 |
JP2009524134A (ja) | 2006-01-18 | 2009-06-25 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | ハードウェア定義方法 |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US8281056B2 (en) * | 2008-07-31 | 2012-10-02 | Chevron U.S.A. Inc. | System and method of processing data on a peripheral device configured to communicate with a host computing system over a peripheral BUS |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
JP5423419B2 (ja) * | 2010-01-21 | 2014-02-19 | 富士ゼロックス株式会社 | データ処理装置 |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
JP5798378B2 (ja) * | 2011-05-30 | 2015-10-21 | キヤノン株式会社 | 装置、処理方法、およびプログラム |
US9465632B2 (en) | 2012-02-04 | 2016-10-11 | Global Supercomputing Corporation | Parallel hardware hypervisor for virtualizing application-specific supercomputers |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
JP5775897B2 (ja) * | 2013-03-25 | 2015-09-09 | 株式会社日立システムズ | 複数の再構成可能論理回路を環状直列に接続して、パイプライン処理を実現する論理処理装置 |
JP5775896B2 (ja) * | 2013-03-25 | 2015-09-09 | 株式会社日立システムズ | 論理演算処理装置 |
US11113440B1 (en) * | 2017-03-17 | 2021-09-07 | Synopsys, Inc. | Memory migration in hybrid emulation |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5916050A (ja) * | 1982-07-16 | 1984-01-27 | Nec Corp | ダイナミツクゲ−トアレイ |
US4942319A (en) * | 1989-01-19 | 1990-07-17 | National Semiconductor Corp. | Multiple page programmable logic architecture |
CH688425A5 (fr) * | 1993-05-24 | 1997-09-15 | Suisse Electronique Microtech | Circuit électronique organisé en réseau matriciel de cellules. |
GB9403030D0 (en) * | 1994-02-17 | 1994-04-06 | Austin Kenneth | Re-configurable application specific device |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5572148A (en) * | 1995-03-22 | 1996-11-05 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5640106A (en) * | 1995-05-26 | 1997-06-17 | Xilinx, Inc. | Method and structure for loading data into several IC devices |
WO1997003444A1 (en) * | 1995-07-10 | 1997-01-30 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
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 |
US5654650A (en) * | 1995-12-11 | 1997-08-05 | Hewlett-Packard Company | High throughput FPGA control interface |
US5838165A (en) * | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5773993A (en) * | 1996-09-26 | 1998-06-30 | Xilinx, Inc. | Configurable electronic device which is compatible with a configuration bitstream of a prior generation configurable electronic device |
-
1998
- 1998-01-21 US US09/010,000 patent/US6034538A/en not_active Expired - Lifetime
-
1999
- 1999-01-12 GB GB9900613A patent/GB2333625B/en not_active Expired - Fee Related
- 1999-01-20 JP JP01139599A patent/JP3392067B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000040745A (ja) | 2000-02-08 |
GB2333625A (en) | 1999-07-28 |
GB2333625B (en) | 2001-01-10 |
US6034538A (en) | 2000-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3392067B2 (ja) | ハードウェアのセットを再構成する方法および再構成可能ハードウェア装置 | |
US5301344A (en) | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets | |
KR101012745B1 (ko) | 프로그램가능한 회로 및 관련 컴퓨팅 머신 및 방법 | |
US7373432B2 (en) | Programmable circuit and related computing machine and method | |
US7487302B2 (en) | Service layer architecture for memory access system and method | |
Wirthlin et al. | A dynamic instruction set computer | |
US6076152A (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
EP0644482B1 (en) | Dispatch of instructions to multiple execution units | |
US9513923B2 (en) | System and method for context migration across CPU threads | |
US5907693A (en) | Autonomously cycling data processing architecture | |
McGregor et al. | Self controlling dynamic reconfiguration: A case study | |
US6199143B1 (en) | Computing system with fast data transfer of CPU state related information | |
US7908465B1 (en) | Hardware emulator having a selectable write-back processor unit | |
GB2347249A (en) | Virtual logic system for reconfigurable hardware | |
Lysaght et al. | Configuration controller synthesis for dynamically reconfigurable systems | |
EP1570371A1 (en) | Data processing system having a cartesian controller | |
Hamilton | Adaptive-Hybrid Redundancy MIPS Version 2.2 | |
Chauhan et al. | Reconfiguration of fpga for domain specific applications using embedded system approach | |
Biedermann et al. | Virtualizable Architecture for embedded MPSoC | |
Dumitriu et al. | Run-time component relocation in partially-reconfigurable fpgas | |
Taher | Configuration Caching in Adaptive Computing Systems Using Association Rule Mining (ARM) Mohamed Taher, Esam El-Araby, and Tarek El-Ghazawi The George Washington University, USA | |
JPH086760A (ja) | データ処理装置 | |
JPH0512373A (ja) | ハードウエアシミユレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20021217 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |