JP2004021867A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2004021867A
JP2004021867A JP2002179258A JP2002179258A JP2004021867A JP 2004021867 A JP2004021867 A JP 2004021867A JP 2002179258 A JP2002179258 A JP 2002179258A JP 2002179258 A JP2002179258 A JP 2002179258A JP 2004021867 A JP2004021867 A JP 2004021867A
Authority
JP
Japan
Prior art keywords
configuration
data
fpga
bus
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002179258A
Other languages
Japanese (ja)
Other versions
JP2004021867A5 (en
Inventor
Mamoru Takahashi
高橋 護
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2002179258A priority Critical patent/JP2004021867A/en
Publication of JP2004021867A publication Critical patent/JP2004021867A/en
Publication of JP2004021867A5 publication Critical patent/JP2004021867A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system realizing reliability, continuous usability and easiness of functional changes by facilitating managing data for configuration of FPGA. <P>SOLUTION: A configuration controller 5 and FPGA 21-2n are connected by a configuration bus 11, and connected with a local bus 7 and a system bus 8 via bus switches 9, 10. During a configuration control of the FPGA 21-2n by data stored in a flash memory 6, a reset signal (a) is produced by the configuration controller 5, and the FPGA 21-2n are separated from the busses 7, 8 by the bus switches 9, 10. Configuration data are previously stored in the flash memory 6 via a serial port 1, and at the time of starting-up of the system, the configuration controller performs configuration with automatically reading out the stored data. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は情報処理システムに関し、特にFPGA(フィールドプログラマブルゲートアレー)を使用した情報処理システムにおけるコンフィグレーション制御方式に関するものである。
【0002】
【従来の技術】
FPGA(フィールドプログラマブルゲートアレー)は、一種のゲートアレーであり、フィールドにて書き換えられるため、汎用性の高いハードウェアとして情報処理システムや通信システム等に幅広く用いられている。FPGAは、入出力端子および内部の機能回路をデータファイルとして管理できるため、データファイルを更新することはハードウェアを更新するに等しい。データファイルは、コンフィグレーションデータとして外部よりFPGAに書き込まれるため、更新したデータによりFPGAを再コンフィグレーションすることによって、容易にシステムの機能が変更できるという特徴がある。
【0003】
近年、システムは信頼性、連続可用性、機能変更の容易性が要求されてきている。この要請に応えるために、例えば、図13〜15に示すようなFPGAコンフィグレーション制御方法が提案されている。図13を参照すると、CPU2の配下のローカルバス7とコンフィグレーションバス51とを分離して、これ等バスをI/F(バスインタフェース)52を介して接続可能な構成とし、装置初期化時には、ROM(読み取り専用メモリー)53に格納された初期動作用のデータにより、FPGA21をコンフィグレーションして動作・実行させるようになっている。
【0004】
この間に、ハードウェア機能データをメモリー3からI/F52を介してRAM(ランダムアクセスメモリー)55に転送し、再コンフィグレーションする機能を備え、システムの連続可用性、ハードウェア機能変更の容易性を実現している。なお、FPGAダウンロード制御部54は、既にコンフィグレーションされているデータ種別と、新たにコンフィグレーションが依頼されたデータ種別とを比較し、同一のデータと判断された場合は再コンフィグレーションを実行しないことにより、信頼性を高めている。
【0005】
図14を参照すると、FPGA21を、ローカルバス7と、I/O(入出力装置)59に接続するI/Oバス60との間のブリッジ(機能)として使用しており、FPGA21のコンフィグレーション実行時には、CPU2配下のローカルバス7と、コンフィグレーションバス51とをバッファ57により切り離し、CPU2の動作を妨げないようにしてシステムの連続可用性を実現している。また、コンフィグレーションデータのFROM(フィールドプログラマブルROM)58へのダウンロードは、I/Oバス60からFPGA21を介してデータ種別毎に複数のFROM58に格納する。
【0006】
新たに更新されたコンフィグレーションデータにより、FPGA21のコンフィグレーションが失敗した場合には、データ種別毎にFROM58にデータが格納されているため、FPGAダウンロード制御部54が更新前のデータを選択して、FPGA21を再コンフィグレーションすることができる。その結果、システムの信頼性、ハードウェア機能変更の容易性を実現している。
【0007】
図15を参照すると、機能の異なる複数のFPGA21〜2nをデイジーチェーンにて接続し、FROM58に格納されたデータにより、順番にコンフィグレーションを実行する。データの管理は、FPGAダウンロード制御部54と、シリアルケーブル62にて接続されたPC(パーソナルコンピュータ)61にて行い、PC61からFROM58にダウンロードする個々のデータは、付随するCRC(エラーチェックコード)を計算することによって、エラーのあるデータのみを再度PC61からダウンロードすることにより信頼性を実現している。
【0008】
【発明が解決しようとする課題】
近年、さらに高速、大容量FPGAが普及してきており、従来ASIC(専用大規模集積回路)でなければ実現できなかった高速動作、高集積処理がFPGAにて実現可能となってきた。これにより、多数の高速、大容量FPGAを使ったシステムが開発されるようになってきている。
【0009】
一方、近年の通信システムにおいては、ユーザが要求するシステムの多様化が進み、これに素早く応えるためにハードウェアの開発期間の短縮が不可欠となっている。これに対応して、FPGAを使い機能を容易に変更できるように装置を設計しておくことによって、ユーザの要求するシステムを短期間にて提供可能となる。しかし、FPGAは初期設定としてコンフィグレーション処理が必要であるが、このための回路は装置に特化したものではなく、拡張性があり、小規模であることが必要である。
【0010】
また、コンフィグレーションデータは、更新のためのソフトウェアがデータファイルとして扱われる必要がある。従って、コンフィグレーション回路はCPU配下に位置すべきであって、回路はCPUへの負荷を考慮にいれる必要がある。すなわち、FPGAのコンフィグレーション動作自体を回路に委ね、システムを管理するCPUの動作を損ねることのないようにするべきである。
【0011】
また、大規模FPGAを多数使用することによってコンフィグレーションデータ容量が大規模となり、データダウンロードに費やす時間が装置の立ち上げ時間に与える影響は無視できない。さらに、コンフィグレーション処理が異常状態となった場合、その対処が確実に実行できることも重要である。また、コンフィグレーションデータの管理方法も、拡張性に対応できるものでなければならない。のようにコンフィグレーションの方法は、システムの信頼性、連続可用性の確保を考慮する必要がある。
【0012】
図13〜15に示す従来例においては、これらを実現するために幾つかの問題点がある。図13に示す従来例においては、コンフィグレーションデータを、ROM53およびRAM55に格納しなければならない問題がある。すなわち、RAM55を使用しているため、電源投入の度にCPU2はコンフィグレーションデータをRAM55に転送しなければならない。従って、CPU2の処理に負荷がかかることはさけられない。また、ROM53に格納されたデータを更新する場合は、物理的にROM53を交換する必要があって、ハードウェア機能変更の容易性がない。さらに、装置に特化した回路であるため拡張性に欠けている。
【0013】
図14に示す従来例においては、FPGA21がローカルバス7とI/Oバス60とのブリッジとして機能していて、FPGA21のコンフィグレーションバス上に、別のCPU56が配置されている問題がある。すなわち、ローカル(ホスト)バス7上のCPU2への負荷は軽減できるが、コンフィグレーションバス51上にFROM58を配置してるため、メモリーマッピングにFPGAコンフィグレーションデータ領域を確保しなければならない。
【0014】
小規模のFPGAを使用する場合は問題は少ないが、大容量FPGAを多数使用する場合は、容易にメモリーマッピングを変更できない問題がある。また、これによってソフトウェアの流用ができない問題がある。
【0015】
コンフィグレーションは、ハードウェア固有のものとして管理、実行されるべきであり、CPUがアプリケーションプログラムの様に扱うのは管理が複雑となりやすい。また、コンフィグレーションバスが異常となった場合は、CPUが正常に動作しなくなり、このCPUがこれとは別の制御を行っている場合、そこへの影響が発生する。さらに、FROMへの再書き込みができない。すなわち、信頼性に欠ける。さらにまた、CPUがFROMへの書き込み手順を実行しなければならないため、ソフトウェアの流用が困難となる。
【0016】
図15に示す従来例においては、コンフィグレーションデータのダウンロードはシリアルケーブルを使用しており、大規模FPGAにおいてはデータ転送容量が大きいため、ダウンロードに時間がかかり実用的でない問題がある。
【0017】
本発明の目的は、拡張性・汎用性のある小規模なFPGAコンフィグレーション回路を有し、CPUのコンフィグレーションデータの管理を容易にして、システムの信頼性、連続可用性、機能変更の容易性を実現したコンフィグレーション制御装置を有する情報処理システムを提供することである。
【0018】
【課題を解決するための手段】
本発明によれば、CPUと、メモリーと、これ等CPU及びメモリーの配下のバスと、このバス上に配置され、FPGAのコンフィグレーション制御をなすコンフィグレーション制御手段とを含む情報処理システムであって、前記コンフィグレーション制御の開始から終了までの間、前記FPGAを前記バスから切離すためのバススイッチを含むことを特徴とする情報処理システムが得られる。
【0019】
そして、前記コンフィグレーション制御手段は、前記コンフィグレーション制御の開始から終了までの間、前記バススイッチをイネーブル状態に制御する制御信号を生成するようにしたことを特徴とする。また、前記コンフィグレーション制御手段は、予めコンフィグレーション用データを格納すると共に、この格納データの格納位置を示すアドレスをも格納したフラッシュメモリーを有しており、システムの電源投入に応答して前記フラッシュメモリに格納されている前記アドレスをアクセスして、前記コンフィグレーション用データを、このフラッシュメモリーから読み出しつつ前記FPGAのコンフィグレーション制御をなようにしたことを特徴とする。また、前記コンフィグレーション制御手段はシリアルポートを有しており、コンフィグレーション用データをこのシリアルポートを介して入力しつつ前記フラッシュメモリーに格納するようにしたことを特徴とする。
【0020】
本発明の作用は次の通りである。コンフィグレーション制御装置がFPGAのコンフィクレーションの動作制御を行っている間は、CPUの配下のバスとFPGAとを、バススイッチにより分離するよう構成する。これによって、CPUへの負荷を低減するばかりでなく、汎用的なシステムバスインタフェースを適用することによって、装置の拡張性と回路の小規模化をはかることができる。
【0021】
また、コンフィグレーション用のデータを、予めフラッシュメモリーに、その格納位置を示すアドレスと共に格納しておくことにより、システムの電源入力に応答して、コンフィグレーション制御装置が自動的にこのフラッシュメモリーのアドレス部分にアクセス開始するようにしておけば、CPUの介在なしに、またCPUの処理とは全く独立に、自動的にコンフィグレーションの動作制御が行われるという効果もある。
【0022】
【発明の実施の形態】
以下に、本発明の実施例について図面を参照して説明する。図1は本発明の実施例を示す情報処理システムのブロック図であり、図2〜15と同等部分は同一符号にて示している。図1において、本実施例は、システムを制御するCPU2、コンフィグレーション制御用のデータを受け付けるシリアルポート1、CPU2のプログラムやデータを格納する主メモリーであるメモリー3を含む。また、CPU2やメモリー3等を乗せて接続するローカルバス7、ローカルバス7とは独立したシステムバス8、ローカルバス7とシステムバス8とを接続するバスブリッジ4を含む。
【0023】
さらに、システムバス8上に配置されたコンフィグレーション制御部5、コンフィグレーション制御部5によって制御され、FPGA21〜2nのコンフィグレーションデータを格納するフラッシュメモリー6を含む。さらにまた、コンフィグレーション制御部5によって制御されるFPGA21〜2n、コンフィグレーション制御部5と、FPGA21〜2nとをディジーチェーンにて接続するコンフィグレーションバス11を含む。さらにまた、ローカルバス7とシステムバス8とをFPGA21〜2nに接続するバススイッチ9,10を含んで構成される。
【0024】
FPGA21〜2nのコンフィグレーションが完了すると、コンフィグレーション完了信号bがコンフィグレーション制御部5に送られる。また、コンフィグレーション制御部5から、コンフィグレーション完了後のリセット信号aがFPGA21〜2nへ送られると共に、バススイッチ9,10へ送られてイネーブル制御する。
【0025】
なお、ローカルバス7あるいはシステムバス8に接続されているFPGA21〜2nが、コンフィグレーション実行中に、同バス7,8上の信号へ影響及ぼすことを抑制するため、FPGA21〜2nを電気的に分離する目的にてバススイッチ9,10が設けられている。
【0026】
図2,3に、コンフィグレーションバス11をデイジーチェーンにて、FPGA21〜2nに接続する形態を示している。何れの場合も、コンフィグレーション制御部5がマスタとなり、FPGA21〜2nがスレーブとなる。
【0027】
デイジーチェーンには2種のタイプがあり、図2においては、コンフィグレーションバス11をFPGA21,22,…,2nの順にて接続する。この場合、コンフィグレーションは、始めに到着したデータからFPGA21をコンフィグレーションする。
【0028】
FPGA21のコンフィグレーションが完了すると、FPGA21は続いて入力されたデータを次のFPGA22に渡す。この動作を繰り返して、すべてのFPGA21〜2nがコンフィグレーションされる。
【0029】
図3では、コンフィグレーションバス11がFPGA21〜2nに並列に接続される。この場合、コンフィグレーションは、データをすべてのFPGA21〜2nに渡しているが、FPGA21が始めにコンフィグレーションされ、コンフィグレーションが完了すると、FPGA21のコンフィグレーション完了信号bが次のFPGA22に伝えられて、次のコンフィグレーションが行われる。この動作を繰り返して、すべてのFPGA21〜2nのコンフィグレーションが完了する。
【0030】
図4にリセット制御の形態を示す。図4において、FPGA21〜2nへのコンフィグレーションが完了した後、それぞれのFPGA21〜2nが内部的に動作可能となった時に、コンフィグレーション完了信号bを発行する。一方、コンフィグレーション制御部5は、すべてのFPGA21〜2nがコンフィグレーション完了信号bを発行するまで、リセット信号aを出力し続ける。図5に、そのタイミングチャートを示す。ただし、FPGAは21,22,23の3個の場合を示す。
【0031】
すなわち、タイミングt0にコンフィグレーションが開始されて、タイミングt1にFPGA21のコンフィグレーションが終了し、同様にタイミングt2にFPGA22のコンフィグレーション、タイミングt3にFPGA23のコンフィグレーションが終了する。
【0032】
図6に、フラッシュメモリー6のアーキテクチュアであるセクタの応用例を示す。フラッシュメモリー6はセクタ単位にてデータ消去や書込み保護を行う。また、データの書込みには一旦データを消去する必要がある。これらの処理は、そのセクタに該当する一つのアドレスに特定のコマンドを発行することによって行う。従って、データを消去する場合にはコマンドを1回発行すればよく、フラッシュメモリー6ヘのデータ格納方法を工夫することによって消去が簡素化できる。図6においては、例えばセクタ1にFPGA番号、セクタ2にFPGAデータ先頭アドレス、セクタk〜pにFPGAデータを格納することによって、消去処理を簡素化している。
【0033】
図7に、コンフィグレーション順(番)の制御方法を示す。図7において、コンフィグレーション制御部5は、始めにメモリーアドレス00000h(h はヘキサデシマルの数であることを示す)のデータを読み出す。アドレス00000hからはデータ10000hが取得できる。これはFPGAデータAが格納されたセクタの先頭アドレスを指している。制御部5はこの先頭アドレスを基に、FPGAデータAの格納されているセクタからデータを取得して、FPGAのコンフィグレーションバス11に送出して、コンフィグレーションを実行する。FPGAデータの最後は、データのすべてのビットが“1”の時となる。これはFPGAのコンフィグレーションデータに定義されたものである。
【0034】
FPGAデータAがすべてコンフィグレーションされると、制御部5はメモリーアドレス00001hに移り、FPGAデータBの格納先頭アドレスを取得する。このようにして、FPGAデータCまでのコンフィグレーションが終了すると、制御部5は、例えばメモリーアドレス00003hから先頭アドレスとしてALL“1”を取得するため、すべてのFPGAコンフィグレーションデータの転送終了を認識する。ここで、FPGA番号と先頭アドレスとのセクタを区別しているのは、メモリー容量内であれば、機能の異なる複数のFPGAデータを格納できるようにしていて、これらを選択してコンフィグレーションすることができる。
【0035】
図8に、FPGAデータフォーマットを示す。図8において、ソフトウェアが管理するFPGAデータフォーマットは、システム内にて唯一の値を持つFPGA番号31、そのバージョン番号32、コンフィグレーションデータのデータ長33を含む。また、データ34、データの最後を示すALL“1”データ35、データ部分のCRC(エラーチェックコード)(値)35含んで構成される。
【0036】
図9に、コンフィグレーションデータダウンロード方法を示す。図9において、例えばセクタ1内に書かれるFPGA番号と、セクタ2内に書かれる先頭アドレスは、装置内にて使用するFPGA数、データ容量、コンフィグレーション順(番)が既知であるため、シリアルポート1から予めフラッシュメモリー6に書き込んで置く。
【0037】
これによって、ソフトウェアが、メモリーアドレスやコンフィグレーション順(番)を意識することなく、コンフィグレーションデータをFPGA番号とバージョン番号のみにて、管理することができる。また、コンフィグレーション制御部5の回路も汎用的となる。
【0038】
FPGA番号37は、コンフィグレーションデータをダウンロードするアドレスを引く(アクセスする)ために使用される。また、データ長39は、フラッシュメモリーのデータをセクタ単位にて消去するために、セクタ数の計算に使用される。さらに、データ38のバージョン番号、データ等は例えばセクタmに格納される。
【0039】
図10に、コンフィグレーション制御部5内部の形態を示す。図10において、コンフィグレーション制御部5は、システムバス8にインタフェースするシステムバスインタフェース部41、フラッシュメモリー6を制御するメモリー制御部42を含む。また、コンフィグレーションバス11にインタフェースするコンフィグレーションバスインタフェース部43、シリアルポート1とインタフェースするシリアル制御部44、コンフィグレーション制御部5全体を統括する共通部45を含む5つの機能ブロックに分かれている。
【0040】
このうち、システムバスインタフェース部41は、PCIバスやシステムに適したモジュールに置き換え可能である。メモリー制御部42は、使用するフラッシュメモリー6による固有の書込み手順を吸収するためのものであり、他の適したモジュールに置き換え可能である。
【0041】
コンフィグレーションバスインタフェース部43は、図2,3に示すようなバス形態を選択できる。シリアル制御部44と共通部45とは、本発明によるコンフィグレーション制御装置固有のブロックである。また、このブロックは、コンフィグレーションするFPGA21〜2nの順(番)や、フラッシュメモリー6のアドレスを意識することなく、コンフィグレーション動作するために必要な機能を持つ。このように機能ブロック化しておけば、必要なモジュールを組み合わせることによって、システムの拡張性、汎用性が実現できる。さらに、動作異常が発生した場合、CPU2が、どのインタフェースが異常となったのかの原因を特定することが容易となる。
【0042】
本発明の実施例の動作を、図11,12のフローチャートにより説明する。
【0043】
まず、図11によって、FPGA21〜2nをコンフィグレーションする場合の動作を説明する。図11において、電源投入する(ステップS1)と、コンフィグレーション制御部5はリセット信号aを送出する(ステップS2)。制御部5は始めの動作として必ずフラッシュメモリー6のアドレス00000hを読み出す(ステップS3)。
【0044】
アドレス00000hからのセクタには、コンフィグするFPGA番号が順に格納されている(ステップS4)。コンフィグ順番アドレスとして00000hを保持する。コンフィグ順番アドレスはALL“1”でないため(ステップS5がNO)、アドレスからFPGA番号を取得する(ステップS6)。次に、この番号をメモリーアドレスとして、FPGAデータ先頭アドレスを取得する(ステップS19)。ここで、先頭アドレスがALL“1”であれば(ステップS7がYES)、初期設定が行われていないため、CPU2ヘ「コンフィグレーション異常終了」として通知し(ステップS16)、コンフィグレーション作業を終了する(ステップS17)。
【0045】
次に、先頭アドレスがALL“1”でなければ(ステップS7がNO)、先頭アドレスに1を加算し(ステップS8)、データが格納されている次のアドレスを指し示す。このアドレスはALL“1”でないため(ステップS9がNO)、FPGAデータを取得して(ステップS10)、コンフィグレーションバス11ヘ転送する(ステップS11)。さらに、メモリーアドレスに1を加算して次のFPGAデータを取得する(ステップS12)。この動作をデータがALL“1”となる(ステップS7がYES)まで繰り返して、すべてのデータをコンフィグレーションバス11に転送する。
【0046】
ALL“1”はデータの最後を示しているため、制御部5はコンフィグレーションデータの転送が終了したと認識して、コンフィグレーション順番アドレスに1を加算して(ステップS18)、2番目のFPGA番号を取得する(ステップS6)。この動作を、FPGA番号がALL“1”になる(ステップS5がYES)まで繰り返す。コンフィグレーションデータがすべて転送し終った後は、すべてのFPGA21〜2nから、コンフィグレーション完了通知が発行される(ステップS13がYES)まで待つ。
【0047】
完了通知が発行された場合(ステップS13がYES)は、コンフィグレーション正常終了であるため、リセット信号送出解除して(ステップS15)、処理を終了する(ステップS17)。完了通知がタイムアウトした場合(ステップS14がYES)は、CPU2ヘ「コンフィグレーション異常終了」として通知し(ステップS16)、処理を終了する(ステップS17)。
【0048】
次に、図12によって、FPGAコンフィグレーションデータをダウンロードする場合の動作を説明する。図12において、CPU2からFPGAデータをダウンロードするには、CPU2が始めにコンフィグレーション制御部5に対して、ダウンロード開始指示を行う(ステップS21)。その後、CPU2は図8に示したFPGAデータをコンフィグレーション制御部5に転送していくが、このとき制御部5はフラッシュメモリー6ヘの書き込み手順を実行しながら、転送されたデータをメモリーに書き込んでいくため、CPU2は制御部5のステータスを確認しながらデータを転送していく。
【0049】
制御部5は転送されたデータからFPGA番号を取得する(ステップS22)。このFPGA番号は、フラッシュメモリー6の読出しアドレスとして置き替わり(ステップS23)、コンフィグレーション制御部5はこのアドレスを基にFPGAデータを、格納するセクタの先頭アドレスを取得する(ステップS24)。次に、先頭アドレスを読出してメモリーアドレスとして置き換える(ステップS25)。先頭アドレスがALL“1”の場合(ステップS26がYES)は、初期設定が不正であるため、CPU2に通知して(ステップS43)、ダウンロード処理を中断する(ステップS44)。
【0050】
続いて、先頭アドレスがALL“1”でない場合(ステップS26がNO)は、転送データからデータ長を取得する(ステップS27)。このデータ長からデータを書き込む領域分のセクタ数を、後に行うイレーズ処理のために計算しておく(ステップS28)。次に、転送データからダウンロードデータのバージョン番号を取得し(ステップS29)、メモリーに先にダウンロードされているバージョン番号と比較する(ステップS30,S31)。
【0051】
同じバージョンであった場合(ステップS32がYES)は、ダウンロードの必要がないためCPU2に通知して(ステップS43)、ダウンロードを中断する(ステップS44)。バージョンが異なる場合(ステップS32がNO)は、前に計算しておいたセクタをイレーズして(ステップS33)、新バージョン番号をメモリーの先頭アドレスに書き込み(ステップS34)、メモリーアドレスを更新する(ステップS35)。
【0052】
転送データからFPGAデータを取得して(ステップS36)、CRCを計算後(ステップS37)、データをメモリーに書き込む(ステップS38)。この処理を、ALL“1”のデータを取得する(ステップS39がYES)まで繰り返す。ALL“1”でない場合(ステップS39がNO)は、メモリーアドレスに1を加算して(ステップS40)、ステップS36に戻る。ALL“1”はデータの最後を示しているため、転送されるCRC値を取得し(ステップS41)、計算結果と比較する。一致した場合(ステップS42がYES)は、正常にダウンロードが終了する(ステップS44)。
【0053】
【発明の効果】
以上説明したように本発明によれば、コンフィグレーション制御されるFPGAがシステムバス等を収容している場合は、リセット信号をバススイッチのイネーブル信号として使用して、バスから分離することによってシステムの連続可用性を実現させるという効果がある。また、コンフィグレーションデータのフラッシュメモリーヘの格納場所や、書き込み手順をCPUが管理する必要がない効率よい管理方法が得られ、機能変更の容易性、信頼性を実現できるという効果もある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】コンフィグレーションバスの形態の例を示すブロック図である。
【図3】コンフィグレーションバスの形態の他の例を示すブロック図である。
【図4】コンフィグレーションリセット制御の形態の例を示すブロック図である。
【図5】コンフィグレーションリセット制御のタイミングチャートである。
【図6】フラッシュメモリーのセクタの使用例の説明図である。
【図7】コンフィグレーションの順番制御の例の説明図である。
【図8】FPGAデータフォーマットの例の説明図である。
【図9】コンフィグレーションデータのダウンロード方法の例の説明図である。
【図10】コンフィグレーション制御部の内部機能ブロック図である。
【図11】コンフィグレーション動作のフローチャートである。
【図12】ダウンロード動作のフローチャートである。
【図13】従来のコンフィグレーション制御装置の例を示すブロック図である。
【図14】従来のコンフィグレーション制御装置の他の例を示すブロック図である。
【図15】従来のコンフィグレーション制御装置のさらに他の例を示すブロック図である。
【符号の説明】
1 シリアルポート
2 CPU
3 メモリー
4 バスブリッジ
5 コンフィグレーション制御部
6 フラッシュメモリー
7 ローカルバス
8 システムバス
9,10 バスブリッジ
11 コンフィグレーションバス
21〜2n FPGA
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing system, and more particularly to a configuration control method in an information processing system using an FPGA (field programmable gate array).
[0002]
[Prior art]
FPGA (Field Programmable Gate Array) is a kind of gate array and is widely used in information processing systems and communication systems as hardware with high versatility because it is rewritten in the field. Since the FPGA can manage input / output terminals and internal functional circuits as data files, updating a data file is equivalent to updating hardware. Since the data file is externally written to the FPGA as configuration data, the function of the system can be easily changed by reconfiguring the FPGA with updated data.
[0003]
In recent years, systems have been required to have reliability, continuous availability, and ease of function change. To meet this demand, for example, FPGA configuration control methods as shown in FIGS. 13 to 15 have been proposed. Referring to FIG. 13, the local bus 7 under the control of the CPU 2 and the configuration bus 51 are separated from each other so that these buses can be connected via an I / F (bus interface) 52. With the data for the initial operation stored in the ROM (read only memory) 53, the FPGA 21 is configured to operate and execute.
[0004]
During this time, the function of transferring the hardware function data from the memory 3 to the RAM (random access memory) 55 via the I / F 52 and reconfiguring is provided, realizing the continuous availability of the system and the easiness of changing the hardware function. are doing. The FPGA download control unit 54 compares the already configured data type with the data type for which a new configuration has been requested, and does not execute reconfiguration if it is determined that the data is the same. This increases reliability.
[0005]
Referring to FIG. 14, the FPGA 21 is used as a bridge (function) between the local bus 7 and an I / O bus 60 connected to an I / O (input / output device) 59, and the configuration of the FPGA 21 is executed. At times, the local bus 7 under the CPU 2 and the configuration bus 51 are separated from each other by a buffer 57, so that continuous operation of the system is realized without interrupting the operation of the CPU 2. In addition, when the configuration data is downloaded to the FROM (field programmable ROM) 58, the configuration data is stored in a plurality of FROMs 58 for each data type from the I / O bus 60 via the FPGA 21.
[0006]
If the configuration of the FPGA 21 fails due to the newly updated configuration data, since the data is stored in the FROM 58 for each data type, the FPGA download control unit 54 selects the data before the update, The FPGA 21 can be reconfigured. As a result, system reliability and ease of hardware function change are realized.
[0007]
Referring to FIG. 15, a plurality of FPGAs 21 to 2n having different functions are connected in a daisy chain, and the configuration is sequentially executed based on data stored in the FROM 58. Data management is performed by a PC (personal computer) 61 connected to the FPGA download control unit 54 and a serial cable 62. Each data downloaded from the PC 61 to the FROM 58 has an accompanying CRC (error check code). By calculating, only data having an error is downloaded from the PC 61 again, thereby realizing reliability.
[0008]
[Problems to be solved by the invention]
In recent years, high-speed, large-capacity FPGAs have become widespread, and high-speed operation and high-integration processing that could not be realized by conventional ASICs (dedicated large-scale integrated circuits) can now be realized by FPGAs. As a result, systems using a large number of high-speed, large-capacity FPGAs have been developed.
[0009]
On the other hand, in recent communication systems, systems required by users have been diversified, and shortening of a hardware development period is indispensable in order to respond quickly. In response to this, a system required by a user can be provided in a short period of time by designing an apparatus so that functions can be easily changed using an FPGA. However, the FPGA requires a configuration process as an initial setting, but the circuit for this is not specialized for the device, and needs to be scalable and small.
[0010]
The configuration data requires that software for updating be treated as a data file. Therefore, the configuration circuit should be located under the CPU, and the circuit needs to consider the load on the CPU. That is, the configuration operation itself of the FPGA should be entrusted to the circuit so as not to impair the operation of the CPU that manages the system.
[0011]
In addition, by using a large number of large-scale FPGAs, the configuration data capacity becomes large, and the effect of the time spent for data download on the startup time of the apparatus cannot be ignored. Furthermore, when the configuration processing is in an abnormal state, it is also important that the countermeasure can be executed reliably. In addition, the configuration data management method must be able to cope with extensibility. In the configuration method, it is necessary to consider ensuring system reliability and continuous availability.
[0012]
In the conventional examples shown in FIGS. 13 to 15, there are some problems to realize these. The conventional example shown in FIG. 13 has a problem that the configuration data must be stored in the ROM 53 and the RAM 55. That is, since the RAM 55 is used, the CPU 2 must transfer the configuration data to the RAM 55 every time the power is turned on. Therefore, it is inevitable that a load is applied to the processing of the CPU 2. Further, when updating the data stored in the ROM 53, it is necessary to physically exchange the ROM 53, and there is no easiness of changing the hardware functions. Furthermore, since the circuit is specialized for the device, it lacks expandability.
[0013]
The conventional example shown in FIG. 14 has a problem that the FPGA 21 functions as a bridge between the local bus 7 and the I / O bus 60, and another CPU 56 is arranged on the configuration bus of the FPGA 21. That is, the load on the CPU 2 on the local (host) bus 7 can be reduced, but since the FROM 58 is arranged on the configuration bus 51, an FPGA configuration data area must be secured for memory mapping.
[0014]
There are few problems when using small-scale FPGAs, but there is a problem that memory mapping cannot be easily changed when using many large-capacity FPGAs. In addition, there is a problem that the software cannot be used.
[0015]
The configuration should be managed and executed as hardware-specific, and the management of the CPU like an application program tends to be complicated. Further, when the configuration bus becomes abnormal, the CPU does not operate normally, and when the CPU performs another control, the influence is caused. Furthermore, rewriting to FROM cannot be performed. That is, it lacks reliability. Furthermore, since the CPU must execute a procedure for writing to the FROM, it is difficult to divert the software.
[0016]
In the conventional example shown in FIG. 15, the configuration data is downloaded using a serial cable, and in a large-scale FPGA, the data transfer capacity is large.
[0017]
An object of the present invention is to provide a small-scale FPGA configuration circuit having expandability and versatility, to facilitate management of CPU configuration data, and to improve system reliability, continuous availability, and ease of function change. An object of the present invention is to provide an information processing system having a realized configuration control device.
[0018]
[Means for Solving the Problems]
According to the present invention, there is provided an information processing system including a CPU, a memory, a bus under the CPU and the memory, and configuration control means arranged on the bus and configured to control the configuration of the FPGA. And an information processing system including a bus switch for disconnecting the FPGA from the bus from the start to the end of the configuration control.
[0019]
The configuration control means generates a control signal for controlling the bus switch to an enabled state from the start to the end of the configuration control. The configuration control means includes a flash memory which stores configuration data in advance and also stores an address indicating a storage position of the storage data. The configuration control of the FPGA is performed while accessing the address stored in the memory and reading the configuration data from the flash memory. Further, the configuration control means has a serial port, and stores configuration data in the flash memory while inputting configuration data through the serial port.
[0020]
The operation of the present invention is as follows. While the configuration control device controls the operation of the configuration of the FPGA, the bus under the control of the CPU and the FPGA are separated by a bus switch. As a result, not only the load on the CPU can be reduced, but also by applying a general-purpose system bus interface, it is possible to expand the device and reduce the size of the circuit.
[0021]
Also, by storing the configuration data in advance in the flash memory together with the address indicating the storage location, the configuration control device automatically responds to the power input of the system, and the address of the flash memory is automatically stored. If the access to the part is started, there is also an effect that the operation of the configuration is automatically controlled without the intervention of the CPU and completely independently of the processing of the CPU.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an information processing system showing an embodiment of the present invention, and the same parts as those in FIGS. 1, this embodiment includes a CPU 2 for controlling the system, a serial port 1 for receiving data for configuration control, and a memory 3 as a main memory for storing programs and data of the CPU 2. It also includes a local bus 7 on which the CPU 2 and the memory 3 are mounted and connected, a system bus 8 independent of the local bus 7, and a bus bridge 4 connecting the local bus 7 and the system bus 8.
[0023]
Further, it includes a configuration control unit 5 disposed on the system bus 8 and a flash memory 6 controlled by the configuration control unit 5 and configured to store configuration data of the FPGAs 21 to 2n. Further, it includes FPGAs 21 to 2n controlled by the configuration control unit 5, and a configuration bus 11 for connecting the configuration control unit 5 and the FPGAs 21 to 2n in a daisy chain. Furthermore, it includes bus switches 9 and 10 for connecting the local bus 7 and the system bus 8 to the FPGAs 21 to 2n.
[0024]
When the configuration of the FPGAs 21 to 2n is completed, a configuration completion signal b is sent to the configuration control unit 5. Further, the reset signal a after the completion of the configuration is sent from the configuration control unit 5 to the FPGAs 21 to 2n, and also sent to the bus switches 9 and 10 to enable the reset.
[0025]
In order to prevent the FPGAs 21 to 2n connected to the local bus 7 or the system bus 8 from affecting the signals on the buses 7 and 8 during configuration, the FPGAs 21 to 2n are electrically separated. For this purpose, bus switches 9 and 10 are provided.
[0026]
2 and 3 show a configuration in which the configuration bus 11 is connected to the FPGAs 21 to 2n in a daisy chain. In any case, the configuration control unit 5 becomes a master, and the FPGAs 21 to 2n become slaves.
[0027]
There are two types of daisy chains. In FIG. 2, the configuration bus 11 is connected in the order of the FPGAs 21, 22,..., 2n. In this case, the configuration configures the FPGA 21 from the data that has arrived first.
[0028]
When the configuration of the FPGA 21 is completed, the FPGA 21 subsequently transfers the input data to the next FPGA 22. By repeating this operation, all the FPGAs 21 to 2n are configured.
[0029]
In FIG. 3, the configuration bus 11 is connected to the FPGAs 21 to 2n in parallel. In this case, the configuration passes data to all the FPGAs 21 to 2n. However, when the FPGA 21 is configured first and the configuration is completed, a configuration completion signal b of the FPGA 21 is transmitted to the next FPGA 22. The following configuration is performed: By repeating this operation, the configuration of all the FPGAs 21 to 2n is completed.
[0030]
FIG. 4 shows a form of reset control. In FIG. 4, after the configuration of the FPGAs 21 to 2n is completed, when the respective FPGAs 21 to 2n become internally operable, a configuration completion signal b is issued. On the other hand, the configuration control unit 5 continues to output the reset signal a until all the FPGAs 21 to 2n issue the configuration completion signal b. FIG. 5 shows the timing chart. However, the case of three FPGAs 21, 22, and 23 is shown.
[0031]
That is, the configuration starts at the timing t0, the configuration of the FPGA 21 ends at the timing t1, and similarly, the configuration of the FPGA 22 ends at the timing t2, and the configuration of the FPGA 23 ends at the timing t3.
[0032]
FIG. 6 shows an application example of a sector which is an architecture of the flash memory 6. The flash memory 6 performs data erasure and write protection in sector units. In addition, it is necessary to erase data once to write data. These processes are performed by issuing a specific command to one address corresponding to the sector. Therefore, when erasing data, a command may be issued only once, and the erasing can be simplified by devising a method of storing data in the flash memory 6. In FIG. 6, the erasing process is simplified by storing, for example, an FPGA number in sector 1, an FPGA data head address in sector 2, and FPGA data in sectors k to p.
[0033]
FIG. 7 shows a control method in the configuration order (number). In FIG. 7, the configuration control unit 5 first reads data at a memory address 00000h (h represents a hexadecimal number). Data 10000h can be obtained from the address 00000h. This indicates the start address of the sector where the FPGA data A is stored. The control unit 5 acquires data from the sector in which the FPGA data A is stored based on the start address, sends the data to the configuration bus 11 of the FPGA, and executes the configuration. The end of the FPGA data is when all the bits of the data are “1”. This is defined in the configuration data of the FPGA.
[0034]
When all the FPGA data A is configured, the control unit 5 moves to the memory address 00001h and acquires the storage start address of the FPGA data B. In this way, when the configuration up to the FPGA data C is completed, the control unit 5 recognizes the end of the transfer of all the FPGA configuration data in order to acquire ALL “1” as the head address from the memory address 00003h, for example. . Here, the sector between the FPGA number and the head address is distinguished because a plurality of FPGA data having different functions can be stored within the memory capacity, and these can be selected and configured. it can.
[0035]
FIG. 8 shows an FPGA data format. 8, the FPGA data format managed by the software includes an FPGA number 31 having a unique value in the system, its version number 32, and a data length 33 of configuration data. It also includes data 34, ALL “1” data 35 indicating the end of the data, and a CRC (error check code) (value) 35 of the data portion.
[0036]
FIG. 9 shows a configuration data download method. In FIG. 9, for example, the FPGA number written in the sector 1 and the head address written in the sector 2 are serial numbers because the number of FPGAs used in the device, the data capacity, and the configuration order (number) are known. The data is written from the port 1 to the flash memory 6 in advance.
[0037]
As a result, the software can manage the configuration data only by the FPGA number and the version number without being aware of the memory address and the configuration order (number). Further, the circuit of the configuration control unit 5 is also general-purpose.
[0038]
The FPGA number 37 is used for subtracting (accessing) an address for downloading the configuration data. The data length 39 is used for calculating the number of sectors to erase data in the flash memory in sector units. Further, the version number and data of the data 38 are stored in, for example, the sector m.
[0039]
FIG. 10 shows an internal configuration of the configuration control unit 5. In FIG. 10, the configuration control unit 5 includes a system bus interface unit 41 that interfaces with the system bus 8 and a memory control unit 42 that controls the flash memory 6. Further, the configuration is divided into five functional blocks including a configuration bus interface unit 43 that interfaces with the configuration bus 11, a serial control unit 44 that interfaces with the serial port 1, and a common unit 45 that controls the entire configuration control unit 5.
[0040]
Among them, the system bus interface unit 41 can be replaced with a module suitable for a PCI bus or a system. The memory control unit 42 is for absorbing a writing procedure unique to the flash memory 6 to be used, and can be replaced with another suitable module.
[0041]
The configuration bus interface unit 43 can select a bus form as shown in FIGS. The serial control unit 44 and the common unit 45 are blocks specific to the configuration control device according to the present invention. Further, this block has a function necessary for performing a configuration operation without being aware of the order (number) of the FPGAs 21 to 2n to be configured and the address of the flash memory 6. By forming the functional blocks in this way, the expandability and versatility of the system can be realized by combining necessary modules. Furthermore, when an operation abnormality occurs, it becomes easy for the CPU 2 to identify the cause of which interface has become abnormal.
[0042]
The operation of the embodiment of the present invention will be described with reference to the flowcharts of FIGS.
[0043]
First, an operation when configuring the FPGAs 21 to 2n will be described with reference to FIG. In FIG. 11, when power is turned on (step S1), the configuration control unit 5 sends out a reset signal a (step S2). The controller 5 always reads the address 00000h of the flash memory 6 as the first operation (step S3).
[0044]
FPGA numbers to be configured are stored in the sector starting from the address 00000h in order (step S4). 0000h is held as the configuration order address. Since the configuration order address is not ALL "1" (step S5: NO), an FPGA number is obtained from the address (step S6). Next, using this number as a memory address, an FPGA data head address is obtained (step S19). Here, if the start address is ALL “1” (YES in step S7), since initialization has not been performed, the CPU 2 is notified as “configuration abnormal end” (step S16), and the configuration work ends. (Step S17).
[0045]
Next, if the head address is not ALL “1” (NO in step S7), 1 is added to the head address (step S8), and the next address where data is stored is indicated. Since this address is not ALL "1" (NO in step S9), the FPGA data is acquired (step S10) and transferred to the configuration bus 11 (step S11). Further, 1 is added to the memory address to acquire the next FPGA data (step S12). This operation is repeated until the data becomes ALL “1” (Step S7: YES), and all data is transferred to the configuration bus 11.
[0046]
Since ALL “1” indicates the end of the data, the control unit 5 recognizes that the transfer of the configuration data has been completed and adds 1 to the configuration order address (step S18), and the second FPGA A number is obtained (step S6). This operation is repeated until the FPGA number becomes ALL “1” (YES in step S5). After all the configuration data has been transferred, the process waits until all FPGAs 21 to 2n issue configuration completion notifications (YES in step S13).
[0047]
If a completion notification has been issued (YES in step S13), the configuration is normally terminated, so the reset signal transmission is canceled (step S15), and the process ends (step S17). If the completion notification has timed out (YES in step S14), the CPU 2 is notified as "configuration abnormal end" (step S16), and the process ends (step S17).
[0048]
Next, an operation when downloading FPGA configuration data will be described with reference to FIG. In FIG. 12, to download FPGA data from the CPU 2, the CPU 2 first issues a download start instruction to the configuration control unit 5 (step S21). Thereafter, the CPU 2 transfers the FPGA data shown in FIG. 8 to the configuration control unit 5. At this time, the control unit 5 writes the transferred data to the memory while executing the writing procedure to the flash memory 6. Therefore, the CPU 2 transfers data while checking the status of the control unit 5.
[0049]
The control unit 5 acquires an FPGA number from the transferred data (step S22). This FPGA number is replaced as the read address of the flash memory 6 (step S23), and the configuration control unit 5 acquires the start address of the sector for storing the FPGA data based on this address (step S24). Next, the head address is read and replaced as a memory address (step S25). If the start address is ALL "1" (YES in step S26), the initial setting is incorrect, so the CPU 2 is notified (step S43) and the download process is interrupted (step S44).
[0050]
Subsequently, when the head address is not ALL “1” (NO in step S26), the data length is obtained from the transfer data (step S27). From this data length, the number of sectors for the area to which data is to be written is calculated for an erasing process to be performed later (step S28). Next, the version number of the download data is obtained from the transfer data (step S29), and is compared with the version number previously downloaded to the memory (steps S30, S31).
[0051]
If the versions are the same (YES in step S32), the CPU 2 is notified that there is no need for download (step S43), and the download is interrupted (step S44). If the versions are different (NO in step S32), the previously calculated sector is erased (step S33), the new version number is written to the head address of the memory (step S34), and the memory address is updated (step S34). Step S35).
[0052]
FPGA data is obtained from the transfer data (step S36), and after calculating the CRC (step S37), the data is written to the memory (step S38). This process is repeated until data of ALL “1” is obtained (YES in step S39). If it is not ALL “1” (NO in step S39), 1 is added to the memory address (step S40), and the process returns to step S36. Since ALL "1" indicates the end of the data, the CRC value to be transferred is obtained (step S41) and compared with the calculation result. If they match (YES in step S42), the download ends normally (step S44).
[0053]
【The invention's effect】
As described above, according to the present invention, when an FPGA to be configuration-controlled accommodates a system bus or the like, a reset signal is used as an enable signal of a bus switch and separated from the bus, thereby enabling system configuration. This has the effect of realizing continuous availability. In addition, an efficient management method in which the CPU does not need to manage the storage location of the configuration data in the flash memory and the writing procedure is obtained, and there is an effect that the function can be easily changed and the reliability can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a configuration bus.
FIG. 3 is a block diagram showing another example of a configuration bus.
FIG. 4 is a block diagram illustrating an example of a form of configuration reset control.
FIG. 5 is a timing chart of configuration reset control.
FIG. 6 is an explanatory diagram of a usage example of a sector of the flash memory.
FIG. 7 is an explanatory diagram of an example of configuration order control.
FIG. 8 is an explanatory diagram of an example of an FPGA data format.
FIG. 9 is an explanatory diagram of an example of a configuration data download method.
FIG. 10 is an internal functional block diagram of a configuration control unit.
FIG. 11 is a flowchart of a configuration operation.
FIG. 12 is a flowchart of a download operation.
FIG. 13 is a block diagram illustrating an example of a conventional configuration control device.
FIG. 14 is a block diagram illustrating another example of a conventional configuration control device.
FIG. 15 is a block diagram showing still another example of a conventional configuration control device.
[Explanation of symbols]
1 serial port
2 CPU
3 memory
4 Bus bridge
5 Configuration controller
6. Flash memory
7 Local bus
8 System bus
9,10 bus bridge
11 Configuration bus
21-2n FPGA

