(57)【要約】  プログラマブルデバイス（１００）は、複数のプログラマブルロジックエレメントを含むプログラマブルロジックエレメント群（１１０）と、プログラマブルロジックエレメントによって構成される回路のロジック情報を格納するように構成されるコンフィグレーションメモリ（１２０）とを備える。コンフィグレーションメモリ（１２０）は、プログラマブルロジックエレメントによって第１のエラー検出器（Ａ）を構成する第１のロジック情報を含む。第１のエラー検出器（Ａ）は、第１のロジック情報以外のロジック情報を検査するように構成される。
2020165944.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラマブルロジックエレメントと、
前記プログラマブルロジックエレメントによって構成される回路のロジック情報を格納するように構成されるコンフィグレーションメモリとを備え、
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって第１のエラー検出器を構成する第１のロジック情報を含み、
前記第１のエラー検出器は、前記第１のロジック情報以外のロジック情報を検査するように構成される、プログラマブルデバイス。
【請求項２】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって第２のエラー検出器を構成する第２のロジック情報を含み、
前記第１のエラー検出器は、前記第１のロジック情報を含まず、かつ前記第２のロジック情報を含む領域を検査するように構成され、
前記第２のエラー検出器は、前記第２のロジック情報を含まず、かつ前記第１のロジック情報を含む領域を検査するように構成される、請求項１記載のプログラマブルデバイス。
【請求項３】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって、前記第１のエラー検出器を含む複数のエラー検出器を構成する複数のロジック情報を含み、
前記エラー検出器は、前記エラー検出器のロジック情報以外のロジック情報を検査するように構成される、請求項１記載のプログラマブルデバイス。
【請求項４】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって制御装置を構成する第３のロジック情報を含み、
前記コンフィグレーションメモリは、第１の検査領域と第２の検査領域とを含み、前記第１の検査領域は、前記第１のロジック情報を含み、前記第２の検査領域は、前記第２のロジック情報を含み、前記第１の検査領域および前記第２の検査領域のうちの少なくとも一方が前記第３のロジック情報を含み、
前記第１のエラー検出器は、前記第２の検査領域内のロジック情報を検査するように構成され、
前記第２のエラー検出器は、前記第１の検査領域内のロジック情報を検査するように構成される、請求項２記載のプログラマブルデバイス。
【請求項５】
前記第１のエラー検出器は、第１のチェッカと、第１の誤り検出ビットメモリとを含み、
前記第２のエラー検出器は、第２のチェッカと、第２の誤り検出ビットメモリとを含み、
前記第１の誤り検出ビットメモリは、前記第２の検査領域内のロジック情報の誤り検出ビットを記憶し、
前記第２の誤り検出ビットメモリは、前記第１の検査領域内のロジック情報の誤り検出ビットを記憶し、
前記第１のチェッカは、前記第２の検査領域内のロジック情報と、前記第１の誤り検出ビットメモリ内の誤り検出ビットとに基づいて、エラー検出処理を実行するように構成され、
前記第２のチェッカは、前記第１の検査領域内のロジック情報と、前記第２の誤り検出ビットメモリ内の誤り検出ビットとに基づいて、エラー検出処理を実行するように構成される、請求項４記載のプログラマブルデバイス。
【請求項６】
前記第１のチェッカおよび前記第２のチェッカは、検出結果をマイクロコントローラへ出力するように構成される、請求項５記載のプログラマブルデバイス。
【請求項７】
前記コンフィグレーションメモリは、エラーが検出されたロジック情報を外部から転送されるロジック情報で更新するように構成される、請求項５記載のプログラマブルデバイス。
【請求項８】
前記第１の誤り検出ビットメモリ内の誤り検出ビットおよび前記第２の誤り検出ビットメモリ内の誤り検出ビットは、マイクロコントローラから転送されて、記憶される、請求項５記載のプログラマブルデバイス。
【請求項９】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって誤り検出ビット生成器を構成する第４のロジック情報を含み、
前記誤り検出ビット生成器は、外部から転送される前記第１の検査領域へのロジック情報から前記第１の検査領域内のロジック情報の誤り検出ビットを生成して、前記第２の誤り検出ビットメモリへ転送するように構成され、外部から転送される前記第２の検査領域へのロジック情報から前記第２の検査領域内のロジック情報の誤り検出ビットを生成して、前記第１の誤り検出ビットメモリへ転送するように構成される、請求項５記載のプログラマブルデバイス。
【請求項１０】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって第１のプログラマブルデバイスエラー検出制御器を構成する第５のロジック情報と、第２のプログラマブルデバイスエラー検出制御器を構成する第６のロジック情報とを含み、
前記第１のチェッカは、前記第１のプログラマブルデバイスエラー検出制御器による制御に従って、前記エラー検出処理を実行し、検出結果を前記第２のプログラマブルデバイスエラー検出制御器へ出力するように構成され、
前記第２のチェッカは、前記第２のプログラマブルデバイスエラー検出制御器による制御に従って、前記エラー検出処理を実行し、検出結果を前記第１のプログラマブルデバイスエラー検出制御器へ出力するように構成される、請求項５記載のプログラマブルデバイス。
【請求項１１】
前記第１のプログラマブルデバイスエラー検出制御器は、前記第１の検査領域のエラーが検出されたロジック情報が外部のＲＯＭ内のロジック情報で更新されるように制御し、
前記第２のプログラマブルデバイスエラー検出制御器は、前記第２の検査領域のエラーが検出されたロジック情報が外部のＲＯＭ内のロジック情報で更新されるように制御する、請求項１０記載のプログラマブルデバイス。
【請求項１２】
パワーオン時に、前記外部のＲＯＭに記憶されたロジック情報が前記コンフィグレーションメモリに転送されるように制御するブートローダを備える、請求項１１記載のプログラマブルデバイス。
【請求項１３】
前記第１のエラー検出器は、第１のチェッカと、第１の誤り訂正ビットメモリとを含み、
前記第２のエラー検出器は、第２のチェッカと、第２の誤り訂正ビットメモリとを含み、
前記第１の誤り訂正ビットメモリは、前記第２の検査領域内のロジック情報を誤り訂正符号化して生成される誤り訂正ビットを記憶し、
前記第２の誤り訂正ビットメモリは、前記第１の検査領域内のロジック情報を誤り訂正符号化して生成される誤り訂正ビットを記憶し、
前記第１のチェッカは、前記第２の検査領域内のロジック情報と、前記第１の誤り訂正ビットメモリ内の誤り訂正ビットとに基づいて、前記第２の検査領域内のロジック情報の誤りを訂正し、前記誤り訂正されたロジック情報によって前記コンフィグレーションメモリの第２の検査領域内のロジック情報を更新するように構成され、
前記第２のチェッカは、前記第１の検査領域内のロジック情報と、前記第２の誤り訂正ビットメモリ内の誤り訂正ビットとに基づいて、前記第１の検査領域内のロジック情報の誤りを訂正し、前記誤り訂正されたロジック情報によって前記コンフィグレーションメモリの第１の検査領域内のロジック情報を更新するように構成される、請求項４記載のプログラマブルデバイス。
【請求項１４】
前記第１のエラー検出器は、第１のチェッカと、第１の誤り検出ビットメモリとを含み、
前記第２のエラー検出器は、第２のチェッカと、第２の誤り検出ビットメモリとを含み、
前記第１の誤り検出ビットメモリは、前記第２の検査領域内のロジック情報の誤り検出ビットを記憶し、
前記第２の誤り検出ビットメモリは、前記第１の検査領域内のロジック情報の誤り検出ビットを記憶し、
前記第１のチェッカは、前記第２の検査領域内のロジック情報と、前記第１の誤り検出ビットメモリ内の誤り検出ビットとに基づいて、前記第２の検査領域内のロジック情報にエラーがあるか否かを検出するように構成され、
前記第２のチェッカは、前記第１の検査領域内のロジック情報と、前記第２の誤り検出ビットメモリ内の誤り検出ビットとに基づいて、前記第１の検査領域内のロジック情報にエラーがあるか否かを検出するように構成される、請求項４記載のプログラマブルデバイス。
【請求項１５】
前記コンフィグレーションメモリは、前記プログラマブルロジックエレメントによって誤り検出ビットメモリを構成する第７のロジック情報を含み、
前記第１のエラー検出器は、第１のチェッカを含み、
前記第２のエラー検出器は、第２のチェッカを含み、
前記誤り検出ビットメモリは、マイクロコントローラから転送された前記第１の検査領域内のロジック情報の誤り検出ビット、および前記第２の検査領域内のロジック情報の誤り検出ビットを記憶し、
前記第１のチェッカは、前記第２の検査領域内のロジック情報と、前記誤り検出ビットメモリ内の前記第２の検査領域内のロジック情報の誤り検出ビットとに基づいて、エラー検出処理を実行するように構成され、
前記第２のチェッカは、前記第１の検査領域内のロジック情報と、前記誤り検出ビットメモリ内の前記第１の検査領域内のロジック情報の誤り検出ビットとに基づいて、エラー検出処理を実行するように構成される、請求項４記載のプログラマブルデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスに関する。
【背景技術】
【０００２】
ＳＲＡＭ（Static  Random  Access  Memory）で構成されるコンフィグレーションメモリを備えたＳＲＡＭ型のプログラマブルデバイスでは、ユーザが、コンフィグレーションメモリのロジックを書き換えることによって、回数に制限なく、回路をプログラムできると利点がある。【０００３】
しかしながら、ＳＲＡＭ型プログラマブルデバイスは、宇宙から降り注ぐ中性子線の影響でコンフィグレーションメモリ内のロジック情報が破壊されるソフトエラーに弱いという問題がある。コンフィグレーションメモリ内のロジック情報の破壊を検出して、システムを正常化、または安全な動作モードへ遷移させるような高い安全性システムが求められる。【０００４】
特許文献１（特許第５６９９０５７号）の装置は、ソフトエラーによるロジック情報の破壊により、制御回路が誤作動することによって、誤った結果が出力されることを利用することによって、ロジック情報の破壊を検出する。特許文献１における検出方法は以下のとおりである。【０００５】
同じ機能の制御回路を３種類のプログラマブルデバイス内に構成する。３種類の制御回路の出力値を観測し、多数決によって、ロジック情報の破壊を検出する。ロジック情報の破壊を検出後、コンフィグレーションメモリ内のロジック情報に対して正常なロジック情報を上書きすることにより、制御回路の動作を正常化する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５６９９０５７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１（特許第５６９９０５７号）の装置では、制御回路の三重化が必要となるため、回路規模が三倍になる課題がある。【０００８】
それゆえに、本発明の目的は、ロジック情報の破壊を検出することができる小さな回路規模のプログラマブルデバイスを提供することである。
【課題を解決するための手段】
【０００９】
本発明のプログラマブルデバイスは、複数のプログラマブルロジックエレメントと、プログラマブルロジックエレメントによって構成される回路のロジック情報を格納するように構成されるコンフィグレーションメモリとを備える。コンフィグレーションメモリは、プログラマブルロジックエレメントによって第１のエラー検出器を構成する第１のロジック情報を含む。第１のエラー検出器は、第１のロジック情報以外のロジック情報を検査するように構成される。
【発明の効果】
【００１０】
本発明によれば、ロジック情報によって構成される第１のエラー検出器が、第１のロジック情報以外のロジック情報を検査するので、小さな回路規模で、ロジック情報の破壊を検出することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１のプログラマブルデバイス１００の構成を表わす図である。
【図２】コンフィグレーションメモリ１２０に記憶されているロジック情報、およびこれらのロジック情報によって構成される回路を表わす図である。
【図３】実施の形態１におけるコンフィグレーションメモリ内のロジック情報と、第１の誤り検出ビットメモリ１４１および第２の誤り検出ビットメモリ１４２内のパリティビットとの対応関係を表わす図である。
【図４】プログラマブルデバイス１００を制御装置として動作させる手順を表わすフローチャートである。
【図５】コンフィグレーションメモリ１２０内のロジック情報のエラー検出手順を表わすフローチャートである。
【図６】実施の形態２のプログラマブルデバイス１００の構成を表わす図である。
【図７】実施の形態２におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【図８】実施の形態３のプログラマブルデバイス１００の構成を表わす図である。
【図９】実施の形態３におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【図１０】実施の形態４のプログラマブルデバイス１００の構成を表わす図である。
【図１１】実施の形態４におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態について、図面を参照して説明する。
実施の形態１．
図１は、実施の形態１のプログラマブルデバイス１００の構成を表わす図である。
【００１３】
プログラマブルデバイス１００は、コンフィグレーションメモリ１２０と、プログラマブルロジックエレメント群１１０と、コンフィグレーションメモリインタフェース１３０とを備える。
【００１４】
コンフィグレーションメモリ１２０は、プログラマブルロジックエレメントによって構成される回路のロジック情報を格納する。
【００１５】
プログラマブルロジックエレメント群１１０は、複数のプログラマブルロジックエレメントを含む。
【００１６】
コンフィグレーションメモリインタフェース１３０は、コンフィグレーションＲＯＭ（Read  Only  Memory）２００に記憶されているロジック情報を受けて、コンフィグレーションメモリ１２０へ書き込む。マイクロコントローラ３００は、コンフィグレーションＲＯＭ２００に記憶されているロジック情報がプログラマブルデバイス１００へ転送されるように制御する。
【００１７】
マイクロコントローラ３００は、第１の検査領域１６１の複数のロジック情報のパリティビット群ＰＢ１を第２の誤り検出ビットメモリ１５１へ出力する。マイクロコントローラ３００は、第２の検査領域１６２の複数のロジック情報のパリティビット群ＰＢ２を第１の誤り検出ビットメモリ１４１へ出力する。
【００１８】
プログラマブルロジックエレメント群１１０の複数のプログラマブルロジックエレメントによって、第１のエラー検出器Ａと、第２のエラー検出器Ｂと、制御装置１６０とが構成される。
【００１９】
第１のエラー検出器Ａは、第１の誤り検出ビットメモリ１４１と、第１のチェッカ１４３と、エラー検出器コントローラ１４２とを備える。エラー検出器コントローラ１４２は、マイクロコントローラ３００からの制御信号ＣＡを受けて、第１の誤り検出ビットメモリ１４１および第１のチェッカ１４３を制御する。第１のチェッカ１４３は、検査結果を表わす信号ＲＡをマイクロコントローラ３００に出力する。エラー検出器コントローラ１４２は、コンフィグレーションメモリインタフェース１３０を制御することもできる。
【００２０】
第２のエラー検出器Ｂは、第２の誤り検出ビットメモリ１５１と、第２のチェッカ１５３と、エラー検出器コントローラ１５２とを備える。エラー検出器コントローラ１５２は、マイクロコントローラ３００からの制御信号ＣＢを受けて、第２の誤り検出ビットメモリ１５１および第２のチェッカ１５３を制御する。第２のチェッカ１５３は、検査結果を表わす信号ＲＢをマイクロコントローラ３００に出力する。エラー検出器コントローラ１５２は、コンフィグレーションメモリインタフェース１３０を制御することもできる。
【００２１】
制御装置１６０から外部から入力信号ＩＮを受ける。制御装置１６０は、外部へ出力信号ＯＵＴを出力する。
【００２２】
図２は、コンフィグレーションメモリ１２０に記憶されているロジック情報、およびこれらのロジック情報によって構成される回路を表わす図である。
【００２３】
コンフィグレーションメモリ１２０は、第１のエラー検出器Ａのロジック情報と、第２のエラー検出器Ｂのロジック情報と、制御装置１６０のロジック情報とを含む。
【００２４】
第１のエラー検出器Ａのロジック情報１２１によって、第１のエラー検出器Ａが構成される。第２のエラー検出器Ｂのロジック情報１２３によって、第２のエラー検出器Ｂが構成される。
【００２５】
コンフィグレーションメモリ１２０は、第１の検査領域１６１と第２の検査領域１６２に分割される。第１の検査領域１６１には、第１のエラー検出器Ａのロジック情報１２１と、制御装置１６０のロジック情報の前半１２２＿ａとが記憶される。第２の検査領域１６２には、第２のエラー検出器Ｂのロジック情報１２３と、制御装置１６０のロジック情報の後半１２２＿ｂとが記憶される。
【００２６】
第１のエラー検出器Ａは、コンフィグレーションメモリ１２０内の第２の検査領域１６２内の情報を検査する。第２のエラー検出器Ｂは、コンフィグレーションメモリ１２０内の第１の検査領域１６１内の情報を検査する。
【００２７】
図３は、実施の形態１におけるコンフィグレーションメモリ内のロジック情報と、第１の誤り検出ビットメモリ１４１および第２の誤り検出ビットメモリ１４２内のパリティビットとの対応関係を表わす図である。
【００２８】
コンフィグレーションメモリ１２０のロジック情報の位置は、アドレスによって指定される。
【００２９】
第１の検査領域１６１の複数のロジック情報の各々のパリティビットＰ０、Ｐ１、Ｐ２、Ｐ３がマイクロコントローラ３００から第２のエラー検出器Ｂの第２の誤り検出ビットメモリ１５１に転送されて、記憶される。
【００３０】
第２の検査領域１６２の複数のロジック情報の各々のパリティビットＰ４、Ｐ５、Ｐ６がマイクロコントローラ３００から第１のエラー検出器Ａの第１の誤り検出ビットメモリ１４１に転送されて、記憶される。
【００３１】
第１のエラー検出器Ａの第１のチェッカ１４３は、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報と、第１の誤り検出ビットメモリ１４１内の対応するパリティビットとを用いて、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報に誤りがあるかどうかを検査する。第１のチェッカ１４３の検査結果を表わす信号ＲＡがマイクロコントローラ３００へ送られる。
【００３２】
第２のエラー検出器Ｂの第２のチェッカ１５３は、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報と、第２の誤り検出ビットメモリ１５１内の対応するパリティビットとを用いて、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報に誤りがあるかどうかを検査する。第２のチェッカ１５３の検査結果を表わす信号ＲＢがマイクロコントローラ３００へ送られる。
【００３３】
図４は、プログラマブルデバイス１００を制御装置として動作させる手順を表わすフローチャートである。
【００３４】
ステップＳ１０１において、プログラマブルデバイス１００の電源をオンにすることによって、プログラマブルデバイス１００の各構成要素に電力が供給される。
【００３５】
ステップＳ１０２において、マイクロコントローラ３００が、コンフィグレーションＲＯＭ２００へ指示信号ＲＤを送る。
【００３６】
ステップＳ１０３において、コンフィグレーションＲＯＭ２００が、ロジック情報をプログラマブルデバイス１００へ出力する。
【００３７】
ステップＳ１０４において、コンフィグレーションメモリインタフェース１３０は、ロジック情報を受信して、コンフィグレーションメモリ１２０へ書き込む。
【００３８】
ステップＳ１０５において、コンフィグレーションメモリ１２０は、ロジック情報をプログラマブルロジックエレメント群１１０へロードする。これによって、ロジック情報に基づくロジックである制御装置１６０、第１のエラー検出器Ａ、および第２のエラー検出器Ｂが構成される。
【００３９】
図５は、コンフィグレーションメモリ１２０内のロジック情報のエラー検出手順を表わすフローチャートである。
【００４０】
ステップＳ２０１において、マイクロコントローラ３００は、第１の検査領域１６１の複数のロジック情報のパリティビット群ＰＢ１を第２の誤り検出ビットメモリ１５１へ出力する。マイクロコントローラ３００は、第２の検査領域１６２の複数のロジック情報のパリティビット群ＰＢ２を第１の誤り検出ビットメモリ１４１へ出力する。
【００４１】
ステップＳ２０２において、マイクロコントローラ３００によって検査領域が選択される。第１の検査領域１６１が選択された場合に、処理がステップＳ２０３に進む。第２の検査領域１６２が選択された場合に、処理がステップＳ２０８に進む。検査領域が選択されなかった場合に、処理がステップＳ２１７に進む。
【００４２】
ステップＳ２０３において、第２のエラー検出器Ｂが、第１の検査領域１６１から未検査のロジック情報を読み出す。
【００４３】
ステップＳ２０４において、第２のエラー検出器Ｂが、第１の検査領域１６１から読み出したロジック情報に対応するパリティビットを第２の誤り検出ビットメモリ１５１から読み出す。
【００４４】
ステップＳ２０５において、第２のエラー検出器Ｂが、第１の検査領域１６１から読み出したロジック情報と、第２の誤り検出ビットメモリ１５１から読み出したパリティビットとに基づいて、エラー検出を実行する。第１の検査領域１６１から読み出したロジック情報にエラーがあると、検査結果としてエラーが有りと判断される。
【００４５】
ステップＳ２０６において、エラーが有る場合に、処理がステップＳ２０７に進み、エラーがない場合に、処理がステップＳ２０８に進む。
【００４６】
ステップＳ２０７において、第２のエラー検出器Ｂが、第１の検査領域１６１から読み出したロジック情報の識別子（アドレスなど）とエラーが有る旨の判定結果とを表わす信号ＲＢをマイクロコントローラ３００へ通知する。
【００４７】
ステップＳ２０８において、第２のエラー検出器Ｂが、第１の検査領域１６１から読み出したロジック情報の識別子（アドレスなど）とエラーが無い旨の判定結果を表わす信号ＲＢをマイクロコントローラ３００へ通知する。
【００４８】
ステップＳ２０９において、第１の検査領域１６１のすべてのロジック情報の検査が完了した場合に、処理がステップＳ２０２に戻る。第１の検査領域１６１に検査が完了していないロジック情報がある場合に、処理がステップＳ２０３に戻る。
【００４９】
ステップＳ２１０において、第１のエラー検出器Ａが、第２の検査領域１６２から未検査のロジック情報を読み出す。
【００５０】
ステップＳ２１１において、第１のエラー検出器Ａが、第２の検査領域１６２から読み出したロジック情報に対応するパリティビットを第１の誤り検出ビットメモリ１４１から読み出す。
【００５１】
ステップＳ２１２において、第１のエラー検出器Ａが、第２の検査領域１６２から読み出したロジック情報と、第１の誤り検出ビットメモリ１４１から読み出したパリティビットとに基づいて、エラー検出を実行する。第２の検査領域１６２から読み出したロジック情報にエラーがあると、検査結果としてエラーが有りと判断される。
【００５２】
ステップＳ２１３において、エラーが有る場合に、処理がステップＳ２１４に進み、エラーがない場合に、処理がステップＳ２１４に進む。
【００５３】
ステップＳ２１４において、第１のエラー検出器Ａが、第２の検査領域１６２から読み出したロジック情報の識別子（アドレスなど）とエラーが有る旨の判定結果とを表わす信号ＲＡをマイクロコントローラ３００へ通知する。
【００５４】
ステップＳ２１５において、第１のエラー検出器Ａが、第２の検査領域１６２から読み出したロジック情報の識別子（アドレスなど）とエラーが無い旨の判定結果を表わす信号ＲＡをマイクロコントローラ３００へ通知する。
【００５５】
ステップＳ２１６において、第２の検査領域１６２のすべてのロジック情報の検査が完了した場合に、処理がステップＳ２０２に戻る。第２の検査領域１６２に検査が完了していないロジック情報がある場合に、処理がステップＳ２１０に戻る。
【００５６】
ステップＳ２１７において、エラーが検出されたロジック情報が第１の検査領域１６１に含まれる場合に、処理がステップＳ２１８に進み、エラーが検出されたロジック情報が第２の検査領域１６２に含まれる場合に、処理がステップＳ２１９に進む。
【００５７】
ステップＳ２１８において、マイクロコントローラ３００は、コンフィグレーションメモリ１２０の第１の検査領域１６１のエラーが検出されたロジック情報がコンフィグレーションＲＯＭ２００内の対応するロジック情報によって上書きされるように制御する。
【００５８】
ステップＳ２１９において、マイクロコントローラ３００は、コンフィグレーションメモリ１２０の第２の検査領域１６２のエラーが検出されたロジック情報がコンフィグレーションＲＯＭ２００内の対応するロジック情報によって上書きされるように制御する。
【００５９】
ステップＳ２２０において、エラーが検出されたロジック情報の上書きが完了した場合に、処理が終了し、完了していない場合に、処理がステップＳ２１７に戻る。
【００６０】
以上のように、本実施の形態によれば、特許第５６９９０５７号（特許文献１）に記載の装置のような制御回路の三重化などの多重化によって、制御装置の誤作動を防止するのでなく、コンフィグレーションメモリ内のロジック情報のエラー検出によって、制御装置の誤作動を防止することができる。これによって、回路規模が大きくならないようにすることができる。
【００６１】
本実施の形態によれば、プログラマブルロジックエレメントを活用したエラー検出器を利用しつつ、エラー検出器のロジック情報がデータ破壊された場合でもエラー検出機能が損なわれない。
【００６２】
本実施の形態によれば、コンフィグレーションメモリ内を２つの領域に分け、それぞれの領域内に１種類のエラー検出器のロジック情報を記憶する。第２のエラー検出器Ｂが、第１のエラー検出器Ａのロジック情報が含まれる領域を検査し、第１のエラー検出器Ａが、第２のエラー検出器Ｂのロジック情報が含まれる領域を検査する。これによって、それぞれのエラー検出器のロジック情報の記憶領域の破壊によるエラー検出器の誤作動を防止することができる。
【００６３】
さらに、従来から、プログラマブルロジックエレメントの領域外にハード配線されたエラー検出器を設けた装置が知られている（たとえば、特表２００５−５０５８２７号）。これに対して、本実施の形態によれば、ハードウエアによる配線が施さないＦＰＧＡ（Field  Programmable  Gate  Array）でもソフトエラー対策ができるとともに、ソフトエラー脆弱なロジックエレメントによってエラー検出器を構成しても、強力なソフトエラー対策ができる。
【００６４】
本実施の形態によれば、プログラマブルデバイスが制御装置として実動作している最中にエラー検出した場合に、コンフィグレーションメモリのデータ破壊された領域のみを上書きすることにより、制御装置全体を停止することなく、正常動作へ復旧できる。
【００６５】
実施の形態１の変形例．
（１）本実施の形態では、コンフィグレーションメモリ内のエラーが検出されたロジック情報をコンフィグレーションＲＯＭ２００内の対応するロジック情報で上書きしたが、これに限定されるものではない。コンフィグレーションメモリ内のエラーが検出されたロジック情報が第１の検査領域に含まれる場合に、第１の検査領域の全体をコンフィグレーションＲＯＭ２００内のロジック情報で上書きし、コンフィグレーションメモリ内のエラーが検出されたロジック情報が第２の検査領域に含まれる場合に、第２の検査領域の全体をコンフィグレーションＲＯＭ２００内のロジック情報で上書きするものとしてもよい。
【００６６】
（２）本実施の形態では、コンフィグレーションメモリ内のすべてのロジック情報の検査完了後にエラーのあるロジック情報を上書きしたが、これに限定されるものではない、エラーが検出された後即座に上書きを実行するものとしてもよい。
【００６７】
（３）本実施の形態では、図５のフローチャートに示すように、第１の検査領域のチェックと第２の検査領域のチェックとを別個のタイミングで実行したが、これに限定されるものではない。第１の検査領域のチェックと第２の検査領域のチェックとを同時に実行してもよい。
【００６８】
（４）本実施の形態では、エラー検出器の数およびコンフィグレーションメモリの検査領域の数を２としたが、これに限定するものでない。コンフィグレーションメモリは、プログラマブルロジックエレメントによって、Ｎ個のエラー検出器ｉ（ｉ＝１〜Ｎ）を構成する複数のロジック情報を含み、エラー検出器ｉは、エラー検出器ｉのロジック情報以外のロジック情報を検査するように構成されるものとしてもよい。
【００６９】
（５）本実施の形態では、制御装置のロジック情報の一部が第１の検査領域に含まれ、制御装置のロジック情報のロジックの情報の残りが第２の検査領域に含まれるものとしたが、これに限定されるものではない。
【００７０】
第１の検査領域および第２の検査領域のうちの少なくとも一方が制御装置のロジック情報を含むものとしてもよい。すなわち、第１の検査領域および第２の検査領域が制御装置のロジック情報を含む、第１の検査領域が制御装置のロジック情報を含む、あるいは第２の検査領域が制御装置のロジック情報を含むものとしてもよい。
【００７１】
（６）本実施の形態では、誤り検出ビットとしてパリティビットを使用した例を説明したが、これに限定されるものではない。コンフィグレーションメモリに格納されたロジック情報の破壊を検出できるのであれば、他の種類の誤り検出ビットでもよい。
【００７２】
（７）本実施の形態では、エラー検出器の検出結果がエラー有りの場合に、コンフィグレーションメモリ内のロジック情報にエラーがあると判断して、コンフィグレーションメモリ内のロジック情報を外部の正しいロジック情報で更新したが、これに限定するものではない。誤り検出ビットメモリ内のパリティビットにエラーがある可能性がある場合には、コンフィグレーションメモリ内のロジック情報を外部の正しいロジック情報で更新するとともに、誤り検出ビットメモリ内のパリティビットを外部の正しいパリティビットで更新するものとしてもよい。あるいは、エラー検出器によって、コンフィグレーションメモリ内のロジック情報と、誤り検出ビットメモリ内のパリティビットとのうちのいずれにエラーが存在するかを検出することができる場合には、エラーが存在する方を正しいデータで更新するものとしてもよい。
【００７３】
実施の形態２．
図６は、実施の形態２のプログラマブルデバイス１００の構成を表わす図である。
【００７４】
実施の形態２のプログラマブルデバイス１００が、実施の形態１のプログラマブルデバイス１００と相違する点は以下である。
【００７５】
実施の形態２のプログラマブルデバイス１００では、第１のエラー検出器Ａが第１の誤り検出ビットメモリ１４１を備えず、第２のエラー検出器Ｂが第２の誤り検出ビットメモリ１５１を備えない。実施の形態２の形態２のプログラマブルデバイス１００では、プログラマブルロジックエレメント群１１０の複数のプログラマブルロジックエレメントによって、第１のエラー検出器Ａと、第２のエラー検出器Ｂと、制御装置１６０とに加えて、誤り検出ビットメモリ１７０が構成される。
【００７６】
マイクロコントローラ３００は、コンフィグレーションメモリ１２０内のすべてのロジック情報のパリティビット群ＰＢを直接、誤り検出ビットメモリ１７０に書き込む。
【００７７】
誤り検出ビットメモリ１７０は、マイクロコントローラ３００から出力されたパリティビット群ＰＢ１を記憶する。
【００７８】
図７は、実施の形態２におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【００７９】
コンフィグレーションメモリ１２０は、実施の形態１と同様に、第１のエラー検出器Ａのロジック情報と、第２のエラー検出器Ｂのロジック情報と、制御装置１６０のロジック情報とを含む。コンフィグレーションメモリ１２０は、さらに、誤り検出ビットメモリ１７０のロジック情報を含む。
【００８０】
誤り検出ビットメモリ１７０のロジック情報によって、誤り検出ビットメモリ１７０が構成される。
【００８１】
コンフィグレーションメモリ１２０は、第１の検査領域１６１と第２の検査領域１６２に分割される。第１の検査領域１６１には、第１のエラー検出器Ａのロジック情報１２１と、誤り検出ビットメモリ１７０のロジック情報と、制御装置１６０のロジック情報の前半１２２＿ａとが記憶される。第２の検査領域１６２には、第２のエラー検出器Ｂのロジック情報１２３と、制御装置１６０のロジック情報の後半１２２＿ｂとが記憶される。
【００８２】
第１のエラー検出器Ａは、コンフィグレーションメモリ１２０内の第２の検査領域１６２内のロジック情報を検査する。第２のエラー検出器Ｂは、コンフィグレーションメモリ１２０内の第１の検査領域１６１内のロジック情報を検査する。
【００８３】
第１の検査領域１６１の複数のロジック情報の各々のパリティビットＰ０、Ｐ１、Ｐ２、Ｐ３、第２の検査領域１６２の複数のロジック情報の各々のパリティビットＰ４、Ｐ５、Ｐ６がマイクロコントローラ３００から誤り検出ビットメモリ１７０に転送されて、記憶される。
【００８４】
第１のエラー検出器Ａの第１のチェッカ１４３は、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報と、誤り検出ビットメモリ１７１内の対応するパリティビットとを用いて、エラー検出処理を実行する。第１のチェッカ１４３の検査結果を表わす信号ＲＡがマイクロコントローラ３００へ送られる。
【００８５】
第２のエラー検出器Ｂの第２のチェッカ１５３は、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報と、誤り検出ビットメモリ１７１内の対応するパリティビットとを用いて、エラー検出処理を実行する。第２のチェッカ１５３の検査結果を表わす信号ＲＢがマイクロコントローラ３００へ送られる。
【００８６】
エラーが検出された場合には、コンフィグレーションメモリ１２０内の検査対象のロジック情報にエラーがある、コンフィグレーションメモリ１２０内の誤り検出ビットメモリ１７０の元となるロジック情報にエラーがある、あるいは誤り検出ビットメモリ１７０内のパリティビットにエラーがある可能性がある。マイクロコントローラ３００は、エラーが検出された場合に、コンフィグレーションメモリ１２０内の検査対象のロジック情報と、誤り検出ビットメモリ１７０の元となるロジック情報とをコンフィグレーションＲＯＭ内の正しいロジック情報で更新するとともに、誤り検出ビットメモリ１７０内のパリティビットをマイクロコントローラ３００内の正しいパリティビットで更新する。
【００８７】
エラー検出器が、検査対象のロジック情報と、誤り検出ビットメモリ内のパリティビットとのうちの検査対象のロジック情報にエラーが存在することが検出できた場合には、マイクロコントローラ３００は、コンフィグレーションメモリ１２０内の検査対象のロジック情報をコンフィグレーションＲＯＭ内の正しいロジック情報で更新してもよい。エラー検出器が、検査対象のロジック情報と、誤り検出ビットメモリ内のパリティビットとのうちの誤り検出ビットメモリ内のパリティビットにエラーが存在することが検出できた場合には、マイクロコントローラ３００は、コンフィグレーションメモリ１２０内の誤り検出ビットメモリ１７０の元となるロジック情報をコンフィグレーションＲＯＭ内の正しいロジック情報で更新するとともに、誤り検出ビットメモリ１７０内のパリティビットをマイクロコントローラ３００内の正しいパリティビットで更新するものとしてもよい。
【００８８】
本実施の形態によれば、第１のエラー検出器および第２のエラー検出器で使用するコンフィグレーションメモリ内のロジック情報のパリティビットを共通のメモリに記憶させることができる。
【００８９】
実施の形態３．
図８は、実施の形態３のプログラマブルデバイス１００の構成を表わす図である。
【００９０】
実施の形態３のプログラマブルデバイス１００が、実施の形態１のプログラマブルデバイス１００と相違する点は以下である。
【００９１】
実施の形態３のプログラマブルデバイス１００では、プログラマブルロジックエレメント群１１０の複数のプログラマブルロジックエレメントによって、第１のエラー検出器Ａと、第２のエラー検出器Ｂと、制御装置１６０とに加えて、誤り検出ビット生成器１８０と、第１のプログラマブルデバイスエラー検出制御器ＤＡと、第２のプログラマブルデバイスエラー検出制御器ＤＢとが構成される。
【００９２】
誤り検出ビット生成器１８０は、コンフィグレーションＲＯＭ２００からコンフィグレーションメモリ１２０へ送られるロジック情報のパリティビットを生成する。誤り検出ビット生成器１８０は、第２の検査領域１６２のロジック情報のパリティビットを第１の誤り検出ビットメモリ１４１へ書き込む。誤り検出ビット生成器１８０は、第１の検査領域１６１のロジック情報のパリティビットを第２の誤り検出ビットメモリ１５１へ書き込む。
【００９３】
第１のプログラマブルデバイスエラー検出制御器ＤＡは、第１のエラー検出器Ａを制御する。第２のプログラマブルデバイスエラー検出制御器ＤＢは、第２のエラー検出器Ｂを制御する。
【００９４】
実施の形態３のプログラマブルデバイス１００は、ブートローダ１９０を備える。ブートローダ１９０は、パワーＯＮ信号を受けると、コンフィグレーションＲＯＭ２００へ制御信号Ｙを出力することによって、コンフィグレーションＲＯＭ２００内のロジック情報をコンフィグレーションメモリインタフェース１３０を介して、コンフィグレーションメモリ１２０へ転送させる。
【００９５】
図９は、実施の形態３におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【００９６】
コンフィグレーションメモリ１２０は、実施の形態１と同様に、第１のエラー検出器Ａのロジック情報と、第２のエラー検出器Ｂのロジック情報と、制御装置１６０のロジック情報とを含む。コンフィグレーションメモリ１２０は、さらに、誤り検出ビット生成器１８０のロジック情報と、第１のプログラマブルデバイスエラー検出制御器ＤＡのロジック情報と、第２のプログラマブルデバイスエラー検出制御器ＤＢのロジック情報とを含む。
【００９７】
誤り検出ビット生成器１８０のロジック情報によって、誤り検出ビット生成器１８０が構成される。第１のプログラマブルデバイスエラー検出制御器ＤＡのロジック情報によって、第１のプログラマブルデバイスエラー検出制御器ＤＡが構成される。第２のプログラマブルデバイスエラー検出制御器ＤＢのロジック情報によって、第２のプログラマブルデバイスエラー検出制御器ＤＢが構成される。
【００９８】
コンフィグレーションメモリ１２０は、第１の検査領域１６１と第２の検査領域１６２に分割される。第１の検査領域１６１には、第１のプログラマブルデバイスエラー検出制御器ＤＡのロジック情報１２５と、第１のエラー検出器Ａのロジック情報１２１と、誤り検出ビット生成器１８０のロジック情報と、制御装置１６０のロジック情報の前半１２２＿ａとが記憶される。
【００９９】
第２の検査領域１６２には、第２のエラー検出器Ｂのロジック情報１２３と、制御装置１６０のロジック情報の後半１２２＿ｂと、第２のプログラマブルデバイスエラー検出制御器ＤＢのロジック情報１２７とが記憶される。
【０１００】
第１のエラー検出器Ａは、コンフィグレーションメモリ１２０内の第２の検査領域１６２内のロジック情報を検査する。第２のエラー検出器Ｂは、コンフィグレーションメモリ１２０内の第１の検査領域１６１内のロジック情報を検査する。
【０１０１】
第１の検査領域１６１の複数のロジック情報の各々のパリティビットＰ０、Ｐ１、Ｐ２、Ｐ３がマイクロコントローラ３００から第２の誤り検出ビットメモリ１５１に転送されて、記憶される。第２の検査領域１６２の複数のロジック情報の各々のパリティビットＰ４、Ｐ５、Ｐ６がマイクロコントローラ３００から第１の誤り検出ビットメモリ１４１に転送されて、記憶される。
【０１０２】
第１のエラー検出器Ａの第１のチェッカ１４３は、第１のプログラマブルデバイスエラー検出制御器ＤＡからの制御信号ＣＡに従って、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報と、誤り検出ビットメモリ１７１内の対応するパリティビットとを用いて、エラー検出処理を実行する。第１のチェッカ１４３の検査結果を表わす信号ＲＡが第２のプログラマブルデバイスエラー検出制御器ＤＢへ送られる。
【０１０３】
第２のエラー検出器Ｂの第２のチェッカ１５３は、第２のプログラマブルデバイスエラー検出制御器ＤＢからの制御信号ＣＢに従って、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報と、誤り検出ビットメモリ１７１内の対応するパリティビットとを用いて、エラー検出処理を実行する。第２のチェッカ１５３の検査結果を表わす信号ＲＢが第１のプログラマブルデバイスエラー検出制御器ＤＡへ送られる。
【０１０４】
第１のプログラマブルデバイスエラー検出制御器ＤＡは、第１の検査領域１６１のエラーが検出されたロジック情報をコンフィグレーションＲＯＭ２００内のロジック情報で更新するように、ブートローダ１９０に制御信号ＸＡを出力する。ブートローダ１９０は、コンフィグレーションＲＯＭ２００へ第１の検査領域１６１のエラーが検出されたロジック情報の転送を指示する制御信号Ｙを出力する。
【０１０５】
第２のプログラマブルデバイスエラー検出制御器ＤＢは、第２の検査領域１６２のエラーが検出されたロジック情報をコンフィグレーションＲＯＭ２００内のロジック情報で更新するように、ブートローダ１９０に制御信号ＸＢを出力する。ブートローダ１９０は、コンフィグレーションＲＯＭ２００へ第２の検査領域１６２のエラーが検出されたロジック情報の転送を指示する制御信号Ｙを出力する。
【０１０６】
本実施の形態によれば、プログラマブルデバイスが、誤り検出ビット生成器と、第１のプログラマブルデバイスエラー検出制御器と、第２のプログラマブルデバイスエラー検出器と、ブートローダとを備える。これによって、マイクロコントローラによらずに、コンフィグレーションメモリ内のロジック情報のエラーを検出し、エラーが検出されたロジック情報を正しいロジック情報で更新することができる。
【０１０７】
実施の形態４．
図１０は、実施の形態４のプログラマブルデバイス１００の構成を表わす図である。
【０１０８】
実施の形態４のプログラマブルデバイス１００が、実施の形態１のプログラマブルデバイス１００と相違する点は以下である。
【０１０９】
第１のエラー検出器Ａは、第１の誤り訂正ビットメモリ５１０と、第１のチェッカ５２０と、エラー検出器コントローラ５３０とを備える。エラー検出器コントローラ５３０は、マイクロコントローラ３００からの制御信号ＣＡを受けて、第１の誤り訂正ビットメモリ５１０および第１のチェッカ５２０を制御する。
【０１１０】
第２のエラー検出器Ｂは、第２の誤り訂正ビットメモリ６１０と、第２のチェッカ６２０と、エラー検出器コントローラ６３０とを備える。エラー検出器コントローラ６３０は、マイクロコントローラ３００からの制御信号ＣＡを受けて、第２の誤り訂正ビットメモリ６１０および第２のチェッカ６２０を制御する。
【０１１１】
マイクロコントローラ３００は、第１の検査領域１６１の複数のロジック情報の誤り訂正ビット群ＥＢ１を第２の誤り訂正ビットメモリ６１０へ出力する。マイクロコントローラ３００は、第２の検査領域１６２の複数のロジック情報の誤り訂正ビット群ＥＢ２を第１の誤り訂正ビットメモリ５１０へ出力する。
【０１１２】
図１１は、実施の形態４におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【０１１３】
コンフィグレーションメモリ１２０は、実施の形態１と同様に、第１のエラー検出器Ａのロジック情報と、第２のエラー検出器Ｂのロジック情報と、制御装置１６０のロジック情報とを含む。
【０１１４】
コンフィグレーションメモリ１２０は、第１の検査領域１６１と第２の検査領域１６２に分割される。第１の検査領域１６１には、第１のエラー検出器Ａのロジック情報１２１と、制御装置１６０のロジック情報の前半１２２＿ａとが記憶される。
【０１１５】
第２の検査領域１６２には、第２のエラー検出器Ｂのロジック情報１２３と、制御装置１６０のロジック情報の後半１２２＿ｂとが記憶される。
【０１１６】
第１のエラー検出器Ａは、コンフィグレーションメモリ１２０内の第２の検査領域１６２内の情報を検査する。第２のエラー検出器Ｂは、コンフィグレーションメモリ１２０内の第１の検査領域１６１内の情報を検査する。
【０１１７】
第１の検査領域１６１の複数のロジック情報の各々の誤り訂正ビットＥ０、Ｅ１、Ｅ２、Ｅ３がマイクロコントローラ３００から第２の誤り訂正ビットメモリ６１０に転送されて、記憶される。第２の検査領域１６２の複数のロジック情報の各々の誤り訂正ビットＥ４、Ｅ５、Ｅ６がマイクロコントローラ３００から第１の誤り訂正ビットメモリ５１０に転送されて、記憶される。マイクロコントローラ３００は、ロジック情報を誤り訂正符号化することによって、誤り訂正ビットを生成する。ロジック情報と、対応する誤り訂正ビットとは、誤り訂正符号を構成する。誤り訂正符号は、たとえば、リードソロモン符号、などである。
【０１１８】
第１のエラー検出器Ａの第１のチェッカ５２０は、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報と、第１の誤り訂正ビットメモリ５１０内の対応する誤り訂正ビットとを用いて、コンフィグレーションメモリ１２０内の第２の検査領域１６２のロジック情報に誤りがあるかどうかを検査する。第１のチェッカ５２０は、誤りがあった場合に、誤りを訂正し、訂正後のロジック情報をコンフィグレーションメモリ１２０の対応する領域に上書きする。さらに、第１のチェッカ５２０は、誤り訂正後のロジック情報に対応する正常な誤り訂正ビットを、第１の誤り訂正ビットメモリ５１０へ上書きする。
【０１１９】
第２のエラー検出器Ｂの第２のチェッカ６２０は、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報と、第２の誤り訂正ビットメモリ６１０内の対応する誤り訂正ビットとを用いて、コンフィグレーションメモリ１２０内の第１の検査領域１６１のロジック情報に誤りがあるかどうかを検査する。第２のチェッカ６２０は、誤りがあった場合に、誤りを訂正し、訂正後のロジック情報をコンフィグレーションメモリ１２０の対応する領域に上書きする。さらに、第２のチェッカ６２０は、誤り訂正後のロジック情報に対応する正常な誤り訂正ビットを、第２の誤り訂正ビットメモリ６１０へ上書きする。
【０１２０】
本実施の形態によれば、コンフィグレーションメモリのデータが破壊されている場合に、プログラマブルデバイス内のチェッカが、コンフィグレーションメモリ内のロジック情報の誤り訂正をする。これによって、マイクロコントローラによらずに、プログラマブルデバイスだけで、コンフィグレーションメモリのデータを正常に戻すことができる。
【０１２１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１００  プログラマブルデバイス、１１０  プログラマブルロジックエレメント群、１２０  コンフィグレーションメモリ、１３０  コンフィグレーションメモリインタフェース、１４１  第１の誤り検出ビットメモリ、１５１  第２の誤り検出ビットメモリ、１７０  誤り検出ビットメモリ、１４２，１５２，５３０，６３０  エラー検出器コントローラ、１４３，５２０  第１のチェッカ、１５３，６２０  第２のチェッカ、１６０  制御装置、１８０  誤り検出ビット生成器、１９０  ブートローダ、２００  コンフィグレーションＲＯＭ、３００  マイクロコントローラ、５１０  第１の誤り訂正ビットメモリ、６１０  第２の誤り訂正ビットメモリ、Ａ  第１のエラー検出器、Ｂ  第２のエラー検出器、ＤＡ  第１のプログラマブルデバイスエラー制御器、ＤＢ  第２のプログラマブルデバイスエラー制御器。
【図１】
2020165944.tif 000003
【図２】
2020165944.tif 000004
【図３】
2020165944.tif 000005
【図４】
2020165944.tif 000006
【図５】
2020165944.tif 000007
【図６】
2020165944.tif 000008
【図７】
2020165944.tif 000009
【図８】
2020165944.tif 000010
【図９】
2020165944.tif 000011
【図１０】
2020165944.tif 000012
【図１１】
2020165944.tif 000013
【手続補正書】
【提出日】令和3年6月17日(2021.6.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明によれば、第１のロジック情報によって構成される第１のエラー検出器が、第１のロジック情報以外のロジック情報を検査するので、小さな回路規模で、ロジック情報の破壊を検出することができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
【図１】実施の形態１のプログラマブルデバイス１００の構成を表わす図である。
【図２】コンフィグレーションメモリ１２０に記憶されているロジック情報、およびこれらのロジック情報によって構成される回路を表わす図である。
【図３】実施の形態１におけるコンフィグレーションメモリ１２０内のロジック情報と、第１の誤り検出ビットメモリ１４１および第２の誤り検出ビットメモリ１４２内のパリティビットとの対応関係を表わす図である。
【図４】プログラマブルデバイス１００を制御装置として動作させる手順を表わすフローチャートである。
【図５】コンフィグレーションメモリ１２０内のロジック情報のエラー検出手順を表わすフローチャートである。
【図６】実施の形態２のプログラマブルデバイス１００の構成を表わす図である。
【図７】実施の形態２におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【図８】実施の形態３のプログラマブルデバイス１００の構成を表わす図である。
【図９】実施の形態３におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【図１０】実施の形態４のプログラマブルデバイス１００の構成を表わす図である。
【図１１】実施の形態４におけるコンフィグレーションメモリ内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
制御装置１６０は、外部から入力信号ＩＮを受ける。制御装置１６０は、外部へ出力信号ＯＵＴを出力する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
図３は、実施の形態１におけるコンフィグレーションメモリ内のロジック情報と、第１の誤り検出ビットメモリ１４１および第２の誤り検出ビットメモリ１５１内のパリティビットとの対応関係を表わす図である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
（５）本実施の形態では、制御装置のロジック情報の一部が第１の検査領域に含まれ、制御装置のロジックの情報の残りが第２の検査領域に含まれるものとしたが、これに限定されるものではない。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
実施の形態２のプログラマブルデバイス１００では、第１のエラー検出器Ａが第１の誤り検出ビットメモリ１４１を備えず、第２のエラー検出器Ｂが第２の誤り検出ビットメモリ１５１を備えない。実施の形態２のプログラマブルデバイス１００では、プログラマブルロジックエレメント群１１０の複数のプログラマブルロジックエレメントによって、第１のエラー検出器Ａと、第２のエラー検出器Ｂと、制御装置１６０とに加えて、誤り検出ビットメモリ１７０が構成される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
図７は、実施の形態２におけるコンフィグレーションメモリ１２０内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
図９は、実施の形態３におけるコンフィグレーションメモリ１２０内のロジック情報と誤り検出ビットメモリ１７０内のパリティビットとの対応関係を表わす図である。
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2020165944.tif 000014
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2020165944.tif 000015
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2020165944.tif 000016
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2020165944.tif 000017
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2020165944.tif 000018
【国際調査報告】
2020165944.tif 000019
2020165944.tif 000020
2020165944.tif 000021
2020165944.tif 000022