(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025009022
(43)【公開日】2025-01-20
(54)【発明の名称】情報処理装置、処理方法、およびプログラム
(51)【国際特許分類】
H03K 19/177 20200101AFI20250109BHJP
【FI】
H03K19/177
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023111725
(22)【出願日】2023-07-06
(71)【出願人】
【識別番号】599161890
【氏名又は名称】NECネットワーク・センサ株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】大島 隼斗
【テーマコード(参考)】
5J042
【Fターム(参考)】
5J042BA11
5J042CA20
5J042DA01
(57)【要約】
【課題】複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することのできる情報処理装置を提供する。
【解決手段】情報処理装置は、第1FPGAと、第2FPGAと、1つのパッケージに封止され、第1FPGAおよび第2FPGAにおいて設定される回路の構成に関する情報を記憶するメモリと、第1FPGAにおける第1の処理を制御し、第1の処理の制御を行わない場合に、第1FPGAまたはメモリに接続される自身の端子を遮断状態にする第1論理デバイスと、第2FPGAにおける第2の処理を制御し、第2の処理の制御を行わない場合に、第2FPGAまたはメモリに接続される自身の端子を遮断状態にする第2論理デバイスと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
第1FPGA(Field Programmable Gate Array)と、
第2FPGAと、
1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第1論理デバイスと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第2論理デバイスと、
前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、
前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、
を備える情報処理装置。
【請求項2】
前記第1論理デバイスおよび前記第2論理デバイスは、
前記第1コンフィグレーションの処理および前記第2コンフィグレーションの処理の順番を共有している、
請求項1に記載の情報処理装置。
【請求項3】
前記第1論理デバイスは、
前記第1コンフィグレーションの処理の完了を、前記第2論理デバイスに通知し、
前記第2論理デバイスは、
前記第1論理デバイスからの通知に応じて、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を、遮断状態から、前記第2FPGAおよび前記コンフィグレーションメモリと通信可能な状態に変更する、
請求項1に記載の情報処理装置。
【請求項4】
前記第2論理デバイスは、
前記第2コンフィグレーションの処理の完了を、前記第1論理デバイスに通知し、前記第2コンフィグレーションの処理を終了し、
前記第1論理デバイスは、
前記第2論理デバイスからの通知に応じて、前記第1コンフィグレーションの処理を終了する、
請求項1から請求項3の何れか一項に記載の情報処理装置。
【請求項5】
第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置が実行する処理方法であって、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
を含む処理方法。
【請求項6】
第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置のコンピュータに、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、処理方法、およびプログラムに関する。
【背景技術】
【0002】
さまざまな情報処理においてFPGA(Field Programmable Gate Array)が用いられている。FPGAは、起動時にコンフィグレーションメモリが記憶する回路の構成に関する情報を取得し、取得した情報に応じた設定がFPGA内でされることにより回路が構成させる。特許文献1には、関連する技術として、複数のFPGAにコンフィグレーションデータを供給するコンフィグレーション装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、複数のFPGAを用いて情報処理を実行する情報処理装置では、FPGAやコンフィグレーションメモリなどの増加により、基板における実装面積が大きくなってしまう。そのため、複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することのできる技術が求められている。
【0005】
本開示の各態様は、上記の課題を解決することのできる情報処理装置、処理方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一態様によれば、情報処理装置は、第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第1論理デバイスと、前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第2論理デバイスと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える。
【0007】
上記目的を達成するために、本開示の別の態様によれば、処理方法は、第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置が実行する処理方法であって、前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、を含む。
【0008】
上記目的を達成するために、本開示の別の態様によれば、プログラムは、第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置のコンピュータに、前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、を実行させる。
【発明の効果】
【0009】
本開示の各態様によれば、複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することができる。
【図面の簡単な説明】
【0010】
【
図1】本開示の第1実施形態による情報処理装置の構成の一例を示す図である。
【
図2】本開示の第1実施形態による情報処理部の構成の一例を示す図である。
【
図3】本開示の第1実施形態による情報処理装置の処理フローの一例を示す図である。
【
図4】本開示の第2実施形態による情報処理装置の構成の一例を示す図である。
【
図5】本開示の第2実施形態による情報処理部の構成の一例を示す図である。
【
図6】本開示の第3実施形態による情報処理装置の構成の一例を示す図である。
【
図7】本開示の第3実施形態による情報処理装置の処理フローの一例を示す図である。
【
図8】本開示の実施形態による情報処理装置の最小構成を示す図である。
【
図9】本開示の実施形態による最小構成の情報処理装置の処理フローの一例を示す図である。
【
図10】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態について詳しく説明する。
<第1実施形態>
(情報処理装置の構成)
本開示の第1実施形態による情報処理装置1について図面を参照して説明する。情報処理装置1は、起動時に、1つのパッケージに封止されたコンフィグレーションメモリで複数のFPGA(Field Programmable Gate Array)内の回路を設定することのできる装置である。
【0012】
図1は、本開示の第1実施形態による情報処理装置1の構成の一例を示す図である。情報処理装置1は、
図1に示すように、基板10、20、および基板間インターフェース(以下、「基板間I/F」と記載)30を備える。
【0013】
基板10は、基板間I/F30を介して、基板20に接続される。基板10は、基板20による指示の下、情報処理を実行する。基板10は、
図1に示すように、コネクタ101、コンフィグレーションメモリ102、および情報処理部103を備える。
【0014】
コネクタ101は、
図1に示すように、基板間I/F30を介して基板20に接続される。コネクタ101は、基板20から制御信号を受ける。
【0015】
コンフィグレーションメモリ102は、後述するFPGA1031のコンフィグレーションのための1つのパッケージ内に納められたメモリである。例えば、コンフィグレーションメモリ102は、情報処理部103が備える後述するFPGA1031における回路の構成を設定するための(すなわち、FPGA1031のコンフィグレーションのための)データを記憶する。
【0016】
図2は、本開示の第1実施形態による情報処理部103の構成の一例を示す図である。情報処理部103は、
図2に示すように、FPGA1031a、1031b、CPLD(Complex Programmable Logic Device)1032a、1032b、CONFIGインターフェース(以下、「CONFIG I/F」と記載)1033a、1033b、1034、および通信線1035a、1035b、1036を備える。
【0017】
FPGA1031a、1031bを総称して、FPGA1031ということがある。CPLD1032a、1032bを総称して、CPLD1032ということがある。CONFIG I/F1033a、1033bを総称して、CONFIG I/F1033ということがある。通信線1035a、1035bを総称して、通信線1035ということがある。
【0018】
FPGA1031のそれぞれは、情報処理装置1の起動時に、コンフィグレーションメモリ102との間で通信を行う。この通信の例としては、シリアル通信が挙げられる。シリアル通信の例としては、SPI(Serial Peripheral Interface)、QSPI(Quad Serial Peripheral Interface)などが挙げられる。本開示の第1実施形態では、コンフィグレーションは、マスターモードで実行される(すなわち、FPGA1031がマスター、コンフィグレーションメモリ102がスレーブとなり、コンフィグレーションが実行される)ものとする。
【0019】
また、FPGA1031のそれぞれは、情報処理装置1に要求される機能を実現するための情報処理を実行する。FPGA1031のそれぞれは、基板間I/F30を介して、基板20が備える後述するCPU(Central Processing Unit)202により実行する情報処理が指示される。FPGA1031のそれぞれは、同一の機能を有するFPGAである。
【0020】
CPLD1032のそれぞれは、FPGA1031の周辺回路である。CPLD1032aは、FPGA1031aの電源を管理する。また、CPLD1032aは、コンフィグレーションメモリ102が記憶するデータを用いたFPGA1031aのコンフィグレーションを制御する。また、CPLD1032bは、FPGA1031bの電源を管理する。また、CPLD1032bは、コンフィグレーションメモリ102が記憶するデータを用いたFPGA1031bのコンフィグレーションを制御する。
【0021】
なお、CPLD1032のそれぞれは、通信線1036を介して、それぞれがコンフィグレーションを制御するFPGAの起動状況を制御情報として共有している。この制御情報の共有により、FPGA1031のそれぞれは、同時に起動することはない。また、起動していない状態のFPGA1031に接続されているCPLD1032は、コンフィグレーションメモリ102、CONFIG I/F1033、およびCONFIG I/F1034との接続端子を、遮断状態に固定する。これにより、起動していない状態のFPGA1031およびそのFPGA1031の起動を制御するCPLD1032は、もう一方の起動中のFPGA1031およびそのFPGA1031の起動を制御するCPLD1032から電気的に切り離される。
【0022】
CONFIG I/F1033aは、
図2に示すように、FPGA1031aとCPLD1032aとを接続する。CONFIG I/F1033aは、FPGA1031aとCPLD1032aとの間で、コンフィグレーションクロック信号(以下、「CCLK信号」と記載)、チップセレクト信号(以下、「CS信号」と記載)、および、シリアルインプット/シリアルアウトプット信号(以下、「SI/SO信号」と記載)を伝播させる。CCLK信号は、FPGA1031のコンフィグレーション時の同期の基準信号である。CS信号は、FPGA1031のコンフィグレーション時に使用するメモリ(本開示の各実施形態ではコンフィグレーションメモリ102)を選択するメモリ選択用信号である。SI/SO信号は、データ信号(本開示の各実施形態ではFPGA1031の回路の構成を設定するためのデータを含む信号)である。
【0023】
CONGIG I/F1033bは、
図2に示すように、FPGA1031bとCPLD1032bとを接続する。CONGIG I/F1033bは、FPGA1031bとCPLD1032bとの間で、CCLK信号、CS信号、およびSI/SO信号を伝播させる。
【0024】
CONFIG I/F1034は、
図2に示すように、コンフィグレーションメモリ102とCPLD1032のそれぞれとを接続する。CONFIG I/F1034は、コンフィグレーションメモリ102とCPLD1032のそれぞれとの間で、CCLK信号、CS信号、およびSI/SO信号を伝播させる。
【0025】
通信線1035aは、
図2に示すように、FPGA1031aとCPLD1032aとを接続する。通信線1035aは、CPLD1032aがFPGA1031aのコンフィグレーションを開始する際にその開始をCPLD1032aからFPGA1031aに通知する開始信号を伝播させる。
【0026】
通信線1035bは、
図2に示すように、FPGA1031bとCPLD1032bとを接続する。通信線1035bは、CPLD1032bがFPGA1031bのコンフィグレーションを開始する際にその開始をCPLD1032bからFPGA1031bに通知する開始信号を伝播させる。
【0027】
通信線1036は、
図2に示すように、CPLD1032aとCPLD1032bとを接続する。通信線1036は、CPLD1032aとCPLD1032bとの間で共有する制御情報を伝播させる。この制御情報は、CPLD1032のそれぞれが制御するコンフィグレーションにおけるFPGA1031の起動状況の情報を含んでいる。
【0028】
CONFIG I/F1033、1034による上述のような接続により、
図2に示すように、FPGA1031とコンフィグレーションメモリ102とが2対1で接続される。
【0029】
なお、本開示の各実施形態において情報処理装置1が行う処理は、上述の処理に限定されない。例えば、情報処理装置1は、以下で説明する処理を行うものであってもよい。
【0030】
次に、情報処理装置1が行う処理について、
図3を参照して説明する。
図3は、本開示の第1実施形態による情報処理装置1の処理フローの一例を示す図である。ここでは、
図3を参照して情報処理装置1が起動時に行うFPGA1031aの回路の構成を設定し、次にFPGA1031bの回路の構成を設定するコンフィグレーションの処理について説明する。CPLD1032aとCPLD1032bとの間で共有する制御情報には、FPGA1031aの回路の構成を設定し、次にFPGA1031bの回路の構成を設定することを示す情報が含まれているものとする。
【0031】
CPLD1032aとCPLD1032bとの間で共有する制御情報に基づいて、CPLD1032のそれぞれは、FPGA1031aの回路の構成を設定すると判定する。そして、起動していない状態のFPGA1031bに接続されているCPLD1032bは、コンフィグレーションメモリ102、CONFIG I/F1033、およびCONFIG I/F1034との接続端子を、遮断状態に固定する。
【0032】
CPLD1032aは、CONFIG I/F1033aおよびCONFIG I/F1034のそれぞれとの間で、CCLK信号、CS信号、およびSI/SO信号を伝播可能な状態となる(ステップS1)。これにより、FPGA1031aがマスター、コンフィグレーションメモリ102がスレーブとなり、FPGA1031aとコンフィグレーションメモリ102との間で通信が可能となる。そして、CPLD1032aは、通信線1035aを介して、FPGA1031aにコンフィグレーションの開始を通知する(ステップS2)。
【0033】
FPGA1031aは、CCLK信号およびCS信号を、コンフィグレーションメモリ102に出力する。このCS信号によりコンフィグレーションメモリ102が選択される。そして、コンフィグレーションメモリ102は、CCLK信号に同期して、FPGA1031aにおける回路の構成を設定するためのデータをSI/SO信号として、FPGA1031aへ転送する(ステップS3)。
【0034】
FPGA1031aは、SI/SO信号を受ける。FPGA1031aは、受けたSI/SO信号に応じて、そのSI/SO信号により設定される回路の構成となる(ステップS4)。FPGA1031aは、回路の構成が設定されると(すなわち、FPGA1031aのコンフィグレーションの処理が完了すると)、FPGA1031aのコンフィグレーションの処理が完了したことをCPLD1032aに通知する。CPLD1032aは、その通知を受けると、FPGA1031aのコンフィグレーションの処理が完了したことを含む制御情報を、CPLD1032bに出力する(ステップS5)。これにより、CPLD1032bは、FPGA1031aのコンフィグレーションの処理が完了したと判定する。そして、FPGA1031のそれぞれは、この通知により、FPGA1031bの回路の構成を設定すると判定する。
【0035】
起動していない状態のFPGA1031aに接続されているCPLD1032aは、コンフィグレーションメモリ102、CONFIG I/F1033、およびCONFIG I/F1034との接続端子を、遮断状態に固定する。
【0036】
CPLD1032bは、CONFIG I/F1033bおよびCONFIG I/F1034のそれぞれとの間で、CCLK信号、CS信号、およびSI/SO信号を伝播可能な状態となる(ステップS6)。これにより、FPGA1031bがマスター、コンフィグレーションメモリ102がスレーブとなり、FPGA1031bとコンフィグレーションメモリ102との間で通信が可能となる。そして、CPLD1032bは、通信線1035bを介して、FPGA1031bにコンフィグレーションの開始を通知する(ステップS7)。
【0037】
FPGA1031bは、CCLK信号およびCS信号を、コンフィグレーションメモリ102に出力する。このCS信号によりコンフィグレーションメモリ102が選択される。そして、コンフィグレーションメモリ102は、CCLK信号に同期して、FPGA1031bにおける回路の構成を設定するためのデータ(すなわち、FPGA1031aにおける回路の構成を設定するためのデータと同一のデータ)をSI/SO信号として、FPGA1031bへ転送する(ステップS8)。
【0038】
FPGA1031bは、SI/SO信号を受ける。FPGA1031bは、受けたSI/SO信号に応じて、そのSI/SO信号により設定される回路の構成となる(ステップS9)。FPGA1031bは、回路の構成が設定されると(すなわち、FPGA1031aのコンフィグレーションの処理が完了すると)、FPGA1031bのコンフィグレーションの処理が完了したことをCPLD1032bに通知する。CPLD1032bは、その通知を受けると、FPGA1031bのコンフィグレーションの処理が完了したことを含む制御情報を、CPLD1032aに出力する(ステップS10)。これにより、CPLD1032のそれぞれは、FPGA1031それぞれのコンフィグレーションの処理が完了したと判定する。そして、CPLD1032のそれぞれは、コンフィグレーションの処理を終了する(ステップS11)。
【0039】
以上、本開示の第1実施形態による情報処理装置1について説明した。FPGA(Field Programmable Gate Array)1031a(第1FPGAの一例)と、FPGA1031b(第2FPGAの一例)と、を備える情報処理装置1において、コンフィグレーションメモリ102は、1つのパッケージに封止され、前記FPGA1031aおよび前記FPGA1031bにおいて設定される回路の構成に関する情報を記憶する。CPLD1032a(第1論理デバイスの一例)は、前記FPGA1031aにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記FPGA1031aまたは前記コンフィグレーションメモリ102に接続される自身の端子を遮断状態にする。CPLD1032b(第2論理デバイスの一例)は、前記FPGA1031bにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記FPGA1031bまたは前記コンフィグレーションメモリ102に接続される自身の端子を遮断状態にする。
【0040】
この情報処理装置1により、1つのパッケージに封止されたコンフィグレーションメモリを複数のFPGAに共通に用いることが可能となる。その結果、この情報処理装置1により、複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することができる。
【0041】
<第2実施形態>
(情報処理装置の構成)
本開示の第1実施形態では、コンフィグレーションは、マスターモードで実行される(すなわち、FPGA1031がマスター、コンフィグレーションメモリ102がスレーブとなり、コンフィグレーションが実行される)ものとして情報処理装置1について説明した。しかしながら、本開示の別の実施形態では、コンフィグレーションは、スレーブモードで実行される(すなわち、コンフィグレーションメモリ102が情報処理装置1の外部に存在し、外部のCPUがマスター、FPGA1031がスレーブとなり、コンフィグレーションが実行される)ものであってもよい。
【0042】
図4は、本開示の第2実施形態による情報処理装置1の構成の一例を示す図である。
図5は、本開示の第2実施形態による情報処理部103の構成の一例を示す図である。
図5には、情報処理部103に加えて、コネクタ101、201、およびコンフィグレーションメモリ102も示されている。情報処理装置1は、
図4に示すように、基板10、20、および基板間I/F30を備える。情報処理部103は、
図5に示すように、CONFIG I/F1034を介してコネクタ101に接続される。コネクタ101は、
図5に示すように基板間I/F30を介して、基板20のコネクタ201に接続される。コネクタ201は、
図5に示すように、コンフィグレーションメモリ102に接続される。
【0043】
なお、FPGA1031それぞれのコンフィグレーションの処理は、次のように実行される。すなわち、基板20のCPU202がCCLK信号およびCS信号をFPGA1031およびコンフィグレーションメモリ102に出力することにより、コンフィグレーションメモリ102が選択されCCLK信号により同期する。本開示の第1実施形態による情報処理装置1と同様に、CPLD1032のそれぞれが動作する。そして、コンフィグレーションメモリ102は、コネクタ201、基板間I/F30、コネクタ101、CONFIG I/F1034を介して、本開示の第1実施形態と同様に、SI/SO信号をコンフィグレーションの処理の対象であるFPGA1031に出力する。
【0044】
以上、本開示の第2実施形態による情報処理装置1について説明した。コンフィグレーションメモリ102は、基板10の外部に設けられる。例えば、基板20がコンフィグレーションメモリ102を備える。このような情報処理装置1により、スレーブモードにおいても、1つのパッケージに封止されたコンフィグレーションメモリ102により、FPGA1031それぞれ(すなわち、複数のFPGA)のコンフィグレーションの処理を実行することができる。
【0045】
<第3実施形態>
(情報処理装置の構成)
本開示の第1実施形態によるFPGA1031のそれぞれは、CONFIG I/F1033、1034を介してコンフィグレーションメモリ102からSI/SO信号を受けるものである。それに対して本開示の第3実施形態によるFPGA1031のそれぞれは、後述するCONFIG I/F1038を介してコンフィグレーションメモリ102からSI/SO信号を受けるものである。
図6は、本開示の第3実施形態による情報処理装置1の構成の一例を示す図である。情報処理装置1は、
図6に示すように、FPGA1031a、1031b、CPLD1032a、1032b、CONFIG I/F1037a、1037b、1038、1039、および通信線1035a、1035b、1036を備える。CONFIG I/F1037a、1037bを総称して、CONFIG I/F1037ということがある。
【0046】
FPGA1031のそれぞれは、情報処理装置1の起動時に、コンフィグレーションメモリ102との間で通信を行う。この通信の例としては、シリアル通信が挙げられる。シリアル通信の例としては、SPI、QSPIなどが挙げられる。本開示の第3実施形態では、コンフィグレーションは、マスターモードで実行される(すなわち、FPGA1031がマスター、コンフィグレーションメモリ102がスレーブとなり、コンフィグレーションが実行される)ものとする。
【0047】
また、FPGA1031のそれぞれは、情報処理装置1に要求される機能を実現するための情報処理を実行する。FPGA1031のそれぞれは、基板間I/F30を介して、基板20が備えるCPU202により実行する情報処理が指示される。FPGA1031のそれぞれは、同一の機能を有するFPGAである。
【0048】
CPLD1032のそれぞれは、FPGA1031の周辺回路である。CPLD1032aは、FPGA1031aの電源を管理する。また、CPLD1032aは、コンフィグレーションメモリ102が記憶するデータを用いたFPGA1031aのコンフィグレーションを制御する。また、CPLD1032bは、FPGA1031bの電源を管理する。また、CPLD1032bは、コンフィグレーションメモリ102が記憶するデータを用いたFPGA1031bのコンフィグレーションを制御する。
【0049】
なお、CPLD1032のそれぞれは、通信線1036を介して、それぞれがコンフィグレーションを制御するFPGAの起動状況を制御情報として共有している。この制御情報の共有により、FPGA1031のそれぞれは、同時に起動することはない。また、起動していない状態のFPGA1031に接続されているCPLD1032は、コンフィグレーションメモリ102、CONFIG I/F1037、およびCONFIG I/F1038との接続端子を、遮断状態に固定する。これにより、起動していない状態のFPGA1031およびそのFPGA1031の起動を制御するCPLD1032は、もう一方の起動中のFPGA1031およびそのFPGA1031の起動を制御するCPLD1032から電気的に切り離される。
【0050】
CONFIG I/F1037aは、
図6に示すように、FPGA1031aとCPLD1032aとを接続する。CONFIG I/F1037aは、FPGA1031aとCPLD1032aとの間で、CCLK信号、およびCS信号を伝播させる。CCLK信号は、FPGA1031のコンフィグレーション時の同期の基準信号である。CS信号は、FPGA1031のコンフィグレーション時に使用するメモリ(本開示の各実施形態ではコンフィグレーションメモリ102)を選択するメモリ選択用信号である。
【0051】
CONGIG I/F1037bは、
図6に示すように、FPGA1031bとCPLD1032bとを接続する。CONGIG I/F1037bは、FPGA1031bとCPLD1032bとの間で、CCLK信号、およびCS信号を伝播させる。
【0052】
CONFIG I/F1038は、
図6に示すように、コンフィグレーションメモリ102とCPLD1032のそれぞれとを接続する。CONFIG I/F1038は、コンフィグレーションメモリ102とCPLD1032のそれぞれとの間で、CCLK信号、およびCS信号を伝播させる。
【0053】
CONFIG I/F1039は、
図6に示すように、コンフィグレーションメモリ102とFPGA1031のそれぞれとを接続する。CONFIG I/F1039は、コンフィグレーションメモリ102とFPGA1031のそれぞれとの間で、SI/SO信号を伝播させる。SI/SO信号は、データ信号(本開示の各実施形態ではFPGA1031の回路の構成を設定するためのデータを含む信号)である。
【0054】
通信線1035aは、
図6に示すように、FPGA1031aとCPLD1032aとを接続する。通信線1035aは、CPLD1032aがFPGA1031aのコンフィグレーションを開始する際にその開始をCPLD1032aからFPGA1031aに通知する開始信号を伝播させる。
【0055】
通信線1035bは、
図6に示すように、FPGA1031bとCPLD1032bとを接続する。通信線1035bは、CPLD1032bがFPGA1031bのコンフィグレーションを開始する際にその開始をCPLD1032bからFPGA1031bに通知する開始信号を伝播させる。
【0056】
通信線1036は、
図6に示すように、CPLD1032aとCPLD1032bとを接続する。通信線1036は、CPLD1032aとCPLD1032bとの間で共有する制御情報を伝播させる。この制御情報は、CPLD1032のそれぞれが制御するコンフィグレーションにおけるFPGA1031の起動状況の情報を含んでいる。
【0057】
CONFIG I/F1033、1034による上述のような接続により、
図6に示すように、FPGA1031とコンフィグレーションメモリ102とが2対1で接続される。
【0058】
なお、本開示の第3実施形態において情報処理装置1が行う処理は、上述の処理に限定されない。例えば、情報処理装置1は、以下で説明する処理を行うものであってもよい。
【0059】
次に、情報処理装置1が行う処理について、
図7を参照して説明する。
図7は、本開示の第3実施形態による情報処理装置1の処理フローの一例を示す図である。ここでは、
図7を参照して情報処理装置1が起動時に行うFPGA1031aの回路の構成を設定し、次にFPGA1031bの回路の構成を設定するコンフィグレーションの処理について説明する。CPLD1032aとCPLD1032bとの間で共有する制御情報には、FPGA1031aの回路の構成を設定し、次にFPGA1031bの回路の構成を設定することを示す情報が含まれているものとする。また、FPGA1031のそれぞれは、CONFIG I/F1039との接続端子を、遮断状態に固定しているものとする。
【0060】
CPLD1032aとCPLD1032bとの間で共有する制御情報に基づいて、CPLD1032のそれぞれは、FPGA1031aの回路の構成を設定すると判定する。そして、起動していない状態のFPGA1031bに接続されているCPLD1032bは、コンフィグレーションメモリ102、CONFIG I/F1033、およびCONFIG I/F1034との接続端子を、遮断状態に固定する。
【0061】
CPLD1032aは、CONFIG I/F1033aおよびCONFIG I/F1034のそれぞれとの間で、CCLK信号、およびCS信号を伝播可能な状態となる(ステップS21)。これにより、FPGA1031aがマスター、コンフィグレーションメモリ102がスレーブとなり、FPGA1031aとコンフィグレーションメモリ102との間で通信が可能となる。マスターとなったFPGA1031aは、CONFIG I/F1039との接続端子を遮断状態から通信可能なインピーダンスに変更する。そして、CPLD1032aは、通信線1035aを介して、FPGA1031aにコンフィグレーションの開始を通知する(ステップS22)。
【0062】
FPGA1031aは、CCLK信号およびCS信号を、コンフィグレーションメモリ102に出力する。このCS信号によりコンフィグレーションメモリ102が選択される。そして、コンフィグレーションメモリ102は、CCLK信号に同期して、FPGA1031aにおける回路の構成を設定するためのデータをSI/SO信号として、CONFIG I/F1039を介してFPGA1031aへ転送する(ステップS23)。
【0063】
FPGA1031aは、SI/SO信号を受ける。FPGA1031aは、受けたSI/SO信号に応じて、そのSI/SO信号により設定される回路の構成となる(ステップS24)。FPGA1031aは、回路の構成が設定されると(すなわち、FPGA1031aのコンフィグレーションの処理が完了すると)、FPGA1031aのコンフィグレーションの処理が完了したことをCPLD1032aに通知する。また、FPGA1031aは、CONFIG I/F1039との接続端子を、遮断状態に固定する。CPLD1032aは、その通知を受けると、FPGA1031aのコンフィグレーションの処理が完了したことを含む制御情報を、CPLD1032bに出力する(ステップS25)。これにより、CPLD1032bは、FPGA1031aのコンフィグレーションの処理が完了したと判定する。そして、FPGA1031のそれぞれは、この通知により、FPGA1031bの回路の構成を設定すると判定する。
【0064】
起動していない状態のFPGA1031aに接続されているCPLD1032aは、コンフィグレーションメモリ102、CONFIG I/F1037、およびCONFIG I/F1038との接続端子を、遮断状態に固定する。
【0065】
CPLD1032bは、CONFIG I/F1037bおよびCONFIG I/F1038のそれぞれとの間で、CCLK信号、およびCS信号を伝播可能な状態となる(ステップS26)。これにより、FPGA1031bがマスター、コンフィグレーションメモリ102がスレーブとなり、FPGA1031bとコンフィグレーションメモリ102との間で通信が可能となる。マスターとなったFPGA1031bは、CONFIG I/F1039との接続端子を遮断状態から通信可能なインピーダンスに変更する。そして、CPLD1032bは、通信線10385bを介して、FPGA1031bにコンフィグレーションの開始を通知する(ステップS27)。
【0066】
FPGA1031bは、CCLK信号およびCS信号を、コンフィグレーションメモリ102に出力する。このCS信号によりコンフィグレーションメモリ102が選択される。そして、コンフィグレーションメモリ102は、CCLK信号に同期して、FPGA1031bにおける回路の構成を設定するためのデータ(すなわち、FPGA1031aにおける回路の構成を設定するためのデータと同一のデータ)をSI/SO信号として、CONFIG I/F1039を介してFPGA1031bへ転送する(ステップS28)。
【0067】
FPGA1031bは、SI/SO信号を受ける。FPGA1031bは、受けたSI/SO信号に応じて、そのSI/SO信号により設定される回路の構成となる(ステップS29)。FPGA1031bは、回路の構成が設定されると(すなわち、FPGA1031aのコンフィグレーションの処理が完了すると)、FPGA1031bのコンフィグレーションの処理が完了したことをCPLD1032bに通知する。CPLD1032bは、その通知を受けると、FPGA1031bのコンフィグレーションの処理が完了したことを含む制御情報を、CPLD1032aに出力する(ステップS30)。これにより、CPLD1032のそれぞれは、FPGA1031それぞれのコンフィグレーションの処理が完了したと判定する。そして、CPLD1032のそれぞれは、コンフィグレーションの処理を終了する(ステップS31)。
【0068】
以上、本開示の第3実施形態による情報処理装置1について説明した。FPGA(Field Programmable Gate Array)1031a(第1FPGAの一例)と、FPGA1031b(第2FPGAの一例)と、を備える情報処理装置1において、コンフィグレーションメモリ102は、1つのパッケージに封止され、前記FPGA1031aおよび前記FPGA1031bにおいて設定される回路の構成に関する情報を記憶する。CPLD1032a(第1論理デバイスの一例)は、前記FPGA1031aにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記FPGA1031aまたは前記コンフィグレーションメモリ102に接続される自身の端子を遮断状態にする。CPLD1032b(第2論理デバイスの一例)は、前記FPGA1031bにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記FPGA1031bまたは前記コンフィグレーションメモリ102に接続される自身の端子を遮断状態にする。
【0069】
この情報処理装置1により、1つのパッケージに封止されたコンフィグレーションメモリを複数のFPGAに共通に用いることが可能となる。その結果、この情報処理装置1により、複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することができる。
【0070】
なお、本開示の第3実施形態による情報処理装置1は、以下に示すCONFIG I/Fの本数とすることが可能であり、情報処理装置1の回路規模を小さくすることができる。
【0071】
FPGA1031が情報処理装置1の起動時にコンフィグレーションメモリ102との間で行うシリアル通信がSPIである場合、コンフィグレーションに必要な信号ラインは、合計4本となる。また、FPGA1031が情報処理装置1の起動時にコンフィグレーションメモリ102との間で行うシリアル通信がQSPIである場合、コンフィグレーションに必要な信号ラインは、合計6本となる。
【0072】
なお、CONFIG I/F1037、1038、1039のそれぞれを伝播するデータ信号のある方向とその逆方向にFPGA1031とコンフィグレーションメモリ10との間で直接データ信号が伝播する同一のバスを使用する場合には、SPIの場合2本×FPGA1031の実装数、QSPIの場合3本×FPGA1031の実装数の分だけ、コンフィグレーションに必要な信号線を低減させることができる。また、CPLD1032の内部のそのデータ信号を伝搬させるための実装分が不要となる。これは、SPIの場合よりもQSPIの場合の方が顕著になる。QSPIの場合、マスターであるFPGA1031とスレーブであるコンフィグレーションメモリ102は、共通のSPIコマンド(データ信号内の制御信号)によって各端子の入力と出力とが切り替えられる。そのため、QSPIの場合、双方向のデータ信号を制御するための機能を実装する必要がなくなる。その結果、CPLD1032の回路リソース(及びピン数)及び設計コストの削減も可能となる。
【0073】
図8は、本開示の実施形態による情報処理装置1の最小構成を示す図である。情報処理装置1は、
図8に示すように、第1FPGA(Field Programmable Gate Array)301、第2FPGA302、コンフィグレーションメモリ303、第1論理デバイス304、第2論理デバイス305、第1FPGA301とコンフィグレーションメモリ303とを直接接続する信号線、および、第2FPGA302とコンフィグレーションメモリ303とを直接接続する信号線を備える。
【0074】
コンフィグレーションメモリ303は、1つのパッケージに封止され、前記第1FPGA301および前記第2FPGA302において設定される回路の構成に関する情報を記憶する。第1論理デバイス304は、前記第1FPGA301における第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGA301または前記コンフィグレーションメモリ303に接続される自身の端子を遮断状態にする。第2論理デバイス305は、前記第2FPGA302における第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGA302または前記コンフィグレーションメモリ303に接続される自身の端子を遮断状態にする。
【0075】
第1FPGA301は、例えば、
図2に例示されているFPGA1031aが有する機能を用いて実現することができる。第2FPGA302は、例えば、
図2に例示されているFPGA1031bが有する機能を用いて実現することができる。コンフィグレーションメモリ303は、例えば、
図1に例示されているコンフィグレーションメモリ102が有する機能を用いて実現することができる。第1論理デバイス304は、例えば、
図2に例示されているCPLD1032aが有する機能を用いて実現することができる。第2論理デバイス305は、例えば、
図2に例示されているCPLD1032bが有する機能を用いて実現することができる。第1FPGA301とコンフィグレーションメモリ303とを直接接続する信号線、および、第2FPGA302とコンフィグレーションメモリ303とを直接接続する信号線は、例えば、
図6に例示されているCONFIG I/F1039が有する機能を用いて実現することができる。
【0076】
図9は、本開示の実施形態による最小構成の情報処理装置1の処理フローの一例を示す図である。次に、本開示の実施形態による最小構成の情報処理装置1の処理について
図9を参照して説明する。
【0077】
第1FPGA301と、第2FPGA302と、1つのパッケージに封止され、前記第1FPGA301および前記第2FPGA302において設定される回路の構成に関する情報を記憶するコンフィグレーションメモリ303と、第1FPGA301とコンフィグレーションメモリ303とを直接接続する信号線と、第2FPGA302とコンフィグレーションメモリ303とを直接接続する信号線と、を備える情報処理装置1において、第1論理デバイス304は、前記第1FPGA301における第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGA301または前記コンフィグレーションメモリ303に接続される自身の端子を遮断状態にする(ステップS101)。第2論理デバイス305は、前記第2FPGA302における第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGA302または前記コンフィグレーションメモリ303に接続される自身の端子を遮断状態にする(ステップS102)。
【0078】
以上、本開示の実施形態による最小構成の情報処理装置1について説明した。この情報処理装置1により、1つのパッケージに封止されたコンフィグレーションメモリを複数のFPGAに共通に用いることが可能となる。その結果、この情報処理装置1により、複数のFPGAを用いて情報処理を実行する情報処理装置の基板における実装面積を低減することができる。
【0079】
なお、本開示の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0080】
本開示の実施形態について説明したが、上述の情報処理装置1、基板10、20、CPLD1032、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【0081】
図10は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ5は、
図10に示すように、CPU(Central Processing Unit)6、メインメモリ7、ストレージ8、インターフェース9を備える。
【0082】
例えば、上述の情報処理装置1、基板10、20、CPLD1032、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
【0083】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0084】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0085】
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例であり、開示の範囲を限定しない。これらの実施形態は、開示の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【0086】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0087】
(付記1)
第1FPGA(Field Programmable Gate Array)と、
第2FPGAと、
1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第1論理デバイスと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にする第2論理デバイスと、
前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、
前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、
を備える情報処理装置。
【0088】
(付記2)
前記第1論理デバイスおよび前記第2論理デバイスは、
前記第1コンフィグレーションの処理および前記第2コンフィグレーションの処理の順番を共有している、
付記1に記載の情報処理装置。
【0089】
(付記3)
前記第1論理デバイスは、
前記第1コンフィグレーションの処理の完了を、前記第2論理デバイスに通知し、
前記第2論理デバイスは、
前記第1論理デバイスからの通知に応じて、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を、遮断状態から、前記第2FPGAおよび前記コンフィグレーションメモリと通信可能な状態に変更する、
付記1または付記2に記載の情報処理装置。
【0090】
(付記4)
前記第2論理デバイスは、
前記第2コンフィグレーションの処理の完了を、前記第1論理デバイスに通知し、前記第2コンフィグレーションの処理を終了し、
前記第1論理デバイスは、
前記第2論理デバイスからの通知に応じて、前記第1コンフィグレーションの処理を終了する、
付記1から付記3の何れか1つに記載の情報処理装置。
【0091】
(付記5)
第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置が実行する処理方法であって、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
を含む処理方法。
【0092】
(付記6)
第1FPGA(Field Programmable Gate Array)と、第2FPGAと、1つのパッケージに封止され、前記第1FPGAおよび前記第2FPGAにおいて設定される回路の構成に関する情報を記憶するコンフィグレーションメモリと、前記第1FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、前記第2FPGAと前記コンフィグレーションメモリとを直接接続する信号線と、を備える情報処理装置のコンピュータに、
前記第1FPGAにおける第1コンフィグレーションの処理を制御し、前記第1コンフィグレーションの処理の制御を行わない場合に、前記第1FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
前記第2FPGAにおける第2コンフィグレーションの処理を制御し、前記第2コンフィグレーションの処理の制御を行わない場合に、前記第2FPGAまたは前記コンフィグレーションメモリに接続される自身の端子を遮断状態にすることと、
を実行させるプログラム。
【符号の説明】
【0093】
1・・・情報処理装置
5・・・コンピュータ
6、202・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10、20・・・基板
30・・・基板間I/F
101、201・・・コネクタ
102、303・・・コンフィグレーションメモリ
103・・・情報処理部
301・・・第1FPGA
302・・・第2FPGA
304・・・第1論理デバイス
305・・・第2論理デバイス
1031、1031a、1031b・・・FPGA
1032、1032a、1032b・・・CPLD
1033、1033a、1033b、1034、1037、1037a、1037b、1038、1039・・・CONFIG I/F
1035、1035a、1035b、1036・・・通信線