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

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

Info

Publication number
JP4616855B2
JP4616855B2 JP2007074355A JP2007074355A JP4616855B2 JP 4616855 B2 JP4616855 B2 JP 4616855B2 JP 2007074355 A JP2007074355 A JP 2007074355A JP 2007074355 A JP2007074355 A JP 2007074355A JP 4616855 B2 JP4616855 B2 JP 4616855B2
Authority
JP
Japan
Prior art keywords
configuration data
input
output
data
reconfigurable
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.)
Expired - Fee Related
Application number
JP2007074355A
Other languages
English (en)
Other versions
JP2008236488A (ja
Inventor
真 本多
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.)
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota Motor Corp
Toyota InfoTechnology Center Co 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 Toyota Motor Corp, Toyota InfoTechnology Center Co Ltd filed Critical Toyota Motor Corp
Priority to JP2007074355A priority Critical patent/JP4616855B2/ja
Priority to PCT/JP2008/055987 priority patent/WO2008123385A1/ja
Publication of JP2008236488A publication Critical patent/JP2008236488A/ja
Priority to US12/585,542 priority patent/US8073988B2/en
Application granted granted Critical
Publication of JP4616855B2 publication Critical patent/JP4616855B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17764Structural details of configuration resources for reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)
  • Microcomputers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

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

Claims (2)

  1. コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスと、
    前記再構成可能論理デバイスの入出力部に設定すべき正しい入出力属性をあらかじめ記憶する記憶部と、
    前記コンフィギュレーションデータに含まれる前記入出力部を入力とするか出力とするかを示す設定データと、前記記憶部に記憶された入出力属性とを比較して、前記設定データが前記入出力属性と一致するか否かを判断する判断部と、
    を有することを特徴とする再構成可能演算装置。
  2. コンフィギュレーションデータに基づいて回路論理が変更可能な再構成可能論理デバイスを有する再構成可能演算装置における、コンフィギュレーションデータの検査方法であって、
    前記再構成可能論理デバイスの入出力部に設定すべき正しい入出力属性をあらかじめ記憶しておき、
    前記コンフィギュレーションデータに含まれる前記入出力部を入力とするか出力とするかを示す設定データと、前記記憶した入出力属性とを比較して、前記設定データが前記入出力属性と一致するか否かを判断する
    ことを特徴とするコンフィギュレーションデータの検査方法。
JP2007074355A 2007-03-22 2007-03-22 再構成可能演算装置およびコンフィギュレーションデータの検査方法 Expired - Fee Related JP4616855B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007074355A JP4616855B2 (ja) 2007-03-22 2007-03-22 再構成可能演算装置およびコンフィギュレーションデータの検査方法
PCT/JP2008/055987 WO2008123385A1 (ja) 2007-03-22 2008-03-21 再構成可能演算装置およびコンフィギュレーションデータの検査方法
US12/585,542 US8073988B2 (en) 2007-03-22 2009-09-17 Reconfigurable computing device and method for inspecting configuration data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007074355A JP4616855B2 (ja) 2007-03-22 2007-03-22 再構成可能演算装置およびコンフィギュレーションデータの検査方法

Publications (2)

Publication Number Publication Date
JP2008236488A JP2008236488A (ja) 2008-10-02
JP4616855B2 true JP4616855B2 (ja) 2011-01-19

Family

ID=39830873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007074355A Expired - Fee Related JP4616855B2 (ja) 2007-03-22 2007-03-22 再構成可能演算装置およびコンフィギュレーションデータの検査方法

Country Status (3)

Country Link
US (1) US8073988B2 (ja)
JP (1) JP4616855B2 (ja)
WO (1) WO2008123385A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5310176B2 (ja) * 2009-03-25 2013-10-09 富士通株式会社 集積回路及びコンフィギュレーション方法
JP2013257640A (ja) * 2012-06-11 2013-12-26 Fujitsu Ltd コンフィグレーション制御装置、コンフィグレーション制御方法及びコンフィグレーション制御プログラム
JP6034699B2 (ja) * 2013-01-07 2016-11-30 ルネサスエレクトロニクス株式会社 半導体装置及びそのコマンド制御方法
US8972623B2 (en) * 2013-05-02 2015-03-03 Netronome Systems, Incorporated Efficient complex network traffic management in a non-uniform memory system
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006005708A (ja) * 2004-06-18 2006-01-05 Kawasaki Microelectronics Kk Fpgaの誤接続検出方法およびfpgaの誤接続検出回路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457408A (en) * 1994-11-23 1995-10-10 At&T Corp. Method and apparatus for verifying whether a bitstream received by a field programmable gate array (FPGA) is intended for that FPGA
GB9508931D0 (en) * 1995-05-02 1995-06-21 Xilinx Inc Programmable switch for FPGA input/output signals
US6255848B1 (en) * 1999-04-05 2001-07-03 Xilinx, Inc. Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
US6278289B1 (en) * 2000-05-01 2001-08-21 Xilinx, Inc. Content-addressable memory implemented using programmable logic
JP2002313097A (ja) * 2001-04-18 2002-10-25 Kyushu Ando Denki Kk デジタル処理装置におけるバスファイト検出回路
JP2003050258A (ja) * 2001-08-06 2003-02-21 Hitachi Information Technology Co Ltd 論理検証装置
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
US6668361B2 (en) * 2001-12-10 2003-12-23 International Business Machines Corporation Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics
JP2003304235A (ja) 2002-04-10 2003-10-24 Sony Corp 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム
US7411417B1 (en) * 2006-05-26 2008-08-12 Lattice Semiconductor Corporation Selective loading of configuration data into configuration memory cells
US7759968B1 (en) * 2006-09-27 2010-07-20 Xilinx, Inc. Method of and system for verifying configuration data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006005708A (ja) * 2004-06-18 2006-01-05 Kawasaki Microelectronics Kk Fpgaの誤接続検出方法およびfpgaの誤接続検出回路

Also Published As

Publication number Publication date
US8073988B2 (en) 2011-12-06
JP2008236488A (ja) 2008-10-02
US20100036972A1 (en) 2010-02-11
WO2008123385A1 (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
US7328384B1 (en) Method and apparatus using device defects as an identifier
JP4616855B2 (ja) 再構成可能演算装置およびコンフィギュレーションデータの検査方法
US20060095975A1 (en) Semiconductor device
WO2018118837A1 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
TWI647610B (zh) 認證韌體資料之資料儲存裝置與資料儲存方法
KR101852919B1 (ko) 에러 정정 능력을 테스트하기 위한 회로 및 방법
TW201734879A (zh) 以sram為基礎的認證電路
JP2005228039A (ja) 半導体装置及びそのメモリテスト方法
JP2005293659A (ja) メモリ装置とリファレンス電流設定方法
US7479798B1 (en) Selectively disabled output
JP4880999B2 (ja) 半導体集積回路およびその検査方法
CN116955040A (zh) 一种芯片读写性能测试方法、系统、设备及存储介质
US12046312B2 (en) eFUSE one-time programmable memory with inter integrated circuit (I2C) communication and operation method thereof
US20050223241A1 (en) Semiconductor intergrated circuit device, data storage verification device, and data storage verification method
JP4888862B2 (ja) メモリ管理方法
JP5699651B2 (ja) 情報処理装置
JP3556649B2 (ja) メモリの異常動作検出回路,集積回路,及び異常動作検出方法
JP2008108162A (ja) メモリ管理方法
JP6925751B2 (ja) 半導体装置とそのテスト方法
US20070283060A1 (en) Reconfigurable device and control method thereof
JP2735010B2 (ja) 半導体装置及びその試験方法
US20230141786A1 (en) System on chip for performing scan test and method of designing the same
WO2024148643A1 (zh) 存储器及其测试方法、存储器系统
US20240126454A1 (en) System and method for verifying memory integrity
JP2007148570A (ja) 記憶装置の診断装置および診断方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101022

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees