説明

再構成可能演算装置およびコンフィギュレーションデータの検査方法

【課題】簡易な方法で、再構成可能デバイスのコンフィギュレーションデータを検査する技術を提供する。
【解決手段】コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスと、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、を備える再構成可能演算装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再構成可能な論理デバイスに関し、特に、再構成可能な論理デバイスのコンフィギュレーションデータを検査する技術に関する。
【背景技術】
【0002】
FPGA(Field Programmable Gate Array)のようにコンフィギュレーションデータ
(回路情報データ)に基づいて回路論理が変更可能なデバイス(再構成可能論理デバイス)では、コンフィギュレーションデータが正しくない場合、装置が破損する原因となる。たとえば、FPGAチップの入出力部であるパッド(ピン)とそれに接続された周辺回路の両方が出力状態のときに装置が破損する確率が高くなる。
【0003】
FPGAは、製品出荷後にコンフィギュレーションデータをダウンロードさせて機能を変更・更新する用途に用いることができる。たとえば、FPGAを利用した車載装置では、車外から無線ネットワークまたは記録ストレージメディア経由でコンフィギュレーションデータをダウンロードして機能を変更することができる。このようなコンフィギュレーションデータのダウンロードの際には、第三者による改竄が問題となる。第三者が装置破壊を意図して、上記のようにFPGAのパッドと周辺回路の両方を出力状態となるようにコンフィギュレーションデータを改竄することが考えられる。
【0004】
このような第三者によるコンフィギュレーションデータの改竄を検証するために、暗号技術を利用する方法が提案されている(特許文献1,2)。この方法では、暗号技術を利用してコンフィギュレーションデータに電子署名を施すことで、コンフィギュレーションデータの改竄を検知可能としている。
【特許文献1】特開2003−122442号公報
【特許文献2】特開2003−304235号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、電子署名を用いてコンフィギュレーションデータの検証を行う方法は、大がかりでありコストの増加などを招いてしまう。
【0006】
本発明の目的は、簡易な方法で、再構成可能論理デバイスのコンフィギュレーションデータを検査できる技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明は、コンフィギュレーションデータ(回路情報データ)に基づいて回路論理が変更可能な再構成可能論理デバイスと、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、を有することを特徴とする再構成可能演算装置である。
【0008】
「コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイス」の代表的な例は、フィールドプログラマブルゲートアレイ(FPGA)である。ただし、FPGAに限定されるものではなく、製造後に内部論理回路を変更できるプログラマブルなデバイスであればどのようなデバイスであっても含まれる。
【0009】
このような、再構成可能論理デバイスは、論理演算を行う論理セルや論理セル間の配線を変更可能なだけでなく、周辺回路との入出力を行う入出力部の属性(入力か出力か)も変更可能である。入出力部の属性がどのような状態であるべきかは、周辺回路および該再構成可能論理デバイスの装置回路図から容易に作成できる。記憶部は、このように装置回路図に基づいてあらかじめ作成した、入出力部の正しい入出力属性を記憶する。
【0010】
検証部は、コンフィギュレーションデータに含まれる入出力部の設定データ(入力か出力か)と、記憶部に記憶された入出力属性を比較することで、コンフィギュレーションデータが正しいか否か判断できる。コンフィギュレーションデータの入出力属性が記憶されているものと異なる場合には、回路論理の変更を行わない。
【0011】
このような簡易な構成によって、コンフィギュレーションデータが誤っていたり改竄されていたりした場合に、そのことを検知できる。入出力部とそれに接続された周辺回路とがともに出力状態になることを避けられるので、装置の破損を防ぐことが可能である。
【0012】
なお、本発明は、コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスを有する再構成可能演算装置における、コンフィギュレーションデータの検査方法であって、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶しておき、前記コンフィギュレーションデータの入出力部に関する情報と、前記記憶した入出力属性とを比較して、前記コンフィギュレーションデータを検証することを特徴とするコンフィギュレーションデータの検査方法として捉えるとも可能である。
【発明の効果】
【0013】
本発明によれば、簡易な方法で、再構成可能論理デバイスのコンフィギュレーションデータを検査することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0015】
図1は、本実施形態に係る再構成可能演算装置の全体構成を示す図である。図1に示すように、本実施形態に係る再構成可能演算装置1は、概略、FPGA2、周辺回路3、マイクロプロセッサ4およびメモリ5から構成される。
【0016】
メモリ5には、FPGA2のコンフィギュレーションデータ51およびパッド属性データ52(いずれも後述する)やプログラム等が書き込まれている。コンフィギュレーションデータは、無線通信ネットワーク経由や、記録ストレージメディア経由などでメモリ5に書き込まれる。パッド属性データ52は、製品製造時に書き込まれる。
【0017】
マイクロプロセッサ4は、メモリ5に記憶されているコンフィギュレーションデータ51の検査、メモリアクセス、コンフィギュレーションデータ51のFPGA2へのダウンロードなどの処理を実行する。
【0018】
FPGA2は、マイクロプロセッサ4からダウンロードされたコンフィギュレーションデータ51に基づいて構成変更可能である。また、FPGA2は、入出力部であるパッド23を介して周辺回路3とデータアクセスを行う。
【0019】
図2は、FPGAの内部の構成を示す図である。FPGA2は、論理セルアレイ21、インタフェースセル22、パッド23およびコンフィギュレーションデータポート24とを含む。論理セルアレイ21は、プログラム可能な複数の論理回路セルから構成されている。インタフェースセル22は、論理セルアレイ21とパッド23のインタフェース回路
であり、これもプログラム可能である。インタフェースセル22の設定は、パッド23の属性が入力であるか出力であるかによって異なり、コンフィギュレーションデータ51によって定義される。コンフィギュレーションデータ51は、コンフィギュレーションデータポート24から入力されて、FPGA2内部のメモリやフリップフロップに記憶されてFPGA2全体の機能が定義される。
【0020】
図3は、インタフェースセル22の回路構成例を示す図である。インタフェースセル22は、レシーバ221、ドライバ222、スイッチ223a,b,フリップフロップ(FF)224、インバータ225から構成される。図3は、FPGA2外部から論理信号を入力する状態を示しており、パッド23−レシーバ221間のスイッチ223aがオン、ドライバ222−パッド23間のスイッチをオフと設定してある。インタフェースセル22の状態(入力または出力)は、FF224に記憶させるビットの値によって設定可能である。図の例では、FF224に「1」が記憶された場合に、インタフェースセル22が入力回路として構成される。なお、この例では、スイッチ223の制御信号は「1」の時にオンであると仮定している。
【0021】
図4(a)(b)は、コンフィギュレーションデータ51の内容を示す図である。コンフィギュレーションデータ51には、各インタフェースセル22の設定および論理セルアレイ21の設定データが含まれる。図4(a)(b)に示したビットは、着目したパッド23に対応するインタフェースセル22の機能を決定するビットである。ここでは、着目したインタフェースセル22を入力に構成したい場合を考える。したがって、図4(a)に示すビット値「1」が正しい値である。図4(b)は、このビットのみが改竄されたデータを表すものとする。
【0022】
また、図4(c)は、パッド属性データ52を示し、図に示したビットは着目したパッド23の属性データである。各パッド23の属性データ(入力であるか出力であるか)は、FPGA2内部の設計した回路と周辺回路3とによって、あらかじめ一意に決定することができる。したがって、パッド属性データ52はあらかじめ作成されメモリ5に記憶されている。なお、パッド属性データ52は各パッド23の属性のみから構成されるのに対して、コンフィギュレーションデータ51は各インタフェースセル22の設定データおよび論理セルアレイ21の設定データも含むのでパッド属性データ52に比較してデータ量は多くなる。
【0023】
図5は、図4(a)に示す正しいコンフィギュレーションデータ51をFPGA2にダウンロードして実現した回路構成である。図6は、図4(b)に示す改竄されたコンフィギュレーションデータ51をダウンロードして実現した回路である。図5に示す回路構成は周辺回路3が出力でインタフェースセル22が入力となっているのに対し、図6に示す回路構成は周辺回路3およびインタフェースセル22の両方が出力状態となってしまっている。したがって、図6の改竄されたコンフィギュレーションデータ51に基づいた回路構成では、回路破損にいたる確率が高くなってしまう。
【0024】
そこで、マイクロプロセッサ4は、コンフィギュレーションデータ51をパッド属性データ52と照らし合わすことで検査を行う。そして、コンフィギュレーションデータ51が改竄されている場合には、FPGA2へのダウンロードを中止し、図6に示すような異常な回路構成の実現を防ぐことができる。
【0025】
図7は、マイクロプロセッサ4によるコンフィギュレーションデータ51の検査処理の流れを示すフローチャートである。
【0026】
マイクロプロセッサ4は、まず、メモリ5からコンフィギュレーションデータ51を読
み込む(S10)。マイクロプロセッサ4は、また、メモリ5からパッド属性データ52を読み込む(S11)。そして、マイクロプロセッサ4は、FPGA2の各パッド23について、パッド属性データ52に設定されているデータと、コンフィギュレーションデータ51に設定されているデータの当該アドレスのビットを比較し(S12)、全て一致したか判定する(S13)。いずれかのパッドについて、コンフィギュレーションデータ51とパッド属性データ52とで相違がある場合(S13−NO)には、コンフィギュレーションデータ51が誤っていることが分かるので、マイクロプロセッサ4はコンフィギュレーションデータ51の使用を中止する(S14)。一方、全てのパッドについて、コンフィギュレーションデータ51とパッド属性データ52が一致する場合(S13−YES)には、マイクロプロセッサ4はコンフィギュレーションデータ51のFPGA2へのダウンロードを開始する(S15)。
【0027】
このように、本実施形態に係る再構成可能演算装置によれば、簡易な方法によってコンフィギュレーションデータの改竄(誤り)を検知可能であり、したがって、誤った設定による回路破損を防止することができる。
【図面の簡単な説明】
【0028】
【図1】再構成可能演算装置の全体構成を示す図である。
【図2】FPGAの内部構成を示す図である。
【図3】インタフェースセルの回路構成を示す図である。
【図4】コンフィギュレーションデータの内容を示す図である。
【図5】正しいコンフィギュレーションデータによって実現されたFPGAの回路構成を示す図である。
【図6】改竄された(誤った)コンフィギュレーションデータによって実現されたFPGAの回路構成を示す図である。
【図7】コンフィギュレーションデータの検査処理の流れを示すフローチャートである。
【符号の説明】
【0029】
1 再構成可能演算装置
2 FPGA
21 論理セルアレイ
22 インタフェースセル
221 レシーバ
222 ドライバ
223 スイッチ
224 フリップフロップ
225 インバータ
23 パッド
24 コンフィギュレーションデータポート
3 周辺回路
4 マイクロプロセッサ
5 メモリ
51 コンフィギュレーションデータ
52 パッド属性データ

【特許請求の範囲】
【請求項1】
コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスと、
前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、
前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、
を有することを特徴とする再構成可能演算装置。
【請求項2】
コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスを有する再構成可能演算装置における、コンフィギュレーションデータの検査方法であって、
前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶しておき、
前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶した入出力属性とを比較して、前記コンフィギュレーションデータを検証する
ことを特徴とするコンフィギュレーションデータの検査方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−236488(P2008−236488A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−74355(P2007−74355)
【出願日】平成19年3月22日(2007.3.22)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】