Claims (4)

CPUと、メモリーと、これ等CPU及びメモリーの配下のバスと、このバス上に配置され、FPGA(フィールドプログラマブルゲートアレー)のコンフィグレーション制御をなすコンフィグレーション制御手段とを含む情報処理システムであって、
前記コンフィグレーション制御の開始から終了までの間、前記FPGAを前記バスから切離すためのバススイッチを含むことを特徴とする情報処理システム。
An information processing system comprising a CPU, a memory, a bus under the CPU and the memory, and configuration control means arranged on the bus and configured to control the configuration of an FPGA (field programmable gate array). ,
An information processing system comprising a bus switch for disconnecting the FPGA from the bus from the start to the end of the configuration control.
前記コンフィグレーション制御手段は、前記コンフィグレーション制御の開始から終了までの間、前記バススイッチをイネーブル状態に制御する制御信号を生成するようにしたことを特徴とする請求項1記載の情報処理システム。2. The information processing system according to claim 1, wherein the configuration control means generates a control signal for controlling the bus switch to an enabled state from the start to the end of the configuration control. 前記コンフィグレーション制御手段は、予めコンフィグレーション用データを格納すると共に、この格納データの格納位置を示すアドレスをも格納したフラッシュメモリーを有しており、システムの電源投入に応答して前記フラッシュメモリに格納されている前記アドレスをアクセスして、前記コンフィグレーション用データを、このフラッシュメモリーから読み出しつつ前記FPGAのコンフィグレーション制御をなようにしたことを特徴とする請求項1または2記載の情報処理システム。The configuration control means has a flash memory which stores configuration data in advance and also stores an address indicating a storage position of the storage data. 3. The information processing system according to claim 1, wherein the configuration control of the FPGA is performed while accessing the stored address and reading the configuration data from the flash memory. . 前記コンフィグレーション制御手段はシリアルポートを有しており、コンフィグレーション用データをこのシリアルポートを介して入力しつつ前記フラッシュメモリーに格納するようにしたことを特徴とする請求項1〜3いずれか記載の情報処理システム。4. The configuration control device according to claim 1, wherein the configuration control unit has a serial port, and stores configuration data in the flash memory while inputting the configuration data through the serial port. Information processing system.
JP2002179258A 2002-06-20 2002-06-20 Information processing system Pending JP2004021867A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002179258A JP2004021867A (en) 2002-06-20 2002-06-20 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002179258A JP2004021867A (en) 2002-06-20 2002-06-20 Information processing system

Publications (2)

Publication Number Publication Date
JP2004021867A true JP2004021867A (en) 2004-01-22
JP2004021867A5 JP2004021867A5 (en) 2005-10-06

Family

ID=31176689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002179258A Pending JP2004021867A (en) 2002-06-20 2002-06-20 Information processing system

Country Status (1)

Country Link
JP (1) JP2004021867A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058288A (en) * 2005-08-22 2007-03-08 Hitachi Kokusai Electric Inc Information processing apparatus
JP2008165285A (en) * 2006-12-27 2008-07-17 High Energy Accelerator Research Organization Data collecting device for neutron measurement and program download method
JP2009301339A (en) * 2008-06-13 2009-12-24 Canon Inc Bus control device
US7795908B2 (en) 2008-10-27 2010-09-14 Fuji Xerox Co., Ltd. Electronic device, method for configuring reprogrammable logic element, computer-readable medium, computer data signal and image forming apparatus
US7857114B2 (en) 2008-07-07 2010-12-28 Glory, Ltd. Banknote discrimination apparatus and banknote discrimination method
JP2012230529A (en) * 2011-04-26 2012-11-22 Mitsubishi Electric Corp Remote maintenance system of fpga loaded device
JP2013038741A (en) * 2011-08-11 2013-02-21 Nippon Signal Co Ltd:The Configuration device and configuration method
JP2014071649A (en) * 2012-09-28 2014-04-21 Fujitsu Ltd Reconfiguration device, and reconfiguration method
US9870148B2 (en) 2013-06-12 2018-01-16 Nec Corporation Configuration control system and configuration control method
WO2018131065A1 (en) * 2017-01-10 2018-07-19 株式会社日立製作所 Reconfigurable device and electronic device using same

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058288A (en) * 2005-08-22 2007-03-08 Hitachi Kokusai Electric Inc Information processing apparatus
JP2008165285A (en) * 2006-12-27 2008-07-17 High Energy Accelerator Research Organization Data collecting device for neutron measurement and program download method
JP4538639B2 (en) * 2006-12-27 2010-09-08 大学共同利用機関法人 高エネルギー加速器研究機構 Data collection device and program download method for neutron measurement
JP2009301339A (en) * 2008-06-13 2009-12-24 Canon Inc Bus control device
US7857114B2 (en) 2008-07-07 2010-12-28 Glory, Ltd. Banknote discrimination apparatus and banknote discrimination method
US7795908B2 (en) 2008-10-27 2010-09-14 Fuji Xerox Co., Ltd. Electronic device, method for configuring reprogrammable logic element, computer-readable medium, computer data signal and image forming apparatus
JP2012230529A (en) * 2011-04-26 2012-11-22 Mitsubishi Electric Corp Remote maintenance system of fpga loaded device
JP2013038741A (en) * 2011-08-11 2013-02-21 Nippon Signal Co Ltd:The Configuration device and configuration method
JP2014071649A (en) * 2012-09-28 2014-04-21 Fujitsu Ltd Reconfiguration device, and reconfiguration method
US9870148B2 (en) 2013-06-12 2018-01-16 Nec Corporation Configuration control system and configuration control method
WO2018131065A1 (en) * 2017-01-10 2018-07-19 株式会社日立製作所 Reconfigurable device and electronic device using same

