説明

信号処理回路

【課題】信号処理を行っているプログラム可能な回路ブロックが故障した場合においても、信号処理を継続して行うことができる。
【解決手段】制御回路5は、第1FPGA2に第1の機能をコンフィグレーションした後に出力確認回路6が第1FPGA2は故障していると判定した場合、代替FPGA3に第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、選択回路4が代替FPGA3の出力信号を選択して出力するように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理回路に関する。
【背景技術】
【0002】
FPGA(Field Programmable Gate Array)は年々機能や性能が向上している。また、FPGAは、プログラムの書き換えを行うことによってハードウェア構成を柔軟に変更できると言う利点を生かして、頻繁にハードウェア構成が変更される部分や、多品種対応の機種などに積極的に用いられている。FPGA再コンフィグレーション機構は、動作中にFPGA内部の回路を変更する機能であり、特に業務用機器など多数の動作モードに切り替えて動作させたい機器に搭載されたFPGAに使用される事が多い。内視鏡システムは、多数の動作モードに切り替えて動作させたい業務用機器のひとつであるが、医療機器である為、高い信頼性が要求されている。
【0003】
内視鏡システムは、リアルタイムで動画像を処理して表示する装置であり、ビデオプロセッサと、スコープ(撮像手段)と、光源装置と、モニタなどから構成されている。また、機能の変更や更新の際にプロセッサ内に備えられたFPGAを書き換えて動作させるように内視鏡システムを構成した場合、万一FPGAの書き換え時に何らかの異常が生じた時においても、速やかに内視鏡画像を観察できる状態に設定できるように構成されていることが望ましい。さらに、FPGAの書き換え動作時にもスコープが撮影した画像をモニタに表示し続けられていることが望まれている。
【0004】
また、複数のリコンフィグレーション可能なタイプのプログラマブルロジックデバイスと、各プログラマブルロジックデバイスへコンフィグレーションデータを選択的に供給する手段と、複数のプログラマブルロジックデバイス内のコンフィグレーション中でないものの出力を取り出す手段を備えている画像処理装置が知られている(例えば、特許文献1参照)。
【0005】
図6は、従来知られている画像処理装置の画像演算処理部の一例を示した図である。図6において、画像演算処理部100には、2個のPLD101,102、コンフィグレーションデータを格納した3個のROM、ROM(A),ROM(B),ROM(C)及び3つのROMのデータのいずれかをPLD101または102へ選択的に送出するするセレクタ103、コンフィグレーション制御器107を備えている。画像データはPLD101と102に並列に入力され、PLD101,102でそれぞれ画像演算処理される。コンフィグレーション制御器107は、それぞれのPLDの出力信号108aおよび108bのいずれかを選択して取り出し、例えば、処理後の画像データを記憶する画像メモリや次段の画像演算処理部等へ送出する。
【0006】
図7は、図6に示した従来知られている画像演算処理部の動作を示したフローチャートである。このフローチャートを用いて従来知られている画像演算処理部の動作を説明する。初期状態t0では、PLD101にROM(A)のコンフィグレーションデータDaがロードされており、これによりPLD101において画像演算処理Aが実行中であるものとする(図7(a),(b))。コンフィグレーション制御器107は、図7(d)に示すように、PLD101からの出力信号108aを選択して、画像演算処理Aを受けた画像データを選択して出力している。
【0007】
次に、時刻t1に、新たな画像処理Bを指定したコンフィグレーションの要求が来た場合、コンフィグレーション制御器107は、それまでコンフィグレーションが行われていなかったPLD102に対し画像処理B用のデータDbをロードする。すなわち、コンフィグレーション制御器107は、画像処理B用のデータDbをROM(B)から読み出させると共に、そのデータをセレクタ103を介してPLD102にロードしてコンフィグレーションを行わせる(図7(c))。
【0008】
PLD102は、図7(f)に示すように、データDbのロードが終了すると、コンフィグレーション完了信号109bを発生し、コンフィグレーション制御器107へ送る。この完了信号109bを受けたコンフィグレーション制御器107は、PLD101において続けられている画像演算処理Aの区切りがついた時点t2で、取り出す画像データを、PLD101からの出力信号108aよりPLD102の出力信号108bへと切り換える。このため、時刻t2以降、コンフィグレーション制御器107からは、図7(d)に示すように、画像処理Bを受けた画像データが取り出されて画像メモリへ送出される。
【0009】
次に、時刻t3に、外部のコンピュータより新たな画像処理Cを指定したコンフィグレーションの要求が来た場合、コンフィグレーション制御器107は、現在画像出力が選択されていないPLD101に対し画像処理C用のデータDcをロードする。すなわち、コンフィグレーション制御器107は、画像処理C用のデータDcをROM(C)から読み出させると共に、そのデータをセレクタ103を介してPLD101にロードしてコンフィグレーションを行わせる。
【0010】
PLD101は、図7(e)に示すように、データDcのロードが終了すると、コンフィグレーション完了信号109aを発生し、コンフィグレーション制御器107へ送る。この完了信号109aを受けたコンフィグレーション制御器107は、PLD102において続けられている画像演算処理Bの区切りがついた時点t4で、取り出す画像データを、PLD102からの出力信号108bより、PLD101の出力信号108aへと切り換える。このため、時刻t4以降、コンフィグレーション制御器107からは、図7(d)に示すように、画像処理Cを受けた画像データが取り出されて画像メモリへ送出される。これにより、特許文献1に記載されている画像撮像装置は、リコンフィグレーションを行う際に、変更時間中であっても画像処理を継続できる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2001−291484号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、特許文献1に記載されている画像演算処理部は、画像処理を行っている、プログラム可能な回路ブロックであるPLDが故障した場合に画像処理を継続して行うことができないという問題がある。
【0013】
本発明は、上記事情に鑑みてなされたものであり、信号処理を行っているプログラム可能な回路ブロックが故障した場合においても、信号処理を継続して行うことができる信号処理回路を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明は、プログラム可能な第1の回路ブロックと、プログラム可能であり、前記第1の回路ブロックと同一の入出力信号を入出力可能な第2の回路ブロックと、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択回路と、前記第1の回路ブロックの出力信号を確認し、当該第1の回路ブロックが故障しているか否かを判定する出力確認回路と、前記第1の回路ブロックと前記第2の回路ブロックとにコンフィグレーションを実施する機能を有し、前記第1の回路ブロックに第1の機能をコンフィグレーションした後に前記出力確認回路が前記第1の回路ブロックは故障していると判定した場合、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第2の回路ブロックの出力信号を選択して出力するように制御する制御回路と、を備えることを特徴とする信号処理回路である。
【0015】
また、本発明の信号処理回路において、前記制御回路はさらに、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第2の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第1の回路ブロックの出力信号を選択して出力するように前記選択回路を制御することを特徴とする。
【0016】
また、本発明は、プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0017】
また、本発明の信号処理回路において、前記制御回路は、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第2の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第1の回路ブロックの出力信号を選択して出力するように前記選択回路を制御することを特徴とする。
【0018】
また、本発明は、プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0019】
また、本発明の信号処理回路において、前記出力確認回路はさらに、前記第3の回路ブロックの出力信号を確認し、当該第3の回路ブロックが故障しているか否かを判定し、前記第3の回路ブロックに前記第3の機能をコンフィグレーションした後に前記出力確認回路が前記第3の回路ブロックは故障していると判定した場合、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第2の回路ブロックの出力信号を選択して出力するように制御することを特徴とする。
【0020】
また、本発明は、プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第1の機能または前記第2の機能のうち最小限の機能である第5の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能または前記第4の機能のうち最小限の機能である第6の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0021】
また、本発明は、プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0022】
また、本発明は、プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0023】
また、本発明は、プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する第1の選択部を有し、当該第1の選択部が出力する前記出力信号を入力信号とする第3の回路ブロックを備え、前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第1の機能または前記第2の機能のうち最小限の機能である第5の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能または前記第4の機能のうち最小限の機能である第6の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【0024】
また、本発明の信号処理回路において、前記第1の回路ブロックと前記第2の回路ブロックとは、Field Programmable Gate Arrayであることを特徴とする。
【0025】
また、本発明の信号処理回路において、前記第1の回路ブロックと、前記第2の回路ブロックと、前記第3の回路ブロックとは、Field Programmable Gate Arrayであることを特徴とする。
【発明の効果】
【0026】
本発明によれば、制御回路は、第1の回路ブロックに第1の機能をコンフィグレーションした後に出力確認回路が第1の回路ブロックは故障していると判定した場合、第2の回路ブロックに第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、選択回路が第2の回路ブロックの出力信号を選択して出力するように制御する。
【0027】
これにより、第1の回路ブロックが故障した場合、出力確認回路が第1の回路ブロックは故障していると判定することができる。そして、第1の回路ブロックは故障していると出力確認回路が判定した場合、制御回路は、第1の回路ブロックと同一の機能である第1の機能を第2の回路ブロックにコンフィグレーションし、第2の回路ブロックが処理した出力信号を選択回路が出力するように制御するため、プログラム可能な第1の回路ブロックが故障した場合においても継続して処理を行うことができる。
【図面の簡単な説明】
【0028】
【図1】本発明の第1の実施形態における信号処理回路の構成を示した概略図である。
【図2】本発明の第1の実施形態における信号処理回路の動作タイミングを示したタイミングチャートである。
【図3】本発明の第2の実施形態における信号処理回路の構成を示した概略図である。
【図4】本発明の第3の実施形態における信号処理回路の動作タイミングを示したタイミングチャートである。
【図5】本発明の第4の実施形態における信号処理回路の構成を示した概略図である。
【図6】従来知られている画像処理装置の画像演算処理部の一例を示した図である。
【図7】従来知られている画像演算処理部の動作を示したフローチャートである。
【発明を実施するための形態】
【0029】
(第1の実施形態)
以下、本発明の第1の実施形態について図面を参照して説明する。図1は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路1は、第1FPGA(Field Programmable Gate Array)2(第1の回路ブロック)と、代替FPGA3(第2の回路ブロック)と、選択回路4と、制御回路5とを備える。
【0030】
第1FPGA2と代替FPGA3とは、ROM(図示せず)に記憶されたコンフィグレーションデータ(論理回路プログラム)を読み込むことによりコンフィグレーション(論理回路の書き換え)が可能なプログラマブル集積回路の一種である。なお、本実施形態では、信号処理回路1は、プログラマブル集積回路としてFPGAを備えているが、これに限らず、FPGAの代わりにPLD(programmable logic device、プログラマブルロジックデバイス)などの書き換え可能なプログラマブル集積回路を備えるようにしてもよい。
【0031】
第1FPGA2は、外部から信号が入力される入力端子Aを備えている。また、第1FPGA2は、入力端子Aに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第1FPGA2は、処理を行った信号を出力する出力端子Eを備えている。代替FPGA3は、第1FPGA2が備える入力端子Aに入力される信号と同じ信号が入力される入力端子Aを備えている。また、代替FPGA3は、入力端子Aに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替FPGA3は、処理を行った信号を出力する出力端子Gを備えている。
【0032】
選択回路4は、第1FPGA2が出力する信号が入力される入力端子Eと、代替FPGA3が出力する信号が入力される入力端子Gとを備えている。また、選択回路4は、入力端子Eに入力された信号(第1FPGA2の出力信号)と入力端子Gに入力された信号(代替FPGA3の出力信号)とのうち、いずれか1つを選択して外部に出力する出力端子Iを備えている。また、選択回路4は、出力確認回路6を備えている。出力確認回路6は、選択回路4の入力端子Eと入力端子Gとに入力される信号を確認し、第1FPGA2と代替FPGA3とが故障しているか否かを判定する。また、出力確認回路6は、第1FPGA2と代替FPGA3とが故障しているか否かを判定した結果を制御回路5に対して入力する。制御回路5は、第1FPGA2と代替FPGA3とのコンフィグレーションの制御を行う。また、制御回路5は、選択回路4の信号出力の制御を行う。
【0033】
次に、第1機能回路がコンフィグレーションされている第1FPGA2が信号処理を行っている際に、第1FPGA2が故障した場合における信号処理回路1の動作手順について説明する。なお、信号処理回路1の通常動作時には、第1FPGA2には第1機能回路がコンフィグレーションされており、代替FPGA3には機能回路がコンフィグレーションされていないとする。
【0034】
信号処理回路1が通常動作している時には、信号処理回路1に入力された信号は、第1FPGA2の入力端子Aと代替FPGA3の入力端子Aとに入力される。第1FPGA2は、入力端子Aに入力された信号に対して第1機能回路に基づいた信号処理を行い、出力端子Eから出力する。出力端子Eから出力された信号は、選択回路4の入力端子Eに入力される。なお、代替FPGA3には機能回路がコンフィグレーションされていないため、代替FPGA3は処理を行わない。
【0035】
選択回路4は、制御回路5の制御により、入力端子Eに入力される信号と、入力端子Gに入力される信号とのうち、入力端子Eに入力される信号を出力端子Iから外部に出力する。なお、選択回路4が、入力端子Eに入力された第1FPGA2の出力信号を選択して出力端子Iから出力する前に、出力確認回路6は、第1FPGA2の出力信号を確認して第1FPGA2が故障しているか否かを判定する。
【0036】
ここで、第1FPGA2が故障した場合、第1FPGA2の出力信号は通常とは異なる信号となる。出力確認回路6は、通常とは異なる第1FPGA2の出力信号を確認した場合、第1FPGA2は故障していると判定し、判定結果「第1FPGA:故障」を制御回路5に入力する。
【0037】
制御回路5は、出力確認回路6から判定結果「第1FPGA:故障」が入力されると、代替FPGA3に対して「代替FPGAコンフィグ開始信号:第1機能回路」を入力する。代替FPGA3は、制御回路5から入力された「代替FPGAコンフィグ開始信号:第1機能回路」に基づいて、第1機能回路をコンフィグレーションする。そして、代替FPGA3は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路5に対して入力する。また、代替FPGA3は、入力端子Aに入力された信号に対して第1機能回路に基づいた信号処理を行い、出力端子Gから出力する。代替FPGA3の出力端子Gから出力された信号は、選択回路4の入力端子Gに入力される。
【0038】
制御回路5は、代替FPGA3から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA3のコンフィグレーションは正常に完了したと判定する。制御回路5は、代替FPGA3のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力端子Eから出力されて選択回路4の入力端子Eに入力される信号と、代替FPGA3の出力端子Gから出力されて選択回路4の入力端子Gに入力される信号とのうち、代替FPGA3の出力端子Gから出力されて選択回路4の入力端子Gに入力される信号を選択して出力端子Iから外部に出力するように、選択回路4に対して「選択信号:代替FPGA」を入力する。選択回路4は、入力された「選択信号:代替FPGA」に基づいて、代替FPGA3の出力端子Gから出力されて選択回路4の入力端子Gに入力される信号を選択して出力端子Iから外部に出力する。
【0039】
上述したとおり、第1FPGA2が故障した場合、出力確認回路6は、第1FPGA2の出力信号を確認することで、第1FPGA2が故障していると判定することができる。そして、出力確認回路6が第1FPGA2は故障していると判定した場合、制御回路5は、代替FPGA3に第1機能回路をコンフィグレーションさせるように制御する。また、制御回路5は、第1FPGA2の出力端子Eから出力されて選択回路4の入力端子Eに入力される信号と、代替FPGA3の出力端子Gから出力されて選択回路4の入力端子Gに入力される信号とのうち、代替FPGA3の出力端子Gから出力されて選択回路4の入力端子Gに入力される信号を選択して出力端子Iから外部に出力するように、選択回路4を制御する。従って、信号処理回路1は、第1FPGA2が故障した場合においても、継続して信号処理を行うことができる。
【0040】
次に、第1FPGA2の機能回路を第1の機能回路から第2の機能回路に書き換える場合における信号処理回路1の動作タイミングについて説明する。図2は、本実施形態において、第1FPGA2の機能回路を第1の機能回路から第2の機能回路に書き換える場合における信号処理回路1の動作タイミングを示したタイミングチャートである。
【0041】
信号処理回路1が搭載されている装置の電源が投入されると、制御回路5に入力されているシステムリセット信号が解除される。システムリセット信号が解除されると、制御回路5は、第1FPGA2に第1機能回路をコンフィグレーションさせるように、第1FPGA2に対して「第1FPGAコンフィグ開始信号:第1機能回路」を入力する。第1FPGA2は、制御回路5から入力された「第1FPGAコンフィグ開始信号:第1機能回路」に基づいて、第1機能回路をコンフィグレーションする。そして、第1FPGA2は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0042】
制御回路5は、第1FPGA2から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA2のコンフィグレーションは正常に完了したと判定する。制御回路5は、第1FPGA2のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、第1FPGA2の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:第1FPGA」を入力する。選択回路4は、入力された「選択信号:第1FPGA」に基づいて、第1FPGA2の出力信号を選択して外部に出力する。なお、選択回路4が第1FPGA2の出力信号を選択して外部に出力する前(出力を切り替える前)に、出力確認回路6は、第1FPGA2が出力する信号を確認して第1FPGA2が故障しているか否かを判定する。
【0043】
これにより、信号処理回路1は、外部から入力される信号に対して、第1FPGA2で第1機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0044】
また、制御回路5に対して、第1FPGA2の機能回路を、第1機能回路から第2機能回路に変更する指示が入力された場合、制御回路5は、代替FPGA3に第2機能回路をコンフィグレーションさせるように、代替FPGA3に対して「代替FPGAコンフィグ開始信号:第2機能回路」を入力する。代替FPGA3は、制御回路5から入力された「代替FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、代替FPGA3は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0045】
制御回路5は、代替FPGA3から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA3のコンフィグレーションは正常に完了したと判定する。制御回路5は、代替FPGA3のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、代替FPGA3の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:代替FPGA」を入力する。選択回路4は、入力された「選択信号:代替FPGA」に基づいて、代替FPGA3の出力信号を選択して外部に出力する。なお、選択回路4が代替FPGA3の出力信号を選択して外部に出力する前に、出力確認回路6は、代替FPGA3が出力する信号を確認して代替FPGA3が故障しているか否かを判定する。
【0046】
これにより、信号処理回路1は、外部から入力される信号に対して、代替FPGA3で第2機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0047】
続いて、制御回路5は、第1FPGA2に第2機能回路をコンフィグレーションさせるように、第1FPGA2に対して「第1FPGAコンフィグ開始信号:第2機能回路」を入力する。第1FPGA2は、制御回路5から入力された「第1FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、第1FPGA2は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0048】
制御回路5は、第1FPGA2から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA2のコンフィグレーションは正常に完了したと判定する。制御回路5は、第1FPGA2のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、第1FPGA2の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:第1FPGA」を入力する。選択回路4は、入力された「選択信号:第1FPGA」に基づいて、第1FPGA2の出力信号を選択して外部に出力する。なお、選択回路4が第1FPGA2の出力信号を選択して外部に出力する前に、出力確認回路6は、第1FPGA2が出力する信号を確認して第1FPGA2が故障しているか否かを判定する。
【0049】
これにより、信号処理回路1は、外部から入力される信号に対して、第1FPGA2で第2機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0050】
信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路の変更や更新動作時には、上述した動作を行う。例えば、第1FPGA2の機能回路を第1機能回路から第2機能回路に書き換える際に、制御回路5は、まず代替FPGA3に対して第2機能回路をコンフィグレーションする。そして、制御回路5は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路4が代替FPGA3の出力を選択して外部に出力するように制御する。次に、制御回路5は、第1FPGA2の代わりに代替FPGA3で信号処理を行いつつ、第1FPGA2に対して第2機能回路をコンフィグレーションする。そして、制御回路5は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路4が第1FPGA2の出力を選択して外部に出力するように制御する。これにより、第1FPGA2のコンフィグレーションを行っている間においても、第1FPGA2の代わりに代替FPGA3を用いて信号処理を行うことができるため、信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0051】
また、信号処理回路1は、代替FPGA3に第2機能回路をコンフィグレーションした後、代替FPGA3を用いて処理をし続けるのではなく、第1FPGA2に第2機能回路をコンフィグレーションして第1FPGA2を用いて処理を行う。これにより、信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路を変更した後においても、通常経路(第1FPGA2が信号の処理を行う経路)で動作することができる。
【0052】
また、代替FPGA3に対して第2機能回路をコンフィグレーションした後、選択回路4が備える出力確認回路6が、代替FPGA3の故障を検知した場合、制御回路5は、選択回路4の出力を代替FPGA3の出力に切り替えず、そのまま第1FPGA2の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路1は、代替FPGA3に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0053】
なお、代替FPGA3が故障した場合において、入力された信号に対する処理を停止させてでも第1FPGA2の機能回路を第1機能回路から第2機能回路に変更したい場合、制御回路5は、第1FPGA2に第2機能回路をコンフィグレーションさせるように制御することで、第1FPGA2の機能回路を第2機能回路に変更することができる。
【0054】
また、代替FPGA3に対して第2機能回路をコンフィグレーションした後、第1FPGA2に第2機能回路をコンフィグレーションする際に第1FPGA2に何らかの故障が起きた場合、制御回路5は、選択回路4の出力を第1FPGA2の出力に切り替えず、そのまま代替FPGA3の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路1は、第1FPGA2に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0055】
また、代替FPGA3に対して第2機能回路をコンフィグレーションし、その後、第1FPGA2に第2機能回路をコンフィグレーションした後、第1FPGA2に何らかの障害が起き、出力確認回路6が第1FPGA2の障害を確認した場合、制御回路5は、第1FPGA2への第2機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路6が第1FPGA2が正常に動作していることを確認した場合、制御回路5は、選択回路4の出力を第1FPGA2の出力に切り替えるようにしてもよい。これにより、第1FPGA2に障害が起きた場合においても、コンフィグレーションをリトライすることで、第1FPGA2の機能回路を第2機能回路に変更することができる。
【0056】
なお、第1FPGA2への第2機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0057】
また、制御回路5が第1FPGA2への第2機能回路のコンフィグレーションをリトライするタイミングは、例えば、第1FPGA2への第2機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路6が第1FPGA2が正常に動作しているか否かを確認した際に第1FPGA2の障害を確認したタイミングである。また、出力確認回路6が、第1FPGA2は正常に動作しているか否かを確認するタイミングは、第1FPGA2への第2機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0058】
(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して説明する。図3は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路20は、第1FPGA21(第1の回路ブロック)と、第2FPGA22(第3の回路ブロック)と、代替FPGA23(第2の回路ブロック)と、選択回路24と、制御回路25とを備える。なお、破線で示すように、第3FPGA27をさらに備えるようにしてもよい。
【0059】
第1FPGA21と、第2FPGA22と、代替FPGA23と、第3FPGA27とは、第1の実施形態の第1FPGA2と代替FPGA3と同様に、ROM(図示せず)に記憶されたコンフィグレーションデータを読み込むことによりコンフィグレーションが可能なプログラマブル集積回路の一種である。
【0060】
第1FPGA21は、外部から信号が入力される入力端子Aを備えている。また、第1FPGA21は、入力端子Aに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第1FPGA21は、処理を行った信号を出力する出力端子Cと出力端子eとを備えている。
【0061】
第2FPGA22は、選択回路24から信号が入力される入力端子Iと外部から信号が入力される入力端子bとを備えている。また、第2FPGA22は、入力端子Iと入力端子bとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第2FPGA22は、処理を行った信号を出力する出力端Kと出力端子dとを備えている。
【0062】
第3FPGA27は、選択回路24から信号が入力される入力端子Nと外部から信号が入力される入力端子jとを備えている。また、第3FPGA27は、入力端子Nと入力端子jとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第3FPGA27は、処理を行った信号を出力する出力端子Mと出力端子pとを備えている。
【0063】
代替FPGA23は、第1FPGA21が備える入力端子Aに入力される信号と同じ信号が入力される入力端子Aと、第2FPGA22が備える入力端子bに入力される信号と同じ信号が入力される入力端子bと、第3FPGA27が備える入力端子jに入力される信号と同じ信号が入力される入力端子jとを備えている。また、代替FPGA23は、第1FPGA21が処理を行った信号が入力される入力端子Cと、第2FPGA22が処理を行った信号が入力される入力端子Kと、第3FPGA27が処理を行った信号が入力される入力端子Mとを備えている。また、代替FPGA23は、入力端子Aと、入力端子bと、入力端子jと、入力端子Cと、入力端子Kと、入力端子Mとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替FPGA3は、処理を行った信号を出力する出力端子Gと出力端子gとを備えている。
【0064】
選択回路24は、第1FPGA21が出力する信号が入力される入力端子Cと入力端子eと、第2FPGA22が出力する信号が入力される入力端子Kと入力端子dと、第3FPGA27が出力する信号が入力される入力端子Mと入力端子pと、代替FPGA23が出力する信号が入力される入力端子Gと入力端子gとを備えている。また、選択回路24は、第1FPGA21が出力する信号(第1FPGA21の出力信号)と、第2FPGA22が出力する信号(第2FPGA22の出力信号)と、第3FPGA27が出力する信号(第3FPGA27の出力信号)と、代替FPGA23が出力する信号(代替FPGA23の出力信号)とのうちいずれか1つを選択して出力する出力端子Iと、出力端子Nと、出力端子Hと、出力端子hとを備えている。
【0065】
出力確認回路26は、選択回路24に入力された第1FPGA21が出力する信号と、第2FPGA22が出力する信号と、第3FPGA27が出力する信号と、代替FPGA23が出力する信号とを確認し、第1FPGA21と、第2FPGA22と、第3FPGA27と、代替FPGA23とが故障しているか否かを判定する。また、出力確認回路26は、第1FPGA21と、第2FPGA22と、第3FPGA27と、代替FPGA23とが故障しているか否かを判定した結果を制御回路25に対して入力する。制御回路25は、第1FPGA21と、第2FPGA22と、第3FPGA27と、代替FPGA23とのコンフィグレーションの制御を行う。また、制御回路25は、選択回路24の信号出力の制御を行う。
【0066】
次に、信号処理回路20の動作手順について説明する。以下、信号処理回路20が、第1FPGA21と、第2FPGA22と、代替FPGA23とを用いて動作する際の動作手順を例に説明する。なお、第1FPGA21には第1機能回路がコンフィグレーションされており、第2FPGA22には第3機能回路がコンフィグレーションされており、代替FPGA23には機能回路がコンフィグレーションされていないとする。
【0067】
信号処理回路20が通常動作している時には、信号処理回路20に入力された信号は、第1FPGA21の入力端子Aと代替FPGA23の入力端子Aとに入力される。第1FPGA21は、入力端子Aに入力された信号に対して第1機能回路に基づいた信号処理を行い、出力端子Cから出力する。出力端子Cから出力された信号は、選択回路24の入力端子Cに入力される。なお、代替FPGA23には機能回路がコンフィグレーションされていないため、代替FPGA23は処理を行わない。
【0068】
選択回路24は、制御回路25の制御により、入力端子Cに入力された信号を出力端子Iから出力する。出力端子Iから出力された信号は、第2FPGA22の入力端子Iに入力される。第2FPGA22は、入力端子Iに入力された信号に対して第3機能回路に基づいた信号処理を行い、出力端子Kから出力する。出力端子Kから出力された信号は、選択回路24の入力端子Kに入力される。選択回路24は、制御回路25の制御により、入力端子Kに入力された信号を出力端子Hから外部に出力する。
【0069】
次に、第1FPGA21の機能回路を第1機能回路から第2機能回路に書き換える際の動作手順について説明する。第1FPGA21の機能回路を第1機能回路から第2機能回路に書き換える際には、まず、制御回路25は、代替FPGA23に第2機能回路をコンフィグレーションさせるため、代替FPGA23に対して「代替FPGAコンフィグ開始信号:第2機能回路」を入力する。代替FPGA23は、制御回路25から入力された「代替FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、代替FPGA23は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路25に対して入力する。
【0070】
制御回路25は、代替FPGA23から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA23のコンフィグレーションは正常に完了したと判定する。制御回路25は、代替FPGA23のコンフィグレーションは正常に完了したと判定した場合、第1FPGA21の出力端子Cから出力され、選択回路24の入力端子Cに入力される信号と、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力される信号とのうち、入力端子Gに入力される信号を選択して出力端子Iから出力するように、選択回路24に対して「選択信号:代替FPGA−第2FPGA」を入力する。選択回路24は、入力された「選択信号:代替FPGA−第2FPGA」に基づいて、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力された信号を選択して出力端子Iから出力する。選択回路24の出力端子Iから出力された信号は、第2FPGA22に入力される。なお、選択回路24が入力端子Gに入力された信号を出力端子Iから出力する前に、出力確認回路26は、代替FPGA23が出力する信号を確認して代替FPGA23が故障しているか否かを判定する。
【0071】
これにより、信号処理回路20は、外部から入力される信号に対して、代替FPGA23で第2機能回路に基づいた信号処理を行い、処理を行った信号を第2FPGA22に入力することができる。なお、第2FPGA22に入力された信号については上述した処理と同様の処理を行われ、選択回路24の出力端子Hから外部に出力される。
【0072】
続いて、制御回路25は、第1FPGA21に第2機能回路をコンフィグレーションさせるため、第1FPGA21に対して「第1FPGAコンフィグ開始信号:第2機能回路」を入力する。第1FPGA21は、制御回路25から入力された「第1FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、第1FPGA21は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路25に対して入力する。
【0073】
制御回路25は、第1FPGA21から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA21のコンフィグレーションは正常に完了したと判定する。制御回路25は、第1FPGA21のコンフィグレーションは正常に完了したと判定した場合、第1FPGA21の出力端子Cから出力され、選択回路24の入力端子Cに入力される信号と、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力される信号とのうち、入力端子Cに入力される信号を選択して出力端子Iから出力するように、選択回路24に対して「選択信号:第1FPGA−第2FPGA」を入力する。選択回路24は、入力された「選択信号:第1FPGA−第2FPGA」に基づいて、第1FPGA21の出力端子Cから出力され、選択回路24の入力端子Cに入力された信号を選択して出力端子Iから出力する。選択回路24の出力端子Iから出力された信号は、第2FPGA22に入力される。なお、選択回路24が入力端子Cに入力された信号を出力端子Iから出力する前に、出力確認回路26は、第1FPGA21が出力する信号を確認して第1FPGA21が故障しているか否かを判定する。
【0074】
これにより、信号処理回路20は、外部から入力される信号に対して、第1FPGA21で第2機能回路に基づいた信号処理を行い、処理を行った信号を第2FPGA22に入力することができる。なお、第2FPGA22に入力された信号については上述した処理と同様の処理を行われ、選択回路24の出力端子Hから外部に出力される。
【0075】
上述したとおり、第1FPGA21の機能回路を第1機能回路から第2機能回路に書き換える際に、制御回路25は、まず代替FPGA23に対して第2機能回路をコンフィグレーションする。そして、制御回路25は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路24が代替FPGA23の出力を選択して第2FPGA22に対して入力するように制御する。次に、制御回路25は、第1FPGA21の代わりに代替FPGA23で信号処理を行いつつ、第1FPGA21に対して第2機能回路をコンフィグレーションする。そして、制御回路25は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路24が第1FPGA21の出力を選択して第2FPGA22に対して入力するように制御する。これにより、第1FPGA21のコンフィグレーションを行っている間においても、第1FPGA21の代わりに代替FPGA23を用いて信号処理を行うことができるため、信号処理回路20は、第1FPGA21にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0076】
また、信号処理回路20は、代替FPGA23に第2機能回路をコンフィグレーションした後、代替FPGA23を用いて処理をし続けるのではなく、第1FPGA21に第2機能回路をコンフィグレーションして第1FPGA21を用いて処理を行う。これにより、信号処理回路20は、第1FPGA21にコンフィグレーションする機能回路を変更した後においても、通常経路(第1FPGA21が信号の処理を行う経路)で動作することができる。これにより、代替FPGA23を他の用途(例えば、他のFPGAの書き換え)に用いることができる。
【0077】
また、代替FPGA23に対して第2機能回路をコンフィグレーションした後、選択回路24が備える出力確認回路26が、代替FPGA23の故障を検知した場合、制御回路25は、選択回路24の出力を代替FPGA23の出力に切り替えず、そのまま第1FPGA21の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路20は、代替FPGA23に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0078】
なお、代替FPGA23が故障した場合において、入力された信号に対する処理を停止させてでも第1FPGA21の機能回路を第1機能回路から第2機能回路に変更したい場合、制御回路25は、第1FPGA21に第2機能回路をコンフィグレーションさせるように制御することで、第1FPGA21の機能回路を第2機能回路に変更することができる。
【0079】
また、代替FPGA23に対して第2機能回路をコンフィグレーションした後、第1FPGA21に第2機能回路をコンフィグレーションする際に第1FPGA21に何らかの故障が起きた場合、制御回路25は、選択回路24の出力を第1FPGA21の出力に切り替えず、そのまま代替FPGA23の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路20は、第1FPGA21に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0080】
また、代替FPGA23に対して第2機能回路をコンフィグレーションし、その後、第1FPGA21に第2機能回路をコンフィグレーションした後、第1FPGA21に何らかの障害が起き、出力確認回路26が第1FPGA21の障害を確認した場合、制御回路25は、第1FPGA21への第2機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路26が第1FPGA21が正常に動作していることを確認した場合、制御回路25は、選択回路24の出力を第1FPGA21の出力に切り替えるようにしてもよい。これにより、第1FPGA21に障害が起きた場合においても、コンフィグレーションをリトライすることで、第1FPGA21の機能回路を第2機能回路に変更することができる。
【0081】
なお、第1FPGA21への第2機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0082】
また、制御回路25が第1FPGA21への第2機能回路のコンフィグレーションをリトライするタイミングは、例えば、第1FPGA21への第2機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路26が第1FPGA21が正常に動作しているか否かを確認した際に第1FPGA21の障害を確認したタイミングである。また、出力確認回路26が、第1FPGA21は正常に動作しているか否かを確認するタイミングは、第1FPGA21への第2機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0083】
次に、第2FPGA22の機能回路を第3機能回路から第4機能回路に書き換える際の動作手順について説明する。第2FPGA22の機能回路を第3機能回路から第4機能回路に書き換える際には、まず、制御回路25は、代替FPGA23に第4機能回路をコンフィグレーションさせるため、代替FPGA23に対して「代替FPGAコンフィグ開始信号:第4機能回路」を入力する。代替FPGA23は、制御回路25から入力された「代替FPGAコンフィグ開始信号:第4機能回路」に基づいて、第4機能回路をコンフィグレーションする。そして、代替FPGA23は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路25に対して入力する。
【0084】
制御回路25は、代替FPGA23から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA23のコンフィグレーションは正常に完了したと判定する。制御回路25は、代替FPGA23のコンフィグレーションは正常に完了したと判定した場合、第2FPGA22の出力端子Kから出力され、選択回路24の入力端子Kに入力される信号と、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力される信号とのうち、入力端子Gに入力される信号を選択して出力端子Hから外部に出力するように、選択回路24に対して「選択信号:代替FPGA−外部」を入力する。選択回路24は、入力された「選択信号:代替FPGA−外部」に基づいて、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力された信号を選択して出力端子Hから外部に出力する。なお、選択回路24が入力端子Gに入力された信号を出力端子Hから出力する前に、出力確認回路26は、代替FPGA23が出力する信号を確認して代替FPGA23が故障しているか否かを判定する。
【0085】
これにより、信号処理回路20は、第1FPGA21が処理した信号に対して、代替FPGA23で第4機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0086】
続いて、制御回路25は、第2FPGA22に第4機能回路をコンフィグレーションさせるため、第2FPGA22に対して「第2FPGAコンフィグ開始信号:第4機能回路」を入力する。第2FPGA22は、制御回路25から入力された「第2FPGAコンフィグ開始信号:第4機能回路」に基づいて、第4機能回路をコンフィグレーションする。そして、第2FPGA22は、コンフィグレーションが正常に完了した後、「第2FPGAコンフィグ完了信号」を制御回路25に対して入力する。
【0087】
制御回路25は、第2FPGA22から「第2FPGAコンフィグ完了信号」が入力されると、第2FPGA22のコンフィグレーションは正常に完了したと判定する。制御回路25は、第2FPGA22のコンフィグレーションは正常に完了したと判定した場合、第2FPGA22の出力端子Kから出力され、選択回路24の入力端子Kに入力される信号と、代替FPGA23の出力端子Gから出力され、選択回路24の入力端子Gに入力される信号とのうち、入力端子Kに入力される信号を選択して出力端子Hから外部に出力するように、選択回路24に対して「選択信号:第2FPGA−外部」を入力する。選択回路24は、入力された「選択信号:第2FPGA−外部」に基づいて、第2FPGA22の出力端子Kから出力され、選択回路24の入力端子Kに入力された信号を選択して出力端子Hから外部に出力する。なお、選択回路24が入力端子Kに入力された信号を出力端子Hから外部に出力する前に、出力確認回路26は、第2FPGA22が出力する信号を確認して第2FPGA22が故障しているか否かを判定する。
【0088】
これにより、信号処理回路20は、第1FPGA21が処理した信号に対して、第2FPGA22で第4機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0089】
上述したとおり、第2FPGA22の機能回路を第3機能回路から第4機能回路に書き換える際に、制御回路25は、まず代替FPGA23に対して第4機能回路をコンフィグレーションする。そして、制御回路25は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路24が代替FPGA23の出力を選択して外部に出力するように制御する。次に、制御回路25は、第2FPGA22の代わりに代替FPGA23で信号処理を行いつつ、第2FPGA22に対して第4機能回路をコンフィグレーションする。そして、制御回路25は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路24が第2FPGA22の出力を選択して外部に出力するように制御する。これにより、第2FPGA22のコンフィグレーションを行っている間においても、第2FPGA22の代わりに代替FPGA23を用いて信号処理を行うことができるため、信号処理回路20は、第2FPGA22にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0090】
また、信号処理回路20は、代替FPGA23に第4機能回路をコンフィグレーションした後、代替FPGA23を用いて処理をし続けるのではなく、第2FPGA22に第4機能回路をコンフィグレーションして第2FPGA22を用いて処理を行う。これにより、信号処理回路20は、第2FPGA22にコンフィグレーションする機能回路を変更した後においても、通常経路(第2FPGA22が信号の処理を行う経路)で動作することができる。これにより、代替FPGA23を他の用途(例えば、他のFPGAの書き換え)に用いることができる。
【0091】
また、代替FPGA23に対して第4機能回路をコンフィグレーションした後、選択回路24が備える出力確認回路26が、代替FPGA23の故障を検知した場合、制御回路25は、選択回路24の出力を代替FPGA23の出力に切り替えず、そのまま第2FPGA22の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路20は、代替FPGA23に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0092】
なお、代替FPGA23が故障した場合において、入力された信号に対する処理を停止させてでも第2FPGA22の機能回路を第3機能回路から第4機能回路に変更したい場合、制御回路25は、第2FPGA22に第4機能回路をコンフィグレーションさせるように制御することで、第2FPGA22の機能回路を第4機能回路に変更することができる。
【0093】
また、代替FPGA23に対して第4機能回路をコンフィグレーションした後、第2FPGA22に第4機能回路をコンフィグレーションする際に第2FPGA22に何らかの故障が起きた場合、制御回路25は、選択回路24の出力を第2FPGA22の出力に切り替えず、そのまま代替FPGA23の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路20は、第2FPGA22に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0094】
また、代替FPGA23に対して第4機能回路をコンフィグレーションし、その後、第
2FPGA22に第4機能回路をコンフィグレーションした後、第2FPGA22に何らかの障害が起き、出力確認回路26が第2FPGA22の障害を確認した場合、制御回路25は、第2FPGA22への第4機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路26が第2FPGA22が正常に動作していることを確認した場合、制御回路25は、選択回路24の出力を第2FPGA22の出力に切り替えるようにしてもよい。これにより、第2FPGA22に障害が起きた場合においても、コンフィグレーションをリトライすることで、第2FPGA22の機能回路を第4機能回路に変更することができる。
【0095】
なお、第2FPGA22への第4機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0096】
また、制御回路25が第2FPGA22への第4機能回路のコンフィグレーションをリトライするタイミングは、例えば、第2FPGA22への第4機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路26が第2FPGA22が正常に動作しているか否かを確認した際に第2FPGA22の障害を確認したタイミングである。また、出力確認回路26が、第2FPGA22は正常に動作しているか否かを確認するタイミングは、第2FPGA22への第4機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0097】
なお、図3に示した信号処理回路20が備える第1FPGA21と、第2FPGA22と、第3FPGA27と、代替FPGA23と、選択回路24とは、上記の説明で用いた入力端子および出力端子以外の入力端子および出力端子を備えている。例えば、第2FPGA22と代替FPGA23とは、それぞれFPGA間で入出力する信号以外の信号を入力する入力端子bを備えている。また、第2FPGA22は出力端子dを備え、代替FPGA23は出力端子gを備えている。
【0098】
この構成により、第2FPGA22が、外部から入力端子bに入力された信号に対して処理を行い、処理を行った信号を出力端子dから出力する場合に、第2FPGA22の機能回路を書き換える時においても、代替FPGA23に入力する信号を入力端子bから入力する信号に切り替え、代替FPGA23から出力する信号を出力端子gから出力するように切り替えることで、第2FPGA22の機能回路を代替FPGA23で代替することができる。すなわち、第2FPGA22が、FPGA間で入出力する信号以外の信号や、外部と入出力する信号の処理を行う場合においても、第2FPGA22の機能回路を代替FPGA23で代替することができる。
【0099】
また、上述した例では、信号処理回路20が、第1FPGA21と、第2FPGA22と、代替FPGA23とを用いて動作する際の動作手順について説明したが、第3FPGA27を用いて動作することも可能である。具体的には、図3の点線で示すように、第2FPGA22の入出力端子と同様に、第3FPGA27の入出力端子を代替FPGA23と選択回路24とに接続すれば良い。また、信号処理回路20が4つ以上のFPGAを備え、4つ以上のFPGAを用いて動作するようにしてもよい。
【0100】
また、上述した例では、代替FPGA23の回路規模は、第1FPGA21と、第2FPGA22と、第3FPGA27との回路規模と同等以上の場合の例を用いて説明したが、これに限らない。例えば、代替FPGA23の回路規模は、第1FPGA21と、第2FPGA22と、第3FPGA27との回路規模よりも小さくてもよい。この場合、代替FPGA23は、代替する第1FPGA21や、第2FPGA22や、第3FPGA27と同じ機能回路を実現する必要は無く、代替する第1FPGA21や、第2FPGA22や、第3FPGA27の機能回路のうち、代替時に信号の出力を維持することができる最低限必要な機能回路のみを、専用のコンフィグレーションデータを用いてコンフィグレーションすればよい。これにより、信号処理回路20は、第1FPGA21と、第2FPGA22と、第3FPGA27との回路規模よりも回路規模が小さい代替FPGA23を備える場合においても、最低限の処理を継続して行うことができる。
【0101】
(第3の実施形態)
次に、本発明の第3の実施形態について図面を参照して説明する。本実施形態における信号処理回路1は、第1の実施形態における信号処理回路1と同様の構成である。本実施形態と第1の実施形態とで異なる点は、第1FPGA2の機能回路を第1機能回路から第2機能回路に書き換える際に、第1の実施形態では代替FPGA3に第2機能回路をコンフィグレーションしたが、本実施形態では代替FPGA3に第1機能回路をコンフィグレーションする点である。
【0102】
次に、第1FPGA2の機能回路を第1の機能回路から第2の機能回路に書き換える場合における信号処理回路1の動作タイミングについて説明する。図4は、本実施形態において、第1FPGA2の機能回路を第1の機能回路から第2の機能回路に書き換える場合における信号処理回路1の動作タイミングを示したタイミングチャートである。
【0103】
信号処理回路1が搭載されている装置の電源が投入されると、制御回路5に入力されているシステムリセット信号が解除される。システムリセット信号が解除されると、制御回路5は、第1FPGA2に第1機能回路をコンフィグレーションさせるように、第1FPGA2に対して「第1FPGAコンフィグ開始信号:第1機能回路」を入力する。第1FPGA2は、制御回路5から入力された「第1FPGAコンフィグ開始信号:第1機能回路」に基づいて、第1機能回路をコンフィグレーションする。そして、第1FPGA2は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0104】
制御回路5は、第1FPGA2から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA2のコンフィグレーションは正常に完了したと判定する。制御回路5は、第1FPGA2のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、第1FPGA2の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:第1FPGA」を入力する。選択回路4は、入力された「選択信号:第1FPGA」に基づいて、第1FPGA2の出力信号を選択して外部に出力する。なお、選択回路4が第1FPGA2の出力信号を選択して外部に出力する前(出力を切り替える前)に、出力確認回路6は、第1FPGA2が出力する信号を確認して第1FPGA2が故障しているか否かを判定する。
【0105】
これにより、信号処理回路1は、外部から入力される信号に対して、第1FPGA2で第1機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0106】
また、制御回路5に対して、第1FPGA2の機能回路を、第1機能回路から第2機能回路に変更する指示が入力された場合、制御回路5は、代替FPGA3に第1機能回路をコンフィグレーションさせるように、代替FPGA3に対して「代替FPGAコンフィグ開始信号:第1機能回路」を入力する。代替FPGA3は、制御回路5から入力された「代替FPGAコンフィグ開始信号:第1機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、代替FPGA3は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0107】
制御回路5は、代替FPGA3から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA3のコンフィグレーションは正常に完了したと判定する。制御回路5は、代替FPGA3のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、代替FPGA3の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:代替FPGA」を入力する。選択回路4は、入力された「選択信号:代替FPGA」に基づいて、代替FPGA3の出力信号を選択して外部に出力する。なお、選択回路4が代替FPGA3の出力信号を選択して外部に出力する前に、出力確認回路6は、代替FPGA3が出力する信号を確認して代替FPGA3が故障しているか否かを判定する。
【0108】
これにより、信号処理回路1は、外部から入力される信号に対して、代替FPGA3で第1機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0109】
続いて、制御回路5は、第1FPGA2に第2機能回路をコンフィグレーションさせるように、第1FPGA2に対して「第1FPGAコンフィグ開始信号:第2機能回路」を入力する。第1FPGA2は、制御回路5から入力された「第1FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、第1FPGA2は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路5に対して入力する。
【0110】
制御回路5は、第1FPGA2から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA2のコンフィグレーションは正常に完了したと判定する。制御回路5は、第1FPGA2のコンフィグレーションは正常に完了したと判定した場合、第1FPGA2の出力信号と代替FPGA3の出力信号とのうち、第1FPGA2の出力信号を選択して外部に出力するように、選択回路4に対して「選択信号:第1FPGA」を入力する。選択回路4は、入力された「選択信号:第1FPGA」に基づいて、第1FPGA2の出力信号を選択して外部に出力する。なお、選択回路4が第1FPGA2の出力信号を選択して外部に出力する前に、出力確認回路6は、第1FPGA2が出力する信号を確認して第1FPGA2が故障しているか否かを判定する。
【0111】
これにより、信号処理回路1は、外部から入力される信号に対して、第1FPGA2で第2機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0112】
信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路の変更や更新動作時には、上述した動作を行う。例えば、第1FPGA2の機能回路を第1機能回路から第2機能回路に書き換える際に、制御回路5は、まず代替FPGA3に対して第1機能回路をコンフィグレーションする。そして、制御回路5は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路4が代替FPGA3の出力を選択して外部に出力するように制御する。次に、制御回路5は、第1FPGA2の代わりに代替FPGA3で信号処理を行いつつ、第1FPGA2に対して第2機能回路をコンフィグレーションする。そして、制御回路5は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路4が第1FPGA2の出力を選択して外部に出力するように制御する。これにより、第1FPGA2のコンフィグレーションを行っている間においても、第1FPGA2の代わりに代替FPGA3を用いて信号処理を行うことができるため、信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0113】
また、信号処理回路1は、代替FPGA3に第1機能回路をコンフィグレーションした後、代替FPGA3を用いて処理をし続けるのではなく、第1FPGA2に第2機能回路をコンフィグレーションして第1FPGA2を用いて処理を行う。これにより、信号処理回路1は、第1FPGA2にコンフィグレーションする機能回路を変更した後においても、通常経路(第1FPGA2が信号の処理を行う経路)で動作することができる。
【0114】
また、代替FPGA3に対して第1機能回路をコンフィグレーションした後、選択回路4が備える出力確認回路6が、代替FPGA3の故障を検知した場合、制御回路5は、選択回路4の出力を代替FPGA3の出力に切り替えず、そのまま第1FPGA2の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路1は、代替FPGA3に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0115】
なお、代替FPGA3が故障した場合において、入力された信号に対する処理を停止させてでも第1FPGA2の機能回路を第1機能回路から第2機能回路に変更したい場合、制御回路5は、第1FPGA2に第2機能回路をコンフィグレーションさせるように制御することで、第1FPGA2の機能回路を第2機能回路に変更することができる。
【0116】
また、代替FPGA3に対して第1機能回路をコンフィグレーションした後、第1FPGA2に第2機能回路をコンフィグレーションする際に第1FPGA2に何らかの故障が起きた場合、制御回路5は、選択回路4の出力を第1FPGA2の出力に切り替えず、そのまま代替FPGA3の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路1は、第1FPGA2に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0117】
また、代替FPGA3に対して第1機能回路をコンフィグレーションし、その後、第1FPGA2に第2機能回路をコンフィグレーションした後、第1FPGA2に何らかの障害が起き、出力確認回路6が第1FPGA2の障害を確認した場合、制御回路5は、第1FPGA2への第2機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路6が第1FPGA2が正常に動作していることを確認した場合、制御回路5は、選択回路4の出力を第1FPGA2の出力に切り替えるようにしてもよい。これにより、第1FPGA2に障害が起きた場合においても、コンフィグレーションをリトライすることで、第1FPGA2の機能回路を第2機能回路に変更することができる。
【0118】
なお、第1FPGA2への第2機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0119】
また、制御回路5が第1FPGA2への第2機能回路のコンフィグレーションをリトライするタイミングは、例えば、第1FPGA2への第2機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路6が第1FPGA2が正常に動作しているか否かを確認した際に第1FPGA2の障害を確認したタイミングである。また、出力確認回路6が、第1FPGA2は正常に動作しているか否かを確認するタイミングは、第1FPGA2への第2機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0120】
また、信号処理回路1が、第1FPGA2の機能回路を第1機能回路から第2機能回路に書き換えた後に再度第1機能回路を用いて信号処理を行う場合においては、代替FPGA3には既に第1機能がコンフィグレーションされているため、選択回路4が出力する信号を、第1FPGA2の出力信号から代替FPGA3の出力信号に切り替えるだけで、瞬時に第1機能回路を用いて信号処理を行うことができる。
【0121】
なお、本実施形態では、信号処理回路1を用いて説明したが、これに限らない。例えば、第2の実施形態における信号処理回路20においても、本実施形態の処理と同様の処理を行い、同様の効果を得ることができる。具体的には、第2の実施形態では、第1FPGA21の機能回路を第1機能回路から第2機能回路に書き換える際に、代替FPGA23には第2機能回路をコンフィグレーションしたが、上述した例と同様に、代替FPGA23に第1機能回路をコンフィグレーションすることで本実施形態と同様の効果を得ることができる。また、第2の実施形態では、第2FPGA22の機能回路を第3機能回路から第4機能回路に書き換える際に、代替FPGA23には第4機能回路をコンフィグレーションしたが、上述した例と同様に、代替FPGA23に第3機能回路をコンフィグレーションすることで本実施形態と同様の効果を得ることができる。
【0122】
(第4の実施形態)
次に、本発明の第4の実施形態について図面を参照して説明する。図5は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路30は、第1FPGA31と、第2FPGA32と、代替FPGA33と、選択回路34と、制御回路35とを備える。なお、破線で示すように、第3FPGA37をさらに備えるようにしてもよい。
【0123】
第1FPGA31と、第2FPGA32と、代替FPGA33と、第3FPGA37とは、第1の実施形態の第1FPGA2と代替FPGA3と同様に、ROM(図示せず)に記憶されたコンフィグレーションデータを読み込むことによりコンフィグレーションが可能なプログラマブル集積回路の一種である。また、第2FPGA32は、選択器40を備える。また、選択器40は、出力確認回路41を備える。なお、第2FPGA32が備える選択器40と、選択器40が備える出力確認回路41とは、第2FPGA32のコンフィグレーションによって構成されるようにしてもよい。
【0124】
第1FPGA31は、外部から信号が入力される入力端子Aを備えている。また、第1FPGA31は、入力端子Aに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第1FPGA31は、処理を行った信号を出力する出力端子Cと出力端子Eとを備えている。
【0125】
第2FPGA32は、第1FPGA31から信号が入力される入力端子Cと、代替FPGA33から信号が入力される入力端子Fと、外部から信号が入力される入力端子Bとを備えている。また、第2FPGA32は、入力端子Cと、入力端子Fと、入力端子Bとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第2FPGA32は、処理を行った信号を出力する出力端子Dと出力端子Kとを備えている。
【0126】
第3FPGA27は、第2FPGA32から信号が入力される入力端子Kと、代替FPGA33から信号が入力される入力端子Mと、外部から信号が入力される入力端子Jとを備えている。また、第3FPGA37は、入力端子Kと、入力端子Mと、入力端子Jとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第3FPGA37は、処理を行った信号を出力する出力端子Lを備えている。
【0127】
代替FPGA33は、第1FPGA31が備える入力端子Aに入力される信号と同じ信号が入力される入力端子Aと、第2FPGA32が備える入力端子Bに入力される信号と同じ信号が入力される入力端子Bと、第2FPGA32が備える入力端子Cに入力される信号と同じ信号が入力される入力端子Cと、第3FPGA37が備える入力端子Jに入力される信号と同じ信号が入力される入力端子Jと、第3FPGA37が備える入力端子Kに入力される信号と同じ信号が入力される入力端子Kとを備えている。また、代替FPGA33は、入力端子Aと、入力端子Bと、入力端子Cと、入力端子Jと、入力端子Kとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替FPGA33は、処理を行った信号を出力する出力端子Gを備えている。
【0128】
選択回路34は、第1FPGA31が出力する信号が入力される入力端子Eと、第2FPGA32が出力する信号が入力される入力端子Dと、第3FPGA37が出力する信号が入力される入力端子Lと、代替FPGA33が出力する信号が入力される入力端子Gとを備えている。また、選択回路34は、第1FPGA31が出力する信号(第1FPGA31の出力信号)と、第2FPGA32が出力する信号(第2FPGA32の出力信号)と、第3FPGA37が出力する信号(第3FPGA37の出力信号)と、代替FPGA33が出力する信号(代替FPGA33の出力信号)とのうちいずれか1つを選択して外部に出力する出力端子Iと、出力端子Nと、出力端子Hとを備えている。
【0129】
出力確認回路36は、選択回路34に入力された第1FPGA31が出力する信号と、第2FPGA32が出力する信号と、第3FPGA37が出力する信号と、代替FPGA33が出力する信号とを確認し、第1FPGA31と、第2FPGA32と、第3FPGA37と、代替FPGA33とが故障しているか否かを判定する。また、出力確認回路36は、第1FPGA31と、第2FPGA32と、第3FPGA37と、代替FPGA33とが故障しているか否かを判定した結果を制御回路35に対して入力する。
【0130】
選択器40は、第1FPGA31が出力し、第2FPGA32の入力端子Cに入力される信号と、代替FPGA33が出力し、第2FPGA32の入力端子Fに入力される信号と、外部から第2FPGA32の入力端子Bに入力される信号とのうちいずれか1つを選択し、第2FPGA22の入力信号とする。
【0131】
出力確認回路41は、第1FPGA31が出力し、第2FPGA32の入力端子Cに入力される信号と、代替FPGA33が出力し、第2FPGA32の入力端子Fに入力される信号とを確認し、第1FPGA31と代替FPGA33とが故障しているか否かを判定する。また、出力確認回路41は、第1FPGA31と代替FPGA33とが故障しているか否かを判定した結果を制御回路35に対して入力する。制御回路35は、第1FPGA31と、第2FPGA32と、第3FPGA37と、代替FPGA33とのコンフィグレーションの制御を行う。また、制御回路35は、選択回路34と選択器40との信号出力の制御を行う。
【0132】
次に、信号処理回路30の動作手順について説明する。以下、信号処理回路30が、第1FPGA31と、第2FPGA32と、代替FPGA33とを用いて動作する際の動作手順を例に説明する。なお、第1FPGA31には第1機能回路がコンフィグレーションされており、第2FPGA32には第3機能回路がコンフィグレーションされており、代替FPGA33には機能回路がコンフィグレーションされていないとする。
【0133】
信号処理回路30が通常動作している時には、信号処理回路30に入力された信号は、第1FPGA31の入力端子Aと代替FPGA33の入力端子Aとに入力される。第1FPGA31は、入力端子Aに入力された信号に対して第1機能回路に基づいた信号処理を行い、出力端子Cから出力する。出力端子Cから出力された信号は、第2FPGA32の入力端子Cと代替FPGA33の入力端子Cとに入力される。なお、代替FPGA33には機能回路がコンフィグレーションされていないため、代替FPGA33は処理を行わない。
【0134】
第2FPGA32の選択器40は、制御回路35の制御により、入力端子Cに入力された信号を選択し、第2FPGA32の入力信号とする。第2FPGA32は、選択器40が選択した、入力端子Cに入力された信号に対して第3機能回路に基づいた信号処理を行い、出力端子Dから出力する。出力端子Dから出力された信号は、選択回路34の入力端子Dに入力される。選択回路34は、制御回路35の制御により、入力端子Dに入力された信号を出力端子Hから外部に出力する。
【0135】
次に、第1FPGA31の機能回路を第1機能回路から第2機能回路に書き換える際の動作手順について説明する。第1FPGA31の機能回路を第1機能回路から第2機能回路に書き換える際には、まず、制御回路35は、代替FPGA33に第2機能回路をコンフィグレーションさせるため、代替FPGA33に対して「代替FPGAコンフィグ開始信号:第2機能回路」を入力する。代替FPGA33は、制御回路35から入力された「代替FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、代替FPGA33は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路35に対して入力する。
【0136】
制御回路35は、代替FPGA33から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA33のコンフィグレーションは正常に完了したと判定する。制御回路35は、代替FPGA33のコンフィグレーションは正常に完了したと判定した場合、第1FPGA31の出力端子Cから出力され、第2FPGA32の入力端子Cに入力される信号と、代替FPGA33の出力端子Fから出力され、第2FPGA32の入力端子Fに入力される信号とのうち、入力端子Fに入力される信号を選択して第2FPGA32の入力信号とするように、選択器40に対して「選択信号:代替FPGA」を入力する。
【0137】
選択器40は、入力された「選択信号:代替FPGA」に基づいて、代替FPGA33の出力端子Fから出力され、第2FPGA32の入力端子Fに入力された信号を選択して第2FPGA32の入力信号とする。なお、選択器40が入力端子Fに入力された信号を第2FPGA32の入力信号とする前に、出力確認回路41は、代替FPGA33が出力する信号を確認して代替FPGA33が故障しているか否かを判定する。
【0138】
これにより、信号処理回路30は、外部から入力される信号に対して、代替FPGA33で第2機能回路に基づいた信号処理を行い、処理を行った信号を第2FPGA32に入力することができる。なお、第2FPGA32に入力された信号については上述した処理と同様の処理を行われ、選択回路34の出力端子Hから外部に出力される。
【0139】
続いて、制御回路35は、第1FPGA31に第2機能回路をコンフィグレーションさせるため、第1FPGA31に対して「第1FPGAコンフィグ開始信号:第2機能回路」を入力する。第1FPGA31は、制御回路35から入力された「第1FPGAコンフィグ開始信号:第2機能回路」に基づいて、第2機能回路をコンフィグレーションする。そして、第1FPGA31は、コンフィグレーションが正常に完了した後、「第1FPGAコンフィグ完了信号」を制御回路35に対して入力する。
【0140】
制御回路35は、第1FPGA31から「第1FPGAコンフィグ完了信号」が入力されると、第1FPGA31のコンフィグレーションは正常に完了したと判定する。制御回路35は、第1FPGA31のコンフィグレーションは正常に完了したと判定した場合、第1FPGA31の出力端子Cから出力され、第2FPGA32の入力端子Cに入力される信号と、代替FPGA33の出力端子Fから出力され、第2FPGA32の入力端子Fに入力される信号とのうち、入力端子Cに入力される信号を選択して第2FPGA32の入力信号とするように、選択器40に対して「選択信号:第1FPGA」を入力する。
【0141】
選択器40は、入力された「選択信号:第1FPGA」に基づいて、第1FPGA31の出力端子Cから出力され、第2FPGA32の入力端子Cに入力された信号を選択して第2FPGA32の入力信号とする。なお、選択器40が入力端子Cに入力された信号を第2FPGA32の入力信号とする前に、出力確認回路41は、第1FPGA31が出力する信号を確認して第1FPGA31が故障しているか否かを判定する。
【0142】
これにより、信号処理回路30は、外部から入力される信号に対して、第1FPGA31で第2機能回路に基づいた信号処理を行い、処理を行った信号を第2FPGA32に入力することができる。なお、第2FPGA32に入力された信号については上述した処理と同様の処理を行われ、選択回路34の出力端子Hから外部に出力される。
【0143】
上述したとおり、第1FPGA31の機能回路を第1機能回路から第2機能回路に書き換える際に、制御回路35は、まず代替FPGA33に対して第2機能回路をコンフィグレーションする。そして、制御回路35は、このコンフィグレーションが正常に完了したことを確認した後に、選択器40が入力端子Fに入力される信号を選択して第2FPGA32の入力信号とするように制御する。次に、制御回路35は、第1FPGA31の代わりに代替FPGA33で信号処理を行いつつ、第1FPGA31に対して第2機能回路をコンフィグレーションする。そして、制御回路35は、このコンフィグレーションが正常に完了したことを確認した後に、選択器40が入力端子Cに入力される信号を選択して第2FPGA32の入力信号とするように制御する。これにより、第1FPGA31のコンフィグレーションを行っている間においても、第1FPGA31の代わりに代替FPGA33を用いて信号処理を行うことができるため、信号処理回路30は、第1FPGA31にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0144】
また、信号処理回路30は、代替FPGA33に第2機能回路をコンフィグレーションした後、代替FPGA33を用いて処理をし続けるのではなく、第1FPGA31に第2機能回路をコンフィグレーションして第1FPGA31を用いて処理を行う。これにより、信号処理回路30は、第1FPGA31にコンフィグレーションする機能回路を変更した後においても、通常経路(第1FPGA31が信号の処理を行う経路)で動作することができる。これにより、代替FPGA33を他の用途(例えば、他のFPGAの書き換え)に用いることができる。
【0145】
また、代替FPGA33に対して第2機能回路をコンフィグレーションした後、選択器40が備える出力確認回路41が、代替FPGA33の故障を検知した場合、制御回路35は、選択器40が選択する出力を代替FPGA33の出力に切り替えず、そのまま第1FPGA31の出力を選択して第2FPGA32の入力信号とするように制御するようにしてもよい。これにより、信号処理回路30は、代替FPGA33に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0146】
なお、代替FPGA33が故障した場合において、入力された信号に対する処理を停止させてでも第1FPGA31の機能回路を第1機能回路から第2機能回路に変更したい場合、制御回路35は、第1FPGA31に第2機能回路をコンフィグレーションさせるように制御することで、第1FPGA31の機能回路を第2機能回路に変更することができる。
【0147】
また、代替FPGA33に対して第2機能回路をコンフィグレーションした後、第1FPGA31に第2機能回路をコンフィグレーションする際に第1FPGA31に何らかの故障が起きた場合、制御回路35は、選択器40が選択する出力を第1FPGA31の出力に切り替えず、そのまま代替FPGA23の出力を選択して第2FPGA32の入力信号とするように制御するようにしてもよい。これにより、信号処理回路30は、第1FPGA31に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0148】
また、代替FPGA33に対して第2機能回路をコンフィグレーションし、その後、第1FPGA31に第2機能回路をコンフィグレーションした後、第1FPGA31に何らかの障害が起き、出力確認回路41が第1FPGA31の障害を確認した場合、制御回路35は、第1FPGA31への第2機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路41が第1FPGA31が正常に動作していることを確認した場合、制御回路35は、選択器40が選択する出力を第1FPGA31の出力に切り替えて第2FPGA32の入力信号とするようにしてもよい。これにより、第1FPGA31に障害が起きた場合においても、コンフィグレーションをリトライすることで、第1FPGA31の機能回路を第2機能回路に変更することができる。
【0149】
なお、第1FPGA31への第2機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0150】
また、制御回路35が第1FPGA31への第2機能回路のコンフィグレーションをリトライするタイミングは、例えば、第1FPGA31への第2機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路41が第1FPGA31が正常に動作しているか否かを確認した際に第1FPGA31の障害を確認したタイミングである。また、出力確認回路41が、第1FPGA31は正常に動作しているか否かを確認するタイミングは、第1FPGA31への第2機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0151】
また、第2FPGA32は選択器40を備えており、第1FPGA31が処理した信号と、代替FPGA33が処理した信号のうちいずれかを選択して第2FPGA32の入力信号とする事ができるため、第1FPGA31および代替FPGA33で処理を行った信号を、選択回路34を経由することなく第2FPGA32に入力することができる。従って、信号を伝達するための経路が短くなるため、第1FPGA31および代替FPGA33から第2FPGA32に入力される信号の遅延を減少させることができる。
【0152】
次に、第2FPGA32の機能回路を第3機能回路から第4機能回路に書き換える際の動作手順について説明する。第2FPGA32の機能回路を第3機能回路から第4機能回路に書き換える際には、まず、制御回路35は、代替FPGA33に第4機能回路をコンフィグレーションさせるため、代替FPGA33に対して「代替FPGAコンフィグ開始信号:第4機能回路」を入力する。代替FPGA33は、制御回路35から入力された「代替FPGAコンフィグ開始信号:第4機能回路」に基づいて、第4機能回路をコンフィグレーションする。そして、代替FPGA33は、コンフィグレーションが正常に完了した後、「代替FPGAコンフィグ完了信号」を制御回路35に対して入力する。
【0153】
制御回路35は、代替FPGA33から「代替FPGAコンフィグ完了信号」が入力されると、代替FPGA33のコンフィグレーションは正常に完了したと判定する。制御回路35は、代替FPGA33のコンフィグレーションは正常に完了したと判定した場合、第2FPGA32の出力端子Dから出力され、選択回路34の入力端子Dに入力される信号と、代替FPGA33の出力端子Gから出力され、選択回路34の入力端子Gに入力される信号とのうち、入力端子Gに入力される信号を選択して出力端子Hから外部に出力するように、選択回路34に対して「選択信号:代替FPGA−外部」を入力する。選択回路34は、入力された「選択信号:代替FPGA−外部」に基づいて、代替FPGA33の出力端子Gから出力され、選択回路34の入力端子Gに入力された信号を選択して出力端子Hから外部に出力する。なお、選択回路34が入力端子Gに入力された信号を出力端子Hから出力する前に、出力確認回路36は、代替FPGA33が出力する信号を確認して代替FPGA33が故障しているか否かを判定する。
【0154】
これにより、信号処理回路30は、第1FPGA31が処理した信号に対して、代替FPGA33で第4機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0155】
続いて、制御回路35は、第2FPGA32に第4機能回路をコンフィグレーションさせるため、第2FPGA32に対して「第2FPGAコンフィグ開始信号:第4機能回路」を入力する。第2FPGA32は、制御回路35から入力された「第2FPGAコンフィグ開始信号:第4機能回路」に基づいて、第4機能回路をコンフィグレーションする。そして、第2FPGA32は、コンフィグレーションが正常に完了した後、「第2FPGAコンフィグ完了信号」を制御回路35に対して入力する。
【0156】
制御回路35は、第2FPGA32から「第2FPGAコンフィグ完了信号」が入力されると、第2FPGA32のコンフィグレーションは正常に完了したと判定する。制御回路35は、第2FPGA32のコンフィグレーションは正常に完了したと判定した場合、第2FPGA32の出力端子Dから出力され、選択回路34の入力端子Dに入力される信号と、代替FPGA33の出力端子Gから出力され、選択回路34の入力端子Gに入力される信号とのうち、入力端子Dに入力される信号を選択して出力端子Hから外部に出力するように、選択回路34に対して「選択信号:第2FPGA−外部」を入力する。選択回路34は、入力された「選択信号:第2FPGA−外部」に基づいて、第2FPGA32の出力端子Dから出力され、選択回路34の入力端子Dに入力された信号を選択して出力端子Hから外部に出力する。なお、選択回路34が入力端子Dに入力された信号を出力端子Hから外部に出力する前に、出力確認回路36は、第2FPGA32が出力する信号を確認して第2FPGA32が故障しているか否かを判定する。
【0157】
これにより、信号処理回路30は、第1FPGA31が処理した信号に対して、第2FPGA32で第4機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【0158】
上述したとおり、第2FPGA32の機能回路を第3機能回路から第4機能回路に書き換える際に、制御回路35は、まず代替FPGA33に対して第4機能回路をコンフィグレーションする。そして、制御回路35は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路34が代替FPGA33の出力を選択して外部に出力するように制御する。次に、制御回路35は、第2FPGA32の代わりに代替FPGA33で信号処理を行いつつ、第2FPGA32に対して第4機能回路をコンフィグレーションする。そして、制御回路35は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路34が第2FPGA32の出力を選択して外部に出力するように制御する。これにより、第2FPGA32のコンフィグレーションを行っている間においても、第2FPGA32の代わりに代替FPGA33を用いて信号処理を行うことができるため、信号処理回路30は、第2FPGA32にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【0159】
また、信号処理回路30は、代替FPGA33に第4機能回路をコンフィグレーションした後、代替FPGA33を用いて処理をし続けるのではなく、第2FPGA32に第4機能回路をコンフィグレーションして第2FPGA32を用いて処理を行う。これにより、信号処理回路30は、第2FPGA32にコンフィグレーションする機能回路を変更した後においても、通常経路(第2FPGA32が信号の処理を行う経路)で動作することができる。これにより、代替FPGA33を他の用途(例えば、他のFPGAの書き換え)に用いることができる。
【0160】
また、代替FPGA33に対して第4機能回路をコンフィグレーションした後、選択回路34が備える出力確認回路36が、代替FPGA33の故障を検知した場合、制御回路35は、選択回路34の出力を代替FPGA33の出力に切り替えず、そのまま第2FPGA32の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路30は、代替FPGA33に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0161】
なお、代替FPGA33が故障した場合において、入力された信号に対する処理を停止させてでも第2FPGA32の機能回路を第3機能回路から第4機能回路に変更したい場合、制御回路35は、第2FPGA32に第4機能回路をコンフィグレーションさせるように制御することで、第2FPGA32の機能回路を第4機能回路に変更することができる。
【0162】
また、代替FPGA33に対して第4機能回路をコンフィグレーションした後、第2FPGA32に第4機能回路をコンフィグレーションする際に第2FPGA32に何らかの故障が起きた場合、制御回路35は、選択回路34の出力を第2FPGA32の出力に切り替えず、そのまま代替FPGA33の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路30は、第2FPGA32に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【0163】
また、代替FPGA33に対して第4機能回路をコンフィグレーションし、その後、第2FPGA32に第4機能回路をコンフィグレーションした後、第2FPGA32に何らかの障害が起き、出力確認回路36が第2FPGA32の障害を確認した場合、制御回路35は、第2FPGA32への第4機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路36が第2FPGA32が正常に動作していることを確認した場合、制御回路35は、選択回路34の出力を第2FPGA32の出力に切り替えるようにしてもよい。これにより、第2FPGA32に障害が起きた場合においても、コンフィグレーションをリトライすることで、第2FPGA32の機能回路を第4機能回路に変更することができる。
【0164】
なお、第2FPGA32への第4機能回路のコンフィグレーションをリトライする際には、再度同じROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるROMを備え、このROMからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【0165】
また、制御回路35が第2FPGA32への第4機能回路のコンフィグレーションをリトライするタイミングは、例えば、第2FPGA32への第4機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路36が第2FPGA32が正常に動作しているか否かを確認した際に第2FPGA32の障害を確認したタイミングである。また、出力確認回路36が、第2FPGA32は正常に動作しているか否かを確認するタイミングは、第2FPGA32への第4機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【0166】
また、上述した例では、信号処理回路30が、第1FPGA31と、第2FPGA32と、代替FPGA33とを用いて動作する際の動作手順について説明したが、第3FPGA37を用いて動作することも可能である。具体的には、図5の点線で示すように第3FPGA37の入力端子Kを第2FPGA32の出力端子Kに接続し、第3FPGA37の入力端子Jを外部入力に接続し、第3FPGA37の入力端子Mを代替FPGA33の出力端子Mに接続し、第3FPGA37の出力端子Lを選択回路36の入力端子Lに接続すれば良い。また、信号処理回路30が4つ以上のFPGAを備え、4つ以上のFPGAを用いて動作するようにしてもよい。
【0167】
また、上述した例では、代替FPGA33の回路規模は、第1FPGA31と、第2FPGA32と、第3FPGA37との回路規模と同等以上の場合の例を用いて説明したが、これに限らない。例えば、代替FPGA33の回路規模は、第1FPGA31と、第2FPGA32と、第3FPGA37との回路規模よりも小さくてもよい。この場合、代替FPGA33は、代替する第1FPGA31や、第2FPGA32や、第3FPGA37と同じ機能回路を実現する必要は無く、代替する第1FPGA31や、第2FPGA32や、第3FPGA37の機能回路のうち、代替時に信号の出力を維持することができる最低限必要な機能回路のみを、専用のコンフィグレーションデータを用いてコンフィグレーションすればよい。これにより、信号処理回路30は、第1FPGA31と、第2FPGA32と、第3FPGA37との回路規模よりも回路規模が小さい代替FPGA33を備える場合においても、最低限の処理を継続して行うことができる。
【0168】
以上、この発明の第1の実施形態から第4の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0169】
例えば、上述した実施形態では、信号処理回路が複数のFPGAと、選択回路と、制御回路とを備えている例を用いて説明したが、これに限らない。例えば、各FPGAと、選択回路と、制御回路とをそれぞれ1つ毎の回路ブロックと解釈して、全ての回路ブロックを1つのFPGA内で構成する。そして、FPGAに構成した回路が動作している際においても、FPGAの一部分を書き換えることができるパーシャルリコンフィグレーション機能を用いて、所望の回路ブロックについて、部分的にリコンフィグレーションを実施して第1の実施形態から第4の実施形態に示した動作を行うようにしてもよい。これにより、信号処理回路に含まれるデバイスの個数を削減することができるため、基板の面積を削減することができる。また、デバイスの個数を削減することができるため、信号処理回路を生成するためのコストも削減することができる。
【符号の説明】
【0170】
1,20,30・・・信号処理回路、2,21,31・・・第1FPGA、3,23,33・・・代替FPGA、4,24,34・・・選択回路、5,25,35・・・制御回路、6,26,36,41・・・出力確認回路、22.32・・・第2FPGA、27,37・・・第3FPGA、40・・・選択器

【特許請求の範囲】
【請求項1】
プログラム可能な第1の回路ブロックと、
プログラム可能であり、前記第1の回路ブロックと同一の入出力信号を入出力可能な第2の回路ブロックと、
前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択回路と、
前記第1の回路ブロックの出力信号を確認し、当該第1の回路ブロックが故障しているか否かを判定する出力確認回路と、
前記第1の回路ブロックと前記第2の回路ブロックとにコンフィグレーションを実施する機能を有し、前記第1の回路ブロックに第1の機能をコンフィグレーションした後に前記出力確認回路が前記第1の回路ブロックは故障していると判定した場合、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第2の回路ブロックの出力信号を選択して出力するように制御する制御回路と、
を備えることを特徴とする信号処理回路。
【請求項2】
前記制御回路はさらに、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第2の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第1の回路ブロックの出力信号を選択して出力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項3】
プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項4】
前記制御回路は、前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第2の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第1の回路ブロックの出力信号を選択して出力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項5】
プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項6】
前記出力確認回路はさらに、前記第3の回路ブロックの出力信号を確認し、当該第3の回路ブロックが故障しているか否かを判定し、
前記第3の回路ブロックに前記第3の機能をコンフィグレーションした後に前記出力確認回路が前記第3の回路ブロックは故障していると判定した場合、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第2の回路ブロックの出力信号を選択して出力するように制御する
ことを特徴とする請求項3または請求項5のいずれか1項に記載の信号処理回路。
【請求項7】
プログラム可能であり、前記第1の回路ブロックまたは前記第2の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロック及び前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第3の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第1の機能または前記第2の機能のうち最小限の機能である第5の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能または前記第4の機能のうち最小限の機能である第6の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの前記出力信号を選択して前記第2の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項8】
プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項9】
プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第1の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項10】
プログラム可能であり、前記第1の回路ブロックの出力信号と前記第2の回路ブロックの出力信号とのいずれかを選択して出力する第1の選択部を有し、当該第1の選択部が出力する前記出力信号を入力信号とする第3の回路ブロック
を備え、
前記第2の回路ブロックは、前記第1の回路ブロックまたは前記第3の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第1の回路ブロックの出力信号と、前記第2の回路ブロックの出力信号と、前記第3の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第3の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第1の機能がコンフィグレーションされている前記第1の回路ブロックに第2の機能をコンフィグレーションする際には、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第2の回路ブロックに前記第1の機能または前記第2の機能のうち最小限の機能である第5の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第1の回路ブロックに前記第2の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第1の回路ブロックの出力信号を選択して前記第3の回路ブロックの前記入力信号とするように前記選択部を制御し、
第3の機能がコンフィグレーションされている前記第3の回路ブロックに第4の機能をコンフィグレーションする際には、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第2の回路ブロックに前記第3の機能または前記第4の機能のうち最小限の機能である第6の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第2の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第3の回路ブロックに前記第4の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第3の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項1に記載の信号処理回路。
【請求項11】
前記第1の回路ブロックと前記第2の回路ブロックとは、Field Programmable Gate Arrayである
ことを特徴とする請求項1または請求項2のいずれか1項に記載の信号処理回路。
【請求項12】
前記第1の回路ブロックと、前記第2の回路ブロックと、前記第3の回路ブロックとは、Field Programmable Gate Arrayである
ことを特徴とする請求項3から請求項10のいずれか1項に記載の信号処理回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−146020(P2012−146020A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−2103(P2011−2103)
【出願日】平成23年1月7日(2011.1.7)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】