JP3832557B2 - プログラマブル論理回路への回路の再構成方法および情報処理システム - Google Patents
プログラマブル論理回路への回路の再構成方法および情報処理システム Download PDFInfo
- Publication number
- JP3832557B2 JP3832557B2 JP2000133652A JP2000133652A JP3832557B2 JP 3832557 B2 JP3832557 B2 JP 3832557B2 JP 2000133652 A JP2000133652 A JP 2000133652A JP 2000133652 A JP2000133652 A JP 2000133652A JP 3832557 B2 JP3832557 B2 JP 3832557B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- processing
- programmable logic
- logic circuit
- previous
- 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
Landscapes
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
この発明は、アプリケーションプログラムによる処理の一部分を、回路構成を再構成できるプログラマブル論理回路で処理することが可能である情報処理システムおよびプログラマブル論理回路への回路の再構成方法に関する。特に、回路の再構成と処理を並列に高速実行する方法に関する。
【0002】
【従来の技術】
デジタル回路装置、特に特定用途向け集積回路(ASIC)の分野において、製品の開発期間を短縮するために、フィールドプログラマブルゲートアレイ(FPGA)やプログラマブルロジックデバイス(PLD)などで構成されたプログラマブル論理回路が広く使われている。これらのプログラマブル論理回路は、論理回路を記述する回路情報をこれらに読み込ませることで、内部の論理回路と論理回路間の結線を自由に構成することができる。
【0003】
このため、プログラマブル論理回路を用いることで、従来は回路設計の終了後に数週間から数か月を必要とした集積回路の作製時間が不要となるメリットがある。特に米国特許第4,700,187号の発明のような電気的に再構成可能なプログラマブル論理装置は、一度作製した回路を必要に応じて自由に何度でも変更できるという利点があり、ますます広く使われるようになってきている。
【0004】
ところで、最近の論理回路は複雑さが増し、一つのプログラマブル論理回路では実現できない規模にまで回路規模が大きくなっている。この問題を解決するための一つの方法として、異なる時間に異なる論理回路を実現するために、プログラマブル論理回路を処理の途中で再構成することが提案されている。この方法を用いることにより、携帯情報端末のように装置が小型であるため内蔵できる回路規模に制約がある場合でも、様々な処理が比較的高速に行えるという利点がある。
【0005】
しかし、この方法は、プログラマブル論理回路を再構成するときには、回路全体の回路情報を再度読み込ませるため、再構成に時間がかかるという欠点がある。さらに、処理の途中で再構成することは、処理を一時中断し、そのときのデータをプログラマブル論理回路の外部の記憶装置に待避させ、新たな回路情報を読み込んで再構成し、再構成前のデータと再構成に伴う新しいデータを入力するという余分な処理が必要になる。
【0006】
この問題を解決するために、米国アトメル社の「CONFIGURABLE LOGIC」という名のデータブックに記載されているプログラマブル論理回路、および米国ザイリンクス社の「THE PROGRAMMABLE LOGIC」という名のデータブックに記載されているプログラマブル論理回路では、データを記憶するためのデータ記憶装置を有し、回路の動作中でも外部の記憶装置から回路情報の一部を読み込んで部分的に再構成を行うことで、再構成するための時間を最小に留めるようにしている。
【0007】
このようなプログラマブル論理回路を情報処理システムに用いるときの問題は、所望の論理回路を構成するための回路情報を格納先から取り出し、必要に応じて複数の回路情報を合成し、所望の論理回路を再構成しながら、アプリケーションの処理を、高速かつ効率的に行わねばならないことである。
【0008】
以上に述べた複数の回路情報をプログラマブル論理回路で処理する情報システムは、ネットワークに接続して利用することができる。その例として、特開平10−78932号公報に公開される「リコンフィグラブル・ネットワークコンピュータ」があり、それを従来例1として図9を参照しながら説明する。
【0009】
この従来例1の情報処理システムは、通信ネットワークNETに接続された複数のコンピュータで構成され、その内の少なくとも一つがアプリケーションプログラムを配布するコンピュータ(アプリケーション・サーバ)SBであり、残りのコンピュータが前記アプリケーションプログラムをダウンロードし、実行するクライアントとなるコンピュータ(クライアント・コンピュータ)CLで構成されたシステムである。複数のクライアント・コンピュータCLの一部に、プログラムにより機能を随時変更し再構成することが可能な拡張ハードウェア(拡張HW)1が搭載されている。
【0010】
アプリケーション・サーバSBに格納されたアプリケーションプログラムAPには、その一部の機能に対して、拡張ハードウェアで実行されるプログラムコード(拡張コード)と、クライアント・コンピュータCLのメインプロセッサ(メインP)2で実行されるメインプロセッサコードが含まれている。
【0011】
クライアント・コンピュータCLのOSは、拡張ハードウェア1が実装されているか否かを判断する機能を持ち、その判断に基づいて、ハードウエア構成に適したコードをアプリケーションプログラムAPから取り出すコード選択機能3を備える。そして、図9の上側のクライアント・コンピュータCLのように、拡張ハードウエア1が実装されている場合には、コード選択機能3を通じてアプリケーションプログラムAPの中から拡張コードが取り出されて、拡張ハードウエアで処理が実行される。
【0012】
また、図9の下側のクライアント・コンピュータCLのように、拡張ハードウェア1を持たない場合には、アプリケーションプログラムAPから、コード選択機能3を通じてメインプロセッサコードが取り出されて、メインプロセッサ2で処理が実行される。
【0013】
別の構成では、拡張ハードウェア1で実現する機能を、クライアント・コンピュータCL上に、後から動的に追加/削除が可能なOSの拡張機能あるいは動的ライブラリとして実現し、アプリケーションプログラムがOSに対し処理中に利用する拡張機能あるいは動的ライブラリの種類を登録する。OSは、拡張機能あるいは動的ライブラリがクライアントに上に存在する場合にはそれを用い、存在しない場合にはネットワーク上のサーバーから必要とする拡張機能あるいは動的ライブラリを転送し利用する。
【0014】
また、メインプロセッサ2用のコード、拡張ハードウェア1用のコードは、一体となっているのではなく、アプリケーションプログラムまたはOSの拡張機能または動的ライブラリ毎に、個々のコードをホストコンピュータに上に備えることもできる。
【0015】
拡張ハードウェア1を構成するプログラマブルロジックの構成が、クライアント・コンピュータCL間で異なる場合は、拡張コードを、適当なゲート数と入出力端子数の論理回路の機能をブール式等で記述した基本モジュールと、それらの接続関係を表現したコードとすることもできる。この基本モジュールをそれぞれプログラマブルロジックの基本プログラムに割り付ける機能と、複数のプログラマブルロジックチップにまたがる大きな拡張コードの場合には、基本モジュールを接続の度合いに応じて分割し、各プログラマブルロジックチップに配置配線する機能を、アプリケーション・サーバSBまたはクライアント・コンピュータCL上に持つ。
【0016】
拡張ハードウェア1を利用する複数のアプリケーションを同時に実行できるように、必要のなくなったハードウェア資源を別のアプリケーションプログラムのために再利用するハードウェア資源の管理機能と、拡張ハードウェア1に入りきらない拡張コードを時分割で入れ替えるコード入れ替え機能を持つ。クライアント・コンピュータCL上で実行されるアプリケーションプログラム毎に適宜設定されるプライオリティ値、メインプロセッサ2の処理能力値、拡張ハードウェア1の処理能力値、ハードウェア資源量、コード入れ替えるために必要な処理能力値を基に、ハードウェア資源に入りきらない複数のアプリケーションプログラムに対して選択する拡張ハードウェア管理機能を持つ。
【0017】
複数のアプリケーションが同時に同じ拡張コードを拡張ハードウェア1で利用する場合には、内部状態のみを時分割で切り替えて機能を共有する。
【0018】
以上のように、ネットワークで接続されたコンピュータ上で、サーバから配布されたアプリケーションプログラムをクライアント側で実行する際、クライアントにプログラムにより機能を随時変更し、再構成可能な拡張ハードウェアを搭載し、サーバーに格納されたアプリケーションプログラムには、メインプロセッサコードと拡張コードを含ませ、拡張ハードウェアの有無、種類を判断したコード選択機能によって、クライアント側の計算機の構成を変え、処理に適した構成にすることでアプリケーションプログラムを高速に処理できる。
【0019】
また、従来、ネットワーク上で、クライアント側に特殊なハードウェアを必要とする新しいサービスを開始しようとする場合、クライアント側のユーザはそのために新しいハードウェアを導入する必要があったし、サービスの提供者は、新しいハードウェアをもつ一部のユーザに対してのみ新しいサービスを提供することになった。このように、新しいハードウェアを導入することなく、新しいサービスを開始することが可能となる。
【0020】
次にプログラマブル論理回路の新しいデバイス技術について述べる。アプリケーションの処理に合わせた処理回路をプログラマブル論理回路上に構成し、この専用の処理回路を用いて高速処理を実現するというリコンフィギュラブルコンピューティングにプログラマブル論理回路が活用され始めている。
【0021】
リコンフィギュラブルコンピューティングでは、アプリケーション処理で必要となる複数の処理回路の回路情報を記憶装置へ事前に格納しておき、必要に応じて記憶装置から読み出した回路情報をプログラマブル論理回路に書きこむことで、その時点で必要となる回路を生成する。この技術はキャッシュロジック技術とかバーチャルロジック技術と呼ばれる。
【0022】
キャッシュロジック技術は、おなじプログラマブル論理回路上に必要に応じて異なる回路を構成するという時分割駆動技術である。その結果、回路規模の小さなプログラマブル論理回路を用いて、その回路規模以上の回路を実現でき、回路装置の小型化と低コスト化が可能となる。しかしながら、プログラマブル論理回路に書きこむ回路情報の規模によっては、回路の再構成時間が長くなり、専用の処理回路を用いて高速処理を実現するというリコンフィギュラブルコンピューティングの効果を損なうという問題がある。
【0023】
この回路の再構成というコンフィギュレーションは、その回路による処理、すなわちプロセスのオーバーヘッドとして作用し、処理の低速化を引き起こす。このオーバーヘッドによる影響を低減するために、コンフィギュレーションとプロセスの並列化処理が行われる。すなわち、あるプロセスの実行中に、プログラマブル論理回路の非動作領域に次の回路のコンフィギュレーションを並行して実行するものである。
【0024】
ここで、コンフィギュレーションの単位としては、アプリケーションの処理に応じて、回路を機能単位に細分化して、コンフィギュレーションデータが生成したものとする。この生成された回路データ単位でプログラマブル論理回路上に配置、再構成される。再構成が完了した後から、プロセスとしてデータの処理が順次実行されていく。このプロセス期間に、デバイス上の別の非動作領域において、次の機能回路を再構成するためのコンフィギュレーションデータが転送され、回路が再構成されていく。
【0025】
しかし、コンフィギュレーションしようとする領域に既にコンフィギュレーションされていて、そのプロセスが実行されている場合、そのプロセスが完了するまで待たなければならない。そのため、場合によっては、コンフィギュレーション時間が長くなって、次のプロセス開始が連続的に実行できず、待ち時間が発生し、全体の処理が遅くなる問題がある。
【0026】
この問題点を、図10、図11および図12を用いて説明する。例えば、処理回路を4つに分割して、順次部分書き換えを行いながら処理を実行していく場合で説明する。
【0027】
図10に示すように、それぞれの分割された回路ブロックをA,B,C,Dとし、それらのコンフィギュレーションデータをCDa、CDb、CDc、CDdとし、それぞれのコンフィギュレーション時間をtca、tcb、tcc、tcdとし、プロセス時間をそれぞれtpa、pb、tpc、tpdとする。
【0028】
コンフィギュレーション時間は、コンフィギュレーションデータの格納先からプログラマブルデバイスに転送される速度、すなわち、転送周波数と信号ラインのバス幅によって転送速度が決定され、それらの構成回路の最高動作周波数まで動作が可能になる。したがって、転送速度をDTR[bps]とすると、コンフィギュレーションデータに対して、それぞれのコンフィギュレーション時間が求められる。
【0029】
一方、アプリケーションの処理において、プロセス時間は、プログラマブル論理回路の動作速度や回路構成によって決定され、あらかじめ回路動作シミュレーションによって求めることができ、処理データ量を加味して算出できる。
【0030】
したがって、回路ブロックAから回路ブロックDまでの一連の処理を順番に実行する場合には、まず、回路ブロックAをコンフィギュレーションし、そのコンフィギュレーション終了後から回路ブロックAの処理が実行されると同時に、次の回路ブロックBのコンフィギュレーションが並列処理で実行される。以下同様に、回路ブロックDのコンフィギュレーションが完了した後から回路ブロックDの処理が実行される。さらに、回路ブロックAの処理に戻って繰り返される場合には、回路ブロックDの処理と同時に回路ブロックAのコンフィギュレーションが並列処理で実行される。以上のように、コンフィギュレーションデータが回路ブロック単位で扱われ、そのコンフィギュレーションが完了した後にその処理が実行可能になる。
【0031】
しかし、コンフィギュレーションデータのサイズが大きく、そのコンフィギュレーション期間において、先の機能回路ブロックの処理時間が短い場合には、次の処理回路の実行開始まで待ち時間が発生することになる。そのため、アプリケーション全体の処理時間でみたときには、この待ち時間の累積時間分だけ処理時間が長くかかることになり、性能の低下が発生する問題がある。
【0032】
今、回路ブロックA〜回路ブロックDのそれぞれが図11に示すような形状および大きさであり、プログラマブル論理回路4上に、図11に示すような状態で配置される場合について、図12の処理タイミング図を参照して説明する。
【0033】
まず、スタート時点t0から、回路ブロックAのコンフィギュレーションCaが行われる。この回路ブロックAのコンフィギュレーションが完了した時点t1から回路ブロックAによるプロセスPaが実行されると共に、次の回路ブロックBのコンフィギュレーションCbが、プロセスCaと並列に、コンフィギュレーション時間tcbの期間実行され、時点t2で回路ブロックBのコンフィギュレーションが完了する。
【0034】
回路ブロックAによるプロセスPaと、回路ブロックBによるプロセスPbが連続であるため、プロセスPaが完了した時点t3後から連続してプロセスPbが実行され、プロセス時間tpb後の時点t4まで行なわれる。
【0035】
次の回路ブロックCは、図11に示すように、回路ブロックAの領域と重複している部分があるため、回路ブロックAがプロセスPaが終了するまで、この回路ブロックCのコンフィギュレーションはできない。したがって、プロセスPaが終了し、プロセスPbが開始する時点t3以後に、回路ブロックCのコンフィギュレーションも開始されることになる。
【0036】
ところが、回路ブロックCのコンフィギュレーションデータCDcが大きく、そのコンフィギュレーション時間tccが、回路ブロックBによるプロセスPbのプロセス時間tpbより長い場合、回路ブロックによるプロセスPcが開始できるまで、図12において期間twcで示す待ち時間が発生する。
【0037】
この図12では、他にもプロセスPdとコンフィギュレーションCaとの間においても待ち時間twaが発生していることを示している。これらの待ち時間twa,twcは、プロセスPaからプロセスPdまでの繰り返しサイクル数分だけ累積され、全体の処理時間が長くなってしまう。
【0038】
この問題を解決できる手段としては、コンフィギュレーションデータを小さくしたり、コンフィギュレーション転送速度を上げることで、コンフィギュレーション時間を短縮することが挙げられる。
【0039】
しかし、コンフィギュレーションデータを小さくするためには、プログラマブル論理回路の中の空いている論理回路部に対して回路利用効率を上げる必要があり、そのコンフィギュレーション再生成のためには、設計ツールを用いて複雑な処理が必要になり、多大な時間と労力を必要とする。
【0040】
また、コンフィギュレーション転送速度を上げてコンフィギュレーション時間を短縮する場合、転送に関わる回路の動作速度には限界があり、必ずしも処理時間よりコンフィギュレーション時間を短くできるとは限らない。また、動作周波数を上げることは、消費電力の増加をもたらすため、バッテリー駆動などで低消費電力仕様を求められる場合には不適となる。
【0041】
【発明が解決しようとする課題】
以上のように、従来の汎用CPUとソフトウェアによるアプリケーションプログラムの処理を高速化するため、あるいは新しい機能を付加する場合などに、拡張したハードウェアが用いられる。特に、拡張ハードウェアにプログラマブル論理回路を用いて、回路を再構成しながら処理を並列で実行していく場合には、回路の再構成時間による影響を小さくする必要がある。
【0042】
通常、アプリケーションプログラムにおいて、処理の順番が決定されていて、そのために用いる機能回路もあらかじめ決定されている。しかし、プログラマブル論理回路には、応用システムに適した実装回路規模、処理性能、消費電力などに応じて、サイズが選択されるため、あらかじめ回路ブロックの分割サイズや配置などは適性化されていない。
【0043】
そのため、特にプログラマブル論理回路のサイズが小さくなると、前述したように、回路ブロック間で重なる配置とする場合が発生し、先にコンフィギュレーションされた回路のプロセスが終了しないと、次の回路ブロックのコンフィギュレーションができない。したがって、コンフィギュレーションしようとする回路によるプロセス開始までの待ち時間が発生し、全体の処理性能が低下する欠点がある。
【0044】
この発明は、以上の点にかんがみ、回路ブロックのコンフィギュレーションによるオーバーヘッドの影響を軽減し、システム全体の処理性能を向上させることを目的とする。
【0045】
【課題を解決するための手段】
上記課題を解決するために、この発明によるプログラマブル論理回路への回路の再構成方法おいては、
プログラマブル論理回路に、複数個の回路を順次に再構成しながら、再構成した回路による処理を並行して順次に実行させるようにする場合における前記複数個の回路の再構成方法であって、
次に回路を再構成しようとする少なくとも一部の領域に、前に再構成されていて、その処理が実行されている前回路が存在するような回路については、前記前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割しておき、
前記重ならない部分を前記前回路の処理と並行して再構成し、前記前回路の処理が終了した後に、前記重なる部分を再構成する
ことを特徴とする。
【0046】
【作用】
上述の構成のこの発明によれば、プログラマブル論理回路に再構成されていて、処理が実行されている前回路の処理時間(プロセス時間)が、再構成(コンフィギュレーション)しようとする回路のコンフィギュレーション時間よりも短いため、待ち時間が発生する場合には、その回路を再構成するためのデータを前回路の領域と重なる部分と、重ならない部分とに、分割して生成しておく。
【0047】
そして、実際のコンフィギュレーションにおいては、その回路の前回路と重ならない部分を、当該前回路の処理と並行して再構成する。そして、その前回路の処理が終了した後に、残りの前回路と重なる部分の再構成を行う。
【0048】
したがって、各回路の処理と処理との間の待ち時間を無くす、あるいは短くすることができ、全体としての処理時間を短縮化することができる。
【0049】
【発明の実施の形態】
以下、この発明による情報処理システムの実施の形態およびプログラマブル論理回路への回路再構成方法を、図を参照しながら説明する。なお、以下に説明する実施の形態においては、アプリケーションプログラムにおいて、使用する回路情報と処理順などの処理フローがあらかじめ決定されているものとする。
【0050】
[第1の実施の形態]
[情報処理システムのハードウエア構成例]
図2は、この発明の第1の実施の形態の情報処理システム10のハードウエア構成例を示すブロック図である。この実施の形態の情報処理システム10においては、CPU11のホストバス11Bに、チップセット12に含まれるメモリコントローラ(図示せず)を介して、DRAMで構成されるメインメモリ13が接続される。
【0051】
ホストバス11Bは、また、チップセット12に含まれるホスト−PCIバスブリッジ(図示せず)を介して、PCIバス14に接続される。PCIバス14には、プログラマブル論理回路インターフェース21と、ハードディスクインターフェース15と、通信インターフェース16とが接続される。
【0052】
そして、プログラマブル論理回路インターフェース21には、プログラマブル論理回路22とローカルメモリ23とが接続される。そして、プログラマブル論理回路22は、外部入出力インターフェース24を介して外部機器31に接続され、データの入出力が行なわれる。
【0053】
プログラマブル論理回路インターフェース21は、PCIバス14などのシステムバスによってCPU11やメインメモリ13やローカルメモリ23に接続されて、データ転送や制御を行うためのものである。このプログラマブル論理回路インターフェース21には、プログラマブル論理回路22の回路の再構成のための処理データに付加されたヘッダ情報を解釈する機能回路、回路再構成のための回路情報、処理データや中間処理データの最後に付加されるEOF(End Of Frame)のマーカ検出機能回路が含まれる。
【0054】
ハードディスクインターフェース15には、ハードディスクドライブ17が接続される。ハードディスクドライブ17により読み書きされるハードディスクには、アプリケーションプログラムが格納されている。アプリケーションプログラムは、ハードディスクインターフェース15、PCIバス14およびチップセット12に含まれるホスト−PCIブリッジ(図示せず)を介して、ハードディスクドライブ17からメインメモリ13にロードされて、CPU11によって実行される。
【0055】
また、ハードディスクドライブ17のハードディスクには、プログラマブル論理回路22に再構成される回路情報が格納されている場合もある。
【0056】
通信インターフェース16は、LANやインターネットなどのネットワーク32を介して様々な機器に接続することができる。このため、アプリケーションプログラムは、ネットワーク32に接続される記憶装置33に格納されている情報へのアクセスも行え、様々なアプリケーションプログラムやデータなどを入手できる。この場合は、情報処理システム10が、アプリケーションプログラムを、ネットワーク32に接続される通信インターフェース16を介してメインメモリ13に取得して実行あるいはPCIバス14から直接プログラマブル論理回路インターフェース21を介してプログラマブル論理回路22へ転送することもできる。
【0057】
尚、プログラマブル論理回路22と、その関連する周辺部であるプログラマブル論理回路インターフェース21と、ローカルメモリ23と、外部入出力インターフェース24とは、集積化により一体化されて、図2において点線で囲むプログラマブル論理回路ユニット20の構成とされる。このユニット20の構成とすることで、入出力部のライン負荷を低減させたり、専用バス化の構成により、高速化および低消費電力化が図れる。
【0058】
次に、プログラマブル論理回路22の構造を図3および図4に示す。プログラマブル論理回路22は、回路情報を格納するためのコンフィギュレーションメモリ41と、論理セル42と、配線領域43と、入出力端子44とで構成される。
【0059】
コンフィギュレーションメモリ41は、論理セル42内および配線領域43内のEEPROM、SRAMなどの書き換え可能なメモリ素子で構成されている。回路データはアドレスADRとデータDTの対で構成される。図4に示すように、コンフィギュレーションメモリ41にアドレスADRが与えられて、そのアドレスに対応するメモリセルにアドレスと対になった新しい回路情報のデータDTが格納されると、この回路情報に従って、論理セル42内の回路構成と、論理セル42および入出力端子44を相互に接続する配線領域43の接続状態が再構成される。この一連の動作をコンフィギュレーションと呼ぶ。コンフィギュレーションメモリ41の一部分を書き換えることで、プログラマブル論理回路が動作中であっても、回路を部分的に再構成することができる。
【0060】
図4に示すように、プログラマブル論理回路22に再構成されて形成された回路素子45に、入出力端子44を介して、処理すべきデータが入力され、また、その処理結果が出力される。データ入力先の論理セルと、データ出力元の論理セルを、論理セルの位置に対応するセル座標を示した制御コードによってアプリケーションプログラムが指定する。
【0061】
以上のシステム構成によって、プログラマブル論理回路22による処理のデータの入出力方法により処理するデータとしては、マルチメディアのような画像、音声などのストリーミングデータなどがある。
【0062】
[プログラマブル論理回路への再構成方法]
この実施の形態のプログラマブル論理回路への再構成方法においては、アプリケーションプログラムにおけるプロセスの順序、それぞれのプロセスに対応する回路ブロックの回路サイズ、配置アドレスの情報、および、プログラマブル論理回路のサイズによって、コンフィギュレーション時の重なりによる次のプロセスの待ち時間の発生を検出する。そして、コンフィギュレーションの重なりにより待ち時間発生となる回路ブロックのコンフィギュレーションデータを重なり部と重ならない部分とに分割し、重ならない部分のコンフィギュレーションを先のプロセスと並列実行し、先のプロセス終了後に、重なり部のコンフィギュレーションを実行するようにする。
【0063】
これにより、プロセス間の待ち時間をなくすか、短くすることによって、コンフィギュレーションによるオーバーヘッドの影響を軽減し、システム全体の処理性能を向上させるようにする。なお、分割コンフィギュレーションデータの生成時間が、アプリケーション時間の処理時間を短くできるときに、その分割コンフィギュレーションデータの生成を行うようにするのは勿論である。
【0064】
この分割コンフィギュレーションデータの生成は、CPU11が行うが、ネットワーク32に接続されたサーバにおいて、そのCPUなどの演算手段が行うようにしてもよい。
【0065】
まず、プログラマブル論理回路に対する回路ブロックのサイズと配置、並びに、回路ブロックの重なり検出と、分割コンフィギュレーションデータの生成のための方法について述べる。
【0066】
プログラマブル論理回路は、応用システムに適した実装回路規模、処理性能、消費電力などに応じて、サイズが選択されるため、プログラマブル論理回路のサイズが決まらないと、あらかじめ回路ブロックの分割サイズと配置などは決定できない。
【0067】
しかし、一般的には、小さなサイズのプログラマブル論理回路に対しても利用できるような回路ブロックサイズで、回路ブロックのデータが生成される。
【0068】
回路ブロックの配置は、プログラマブル論理回路のサイズに対応して配置が決定され、その配置はアドレスで指定される。すなわち、大きなサイズのプログラマブル論理回路においては、配置の自由度が高いため、回路の重なりは少なくなり、逆にサイズの小さなプログラマブル論理回路では、配置の制約により重なりが多くなる。
【0069】
配置状態が決定されると、そのアドレス情報を用いて、あらかじめ、回路ブロック間で重なる領域になるかどうかの判別が可能である。
【0070】
すなわち、まず、コンフィギュレーションしようとする回路ブロックが、プロセスを実行中の領域に重なるかどうかの検出のために、コンフィギュレーションしようとする回路ブロックのコンフィギュレーション時間と、そのコンフィギュレーション時に実行中となるプロセス時間との比較を行う。コンフィギュレーション時間の方がプロセス時間よりも長い場合には、プロセス間の待ち時間が発生することになるため、重なり処理を行うように判別する。コンフィギュレーション時間の方がプロセス時間よりも短く、重ならないと判別された場合には、そのままコンフィギュレーションを行う。
【0071】
ここで、重なる場合には、重なる部分と重ならない部分とをプログラマブル論理回路の論理セル単位で切り分ける分割コンフィギュレーションデータの生成処理を行う。
【0072】
分割コンフィギュレーションデータの生成処理においては、先のプロセスと並行して重ならない部分のコンフィギュレーションを行い、先のプロセスが終了した後から重なる部分のコンフィギュレーションを行う。このようにして、重なりのない回路部分のコンフィギュレーションを先行させることにより、先のプロセス終了後からのコンフィギュレーション時間を短縮できる。
【0073】
例えば、前述の図10の回路ブロックA〜Dの場合を例にとると、回路ブロックCのコンフィギュレーション時間tccは、回路ブロックBのプロセス時間tpbよりも大きいので、図5に示すように、回路ブロックCは、回路ブロックAと重ならず、回路ブロックAでのプロセスに影響しない領域C1と、回路ブロックAと重なり、回路ブロックAでのプロセスに影響する領域C2とに分ける。
【0074】
なお、図5に示すように、回路ブロックCを、回路ブロックAの処理に影響しない領域C1と、回路ブロックAの処理が終了した後にコンフィギュレーションを実行すべき領域C2に分割する場合、C1とC2の境界は、回路ブロックAと完全に分離できるところにする必要があるため、プログラマブル論理回路の論理回路セル単位での分割となり、回路ブロックA側に関係する回路セルで未使用であっても、重なり拡張部Cmとして領域C2に含める。また、配線についても同様に、回路ブロックAに含まれる部分までは、重なり拡張部Cmとして領域C2に含める。
【0075】
また、回路ブロックの重なり検出と、分割コンフィギュレーションデータの生成の方法として二つの形態がある。一つは、アプリケーション処理開始前に、回路ブロックの重なりの有無をチェックし、有る場合には、最初に分割コンフィギュレーションデータを生成し、それらを用いてアプリケーションを実行する方法である。もう一つは、アプリケーション処理開始後の第1サイクルで、回路ブロックの重なりの有無をチェックし、重なりがある場合には、分割コンフィギュレーションデータを生成し、以降の処理では分割コンフィギュレーションを用いてアプリケーションを実行する方法である。
【0076】
前者の形態の場合、後者の形態の場合のいずれの場合にも、コンフィギュレーションデータの分割生成処理は、情報処理システム10内のCPU11でも、ネットワーク32に接続されたサーバのどちらでもよい。
【0077】
[第一の形態;アプリケーション処理開始前に検出、分割データ生成]
回路ブロックの重なり検出と分割コンフィギュレーションデータの生成の方法として挙げた二つの形態のうちの第1の形態を、図5の回路ブロック配置図、図6のタイミング図および図1のフローチャートを用いて説明する。
【0078】
アプリケーション処理の開始前に、プログラマブル論理回路のサイズ、機能回路ブロックの個別サイズと配置アドレス、処理順序を基に、重なり部が発生する回路ブロックを、前述のようにしてコンフィギュレーション時間とプロセス時間との比較によって待ち時間を検出する。検出されたコンフィギュレーションデータを分割生成する処理方法である。これらの処理フローを図1に示すフローチャートを用いて説明する。
【0079】
ここでは、種類がN個の回路ブロックについて、順番にコンフィギュレーションとプロセスが実行されていく場合を示す。
【0080】
まず、回路ブロックの順番を示す変数jの初期化(j=1)を行い(ステップS1)、j番目の回路ブロックのコンフィギュレーションCjの時間tcjを算出する(ステップS2)。コンフィギュレーション時間tcjは、コンフィギュレーションデータの格納先からプログラマブル論理回路に転送される速度、すなわち、転送周波数と信号ラインのバス幅によって転送速度が決定される。この場合、それらの構成回路の最高動作周波数まで動作が可能になる。したがって、転送速度をDTR[bps]とすると、コンフィギュレーションデータサイズ[bit]をDTRで割ることによって、それぞれのコンフィギュレーション時間が求められる。
【0081】
次に、順番jが最初か否か判別し(ステップS3)、最初であれば、コンフィギュレーション時間tcjと時間比較するプロセス時間tpは、複数個の回路ブロックを繰り返すアプリケーションの場合として、最後の回路ブロックPM(j=M)のプロセス時間tp(M)であると決定する(ステップS4)。また、順番jが最初でなければ、コンフィギュレーション時間tcjと時間比較するプロセス時間tpは、一つ前のプロセスのプロセス時間tp(j−1)とする(ステップS5)。
【0082】
プロセス時間は、プログラマブル論理回路の動作速度や回路構成によって決定され、あらかじめシミュレーションなどで求めることができるため、アプリケーションにおける処理データ量を加味して算出する。
【0083】
そして、j番目のコンフィギュレーションCjのコンフィギュレーション時間tcjと、ステップS4またはステップS5で算出されたプロセス時間tpとの比較を行う(ステップS6)。この場合に、最初の回路ブロック(j=1)のコンフィギュレーション時間のときは、最終の回路ブロックのプロセス時間tp=tp(M)との比較を行い、その後の回路ブロックのコンフィギュレーション時間のときには、その前のj−1番目のプロセス時間tp=tp(j−1)との比較を行う。
【0084】
コンフィギュレーション時間tcjがプロセス時間tpより長いときには、重なりが発生していると判定し、重なり状態を示すフラグFjをFj=1とし(ステップS7)、短いときには重なりがないと判定し、フラグFjをFj=0とする(ステップS8)。
【0085】
重なりが発生するときには、重なり領域のコンフィギュレーションデータのアドレスをプログラマブル論理回路のサイズに対して配置が決定されたコンフィギュレーションデータのアドレスから算出する(ステップS9)。このアドレス算出アドレスデータに基づいて、分割コンフィギュレーションデータCj1およびCj2を生成する(ステップS10)。ここでは、Cj1を重ならない領域、Cj2を重なり領域のコンフィギュレーションデータとして扱う。
【0086】
ここで、重なり部側の分割コンフィギュレーションデータCj2には、プログラマブル論理回路の最小構成単位である論理セルで分割するが、重なり部からの配線が含まれるセル部分をも含める。また、重ならない領域の分割コンフィギュレーションデータCj1についても、プログラマブル論理回路の最小構成単位である論理セルを分割される最小単位とする。
【0087】
分割コンフィギュレーションデータの生成が終了したら、順番を示す変数を次の順番にする(ステップS11)。ステップS8でフラグFjをFj=0としたときには、重なり領域のアドレス算出のステップS9と分割コンフィギュレーションの生成のステップS10とをバイパスして、コンフィギュレーションの順番を次の順番にする、このステップS11に飛ぶ。
【0088】
以下同様にして、N個の回路ブロックの最後の回路ブロックについて、重なりが生じるすべての回路ブロックについては、重なり領域の検出と分割データ生成の処理を行う(ステップS12)。
【0089】
以上のようにして生成された分割コンフィギュレーションデータを用いて、アプリケーション処理の実行を行う(ステップS13)。この場合に、重なり判別フラグFjにより、重なりのあるコンフィギュレーションデータをCj1とCj2に分割したコンフィギュレーションデータを用いて、先に重ならない領域Cj1のコンフィギュレーションを行い、先のプロセスが終了した後に重なりの領域Cj2のコンフィギュレーションを行う。
【0090】
図5に示した4個の回路ブロックの例の場合であれば、図6に示すように、回路ブロックBのコンフィギュレーションの後に、回路ブロックAのプロセスPaの終了を待つことなく、プロセスPaに並行して、分割コンフィギュレーションデータの生成処理で生成した、重ならない領域についての分割コンフィギュレーションデータC1のコンフィギュレーションCc1を実行する。そして、回路ブロックAのプロセスPaの終了後、回路ブロックBのプロセスPbと並行して、重なる領域についての分割コンフィギュレーションデータC2のコンフィギュレーションCc2を実行する。以上により、この実施の形態の場合には、従来の図12の場合のような待ち時間twcを生じることなく、アプリケーションの実行を行うことができる。
【0091】
[第2の形態;アプリケーション処理開始後の第1サイクルで検出、分割データ生成]
この第2の形態は、アプリケーション処理は、N個の回路ブロックによるプロセスが繰り返し行われるもので、そのアプリケーション処理開始後の第1サイクルで、回路ブロックの重なりの有無をチェックし、重なりがある場合には、分割コンフィギュレーションデータを生成し、以降の処理では分割コンフィギュレーションを用いてアプリケーションを実行する方法である。
【0092】
なお、この分割コンフィギュレーションデータを生成するための処理時間が必要になるため、第1サイクルで分割コンフィギュレーションデータの生成が完了するまで、第2サイクルを待たせる必要はなく、アプリケーション処理と並列に、CPUによる分割コンフィギュレーションデータの生成処理、あるいは、ネットワークに接続されたサーバーなどによる分割コンフィギュレーションデータの生成処理によって生成できた時点のサイクルから、分割コンフィギュレーションの処理を実行することもできる。
【0093】
ここでは、種類がN個の回路ブロックについて、順番にコンフィギュレーションとプロセスを実行するサイクルをM回実行するアプリケーション処理で、第1のサイクルで回路ブロックの重なり検出と分割コンフィギュレーション生成処理を行い、第2サイクル以降から分割コンフィギュレーションデータによる処理とした処理フローを図7および図8に示すフローチャートを用いて説明する。
【0094】
まず、サイクル数を示す変数iと、回路ブロックのコンフィギュレーションの順番を示す変数(回路ブロックを示す変数に等しい)jとを初期化する(ステップS21)。次に、第iサイクルのj番目の回路ブロックについてのコンフィギュレーションC(ij)を行う(ステップS22)。そして、そのプロセスP (ij)を実行する(ステップS23)。
【0095】
次に、そのコンフィギュレーションC(ij)およびプロセスP(ij)が最初の処理サイクル(i=1)であるか否か判別する(ステップS24)。そして、最初の処理サイクルであると判別したときには、この最初の処理サイクルにおいて、j番目の回路ブロックのコンフィギュレーションC(1j)の時間tcjを、前述と同様にして、算出する(ステップS25)。
【0096】
次に、順番jが、最初の処理のサイクルにおいて1番目か否か判別し(ステップS26)、1番目であれば、コンフィギュレーション時間tcjと時間比較するプロセス時間tpは、その最初のサイクルの最後の回路ブロックPM(j=M)のプロセス時間tp(M)であると決定する(ステップS27)。また、順番jがその最初のサイクルにおいて1番目でなければ、コンフィギュレーション時間tcjと時間比較するプロセス時間tpは、一つ前のプロセスのプロセス時間tp(j−1)とする(ステップS28)。
【0097】
そして、j番目のコンフィギュレーションC(1,j)のコンフィギュレーション時間tcjと、ステップS27またはステップS28で算出されたプロセス時間tpとの比較を行う(ステップS31)。この場合に、最初の回路ブロック(j=1)のコンフィギュレーション時間のときは、最終の回路ブロックのプロセス時間tp=tp(M)との比較を行い、その後の回路ブロックのコンフィギュレーション時間のときには、その前のj−1番目のプロセス時間tp=tp (j−1)との比較を行う。
【0098】
コンフィギュレーション時間tcjがプロセス時間tpより長いときには、重なりが発生していると判定し、重なり状態を示すフラグFjをFj=1とし(ステップS32)、短いときには重なりがないと判定し、フラグFjをFj=0とする(ステップS33)。
【0099】
重なりが発生するときには、重なり領域のコンフィギュレーションデータのアドレスをプログラマブル論理回路のサイズに対して配置が決定されたコンフィギュレーションデータのアドレスから算出する(ステップS34)。このアドレス算出アドレスデータに基づいて、分割コンフィギュレーションデータCj1およびCj2を生成する(ステップS35)。ここでは、Cj1を重ならない領域、Cj2を重なり領域のコンフィギュレーションデータとして扱う。
【0100】
ここで、重なり部側の分割コンフィギュレーションデータCj2には、プログラマブル論理回路の最小構成単位である論理セルで分割するが、重なり部からの配線が含まれるセル部分をも含める。また、重ならない領域の分割コンフィギュレーションデータCj1についても、プログラマブル論理回路の最小構成単位である論理セルを分割される最小単位とする。
【0101】
但し、それぞれの分割領域Cj1またはCj2のサイズが小さい場合には、分割コンフィギュレーションデータを生成するための時間が発生するため、アプリケーションの全体の処理時間に対して、分割コンフィギュレーション時間によるプロセス待ち時間の短縮時間の総和によって処理時間を短くできる効果がない場合には、分割処理をする必要はない。
【0102】
分割コンフィギュレーションデータの生成が終了したら、順番を示す変数を次の順番にする(ステップS36)。ステップS33でフラグFjをFj=0としたときには、重なり領域のアドレス算出のステップS34と分割コンフィギュレーションの生成のステップS35とをバイパスして、コンフィギュレーションの順番を次の順番にする、このステップS36に飛ぶ。
【0103】
以下同様にして、N個の回路ブロックの最後の回路ブロックについて、重なりが生じるすべての回路ブロックについては、重なり領域の検出と分割データ生成の処理を行う(ステップS37)。
【0104】
以上のようにして、第1の処理サイクル(i=1)において回路ブロックの重なりの検出と分割コンフィギュレーションデータの生成が行われる。そして、第2の処理サイクル以降に移行する(ステップS38、ステップS39)。
【0105】
この第2の処理サイクル以降からは、生成された分割コンフィギュレーションデータを用いて、アプリケーション処理の実行を行う(ステップS22、ステップS23)。この場合に、重なり判別のフラグFjにより、重なりのあるコンフィギュレーションデータをCj1とCj2に分割したコンフィギュレーションデータを用いて、図5および図6に示したように、先に重ならない領域Cj1のコンフィギュレーションを行い、先のプロセスが終了した後に重なりの領域Cj2のコンフィギュレーションを行う。
【0106】
【発明の効果】
以上説明したように、この発明によれば、処理を実行中の回路ブロックと次にコンフィギュレーションしようとする回路ブロックとの重なりを検出し、重ならない部分を先にコンフィギュレーションしておき、先の回路ブロックによる処理が終了した後に残りの重なり部のコンフィギュレーションを行うことで、プロセス間の待ち時間をなくす、あるいは、短くすることができるため、全体の処理時間の高速化が図れる。
【0107】
また、コンフィギュレーション時間を短くするために、コンフィギュレーションデータを小さくするための複雑で多大な労力と時間を要する再生成処理やコンフィギュレーションデータの転送速度を上げて消費電力を増加させることなしに、全体のコンフィギュレーション時間を同等にした構成で対応でき、システムの変更が不要である。
【図面の簡単な説明】
【図1】この発明によるプログラマブル論理回路への回路の再構成方法の実施の形態を説明するためのフローチャートである。
【図2】この発明による情報処理システムの実施の形態のハードウエア構成例を示す図である。
【図3】プログラマブル論理回路の構造の例を説明するための図である。
【図4】プログラマブル論理回路の構造の例を説明するための図である。
【図5】実施の形態の再構成方法によって、プログラマブル論理回路に順次に再構成しようとする回路ブロックの配置関係を説明するための図である。
【図6】実施の形態の再構成方法を用いたアプリケーションの実行動作のタイミングチャートを示す図である。
【図7】この発明によるプログラマブル論理回路への回路の再構成方法の他の実施の形態を説明するためのフローチャートの一部を示す図である。
【図8】図7のフローチャートの残部を示す図である。
【図9】プログラマブル論理回路を用いた情報処理システムの従来例のブロック図である。
【図10】プログラマブル論理回路に順次に再構成しようとする複数個の回路ブロックのそれぞれのパラメータを示す図である。
【図11】従来の再構成方法によって、プログラマブル論理回路に順次に再構成しようとする回路ブロックの配置関係を説明するための図である。
【図12】図11の例の場合のアプリケーションの実行動作のタイミングチャートを示す図である。
【符号の説明】
10 情報処理システム
20 プログラマブル論理回路ユニット
22 プログラマブル論理回路
A,B,C,D 回路ブロック
C1,C2 分割回路ブロック
Claims (8)
- プログラマブル論理回路に、複数個の回路を順次に再構成しながら、再構成した回路による処理を並行して順次に実行させるようにする場合における前記複数個の回路の再構成方法であって、
次に回路を再構成しようとする領域の少なくとも一部に、前に再構成されていて、その処理が実行されている前回路が存在するような回路については、前記前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割しておき、
前記重ならない部分を前記前回路の処理と並行して再構成し、前記前回路の処理が終了した後に、前記重なる部分を再構成する
ことを特徴とするプログラマブル論理回路への回路の再構成方法。 - 請求項1に記載のプログラマブル論理回路への回路の再構成方法において、
前記プログラマブル論理回路への回路の再構成および処理の実行を開始する前に、前記前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割する処理を行っておくことを特徴とするプログラマブル論理回路への回路の再構成方法。 - 請求項1に記載のプログラマブル論理回路への回路の再構成方法において、
前記複数個の回路による処理を複数回実行する場合であり、
前記プログラマブル論理回路への回路の再構成および処理の実行を開始した後、前記処理の実行中に、各回路の再構成に要する時間と、その回路の前記前回路のプロセス時間との比較によって、前記前回路との重なりが発生する回路を検出し、その検出結果に基づいて、重なりを発生する回路について、前記前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割し、
前記再構成のためにデータが分割された回路が再度使用されるときに、前記重ならない部分を前記前回路の処理と並行して再構成し、前記前回路の処理が終了した後に、前記重なる部分を再構成する
ことを特徴とするプログラマブル論理回路への回路の再構成方法。 - 前記前回路の領域と重なる部分と、重ならない部分との分割は、プログラマブル論理回路の最小構成単位セルを分割単位とし、重なり部からの配線が含まれるセル部分をも含める分割とすることを特徴とする請求項1〜3のいずれかに記載のプログラマブル論理回路への回路の再構成方法。
- 請求項3に記載のプログラマブル論理回路への回路の再構成方法において、
前記前回路との重なり領域を生じる回路の検出および前記前回路の領域と重なる部分と、重ならない部分との分割処理は、前記繰り返し処理の最初のサイクルにおいて、前記複数個の回路による処理の実行と並行して行い、
前記繰り返し処理の2回目以降のサイクルにおいて、前記分割された回路データを用いた再構成を行う
ことを特徴とするプログラマブル論理回路への回路の再構成方法。 - プログラムで処理を記述した一連の処理をアプリケーションプログラムとして実行するものであり、アプリケーションプログラムの一部分を、プログラムによって機能を随時変更し再構成することが可能なプログラマブル論理回路で処理するものであって、前記アプリケーションプログラムの一部分が複数の処理機能に分割されて、それぞれの処理機能が回路ブロックと対応させられ、それらの回路ブロックを前記プログラマブル論理回路に再構成しながら、回路の再構成と処理機能の実行とを並列に、順次、実行していくようにする情報処理システムにおいて、
前記プログラマブル論理回路への前記複数個の回路ブロックの再構成および処理の実行を開始する前に、各回路ブロックについて、当該回路ブロックの再構成に要する時間と、その前に前記プログラマブル論理回路に再構成されていて、その処理が実行される前回路のプロセス時間との比較によって、前記前回路との重なりが発生する回路であるか否かを判別し、重なりが発生する回路については、前記前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割する手段を備え、
前記プログラマブル論理回路への前記複数個の回路ブロックの再構成および処理の実行においては、前記分割された回路ブロックについては前記重ならない部分を前記前回路の処理と並行して再構成し、前記前回路の処理が終了した後に、前記重なる部分を再構成する
ことを特徴とする情報処理システム。 - プログラムで処理を記述した一連の処理をアプリケーションプログラムとして実行するものであり、アプリケーションプログラムの一部分を、プログラムによって機能を随時変更し再構成することが可能なプログラマブル論理回路で処理するものであって、前記アプリケーションプログラムの一部分が複数の処理機能による繰り返し処理とされ、それぞれの前記処理機能が回路ブロックと対応させられ、それらの回路ブロックを前記プログラマブル論理回路に再構成しながら、回路の再構成と処理機能の実行とを並列に、順次、実行していくようにする情報処理システムにおいて、
前記繰り返し処理の最初のサイクルにおいて、前記再構成および処理の実行と並行して、前記各回路ブロックについて、当該回路ブロックの再構成に要する時間と、その前に前記プログラマブル論理回路に再構成されていて、その処理が実行される前回路のプロセス時間との比較によって、前記前回路との重なりが発生する回路であるか否かを判別し、重なりが発生する回路については、前回路の領域と重なる部分と、重ならない部分とに、再構成のためのデータを分割する手段を備え、
前記繰り返し処理の2回目以降のサイクルにおいて、前記分割された回路ブロックについては前記重ならない部分を前記前回路の処理と並行して再構成し、前記前回路の処理が終了した後に、前記重なる部分を再構成する
ことを特徴とする情報処理システム。 - 請求項6または請求項7に記載の情報処理システムにおいて、
前記回路ブロックについての再構成のためのデータの分割処理は、プログラマブル論理回路を搭載したシステム内の演算手段による演算処理、または、システムに接続されたネットワークに接続された演算手段による演算処理によって行われることを特徴とする情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000133652A JP3832557B2 (ja) | 2000-05-02 | 2000-05-02 | プログラマブル論理回路への回路の再構成方法および情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000133652A JP3832557B2 (ja) | 2000-05-02 | 2000-05-02 | プログラマブル論理回路への回路の再構成方法および情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001320271A JP2001320271A (ja) | 2001-11-16 |
JP3832557B2 true JP3832557B2 (ja) | 2006-10-11 |
Family
ID=18642097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000133652A Expired - Fee Related JP3832557B2 (ja) | 2000-05-02 | 2000-05-02 | プログラマブル論理回路への回路の再構成方法および情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3832557B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11901897B2 (en) | 2020-09-03 | 2024-02-13 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4501914B2 (ja) * | 2002-04-03 | 2010-07-14 | ソニー株式会社 | 集積回路、および集積回路装置 |
AU2003287317B2 (en) * | 2002-10-31 | 2010-03-11 | Lockheed Martin Corporation | Pipeline accelerator having multiple pipeline units and related computing machine and method |
US20040136241A1 (en) * | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
WO2005034353A1 (ja) * | 2003-10-03 | 2005-04-14 | Fujitsu Limited | フィールドプログラマブルゲートアレイの書き換えシステム |
JP5096923B2 (ja) * | 2005-11-25 | 2012-12-12 | パナソニック株式会社 | 動的再構成論理回路を有するマルチスレッドプロセッサ |
JP2007279984A (ja) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | データ処理装置およびプログラム |
DE102007022970A1 (de) * | 2007-05-16 | 2008-11-20 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur dynamischen Rekonfiguration eines Funkkommunikationssystems |
JP5504985B2 (ja) | 2010-03-11 | 2014-05-28 | 富士ゼロックス株式会社 | データ処理装置 |
JP5552855B2 (ja) | 2010-03-19 | 2014-07-16 | 富士ゼロックス株式会社 | 画像処理装置、画像形成システム及び画像処理プログラム |
CN103262405B (zh) * | 2010-10-22 | 2016-03-23 | 三星重工业株式会社 | 可在操作中重构的控制系统以及用于其的方法 |
JP2014238617A (ja) * | 2013-06-05 | 2014-12-18 | 富士通株式会社 | データ処理装置、データ処理方法及び情報処理装置 |
JP2016103755A (ja) | 2014-11-28 | 2016-06-02 | キヤノン株式会社 | 情報処理装置、情報処理装置を備えた画像処理装置、その制御方法及びプログラム |
JP6726648B2 (ja) | 2017-08-28 | 2020-07-22 | 日立オートモティブシステムズ株式会社 | 電子制御装置、回路の再構成方法 |
US12067336B2 (en) | 2020-10-01 | 2024-08-20 | Fujifilm Business Innovation Corp. | Information processing apparatus, non-transitory computer readable medium, and programmable logic circuit |
-
2000
- 2000-05-02 JP JP2000133652A patent/JP3832557B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11901897B2 (en) | 2020-09-03 | 2024-02-13 | Fujifilm Business Innovation Corp. | Information processing apparatus and non-transitory computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP2001320271A (ja) | 2001-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3832557B2 (ja) | プログラマブル論理回路への回路の再構成方法および情報処理システム | |
JP3587095B2 (ja) | 情報処理装置 | |
US7146300B2 (en) | Method of co-simulating a digital circuit | |
KR101080465B1 (ko) | 데이터 처리 장치 | |
US8365111B2 (en) | Data driven logic simulation | |
TW201723865A (zh) | 加速器控制器及方法 | |
Otero et al. | Dreams: A tool for the design of dynamically reconfigurable embedded and modular systems | |
US11171652B2 (en) | Method and apparatus for implementing configurable streaming networks | |
WO2018067251A1 (en) | Methods and apparatus for dynamically configuring soft processors on an integrated circuit | |
EP3555760A1 (en) | Parallel processing on demand using partially dynamically reconfigurable fpga | |
Marconi | Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays | |
Hartenstein et al. | On reconfgurable co-processing units | |
JP2009025953A (ja) | 演算処理装置及び演算処理プログラム | |
Bayar | Reconfigurable Network-On-Chip (NoC) Architectures for Embedded Systems | |
US6886088B2 (en) | Memory that allows simultaneous read requests | |
JP3613314B2 (ja) | 情報処理システム | |
US10810341B1 (en) | Method and system for making pin-to-pin signal connections | |
Vu et al. | Efficient hardware task migration for heterogeneous FPGA computing using HDL-based checkpointing | |
Soto et al. | A self-adaptive hardware architecture with fault tolerance capabilities | |
JP3573193B2 (ja) | 情報処理システム | |
US20050272197A1 (en) | Semiconductor device | |
EP4300349A1 (en) | Systems and methods for programmable fabric design compilation | |
JP2018206195A (ja) | 演算システム、演算システムの制御方法およびプログラム | |
JP3989397B2 (ja) | 集積回路装置およびその装置に対するデータ設定装置 | |
Neuendorffer | FPGA platforms for embedded systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060623 |
|
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: 20060628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060711 |
|
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: 20100728 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110728 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110728 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120728 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130728 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |