(57)【要約】【課題】ＳＲＡＭ型ＦＰＧＡを用いて構成された電子デバイスが動作している状態で、ＳＲＡＭ型ＦＰＧＡに生じたソフトエラーを検出し、ソフトエラーによる故障を回復する。【解決手段】ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は、同一のコンフィグレーションデータを記憶しており、同一の回路として動作する。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２には、ＳｉＰ基板３００を介して同一の信号（データ）が入力される。選択チップ２００には、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力する信号が入力される。選択チップ２００は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力する各信号を個々に比較している。選択チップ２００は、出力された信号の中に異なるものがあることを検出すると、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれかまたは両方を再コンフィグレーションする。【選択図】図１
2010134678.tif 000002
【特許請求の範囲】
【請求項１】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路と、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別手段と、
を備えることを特徴とする電子デバイス。
【請求項２】
前記判別手段によって他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成手段、
を備えることを特徴とする請求項１に記載の電子デバイス。
【請求項３】
前記少なくとも２つの再構成可能回路のいずれか１つを選択し、当該選択された再構成可能回路のデータ出力手段により出力されたデータを出力するデータ選択手段、
を備えることを特徴とする請求項２に記載の電子デバイス。
【請求項４】
前記判別手段は、前記選択されている再構成可能回路が前記他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路であるか否かを判別し、
前記データ選択手段は、前記選択されている再構成可能回路が前記他の各再構成可能回路と異なるデータを出力している再構成可能回路であると判別されたことに応答して、前記他の各再構成可能回路のいずれか１つを選択し、当該新たに選択された再構成可能回路のデータ出力手段により出力されたデータを出力する
ことを特徴とする請求項３に記載の電子デバイス。
【請求項５】
前記回路再構成手段は、前記判別手段によって他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、各前記他の各再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる、
ことを特徴とする請求項３に記載の電子デバイス。
【請求項６】
前記データ出力手段によりデータを出力するための複数の出力端子を有し、基盤上に前記再構成可能回路が形成された少なくとも２つの再構成可能チップと、
前記判別手段と前記データ選択手段にデータを入力するための複数の入力端子を有し、基盤上に前記判別手段と前記データ選択手段として機能する回路が形成された選択チップと、
を備え、
各前記再構成可能チップの各出力端子と前記選択チップの各入力端子とが１対１に接続されている、
ことを特徴とする請求項３乃至５のいずれか１項に記載の電子デバイス。
【請求項７】
一方の主面に配置された複数の入力端子が他方の主面に配置された複数の出力端子と１対１に接続され、前記他方の主面に配置された複数の入力端子が前記一方の主面に配置された複数の出力端子と１対１に接続された入出力基盤を備え、
前記入出力基盤の一方の主面上に前記選択チップが配置され、前記選択チップ上に各前記再構成可能チップが順次積み重ねられ、
各前記再構成可能チップは、前記可変回路にデータを入力するデータ入力手段と、当該データ入力手段にデータを入力するための複数の入力端子を有しており、
前記選択チップは、前記データ選択手段によりデータを出力するための複数の出力端子を有しており、
前記入出力基盤の一方の主面の各出力端子が各前記再構成可能チップの同一の信号が入力されるべき各入力端子と１対多に接続され、前記選択チップの各出力端子と前記入出力基盤の一方の主面の各入力端子が１対１に接続され、
前記判別手段は、各前記再構成可能チップの同一の信号が出力されるべき各前記出力端子から出力されたデータが全て一致しているか否かを判別し、
前記データ選択手段は、前記判別手段によって各前記再構成可能チップの同一の信号が出力されるべき各前記出力端子から出力されたデータが全て一致していると判別されたことに応答して、前記入出力基盤の上に積み重ねられた前記選択チップと各前記再構成可能チップの中で内層に配置されている再構成可能チップを選択し、当該選択された再構成可能チップに形成された再構成可能回路のデータ出力手段により出力されたデータを出力する、
ことを特徴とする請求項６に記載の電子デバイス。
【請求項８】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路を備えた電子デバイスの故障検出方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程、
を備えることを特徴とする電子デバイスの故障検出方法。
【請求項９】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路を備えた電子デバイスの故障回復方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程と、
前記判別工程で他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成工程と、
を備えることを特徴とする電子デバイスの故障回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法に関する。特に、回路の構成を変更できる電子デバイスおよびその電子デバイスの故障検出方法と故障回復方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の集積度が向上してきた。これに伴い、メモリでは、メモリセルが微細化し、外部より入射した放射線により記憶されているデータが破壊されるというソフトエラーの問題が顕在化してきている。このため、データの信頼性が要求される分野では、パリティビットによるエラー検出回路や誤り検出・訂正を行うＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）回路を内蔵したメモリが使用される場合がある。
【０００３】
ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）型ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）は、回路の構成を書き換えできるＬＳＩである。ＳＲＡＭ型ＦＰＧＡは、論理回路と配線についての回路情報（コンフィグレーションデータ）を内蔵のＳＲＡＭ型メモリセル構造を持つ記憶素子（コンフィグレーションメモリ）に記憶させる（コンフィグレーションする）ことにより、回路情報通りの回路として動作させることができる。
【０００４】
近年、ＦＰＧＡにも大規模な回路が搭載できるようになり、ＦＰＧＡは通信や画像処理等様々な分野で使用されるようになっている。しかし、これに伴い、コンフィグレーションメモリを構成するメモリセルが微細化した。このため、コンフィグレーションメモリに記憶されている回路情報が放射線によって破壊されるようになり、メモリと同様にＦＰＧＡでもソフトエラーの問題が深刻となってきた。
【０００５】
メモリでは、データと共にパリティビットや、誤り訂正符号を記憶さればよい。このため、メモリのビット幅を増やし、パリティビットや誤り訂正符号を記憶させる領域を設けることと、パリティビットや誤り訂正符号を生成して、データと共にメモリに入力する手段と、データと共に出力されたパリティビットや誤り訂正符号から、データの誤り検出や、データの誤り訂正を行う手段を設ければよい。
【０００６】
しかし、ＦＰＧＡでは、コンフィグレーションメモリに記憶された回路情報は通常の動作状態で読み出されることはない。ＦＰＧＡでは、パリティビットによるエラー検出回路やＥＣＣ回路をコンフィグレーションメモリごとに設けなければコンフィグレーションデータの誤り検出や誤り訂正を行うことはできない。このため、ＦＰＧＡにパリティビットによるエラー検出回路やＥＣＣ回路を設けると回路規模が大きくなる。
【０００７】
そこで、特許文献１は、ＦＰＧＡのコンフィグレーションデータを読み出して、これと期待値（回路情報）とを比較し、ソフトエラーを検出した場合には再度コンフィグレーションする技術を開示する。
【０００８】
【特許文献１】特開２００８−０１５９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に開示されている技術では、ＦＰＧＡを動作させた状態でコンフィグレーションデータを読み出すことができない。ソフトエラーの検査を行うごとにＦＰＧＡの組み込まれた装置を停止させなければならない。プリンタやコピー機のようにソフトエラーの検査を行う際に一時的に装置を停止させることができる分野では、特許文献１に開示されている技術でも問題は少ない。
【００１０】
しかしながら、例えば、通信や画像処理の分野では装置を停止させることは好ましくないアプリケーションも存在する。
【００１１】
本発明は、上記実情に鑑み、回路構成を変更可能な回路が動作している状態で、この変更可能な回路に生じたソフトエラーを検出し、ソフトエラーによる故障を回復することができる電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の電子デバイスは、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路と、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別手段と、
を備えることを特徴とする。
【００１３】
また、本発明の電子デバイスの故障検出方法は、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路を備えた電子デバイスの故障検出方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程、
を備えることを特徴とする。
【００１４】
更に、本発明の電子デバイスの故障回復方法は、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも２つの再構成可能回路を備えた電子デバイスの故障回復方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも２つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程と、
前記判別工程で他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成工程と、
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、回路構成を変更可能な回路が動作している状態で、この変更可能な回路に生じたソフトエラーを検出し、この変更可能な回路を用いて構成されている電子デバイスのソフトエラーに起因する故障を回復することができる。
【発明を実施するための最良の形態】
【００１６】
本発明の第１の実施形態に係る電子デバイス１Ａは、図１に示すように、ＳＲＡＭ型ＦＰＧＡ１０１と、ＳＲＡＭ型ＦＰＧＡ１０２と、選択チップ２００と、ＳｉＰ（Ｓｙｓｔｅｍ  ｉｎ  Ｐａｃｋａｇｅ）基板３００とを備えている。
【００１７】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は垂直方向に積層され、選択チップ２００の上に配置されている。選択チップ２００は、ＳｉＰ基板３００の上に配置されている。
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２と選択チップ２００は、パッケージングしていない裸のＬＳＩチップ（ベア・ダイ：Ｂａｒｅ  Ｄｉｅ）である。
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２と選択チップ２００は、ＬＳＩ樹脂封止材料４００で覆われている。
【００１８】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は同一のコンフィグレーションデータを記憶しており、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は同一の回路として動作する。選択チップ２００には、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２が出力する信号（データ）が入力される。
選択チップ２００は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれか一方を選択し、選択されたＳＲＡＭ型ＦＰＧＡの出力する信号を出力する。
【００１９】
そして、選択チップ２００は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力する信号の中に異なるものがあることを検出すると、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれかにソフトエラーが発生したと判断する。選択チップ２００は、ソフトエラーが発生したと判断すると、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の一方または両方にコンフィグレーションデータを読み込ませ、再コンフィグレーションを行う。
【００２０】
ＳｉＰ基板３００は、一方の主面と他方の主面に、スルーホールにより接続された複数の入力端子と出力端子を有している。ＳｉＰ基板３００の一方の主面に配置された複数の入力端子が他方の主面に配置された複数の出力端子と１対１に接続され、他方の主面に配置された複数の入力端子が一方の主面に配置された複数の出力端子と１対１に接続されている。
【００２１】
上述したように、ＳｉＰ基板３００の一方の主面の上には、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２と選択チップ２００が配置されている。
ＳｉＰ基板３００の一方の主面の出力端子は、図１に示すように、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置されており、同一の信号が入力されるべき入力端子とボンディングワイヤ５０１とボンディングワイヤ５０２で接続されている。従って、ＳｉＰ基板３００の他方の主面の入力端子に入力された信号は、その入力端子とスルーホールにより接続された一方の主面の出力端子を経て、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置された入力端子へ入力される。
図１には２本のボンディングワイヤ５０１とボンディングワイヤ５０２のみが示されているが、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置されており、同一の信号が入力されるべき入力端子は全てＳｉＰ基板３００の一方の主面の出力端子と同様に接続されている。従って、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置された入力端子全てに同一の信号が入力される。
【００２２】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子は、図１に示すように、ボンディングワイヤ６０１とボンディングワイヤ６０２により選択チップ２００の上面の入力端子と接続されている。
図１には２本のボンディングワイヤ６０１とボンディングワイヤ６０２のみが示されているが、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子は全て選択チップ２００の上面の入力端子と同様に接続されている。
【００２３】
選択チップ２００の下面にはフリップチップ接続用の突起状の出力端子（バンプ）２０１が設けられている。図１に示すように、選択チップ２００の下面の出力端子２０１は、ＳｉＰ基板３００の一方の主面の入力端子とフリップチップ接続されている。
【００２４】
ＳｉＰ基板３００の他方の主面に設けられた入力端子と出力端子は、図１に示すように、例えば、フリップチップ接続用の突起状の端子（バンプ）３０１である。
【００２５】
なお、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置された端子に接続される２本のボンディングワイヤは、同じ長さであることが望ましい。なぜなら、信号の伝送遅延時間の差が小さくなるためである。
【００２６】
また、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は本発明の再構成可能チップ及び再構成可能回路の一例であり、選択チップ２００は本発明の選択チップの一例であり、ＳｉＰ基板３００は本発明の入出力基板の一例である。
【００２７】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は、図２に示すように、回路情報入力部１１１と、回路情報記憶部１１２と、データ入力部１１３と、可変回路１１４と、データ出力部１１５とを備えている。
【００２８】
回路情報入力部１１１は、例えば、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）ポートからコンフィグレーションデータを入力する。
回路情報記憶部１１２は、ＳＲＡＭ型メモリセル構造を持つコンフィグレーションメモリを含んでいる。回路情報入力部１１１によって入力されたコンフィグレーションデータ（回路情報）はコンフィグレーションメモリに記憶される。図２には、回路情報記憶部１１２が１個示されているが、コンフィグレーションメモリは複数のメモリに分かれていても良い。
【００２９】
データ入力部１１３は、入力端子から信号（データ）Ｓ１〜Ｓ３を入力する。なお、信号Ｓ１〜Ｓ３は一例であり、入力される信号の数は３つに限らない。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の仕様により定まる数までの複数の信号が入力されて良い。
可変回路１１４は、コンフィグレーションメモリに記憶されているコンフィグレーションデータにより指定される回路として動作し、データ入力部１１３により入力された信号Ｓ１〜Ｓ３を処理し、信号（データ）Ｒ１〜Ｒ３を出力する。
データ出力部１１３は、可変回路１１４から出力される信号Ｒ１〜Ｒ３を出力端子から出力する。なお、信号Ｒ１〜Ｒ３は一例であり、出力される信号の数は３つに限らない。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の仕様により定まる数までの複数の信号が出力されて良い。
【００３０】
なお、回路情報入力部１１１は本発明の回路情報入力手段の一例であり、回路情報記憶部１１２は本発明の回路情報記憶手段の一例であり、データ入力部１１３は本発明のデータ入力手段の一例であり、可変回路１１４は本発明の可変回路の一例であり、データ出力部１１５は本発明のデータ出力手段の一例である。
【００３１】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２と選択チップ２００とＳｉＰ基板３００は、図３に示すように接続されている。
上述したように、ＳｉＰ基板３００の一方の主面の出力端子と、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の入力端子Ａ１〜Ａ３とはボンディングワイヤで接続されている。ＳｉＰ基板３００の他方の主面の入力端子Ｄｉｎ１〜Ｄｉｎ３から入力された信号Ｓ１〜Ｓ３は、それぞれＳＲＡＭ型ＦＰＧＡ１０１の入力端子Ａ１〜Ａ３とＳＲＡＭ型ＦＰＧＡ１０２の入力端子Ａ１〜Ａ３に共通に入力される。
【００３２】
選択チップ２００は、比較回路２１１と、比較回路２１２と、比較回路２１３と、選択回路２２１と、選択回路２２２と、選択回路２２３と、論理和回路２３１と、制御回路２４１とを備えている。
【００３３】
比較回路２１１の入力端子Ｃ１と入力端子Ｃ２は、それぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１とボンディングワイヤで接続されている。選択回路２２１の入力端子Ｄ１と入力端子Ｄ２も、同様にそれぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１とボンディングワイヤで接続されている。
同様に、比較回路２１２の入力端子Ｃ１と入力端子Ｃ２はそれぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ２とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ２と接続されており、選択回路２２２の入力端子Ｄ１と入力端子Ｄ２はそれぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ２とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ２と接続されている。
比較回路２１３の入力端子Ｃ１と入力端子Ｃ２はそれぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ３とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ３と接続されており、選択回路２２３の入力端子Ｄ１と入力端子Ｄ２はそれぞれＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ３とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ３と接続されている。
【００３４】
比較回路２１１と比較回路２１２と比較回路２１３の各出力端子Ｅは、論理和回路２３１の入力端子に接続されている。
選択回路２２1と選択回路２２２と選択回路２２３の各出力端子Ｏは、ＳｉＰ基板３００の一方の主面の入力端子とボンディングワイヤで接続されている。選択回路２２1と選択回路２２２と選択回路２２３の各出力端子Ｏから出力された信号Ｒ１〜Ｒ３は、それぞれＳｉＰ基板３００の他方の主面の出力端子Ｄｏｕｔ１〜Ｄｏｕｔ３から出力される。
論理和回路２３１の出力端子は制御回路２４１のエラー入力端子ＥＲＲに接続されている。
【００３５】
制御部２４１の選択制御端子Ｓは、選択回路２２１と選択回路２２２と選択回路２２３の各選択入力端子ＳＥＬに共通に接続されている。
制御部２４１の再構成制御端子Ｃｏｕｔは、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の各再構成入力端子Ｃｉｎに共通に接続されている。
なお、図３では比較回路と選択回路がそれぞれ３個ずつの例を示したが、比較回路と選択回路はＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子に対応して設けられる。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子の数が増えれば、比較回路と選択回路の数も増加する。
【００３６】
上述したように、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は同一のコンフィグレーションデータを記憶しており、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の同一の位置に配置されており、同一の信号が入力されるべき入力端子には同一の信号が入力される。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は、図４（Ａ）に示すように、同一のクロックＣＫに同期して動作し、両方とも正常に動作している場合には同一の信号を同時に出力する。このクロックＣＫは選択チップ２００にも供給され、選択チップ２００はＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２から出力される信号をクロックＣＫに同期して受け取る。
【００３７】
比較回路２１１と選択回路２２１は、図４（Ｂ）と図４（Ｃ）に示すように、ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１から出力される信号をそれぞれ比較回路２１１の入力端子Ｃ１と選択回路２２１の入力端子Ｄ１から入力し、ＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１から出力される信号をそれぞれ比較回路２１１の入力端子Ｃ２と選択回路２２１の入力端子Ｄ２から入力する。
選択回路２２１は、制御部２４１の選択制御端子Ｓの出力に従って入力端子Ｄ１に入力される信号と入力端子Ｄ２に入力される信号のいずれか一方を選択して出力端子Ｏから出力する。
選択回路２２１の出力端子Ｏから出力された信号は、図４（Ｄ）に示すように、タイミングＴ１でＳｉＰ基板３００の他方の主面の出力端子Ｄｏｕｔ１からクロックＣＫの立ち上がりに同期して出力される。
なお、選択回路２２１は出力端子Ｏ、すなわちＳｉＰ基板３００の他方の主面の出力端子Ｄｏｕｔ１から信号を非同期で出力しても良い。
【００３８】
選択回路２２１は、図４（Ｂ）〜図４（Ｄ）に示すように、タイミングＴ１で入力端子Ｄ１に入力される信号（ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１から出力される信号）を選択して出力する。
選択回路２２１は、入力端子Ｄ２に入力される信号（ＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１から出力される信号）を選択して出力しても良いが、選択回路２２１は入力端子Ｄ１に入力される信号を選択して出力する方が望ましい。なぜなら、外部から入射する放射線に起因するソフトエラーは、外層に配置されているＳＲＡＭ型ＦＰＧＡ１０２で起きる確率よりも、内層に配置されているＳＲＡＭ型ＦＰＧＡ１０１で起きる確率の方が低いため、ＳＲＡＭ型ＦＰＧＡ１０１の信号を出力する方が正しい信号を出力できる可能性が高いからである。
【００３９】
タイミングＴ１の後、タイミングＴ２でＳＲＡＭ型ＦＰＧＡ１０２にソフトエラーが発生すると、ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１の信号の値が一致しなくなる。この場合でも、選択回路２２１は入力端子Ｄ１に入力される信号を選択して出力し続ける。入力端子Ｄ１に入力される信号はエラーが発生していない確率が高いので、電子デバイス１Ａは高い確率で正常動作を続けることができる。
【００４０】
比較回路２１１は、入力端子Ｃ１に入力される信号と入力端子Ｃ２に入力される信号とを比較し、同じ値であれば出力端子Ｅから‘０’を出力し、異なる値であれば‘１’を出力する。
【００４１】
比較回路２１２及び選択回路２２２と、比較回路２１３及び選択回路２２３も、それぞれ上述した比較回路２１１及び選択回路２２１と同様に動作する。
【００４２】
論理和回路２３１は、比較回路２１１と比較回路２１２と比較回路２１３の各出力端子Ｅから出力される信号の論理和を取る。従って、論理和回路２３１は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の両方とも正常に動作している場合、‘０’を出力する。また、論理和回路２３１は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれかにソフトエラーが発生すると、‘１’を出力する。制御回路２４１はエラー入力端子ＥＲＲから論理和回路２３１の出力信号を入力する。
【００４３】
図４（Ｂ）、図４（Ｃ）、及び図４（Ｅ）に示すように、例えば、タイミングＴ２でＳＲＡＭ型ＦＰＧＡ１０２にソフトエラーが発生し、ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１の信号の値が一致しなくなると、論理和回路２３１は‘１’を出力し、制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力される。
なお、論理和回路２３１は、複数の比較回路の中のいずれかの入力端子Ｃ１に入力される信号と入力端子Ｃ２に入力される信号とが異なる値になってから数クロック後に‘１’を出力してもよい。ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の出力端子が多数ある場合でも、多数の比較回路の各出力端子Ｅから出力される信号の論理和を数クロックかけてパイプライン的に取ることができるので、論理和回路２３１を高速に動作させることができる。
【００４４】
例えば、比較回路２１１の入力端子Ｃ１に入力される信号と入力端子Ｃ２に入力される信号とが異なる値になり、制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１は後述する故障回復処理を実行する。故障回復処理により、図４（Ｃ）と図４（Ｅ）に示すように、タイミングＴ３で比較回路２１１の入力端子Ｃ１に入力される信号と入力端子Ｃ２に入力される信号とが同じ値になると、制御回路２４１のエラー入力端子ＥＲＲには‘０’が入力される。
【００４５】
制御回路２４１のエラー入力端子ＥＲＲに‘０’が入力されている間、すなわち、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２が両方とも正常に動作している間、制御回路２４１は、ＳＲＡＭ型ＦＰＧＡ１０２を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０１を運用する。このとき、制御回路２４１は選択制御端子Ｓから選択回路２２１〜選択回路２２３に入力端子Ｄ１を選択させる信号を出力する。この信号に従い、選択回路２２１〜選択回路２２３は入力端子Ｄ１に入力される信号（ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１〜出力端子Ｂ３から出力される信号）を選択して出力する。
そして、制御回路２４１は、図５の第１の故障回復処理に示すように、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は正常動作していると判断し、第１の故障回復処理を抜ける（ステップＳ１０１；Ｎｏ）。
【００４６】
制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１はソフトエラーによる故障を検出したと判断する（ステップＳ１０１；Ｙｅｓ）。上述したように、ＳＲＡＭ型ＦＰＧＡ１０１よりもＳＲＡＭ型ＦＰＧＡ１０２にソフトエラーが発生する可能性が高いので、制御回路２４１は再構成制御端子ＣｏｕｔからＳＲＡＭ型ＦＰＧＡ１０２に再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、ＳＲＡＭ型ＦＰＧＡ１０２のコンフィグレーション回路が起動され、ＳＲＡＭ型ＦＰＧＡ１０２の再コンフィグレーションが行われる（ステップＳ１０２）。
なお、図３では、ＳＲＡＭ型ＦＰＧＡ１０２にコンフィグレーションを行わせるためのコンフィグレーション回路がＳＲＡＭ型ＦＰＧＡ１０２の内部に搭載されている例を示したが、コンフィグレーション回路はＳＲＡＭ型ＦＰＧＡ１０２の外部に設けられていても良い。
【００４７】
ＳＲＡＭ型ＦＰＧＡ１０２が再コンフィグレーションされた後、制御回路２４１のエラー入力端子ＥＲＲに‘０’が入力されると、制御回路２４１は、ソフトエラーによる故障が回復したと判断し、第１の故障回復処理を終了する（ステップＳ１０３；Ｙｅｓ）。
【００４８】
ＳＲＡＭ型ＦＰＧＡ１０２が再コンフィグレーションされた後でも、制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１は、ソフトエラーによる故障は回復していないと判断する（ステップＳ１０３；Ｎｏ）。
制御回路２４１は、この回復していないという判断に応答して、ＳＲＡＭ型ＦＰＧＡ１０１を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０２を運用に変更する（ステップＳ１０４）。このとき、制御回路２４１は、選択制御端子Ｓから選択回路２２１〜選択回路２２３に入力端子Ｄ２を選択させる信号を出力する。この信号に従い、選択回路２２１〜選択回路２２３は入力端子Ｄ２に入力される信号（ＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１〜出力端子Ｂ３から出力される信号）を選択して出力する。
【００４９】
そして、制御回路２４１は、再構成制御端子ＣｏｕｔからＳＲＡＭ型ＦＰＧＡ１０１に再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、ＳＲＡＭ型ＦＰＧＡ１０１をコンフィグレーションするためのコンフィグレーション回路が起動され、ＳＲＡＭ型ＦＰＧＡ１０１の再コンフィグレーションが行われる（ステップＳ１０５）。
なお、図３では、ＳＲＡＭ型ＦＰＧＡ１０１のコンフィグレーション回路がＳＲＡＭ型ＦＰＧＡ１０１の内部に搭載されている例を示したが、コンフィグレーション回路はＳＲＡＭ型ＦＰＧＡ１０１の外部に設けられていても良い。
【００５０】
ＳＲＡＭ型ＦＰＧＡ１０１が再コンフィグレーションされた後、制御回路２４１のエラー入力端子ＥＲＲに‘０’が入力されると、制御回路２４１は、ソフトエラーによる故障が回復したと判断する（ステップＳ１０６；Ｙｅｓ）。制御回路２４１は、この回復したという判断に応答して、ＳＲＡＭ型ＦＰＧＡ１０２を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０１を運用に変更し（ステップＳ１０７）、第１の故障回復処理を終了する。このとき、制御回路２４１は、選択制御端子Ｓから選択回路２２１〜選択回路２２３に入力端子Ｄ１を選択させる信号を出力する。この信号に従い、選択回路２２１〜選択回路２２３は入力端子Ｄ１に入力される信号（ＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１〜出力端子Ｂ３から出力される信号）を選択して出力する。
【００５１】
ＳＲＡＭ型ＦＰＧＡ１０１が再コンフィグレーションされた後でも、制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１は、ソフトエラーによる故障は回復していないと判断し（ステップＳ１０６；Ｎｏ）、電子デバイス１Ａの外部の保守装置にハード障害を通知する（ステップＳ１０８）。
第１の故障検出処理によれば、ＳＲＡＭ型ＦＰＧＡ１０１またはＳＲＡＭ型ＦＰＧＡ１０２にソフトエラーが発生しても電子デバイス１Ａは継続して動作することができる。
【００５２】
また、図６の第２の故障回復処理に示すように、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれかにソフトエラーが発生した場合、電子デバイス１Ａを停止させて、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２を両方とも再コンフィグレーションしても良い。
【００５３】
この場合も、制御回路２４１のエラー入力端子ＥＲＲに‘０’が入力されている間、すなわち、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２が両方とも正常に動作している間、第１の故障回復処理と同様に、制御回路２４１は、ＳＲＡＭ型ＦＰＧＡ１０２を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０１を運用する。そして、制御回路２４１はＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２は正常動作していると判断し、第２の故障回復処理を抜ける（ステップＳ２０１；Ｎｏ）。
【００５４】
制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１はソフトエラーによる故障を検出したと判断し（ステップＳ２０１；Ｙｅｓ）、制御回路２４１自身を除いて電子デバイス１Ａを停止させる（ステップＳ２０２）。そして、制御回路２４１は再構成制御端子ＣｏｕｔからＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の両方を再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のコンフィグレーション回路が起動され、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の再コンフィグレーションが行われる（ステップＳ２０３）。
【００５５】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の両方とも再コンフィグレーションされた後、制御回路２４１は電子デバイス１Ａを再起動する（ステップＳ２０４）。電子デバイス１Ａを再起動した後に、制御回路２４１のエラー入力端子ＥＲＲに‘０’が入力されると、制御回路２４１は、ソフトエラーによる故障が回復したと判断し、第２の故障回復処理を終了する（ステップＳ２０５；Ｙｅｓ）。
【００５６】
電子デバイス１Ａが再起動された後でも、制御回路２４１のエラー入力端子ＥＲＲに‘１’が入力されると、制御回路２４１は、ソフトエラーによる故障は回復していないと判断し（ステップＳ２０５；Ｎｏ）、電子デバイス１Ａの外部の保守装置にハード障害を通知する（ステップＳ２０６）。
【００５７】
第２の故障検出処理によれば、内層に配置されているＳＲＡＭ型ＦＰＧＡ１０１にソフトエラーが発生した場合に、第１の故障検出処理よりも早く電子デバイス１Ａの故障を回復することができる。
【００５８】
なお、第２の故障回復処理による場合、電子デバイス１Ａの出力端子Ｄｏｕｔ１〜Ｄｏｕｔ３からはＳＲＡＭ型ＦＰＧＡ１０１の出力端子Ｂ１〜Ｂ３の信号のみが出力される。出力端子Ｄｏｕｔ１〜Ｄｏｕｔ３からＳＲＡＭ型ＦＰＧＡ１０２の出力端子Ｂ１〜Ｂ３の信号が出力されることはない。このため、選択チップ２００に選択回路２２１〜選択回路２２３は不要である。
【００５９】
また、比較回路２１１〜比較回路２１３と論理和回路２３１と制御回路２４１は本発明の判別手段の一例であり、制御回路２４１は本発明の回路再構成手段の一例であり、選択回路２２１〜選択回路２２３は本発明のデータ選択手段の一例である。
【００６０】
次に、第２の実施形態として、ＳＲＡＭ型ＦＰＧＡを３個並列動作させる例を示す。
本発明の第２の実施形態に係る電子デバイス１Ｂは、図７に示すように、ＳＲＡＭ型ＦＰＧＡ１０１と、ＳＲＡＭ型ＦＰＧＡ１０２と、ＳＲＡＭ型ＦＰＧＡ１０３と、選択チップ７００と、ＳｉＰ基板３００とを備えている。
図７における図１と同一の構成要素には図１と同一の符号が付してある。
以下では、第１の実施形態に係る電子デバイス１Ａと異なる点について説明する。
【００６１】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３は垂直方向に積層され、選択チップ７００の上に配置されている。選択チップ７００は、ＳｉＰ基板３００の上に配置されている。
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３と選択チップ７００は、パッケージングしていない裸のＬＳＩチップ（ベア・ダイ：Ｂａｒｅ  Ｄｉｅ）である。
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３と選択チップ７００は、ＬＳＩ樹脂封止材料４００で覆われている。
【００６２】
ＳｉＰ基板３００の一方の主面の出力端子は、図７に示すように、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の同一の位置に配置されており、同一の信号が入力されるべき入力端子とそれぞれボンディングワイヤ５０１とボンディングワイヤ５０２とボンディングワイヤ５０３で接続されている。従って、ＳｉＰ基板３００の他方の主面の入力端子に入力された信号は、その入力端子とスルーホールにより接続された一方の主面の出力端子を経て、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の同一の位置に配置された入力端子へ入力される。
図７には３本のボンディングワイヤ５０１とボンディングワイヤ５０２とボンディングワイヤ５０３のみが示されているが、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の同一の位置に配置されており、同一の信号が入力されるべき入力端子は全てＳｉＰ基板３００の一方の主面の出力端子と同様に接続されている。従って、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の同一の位置に配置された入力端子全てに同一の信号が入力される。
【００６３】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の出力端子は、図７に示すように、ボンディングワイヤ６０１とボンディングワイヤ６０２とボンディングワイヤ６０３により選択チップ７００の上面の入力端子と接続される。
図７には３本のボンディングワイヤ６０１とボンディングワイヤ６０２とボンディングワイヤ６０３のみが示されているが、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の出力端子は全て選択チップ７００の上面の入力端子と同様に接続されている。
【００６４】
選択チップ７００の下面にはフリップチップ接続用の突起状の出力端子（バンプ）７０１が設けられている。図７に示すように、選択チップ７００の下面の出力端子７０１は、ＳｉＰ基板３００の一方の主面の入力端子とフリップチップ接続されている。
【００６５】
ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３は全て同一のコンフィグレーションデータを記憶しており、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３は全て同一の回路として動作する。選択チップ７００には、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３が出力する信号（データ）が入力される。選択チップ７００は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の中のいずれかを選択し、選択されたＳＲＡＭ型ＦＰＧＡの出力する信号を出力する。
【００６６】
また、選択チップ７００は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の出力する信号の中に異なるものがあることを検出すると、この異なる信号を出力しているＳＲＡＭ型ＦＰＧＡが故障した（ＳＲＡＭ型ＦＰＧＡにソフトエラーが発生した）と判断し、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３の中のいずれが故障したかを示すエラー信号を出力する。
電子デバイス１Ｂの図示しない制御回路（以下、制御回路という。）は、エラー信号が出力されると、図８に示す第３の故障回復処理を行う。
【００６７】
電子デバイス１Ｂは、ＳＲＡＭ型ＦＰＧＡ１０１が正常に動作している（ＳＲＡＭ型ＦＰＧＡ１０１にソフトエラーが発生していない）とき、ＳＲＡＭ型ＦＰＧＡ１０１から出力される信号をＳｉＰ基板３００の出力端子から出力している。電子デバイス１Ｂの最も内層に配置されているＳＲＡＭ型ＦＰＧＡ１０１は、ＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３よりも外部から入射した放射線に起因するソフトエラーが発生する確率が低いからである。
【００６８】
制御回路は、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３のいずれにも故障が検出されない場合、第３の故障回復処理を抜ける（ステップＳ３０１；Ｎｏ、ステップＳ３０２；Ｎｏ、ステップＳ３０３；Ｎｏ）。
【００６９】
制御回路は、ＳＲＡＭ型ＦＰＧＡ１０３が故障したことを検出すると（ステップＳ３０１；Ｙｅｓ）、ＳＲＡＭ型ＦＰＧＡ１０３を再コンフィグレーションする（ステップＳ３０４）。制御回路は、ＳＲＡＭ型ＦＰＧＡ１０３が再コンフィグレーションされたことによって故障が回復したことを検出すると、第３の故障回復処理を終了する（ステップＳ３０６；Ｙｅｓ）。
【００７０】
一方、制御回路は、ＳＲＡＭ型ＦＰＧＡ１０３が再コンフィグレーションされても故障が回復しない場合、電子デバイス１Ｂの外部の保守装置にハード障害を通知する（ステップＳ３０７）。
なお、ハード障害が通知されるのは、ＳＲＡＭ型ＦＰＧＡ１０３自体にハード障害が生じた場合と、ＳＲＡＭ型ＦＰＧＡ１０３にソフトエラーが発生するのと同時に、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２のいずれか、またはＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２の両方にもソフトエラーが発生した場合である。
【００７１】
制御回路は、ＳＲＡＭ型ＦＰＧＡ１０２が故障したことを検出すると（ステップＳ３０２；Ｙｅｓ）、ＳＲＡＭ型ＦＰＧＡ１０２を再コンフィグレーションする（ステップＳ３０５）。制御回路は、ＳＲＡＭ型ＦＰＧＡ１０２が再コンフィグレーションされたことによって故障が回復したことを検出すると、第３の故障回復処理を終了する（ステップＳ３０６；Ｙｅｓ）。
一方、制御回路は、ＳＲＡＭ型ＦＰＧＡ１０２が再コンフィグレーションされても故障が回復しない場合、電子デバイス１Ｂの外部の保守装置にハード障害を通知する（ステップＳ３０７）。
【００７２】
制御回路は、ＳＲＡＭ型ＦＰＧＡ１０１が故障したことを検出すると（ステップＳ３０３；Ｙｅｓ）、ＳＲＡＭ型ＦＰＧＡ１０１を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０２を運用に変更する（ステップＳ３０８）。このとき、電子デバイス１Ｂは、ＳＲＡＭ型ＦＰＧＡ１０２から出力される信号をＳｉＰ基板３００の出力端子から出力する。
そして、制御回路は、ＳＲＡＭ型ＦＰＧＡ１０１を再コンフィグレーションする（ステップＳ３０９）。
【００７３】
制御回路は、ＳＲＡＭ型ＦＰＧＡ１０１が再コンフィグレーションされたことによって故障が回復したことを検出すると（ステップＳ３１０；Ｙｅｓ）、ＳＲＡＭ型ＦＰＧＡ１０２を予備に回し、ＳＲＡＭ型ＦＰＧＡ１０１を運用に変更し、第３の故障回復処理を終了する（ステップＳ３１１）。このとき、電子デバイス１Ｂは、再びＳＲＡＭ型ＦＰＧＡ１０１から出力される信号をＳｉＰ基板３００の出力端子から出力する。
一方、制御回路は、ＳＲＡＭ型ＦＰＧＡ１０１が再コンフィグレーションされても故障が回復しない場合、電子デバイス１Ｂの外部の保守装置にハード障害を通知する（ステップＳ３０７）。
【００７４】
第３の故障検出処理によれば、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３のいずれかにソフトエラーが発生しても電子デバイス１Ｂは継続して動作することができる。
【００７５】
なお、ＳＲＡＭ型ＦＰＧＡ１０１とＳＲＡＭ型ＦＰＧＡ１０２とＳＲＡＭ型ＦＰＧＡ１０３は本発明の再構成可能回路及び再構成可能チップの一例であり、選択チップ７００は本発明の選択チップの一例である。
【００７６】
上記各実施形態では２個または３個のＳＲＡＭ型ＦＰＧＡと選択チップを積層する例を示したが、必ずしも積層する必要はなく、ＳｉＰ基板上にベア・ダイを分散して配置した平面構造でも良い。
ただし、外層に配置されたＳＲＡＭ型ＦＰＧＡが外部より入射する放射線を遮り、内層のＳＲＡＭ型ＦＰＧＡに放射線が衝突するのを妨げるため、複数のＳＲＡＭ型ＦＰＧＡを積層する方が望ましい。
また、本発明に係る電子デバイスは、２個または３個のＳＲＡＭ型ＦＰＧＡに限らず、４個以上のＳＲＡＭ型ＦＰＧＡを用いて構成されても良い。
更に、本発明に係る電子デバイスは、１個のＳＲＡＭ型ＦＰＧＡの内部の回路を複数のブロックに分割し、分割された各ブロックをそれぞれ再構成可能回路とすることによって構成されても良い。
【００７７】
また、上記各実施形態では、選択チップがフリップチップである例を示したが、選択チップはボンディングワイヤでＳｉＰ基板に接続されても良い。
【００７８】
上記第１の実施形態では、比較回路、選択回路および制御回路は選択チップに搭載されていたが、比較回路、選択回路および制御回路はＳｉＰ基板に内蔵しても良い。
また、ＳＲＡＭ型ＦＰＧＡにコンフィグレーションデータを読み込ませるためのコンフィグレーション回路、コンフィグレーションデータを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や制御回路は電子デバイスの内部に設けても良いし、電子デバイスの外部に設けても良い。
【００７９】
電子デバイスの構造はＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）でも良い。
【００８０】
電子デバイスに３個以上のＳＲＡＭ型ＦＰＧＡが搭載されている場合、比較回路は各ＳＲＡＭ型ＦＰＧＡの出力信号を比較して、多数決方法により故障したＳＲＡＭ型ＦＰＧＡを特定するようにしても良い。
【００８１】
以上説明したように、本発明によれば、ＳＲＡＭ型ＦＰＧＡが動作している状態で、ＳＲＡＭ型ＦＰＧＡに生じたソフトエラーを検出することができる。
また、本発明に係る電子デバイスを停止させることなく、ＳＲＡＭ型ＦＰＧＡを用いて構成された電子デバイスのソフトエラーに起因する故障を回復することができる。
また、本発明に係る電子デバイスは、従来のＳＲＡＭ型ＦＰＧＡに比べて、ソフトエラーによる誤動作の確率を小さくすることができる。その理由は、積層された外層のチップが外部から入射する放射線を遮り、内層のＳＲＡＭ型ＦＰＧＡに放射線が衝突するのを妨げるので、内層のＳＲＡＭ型ＦＰＧＡにソフトエラーが発生することが抑えられるためである。
更に、本発明に係る電子デバイスは、ソフトエラーが発生することが抑えられている内層のＳＲＡＭ型ＦＰＧＡの出力を優先的に用いて動作することにより、アベイラビリティ（可用性）を高くすることができる。
【００８２】
また、本発明に係る電子デバイスは、複数のＳＲＡＭ型ＦＰＧＡの同一の位置に配置されており、同一の信号が出力されるべき出力端子と選択チップの入力端子を接続する配線の長さの差を容易に十分小さくできる。その理由は、複数のＳＲＡＭ型ＦＰＧＡが積層しているので、それぞれのＳＲＡＭ型ＦＰＧＡの同一の位置に配置された出力端子と選択チップの入力端子の距離の差が小さいためである。
また、同様の理由により、複数のＳＲＡＭ型ＦＰＧＡの同一の位置に配置されており、同一の信号が入力されるべき入力端子とＳｉＰ基板の一方の主面の出力端子の間の配線の長さの差も容易に十分小さくできる。
【００８３】
本発明の電子デバイスは、既存のＳＲＡＭ型ＦＰＧＡを用いることができるので、開発費用を小さくでき、大量生産による価格低下が望める。このため、電子デバイスの単価を抑えることができる。
【００８４】
以上、本発明の実施の形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、請求項に記載されている発明や発明の実施の形態に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態に係る電子デバイスの一例を示す図である。
【図２】ＳＲＡＭ型ＦＰＧＡの構成の一例を示す図である。
【図３】２つのＳＲＡＭ型ＦＰＧＡと選択チップとＳｉＰ基板の接続の一例を示す図である。
【図４】選択チップ内部の動作タイミングの一例を示す図である。
【図５】第１の故障回復処理を示す流れ図である。
【図６】第２の故障回復処理を示す流れ図である。
【図７】本発明の第２の実施形態に係る電子デバイスの一例を示す図である。
【図８】第３の故障回復処理を示す流れ図である。
【符号の説明】
【００８６】
１Ａ、１Ｂ…電子デバイス
１０１、１０２、１０３…ＳＲＡＭ型ＦＰＧＡ
１１１…回路情報入力部
１１２…回路情報記憶部
１１３…データ入力部
１１４…可変回路
１１５…データ出力部
２００、７００…選択チップ
２１１、２１２、２１３…比較回路
２２１、２２２、２２３…選択回路
２３１…論理和回路
２４１…制御回路
３００…ＳｉＰ基板
１１３…エッジ情報取得部
【図１】
2010134678.tif 000003
【図２】
2010134678.tif 000004
【図３】
2010134678.tif 000005
【図４】
2010134678.tif 000006
【図５】
2010134678.tif 000007
【図６】
2010134678.tif 000008
【図７】
2010134678.tif 000009
【図８】
2010134678.tif 000010