(57)【要約】  高い安全性が要求されるシステムの制御を１つのＳＲＡＭ型ＦＰＧＡで実現しようとする場合，ソフトエラーなどによる故障の影響でＦＰＧＡ外部へ意図しない制御信号が出力される可能性を排除することと課題とする。この課題を解決するために，回路構造が固定されたハードマクロと，前記ハードマクロと間隔を隔てて配置されており，回路構造を変更可能なプログラマブルロジックと，前記プログラマブルロジック内に備えられ，前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するＩ／Ｆ回路と，を備え，前記Ｉ／Ｆ回路は，前記プログラマブルロジックの健全性を監視しており，当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止することを特徴とする。
2016121015.tif 000002
【特許請求の範囲】
【請求項１】
回路構造が固定されたハードマクロと，
前記ハードマクロと間隔を隔てて配置されており，回路構造を変更可能なプログラマブルロジックと，
前記プログラマブルロジック内に備えられ，前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するＩ／Ｆ回路と，を備え，
前記Ｉ／Ｆ回路は，前記プログラマブルロジックの健全性を監視しており，当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止するフィールドプログラマブルゲートアレイ。
【請求項２】
請求項１に記載のフィールドプログラマブルゲートアレイであって，
前記Ｉ／Ｆ回路は，前記ハードマクロからの制御信号に従って前記プログラマブルロジックの健全性を監視することを特徴とするフィールドプログラマブルゲートアレイ。
【請求項３】
請求項２に記載のフィールドプログラマブルゲートアレイであって，
前記Ｉ／Ｆ回路は，コンフィグレーション・ランダム・アクセス・メモリの巡回冗長検査を用いた前記プログラマブルロジックの診断結果を用いて監視を行うことを特徴とするフィールドプログラマブルゲートアレイ。
【請求項４】
請求項２に記載のフィールドプログラマブルゲートアレイにおいて，
前記Ｉ／Ｆ回路は，コンフィグレーション・ランダム・アクセス・メモリの誤り訂正符号を用いた前記プログラマブルロジックの診断結果を用いて監視を行うことを特徴とするフィールドプログラマブルゲートアレイ。
【請求項５】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記ハードマクロで実行されるアプリケーションは，前記プログラマブルロジックで実行されるアプリケーションよりも高い安全性が要求されるアプリケーションであることを特徴とするフィールドプログラマブルゲートアレイ。
【請求項６】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記プログラマブルロジックは前記ハードマクロとの接続を切断して，前記ハードマクロへ出力する信号の演算処理を行い，
前記演算処理の処理終了後に，前記ハードマクロに接続して処理結果を前記ハードマクロへ送信し，
前記ハードマクロへの前記処理結果の送信後，前記ハードマクロとの接続を切断し，
前記ハードマクロは，前記プログラマブルロジックとの接続が切断されている間に前記フィールドプログラマブルゲートアレイの外部に前記処理結果を出力することを特徴とするフィールドプログラマブルゲートアレイ。
【請求項７】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記プログラマブルロジックから前記ハードマクロへ出力される信号は多重化されており，
前記ハードマクロは，前記多重化された信号を比較する比較回路を有し，当該比較の結果，不一致であった場合には，前記フィールドプログラマブルゲートアレイの外部への出力を停止することを特徴とするフィールドプログラマブルゲートアレイ。
【請求項８】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記ハードマクロには，前記Ｉ／Ｆ回路と接続され，前記Ｉ／Ｆ回路との接続を切断可能な通信ポートを有することを特徴とするフィールドプログラマブルゲートアレイ。
【請求項９】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記フィールドプログラマブルゲートアレイの外部端子は，
前記ハードマクロに専用に接続される外部端子と，
前記プログラマブルロジックに専用に接続される外部端子と，に分かれていることを特徴とするフィールドプログラマブルゲートアレイ。
【請求項１０】
請求項９に記載のフィールドプログラマブルゲートアレイにおいて，
パッケージの四辺に外部端子が実装されており，
前記ハードマクロは，前記パッケージのいずれかの辺と隣接して設けられること特徴とするフィールドプログラマブルゲートアレイ。
【請求項１１】
請求項９に記載のフィールドプログラマブルゲートアレイにおいて，
パッケージの底面に外部端子が実装されることを特徴とするフィールドプログラマブルゲートアレイ。
【請求項１２】
請求項１に記載のフィールドプログラマブルゲートアレイにおいて，
前記ハードマクロは前記フィールドプログラマブルゲートアレイの外部ピンの上層に配置され，
前記プログラマブルロジックは前記ハードマクロよりさらに上層に配置されることを特徴とするフィールドプログラマブルゲートアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，フィールドプログラマブルゲートアレイに関する。
【背景技術】
【０００２】
プラント，鉄道，自動車，航空機など，人命や環境の安全確保のために非常に高い信頼性が求められる制御システムでは，万が一，システム内で故障や異常が発生した場合，システムが暴走して危険な状態に陥らないように対策をする必要がある。【０００３】
そのため，このようなシステムの内部で制御をする制御装置においては，信頼性や安全性を高めることが要求される。【０００４】
このような制御装置の制御には，主にＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）が使用されてきた。【０００５】
しかし，近年，ＡＳＩＣは半導体プロセスの微細化に伴う製造費の高騰により，製造数が少ない産業制御システムのために新規に開発することが困難になってきている。【０００６】
一方で，１９８０年代に実用化されたフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ，以下ＦＰＧＡ）は，微細化により集積度と性能が向上し，価格もこなれてきたため，製造数の少ない産業制御システムに使用する事例も出てきている。【０００７】
ところで，近年のＦＰＧＡで主に使われているのはＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）型のものである。【０００８】
ＳＲＡＭ型ＦＰＧＡは，電源が入ると，ＳＲＡＭで構成されたＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）に書き込む値を変えることによって任意の論理回路を実現できるという特徴がある。【０００９】
しかしこの特性のために，外部からのノイズや空中から放射された宇宙線などの影響でＳＲＡＭのビットが一時的に変化するソフトエラーと呼ばれる一時故障が発生すると，所望の回路とは異なる構成となってしまい，結果的にシステムの誤動作を引き起こしたり，装置が止まったりする場合があり得る。【００１０】
したがって，特に産業用途向けにＳＲＡＭ型ＦＰＧＡを使用するためには，ＦＰＧＡ内の回路で故障を検出し，故障と判定した場合は装置を安全な状態に移行させるような仕組みを確実に作り込む必要がある。【００１１】
このような背景から，回路構成が固定されているＡＳＩＣに比べてソフトエラーが起こりやすいと言われているＳＲＡＭ型ＦＰＧＡの安全性を高めるための技術が提案されている。【００１２】
例えば特許文献１には，動作時にインクリメントな再設定を利用して，ＦＰＧＡが故障した時の耐性を高める例が記載されている。【００１３】
また非特許文献１には，ＦＰＧＡ内部の領域をブロックに分割し，機能を分けて実装する例が記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００２−５０９５７号公報
【非特許文献】
【００１５】
【非特許文献１】Ｘｉｌｉｎｘ  ＸＡＰＰ１０８６（ｖ１．１）
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ところで，従来のＦＰＧＡの安全性を高める技術について，本発明者が検討した結果，以下のようなことが明らかとなった。【００１７】
特許文献１の例では，ＳＲＡＭ型ＦＰＧＡの動作時に故障を検出した部分をＦＰＧＡ内部で分断しているが，故障した領域と動作中の領域が物理的に離れているわけではないため，故障した領域から予期しないデータが不用意に動作中の領域に伝わってしまい，システムとしての正常動作が保てるかどうかの保証ができないという問題があった。【００１８】
また，非特許文献１の例では，ＳＲＡＭ型ＦＰＧＡ内で機能分割したブロックを物理的に離して配置しているが，物理的に分割されている領域もＳＲＡＭで構成されており各ブロックのポート間は任意に配線可能な状態であるため，やはり故障した領域からの予期しないデータが予め分断しておいた別の領域に伝わってしまう可能性があるという問題があった。【００１９】
そこで本発明では，安全性が重要視される装置にＳＲＡＭ型ＦＰＧＡを使用する場合において，ＳＲＡＭで構成されるプログラマブルロジック（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ，以下ＰＬ）部分が故障しても不用意な値がＦＰＧＡの外部に出力されない構成とし，システムの安全性を保つことが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記課題を解決するために，例えば特許請求の範囲に記載の構成を採用する。【００２１】
本願は上記課題を解決する手段を複数含んでいるが，その一例を挙げるならば，回路構造が固定されたハードマクロと，前記ハードマクロと間隔を隔てて配置されており，回路構造を変更可能なプログラマブルロジックと，前記プログラマブルロジック内に備えられ，前記プログラマブルロジックでの処理結果を前記ハードマクロへ出力するＩ／Ｆ回路と，を備え，前記Ｉ／Ｆ回路は，前記プログラマブルロジックの健全性を監視しており，当該監視結果に基づいて前記ハードマクロへ送信される前記処理結果の出力を停止することを特徴とする。
【発明の効果】
【００２２】
本発明によれば，ハードマクロを内蔵する１つのＳＲＡＭ型ＦＰＧＡを使用して高い安全性が要求されるシステムを実現しようとする場合において，仮にＦＰＧＡが故障してもその影響が外部機器へ伝達する前にシステムを安全な状態に移行させることが可能になる。【００２３】
上記した以外の課題，構成および効果は，以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２４】
【図１】実施例１における，本発明のフィールドプログラマブルゲートアレイの全体図の一例である。
【図２】実施例１のフィールドプログラマブルゲートアレイにおけるインタフェース回路の実装の一例である。
【図３】実施例１のフィールドプログラマブルゲートアレイにおけるＣＲＡＭ診断回路の実装の一例である。
【図４】実施例１のフィールドプログラマブルゲートアレイを使用してシステムを構成した場合のタイムチャートの一例である。
【図５】実施例２における，フィールドプログラマブルゲートアレイを使用してシステムを構成した場合のタイムチャートの一例である。
【図６】実施例３における，ハードマクロからの出力を多重化したフィールドプログラマブルゲートアレイの実装の一例である。
【図７】実施例３のフィールドプログラマブルゲートアレイにおけるインタフェース回路の実装の一例である。
【図８】実施例４における，ハードマクロ内に専用のポートを有するフィールドプログラマブルゲートアレイの実装の一例である。
【図９】実施例５のフィールドプログラマブルゲートアレイにおける，ハードマクロに接続される外部ピンとプログラマブルロジックに接続される外部ピンの配置図の一例である。
【図１０】実施例６のフィールドプログラマブルゲートアレイにおける，ハードマクロとプログラマブルロジックを立体的に配置する場合の実装の断面図を示した一例である。
【図１１】実施例７における，本発明のフィールドプログラマブルゲートアレイを使用した制御コントローラの実装の一例である。
【図１２】実施例８における，本発明のフィールドプログラマブルゲートアレイを使用した鉄道信号制御システムの実装の一例である。
【図１３】実施例９における，本発明のフィールドプログラマブルゲートアレイを使用した自動車の運転支援システムの実装の一例である。
【発明を実施するための形態】
【００２５】
以下，本発明の実施例を，図面を用いて説明する。
【実施例１】
【００２６】
図１は，本発明のＦＰＧＡの全体図を表す一例を示したものである。【００２７】
このＦＰＧＡ（１）は，回路構成が固定され機能変更ができないハードマクロ２と，電源投入時や動作中に回路構成を変更可能なプログラマブルロジック（ＰＬ）３を内蔵し，ＰＬ（３）はインタフェース回路４を内蔵し，ハードマクロ２はＰＬ診断制御信号１１をインタフェース回路４に出力し，インタフェース回路４はＰＬ（３）のハードウェア動作処理によって得られたＰＬデータ信号１２をハードマクロ２に出力する構成である。  ハードマクロ２とＰＬ（３）は領域を空けて実装されており，これら２つの間を接続する信号はＰＬ診断制御信号１１およびＰＬデータ信号１２のみである。【００２８】
このように，ハードマクロ２とＰＬ（３）は領域を空けて実装し，限定された信号線のみによって接続することでＰＬ（３）の故障の影響がハードマクロへ及ぶことを防ぐことができる。  図２に，インタフェース回路４の一例を示す。【００２９】
図２のインタフェース回路４には，ＰＬ診断制御部５とデータ転送制御部６がある。【００３０】
ハードマクロ２が出力したＰＬ診断制御信号１１はインタフェース回路４の入力ポート１９からＰＬ診断制御部５を介してＰＬ診断制御信号１３としてＰＬ（３）へ出力され，ＰＬ（３）が故障しているか否かを調べるためのＰＬ診断動作を制御する。【００３１】
また，ＰＬ（３）はＰＬ診断が終了したらＰＬ診断結果データ信号１４をインタフェース回路４に出力し，ＰＬ診断制御部５内のＰＬ診断結果データ比較部７に入力される。【００３２】
また，期待値保持部８は，ＰＬ（３）に故障が無い正常動作時のＰＬ診断結果データの値を予め保持しておくものである。【００３３】
ＰＬ診断結果データ比較部７は，ＰＬ（３）が出力したＰＬ診断結果データ信号１４の値と期待値保持部８が出力した期待値データ信号１６の値を比較し，一致しているか否かによってＰＬ診断結果信号１７として指定の値を出力する。ここではＰＬ診断結果信号１７は１ビットとの値とし，一致していれば“０”，不一致であれば“１”を出力するものとする。【００３４】
一方，データ転送制御部６では，内部にあるデータ転送判定部９においてＰＬ（３）が出力したＰＬデータ信号１５およびＰＬ診断結果信号１７を入力し，ＰＬ診断結果信号１７の値が“０”でＰＬ（３）に故障や異常が無い時はＰＬデータ信号１５の値をそのままＰＬデータ信号１８として出力ポート２０を介してハードマクロ２へ出力するが，ＰＬ診断結果信号１７の値が“１”でＰＬ（３）に故障や異常が発生している場合は，ＰＬデータ信号１８にはハードマクロ２の動作に影響を与えない値を乗せ，出力ポート２０をクローズし，ＰＬ（３）の故障により不正な値となった可能性のあるＰＬデータ信号１５の値がハードマクロ２へ送信されないようにする。  図２で説明したＰＬ診断機能として，図３のようなコンフィグレーション・ランダム・アクセス・メモリ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒａｎｄｕｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，以下ＣＲＡＭ）診断回路を使う場合の一例を図３に示す。【００３５】
図３のＦＰＧＡ（１）は，図１に示したＦＰＧＡ（１）と比較して，ＰＬ（２１）にＣＲＡＭ診断回路２２を追加した部分が異なっている。【００３６】
この図３のＰＬ（２１）は回路部分を７行に区切っており，これに対応する形でＣＲＡＭ診断回路２２も７つの部分に区切っており，ＰＬ（２１）の対応する行ごとに診断を行う。【００３７】
ＣＲＡＭ診断回路２２は，近年のＳＲＡＭ型ＦＰＧＡでは一般的に実装されている，符号理論に基づくアルゴリズムを用いてＰＬ（２１）内の各行が保持しているデータの反転を検出する回路であり，本発明のＦＰＧＡにおけるＰＬ診断手法として容易に実装することができる。【００３８】
これらの診断によって，たとえＰＬ（３）が故障した場合であってもＰＬデータ信号１５のハードマクロ２へ送信を止めることができるため，結果，外部へ不正なデータが出力されることを防ぐことができる。  本実施例では，高い安全性が要求されるアプリケーションは，ハードマクロ２で実行するか，又は，ＰＬ（３）で実行された後ハードマクロを介して外部へ出力されるよう構成する。このように構成することで，ＦＰＧＡ（１）から外部への出力される高い安全性が要求されるデータは，ハードマクロ２で実行された演算結果か，又は，健全性が確認されたＰＬ（３）のによる演算結果とすることができるため，ＦＰＧＡ（１）を用いて高い安全性を実現することができる。【００３９】
図１から図３で示した本発明のＦＰＧＡを用いて，高い安全性が要求されるシステムを実装した場合の動作の流れの一例を図４に示す。【００４０】
図４（ａ）は，システムが故障無く安全に動作している状態の一例を示したタイムチャートである。【００４１】
このシステムは，ＰＬ部分のハードウェアがリアルタイム（Ｒｅａｌ−Ｔｉｍｅ，以下ＲＴ）性の高い処理を実行するＲＴ処理５１，ＣＲＡＭ診断回路などによってＰＬ診断を行うＰＬ診断処理５２，インタフェース回路を介してＰＬからハードマクロへＰＬ処理データを転送するＦＰＧＡ内部転送処理５３，インタフェース回路のはたらきによってＰＬからハードマクロへのデータ転送の切断中にＦＰＧＡ外部に接続された機器に制御信号を出力する外部出力処理５４，何もしないで次の命令を待つアイドル時間５５の５つを一つの制御周期内に繰り返すシステムであり，図４（ａ）の１周期目も２周期目も正常に動作を続けている例を示している。尚，ＲＴ処理５１，ＰＬ診断処理５２，を行っている際には，インタフェース回路によってＰＬからハードマクロへの接続は切断されている。【００４２】
一方，図４（ｂ）は，１周期目は図４（ａ）の例と同じであるが，２周期目のＰＬ診断６２でＰＬにソフトエラーによる故障が発生したことを検出したことを受け，安全処理７０に移行した例を示しており，図４（ａ）と異なり内部転送処理６３および外部出力処理６４を行わないため不用意なデータがＦＰＧＡ外部に送信されることが無く，再開処理７１にてシステムを再開させ，ソフトエラーの影響が無くなった状態でシステム動作をやり直す場合の例を示している。【００４３】
また図４（ｃ）は，図４（ｂ）と異なり，安全処理７０の後に停止処理７２にてシステムを停止させて安全な状態で停止させる例を示しており，例えばＰＬ部分の故障によるシステムの再開処理によってシステムが再起動しても故障の影響が無くならない場合などが該当する。  このように，ＳＲＡＭで構成されるＰＬ部分でソフトエラーなどの故障が発生したとしても，故障の影響をＦＰＧＡの外部に出力することがないので，安全性を担保したままでシステムの動作を継続したり，システムを安全に停止させたりする仕組みを容易に構築することが可能になる。
【実施例２】
【００４４】
次に，本発明のフィールドプログラマブルゲートアレイを用いたシステムにおいて，さらなる高安全性を実現する場合の例を示す。【００４５】
図５に示したタイムチャートは，図４に示したタイムチャートと比較して，（ａ），（ｂ），（ｃ）の全てでＰＬ診断処理５２が制御周期の先頭になっている部分が異なっている。【００４６】
制御周期の最初にＰＬ診断処理５２を行うことで，ＰＬ部分の故障が検出されなかった場合にのみＲＴ処理を実行するようになる。【００４７】
このように，制御周期の最初にＰＬ診断処理を行うことで，制御周期単位でシステムとして安全動作状態を維持することができる。
【実施例３】
【００４８】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，ＦＰＧＡ外部へ不正なデータを出力させることなくさらなる高安全性を実現する場合の一例を，図６および図７にて示す。【００４９】
図６に示すＦＰＧＡ（３０１）は，図１に示したＦＰＧＡ（１）と比較して，ハードマクロ３０２内に比較器３０５，３０６を実装し，ＰＬ（３）の部分に演算回路３０３，３０４を実装した部分が異なっている。【００５０】
ここで，演算回路３０３，３０４は同一の機能を持つ回路構成である。【００５１】
また，図７に示すインタフェース回路３０７は，図２に示したインタフェース回路４と比較して，データ転送制御部３３１内にもう一組のデータ転送判定部３３２と出力ポート３３３を実装した部分が異なっている。【００５２】
データ転送判定部３３２は演算回路３０４からＰＬデータ信号３２２を入力し，データ転送判定部９と同様にＰＬ診断結果信号１７の値によって，ポート３３３からハードマクロ（２）へ出力するＰＬデータ信号３２４の値を制御する。【００５３】
図６の演算回路３０３，３０４は同一の回路構成であるため，ＰＬ（３）が正常動作中はＰＬ（３）のインタフェース回路３０７を介して出力されるＰＬデータ信号３２３，３２４は同一の値であり，この２つの信号は比較器３０５および３０６で一致しているか否かを判定され，一致している場合のみ外部端子３１１，３１２からＦＰＧＡ外部に出力される。【００５４】
このように，ＦＰＧＡの外部端子に出力する前のデータを比較判定する構成にすることで，ＦＰＧＡから外部へ不正なデータを出力させなくするようなＦＰＧＡを実現することが可能になる。
【実施例４】
【００５５】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，ＦＰＧＡのハードマクロ内に通信ポートを設けることでさらなる高安全性を実現する場合の一例を示す。【００５６】
図８に示したＦＰＧＡ（４０１）は，図１に示したＦＰＧＡ（１）と比較して，ハードマクロ４０２内に出力として動作する内蔵ポート４０３と入力として動作する内蔵ポート４０４を追加した点が異なっている。【００５７】
内蔵ポート４０３と内蔵ポート４０４はハードマクロ２として構成されているものの一部であり，回路構成は変更できないので，ＰＬ（３）が故障した影響がインタフェース回路４を介してハードマクロ２に伝わる可能性がある場合でも，ハードマクロ２の中でしか制御できない入力ポート４０４をクローズすることで故障の影響がハードマクロ４０２を介してＦＰＧＡ外部に送信されないようにすることができる。【００５８】
このように，ＦＰＧＡのハードマクロ内に専用の内蔵ポートを設けることで，ソフトエラーの影響を受けやすいプログラマブルロジックから不用意なデータがハードマクロ側に伝わる可能性を無くし，ＦＰＧＡ外部に不用意なデータが送信されないようにすることで，システムとしての安全性を高めることが可能になる。
【実施例５】
【００５９】
次に，本発明のプログラマブルゲートアレイにおいて，ハードマクロ部分に直結する外部端子の位置を固定して実装する場合の例を示す。【００６０】
図９（ａ）は，半導体パッケージの外周に外部端子が配置されるＱｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ（ＱＦＰ）で実装したハードマクロ内蔵ＦＰＧＡ（５０１）の例を示した図であり，パッケージ内部では境界領域５０２を境にハードマクロとプログラマブルロジックの実装領域が分断されている。【００６１】
図９（ａ）のＦＰＧＡ（５０１）では，ハードマクロ部分は，半導体パッケージの１辺に隣接して設けられ，外部端子５０３としか接続しておらず，それ以外の外部端子はプログラマブルロジック部分と接続している。【００６２】
また，図９（ｂ）は，半導体パッケージの底面に外部端子が配置されるＢａｌｌ  Ｇｒｉｄ Ａｒｒａｙ（ＢＧＡ）で実装したハードマクロ内蔵ＦＰＧＡ（５１１）の例を示した図であり，パッケージ内部では境界領域５１２を境にハードマクロとプログラマブルロジックの実装領域が分断されている。【００６３】
図９（ａ）のＦＰＧＡ（５１１）では，ハードマクロ部分は外部端子５１３しか接続しておらず，それ以外の外部端子はプログラマブルロジックに接続している。【００６４】
このように，ハードマクロが接続する外部端子とプログラマブルロジックが接続する外部端子を分けたパッケージにすることで，このＦＰＧＡを使って高安全なシステムを設計する場合の基板実装が容易になる。
【実施例６】
【００６５】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，ハードマクロ部分とプログラマブルロジック部分を積層して実装する場合の例を示す。【００６６】
図１０は，ＢＧＡで実装された本発明のＦＰＧＡの断面図の一例を示したものであり，ＦＰＧＡ外部と接続するための外部端子６０６はメタル配線層６０４を介してボールバンプ６０５と接続しており，ボールバンプ６０５とはハードマクロ層６０２が接続する構成となっている。【００６７】
ここで，プログラマブルロジック層６０３はハードマクロ層６０２の上部に実装され，ボールバンプ６０５とは物理的に離れている。【００６８】
このように，ＦＰＧＡの外部端子から接続する回路をハードマクロ部分のみに限定し，プログラマブルロジック部分とボールバンプを離れた位置に立体的に配置することで，高安全な処理を行うハードマクロと，ソフトエラー発生確率は高いが高速な並列処理を行うプログラマブルロジックとを小さなパッケージで低コストに実装することが可能になる。【００６９】
またこの図１０ではパッケージをＢＧＡで実装した例を示したが，ＱＦＰなどの外部端子がパッケージの外周に接続されるような場合でも同様に積層して実装することができる。
【実施例７】
【００７０】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，産業用途システムなどで使用される制御コントローラに適用した場合の一例を示す。【００７１】
図１１は，電力供給システムを制御する装置の例を示したものであり，制御コントローラ７０１を構成する部品の一つに本発明のＦＰＧＡ（１）を搭載している。【００７２】
この制御コントローラ７０１は，電力供給を担う機械の動作状態を監視カメラ７０２によって常時監視し，動力装置部分に接続されるモータ７０３によって発電制御を行う。【００７３】
また，リレー装置７０４は，システムが故障などの影響で異常状態に陥りそうな時に，電力システムを安全に緊急停止するためのリレー回路を内蔵するものである。【００７４】
動作状態の監視はリアルタイム性が重要であるため，ＦＰＧＡ（１）のＰＬに画像処理回路を実装し，ＦＰＧＡ（１）のＰＬから監視カメラ７０２に対して監視カメラ制御信号７１１を出力し，監視カメラ７０２からＦＰＧＡ（１）のＰＬへは監視カメラデータ信号７１２を出力し，ＰＬのハードウェアで画像処理を行う。【００７５】
また，電力供給を担う機械を動作させるモータも，回転数をきめ細かに制御するためのリアルタイム性がやはり重要であるため，ＦＰＧＡ（１）のＰＬにモータ制御回路を実装し，ＦＰＧＡ（１）のＰＬからモータ７０３に対してモータ制御信号７１３を出力し，モータ７０３からＦＰＧＡ（１）のＰＬへはモータデータ信号７１４を出力し，ＰＬのハードウェアでモータ制御を行う。【００７６】
一方，リレー装置７０４は，システムが故障した場合などの緊急停止動作を司るもので，故障検出時に確実に動作してシステムを安全に停止させる必要があるので，高い安全性が要求される。【００７７】
そのため，リレー装置７０４を制御するリレー制御信号７２１はＦＰＧＡ（１）のハードマクロ部分からリレー装置７０４に送信し，緊急時にはリレー装置７０４から緊急停止信号７２２を停止させるべき装置に送信してシステムを安全に停止させる。【００７８】
このように，本発明のＦＰＧＡを適用することで，産業用途システムなどにおいて要求されることが多いリアルタイム性と高い安全性を両立したシステムを容易に実現することが可能になる。
【実施例８】
【００７９】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，鉄道信号制御システムに適用した場合の一例を示す。【００８０】
図１２は，列車の進行を制御する鉄道信号システムを構成する装置の例を示したものであり，鉄道信号制御コントローラ８０１を構成する部品の一つに本発明のＦＰＧＡ（１）を搭載している。【００８１】
レール部分に取り付けられたセンサによって得られた列車８０５の走行中の位置情報は，有線や無線などの通信手段を介して列車位置計算部８０３に対して列車位置情報８１１が送信され，列車位置計算部８０３によって計算された列車位置データ８１２は鉄道信号制御コントローラ８０１のＦＰＧＡ（１）のＰＬ部分に送られ，ハードウェアで処理される。【００８２】
一方，信号機８０４は，鉄道システムにおいて故障や事故などの緊急時に走行中の列車に対して停止を通知する装置であり，緊急時には確実に動作して列車を安全に停止させる必要があるので，高い安全性が要求される。【００８３】
そのため，信号機８０４を制御する信号制御部８０２に対して送信する信号制御信号８１３はＦＰＧＡ（１）のハードマクロ部分から信号制御部８０２に送信し，緊急時には信号制御部８０２から停止指示信号８１４を信号機８０４に送信して停止の通知をすることで列車を安全に停止させる。【００８４】
このように，本発明のＦＰＧＡを適用することで，非常に高い安全性が要求される鉄道向けのシステムなどにおいて，安全性の高いシステムを容易に実現することが可能になる。
【実施例９】
【００８５】
次に，本発明のフィールドプログラマブルゲートアレイにおいて，自動車の運転支援システムに適用した場合の一例を示す。【００８６】
図１３は，走行中の画像情報を走行制御に使用する，自動車の運転支援システムの構成例を示したものであり，自動車９０１全体の制御を行う統合ＥＣＵ（Ｅｌｅｃｔｒｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）９３０を構成する部品の一つに本発明のＦＰＧＡ（１）を搭載している。【００８７】
この自動車９０１は，車体前方に取り付けられたステレオカメラ９０２によって走行中の画像情報をリアルタイムに認識する機能を有する。【００８８】
ステレオカメラ９０２内には二つの単眼カメラ９０３，９０４があり，ＦＰＧＡ（１）内のＰＬから二つの単眼カメラ９０３，９０４に対して単眼カメラ制御信号９２１，９２３をそれぞれ出力して制御を行い，単眼カメラ９０３，９０４からは単眼カメラデータ信号９２２，９２４をそれぞれＦＰＧＡ（１）のＰＬに送信し，ＰＬでは画像処理アルゴリズムに基づいて実装されたハードウェアで処理される。【００８９】
一方，前輪９０５，９０６および後輪９０７，９０８に取り付けられたブレーキ９０９，９１０，９１１，９１２は，自動車９０１の内部でシステムが故障した場合などの緊急時には確実に動作して自動車９０１を安全に停止させる必要があり，緊急時に停止できなければ危険な状態に陥る可能性があるため，高い安全性が要求される。【００９０】
そのため，ブレーキ９０９，９１０，９１１，９１２を制御するブレーキ制御ＥＣＵ（９３１）に対して送信するブレーキ制御信号９２５はＦＰＧＡ（１）のハードマクロ部分からブレーキ制御ＥＣＵ（９３１）に送信し，緊急時にはブレーキ制御ＥＣＵ（９３１）から停止指示信号９２６を各ブレーキに送信して前輪と後輪を止め，自動車を安全に停止させる。【００９１】
このように，本発明のＦＰＧＡを適用することで，画像処理などのリアルタイム性が要求されるシステムと，ブレーキなどの高安全性が要求されるようなシステムであっても，一つのＦＰＧＡで容易に実現することが可能になる。【００９２】
なお，本発明は上記した実施例に限定されるものではなく，様々な変形例が含まれる。例えば，上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり，必ずしも説明した全ての構成を備えるものに限定されるものではない。また，ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり，また，ある実施例の構成に他の実施例の構成を加えることも可能である。また，各実施例の構成の一部について，他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００９３】
１，３０１，４０１，５０１，５１１…  フィールドプログラマブルゲートアレイ（ＦＰＧＡ）
２，３０２，４０２…  ハードマクロ
３，２１…  プログラマブルロジック（ＰＬ）
４，３０７…  インタフェース回路
５…  ＰＬ診断制御部
６…  データ転送制御部
７…  ＰＬ診断データ結果比較部
８…  期待値保持部
９…  データ転送判定部
２２…  ＣＲＡＭ診断回路
５１，６１…  ＲＴ処理
５２，６２…  ＰＬ診断処理
５３，６３…  ＦＰＧＡ内部転送処理
５４，６４…  外部出力処理
５５，６５…  アイドル時間
７０…  安全処理
７１…  再開処理
７２…  停止処理
７０１…  制御コントローラ
７０２…  監視カメラ
７０３…  モータ
７０４…  リレー装置
８０１…  鉄道信号制御コントローラ
８０２…  信号制御部
８０３…  列車位置計測部
８０４…  信号機
８０５…  列車
９０１…  自動車
９０２…  ステレオカメラ
９３０…  統合ＣＥＵ
９３１…  ブレーキ制御ＥＣＵ
【図１】
2016121015.tif 000003
【図２】
2016121015.tif 000004
【図３】
2016121015.tif 000005
【図４】
2016121015.tif 000006
【図５】
2016121015.tif 000007
【図６】
2016121015.tif 000008
【図７】
2016121015.tif 000009
【図８】
2016121015.tif 000010
【図９】
2016121015.tif 000011
【図１０】
2016121015.tif 000012
【図１１】
2016121015.tif 000013
【図１２】
2016121015.tif 000014
【図１３】
2016121015.tif 000015
【国際調査報告】
2016121015.tif 000016
2016121015.tif 000017