(57)【要約】  ムーアの法則にしたがった集積度の向上に伴い、ＡＳＩＣを製造するためのマスクの設計製造コストが高騰する傾向にあり、よほどの量産品でない限りＡＳＩＣを適用できなくなることが予測される。特に本発明の対象とする高信頼、高安全なシステムでは用途の特殊性から自ずと生産量が限られている。  そこで、製造に際して初期費用を抑えられるＦＰＧＡ(Field Programmable Gate Array)の利用が期待される。  ＦＰＧＡを用いる場合に問題となるテストパターン数の爆発を防ぐことを目的とする。  目的とする論理回路を構成する各ＬＵＴの出力をＦＰＧＡの外側に引き出し、検証回路でチェックする。
2015075783.tif 000002
【特許請求の範囲】
【請求項１】
ルックアップテーブルから構成されるプログラマブル可能な複数の論理エレメントと、プログラマブル可能な前記論理エレメントの相互接続構造から構成される論理集積回路であって、
該複数の論理エレメントの一部分は、処理情報を該論理集積回路外部に直接出力し、
該複数の論理エレメントの他の部分は、該相互接続構造を経由して処理情報を該論理集積回路外部に出力し、
処理情報を該論理集積回路外部に直接出力する該論理エレメントは、出力端子と隣接して配置されることを特徴とする論理集積回路。
【請求項２】
処理情報を該論理集積回路外部に直接出力する前記論理エレメントにセルフチェッキング回路またはフェールセーフ回路が実装されることを特徴とする請求項１記載の論理集積回路。
【請求項３】
前記セルフチェッキング回路が、２組の入力同士を比較し、両者の一致または不一致を示す信号を出力する比較器であることを特徴とする請求項２記載の論理集積回路。
【請求項４】
前記フェールセーフ回路が、２組の入力信号の周波数を比較し、一方の入力信号に対する他方の入力信号の周波数の高低を示す信号を出力する周波数比較回路であることを特徴とする請求項２記載の論理集積回路。
【請求項５】
請求項１記載の論理集積回路を用いた論理回路であって、
処理情報を該論理集積回路外部に直接出力する前記論理エレメントの出力が出力情報を検証する検証回路に入力されることを特徴とする論理回路。
【請求項６】
前記検証回路が固定論理により実現されていることを特徴とする請求項５記載の論理回路。
【請求項７】
前記検証回路がフェールセーフ論理和であることを特徴とする請求項５記載の論理回路。
【請求項８】
ルックアップテーブルから構成されるプログラマブル可能な複数の論理エレメントと、プログラマブル可能な該論理エレメントの相互接続構造から構成される論理集積回路であって、
該複数の論理エレメントの一部分は、処理情報を出力情報を検証する検証回路に出力することを特徴とする論理集積回路。
【請求項９】
前記検証回路が固定論理により実現されていることを特徴とする請求項８記載の論理集積回路。
【請求項１０】
前記検証回路がフェールセーフ論理和であることを特徴とする請求項８記載の論理集積回路。
【請求項１１】
前記複数の論理エレメントと検証回路が同一チップに実装されていることを特徴とする請求項８記載の論理集積回路。
【請求項１２】
処理情報を検証回路に出力する前記論理エレメントにセルフチェッキング回路またはフェールセーフ回路が実装されることを特徴とする請求項８記載の論理集積回路。
【請求項１３】
前記セルフチェッキング回路が、２組の入力同士を比較し、両者の一致または不一致を示す信号を出力する比較器であることを特徴とする請求項８記載の論理集積回路。
【請求項１４】
前記フェールセーフ回路が、２組の入力信号の周波数を比較し、一方の入力信号に対する他方の入力信号の周波数の高低を示す信号を出力する周波数比較回路であることを特徴とする請求項８記載の論理集積回路。
【請求項１５】
２組の入力同士を比較し、両者の一致または不一致を示す信号を出力する比較器であって、
ルックアップテーブルから構成されるプログラマブル可能な論理エレメントと、プログラマブル可能な該論理エレメントの相互接続構造、により構成され、
該論理エレメントの処理情報を、出力情報を検証する検証回路に出力することを特徴とする比較器。
【請求項１６】
前記検証回路は固定論理により実現されていることを特徴とする請求項１５記載の比較器。
【請求項１７】
前記検証回路がフェールセーフ論理和であることを特徴とする請求項１５記載の比較器。
【請求項１８】
前記論理エレメントと検証回路が同一チップに実装されていることを特徴とする請求項１５記載の比較器。
【請求項１９】
ルックアップテーブルから構成されるプログラマブル可能な複数の論理エレメントと、プログラマブル可能な該論理エレメントの相互接続構造、により構成され、
前記複数の論理エレメントの一部分は、出力情報を検証する検証回路に処理情報を出力し、
前記複数の論理エレメントの他の部分は、前記相互接続構造を経由して前記検証回路に処理情報を出力し、
前記検証回路に処理情報を直接出力する前記一部の論理エレメントは、冗長化した機能ブロックの出力を比較する比較器であり、
前記相互接続構造を経由して前記検証回路に処理情報を出力する他の論理エレメントは、比較器以外の機能ブロックであることを特徴とする高信頼システム。
【請求項２０】
前記検証回路は固定論理により実現されていることを特徴とする請求項１９記載の高信頼システム。
【請求項２１】
前記検証回路がフェールセーフ論理和であることを特徴とする請求項１９記載の高信頼システム。
【請求項２２】
請求項１９記載の高信頼システムであって、前記検証回路で異常が検出された場合、または前記比較器で不一致が検出された場合には出力を停止することを特徴とする高信頼システム。
【請求項２３】
請求項１９記載の高信頼システムであって、前記検証回路で異常が検出された場合、または前記比較器で不一致が検出された場合には安全を確保する信号を出力することを特徴とする高信頼システム。
【請求項２４】
請求項２３記載の高信頼システムであって、前記安全を確保する信号は鉄道車両に対する減速指令であることを特徴とする高信頼システム。
【請求項２５】
請求項２３記載の高信頼システムであって、前記安全を確保する信号は踏切を遮断する信号であることを特徴とする高信頼システム。
【請求項２６】
請求項２３記載の高信頼システムであって、前記安全を確保する信号は鉄道車両に対する停止信号を現示する信号であることを特徴とする高信頼システム。
【請求項２７】
請求項２３記載の高信頼システムであって、前記安全を確保する信号は電源を遮断する信号であることを特徴とする高信頼システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＦＰＧＡにかかり、特に誤り検出支援機能を有するＦＰＧＡ及び該ＦＰＧＡを用いた高信頼システムに関する。
【背景技術】
【０００２】
制御の自動化が進み、電子制御装置の安全性、信頼性の要求が高まってきている。電子制御装置の安全性を確保するために、異常発生時に直ちにその異常を検出して動作を停止することが求められている。【０００３】
従来、論理回路は固定論理を提供するＣＢＩＣ(Cell-based Integrated Circuit)によるＡＳＩＣ(Application Specified Integrated Circuit)やゲートアレイにより実現されることが多かった。しかし近年ではムーアの法則にしたがった集積度の向上に伴い、ＡＳＩＣを製造するためのマスクの設計製造コストが高騰する傾向にあり、よほどの量産品でない限りＡＳＩＣを適用できなくなることが予測される。特に本発明の対象とする高信頼、高安全なシステムでは用途の特殊性から自ずと生産量が限られている。【０００４】
そこで、製造に際して初期費用を抑えられるＦＰＧＡ(Field Programmable Gate Array)の利用が期待される。【０００５】
しかし、ＦＰＧＡ特有の問題として、ＦＰＧＡを構成するＬＵＴ(Look-Up Table)のテストパターン爆発問題がある。ＬＵＴをブラックボックスとするCell Fault Modelによると、x入力のＬＵＴについて全ての故障を検出するためには2＾xのテストパターンが必要である。【０００６】
例えば、nビットの２組の信号同士を比較する比較器を想定すると、最終出力のみを観測した場合にはＦＰＧＡ全体がブラックボックスと見做されるので、ＦＰＧＡ内の故障を検出するためには2^2n(ただし、n:比較ビット数)のテストパターンが必要となる。【０００７】
ＣＢＩＣやゲートアレイにより実現した論理回路は固定された論理であり故障パターンも限定されるために検出するためのテストパターンも数も限定される。これに対して、ＦＰＧＡにより実現した論理回路では、本来の目的のために使用する論理に加えて、プログラマブル機能のための論理をＬＵＴが含むため、より多くの故障パターンを想定する必要があり、それらの検出するためのテストパターン数が大幅に増えるということに起因してこの問題が生じるのである。【０００８】
ＦＰＧＡのテスト方法に関しては例えば、特許文献１（特開2000-315767）では、半導体チップ上に複数の基本論理セル（ＣＬＢ）とこれらの基本論理セル間の信号線の接続を切替え可能な可変スイッチ回路（ＣＳＷ）とを備え、上記各基本論理セルごとに回路が正常か異常かを示す信号を出力可能とする方法が開示されている、また、特許文献２（特開平09-178822）では, プログラマブル・ゲート・アレイは、プログラマブル・ゲート・アレイの様々な機能サブシステムをテストするためのテスト・サブシステムを含む。テスト・サブシステムを使用する一連のテスト方法は、様々なサブシステムの相互依存度を考慮に入れてプログラマブル・ゲート・アレイの機能性をテストし、したがって、そこでの障害分離を可能にする方法が開示されている。さらに特許文献３（特開平01-136415）では、電気的にプログラム可能な素子にプログラムされている情報、およびビットメモリ回路が正常に動作するかどうかを互いに独立に検査する手段を、ビットメモリ回路に設ける方法が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2000-315767
【特許文献２】特開平09-178822
【特許文献３】特開平01-136415
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以上述べた従来技術は、オフラインテストによるものであり、本願のような動作中即ちオンラインでのシステムレベルでのテストを想定したものではない。【００１１】
そこで本発明では、ＦＰＧＡを用いる場合に問題となるテストパターン数の爆発的な増加を防ぐオンラインでのＦＰＧＡによる論理の故障検出手段を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明では、目的とする論理回路を構成する各ＬＵＴの出力をＦＰＧＡの外側に引き出し、検証回路でチェックする。このことにより、各ＬＵＴ（４入力と仮定する）は24のテストパターンで検査することができるため、目的とする論理回路全体のためのテストパターンを
24・kLUT（但し、kLUT: 目的とする論理回路を構成するＬＵＴの数）
とすることができる。【００１３】
ここで、
2015075783.tif 000003
と近似できるので、従来O(2^2n)必要であったテストパターン数をO(n)とすることができる。【００１４】
また、目的とする論理回路全体について上記手段を講じるのではなく、目的とする論理回路全体を２重化し、その出力を比較する比較回路に上記手段を講じれば、比較回路を構成するＬＵＴ即ち一部のＬＵＴをＦＰＧＡの外側に引き出せばよいので、必要とするピン数を削減することができる。さらに、比較回路を構成するＬＵＴ全てではなく、多段にカスケード接続されたＬＵＴの内、数段おきのＬＵＴから信号をＦＰＧＡの外側に引き出すことにより必要とするピン数をさらに削減することができる。
【発明の効果】
【００１５】
本発明によれば以上述べたようにしてＦＰＧＡ特有のテストパターン数の爆発的な増加の問題を解決でき、今後開発費の高騰が避けられるＦＰＧＡを用いて高信頼、高安全な論理回路を実現することができるので、高信頼、高安全システムのコストを抑えることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の基本的な実施例
【図２】論理エレメント１１０の構成
【図３】論理エレメント１１０の構成
【図４】比較器の実施例
【図５】比較器（８bitｘ２組）のための検証回路２００の実施例
【図６】比較器（８bitｘ２組）のためのテストパターンの実施例
【図７】比較器（８bitｘ２組）のためのテストパターンの実施例
【図８】比較器（８bitｘ２組）のためのテストパターンの実施例
【図９】比較器（３２bitｘ２組）のための検証回路２００の実施例
【図１０（１）】比較器（３２bitｘ２組）のためのテストパターンの実施例
【図１０（２）】比較器（３２bitｘ２組）のためのテストパターンの実施例
【図１０（３）】比較器（３２bitｘ２組）のためのテストパターンの実施例
【図１０（４）】比較器（３２bitｘ２組）のためのテストパターンの実施例
【図１１】検証回路２００を同一チップ内に実装した実施例
【図１２】本発明の実施に好適なＦＰＧＡの実施例
【図１３】相互接続構造１３０の構成
【図１４】相互接続構造１３０の構成
【図１５】ＦＰＧＡと検証回路２００も含めて１チップ１００とした実施例
【図１６】レイアウトの実施例
【図１７】本発明による高信頼システムの実施例
【発明を実施するための形態】
【００１７】
以下図に従い、本発明の実施例について説明を加える。
【実施例１】
【００１８】
本発明の基本的な実施例を図１に示す。ＦＰＧＡ（１００）は複数の論理エレメント（ＬＥ）１１０により構成されている。なお、本明細書ではＬＵＴが４入力の場合を示しているが、入力数は他の場合でも同様に適用できることは言うまでもない。これらの論理エレメント１１０の一部分は一連の論理回路を構成するために図に示すように多段に接続されている。それらの多段に接続されている論理エレメント群の内中間段の論理エレメント１１０の処理情報を検証回路２００に出力する。なお、テストパターン数削減の見地からは、論理エレメント１１０の内、各段の全てのから処理情報を引き出すのが最良であるが、数段おきに一部の論理エレメントから処理情報を引き出すことも可能である。この場合、テストパターン数削減効果は低下するが、引き出される堀情報の本数を削減することができる。検証回路２００自身の故障による検出率低下を防ぐために、検証回路２００はＬＵＴによらず、固定論理で実現されるのが望ましく、本実施例ではＦＰＧＡ（１００）の外部に別個に実装されている。さらに、本実施例に示すようにＤ―フリップフロップ列から構成されるフェールセーフ論理和（ＦＳ−ＡＮＤ）により実現されるのが望ましい。【００１９】
さらに本実施例では、故障が検証回路２００で効率的に検出できるようにテストパターン生成回路３００及び注入回路（排他的論理和）３１０を用いて、テストパターンを論理エレメント（ＬＥ）の入力に注入している。テストパターン生成回路３００及び注入回路３１０の故障検出率低下を防ぐために、テストパターン生成回路及び注入回路もＬＵＴによらず、固定論理で実現されるのが望ましく、本実施例ではＦＰＧＡ（１００）の外部に別個に実装されている。【００２０】
論理エレメント１１０の構成を図２、図３に示す。ＦＰＧＡ（１００）を構成する論理エレメント１１０は一般的にＬＵＴ（１１１）、ラッチ１１２、セレクタ１１３から構成され、セレクタ１１３はＬＵＴ（１１１）から出力されたままの信号またはラッチ１１２でＣＬＫに同期した信号を選択して論理エレメント１１０出力する。ＬＵＴ（１１１）は入力信報に基づきプログラム情報に従って信号を出力する。その手段として一般的には図３に示すように入力信号（ｎビット）をデコーダー１１４で２＾ｎのエントリーにデコードし、記憶素子１１５はデコードされたエントリーに対応する値を出力する。見方を変えればｎビットの入力を持つＬＵＴ（１１１）は、ｎビットのアドレス入力を持つメモリと等価である。【００２１】
なお、記憶素子１１５の各エントリーのデータは多くのＦＰＧＡではコンフィギュレーションＲＡＭ（構成ＲＡＭ）に記憶されたデータで実現されることが多い。【００２２】
本発明による比較器の実施例を図４に示す。比較器は入力データａ１〜ａｎ、ｂ１〜ｂｎ同士をビットごとに比較して、全ビット一致している場合にはＬ、不一致があった場合にはＨを出力する。本発明で扱う比較器では、テストパターン生成回路３００―ａ、ｂ及び注入回路３１０を用いて、入力データａ１〜ａｎ、ｂ１〜ｂｎにテストパターンを注入（テストパターンに従って特定のビットを反転させる）して、全ビット一致している場合にはＬ，Ｈの繰り返す交番信号を出力する。【００２３】
初段の論理エレメント１１０―１―１〜ｉそれぞれは２bitの排他的論理和とそれらの出力の論理和により２bitｘ２組のデータの比較器を構成する。２段目以降の論理エレメント１１０―２―１〜ｊ、…１１０―ｋは論理和を構成する。【００２４】
また、テストパターン生成回路３００は故障の影響を緩和するために３００―ａ、ｂと入力データａ１〜ａｎ、ｂ１〜ｂｎごとに別々に設けている。また、不一致が発生した場合には、歯抜け検出線３２０を経由してテストパターン生成回路３００―ａ、ｂの動作を停止して、以降の交番信号の生成を停止させることで、外部の交番信号でコード回路を簡単にすることができる。【００２５】
図５は８bitｘ２組の入力を比較する比較器のための検証回路２００の実施例である。【００２６】
図５においてフリップフロップ２００―１―１〜４では論理エレメント１１０―１―１〜４の出力がＣＬＫ端子に入力され、フリップフロップ２００―１―４の反転出力Ｑ＃がフリップフロップ２００―１―１のＤ端子に入力されている。以上のような構成により、論理エレメント１１０―１―１〜４の出力が順次ＯＮ（不一致を示す）となる入力パターンに従って、フリップフロップ１００―１―１〜４各段の信号が順次、次段に転送され、一巡するごとにフリップフロップ１００―１―４の反転出力Ｑ＃がＨ，Ｌを繰り返す。【００２７】
さらに、フリップフロップ１００―１―４の反転出力Ｑ＃がフリップフロップ１００―０―１のＣＬＫ端子に入力され、論理エレメント１１０―２の出力１１０―２＿ｏｕｔがフリップフロップ１００―０―２のＣＬＫ端子に入力されフリップフロップ１００―０―２の反転出力Ｑ＃がフリップフロップ１００―２のＤ端子に入力されている。【００２８】
以上のような構成によれば、後述する所定のテストパターンの入力により、論理エレメント１１０―１―１〜４の出力が順次ＯＮ（不一致を示す）となり、フリップフロップ１００―１―４の反転出力Ｑ＃がＨ，Ｌを繰り返し、論理エレメント１１０―２の出力１１０―２＿ｏｕｔがＨ，Ｌを繰り返すことにより、フリップフロップ１００―０―２の反転出力Ｑ＃がＨ，Ｌを繰り返す。【００２９】
以上述べた図５に示す検証回路のためのテストパターンの実施例を図６、図７に示す。【００３０】
図６は初段の論理エレメント１１０−１−１〜４のテストパターンである。図中ｔは誤りパターン注入（データを反転）を表す。【００３１】
初段の論理エレメント１１０−１−１〜４それぞれは２bitの排他的論理和とそれらの出力の論理和により２bitｘ２組のデータの比較器を構成するため、異常時のテストパターンとしては、１bit誤り（不一致）と２bit誤り（不一致）を想定したテストパターンが考えられる。【００３２】
まず、１bit誤りのためのテストパターンを考える。正常動作時にそれぞれの対応するビットに（０，０）または（１，１）の組のデータが到来するのならばテストパターンとしては、１ビット目のａ、ｂいずれかを反転させたパターン（Ｔ１またはＴ３のいずれかひとつ）と、２ビット目のａ、ｂいずれかを反転させたパターン（Ｔ２またはＴ４のいずれかひとつ）で十分である。もし、正常動作時にそれぞれの対応するビットに（０，０）または（１，１）のいずれかの組のデータが極めて高い確率で到来し、他の組が到来する確率が極めて低い場合には、故障潜在を防ぐために、Ｔ１〜Ｔ４、とテストパターンを冗長に備えてもよい。図６では省略可能ということを表すためにＴ３，Ｔ４に括弧（）をつけている。【００３３】
続いて、２bit誤りのためのテストパターンを考える。正常動作時にそれぞれの対応するビットに（０，０）または（１，１）の組のデータが到来するのならばテストパターンとしては、１ビット目のａ、ｂいずれかと、２ビット目のａ、ｂいずれかを反転させたパターン（Ｔ５、Ｔ６，Ｔ７またはＴ８のいずれかひとつ）で十分であるが、先に述べたように故障潜在を防ぐために、Ｔ６〜Ｔ８、とテストパターンを冗長に備えてもよい。図６では省略可能ということを表すためにＴ５〜Ｔ８に括弧（）をつけている。【００３４】
図７、図８は比較器を構成する論理エレメントツリー全体のテストパターンである。なお、入力信号が一致しているときにＨ，Ｌを繰り返す交番信号を比較器の出力として得るためには、誤りを擬似的に注入する各テストパターンと、誤りを擬似的に注入しない（反転させない）パターンとを交互に繰り返す。【００３５】
図７はＰ１〜Ｐ３２で、２段目の論理エレメントの１bit誤りのテストパターンと兼ねて１段目の論理エレメントの全てのテストパターンＴ１〜Ｔ８を実行してから、２段目の論理エレメントの２bit誤りのテストパターン（Ｐ３３〜Ｐ３８）、３bit誤りのテストパターン（Ｐ４１〜Ｐ４４）、４bit誤りのテストパターン（Ｐ３９）を実行する実施例である。なお、Ｐ４０は論理エレメント１１０―１―１〜４の出力が順次ＯＮ（不一致を示す）となるパターンを単純に繰り返させることで、検証回路２００を簡単化するためのダミーのテストパターンである。【００３６】
図８は２段目の論理エレメントの１it誤りのテストパターン（Ｐ１〜Ｐ４）、２段目の論理エレメントの２bit誤りのテストパターン（Ｐ３３〜Ｐ３８）、３bit誤りのテストパターン（Ｐ４１〜Ｐ４４）、４bit誤りのテストパターン（Ｐ３９）を実行しながら１段目の論理エレメントの全てのテストパターンＴ１〜Ｔ６を実行する実施例である。ここで、図７のＴｘはＴ１〜Ｔ８の内いずれかでよく、図８のＴｘはＴ１〜Ｔ６の全てを網羅させればよい。例えば、Ｐ１〜Ｐ４ではＴ１、Ｐ３３〜Ｐ３６ではＴ２、Ｐ３７〜Ｐ４０ではＴ３、Ｐ４１〜Ｐ４４ではＴ４、そして最初の戻って、Ｐ１〜Ｐ４ではＴ５、Ｐ２５〜Ｐ２８ではＴ６、と繰り返せばよい。以上述べたように、図７のテストパターンによれば、初段の論理エレメント１１０−１−１〜４の故障を分離することができ、故障個所の特定が容易である。【００３７】
以上、８bitｘ２組の入力を比較する比較器のための検証回路２００とテストパターンの実施例を示したが、より多くの入力bit数への拡張も可能で、図９に３２bitｘ２組の入力を比較する比較器のための検証回路２００の実施例、図１０にそのためのテストパターンの実施例を示す。【００３８】
図９において論理エレメント１１０―１―１〜１６の出力が図に示されるように、４個おきにフリップフロップ１００―１―１〜１６のＣＬＫ端子に入力され、フリップフロップ１００―１―１６の反転出力Ｑ＃がフリップフロップ１００―１―１のＤ端子に入力されている。以上のような構成により、論理エレメント１１０―１―１〜１６の出力が４個おきに順次ＯＮ（不一致を示す）となる入力パターンに従って、フリップフロップ１００―１―１〜１６各段の信号が順次、次段に転送され、一巡するごとにフリップフロップ１００―１―１６の反転出力Ｑ＃がＨ，Ｌを繰り返す。【００３９】
フリップフロップ１００―２―１〜４では論理エレメント１１０―２―１〜４の出力がＣＬＫ端子に入力され、フリップフロップ１００―２―４の反転出力Ｑ＃がフリップフロップ１００―２―１のＤ端子に入力されている。以上のような構成により、論理エレメント１１０―２―１〜４の出力が順次ＯＮ（不一致を示す）となる入力パターンに従って、フリップフロップ１００―２―１〜４各段の信号が順次、次段に転送され、一巡するごとにフリップフロップ１００―２―４の反転出力Ｑ＃がＨ，Ｌを繰り返す。【００４０】
なお、フリップフロップ１００―１―１〜１６のＣＬＫ端子に入力される論理エレメント１１０―１―１〜１６の順番を４個おきにとしているのは、同一のテストパターンでフリップフロップ１００―１―１〜１６、フリップフロップ１００―２―１〜４のクロック端子を順にオンとするためである。【００４１】
さらに、フリップフロップ１００―１―１６の反転出力Ｑ＃がフリップフロップ１００―０―１のＣＬＫ端子に入力され、フリップフロップ１００―２―４の反転出力Ｑ＃がフリップフロップ１００―０―２のＣＬＫ端子に入力され、論理エレメント１１０―３の出力１１０―３＿ｏｕｔがフリップフロップ１００―０―３のＣＬＫ端子に入力されフリップフロップ１００―０―３の反転出力Ｑ＃がフリップフロップ１００―２のＤ端子に入力されている。【００４２】
以上のような構成によれば、後述する所定のテストパターンの入力により、論理エレメント１１０―１―１〜１６、論理エレメント１１０―２―１〜４の出力が順次ＯＮ（不一致を示す）となり、フリップフロップ１００―１―１６の反転出力Ｑ＃がＨ，Ｌを繰り返し、フリップフロップ１００―２―４の反転出力Ｑ＃がＨ，Ｌを繰り返し、論理エレメント１１０―２の出力１１０―３＿ｏｕｔがＨ，Ｌを繰り返すことにより、フリップフロップ１００―０―２の反転出力Ｑ＃がＨ，Ｌを繰り返す。【００４３】
図１０においては、Ｐ１〜Ｐ４４が第２段の論理エレメントのためのテストパターン（１〜４bit誤り）と第３段の論理エレメントの１bit誤りのテストパターン、Ｐ４５〜Ｐ５２が第３段の論理エレメントの２bit誤りのテストパターン、Ｐ５３〜Ｐ５６が第３段の論理エレメントの３bit誤りのテストパターン、Ｐ５７が第３段の論理エレメントの４bit誤りのテストパターンである。最後のＰ５８は論理エレメント１１０―２―１〜４の出力が順次ＯＮ（不一致を示す）となるパターンを単純に繰り返させることで、検証回路２００を簡単化するためのダミーのテストパターンである。【００４４】
Ｐ１〜Ｐ４４のテストパターンを論理エレメント１１０―１―１〜１６に４個おきに入力している。このことにより、同一のテストパターンでフリップフロップ２００―１―１〜１６、フリップフロップ２００―２―１〜４のクロック端子を順にオンとしている。【００４５】
検証回路２００を同一チップ内に実装した実施例を図１１に示す。
【００４６】
本発明の実施に好適なＦＰＧＡの実施例を図１２に示す。ＦＰＧＡ１００は論理エレメント１１０、相互接続構造１３０、配線要素１４０、入出力ピン１５０、検証回路接続ピン１６０から構成されている。検証回路接続ピン１６０に隣接する図中右端の列の論理エレメント１１０は検証回路接続ピン１６０に直接処理情報を出力している。これは検証回路２００から見た論理エレメント１１０の出力の観測性を高めるためのもので、第１に相互接続構造１３０を介さずに直接出力することで、相互接続構造１３０の故障に起因する論理エレメント１１０の故障検出漏れを防止するためである。第２に、論理エレメント１１０と検証回路接続ピン１６０とを隣接させることで、その間の配線経路の異常、クロストークに起因する論理エレメント１１０の故障検出漏れを防止するためである。【００４７】
相互接続構造１３０の構成を図１３、図１４に示す。【００４８】
ＦＰＧＡのチップ上に縦横に伸びる配線要素１４０の各交点に相互接続構造１３０があり、図１３、図１４に示すようにスイッチにより配線要素１４０間の接続を切り替えている。図１３は全ての配線要素１４０間で接続の切り替え可能な実施例であり、図１４は対角部分で交差する配線要素１４０間でのみ接続の切り替えが可能な実施例である。図１３の実施例の方が接続自由度が高いがその分スイッチの数も多くなりハードウェア量が大きくなる。なお、スイッチによる接続の制御は多くのＦＰＧＡではコンフィギュレーションＲＡＭ（構成ＲＡＭ）に記憶されたデータで実現されることが多い。【００４９】
図１２の実施例に示されるＦＰＧＡと検証回路２００も含めて１チップ１００とした実施例を図１５に示す。本実施例によれば、論理エレメント１１０の出力をチップ内で検証回路２００に接続できるため検証回路接続ピン１６０が不要となりピン数を削減することができる。またさらに、ＦＰＧＡ内に検証回路２００を配置することができるので、論理エレメント１１０を端部に配置せずとも検証回路２００に隣接させることが可能となる。例えば、図１６に示すようにチップ１００の中央部に比較器１９０と検証回路２００を配置し、その両側に２重化した機能ブロック１８０―ａ、ｂを配置すれば、間に比較器１９０と検証回路２００をはさむことで機能ブロック１８０―ａ、ｂ間の距離も確保でき、相関故障の確率も下げることができる。【００５０】
図１７は本発明による高信頼システムの実施例である。高信頼システムの本来の機能を担うための機能ブロック１８０―ａ、ｂは２重化され、その出力は比較器１８０で比較される。すくなとも比較器１９０は論理エレメント（ＬＵＴ）からなるＦＰＧＡにより構成され、比較器１９０を構成する論理エレメントは検証回路２００に入力される。【００５１】
本実施例の高信頼システムは検証回路２００で異常が検出された場合には出力を停止するか、安全を確保する信号を出力する。出力を停止するか、安全を確保する信号を出力する方法としては出力回路４００を検証回路２００の出力で制御する方法や、出力回路４００からの出力を検証回路２００の出力で遮断する方法、出力回路４００への電源を検証回路２００の出力で遮断する方法などが挙げられる。また、安全と確保する信号として、鉄道車両のブレーキ制御システムにおいては、減速指令を出力する信号、または停止信号を現示する信号、踏切制御装置においては踏切を遮断する指令を出力する方法などが考えられる。
【符号の説明】
【００５２】
１００……ＦＰＧＡ、１１０……論理エレメント、１３０……相互接続構造、
１４０……配線要素、１５０……入出力ピン、１６０……検証回路接続ピン、
２００……検証回路、３００……テストパターン生成回路、３１０……テストパターン注入回路、４００……出力回路
【図１】
2015075783.tif 000004
【図２】
2015075783.tif 000005
【図３】
2015075783.tif 000006
【図４】
2015075783.tif 000007
【図５】
2015075783.tif 000008
【図６】
2015075783.tif 000009
【図７】
2015075783.tif 000010
【図８】
2015075783.tif 000011
【図９】
2015075783.tif 000012
【図１０（１）】
2015075783.tif 000013
【図１０（２）】
2015075783.tif 000014
【図１０（３）】
2015075783.tif 000015
【図１０（４）】
2015075783.tif 000016
【図１１】
2015075783.tif 000017
【図１２】
2015075783.tif 000018
【図１３】
2015075783.tif 000019
【図１４】
2015075783.tif 000020
【図１５】
2015075783.tif 000021
【図１６】
2015075783.tif 000022
【図１７】
2015075783.tif 000023
【国際調査報告】
2015075783.tif 000024
2015075783.tif 000025