(57)【特許請求の範囲】
【請求項１】
プログラム可能な回路の構成を決定するための制御装置であって、
ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出する障害検出回路と、
前記障害検出回路が前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて、論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連する前記論理ブロックのクロック信号を停止させる伝搬抑制回路と、
を備える制御装置。
【請求項２】
前記障害検出回路が前記ソフトエラーを検出した前記ＳＲＡＭのデータを書き直す再コンフィギュレーション制御回路、
を備える請求項１に記載の制御装置。
【請求項３】
前記プログラム可能な回路は、ＦＰＧＡまたはＣＰＬＤであり、
前記ＳＲＡＭは、前記ＦＰＧＡまたは前記ＣＰＬＤに備えられる、
請求項１または請求項２に記載の制御装置。
【請求項４】
請求項１から請求項３の何れか一項に記載の制御装置と、
前記ＳＲＡＭを有し、前記制御装置によってルーティングが再構成されるプログラム可能な回路と、
を備えるシステム。
【請求項５】
プログラム可能な回路の構成を決定するための制御装置が実行する制御方法であって、
ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出することと、
前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連するブロック単位でクロック信号を停止させることと、
を含む制御方法。
【請求項６】
プログラム可能な回路の構成を決定するための制御装置が有するコンピュータに、
ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出することと、
前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連するブロック単位でクロック信号を停止させることと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、システム、制御方法及びプログラムに関する。
【背景技術】
【０００２】
ＦＰＧＡ、ＣＰＬＤなどは、産業に多用され、高機能化、高集積化が進んでいる。
特許文献１には、関連する技術として、ソフトエラーの検出を行うＦＰＧＡに係る技術が開示されている。
特許文献２には、関連する技術として、論理回路において故障が発生した場合、セルアレイ単位でクロック信号を停止する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０１３８２９号公報
【特許文献２】特開平１０−０８４２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＦＰＧＡ、ＣＰＬＤなどの回路構成がプログラム可能な回路の高集積化に伴い、回路構成を決定するＦＰＧＡ、ＣＰＬＤ内部のＳＲＡＭの高集積化も進む。そのため、ＳＲＡＭにおけるソフトエラーの影響が無視できなくなる。ＦＰＧＡやＣＰＬＤなどにおけるＳＲＡＭにソフトエラーが発生した場合、ＦＰＧＡやＣＰＬＤなどの回路構成が適切な回路構成にならない可能性がある。ＦＰＧＡやＣＰＬＤなどにおけるＳＲＡＭにソフトエラーが発生した場合、ＳＲＡＭにおけるソフトエラーに関連する回路の動作を停止するために、例えば、特許文献２に記載の発明のように、セルアレイ単位でクロック信号を停止することが考えられる。
しかしながら、セルアレイ単位でクロック信号を停止した場合、ＳＲＡＭにおけるソフトエラーと直接関係のない適切な構成の回路へのクロック信号の供給経路も変更されてしまう可能性がある。その結果、回路構成を適切にするための時間が長くなる可能性がある。
そこで、ＳＲＡＭにソフトエラーが発生した場合に、ＳＲＡＭにおけるソフトエラーに関連するできるだけ小規模な回路へのクロック信号のみを停止させることのできる技術が求められている。
【０００５】
本発明の各態様は、上記の課題を解決することのできる制御装置、システム、制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様によれば、制御装置は、プログラム可能な回路の構成を決定するための制御装置であって、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出する障害検出回路と、前記障害検出回路が前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて、論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連する前記論理ブロックのクロック信号を停止させる伝搬抑制回路と、を備える。
【０００７】
上記目的を達成するために、本発明の別の態様によれば、システムは、上記の制御装置と、前記ＳＲＡＭを有し、前記制御装置によってルーティングが再構成されるプログラム可能な回路と、を備える。
【０００８】
上記目的を達成するために、本発明の別の態様によれば、制御方法は、プログラム可能な回路の構成を決定するための制御装置が実行する制御方法であって、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出することと、前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連するブロック単位でクロック信号を停止させることと、を含む。
【０００９】
上記目的を達成するために、本発明の別の態様によれば、プログラムは、プログラム可能な回路の構成を決定するための制御装置が有するコンピュータに、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出することと、前記ソフトエラーを検出し、前記プログラム可能な回路のコンフィギュレーションデータのソースとなるＲＴＬで記述された回路情報によって示される論理接続と、前記コンフィギュレーションデータがマッピングされる論理ブロックの位置とに基づいて論理的に関連する論理ブロックにルーティングされるように作成されたクロック停止指示信号を受けた場合に、前記ＳＲＡＭが記憶する前記ソフトエラーに関連するブロック単位でクロック信号を停止させることと、を実行させる。
【発明の効果】
【００１０】
本発明の少なくとも１つの態様によれば、ＳＲＡＭにソフトエラーが発生した場合に、ＳＲＡＭにおけるソフトエラーに関連するできるだけ小規模な回路へのクロック信号のみを停止させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態によるＦＰＧＡシステムの構成の一例を示す図である。
【図２】本発明の一実施形態におけるクロック信号の停止を説明するための図である。
【図３】本発明の一実施形態における故障ブロック番号通知信号を説明するための図である。
【図４】本発明の一実施形態における回路の論理の重要性に応じた処理を説明するための図である。
【図５】本発明の一実施形態におけるＶｅｒｉｌｏｇ  ＨＤＬによりＲＴＬで記載されたＳｅｖｅｒｉｔｙ情報の例を示す図である。
【図６】本発明の一実施形態によるＦＰＧＡシステムの処理フローの一例を示す図である。
【図７】本発明の実施形態による最小構成の制御装置を示す図である。
【図８】本発明の実施形態による最小構成の処理フローの例を示す図である。
【図９】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら実施形態について詳しく説明する。
＜実施形態＞
本発明の一実施形態によるＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）システム１は、クロック信号の伝播に不具合が生じた場合に、論理的に関連するブロックのクロック信号を停止させることによって、障害が伝搬することを抑制するシステムである。ＦＰＧＡシステム１は、図１に示すように、ＦＰＧＡ１０、コンフィギュレーション回路２０（制御装置の一例）を備える。
なお、本発明の一実施形態では、回路構成がプログラム可能な回路としてＦＰＧＡ１０を例に説明する。しかしながら、回路構成がプログラム可能な回路はＦＰＧＡに限定されるものではない。例えば、回路構成がプログラム可能な回路は、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）であってよい。
【００１３】
ＦＰＧＡ１０は、ＬＢ（Ｌｏｇｉｃ  Ｂｌｏｃｋ）１０１ａ、１０１ｂ、１０１ｃ、ＣＢ（Ｃｏｎｎｅｃｔｉｏｎ  Ｂｌｏｃｋ）１０２ａ、１０２ｂ、１０２ｃ、ＳＷＢ（Ｓｗｉｔｃｈ  Ｂｌｏｃｋ）１０３、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆ、データバス１０５ａ、１０５ｂ、１０５ｃ、１０５ｄ、１０５ｅ、１０５ｆを備える。
なお、図１では、ＳＲＡＭ１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆは省略されており、代わりに、図２にＳＲＡＭ１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆが記載されている。
【００１４】
ＬＢ１０１ａは、ＳＬＩＣＥ１０１ａ１、１０１ａ２、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラー検出回路１０１ａ３（障害検出回路の一例）、クロック制御回路１０１ａ４（伝搬抑制回路の一例）を備える。
【００１５】
ＳＬＩＣＥ１０１ａ１は、ルックアップテーブル（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ、以下、ＬＵＴと記載）１０１ａ１１、フリップフロップ（Ｆｌｉｐ  Ｆｌｏｐ、以下、ＦＦと記載）１０１ａ１２を備える。
【００１６】
ＬＢ１０１ｂは、ＳＬＩＣＥ１０１ｂ１、１０１ｂ２、ＣＲＣエラー検出回路１０１ｂ３（障害検出回路の一例）、クロック制御回路１０１ｂ４（伝搬抑制回路の一例）を備える。
ＳＬＩＣＥ１０１ｂ１は、ＬＵＴ１０１ｂ１１、ＦＦ１０１ｂ１２を備える。
【００１７】
ＬＢ１０１ｃは、ＳＬＩＣＥ１０１ｃ１、１０１ｃ２、ＣＲＣエラー検出回路１０１ｃ３（障害検出回路の一例）、クロック制御回路１０１ｃ４（伝搬抑制回路の一例）を備える。
ＳＬＩＣＥ１０１ｂ１は、ＬＵＴ１０１ｂ１１、ＦＦ１０１ｂ１２を備える。
【００１８】
ＣＢ１０２ａは、ＣＲＣエラー検出回路１０２ａ３（障害検出回路の一例）を備える。
ＣＢ１０２ｂは、ＣＲＣエラー検出回路１０２ｂ３（障害検出回路の一例）を備える。
ＣＢ１０２ｃは、ＣＲＣエラー検出回路１０２ｃ３（障害検出回路の一例）を備える。
ＳＷＢ１０３は、ＣＲＣエラー検出回路１０３３（障害検出回路の一例）を備える。
【００１９】
ＳＲＡＭ１０４ａは、ＬＢ１０１ａに関するＳｅｖｅｒｉｔｙ情報１０４ａｉ１、コンフィギュレーション制御データ１０４ａｉ２、ＣＲＣ情報１０４ａｉ３、クロック停止指示ルーティング情報１０４ａｉ４を記憶する。Ｓｅｖｅｒｉｔｙ情報は、ＳＲＡＭの書き直しを判断するための情報である。例えば、Ｖｅｒｉｌｏｇ  ＨＤＬの記述の中で、本来コメントである／／部分に特定のコメント文（図５に示す例では、ＳＥＶＥＲＩＴＹが文頭）をコンパイル指示子として、／／ＳＥＶＥＲＩＴＹ＿ＦＡＴＡＬ＿ＢＥＧＩＮから／／ＳＥＶＥＲＩＴＹ＿ＥＮＤまのでの区間に記述した機能を制御するＳＲＡＭが故障した時、ＦＰＧＡシステム１における回路がどのように動作すべきかをユーザが予めＶｅｒｉｌｏｇ  ＨＤＬで記述している。Ｖｅｒｉｌｏｇ  ＨＤＬのコンパイラが、／／部分の特定文字列のコンパイル指示子を解釈し、ＦＰＧＡのＳＲＡＭに書き込むデータを作成する時、図４に示すようなＳｅｖｅｒｉｔｙ情報を作成する。Ｓｅｖｅｒｉｔｙ情報は、ＦＰＡＧのコンフィギュレーション時に、Ｖｅｒｉｌｏｇ  ＨＤＬで記述された回路を制御する情報を記憶しているＳＲＡＭと同一のＳＲＡＭに記録される。Ｖｅｒｉｌｏｇ  ＨＤＬで記述された動作を実行するための制御情報が書き込まれたＳＲＡＭにおいてＣＲＣエラーが発生した場合、後述する再コンフィギュレーション制御回路２０１によって、Ｓｅｖｅｒｉｔｙ情報に基づいて、動作（具体的には、Ｃｏｒｒｅｃｔａｂｌｅエラー、Ｒｅｃｏｖｅｒａｂｌｅエラー、Ｆａｔａｌエラーのいずれを報告するか、ＳＲＡＭの再書き込みを行うか否か、ｃｌｏｃｋを停止するか否か）が制御される。コンフィギュレーション制御データは、ＦＰＧＡシステム１が起動されコンフィギュレーションプログラムが実行されたときに、ＦＰＧＡ１０の構成を決定するためのコンフィギュレーションデータを用いてルーティングを制御するデータである。コンフィギュレーション制御データにより、コンフィギュレーションデータがＬＢ構成信号１０４ａｓ２としてＬＢ１０１ａに転送される。ＣＲＣ結果は、ＣＲＣエラー検出回路によるルーティングの正当性のチェックにおけるＣＲＣのエラーの検出結果を示す情報である。クロック停止指示ルーティング情報は、ＣＲＣエラー検出回路によりＣＲＣのエラーが検出された場合にクロックを停止させるルーティングを示す情報である。
【００２０】
ＳＲＡＭ１０４ｂは、ＣＢ１０２ｂに関するＳｅｖｅｒｉｔｙ情報１０４ｂｉ１、コンフィギュレーション制御データ１０４ｂｉ２、ＣＲＣ情報１０４ｂｉ３、クロック停止指示ルーティング情報１０４ｂｉ４を記憶する。
【００２１】
ＳＲＡＭ１０４ｃは、ＬＢ１０１ｂに関するＳｅｖｅｒｉｔｙ情報１０４ｃｉ１、コンフィギュレーション制御データ１０４ｃｉ２、ＣＲＣ情報１０４ｃｉ３、クロック停止指示ルーティング情報１０４ｃｉ４を記憶する。
【００２２】
ＳＲＡＭ１０４ｄは、ＳＷＢ１０３に関するＳｅｖｅｒｉｔｙ情報１０４ｄｉ１、コンフィギュレーション制御データ１０４ｄｉ２、ＣＲＣ情報１０４ｄｉ３、クロック停止指示ルーティング情報１０４ｄｉ４を記憶する。
【００２３】
ＳＲＡＭ１０４ｅは、ＣＢ１０２ｃに関するＳｅｖｅｒｉｔｙ情報１０４ｅｉ１、コンフィギュレーション制御データ１０４ｅｉ２、ＣＲＣ情報１０４ｅｉ３、クロック停止指示ルーティング情報１０４ｅｉ４を記憶する。
【００２４】
ＳＲＡＭ１０４ｆは、ＬＢ１０１ｃに関するＳｅｖｅｒｉｔｙ情報１０４ｆｉ１、コンフィギュレーション制御データ１０４ｆｉ２、ＣＲＣ情報１０４ｆｉ３、クロック停止指示ルーティング情報１０４ｆｉ４を記憶する。
【００２５】
データバス１０５ａは、ＬＢ１０１ａとＣＢ１０２ｂとの間に設けられる。データバス１０５ａは、ＬＢ１０１ａとＣＢ１０２ｂとの間でデータを伝送する。
【００２６】
データバス１０５ｂは、ＣＢ１０２ｂとＳＷＢ１０３との間に設けられる。データバス１０５ｂは、ＣＢ１０２ｂとＳＷＢ１０３との間でデータを伝送する。
【００２７】
データバス１０５ｃは、ＳＷＢ１０３とＣＢ１０２ｃとの間に設けられる。データバス１０５ｃは、ＳＷＢ１０３とＣＢ１０２ｃとの間でデータを伝送する。
【００２８】
データバス１０５ｄは、ＣＢ１０２ａとＳＷＢ１０３との間に設けられる。データバス１０５ｄは、ＣＢ１０２ａとＳＷＢ１０３との間でデータを伝送する。
【００２９】
データバス１０５ｅは、ＬＢ１０１ｂとＣＢ１０２ｃとの間に設けられる。データバス１０５ｅは、ＬＢ１０１ｂとＣＢ１０２ｃとの間でデータを伝送する。
【００３０】
データバス１０５ｆは、ＣＢ１０２ｃとＬＢ１０１ｃとの間に設けられる。データバス１０５ｆは、ＣＢ１０２ｃとＬＢ１０１ｃとの間でデータを伝送する。
【００３１】
データバス１０５ｇは、ＳＷＢ１０３と他のＣＢとの間に設けられる。データバス１０５ｆは、ＳＷＢ１０３と他のＣＢとの間でデータを伝送する。
【００３２】
データバス１０５ｈは、ＬＢ１０１ａとＣＢ１０２ａとの間に設けられる。データバス１０５ｆは、ＬＢ１０１ａとＣＢ１０２ａとの間でデータを伝送する。
【００３３】
データバス１０５ｉは、ＣＢ１０２ａとＬＢ１０１ｂとの間に設けられる。データバス１０５ｆは、ＣＢ１０２ａとＬＢ１０１ｂとの間でデータを伝送する。
【００３４】
データバス１０５ｊは、ＣＢ１０２ａと他のＳＷＢとの間に設けられる。データバス１０５ｆは、ＣＢ１０２ａと他のＳＷＢとの間でデータを伝送する。
【００３５】
ＣＬＢ１０１ａが備えるＳＬＩＣＥ１０１ａ１内のＬＵＴ１０１ａ１１とＦＦＦ１０１ａ１２の回路構成は、ＳＲＡＭ１０４ａが記憶するコンフィギュレーション制御データ１０４ａｉ２を用いて制御される。ＳＲＡＭ１０４ａは、ルーティングを決定するコンフィギュレーションデータの正当性をチェックのためのＣＲＣ情報１０４ａｉ３を記憶する。本実施形態では、これらの情報に加えて、上述のように、ＬＢ１０１ｂ、１０１ｃ、ＣＢ１０２ａ、１０２ｂ、１０２ｃ、ＳＷＢ１０３それぞれに対応するＳＲＡＭがＳｅｖｅｒｉｔｙ情報、コンフィギュレーション制御データ、ＣＲＣ結果を記憶する。また、ＳＲＡＭは、ＳＲＡＭに対応するＬＢ１０１ｂ、１０１ｃ、ＣＢ１０２ａ、１０２ｂ、１０２ｃ、ＳＷＢ１０３と論理的に関連するその他のＬＢ、ＣＢ、ＳＷＢなどへのクロックの供給を停止させるルーティングの情報を示すクロック停止指示ルーティング情報を記憶する。
【００３６】
クロック制御回路１０１ａ４は、ＦＰＧＡ１０が備えるＳＬＩＣＥ１０１ａ１、ＳＬＩＣＥ１０１ａ２、ＣＲＣエラー検出回路１０１ａ３、及び、ＳＬＩＣＥ１０１ａ１、１０１ａ２におけるクロック信号の供給を制御する回路である。
ＣＲＣエラー検出回路１０１ａ３は、ＬＢ１０１ａが備えるＳＲＡＭ１０４ａに記憶されたＣＲＣ情報１０４ａｉ３に基づいて、Ｓｅｖｅｒｉｔｙ情報１０４ａｉ１、コンフィギュレーション制御データ１０４ａｉ２をチェックする。
ＣＲＣエラー検出回路１０１ａ３は、ＳＲＡＭに書き込まれた、コンフィギュレーション制御データと、クロックルーティング情報と、Ｓｅｖｅｒｉｔｙ情報とについて、ＣＲＣ情報を使用してＣＲＣチェックを行う。ＣＲＣエラー検出回路１０１ａ３は、ＣＲＣエラーが無ければ正常に動作していると判定する。また、ＣＲＣエラー検出回路１０１ａ３は、ＣＲＣエラーを検出した場合、Ｓｅｖｅｒｉｔｙ情報に従って、障害を報告するか否か、ＳＲＡＭの再書き込みを行うか否か、クロックを停止するか否かを判定し、判定した内容の処理を実施する。
【００３７】
ＣＲＣエラー検出回路１０１ａ３は、ＣＲＣエラーを検出した場合、ＣＲＣエラーが検出されたＳＲＡＭが記憶するＳｅｖｅｒｉｔｙ情報に応じて、接続されているクロック制御回路１０１ａ４、１０１ｂ４、１０１０１ｃ４にクロック停止指示信号１０１ａ３ｓ２を送信する。クロック制御回路１０１ａ４、１０１ｂ４、１０１０１ｃ４は、クロック停止指示信号１０１ａ３ｓ２を受信すると、ＳＬＩＣＥへのクロック信号の供給を停止させる。
【００３８】
ここで、クロック停止指示信号１０１ａ３ｓ２のルーティングの制御について説明する。クロック停止指示ルーティング情報１０４ａｉ４は、ＦＰＧＡ１０のコンフィギュレーションデータのソースとなるＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）で記述された回路情報をコンフィギュレーションデータにコンパイルする処理の中で作成される。クロック停止指示ルーティング情報１０４ａｉ４は、ＲＴＬで記述された回路情報が示す論理接続とコンフィギュレーションデータがマッピングされるＬＢの位置とに基づいて、論理的に関連するＬＢにクロック停止指示信号がルーティングされるようにコンパイラが判定して作成される。
例えば、コンパイラは、一定の距離の範囲内に存在するＬＢへのパスをルーティングする。また、例えば、コンパイラは、一定の配線町の範囲内で接続されているＬＢへのパスをルーティングする。
【００３９】
ＣＢ１０２ｂは、ＳＲＡＭ１０４ｂが記憶するクロック停止指示ルーティング情報に基づいて制御される。ＣＢ１０２ｂは、図２に示すように、ＣＢ１０２ｂに接続されるデータバス１０５ａ、１０５ｂの信号及びその他のＬＢ、ＣＢ、ＳＷＢなどへのデータバスの信号の接続を、ＳＲＡＭ１０４ｂ内のコンフィギュレーション制御データ１０４ｂｉ２により制御する。クロック停止指示信号１０１ａ３ｓ２のＣＢ１０２ｂにおけるルーティングは、ＣＢ１０２ｂにおけるルーティングを示すＳＲＡＭ１０４ｂが記憶するクロック停止指示ルーティング情報１０４ｂｉ４に基づいて制御される。
【００４０】
クロック停止指示信号１０１ａ３ｓ２は、データバス１０５ｂ、１０５ｃ、１０５ｄ、その他のＬＢ、ＣＢ、ＳＷＢなどからのデータバス信号が接続されるＳＷＢ１０３と、データバス１０５ｃ、１０５ｅ、１０５ｆの信号が接続されるＣＢ１０２ｃを経由して、ＬＢ１０１ａと論理的に関連するＬＢ１０１ｂ及びＬＢ１０１ｃのクロック制御回路１０１ｂ４、１０１ｃ４に送出される。クロック制御回路１０１ｂ４、１０１ｃ４は、クロック停止指示信号１０１ａ３ｓ２を受けると、自身が供給しているＳＬＩＣＥへのクロック信号の供給を停止する。
以上、クロック停止指示信号１０１ａ３ｓ２のルーティングの制御についての説明である。
【００４１】
ＣＢ１０２ａは、ＬＢ１０１ａへのデータバス１０５ｈの接続、ＬＢ１０１ｂへのデータバス１０５ｉの接続、ＳＷＢ１０３へのデータバス１０５ｄの接続、その他のＳＷＢへのデータバス１０５ｊの接続を制御する。
再コンフィギュレーション制御回路２０１は、ＦＰＧＡ１０が備える複数のＳＲＡＭが記憶するＣＲＣ結果をＣＲＣエラー検出信号１０１ａ３ｓ１、１０２ｂ３ｓ１として受けるとともに、複数のＳＲＡＭが記憶するＳｅｖｅｒｉｔｙ情報をＳｅｖｅｒｉｔｙ情報信号１０４ａｓ１、１０４ａｓ４として受ける。再コンフィギュレーション制御回路２０１は、ＣＲＣエラー検出信号１０１ａ３ｓ１、１０２ｂ３ｓ１とＳｅｖｅｒｉｔｙ情報信号１０４ａｓ１、１０４ａｓ４を受けると、ＣＲＣエラーが発生したＳＲＡＭのＳｅｖｅｒｉｔｙに応じてエラー発生Ｓｅｖｅｒｉｔｙ報告信号２０１ｓ１をＦＰＧＡ１０の外部に通知する。
【００４２】
また、再コンフィギュレーション制御回路２０１は、ＣＲＣエラーが発生したＳＲＡＭが記憶するｆｐｇａ０の構成部分に応じて、故障したブロックの番号を通知する故障ブロック番号通知信号２０１ｓ３をコンフィギュレーションデータアドレステーブル２０２に送出する。なお、故障ブロック番号通知信号２０１ｓ３は、図３に示すような信号である。
【００４３】
更に、再コンフィギュレーション制御回路２０１は、ＣＲＣエラーが発生したＳＲＡＭのＳｅｖｅｒｉｔｙ情報に応じて、故障したＳＲＡＭの再書き込みを実施するか否かを判定する。例えば、再コンフィギュレーション制御回路２０１は、ＣＲＣエラーが発生したＳＲＡＭについて、図４で示されるＳｅｖｅｒｉｔｙ情報のＲｅｃｏｎｆｉｇ  ｂｉｔが１である場合、ＳＲＡＭの再書き込みを行うと判定する。また、再コンフィギュレーション制御回路２０１は、ＣＲＣエラーが発生したＳＲＡＭについて、Ｒｅｃｏｎｆｉｇ  ｂｉｔが０である場合、ＳＲＡＭの再書き込みを行わないと判定する。再コンフィギュレーション制御回路２０１は、ＳＤＲＡＭ書き込み指示信号２０１ｓ２を、ＳＲＡＭコンフィギュレーションデータ書き込み回路２０４に送出する。
なお、Ｓｅｖｅｒｉｔｙ情報としては、図４に示すように、コンフィギュレーションデータによって構成される回路の論理の重要性を示すＦａｔａｌレベル、Ｒｅｃｏｖｅｒａｂｌｅレベル、Ｃｏｒｒｅｃｔａｂｌｅレベルのいずれかが設定される。Ｆａｔａｌレベルとは、回復できない致命的なレベルのことである。Ｒｅｃｏｖｅｒａｂｌｅレベルとは、回復できるレベルのことである。Ｃｏｒｒｅｃｔａｂｌｅレベルとは、正しく直すことが可能なレベルのことである。
【００４４】
ＣＲＣエラーが発生してＳＲＡＭに設定されたＳｅｖｅｒｉｔｙ情報がＦａｔａｌレベルである場合、再コンフィギュレーション制御回路２０１は、Ｆａｔａｌレベルのエラーが発生したことをＦＰＧＡ１０の外部に通知し、クロック信号を停止し、ＳＲＡＭが記憶する情報を書き直す。
【００４５】
また、ＣＲＣエラーが発生してＳＲＡＭに設定されたＳｅｖｅｒｉｔｙ情報がＲｅｃｏｖｅｒａｂｌｅレベルである場合、再コンフィギュレーション制御回路２０１は、Ｒｅｃｏｖｅｒａｂｌｅレベルのエラーが発生したことをＦＰＧＡ１０の外部に通知し、ＳＲＡＭが記憶する情報を書き直す。
【００４６】
また、ＣＲＣエラーが発生してＳＲＡＭに設定されたＳｅｖｅｒｉｔｙ情報がＣｏｒｒｅｃｔａｂｌｅレベルである場合、再コンフィギュレーション制御回路２０１は、Ｃｏｒｒｅｃｔａｂｌｅレベルのエラーが発生したことをＦＰＧＡ１０の外部に通知し、ＳＲＡＭが記憶する情報を書き直す。
【００４７】
Ｓｅｖｅｒｉｔｙ情報は、図５に示すように、一般的にプラグマ、または、デレクティブと呼ばれるコンパイラ指示子によって記述される。図５に示すＳｅｖｅｒｉｔｙ情報は、Ｖｅｒｉｌｏｇ  ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によりＲＴＬで記述された例である。
図５に示す例では、”／／ＳＥＶＥＲＩＴＹ＿ＦＡＴＡＬ＿ＢＥＧＩＮ”から“／／ＳＥＶＥＲＩＴＹ＿ＥＮＤ”までの論理を決定するＳｅｖｅｒｉｔｙ情報がＦａｔａｌレベルの記載である。
また、”／／ＳＥＶＥＲＩＴＹ＿ＣＯＲＲＥＣＴＡＢＬＥ＿ＢＥＧＩＮ”から“／／ＳＥＶＥＲＩＴＹ＿ＥＮＤ”までの論理を構成するＳｅｖｅｒｉｔｙ情報がＣｏｒｒｅｃｔａｂｌｅレベルの記載である。
また、”／／ＳＥＶＥＲＩＴＹ＿ＲＥＣＯＶＥＲＡＢＬＥ_ＢＥＧＩＮ”から“／／ＳＥＶＥＲＩＴＹ＿ＥＮＤ”までの論理を構成するＳｅｖｅｒｉｔｙ情報がＲｅｃｏｖｅｒａｂｌｅレベルの記載である。ここに記載されているコンパイラ指示子によりコンパイラがＳｅｖｅｒｉｔｙ情報を解釈し、図４に示すように、ＳＲＡＭが記憶する情報が書き直される。
【００４８】
コンフィギュレーションデータアドレステーブル２０２は、ＦＰＧＡ１０が備えるＳＲＡＭに書き込むコンフィギュレーションデータのアドレスとＳＲＡＭの番号との対応表を含む。ＳＲＡＭに故障が発生し、ＳＤＲＡＭ書き込み指示信号２０１ｓ２によりＳＲＡＭの再書き込みが指示された場合、再コンフィギュレーション制御回路２０１は、再コンフィギュレーション制御回路２０１から送出される故障した故障ブロック番号通知信号２０１ｓ３をインディックスとして、コンフィギュレーションデータアドレステーブル２０２を索引する。そして、その索引結果としてコンフィギュレーションデータアドレステーブル２０２から再コンフィギュレーション対象情報２０２ｉ１と再コンフィギュレーションデータアドレス情報２０２ｉ２がＳＲＡＭコンフィギュレーションデータ書き込み回路２０４に出力される。
【００４９】
再コンフィギュレーションデータアドレス情報２０２ｉ２をアドレス情報として、ＳＲＡＭの書き直しに必要な再コンフィギュレーションデータ２０３ｉ１がコンフィギュレーションデータストレージ２０３から読み出される。再コンフィギュレーション対象情報２０２ｉ１と、コンフィギュレーションデータストレージ２０３から読み出された再コンフィギュレーションデータ２０３ｉ１と、ＳＤＲＡＭ書き込み指示信号２０１ｓ２とが、ＳＲＡＭコンフィギュレーションデータ書き込み回路２０４に入力される。ＳＲＡＭコンフィギュレーションデータ書き込み回路２０４は、対象の故障ＳＤＲＡＭのみに書き込みデータ及び書き込み制御信号２０４ｓ１を送る。対象の故障ＳＤＲＡＭのみにＳＲＡＭデータの書き込みが行われることにより、ＦＰＧＡ１０のコンフィギュレーションデータの復旧を完了する。
【００５０】
次に、本発明の一実施形態によるＦＰＧＡシステム１の処理について説明する。
ここでは、図６に示すＦＰＧＡシステム１の処理フローについて説明する。
【００５１】
ＦＰＧＡシステム１の動作中に、ＦＰＧＡ１０が備えるＬＢ１０１ａの回路構成を制御するコンフィギュレーション制御データを記憶するＳＲＡＭ１０４ａにおいてＣＲＣエラーエラー（この例では、ソフトエラー）が発生したとする。ＳＲＡＭ１０４ａにおいてＣＲＣエラーが発生すると（ステップＳ１）、ＬＢ１０１ａが備えるＣＲＣエラー検出回路１０１ａ３は、ＳＲＡＭ１０４ａのＣＲＣエラーを検出する（ステップＳ２）。
【００５２】
ＬＢ１０１ａにマッピングされた論理ブロックは、ＬＢ１０１ｂとＬＢ１０１ｃである。ＣＢ１０２ｂ、ＳＷＢ１０３、ＣＢ１０２ｃ、ＬＢ１０１ｂ、ＬＢ１０１ｃを経由するクロック停止指示信号１０１ａ３ｓ２が伝送される経路は、図２に示すように、予めルーティングされている。ＬＢ１０１ａのクロック制御回路１０１ａ４においてＬＢ１０１ａのクロック信号が停止されると、それと同時に、ＣＢ１０２ｂ、ＳＷＢ１０３、ＣＢ１０２ｃを経由してクロック停止指示信号１０１ａ３ｓ２は、クロック制御回路１０１ｂ４、１０１ｃ４に送出される。クロック停止指示信号１０１ａ３ｓ２を受信したクロック制御回路１０１ｂ４、１０１ｃ４は、ＬＢ１０１ｂとＬＢ１０１ｃのクロック信号を停止させる（ステップＳ３）。
このクロック停止指示信号１０１ａ３ｓ２に応じて、クロック制御回路１０１ｂ４、１０１ｃ４が、ＬＢ１０１ｂとＬＢ１０１ｃのクロック信号を停止させることにより、故障したＣＬＢから不正な状態がＦＰＧＡ１０内を伝搬することを最小限に抑えることができる。
【００５３】
ＣＲＣエラー検出回路１０１ａ３は、ＣＲＣエラー検出信号１０１ａ３ｓ１を、ＬＢ１０１ａから再コンフィギュレーション制御回路２０１に送出する。再コンフィギュレーション制御回路２０１は、図４に示すように、ＣＲＣエラー（この例では、ソフトエラー）が発生したＳＲＡＭ１０４ａが記憶するＳｅｖｅｒｉｔｙ情報に応じたＳｅｖｅｒｉｔｙ情報信号１０４ａｓ１と、障害の重要度に応じたエラー発生Ｓｅｖｅｒｉｔｙ報告信号２０１ｓ１とをＦＰＧＡ１０の外部に通知する（ステップＳ４）。なお、Ｓｅｖｅｒｉｔｙ情報には誤り訂正符号（ＥＣＣ）が付加され、Ｓｅｖｅｒｉｔｙ情報の正当性は確保されている。また、再コンフィギュレーション制御回路２０１は、障害の重要度に応じたＳＤＲＡＭ書き込み指示信号２０１ｓ２をＳＲＡＭコンフィギュレーションデータ書き込み回路２０４に送出する。再コンフィギュレーション制御回路２０１は、受信したＣＲＣエラー検出信号１０１ａ３ｓ１に基づいて、故障したブロックを判断し故障ブロックの対応する故障ブロック番号通知信号２０１ｓ３をコンフィギュレーションデータアドレステーブル２０２に送出する。コンフィギュレーションデータアドレステーブル２０２には、ＦＰＧＡにコンフィギュレーションデータを書き込むときに、ＳＲＡＭからロードするコンフィギュレーションデータのアドレスに対応するＳＲＡＭのブロック番号が書き込まれている。
【００５４】
ＳＲＡＭにおいてＣＲＣエラー（この例では、ソフトエラー）が発生した場合、ＣＲＣエラー検出回路１０１ａ３のＣＲＣエラー検出信号１０１ｓ３ｓ１、または、ＣＲＣエラー検出回路１０２ｂ３のＣＲＣエラー検出信号１０２ｂ３ｓ１が再コンフィギュレーション制御回路２０１に送られる。再コンフィギュレーション制御回路２０１は、どのＣＲＣエラー検出回路でエラーが発生したか判定し、故障ブロック番号通知信号２０１ｓ３をコンフィギュレーションデータアドレステーブル２０２に送る。コンフィギュレーションデータアドレステーブル２０２は、故障ブロック番号通知信号２０１ｓ３をインディックスとしてコンフィギュレーションデータアドレステーブル２０２を索引する（ステップＳ５）。そして、再コンフィギュレーション対象情報２０２ｉ１と再コンフィギュレーションデータアドレス情報２０２ｉ２が出力される。
【００５５】
本実施形態における故障の例では、再コンフィギュレーション対象情報２０２ｉ１としてＳＲＡＭブロック番号ＳＲＡＭ１０１ａと、再コンフィギュレーションデータアドレス情報２０２ｉ２としてＳＲＡＭ１０４ａに書き込むコンフィギュレーションデータのアドレスとが、コンフィギュレーションデータアドレステーブル２０２に出力される。再コンフィギュレーションデータアドレス情報２０２ｉ２は、ＦＰＧＡ１０の内部、または、ｆｐｇａ０の外部のＦｌａｓｈメモリまたはＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのコンフィギュレーションデータストレージ２０３に送出される。そして、コンフィギュレーションデータストレージ２０３からＳＲＡＭ１０４ａに書き込む再コンフィギュレーションデータ２０３ｉ１が読み出される（ステップＳ６）。
本実施形態における故障の例では、再コンフィギュレーションデータ２０３ｉ１と再コンフィギュレーション対象情報２０２ｉ１、すなわち、ＳＲＡＭ１０１ａのブロック番号とＳＤＲＡＭ書き込み指示信号２０１ｓ２とがＳＲＡＭコンフィギュレーションデータ書き込み回路２０４に送信される。ＳＲＡＭコンフィギュレーションデータ書き込み回路２０４は、故障したＳＲＡＭ１０４ａにコンフィギュレーションデータを書き込み直すことにより（ステップＳ７）、ＬＢ１０１ａに対応するＳＲＡＭ１０４ａが記憶するデータを復旧させる（ステップＳ８）。ＳＲＡＭ１０４ａが記憶するデータが復旧することにより、ＣＲＣエラーが解消され、クロック信号の供給が再開されて（ステップＳ９）、ＦＰＧＡ１０の動作が再開される。
【００５６】
以上、本発明の一実施形態によるＦＰＧＡシステム１について説明した。
ＦＰＧＡシステム１において、ＣＲＣエラー検出回路１０１ａ３は、ＳＲＡＭ１０４ａのＣＲＣエラーを検出する。クロック制御回路１０１ｂ４、１０１ｃ４は、ＳＲＡＭ１０４ａを備えるＬＢ１０１ａにマッピングされた論理ブロックであるＬＢ１０１ｂとＬＢ１０１ｃのクロック信号を停止させる。
こうすることで、ＦＰＧＡシステム１は、ブロック単位でクロック信号を停止させることができる。その結果、ＳＲＡＭにおいてソフトエラーが発生した場合に、ＦＰＧＡシステム１は、例えば、特許文献２などに記載の発明のような、セルアレイ単位でクロック信号を停止した場合に比べて、小さな規模でクロック信号を停止させることができ、回路構成を適切な構成にする処理も変更が少ないため早急に行うことができる。
【００５７】
本発明の実施形態による最小構成の制御装置２００について説明する。
制御装置２００は、図７に示すように、障害検出回路２１０、伝搬抑制回路２２０を備える。
障害検出回路２１０は、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出する。
伝搬抑制回路２２０は、障害検出回路２１０が前記ソフトエラーを検出した場合に、前記ソフトエラーに関連するブロック単位でクロック信号を停止させる。
【００５８】
次に、本発明の実施形態による最小構成の制御装置２００の処理について説明する。
障害検出回路２１０は、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出する（ステップＳ１１）。
伝搬抑制回路２２０は、障害検出回路２１０が前記ソフトエラーを検出した場合に、前記ソフトエラーに関連するブロック単位でクロック信号を停止させる（ステップＳ１２）。
【００５９】
以上、本発明の実施形態による最小構成の制御装置２００について説明した。
このように、制御装置２００を構成することで、ＳＲＡＭにおいてソフトエラーが発生した場合に、制御装置２００は、例えば、特許文献２などに記載の発明のような、セルアレイ単位でクロック信号を停止した場合に比べて、小さな規模でクロック信号を停止させることができ、回路構成を適切な構成にする処理も変更が少ないため早急に行うことができる。
【００６０】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００６１】
本発明の実施形態におけるＳＲＡＭ１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆ、コンフィギュレーションデータアドレステーブル２０２、コンフィギュレーションデータストレージ２０３、その他の記憶装置（レジスタ、ラッチを含む）のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、本発明の実施形態におけるＳＲＡＭ１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆ、コンフィギュレーションデータアドレステーブル２０２、コンフィギュレーションデータストレージ２０３、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００６２】
本発明の実施形態について説明したが、上述のＦＰＧＡ１０、コンフィギュレーション回路２０、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【００６３】
図８は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ５は、図８に示すように、ＣＰＵ６、メインメモリ７、ストレージ８、インターフェース９を備える。
例えば、上述のＦＰＧＡ１０、コンフィギュレーション回路２０、その他の制御装置のそれぞれは、コンピュータ５に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ８に記憶されている。ＣＰＵ６は、プログラムをストレージ８から読み出してメインメモリ７に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ６は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ７に確保する。
【００６４】
ストレージ８の例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリ等が挙げられる。ストレージ８は、コンピュータ５のバスに直接接続された内部メディアであってもよいし、インターフェース９または通信回線を介してコンピュータ５に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ５に配信される場合、配信を受けたコンピュータ５が当該プログラムをメインメモリ７に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ８は、一時的でない有形の記憶媒体である。
【００６５】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【符号の説明】
【００６７】
１・・・ＦＰＧＡシステム
５・・・コンピュータ
６・・・ＣＰＵ
７・・・メインメモリ
８・・・ストレージ
９・・・インターフェース
１０・・・ＦＰＧＡ
２０・・・コンフィギュレーション回路
１０１ａ、１０１ｂ、１０１ｃ・・・ＬＢ（Ｌｏｇｉｃ  Ｂｌｏｃｋ）
１０１ａ１、１０１ａ２、１０１ｂ１、１０１ｂ２、１０１ｃ１、１０１ｃ２・・・ＳＬＩＣＥ
１０１ａ３、１０１ｂ３、１０１ｃ３・・・ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラー検出回路
１０１ａ４、１０１ｂ４、１０１ｃ４・・・クロック制御回路
１０１ａ１１、１０１ｂ１１・・・ルックアップテーブル
１０１ａ１２、１０１ｂ１２・・・フリップフロップ
１０２ａ、１０２ｂ、１０２ｃ・・・ＣＢ（Ｃｏｎｎｅｃｔｉｏｎ  Ｂｌｏｃｋ）
１０２ａ３、１０２ｂ３、１０２ｃ３、１０３３・・・ＣＲＣエラー検出回路
１０３・・・ＳＷＢ（Ｓｗｉｔｃｈ  Ｂｌｏｃｋ）
１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１０４ｅ、１０４ｆ・・・ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１０５ａ、１０５ｂ、１０５ｃ、１０５ｄ、１０５ｅ、１０５ｆ・・・データバス
２００・・・制御装置
２１０・・・障害検出回路
２２０・・・伝搬抑制回路
【要約】
【課題】ＳＲＡＭにソフトエラーが発生した場合に、ＳＲＡＭにおけるソフトエラーに関連するできるだけ小規模な回路へのクロック信号のみを停止させることのできる制御装置を提供する。
【解決手段】制御装置は、ＳＲＡＭが記憶するＣＲＣ情報に基づいて前記ＳＲＡＭにおけるソフトエラーを検出する障害検出回路と、前記障害検出回路が前記ソフトエラーを検出した場合に、前記ソフトエラーに関連するブロック単位でクロック信号を停止させる伝搬抑制回路と、を備える。
【選択図】図７【図１】
0006892163.tif 000002
【図２】
0006892163.tif 000003
【図３】
0006892163.tif 000004
【図４】
0006892163.tif 000005
【図５】
0006892163.tif 000006
【図６】
0006892163.tif 000007
【図７】
0006892163.tif 000008
【図８】
0006892163.tif 000009
【図９】
0006892163.tif 000010