(57)【特許請求の範囲】
【請求項１】
複数の構成情報を格納する構成情報格納メモリと、
前記複数の構成情報のうちの何れかを選択する状態遷移管理部と、
前記状態遷移管理部によって選択された構成情報に基づいて動的に回路を再構成するデータパス部と、を備え、
前記状態遷移管理部は、
前記データパス部に設けられた複数の論理回路群の何れにも故障が検出されない場合、前記複数の論理回路群の一部又は全部を用いて第１処理回路が構成されるように前記構成情報を選択し、
前記複数の論理回路群の何れかに故障が検出された場合、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第１中間処理回路を構成した後、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第２中間処理回路を構成することで、前記第１処理回路が実現されるように前記構成情報を選択する、半導体装置。
【請求項２】
前記状態遷移管理部は、
前記第１中間処理回路の処理の完了を示す処理完了信号がアクティブになった後に、前記第２中間処理回路が構成されるように前記構成情報を選択する、請求項１に記載の半導体装置。
【請求項３】
複数の構成情報のうちの何れかを選択してデータパス部内の回路を動的に再構成し、
前記データパス部に設けられた複数の論理回路群の何れにも故障が検出されない場合、前記複数の論理回路群の一部又は全部を用いて第１処理回路が構成されるように前記構成情報を選択し、
前記複数の論理回路群の何れかに故障が検出された場合、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第１中間処理回路を構成した後、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第２中間処理回路を構成することで、前記第１処理回路が実現されるように前記構成情報を選択する、半導体装置の制御方法。
【請求項４】
前記複数の論理回路群の何れかに故障が検出された場合、前記第１中間処理回路の処理の完了を示す処理完了信号がアクティブになった後に、前記第２中間処理回路が構成されるように前記構成情報を選択する、請求項３に記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びその制御方法に関し、例えば優先度の低い処理を省略することなく所望の処理を実行するのに適した半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
特許文献１には、回復能力を有する集積回路アーキテクチャのための要素コントローラが開示されている。この集積回路は、複数の複合回路要素、状態機械要素（ＳＭＥ）及び複数の通信要素を備える。それぞれの複合回路要素は、要素インターフェース及び要素タイプ毎に異なっていてもよく、構成可能である選択された回路要素を備える。状態機械要素は、要素タイプに基づき、第１の構成を第１の要素タイプに割り当てたり、第２の構成を第２の要素タイプに割り当てたり、対応する割り当てに対する第１のデータ・リンクを形成したりする等のさまざまな機能を割り当てる。状態機械要素は、障害または故障の検出に応答して、第１の構成を他の複合回路要素に再割り当てし、同じ機能で実行するための第２のデータ・リンクを作成する。この割り当て、ルーティング、障害検出、ならびに再割り当ておよびデータ再ルーティングは、さまざまなプログラムおよびアルゴリズムに対しリアルタイムで実行することができ、このため、この集積回路は演算中に発生しうる欠陥があっても同じ機能を継続することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５４２０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示された構成では、何れかの複合回路要素に故障が検出された場合、故障が検出されていない他の複合回路要素を用いて優先度の高い処理を実行できるものの、優先度の低い処理を除外する必要があった。そのため、特許文献１に開示された構成では、所望の処理を実行することができない、という問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
一実施の形態によれば、半導体装置では、状態遷移管理部は、データパス部に設けられた複数の論理回路群の何れにも故障が検出されない場合、前記複数の論理回路群の一部又は全部を用いて第１処理回路が構成されるように構成情報を選択し、前記複数の論理回路群の何れかに故障が検出された場合、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第１中間処理回路を構成した後、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第２中間処理回路を構成することで、前記第１処理回路が実現されるように前記構成情報を選択する。
【０００６】
一実施の形態によれば、半導体装置では、状態遷移管理部は、データパス部に設けられた複数の論理回路の何れにも故障が検出されない場合、前記複数の論理回路の一部を用いて第１処理回路が構成されるように構成情報を選択し、前記複数の論理回路の何れかに故障が検出された場合、前記複数の論理回路の一部又は全部を用いて複数の前記第１処理回路が構成されるように前記構成情報を選択し、前記複数の第１処理回路のそれぞれの処理結果に基づいて前記第１処理回路の処理結果が決定される。
【０００７】
一実施の形態によれば、半導体装置の制御方法は、データパス部に設けられた複数の論理回路群の何れにも故障が検出されない場合、前記複数の論理回路群の一部又は全部を用いて第１処理回路が構成されるように構成情報を選択し、前記複数の論理回路群の何れかに故障が検出された場合、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第１中間処理回路を構成した後、前記複数の論理回路群のうち故障が検出されていない論理回路群の一部又は全部を用いて第２中間処理回路を構成することで、前記第１処理回路が実現されるように前記構成情報を選択する。
【０００８】
一実施の形態によれば、半導体装置の制御方法は、データパス部に設けられた複数の論理回路の何れにも故障が検出されない場合、前記複数の論理回路の一部を用いて第１処理回路が構成されるように構成情報を選択し、前記複数の論理回路の何れかに故障が検出された場合、前記複数の論理回路の一部又は全部を用いて複数の前記第１処理回路が構成されるように前記構成情報を選択し、前記複数の第１処理回路のそれぞれの処理結果に基づいて前記第１処理回路の処理結果を決定する。
【発明の効果】
【０００９】
前記一実施の形態によれば、故障が検出された場合でも優先度の低い処理を省略することなく所望の処理を実行することが可能な半導体装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる再構成可能デバイスの構成例を示すブロック図である。
【図２】図１に示す再構成可能デバイスの具体的構成例を示すブロック図である。
【図３】図１に示す再構成可能デバイスに設けられたデータパス部の構成例を示すブロック図である。
【図４】図２に示す再構成可能デバイスのタイルが２個である場合における構成例を示すブロック図である。
【図５】図４に示す再構成可能デバイスの動作を示すフローチャートである。
【図６】図４に示す再構成可能デバイスの状態遷移図である。
【図７】図４に示す再構成可能デバイスの通常モードでの動作を説明するためのブロック図である。
【図８】図４に示す再構成可能デバイスの通常モードでの動作を示すタイミングチャートである。
【図９】図４に示す再構成可能デバイスの第１セーフモードでの前処理の動作を説明するためのブロック図である。
【図１０】図４に示す再構成可能デバイスの第１セーフモードでの後処理の動作を説明するためのブロック図である。
【図１１】図４に示す再構成可能デバイスの第１セーフモードでの動作を示すタイミングチャートである。
【図１２】図４に示す再構成可能デバイスの第２セーフモードでの前処理の動作を説明するためのブロック図である。
【図１３】図４に示す再構成可能デバイスの第２セーフモードでの後処理の動作を説明するためのブロック図である。
【図１４】図２に示す再構成可能デバイスのタイルが３個である場合における構成例を示すブロック図である。
【図１５】図１４に示す再構成可能デバイスの通常モードでの動作を説明するためのブロック図である。
【図１６】図１４に示す再構成可能デバイスの通常モードでの動作を示すタイミングチャートである。
【図１７】図１４に示す再構成可能デバイスのセーフモードでの第１処理の動作を説明するためのブロック図である。
【図１８】図１４に示す再構成可能デバイスのセーフモードでの第２処理の動作を説明するためのブロック図である。
【図１９】図１４に示す再構成可能デバイスのセーフモードでの第３処理の動作を説明するためのブロック図である。
【図２０】図１４に示す再構成可能デバイスのセーフモードでの動作を示すタイミングチャートである。
【図２１】実施の形態２にかかる再構成可能デバイスの構成例を示すブロック図である。
【図２２】図２１に示す再構成可能デバイスの状態遷移図である。
【図２３】図２１に示す再構成可能デバイスの通常モードでの動作を説明するためのブロック図である。
【図２４】図２１に示す再構成可能デバイスの故障モードでの動作を説明するためのブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１２】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１３】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１４】
＜実施の形態１＞
図１は、実施の形態１にかかる再構成可能デバイス（半導体装置）１の構成例を示すブロック図である。本実施の形態にかかる再構成可能デバイス１は、動的に再構成可能なデータパス部に設けられた複数の論理回路群の何れかに故障が検出された場合、故障が検出されていない論理回路群を用いて第１中間処理回路を構成した後、再び故障が検出されていない論理回路群を用いて第２中間処理回路を構成することで、所望の第１処理回路を実現する。それにより、本実施の形態にかかる再構成可能デバイス１は、故障が検出された場合でも、優先度の低い処理を省略することなく所望の処理を実行することができる。以下、具体的に説明する。
【００１５】
図１に示すように、再構成可能デバイス１は、状態遷移管理部１１と、構成情報格納メモリ１２と、データパス部１３と、を備える。また、データパス部１３と状態遷移管理部１１との間には、エラーパス１６及びイベントパス１７が設けられている。状態遷移管理部１１と構成情報格納メモリ１２との間には、アドレスパス１４が設けられている。構成情報格納メモリ１２とデータパス部１３との間には、構成情報パス１５が設けられている。
【００１６】
データパス部１３は、外部から供給された構成情報に基づいて動的に回路を再構成可能なデータ処理部であって、入力データＤｉｎに対して再構成された回路を用いて演算処理を施し出力データＤｏｕｔとして出力する。
【００１７】
また、データパス部１３は、処理が完了した場合に処理完了信号をアクティブにし（例えばＬレベルからＨレベルに切り替え）、故障が検出された場合に故障検出信号をアクティブにする（例えばＬレベルからＨレベルに切り替える）。なお、データパス部１３の故障は、スキャンテスト等のテストを実施することで検出されてもよいし、パリティビット等によりリアルタイムに検出されてもよい。
【００１８】
データパス部１３から出力された処理完了信号は、イベントパス１７を介して、状態遷移管理部１１に供給される。また、データパス部１３から出力された故障検出信号は、エラーパス１６を介して、状態遷移管理部１１に供給される。
【００１９】
状態遷移管理部１１は、構成情報格納メモリ１２に格納された複数の構成情報の中からデータパス部１３に出力するための構成情報を選択する。例えば、状態遷移管理部１１は、データパス部１３からの処理完了信号及び故障検出信号に基づいて、構成情報格納メモリ１２に格納された複数の構成情報のうちの何れかを選択する。
【００２０】
より具体的には、状態遷移管理部１１は、データパス部１３からの処理完了信号及び故障検出信号に応じたアドレス信号を出力する。このアドレス信号は、アドレスパス１４を介して、構成情報格納メモリ１２に供給される。構成情報格納メモリ１２からは、アドレス信号により指定されたアドレス番地の格納領域に格納された構成情報が読み出される。
【００２１】
なお、構成情報格納メモリ１２には、少なくとも、データパス部１３に故障が検出されていない場合（以下、通常モードと称す）に選択される一又は複数の構成情報と、データパス部１３に故障が検出された場合（以下、セーフモードと称す）に選択される複数の構成情報と、が格納されている。
【００２２】
構成情報格納メモリ１２から読み出された構成情報（即ち、状態遷移管理部１１により選択された構成情報）は、構成情報パス１５を介して、データパス部１３に供給される。そして、データパス部１３は、構成情報格納メモリ１２から供給された構成情報に基づいて動的に回路を再構成した後、入力データＤｉｎに対してその再構成した回路を用いて演算処理を施し出力データＤｏｕｔとして出力する。
【００２３】
（データパス部１３の具体的構成例）
図２は、再構成可能デバイス１の具体的構成例を再構成可能デバイス１ａとして示すブロック図である。図２では、データパス部１３の具体的構成例がデータパス部１３ａとして示されている。
【００２４】
図２に示すように、データパス部１３ａは、タイルＴ１〜Ｔｎ（ｎは２以上の整数）と、セレクタＳＥＬ１〜ＳＥＬｎと、を備える。
【００２５】
各タイルＴ１〜Ｔｎは、論理回路群により構成される。
図３を参照すると、各タイルＴ１〜Ｔｎには、例えば、演算器１３１、メモリ１３２、レジスタ１３３及び配線接続回路１３４が設けられ、外部からの構成情報に基づいて演算器１３１の演算処理、配線接続回路１３４による配線接続、データ初期値等が決定される。なお、各タイルＴ１〜Ｔｎは、演算器１３１、メモリ１３２、レジスタ１３３、配線接続回路１３４の全てを備えた構成に限られず、それらの一部を備えた構成であってもよいし、それらの一部又は全部を複数備えた構成であってもよい。
【００２６】
タイルＴ１は、入力データＤｉｎに対し演算処理を施して出力する。タイルＴ２〜Ｔｎは、それぞれセレクタＳＥＬ１〜ＳＥＬ（ｎ−１）の出力に対し演算処理を施して出力する。タイルＴ１〜Ｔｎは、それぞれ処理が完了した場合に処理完了信号ＥＶＦ１〜ＥＶＦｎをアクティブにし、故障が検出された場合に故障検出信号ＥＲＦ１〜ＥＲＦｎをアクティブにする。
【００２７】
タイルＴ１〜Ｔｎから出力された処理完了信号ＥＶＦ１〜ＥＶＦｎは、それぞれイベントパス１７を構成するイベントパス１７１〜１７ｎを介して、状態遷移管理部１１に供給される。また、タイルＴ１〜Ｔｎから出力された故障検出信号ＥＲＦ１〜ＥＲＦｎは、それぞれエラーパス１６を構成するエラーパス１６１〜１６ｎを介して、状態遷移管理部１１に供給される。
【００２８】
各セレクタＳＥＬ１〜ＳＥＬｎは、外部からの構成情報に基づいて前段の全てのタイルの出力及び入力データＤｉｎの何れか一つを選択して出力する。具体的には、セレクタＳＥＬｉ（ｉは１〜ｎの何れか）は、外部からの構成情報に基づいて前段のタイルＴ１〜Ｔｉのそれぞれの出力（ｉ＝１の場合、タイルＴ１のみの出力）及び入力データＤｉｎの何れか一つを選択して出力する。セレクタＳＥＬｎの出力は、データパス部１３ａの出力データＤｏｕｔとして外部に出力される。
【００２９】
（タイルが２個である場合の再構成可能デバイス１ａの動作）
図４は、タイルが２個（ｎ＝２）である場合の再構成可能デバイス１ａを再構成可能デバイス１ｂとして示すブロック図である。
【００３０】
図４に示すように、再構成可能デバイス１ｂは、構成情報格納メモリ１２として構成情報格納メモリ１２ｂを備え、データパス部１３としてデータパス部１３ｂを備える。
【００３１】
構成情報格納メモリ１２ｂには、例えば、アドレス０番地の格納領域に通常モードの構成情報が格納され、アドレス１番地及び２番地の格納領域に第１セーフモードの前処理及び後処理の構成情報がそれぞれ格納され、アドレス３番地及び４番地の格納領域に第２セーフモードの前処理及び後処理の構成情報がそれぞれ格納されている。
【００３２】
データパス部１３ｂは、２個のタイルＴ１，Ｔ２と、セレクタＳＥＬ１，ＳＥＬ２と、を備える。
【００３３】
図５は、再構成可能デバイス１ｂの動作を示すフローチャートである。
図５の例では、再構成可能デバイス１ｂが、入力データＤｉｎに対して前処理を施した後（ステップＳ１０１）、後処理を施すことで（ステップＳ１０２）、結果的に入力データＤｉｎに対して所望の処理を実行している（ステップＳ１００）。
【００３４】
図６は、再構成可能デバイス１ｂの状態遷移図である。状態遷移図の詳細については、再構成可能デバイス１ｂの動作の説明とともに後述する。
【００３５】
（通常モードでの動作）
まず、再構成可能デバイス１ｂの通常モードでの動作について説明する。図７は、再構成可能デバイス１ｂの通常モードでの動作を説明するためのブロック図である。
【００３６】
図７に示すように、データパス部１３ｂに故障が検出されない場合、即ち、タイルＴ１，Ｔ２から出力される故障検出信号ＥＲＦ１，ＥＲＦ２が何れもインアクティブの場合、状態遷移管理部１１は、アドレス０番地を表すアドレス信号を出力する（図６のＳＴ１０）。それにより、構成情報格納メモリ１２ｂからアドレス０番地の格納領域に格納された構成情報が読み出され、データパス部１３ｂに供給される。それにより、前処理を実行するための第１中間処理回路がタイルＴ１によって構成され、かつ、後処理を実行するための第２中間処理回路がタイルＴ２によって構成される。また、セレクタＳＥＬ１はタイルＴ１の出力結果を選択して出力するように構成され、かつ、セレクタＳＥＬ２はタイルＴ２の出力結果を選択して出力するように構成される。その結果、データパス部１３ｂでは、所望の処理回路による処理が実行可能となる。
【００３７】
この状態で、データパス部１３ｂに入力データＤｉｎが供給される。タイルＴ１を用いて構成された第１中間処理回路は、入力データＤｉｎに対して前処理を施す。その後、タイルＴ２を用いて構成された第２中間処理回路は、タイルＴ１の出力結果に対して後処理を施す。そして、タイルＴ２の出力結果は、データパス部１３ｂの出力データＤｏｕｔとして外部に出力される。このようにして、データパス部１３ｂでは、所望の処理回路による処理が実行される。
【００３８】
図８は、再構成可能デバイス１ｂの通常モードでの動作を示すタイミングチャートである。図８を参照すると、入力データＤｉｎは、あるサイクルで前処理及び後処理が施された後、次のサイクルで出力データＤｏｕｔとして出力される。つまり、前処理及び後処理が合わせて１サイクルで実行されている。なお、図８の例では、各サイクルの入力データＤｉｎが入力データｉｎＡ〜ｉｎＨと区別して表され、入力データｉｎＡ〜ｉｎＨに対応する出力データＤｏｕｔが出力データｏｕｔＡ〜ｏｕｔＨと区別して表されている。
【００３９】
（第１セーフモードでの動作）
次に、再構成可能デバイス１ｂの第１セーフモードでの動作について説明する。図９及び図１０は、再構成可能デバイス１ｂの第１セーフモードでの動作を説明するためのブロック図である。
【００４０】
図９に示すように、データパス部１３ｂに設けられたタイルＴ２に故障が検出された場合、即ち、タイルＴ２から出力される故障検出信号ＥＲＦ２がアクティブになった場合、まず、状態遷移管理部１１は、アドレス１番地を表すアドレス信号を出力する（図６のＳＴ１１）。それにより、構成情報格納メモリ１２ｂからアドレス１番地の格納領域に格納された構成情報が読み出され、データパス部１３ｂに供給される。それにより、前処理を実行するための第１中間処理回路がタイルＴ１によって構成される。
【００４１】
この状態で、データパス部１３ｂに入力データＤｉｎが供給される。タイルＴ１を用いて構成された第１中間処理回路は、入力データＤｉｎに対して前処理を施し、前処理が完了すると処理完了信号ＥＶＦ１をインアクティブからアクティブに切り替える。
【００４２】
図１０に示すように、処理完了信号ＥＶＦ１がアクティブになった場合、状態遷移管理部１１は、アドレス１番地からアドレス２番地を表すアドレス信号に切り替えて出力する（図６のＳＴ１２）。それにより、構成情報格納メモリ１２ｂからアドレス２番地の格納領域に格納された構成情報が読み出され、データパス部１３ｂに供給される。それにより、後処理を実行するための第２中間処理回路がタイルＴ１によって構成される。なお、このとき、セレクタＳＥＬ２はタイルＴ１の出力結果を選択して出力するように構成される。
【００４３】
この状態で、タイルＴ１を用いて構成された第２中間処理回路には、タイルＴ１による前処理の結果が供給される。なお、図１０の例では、フィードバック経路は省略されている。タイルＴ１を用いて構成された第２中間処理回路は、前処理の結果に対して後処理を施す。そして、タイルＴ１の出力結果は、データパス部１３ｂの出力データＤｏｕｔとして外部に出力される。その結果、データパス部１３ｂでは、所望の処理回路による処理が実行される。
【００４４】
図１１は、再構成可能デバイス１ｂの第１セーフモードでの動作を示すタイミングチャートである。図１１を参照すると、入力データＤｉｎは、あるサイクルで前処理が施され、次のサイクルで後処理が施された後、その次のサイクルで出力データＤｏｕｔとして出力される。つまり、前処理及び後処理が合わせて２サイクルで実行されている。なお、図１１の例では、入力データＤｉｎが入力データｉｎＡ〜ｉｎＤと区別して表され、入力データｉｎＡ〜ｉｎＤに対応する出力データＤｏｕｔが出力データｏｕｔＡ〜ｏｕｔＤと区別して表されている。
【００４５】
このように、再構成可能デバイス１ｂは、データパス部１３ｂのタイルＴ２に故障が検出された場合でも、故障が検出されていないタイルＴ１を用いて前処理及び後処理を時分割で実行することで、優先度の低い処理を省略することなく所望の処理回路による処理を実行することができる。
【００４６】
（第２セーフモードでの動作）
次に、再構成可能デバイス１ｂの第２セーフモードでの動作について説明する。図１２及び図１３は、再構成可能デバイス１ｂの第２セーフモードでの動作を説明するためのブロック図である。
【００４７】
図１２に示すように、データパス部１３ｂに設けられたタイルＴ１に故障が検出された場合、即ち、タイルＴ１から出力される故障検出信号ＥＲＦ１がアクティブになった場合、まず、状態遷移管理部１１は、アドレス３番地を表すアドレス信号を出力する（図６のＳＴ１３）。それにより、構成情報格納メモリ１２ｂからアドレス３番地の格納領域に格納された構成情報が読み出され、データパス部１３ｂに供給される。それにより、前処理を実行するための第１中間処理回路がタイルＴ２によって構成される。なお、このとき、セレクタＳＥＬ１は入力データＤｉｎを選択して出力するように構成される。
【００４８】
この状態で、データパス部１３ｂに入力データＤｉｎが供給される。タイルＴ２を用いて構成された第１中間処理回路は、入力データＤｉｎに対して前処理を施し、前処理が完了すると処理完了信号ＥＶＦ２をインアクティブからアクティブに切り替える。
【００４９】
図１３に示すように、処理完了信号ＥＶＦ２がアクティブになった場合、状態遷移管理部１１は、アドレス３番地からアドレス４番地を表すアドレス信号に切り替えて出力する（図６のＳＴ１４）。それにより、構成情報格納メモリ１２ｂからアドレス４番地の格納領域に格納された構成情報が読み出され、データパス部１３ｂに供給される。なお、このとき、セレクタＳＥＬ２はタイルＴ２の出力結果を選択して出力するように構成される。
【００５０】
この状態で、タイルＴ２を用いて構成された第２中間処理回路には、タイルＴ２による前処理の結果が供給される。なお、図１３の例では、フィードバック経路は省略されている。タイルＴ２を用いて構成された第２中間処理回路は、前処理の結果に対して後処理を施す。そして、タイルＴ２の出力結果は、データパス部１３ｂの出力データＤｏｕｔとして外部に出力される。その結果、データパス部１３ｂでは、所望の処理回路による処理が実行される。
【００５１】
再構成可能デバイス１ｂの第２セーフモードでの動作を示すタイミングチャートについては、基本的には、再構成可能デバイス１ｂの第１セーフモードでの動作を示すタイミングチャートと同様であるため、その説明を省略する。
【００５２】
このように、再構成可能デバイス１ｂは、データパス部１３ｂのタイルＴ１に故障が検出された場合でも、故障が検出されていないタイルＴ２を用いて前処理及び後処理を時分割で実行することで、優先度の低い処理を省略することなく所望の処理回路による処理を実行することができる。
【００５３】
（タイルが３個である場合の再構成可能デバイス１ａの動作）
図１４は、タイルが３個（ｎ＝３）である場合の再構成可能デバイス１ａを再構成可能デバイス１ｃとして示すブロック図である。
【００５４】
図１４に示すように、再構成可能デバイス１ｃは、構成情報格納メモリ１２として構成情報格納メモリ１２ｃを備え、データパス部１３としてデータパス部１３ｃを備える。
【００５５】
構成情報格納メモリ１２ｃには、例えば、アドレス０番地の格納領域に通常モードの構成情報が格納され、アドレス１番地〜３番地の格納領域にセーフモードの第１処理〜第３処理の構成情報がそれぞれ格納されている。
【００５６】
データパス部１３ｃは、３個のタイルＴ１〜Ｔ３と、セレクタＳＥＬ１〜ＳＥＬ３と、を備える。
【００５７】
（通常モードでの動作）
まず、再構成可能デバイス１ｃの通常モードでの動作について説明する。図１５は、再構成可能デバイス１ｃの通常モードでの動作を説明するためのブロック図である。
【００５８】
図１５に示すように、データパス部１３ｃに故障が検出されない場合、即ち、タイルＴ１〜Ｔ３から出力される故障検出信号ＥＲＦ１〜ＥＲＦ３が何れもインアクティブの場合、状態遷移管理部１１は、アドレス０番地を表すアドレス信号を出力する。それにより、構成情報格納メモリ１２ｃからアドレス０番地の格納領域に格納された構成情報が読み出され、データパス部１３ｃに供給される。それにより、第１処理を実行するための第１中間処理回路がタイルＴ１によって構成され、第２処理を実行するための第２中間処理回路がタイルＴ２によって構成され、かつ、第３処理を実行するための第３中間処理回路がタイルＴ３によって構成される。また、セレクタＳＥＬ１はタイルＴ１の出力結果を選択して出力するように構成され、セレクタＳＥＬ２はタイルＴ２の出力結果を選択して出力するように構成され、かつ、セレクタＳＥＬ３はタイルＴ３の出力結果を選択して出力するように構成される。その結果、データパス部１３ｃでは、所望の処理回路による処理が実行可能となる。
【００５９】
この状態で、データパス部１３ｃには、入力データＤｉｎが供給される。タイルＴ１を用いて構成された第１中間処理回路は、入力データＤｉｎに対して第１処理を施す。その後、タイルＴ２を用いて構成された第２中間処理回路は、タイルＴ１の出力結果に対して第２処理を施す。その後、タイルＴ３を用いて構成された第３中間処理回路は、タイルＴ２の出力結果に対して第３処理を施す。そして、タイルＴ３の出力結果は、データパス部１３ｃの出力データＤｏｕｔとして外部に出力される。このようにして、データパス部１３ｃでは、所望の処理回路による処理が実行される。
【００６０】
図１６は、再構成可能デバイス１ｃの通常モードでの動作を示すタイミングチャートである。図１６を参照すると、入力データＤｉｎは、あるサイクルで第１〜第３処理が施された後、次のサイクルで出力データＤｏｕｔとして出力される。つまり、第１〜第３処理が合わせて１サイクルで実行されている。なお、図１６の例では、各サイクルの入力データＤｉｎが入力データｉｎＡ〜ｉｎＨと区別して表され、入力データｉｎＡ〜ｉｎＨに対応する出力データＤｏｕｔが出力データｏｕｔＡ〜ｏｕｔＨと区別して表されている。
【００６１】
（セーフモードでの動作）
次に、再構成可能デバイス１ｃのある一つのセーフモードでの動作について説明する。図１７〜図１９は、再構成可能デバイス１ｃのセーフモードでの動作を説明するためのブロック図である。
【００６２】
図１７に示すように、データパス部１３ｃに設けられたタイルＴ２，Ｔ３に故障が検出された場合、即ち、タイルＴ２，Ｔ３からそれぞれ出力される故障検出信号ＥＲＦ２，ＥＲＦ３がアクティブになった場合、まず、状態遷移管理部１１は、アドレス１番地を表すアドレス信号を出力する。それにより、構成情報格納メモリ１２ｃからアドレス１番地の格納領域に格納された構成情報が読み出され、データパス部１３ｃに供給される。それにより、第１処理を実行するための第１中間処理回路がタイルＴ１によって構成される。
【００６３】
この状態で、データパス部１３ｃに入力データＤｉｎが供給される。タイルＴ１を用いて構成された第１中間処理回路は、入力データＤｉｎに対して第１処理を施し、第１処理が完了すると処理完了信号ＥＶＦ１をインアクティブからアクティブに切り替える。
【００６４】
図１８に示すように、処理完了信号ＥＶＦ１がアクティブになった場合、状態遷移管理部１１は、アドレス１番地からアドレス２番地を表すアドレス信号に切り替えて出力する。それにより、構成情報格納メモリ１２ｃからアドレス２番地の格納領域に格納された構成情報が読み出され、データパス部１３ｃに供給される。それにより、第２処理を実行するための第２中間処理回路がタイルＴ１によって構成される。
【００６５】
この状態で、タイルＴ１を用いて構成された第２中間処理回路には、タイルＴ１による第１処理の結果が供給される。なお、図１８の例では、フィードバック経路は省略されている。タイルＴ１を用いて構成された第２中間処理回路は、第１処理の結果に対して第２処理を施し、第２処理が完了すると処理完了信号ＥＶＦ１をインアクティブからアクティブに切り替える。
【００６６】
図１９に示すように、処理完了信号ＥＶＦ１がアクティブになった場合、状態遷移管理部１１は、アドレス２番地からアドレス３番地を表すアドレス信号に切り替えて出力する。それにより、構成情報格納メモリ１２ｃからアドレス３番地の格納領域に格納された構成情報が読み出され、データパス部１３ｃに供給される。それにより、第３処理を実行するための第３中間処理回路がタイルＴ１によって構成される。なお、このとき、セレクタＳＥＬ３はタイルＴ１の出力結果を選択して出力するように構成される。
【００６７】
この状態で、タイルＴ１を用いて構成された第３中間処理回路には、タイルＴ１による第２処理の結果が供給される。なお、図１９の例では、フィードバック経路は省略されている。タイルＴ１を用いて構成された第３中間処理回路は、第２処理の結果に対して第３処理を施す。そして、タイルＴ１の出力結果は、データパス部１３ｃの出力データＤｏｕｔとして外部に出力される。その結果、データパス部１３ｃでは、所望の処理回路による処理が実行される。
【００６８】
図２０は、再構成可能デバイス１ｃのセーフモードでの動作を示すタイミングチャートである。図２０を参照すると、入力データＤｉｎは、あるサイクルで第１処理が施され、次のサイクルで第２処理が施され、その次のサイクルで第３処理が施された後、その次のサイクルで出力データＤｏｕｔとして出力される。つまり、第１〜第３処理が合わせて３サイクルで実行されている。なお、図２０の例では、入力データＤｉｎが入力データｉｎＡ〜ｉｎＣと区別して表され、入力データｉｎＡ〜ｉｎＣに対応する出力データＤｏｕｔが出力データｏｕｔＡ〜ｏｕｔＣと区別して表されている。
【００６９】
このように、再構成可能デバイス１ｃは、データパス部１３ｃのタイルＴ２，Ｔ３に故障が検出された場合でも、故障が検出されていないタイルＴ１を用いて第１〜第３処理を時分割で実行することで、優先度の低い処理を省略することなく所望の処理回路による処理を実行することができる。
【００７０】
なお、本例では、タイルＴ２，Ｔ３が故障した場合について説明したが、これに限られず、タイルＴ１，Ｔ２が故障した場合や、タイルＴ１，Ｔ３が故障した場合にも、所望の処理回路による処理を実行することができる。なお、タイルＴ１，Ｔ３が故障した場合、故障が検出されていないタイルＴ２を用いて第１〜第３処理が時分割で実行される。また、タイルＴ１，Ｔ２が故障した場合、故障が検出されていないタイルＴ３を用いて第１〜第３処理が時分割で実行される。
【００７１】
また、本例では、３つのタイルＴ１〜Ｔ３のうちの２つが故障した場合について説明したが、これに限られず、何れか１つが故障した場合にも、所望の処理回路による処理を実行することができる。この場合、故障が検出されていない１つ又は２つのタイルを用いて第１〜第３処理が時分割で実行される。
【００７２】
さらに、上述の例では、２つ及び３つのタイルが設けられた場合について説明したが、これに限られず、４つ以上のタイルが設けられていてもよい。
【００７３】
このように、本実施の形態にかかる再構成可能デバイスは、動的に再構成可能なデータパス部に設けられた複数のタイルの何れかに故障が検出された場合、故障が検出されていないタイルを用いて第１中間処理回路を構成した後、再び故障が検出されていないタイルを用いて第２中間処理回路を構成することで、所望の第１処理回路を実現する。それにより、本実施の形態にかかる再構成可能デバイスは、故障が検出された場合でも優先度の低い処理を省略することなく所望の処理を実行することができる。
【００７４】
＜実施の形態２＞
図２１は、実施の形態２にかかる再構成可能デバイス（半導体装置）２の構成例を示すブロック図である。本実施の形態にかかる再構成可能デバイス２は、動的に再構成可能なデータパス部に設けられた複数の論理回路の何れかに故障が検出された場合、複数の論理回路の一部又は全部を用いて複数の第１処理回路を構成し、それら複数の第１処理回路のそれぞれの処理結果に基づいて最終的な第１処理回路の処理結果を決定する。それにより、本実施の形態にかかる再構成可能デバイス２は、故障が検出された場合でも精度の高い処理結果を出力することができる。また、本実施の形態にかかる再構成可能デバイス２は、再構成可能デバイス１の場合と同様に、故障が検出された場合でも優先度の低い処理を省略することなく所望の処理を実行することができる。以下、具体的に説明する。
【００７５】
図２１に示すように、再構成可能デバイス２は、状態遷移管理部２１と、構成情報格納メモリ２２と、データパス部２３と、多数決回路２８と、セレクタ２９と、を備える。また、データパス部２３と状態遷移管理部２１との間には、エラーパス２６が設けられている。状態遷移管理部２１と構成情報格納メモリ２２との間には、アドレスパス２４が設けられている。構成情報格納メモリ２２とデータパス部２３との間には、構成情報パス２５が設けられている。
【００７６】
なお、状態遷移管理部２１、構成情報格納メモリ２２、データパス部２３、アドレスパス２４、構成情報パス２５及びエラーパス２６は、それぞれ、状態遷移管理部１１、構成情報格納メモリ１２、データパス部１３、アドレスパス１４、構成情報パス１５及びエラーパス１６に対応する。本実施形態では、主として実施形態１とは異なる構成及び動作について説明する。
【００７７】
構成情報格納メモリ２２には、例えば、アドレス０番地の格納領域に通常モードの構成情報が格納され、アドレス１番地の格納領域に故障モードの構成情報が格納されている。
【００７８】
図２２は、再構成可能デバイス２の状態遷移図である。状態遷移図の詳細については、再構成可能デバイス２の動作の説明とともに後述する。
【００７９】
（通常モードでの動作）
まず、再構成可能デバイス２の通常モードでの動作について説明する。図２３は、再構成可能デバイス２の通常モードでの動作を説明するためのブロック図である。
【００８０】
図２３に示すように、データパス部２３に設けられた複数の論理回路の何れにも故障が検出されない場合、即ち、データパス部２３から出力される故障検出信号ＥＲＦ１がインアクティブの場合、状態遷移管理部２１は、アドレス０番地を表すアドレス信号を出力する（図２２のＳＴ２１）。それにより、構成情報格納メモリ２２からアドレス０番地の格納領域に格納された構成情報が読み出され、データパス部２３に供給される。それにより、データパス部２３に設けられた複数の論理回路の一部によって第１処理回路２３１が構成される。
【００８１】
この状態で、データパス部２３に入力データＤｉｎが供給される。データパス部２３に設けられた複数の論理回路の一部によって構成された第１処理回路２３１は、入力データＤｉｎに対して所定の処理を施す。第１処理回路２３１の処理結果は、データパス部２３の外部に出力される。なお、このとき、セレクタ２９は、第１処理回路２３１の処理結果を選択して出力データＤｏｕｔとして出力する。
【００８２】
（故障モードでの動作）
次に、再構成可能デバイス２の故障モードでの動作について説明する。図２４は、再構成可能デバイス２の故障モードでの動作を説明するためのブロック図である。
【００８３】
図２４に示すように、データパス部２３に設けられた複数の論理回路の何れかに故障が検出された場合、即ち、データパス部２３から出力される故障検出信号ＥＲＦ１がアクティブになった場合、状態遷移管理部２１は、アドレス１番地を表すアドレス信号を出力する（図２２のＳＴ２２）。それにより、構成情報格納メモリ２２からアドレス１番地の格納領域に格納された構成情報が読み出され、データパス部２３に供給される。それにより、データパス部２３に設けられた複数の論理回路の一部又は全部によって同一構成の３つの第１処理回路２３２〜２３４が構成される。
【００８４】
この状態で、データパス部２３に入力データＤｉｎが供給される。データパス部２３に設けられた複数の論理回路の一部又は全部によって構成された第１処理回路２３２〜２３４は、それぞれ、入力データＤｉｎに対して並列に処理を施す。第１処理回路２３２〜２３４のそれぞれの処理結果は、データパス部２３の外部に出力される。
【００８５】
多数決回路２８は、第１処理回路２３２〜２３４のそれぞれの処理結果のうち多数を占める論理値の処理結果を出力する。セレクタ２９は、多数決回路２８の出力結果を選択して出力データＤｏｕｔとして出力する。つまり、第１処理回路２３２〜２３４のそれぞれの処理結果のうち多数を占める論理値の処理結果が、第１処理回路２３１の処理結果として用いられる。
【００８６】
このように、再構成可能デバイス２は、データパス部２３に設けられた複数の論理回路の何れかに故障が検出された場合、複数の論理回路の一部又は全部を用いて同一構成の３つの第１処理回路２３２〜２３４を構成し、第１処理回路２３２〜２３４のそれぞれの処理結果のうち多数を占める論理値の処理結果を、第１処理回路２３１の処理結果として出力する。それにより、再構成可能デバイス２は、故障が検出された場合でも精度の高い処理結果を出力することができる。なお、再構成可能デバイス２は、再構成可能デバイス１の場合と同様に、故障が検出された場合でも優先度の低い処理を省略することなく所望の処理を実行することができる。
【００８７】
また、再構成可能デバイス２は、データパス部２３に設けられた複数の論理回路の何れにも故障が検出されない場合、当該複数の論理回路の一部を用いて単独の第１処理回路２３１を構成する。それにより、再構成可能デバイス２は、残りの論理回路（ハードウェアリソース）を用いて他の処理回路を構成することができる。
【００８８】
さらに、再構成可能デバイス２では、複数のタイルに分割しておく必要が無いため、実装が容易である。
【００８９】
本実施の形態では、データパス部２３に故障が検出された場合に３個の第１処理回路２３２〜２３４が構成される場合を例に説明したが、これに限られず、より精度を向上させるために４個以上の第１処理回路が構成されてもよい。
【００９０】
また、本実施の形態では、多数決回路２８及びセレクタ２９が設けられた場合を例に説明したが、これに限られない。多数決回路２８及びセレクタ２９は、データパス部２３に設けられた複数の論理回路の一部を用いて構成されても良い。
【００９１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【００９２】
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層（拡散領域）などの導電型（ｐ型もしくはｎ型）を反転させた構成としてもよい。そのため、ｎ型、及びｐ型の一方の導電型を第１の導電型とし、他方の導電型を第２の導電型とした場合、第１の導電型をｐ型、第２の導電型をｎ型とすることもできるし、反対に第１の導電型をｎ型、第２の導電型をｐ型とすることもできる。
【符号の説明】
【００９３】
１  再構成可能デバイス
１ａ，１ｂ，１ｃ  再構成可能デバイス
２  再構成可能デバイス
１１  状態遷移管理部
１２  構成情報格納メモリ
１２ｂ，１２ｃ  構成情報格納メモリ
１３  データパス部
１３ａ，１３ｂ，１３ｃ  データパス部
１４  アドレスパス
１５  構成情報パス
１６  エラーパス
１７  イベントパス
２１  状態遷移管理部
２２  構成情報格納メモリ
２３  データパス部
２４  アドレスパス
２５  構成情報パス
２６  エラーパス
２８  多数決回路
２９  セレクタ
１３１  演算器
１３２  メモリ
１３３  レジスタ
１３４  配線接続回路
１６１〜１６ｎ  エラーパス
１７１〜１７ｎ  イベントパス
２３２〜２３４  処理回路
ＳＥＬ１〜ＳＥＬｎ  セレクタ
Ｔ１〜Ｔｎ  タイル
【図１】
0006489954.tif 000002
【図２】
0006489954.tif 000003
【図３】
0006489954.tif 000004
【図４】
0006489954.tif 000005
【図５】
0006489954.tif 000006
【図６】
0006489954.tif 000007
【図７】
0006489954.tif 000008
【図８】
0006489954.tif 000009
【図９】
0006489954.tif 000010
【図１０】
0006489954.tif 000011
【図１１】
0006489954.tif 000012
【図１２】
0006489954.tif 000013
【図１３】
0006489954.tif 000014
【図１４】
0006489954.tif 000015
【図１５】
0006489954.tif 000016
【図１６】
0006489954.tif 000017
【図１７】
0006489954.tif 000018
【図１８】
0006489954.tif 000019
【図１９】
0006489954.tif 000020
【図２０】
0006489954.tif 000021
【図２１】
0006489954.tif 000022
【図２２】
0006489954.tif 000023
【図２３】
0006489954.tif 000024
【図２４】
0006489954.tif 000025