Similar Documents

Publication Publication Date Title
JP5173818B2 (en) Initializing flash storage via embedded controller
JP4527348B2 (en) Interface device, method of updating firmware in interface device, and program thereof
JP4828816B2 (en) Memory card, semiconductor device, and memory card control method
KR20070077463A (en) Method of system booting with a direct memory access in a new memory architecture
CN110941444B (en) Upgrade configuration logic circuit, method and system and programmable logic device
JP2004021867A (en) Information processing system
KR19990011955A (en) PCI bridge
US7644247B2 (en) System controller for flash memory
JP4013040B2 (en) Download apparatus and download method
JPH1063442A (en) Semiconductor disk device
KR100503484B1 (en) Image forming device
JP2907808B1 (en) Flash memory emulation device and debug system using the same
JP4127307B2 (en) Data storage device, data processing system, data processing method, and data processing device
JP3635903B2 (en) Programmable controller
JP4042940B2 (en) Microcontroller with on-chip programming function
JP2853593B2 (en) Download device
CN101526910A (en) BootRom backup method and device
EP1804166A2 (en) Memory device and information processing apparatus
JPH1020906A (en) Data processor and data processing method
JP2006107049A (en) Semiconductor device and memory card provided with the semiconductor device
JP3841056B2 (en) Computer system
JP2011108161A (en) Information processor
JPH11338687A (en) Program rewriting system
JPH06348503A (en) Device with master and slave control system and its control method
CN113590150A (en) Memory bank control method, program upgrading method and device

Legal Events

Date Code Title Description
A521 Written amendment

Effective date: 20050513

Free format text: JAPANESE INTERMEDIATE CODE: A523

A621 Written request for application examination

Effective date: 20050513

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20071029

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20071113

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080311