(57)【要約】【課題】簡易な方法で、再構成可能デバイスのコンフィギュレーションデータを検査する技術を提供する。【解決手段】コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスと、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、を備える再構成可能演算装置。【選択図】図７
2008236488.tif 000002
【特許請求の範囲】
【請求項１】
コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスと、
前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、
前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、
を有することを特徴とする再構成可能演算装置。
【請求項２】
コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスを有する再構成可能演算装置における、コンフィギュレーションデータの検査方法であって、
前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶しておき、
前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶した入出力属性とを比較して、前記コンフィギュレーションデータを検証する
ことを特徴とするコンフィギュレーションデータの検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能な論理デバイスに関し、特に、再構成可能な論理デバイスのコンフィギュレーションデータを検査する技術に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）のようにコンフィギュレーションデータ
（回路情報データ）に基づいて回路論理が変更可能なデバイス（再構成可能論理デバイス）では、コンフィギュレーションデータが正しくない場合、装置が破損する原因となる。たとえば、ＦＰＧＡチップの入出力部であるパッド（ピン）とそれに接続された周辺回路の両方が出力状態のときに装置が破損する確率が高くなる。
【０００３】
ＦＰＧＡは、製品出荷後にコンフィギュレーションデータをダウンロードさせて機能を変更・更新する用途に用いることができる。たとえば、ＦＰＧＡを利用した車載装置では、車外から無線ネットワークまたは記録ストレージメディア経由でコンフィギュレーションデータをダウンロードして機能を変更することができる。このようなコンフィギュレーションデータのダウンロードの際には、第三者による改竄が問題となる。第三者が装置破壊を意図して、上記のようにＦＰＧＡのパッドと周辺回路の両方を出力状態となるようにコンフィギュレーションデータを改竄することが考えられる。
【０００４】
このような第三者によるコンフィギュレーションデータの改竄を検証するために、暗号技術を利用する方法が提案されている（特許文献１，２）。この方法では、暗号技術を利用してコンフィギュレーションデータに電子署名を施すことで、コンフィギュレーションデータの改竄を検知可能としている。
【特許文献１】特開２００３−１２２４４２号公報
【特許文献２】特開２００３−３０４２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、電子署名を用いてコンフィギュレーションデータの検証を行う方法は、大がかりでありコストの増加などを招いてしまう。
【０００６】
本発明の目的は、簡易な方法で、再構成可能論理デバイスのコンフィギュレーションデータを検査できる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、コンフィギュレーションデータ（回路情報データ）に基づいて回路論理が変更可能な再構成可能論理デバイスと、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶する記憶部と、前記コンフィギュレーションデータにおける前記入出力部に関する情報と、前記記憶部に記憶された入出力属性とを比較して、前記コンフィギュレーションデータを検証する検証部と、を有することを特徴とする再構成可能演算装置である。
【０００８】
「コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイス」の代表的な例は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）である。ただし、ＦＰＧＡに限定されるものではなく、製造後に内部論理回路を変更できるプログラマブルなデバイスであればどのようなデバイスであっても含まれる。
【０００９】
このような、再構成可能論理デバイスは、論理演算を行う論理セルや論理セル間の配線を変更可能なだけでなく、周辺回路との入出力を行う入出力部の属性（入力か出力か）も変更可能である。入出力部の属性がどのような状態であるべきかは、周辺回路および該再構成可能論理デバイスの装置回路図から容易に作成できる。記憶部は、このように装置回路図に基づいてあらかじめ作成した、入出力部の正しい入出力属性を記憶する。
【００１０】
検証部は、コンフィギュレーションデータに含まれる入出力部の設定データ（入力か出力か）と、記憶部に記憶された入出力属性を比較することで、コンフィギュレーションデータが正しいか否か判断できる。コンフィギュレーションデータの入出力属性が記憶されているものと異なる場合には、回路論理の変更を行わない。
【００１１】
このような簡易な構成によって、コンフィギュレーションデータが誤っていたり改竄されていたりした場合に、そのことを検知できる。入出力部とそれに接続された周辺回路とがともに出力状態になることを避けられるので、装置の破損を防ぐことが可能である。
【００１２】
なお、本発明は、コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスを有する再構成可能演算装置における、コンフィギュレーションデータの検査方法であって、前記再構成可能論理デバイスの入出力部の入出力属性をあらかじめ記憶しておき、前記コンフィギュレーションデータの入出力部に関する情報と、前記記憶した入出力属性とを比較して、前記コンフィギュレーションデータを検証することを特徴とするコンフィギュレーションデータの検査方法として捉えるとも可能である。
【発明の効果】
【００１３】
本発明によれば、簡易な方法で、再構成可能論理デバイスのコンフィギュレーションデータを検査することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【００１５】
図１は、本実施形態に係る再構成可能演算装置の全体構成を示す図である。図１に示すように、本実施形態に係る再構成可能演算装置１は、概略、ＦＰＧＡ２、周辺回路３、マイクロプロセッサ４およびメモリ５から構成される。
【００１６】
メモリ５には、ＦＰＧＡ２のコンフィギュレーションデータ５１およびパッド属性データ５２（いずれも後述する）やプログラム等が書き込まれている。コンフィギュレーションデータは、無線通信ネットワーク経由や、記録ストレージメディア経由などでメモリ５に書き込まれる。パッド属性データ５２は、製品製造時に書き込まれる。
【００１７】
マイクロプロセッサ４は、メモリ５に記憶されているコンフィギュレーションデータ５１の検査、メモリアクセス、コンフィギュレーションデータ５１のＦＰＧＡ２へのダウンロードなどの処理を実行する。
【００１８】
ＦＰＧＡ２は、マイクロプロセッサ４からダウンロードされたコンフィギュレーションデータ５１に基づいて構成変更可能である。また、ＦＰＧＡ２は、入出力部であるパッド２３を介して周辺回路３とデータアクセスを行う。
【００１９】
図２は、ＦＰＧＡの内部の構成を示す図である。ＦＰＧＡ２は、論理セルアレイ２１、インタフェースセル２２、パッド２３およびコンフィギュレーションデータポート２４とを含む。論理セルアレイ２１は、プログラム可能な複数の論理回路セルから構成されている。インタフェースセル２２は、論理セルアレイ２１とパッド２３のインタフェース回路
であり、これもプログラム可能である。インタフェースセル２２の設定は、パッド２３の属性が入力であるか出力であるかによって異なり、コンフィギュレーションデータ５１によって定義される。コンフィギュレーションデータ５１は、コンフィギュレーションデータポート２４から入力されて、ＦＰＧＡ２内部のメモリやフリップフロップに記憶されてＦＰＧＡ２全体の機能が定義される。
【００２０】
図３は、インタフェースセル２２の回路構成例を示す図である。インタフェースセル２２は、レシーバ２２１、ドライバ２２２、スイッチ２２３ａ，ｂ，フリップフロップ（ＦＦ）２２４、インバータ２２５から構成される。図３は、ＦＰＧＡ２外部から論理信号を入力する状態を示しており、パッド２３−レシーバ２２１間のスイッチ２２３ａがオン、ドライバ２２２−パッド２３間のスイッチをオフと設定してある。インタフェースセル２２の状態（入力または出力）は、ＦＦ２２４に記憶させるビットの値によって設定可能である。図の例では、ＦＦ２２４に「１」が記憶された場合に、インタフェースセル２２が入力回路として構成される。なお、この例では、スイッチ２２３の制御信号は「１」の時にオンであると仮定している。
【００２１】
図４（ａ）（ｂ）は、コンフィギュレーションデータ５１の内容を示す図である。コンフィギュレーションデータ５１には、各インタフェースセル２２の設定および論理セルアレイ２１の設定データが含まれる。図４（ａ）（ｂ）に示したビットは、着目したパッド２３に対応するインタフェースセル２２の機能を決定するビットである。ここでは、着目したインタフェースセル２２を入力に構成したい場合を考える。したがって、図４（ａ）に示すビット値「１」が正しい値である。図４（ｂ）は、このビットのみが改竄されたデータを表すものとする。
【００２２】
また、図４（ｃ）は、パッド属性データ５２を示し、図に示したビットは着目したパッド２３の属性データである。各パッド２３の属性データ（入力であるか出力であるか）は、ＦＰＧＡ２内部の設計した回路と周辺回路３とによって、あらかじめ一意に決定することができる。したがって、パッド属性データ５２はあらかじめ作成されメモリ５に記憶されている。なお、パッド属性データ５２は各パッド２３の属性のみから構成されるのに対して、コンフィギュレーションデータ５１は各インタフェースセル２２の設定データおよび論理セルアレイ２１の設定データも含むのでパッド属性データ５２に比較してデータ量は多くなる。
【００２３】
図５は、図４（ａ）に示す正しいコンフィギュレーションデータ５１をＦＰＧＡ２にダウンロードして実現した回路構成である。図６は、図４（ｂ）に示す改竄されたコンフィギュレーションデータ５１をダウンロードして実現した回路である。図５に示す回路構成は周辺回路３が出力でインタフェースセル２２が入力となっているのに対し、図６に示す回路構成は周辺回路３およびインタフェースセル２２の両方が出力状態となってしまっている。したがって、図６の改竄されたコンフィギュレーションデータ５１に基づいた回路構成では、回路破損にいたる確率が高くなってしまう。
【００２４】
そこで、マイクロプロセッサ４は、コンフィギュレーションデータ５１をパッド属性データ５２と照らし合わすことで検査を行う。そして、コンフィギュレーションデータ５１が改竄されている場合には、ＦＰＧＡ２へのダウンロードを中止し、図６に示すような異常な回路構成の実現を防ぐことができる。
【００２５】
図７は、マイクロプロセッサ４によるコンフィギュレーションデータ５１の検査処理の流れを示すフローチャートである。
【００２６】
マイクロプロセッサ４は、まず、メモリ５からコンフィギュレーションデータ５１を読
み込む（Ｓ１０）。マイクロプロセッサ４は、また、メモリ５からパッド属性データ５２を読み込む（Ｓ１１）。そして、マイクロプロセッサ４は、ＦＰＧＡ２の各パッド２３について、パッド属性データ５２に設定されているデータと、コンフィギュレーションデータ５１に設定されているデータの当該アドレスのビットを比較し（Ｓ１２）、全て一致したか判定する（Ｓ１３）。いずれかのパッドについて、コンフィギュレーションデータ５１とパッド属性データ５２とで相違がある場合（Ｓ１３−ＮＯ）には、コンフィギュレーションデータ５１が誤っていることが分かるので、マイクロプロセッサ４はコンフィギュレーションデータ５１の使用を中止する（Ｓ１４）。一方、全てのパッドについて、コンフィギュレーションデータ５１とパッド属性データ５２が一致する場合（Ｓ１３−ＹＥＳ）には、マイクロプロセッサ４はコンフィギュレーションデータ５１のＦＰＧＡ２へのダウンロードを開始する（Ｓ１５）。
【００２７】
このように、本実施形態に係る再構成可能演算装置によれば、簡易な方法によってコンフィギュレーションデータの改竄（誤り）を検知可能であり、したがって、誤った設定による回路破損を防止することができる。
【図面の簡単な説明】
【００２８】
【図１】再構成可能演算装置の全体構成を示す図である。
【図２】ＦＰＧＡの内部構成を示す図である。
【図３】インタフェースセルの回路構成を示す図である。
【図４】コンフィギュレーションデータの内容を示す図である。
【図５】正しいコンフィギュレーションデータによって実現されたＦＰＧＡの回路構成を示す図である。
【図６】改竄された（誤った）コンフィギュレーションデータによって実現されたＦＰＧＡの回路構成を示す図である。
【図７】コンフィギュレーションデータの検査処理の流れを示すフローチャートである。
【符号の説明】
【００２９】
１      再構成可能演算装置
２      ＦＰＧＡ
２１    論理セルアレイ
２２    インタフェースセル
２２１  レシーバ
２２２  ドライバ
２２３  スイッチ
２２４  フリップフロップ
２２５  インバータ
２３    パッド
２４    コンフィギュレーションデータポート
３      周辺回路
４      マイクロプロセッサ
５      メモリ
５１    コンフィギュレーションデータ
５２    パッド属性データ
【図１】
2008236488.tif 000003
【図２】
2008236488.tif 000004
【図３】
2008236488.tif 000005
【図４】
2008236488.tif 000006
【図５】
2008236488.tif 000007
【図６】
2008236488.tif 000008
【図７】
2008236488.tif 000009