IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7419764情報処理装置およびコンフィグレーション方法
<>
  • 特許-情報処理装置およびコンフィグレーション方法 図1
  • 特許-情報処理装置およびコンフィグレーション方法 図2
  • 特許-情報処理装置およびコンフィグレーション方法 図3
  • 特許-情報処理装置およびコンフィグレーション方法 図4
  • 特許-情報処理装置およびコンフィグレーション方法 図5
  • 特許-情報処理装置およびコンフィグレーション方法 図6
  • 特許-情報処理装置およびコンフィグレーション方法 図7
  • 特許-情報処理装置およびコンフィグレーション方法 図8
  • 特許-情報処理装置およびコンフィグレーション方法 図9
  • 特許-情報処理装置およびコンフィグレーション方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】情報処理装置およびコンフィグレーション方法
(51)【国際特許分類】
   G06F 8/654 20180101AFI20240116BHJP
【FI】
G06F8/654
【請求項の数】 5
(21)【出願番号】P 2019209910
(22)【出願日】2019-11-20
(65)【公開番号】P2021082081
(43)【公開日】2021-05-27
【審査請求日】2022-09-14
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】柴田 崇之
(72)【発明者】
【氏名】桜田 裕一
(72)【発明者】
【氏名】石井 達也
【審査官】北川 純次
(56)【参考文献】
【文献】特開2014-175891(JP,A)
【文献】特開2003-132010(JP,A)
【文献】特開2010-113630(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65-8/654
(57)【特許請求の範囲】
【請求項1】
CPUと、
前記CPUと通信可能に接続された複数のFPGAと、
複数のFPGAの各々に対して1対1で対応して設けられ、各々が対応するFPGAのコンフィグレーションデータを記憶する複数のメモリと
を備え、
前記複数のFPGAのうちのいずれか一のFPGAは、
前記複数のメモリの各々に記憶されている、前記複数のFPGAの各々の前記コンフィグレーションデータを更新する更新処理部を有する
ことを特徴とする情報処理装置。
【請求項2】
前記複数のメモリの中から、前記一のFPGAの接続先を切り替える切替手段をさらに備え、
前記更新処理部は、
前記切替手段を制御して、前記一のFPGAの接続先を、他のFPGAに対応する前記メモリに切り替えることにより、当該メモリに記憶されている、前記他のFPGAの前記コンフィグレーションデータを更新する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複数のFPGAの各々と、前記複数のメモリの各々とを1対1で接続する、複数のシリアルバスをさらに備え、
前記更新処理部は、
前記一のFPGAに繋がる前記シリアルバスの接続先を、前記他のFPGAに対応するメモリに繋がる前記シリアルバスに切り替えることにより、前記一のFPGAの接続先を、前記他のFPGAに対応するメモリに切り替える
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記一のFPGAは、
当該一のFPGAに対応する前記メモリに格納されている、更新処理用のコンフィグレーションデータが書き込まれることにより、前記複数のメモリの各々に記憶されている、前記複数のFPGAの各々の前記コンフィグレーションデータを更新する
ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
CPUと、
前記CPUと通信可能に接続された複数のFPGAと、
複数のFPGAの各々に対して1対1で対応して設けられ、各々が対応するFPGAのコンフィグレーションデータを記憶する複数のメモリと
を備えた情報処理装置用のコンフィグレーション方法であって、
前記複数のFPGAのうちのいずれか一のFPGAが、前記複数のメモリの各々に記憶されている、前記複数のFPGAの各々の前記コンフィグレーションデータを更新する更新処理工程を含む
ことを特徴とするコンフィグレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびコンフィグレーション方法に関する。
【背景技術】
【0002】
従来、画像形成装置等の情報処理装置において、CPU(Central Processing Unit)がFPGA(Field Programmable Gate Array)に特定の機能を実行させることにより、CPUに係る負荷を軽減する技術が用いられている。
【0003】
FPGAは、所定のメモリから、当該FPGA用にカスタマイズされたコンフィグレーションデータを読み出して、当該コンフィグレーションデータを用いたコンフィグレーション(コンフィグレーションデータの書き込み)を行うことにより、特定の機能を実行することが可能となる。
【0004】
なお、下記特許文献1には、シリアル伝送に対応するFPGAに対しては、シリアル伝送部を介して該FPGAへ送信し、パラレル伝送に対応するFPGAに対しては、パラレル伝送部を介してデータを送信する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、仕様変更等に対応できるように、複数のFPGAの各々のコンフィグレーションデータを更新可能にする場合、全てのFPGAに、1対1で対応するPROM(Programmable Read Only Memory)に記憶されているコンフィグレーションデータの更新を行うための更新処理部を設ける必要があるため、各FPGAの回路規模が大きくなる等の問題が生じていた。
【0006】
本発明は、上述した従来技術の課題を解決するため、複数のFPGAの各々のコンフィグレーションデータの更新に係る、各FPGAの回路規模が大きくなる等の問題を解決できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本発明の情報処理装置は、CPUと、CPUと通信可能に接続された複数のFPGAと、複数のFPGAの各々に対して1対1で対応して設けられ、各々が対応するFPGAのコンフィグレーションデータを記憶する複数のメモリとを備え、複数のFPGAのうちのいずれか一のFPGAは、複数のメモリの各々に記憶されている、複数のFPGAの各々のコンフィグレーションデータを更新する更新処理部を有する。
【発明の効果】
【0008】
本発明によれば、複数のFPGAの各々のコンフィグレーションデータの更新に係る、各FPGAの回路規模が大きくなる等の問題を解決することができる。
【図面の簡単な説明】
【0009】
図1】本発明の一実施形態に係る情報処理装置のシステム構成を示す図
図2】本発明の一実施形態に係る情報処理装置が備える処理回路およびデータの一覧を示す図
図3】本発明の一実施形態に係る情報処理装置による通常起動処理の手順を示すフローチャート
図4】本発明の一実施形態に係る情報処理装置による更新処理の手順を示すフローチャート
図5】本発明の一実施形態に係る更新処理部によるFPGA_1のコンフィグレーションデータの更新処理を示すフローチャート
図6】本発明の一実施形態に係る更新処理部による他のFPGAのコンフィグレーションデータの更新処理を示すフローチャート
図7】本発明の一実施形態に係るセレクタの通常起動時の状態を示す図
図8】本発明の一実施形態に係るセレクタのFPGA_1のコンフィグレーションデータの更新処理時の状態を示す図
図9】本発明の一実施形態に係るセレクタのFPGA_2のコンフィグレーションデータの更新処理時の状態を示す図
図10】本発明の一実施形態に係るセレクタのFPGA_3のコンフィグレーションデータの更新処理時の状態を示す図
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の一実施形態について説明する。
【0011】
(情報処理装置10のシステムの概要)
図1は、本発明の一実施形態に係る情報処理装置10のシステム構成を示す図である。本実施形態では、「複数のFPGA」の一例として、3つのFPGAを備える情報処理装置10に対し、本発明を適用する例について説明する。但し、これに限らず、本発明は、2つまたは4つ以上のFPGAを備える情報処理装置にも適用可能である。
【0012】
図1に示す情報処理装置10は、CPU101および複数のFPGA110(FPGA_1,FPGA_2,FPGA_3)を有する。情報処理装置10は、複数のFPGA110によって特定の機能を実行することで、CPU101に係る負荷を軽減することができる。
【0013】
例えば、画像形成装置のエンジン制御のように、作像制御、定着制御、搬送制御等、多くの制御を実施する場合、CPU101の負荷が大きくなるような演算処理(例えば、画像位置補正制御、色ムラ補正処理等)を、複数のFPGA110によって実行することにより、CPU101に係る負荷を軽減することができる。
【0014】
複数のFPGA110を使用するためには、各FPGA110が、FPGA110毎にカスタマイズされたコンフィグレーションデータをメモリから読み出して起動する必要がある。
【0015】
本実施形態の情報処理装置10は、図1に示すように、FPGA_1,FPGA_2,FPGA_3の各々のコンフィグレーションデータを、PROM_1,PROM_2,PROM_3の各々に保存しておく。このため、本実施形態の情報処理装置10は、FPGA_1,FPGA_2,FPGA_3が、互いに並列に、コンフィグレーションデータの読み出しおよび起動を行うことができる。すなわち、本実施形態の情報処理装置10は、複数のFPGA110の起動時間を短時間化することができる。
【0016】
(情報処理装置10のシステム構成)
以下、図1を参照して、情報処理装置10のシステム構成について、具体的に説明する。図1に示すように、情報処理装置10は、CPU101、FROM102、複数のFPGA110(FPGA_1,FPGA_2,FPGA_3)、およびパラレルバス103を備える。
【0017】
CPU101は、システム全体を制御する。例えば、CPU101は、FROM102に格納されているプログラムを実行し、パラレルバス103を介して、FPGA_1,FPGA_2,FPGA_3を制御する。FROM102は、CPU101が実行するプログラムを格納する。
【0018】
<FPGA110>
複数のFPGA110(FPGA_1,FPGA_2,FPGA_3)の各々は、情報処理装置10が備える特定の機能を実行する。複数のFPGA110の各々は、パラレルバス103によって、CPU101と通信可能に接続されている。複数のFPGA110の各々は、コンフィグレーションデータが書き込まれることで、特定の機能を実行するためのロジック回路を形成する。
【0019】
複数のFPGA110の各々は、通常動作部111を備える。通常動作部111は、FPGA110の通常起動時に動作する処理回路である。
【0020】
また、複数のFPGA110のうち、FPGA_1は、更新処理部112を備える。更新処理部112は、後述する複数のPROM120(PROM_1,PROM_2,PROM_3)の各々に格納されている、複数のFPGA110(FPGA_1,FPGA_2,FPGA_3)の各々のコンフィグレーションデータを更新する処理回路である。
【0021】
<PROM_1,PROM_2,PROM_3>
また、情報処理装置10は、FPGA_1,FPGA_2,FPGA_3の各々と1対1で対応する、複数のPROM120(PROM_1,PROM_2,PROM_3)を備える。PROM_1,PROM_2,PROM_3は、それぞれ、FPGA_1,FPGA_2,FPGA_3のコンフィグレーションデータを格納する。
【0022】
<シリアルバス131~136>
PROM_1は、シリアルバス131,132によって、FPGA_1に接続されている。PROM_1は、FPGA_1のコンフィグレーションデータを格納する。シリアルバス131は、FPGA_1がPROM_1に対し、通信コマンド、コンフィグレーションデータの送信を行う際の、通信経路となる。シリアルバス132は、PROM_1がFPGA_1に対し、通信コマンドに対する応答、コンフィグレーションデータ等の送信を行う際の、通信経路となる。
【0023】
また、PROM_2は、シリアルバス133,134によって、FPGA_2に接続されている。PROM_2は、FPGA_2のコンフィグレーションデータを格納する。シリアルバス133は、FPGA_2がPROM_2に対し、通信コマンドの送信を行う際の、通信経路となる。シリアルバス134は、PROM_2がFPGA_2に対し、通信コマンドに対する応答、コンフィグレーションデータ等の送信を行う際の、通信経路となる。
【0024】
また、PROM_3は、シリアルバス135,136によって、FPGA_3に接続されている。PROM_3は、FPGA_3のコンフィグレーションデータを格納する。シリアルバス135は、FPGA_3がPROM_3に対し、通信コマンドの送信を行う際の、通信経路となる。シリアルバス136は、PROM_3がFPGA_3に対し、通信コマンドに対する応答、コンフィグレーションデータ等の送信を行う際の、通信経路となる。
【0025】
<シリアルバス137~140>
シリアルバス131,132は、シリアルバス137,138によって、シリアルバス133,134と接続されている。
【0026】
シリアルバス137は、FPGA_1の更新処理部112がPROM_2に記憶されているFPGA_2のコンフィグレーションデータの更新を行う際に、FPGA_1からPROM_2へ送信される、通信コマンドおよびコンフィグレーションデータの通信経路となる。
【0027】
シリアルバス138は、FPGA_1の更新処理部112がPROM_2に記憶されているFPGA_2のコンフィグレーションデータの更新を行う際に、PROM_2からFPGA_1へ送信される、通信コマンドに対する応答の通信経路となる。
【0028】
また、シリアルバス131,132は、シリアルバス139,140によって、シリアルバス135,136と接続されている。
【0029】
シリアルバス139は、FPGA_1の更新処理部112がPROM_3に記憶されているFPGA_3のコンフィグレーションデータの更新を行う際に、FPGA_1からPROM_3へ送信される、通信コマンドおよびコンフィグレーションデータの通信経路となる。
【0030】
シリアルバス140は、FPGA_1の更新処理部112がPROM_3に記憶されているFPGA_3のコンフィグレーションデータの更新を行う際に、PROM_3からFPGA_1へ送信される、通信コマンドに対する応答の通信経路となる。
【0031】
<セレクタ141~145>
また、また、情報処理装置10は、「切替手段」の一例として、セレクタ141~145を備える。セレクタ141は、シリアルバス131,132上に設けられている。セレクタ141は、シリアルバス131,132を接続状態または遮断状態に選択的に切り替え可能である。
【0032】
セレクタ142は、シリアルバス133,134上に設けられている。セレクタ142は、シリアルバス133,134を接続状態または遮断状態に選択的に切り替え可能である。
【0033】
セレクタ143は、シリアルバス135,136上に設けられている。セレクタ143は、シリアルバス135,136を接続状態または遮断状態に選択的に切り替え可能である。
【0034】
セレクタ144は、シリアルバス137,138上に設けられている。セレクタ144は、シリアルバス137,138を接続状態または遮断状態に選択的に切り替え可能である。
【0035】
セレクタ145は、シリアルバス139,140上に設けられている。セレクタ145は、シリアルバス139,140を接続状態または遮断状態に選択的に切り替え可能である。
【0036】
セレクタ141~145の切り替えは、FPGA_1から送信される切替信号SELによって制御される。
【0037】
上記構成を有する情報処理装置10において、通常動作時においては、CPU101が、パラレルバス103を介して、各FPGA_1,FPGA_2,FPGA_3に対して、初期設定や演算命令を行う。各FPGA_1,FPGA_2,FPGA_3においては、通常動作部111が、対応するPROM_1,PROM_2,PROM_3からコンフィグレーションデータを読み出し、当該FPGAを起動する。
【0038】
一方、上記構成を有する情報処理装置10において、コンフィグレーションデータ更新時においては、CPU101が、パラレルバス103を介して、FPGA_1に対して、各FPGA_1,FPGA_2,FPGA_3のコンフィグレーションデータの更新データを送信する。
【0039】
FPGA_1は、セレクタ141を「接続状態」に切り替え、シリアルバス131を介して、FPGA_1用の更新データを、PROM_1に格納する。
【0040】
また、FPGA_1は、セレクタ144を「接続状態」に切り替え、シリアルバス131,137,133を介して、FPGA_2用の更新データを、PROM_2に格納する。
【0041】
さらに、FPGA_1は、セレクタ145を「接続状態」に切り替え、シリアルバス131,139,135を介して、FPGA_3用の更新データを、PROM_3に格納する。
【0042】
(情報処理装置10が備える処理回路およびデータ)
図2は、本発明の一実施形態に係る情報処理装置10が備える処理回路およびデータの一覧を示す図である。
【0043】
図2に示すように、本実施形態の情報処理装置10は、FPGA_1のみが更新処理部112を備える。このため、本実施形態の情報処理装置10は、その他のFPGA-2,FPGA-3の回路規模を抑制することができる。
【0044】
また、図2に示すように、本実施形態の情報処理装置10は、FPGA_1に対応するPROM_1のみが、更新処理用のコンフィグレーションデータを記憶する。このため、本実施形態の情報処理装置10は、その他のPROM_2,PROM_3のメモリ使用量を抑制することができる。
【0045】
(情報処理装置10による通常起動処理の手順)
図3は、本発明の一実施形態に係る情報処理装置10による通常起動処理の手順を示すフローチャートである。
【0046】
まず、CPU101が、パラレルバス103を介して、各FPGA_1,FPGA_2,FPGA_3に対して、通常起動を指示する(ステップS301)。
【0047】
次に、FPGA_1が、図7に示すように、通常起動用に、各セレクタ141~145を切り替える(ステップS302)。これにより、FPGA_1,FPGA-2,FPGA-3の各々が、PROM_1,PROM-2,PROM-3の各々と通信可能に接続される。
【0048】
次に、FPGA_1の通常動作部111が、シリアルバス132を介して、PROM_1から通常起動時用のコンフィグレーションデータを読み出して、当該コンフィグレーションデータを用いたコンフィグレーションを行う(ステップS303)。
【0049】
同時に、FPGA-2の通常動作部111が、シリアルバス134を介して、PROM_2から通常起動時用のコンフィグレーションデータを読み出して、当該コンフィグレーションデータを用いたコンフィグレーションを行う(ステップS304)。
【0050】
同時に、FPGA-3の通常動作部111が、シリアルバス136を介して、PROM_3から通常起動時用のコンフィグレーションデータを読み出して、当該コンフィグレーションデータを用いたコンフィグレーションを行う(ステップS305)。
【0051】
そして、CPU101が、全てのFPGAのコンフィグレーションが完了したか否かを判断する(ステップS306)。ステップS306において、全てのFPGAのコンフィグレーションが完了したと判断された場合(ステップS306:Yes)、情報処理装置10は、図3に示す一連の処理を終了する。一方、ステップS306において、全てのFPGAのコンフィグレーションが完了していないと判断された場合(ステップS306:No)、CPU101が、ステップS306の処理を再度実行する。
【0052】
(情報処理装置10による更新処理の手順)
図4は、本発明の一実施形態に係る情報処理装置10による更新処理の手順を示すフローチャートである。
【0053】
まず、CPU101が、パラレルバス103を介して、各FPGA_1,FPGA_2,FPGA_3に対して、コンフィグレーションデータの更新を指示する(ステップS401)。
【0054】
次に、FPGA_1が、図8に示すように、更新処理用に、各セレクタ141~145を切り替える(ステップS402)。これにより、FPGA_1が、PROM_1と通信可能に接続される。
【0055】
次に、FPGA_1の更新処理部112が、シリアルバス132を介して、PROM_1から更新処理用のコンフィグレーションデータを読み出して、当該コンフィグレーションデータを用いたコンフィグレーションを行う(ステップS403)。
【0056】
そして、FPGA_1の更新処理部112が、FPGA_1のコンフィグレーションが完了したか否かを判断する(ステップS404)。
【0057】
ステップS404において、FPGA_1のコンフィグレーションが完了していないと判断された場合(ステップS404:No)、FPGA_1の更新処理部112が、ステップS404の処理を再度実行する。
【0058】
一方、ステップS404において、FPGA_1のコンフィグレーションが完了したと判断された場合(ステップS404:Yes)、FPGA_1の更新処理部112が、FPGA_1のコンフィグレーションデータの更新が必要であるか否かを判断する(ステップS405)。
【0059】
ステップS405において、FPGA_1のコンフィグレーションデータの更新が必要であると判断された場合(ステップS405:Yes)、情報処理装置10が、FPGA_1のコンフィグレーションデータの更新処理を行い(ステップS406)、情報処理装置10が、ステップS407へ処理を進める。なお、FPGA_1のコンフィグレーションデータの更新処理の詳細な手順については、図5を用いて後述する。
【0060】
一方、ステップS405において、FPGA_1のコンフィグレーションデータの更新が必要ではないと判断された場合(ステップS405:No)、情報処理装置10が、ステップS407へ処理を進める。
【0061】
ステップS407では、FPGA_1の更新処理部112が、全てのコンフィグレーションデータの更新が完了したか否かを判断する。
【0062】
ステップS407において、全てのコンフィグレーションデータの更新が完了していないと判断された場合(ステップS407:No)、情報処理装置10が、コンフィグレーションデータの更新が完了していない、FPGA_1以外の他のFPGAのコンフィグレーションデータの更新処理を行う(ステップS408)。そして、情報処理装置10は、ステップS407へ処理を戻す。なお、FPGA_1以外の他のFPGAのコンフィグレーションデータの更新処理の詳細な手順については、図6を用いて後述する。
【0063】
一方、ステップS407において、全てのコンフィグレーションデータの更新が完了したと判断された場合(ステップS407:Yes)、情報処理装置10は、図4に示す一連の処理を終了する。
【0064】
(FPGA_1のコンフィグレーションデータの更新処理の手順)
図5は、本発明の一実施形態に係る情報処理装置10によるFPGA_1のコンフィグレーションデータの更新処理を示すフローチャートである。
【0065】
まず、FPGA_1が、PROM_1に記憶されている、FPGA_1のコンフィグレーションデータをイレースする(ステップS501)。
【0066】
次に、CPU101が、FPGA_1へ、FPGA_1のコンフィグレーションデータの更新データを送信する(ステップS502)。
【0067】
次に、FPGA_1が、FPGA_1のコンフィグレーションデータの更新データを、PROM_1にライトする(ステップS503)。そして、情報処理装置10は、図5に示す一連の処理を終了する。
【0068】
(他のFPGAのコンフィグレーションデータの更新処理の手順)
図6は、本発明の一実施形態に係る情報処理装置10による他のFPGAのコンフィグレーションデータの更新処理を示すフローチャートである。
【0069】
まず、FPGA_1が、図9または図10に示すように、更新対象のFPGA(FPGA_2またはFPGA_3)のコンフィグレーションデータの更新処理用に、各セレクタ141~145を切り替える(ステップS601)。これにより、FPGA_1が、更新対象のメモリ(PROM_2またはPROM_3)と通信可能に接続される。
【0070】
次に、FPGA_1が、更新対象のメモリ(PROM_2またはPROM_3)に記憶されている、更新対象のFPGA(FPGA_2またはFPGA_3)のコンフィグレーションデータをイレースする(ステップS602)。
【0071】
次に、CPU101が、FPGA_1へ、更新対象のFPGA(FPGA_2またはFPGA_3)のコンフィグレーションデータの更新データを送信する(ステップS603)。
【0072】
次に、FPGA_1が、更新対象のFPGA(FPGA_2またはFPGA_3)のコンフィグレーションデータの更新データを、更新対象のメモリ(PROM_2またはPROM_3)にライトする(ステップS604)。そして、情報処理装置10は、図6に示す一連の処理を終了する。
【0073】
(セレクタ141~145の状態)
<通常起動時の状態>
図7は、本発明の一実施形態に係るセレクタ141~145の通常起動時の状態を示す図である。図7に示すように、通常起動時においては、セレクタ141,142,143の各々が、「接続」状態に切り替えられる。これにより、FPGA_1,FPGA-2,FPGA-3の各々が、PROM_1,PROM-2,PROM-3の各々と通信可能に接続される。よって、FPGA_1,FPGA-2,FPGA-3の各々が、PROM_1,PROM-2,PROM-3の各々から、通常起動用のコンフィグレーションデータを読み出すことが可能となる。
【0074】
<FPGA_1のコンフィグレーションデータの更新処理時の状態>
図8は、本発明の一実施形態に係るセレクタ141~145のFPGA_1のコンフィグレーションデータの更新処理時の状態を示す図である。図8に示すように、FPGA_1のコンフィグレーションデータの更新処理時においては、少なくともセレクタ141が「接続」状態に切り替えられる。これにより、FPGA_1が、シリアルバス131,132を介して、PROM_1と通信可能に接続される。よって、FPGA_1の更新処理部112が、PROM_1に記憶されている、FPGA_1用のコンフィグレーションデータを更新することが可能となる。
【0075】
<FPGA_2のコンフィグレーションデータの更新処理時の状態>
図9は、本発明の一実施形態に係るセレクタ141~145のFPGA_2のコンフィグレーションデータの更新処理時の状態を示す図である。図9に示すように、FPGA_2のコンフィグレーションデータの更新処理時においては、少なくともセレクタ144が「接続」状態に切り替えられ、セレクタ141,142が「遮断」状態に切り替えられる。これにより、FPGA_1が、シリアルバス131,132、シリアルバス137,138、およびシリアルバス133,134を介して、PROM_2と通信可能に接続される。よって、FPGA_1の更新処理部112が、PROM_2に記憶されている、FPGA_2用のコンフィグレーションデータを更新することが可能となる。
【0076】
<FPGA_3のコンフィグレーションデータの更新処理時の状態>
図10は、本発明の一実施形態に係るセレクタ141~145のFPGA_3のコンフィグレーションデータの更新処理時の状態を示す図である。図9に示すように、FPGA_3のコンフィグレーションデータの更新処理時においては、少なくともセレクタ145が「接続」状態に切り替えられ、セレクタ141,143,144が「遮断」状態に切り替えられる。これにより、FPGA_1が、シリアルバス131,132、シリアルバス139,140、およびシリアルバス135,136を介して、PROM_3と通信可能に接続される。よって、FPGA_1の更新処理部112が、PROM_3に記憶されている、FPGA_3用のコンフィグレーションデータを更新することが可能となる。
【0077】
以上説明したように、本発明の一実施形態に係る情報処理装置10は、CPU101と、CPU101と通信可能に接続された複数のFPGA110と、複数のFPGA110の各々に対して1対1で対応して設けられ、各々が対応するFPGA110のコンフィグレーションデータを記憶する複数のPROM120とを備え、複数のFPGA110のうちのいずれか一のFPGA110は、複数のPROM120の各々に記憶されている、複数のFPGA110の各々のコンフィグレーションデータを更新する更新処理部112を有する。
【0078】
これにより、本実施形態の情報処理装置10は、一のFPGA110のみが更新処理部112を備えればよいため、その他のFPGA110の回路規模を抑制することができる。
【0079】
また、本実施形態の情報処理装置10は、一のFPGA110に対応するPROM120のみが、更新処理用のコンフィグレーションデータを記憶すればよいため、その他のPROM120のメモリ使用量を抑制することができる。
【0080】
また、本発明の一実施形態に係る情報処理装置10は、複数のPROM120の中から、一のFPGA110の接続先を切り替えるセレクタ141~145をさらに備え、更新処理部112は、セレクタ141~145を制御して、一のFPGA110の接続先を、他のFPGA110に対応するPROM120に切り替えることにより、当該PROM120に記憶されている、他のFPGA110のコンフィグレーションデータを更新する。
【0081】
これにより、本実施形態の情報処理装置10は、セレクタ141~145を切り替えるだけといった簡単な制御により、一のFPGA110から、複数のFPGA110の各々のコンフィグレーションデータを更新することができる。
【0082】
また、本発明の一実施形態に係る情報処理装置10は、複数のFPGA110の各々と、複数のPROM120の各々とを1対1で接続する、シリアルバス131~136をさらに備え、更新処理部112は、一のFPGA110に繋がるシリアルバスの接続先を、他のFPGA110に対応するPROM120に繋がるシリアルバスに切り替えることにより、一のFPGA110の接続先を、他のFPGA110に対応するPROM120に切り替える。
【0083】
これにより、本実施形態の情報処理装置10は、FPGA110毎に設けられたシリアルバス131~136を利用して、一のFPGA110から、複数のFPGA110の各々のコンフィグレーションデータを更新することができる。したがって、本実施形態の情報処理装置10によれば、コンフィグレーションデータの更新用に追加される伝送路の数を抑制することができる。
【0084】
以上、本発明の好ましい実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【0085】
10 情報処理装置
101 CPU
102 FROM
103 パラレルバス
110 FPGA
111 通常動作部
112 更新処理部
120 PROM
131~140 シリアルバス
141~145 セレクタ
【先行技術文献】
【特許文献】
【0086】
【文献】特開2013-038741号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10