(57)【要約】【課題】信号処理を行っているプログラム可能な回路ブロックが故障した場合においても、信号処理を継続して行うことができる。【解決手段】制御回路５は、第１ＦＰＧＡ２に第１の機能をコンフィグレーションした後に出力確認回路６が第１ＦＰＧＡ２は故障していると判定した場合、代替ＦＰＧＡ３に第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、選択回路４が代替ＦＰＧＡ３の出力信号を選択して出力するように制御する。【選択図】図１
2012146020.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能な第１の回路ブロックと、
プログラム可能であり、前記第１の回路ブロックと同一の入出力信号を入出力可能な第２の回路ブロックと、
前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択回路と、
前記第１の回路ブロックの出力信号を確認し、当該第１の回路ブロックが故障しているか否かを判定する出力確認回路と、
前記第１の回路ブロックと前記第２の回路ブロックとにコンフィグレーションを実施する機能を有し、前記第１の回路ブロックに第１の機能をコンフィグレーションした後に前記出力確認回路が前記第１の回路ブロックは故障していると判定した場合、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第２の回路ブロックの出力信号を選択して出力するように制御する制御回路と、
を備えることを特徴とする信号処理回路。
【請求項２】
前記制御回路はさらに、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第２の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第１の回路ブロックの出力信号を選択して出力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項３】
プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項４】
前記制御回路は、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第２の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第１の回路ブロックの出力信号を選択して出力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項５】
プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項６】
前記出力確認回路はさらに、前記第３の回路ブロックの出力信号を確認し、当該第３の回路ブロックが故障しているか否かを判定し、
前記第３の回路ブロックに前記第３の機能をコンフィグレーションした後に前記出力確認回路が前記第３の回路ブロックは故障していると判定した場合、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第２の回路ブロックの出力信号を選択して出力するように制御する
ことを特徴とする請求項３または請求項５のいずれか１項に記載の信号処理回路。
【請求項７】
プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、
前記制御回路はさらに、
前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第１の機能または前記第２の機能のうち最小限の機能である第５の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能または前記第４の機能のうち最小限の機能である第６の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項８】
プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項９】
プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項１０】
プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する第１の選択部を有し、当該第１の選択部が出力する前記出力信号を入力信号とする第３の回路ブロック
を備え、
前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、
前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、
前記制御回路はさらに、
前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、
前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第１の機能または前記第２の機能のうち最小限の機能である第５の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、
第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能または前記第４の機能のうち最小限の機能である第６の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御する
ことを特徴とする請求項１に記載の信号処理回路。
【請求項１１】
前記第１の回路ブロックと前記第２の回路ブロックとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙである
ことを特徴とする請求項１または請求項２のいずれか１項に記載の信号処理回路。
【請求項１２】
前記第１の回路ブロックと、前記第２の回路ブロックと、前記第３の回路ブロックとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙである
ことを特徴とする請求項３から請求項１０のいずれか１項に記載の信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理回路に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）は年々機能や性能が向上している。また、ＦＰＧＡは、プログラムの書き換えを行うことによってハードウェア構成を柔軟に変更できると言う利点を生かして、頻繁にハードウェア構成が変更される部分や、多品種対応の機種などに積極的に用いられている。ＦＰＧＡ再コンフィグレーション機構は、動作中にＦＰＧＡ内部の回路を変更する機能であり、特に業務用機器など多数の動作モードに切り替えて動作させたい機器に搭載されたＦＰＧＡに使用される事が多い。内視鏡システムは、多数の動作モードに切り替えて動作させたい業務用機器のひとつであるが、医療機器である為、高い信頼性が要求されている。
【０００３】
内視鏡システムは、リアルタイムで動画像を処理して表示する装置であり、ビデオプロセッサと、スコープ（撮像手段）と、光源装置と、モニタなどから構成されている。また、機能の変更や更新の際にプロセッサ内に備えられたＦＰＧＡを書き換えて動作させるように内視鏡システムを構成した場合、万一ＦＰＧＡの書き換え時に何らかの異常が生じた時においても、速やかに内視鏡画像を観察できる状態に設定できるように構成されていることが望ましい。さらに、ＦＰＧＡの書き換え動作時にもスコープが撮影した画像をモニタに表示し続けられていることが望まれている。
【０００４】
また、複数のリコンフィグレーション可能なタイプのプログラマブルロジックデバイスと、各プログラマブルロジックデバイスへコンフィグレーションデータを選択的に供給する手段と、複数のプログラマブルロジックデバイス内のコンフィグレーション中でないものの出力を取り出す手段を備えている画像処理装置が知られている（例えば、特許文献１参照）。
【０００５】
図６は、従来知られている画像処理装置の画像演算処理部の一例を示した図である。図６において、画像演算処理部１００には、２個のＰＬＤ１０１，１０２、コンフィグレーションデータを格納した３個のＲＯＭ、ＲＯＭ（Ａ），ＲＯＭ（Ｂ），ＲＯＭ（Ｃ）及び３つのＲＯＭのデータのいずれかをＰＬＤ１０１または１０２へ選択的に送出するするセレクタ１０３、コンフィグレーション制御器１０７を備えている。画像データはＰＬＤ１０１と１０２に並列に入力され、ＰＬＤ１０１，１０２でそれぞれ画像演算処理される。コンフィグレーション制御器１０７は、それぞれのＰＬＤの出力信号１０８ａおよび１０８ｂのいずれかを選択して取り出し、例えば、処理後の画像データを記憶する画像メモリや次段の画像演算処理部等へ送出する。
【０００６】
図７は、図６に示した従来知られている画像演算処理部の動作を示したフローチャートである。このフローチャートを用いて従来知られている画像演算処理部の動作を説明する。初期状態ｔ０では、ＰＬＤ１０１にＲＯＭ（Ａ）のコンフィグレーションデータＤａがロードされており、これによりＰＬＤ１０１において画像演算処理Ａが実行中であるものとする（図７（ａ），（ｂ））。コンフィグレーション制御器１０７は、図７（ｄ）に示すように、ＰＬＤ１０１からの出力信号１０８ａを選択して、画像演算処理Ａを受けた画像データを選択して出力している。
【０００７】
次に、時刻ｔ1に、新たな画像処理Ｂを指定したコンフィグレーションの要求が来た場合、コンフィグレーション制御器１０７は、それまでコンフィグレーションが行われていなかったＰＬＤ１０２に対し画像処理Ｂ用のデータＤｂをロードする。すなわち、コンフィグレーション制御器１０７は、画像処理Ｂ用のデータＤｂをＲＯＭ（Ｂ）から読み出させると共に、そのデータをセレクタ１０３を介してＰＬＤ１０２にロードしてコンフィグレーションを行わせる（図７（ｃ））。
【０００８】
ＰＬＤ１０２は、図７(ｆ)に示すように、データＤｂのロードが終了すると、コンフィグレーション完了信号１０９ｂを発生し、コンフィグレーション制御器１０７へ送る。この完了信号１０９ｂを受けたコンフィグレーション制御器１０７は、ＰＬＤ１０１において続けられている画像演算処理Ａの区切りがついた時点ｔ２で、取り出す画像データを、ＰＬＤ１０１からの出力信号１０８ａよりＰＬＤ１０２の出力信号１０８ｂへと切り換える。このため、時刻ｔ２以降、コンフィグレーション制御器１０７からは、図７（ｄ）に示すように、画像処理Ｂを受けた画像データが取り出されて画像メモリへ送出される。
【０００９】
次に、時刻ｔ３に、外部のコンピュータより新たな画像処理Ｃを指定したコンフィグレーションの要求が来た場合、コンフィグレーション制御器１０７は、現在画像出力が選択されていないＰＬＤ１０１に対し画像処理Ｃ用のデータＤｃをロードする。すなわち、コンフィグレーション制御器１０７は、画像処理Ｃ用のデータＤｃをＲＯＭ（Ｃ）から読み出させると共に、そのデータをセレクタ１０３を介してＰＬＤ１０１にロードしてコンフィグレーションを行わせる。
【００１０】
ＰＬＤ１０１は、図７（ｅ）に示すように、データＤｃのロードが終了すると、コンフィグレーション完了信号１０９ａを発生し、コンフィグレーション制御器１０７へ送る。この完了信号１０９ａを受けたコンフィグレーション制御器１０７は、ＰＬＤ１０２において続けられている画像演算処理Ｂの区切りがついた時点ｔ４で、取り出す画像データを、ＰＬＤ１０２からの出力信号１０８ｂより、ＰＬＤ１０１の出力信号１０８ａへと切り換える。このため、時刻ｔ４以降、コンフィグレーション制御器１０７からは、図７（ｄ）に示すように、画像処理Ｃを受けた画像データが取り出されて画像メモリへ送出される。これにより、特許文献１に記載されている画像撮像装置は、リコンフィグレーションを行う際に、変更時間中であっても画像処理を継続できる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００１−２９１４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載されている画像演算処理部は、画像処理を行っている、プログラム可能な回路ブロックであるＰＬＤが故障した場合に画像処理を継続して行うことができないという問題がある。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、信号処理を行っているプログラム可能な回路ブロックが故障した場合においても、信号処理を継続して行うことができる信号処理回路を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、プログラム可能な第１の回路ブロックと、プログラム可能であり、前記第１の回路ブロックと同一の入出力信号を入出力可能な第２の回路ブロックと、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択回路と、前記第１の回路ブロックの出力信号を確認し、当該第１の回路ブロックが故障しているか否かを判定する出力確認回路と、前記第１の回路ブロックと前記第２の回路ブロックとにコンフィグレーションを実施する機能を有し、前記第１の回路ブロックに第１の機能をコンフィグレーションした後に前記出力確認回路が前記第１の回路ブロックは故障していると判定した場合、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第２の回路ブロックの出力信号を選択して出力するように制御する制御回路と、を備えることを特徴とする信号処理回路である。
【００１５】
また、本発明の信号処理回路において、前記制御回路はさらに、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第２の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第１の回路ブロックの出力信号を選択して出力するように前記選択回路を制御することを特徴とする。
【００１６】
また、本発明は、プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００１７】
また、本発明の信号処理回路において、前記制御回路は、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第２の回路ブロックの出力信号を選択して出力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に前記第１の回路ブロックの出力信号を選択して出力するように前記選択回路を制御することを特徴とする。
【００１８】
また、本発明は、プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００１９】
また、本発明の信号処理回路において、前記出力確認回路はさらに、前記第３の回路ブロックの出力信号を確認し、当該第３の回路ブロックが故障しているか否かを判定し、前記第３の回路ブロックに前記第３の機能をコンフィグレーションした後に前記出力確認回路が前記第３の回路ブロックは故障していると判定した場合、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記選択回路が前記第２の回路ブロックの出力信号を選択して出力するように制御することを特徴とする。
【００２０】
また、本発明は、プログラム可能であり、前記第１の回路ブロックまたは前記第２の回路ブロックからの前記出力信号が、前記選択回路を通じて入力信号として入力される第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロック及び前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのうちいずれかの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力し、前記制御回路はさらに、前記第３の回路ブロックにコンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第１の機能または前記第２の機能のうち最小限の機能である第５の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能または前記第４の機能のうち最小限の機能である第６の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの前記出力信号を選択して前記第２の回路ブロックに前記入力信号として入力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックに前記入力信号として入力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００２１】
また、本発明は、プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００２２】
また、本発明は、プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する選択部を有し、当該選択部が出力する前記出力信号を入力信号とする第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００２３】
また、本発明は、プログラム可能であり、前記第１の回路ブロックの出力信号と前記第２の回路ブロックの出力信号とのいずれかを選択して出力する第１の選択部を有し、当該第１の選択部が出力する前記出力信号を入力信号とする第３の回路ブロックを備え、前記第２の回路ブロックは、前記第１の回路ブロックまたは前記第３の回路ブロックと同一の入出力信号を入出力可能であり、前記選択回路は、前記第１の回路ブロックの出力信号と、前記第２の回路ブロックの出力信号と、前記第３の回路ブロックの出力信号とのうちいずれかの出力信号を選択して出力し、前記制御回路はさらに、前記第３の回路ブロックに前記コンフィグレーションを実施する機能を有し、前記第１の機能がコンフィグレーションされている前記第１の回路ブロックに第２の機能をコンフィグレーションする際には、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、前記第２の回路ブロックに前記第１の機能または前記第２の機能のうち最小限の機能である第５の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、その後、前記第１の回路ブロックに前記第２の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第１の回路ブロックの出力信号を選択して前記第３の回路ブロックの前記入力信号とするように前記選択部を制御し、第３の機能がコンフィグレーションされている前記第３の回路ブロックに第４の機能をコンフィグレーションする際には、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御し、前記第２の回路ブロックに前記第３の機能または前記第４の機能のうち最小限の機能である第６の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第２の回路ブロックの前記出力信号を選択して外部に出力するように前記選択回路を制御し、その後、前記第３の回路ブロックに前記第４の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、前記第３の回路ブロックの出力信号を選択して外部に出力するように前記選択回路を制御することを特徴とする信号処理回路である。
【００２４】
また、本発明の信号処理回路において、前記第１の回路ブロックと前記第２の回路ブロックとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙであることを特徴とする。
【００２５】
また、本発明の信号処理回路において、前記第１の回路ブロックと、前記第２の回路ブロックと、前記第３の回路ブロックとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙであることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、制御回路は、第１の回路ブロックに第１の機能をコンフィグレーションした後に出力確認回路が第１の回路ブロックは故障していると判定した場合、第２の回路ブロックに第１の機能をコンフィグレーションし、当該コンフィグレーションが正常に完了したことを確認した後に、選択回路が第２の回路ブロックの出力信号を選択して出力するように制御する。
【００２７】
これにより、第１の回路ブロックが故障した場合、出力確認回路が第１の回路ブロックは故障していると判定することができる。そして、第１の回路ブロックは故障していると出力確認回路が判定した場合、制御回路は、第１の回路ブロックと同一の機能である第１の機能を第２の回路ブロックにコンフィグレーションし、第２の回路ブロックが処理した出力信号を選択回路が出力するように制御するため、プログラム可能な第１の回路ブロックが故障した場合においても継続して処理を行うことができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態における信号処理回路の構成を示した概略図である。
【図２】本発明の第１の実施形態における信号処理回路の動作タイミングを示したタイミングチャートである。
【図３】本発明の第２の実施形態における信号処理回路の構成を示した概略図である。
【図４】本発明の第３の実施形態における信号処理回路の動作タイミングを示したタイミングチャートである。
【図５】本発明の第４の実施形態における信号処理回路の構成を示した概略図である。
【図６】従来知られている画像処理装置の画像演算処理部の一例を示した図である。
【図７】従来知られている画像演算処理部の動作を示したフローチャートである。
【発明を実施するための形態】
【００２９】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照して説明する。図１は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路１は、第１ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）２（第１の回路ブロック）と、代替ＦＰＧＡ３（第２の回路ブロック）と、選択回路４と、制御回路５とを備える。
【００３０】
第１ＦＰＧＡ２と代替ＦＰＧＡ３とは、ＲＯＭ（図示せず）に記憶されたコンフィグレーションデータ（論理回路プログラム）を読み込むことによりコンフィグレーション（論理回路の書き換え）が可能なプログラマブル集積回路の一種である。なお、本実施形態では、信号処理回路１は、プログラマブル集積回路としてＦＰＧＡを備えているが、これに限らず、ＦＰＧＡの代わりにＰＬＤ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、プログラマブルロジックデバイス）などの書き換え可能なプログラマブル集積回路を備えるようにしてもよい。
【００３１】
第１ＦＰＧＡ２は、外部から信号が入力される入力端子Ａを備えている。また、第１ＦＰＧＡ２は、入力端子Ａに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第１ＦＰＧＡ２は、処理を行った信号を出力する出力端子Ｅを備えている。代替ＦＰＧＡ３は、第１ＦＰＧＡ２が備える入力端子Ａに入力される信号と同じ信号が入力される入力端子Ａを備えている。また、代替ＦＰＧＡ３は、入力端子Ａに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替ＦＰＧＡ３は、処理を行った信号を出力する出力端子Ｇを備えている。
【００３２】
選択回路４は、第１ＦＰＧＡ２が出力する信号が入力される入力端子Ｅと、代替ＦＰＧＡ３が出力する信号が入力される入力端子Ｇとを備えている。また、選択回路４は、入力端子Ｅに入力された信号（第１ＦＰＧＡ２の出力信号）と入力端子Ｇに入力された信号（代替ＦＰＧＡ３の出力信号）とのうち、いずれか１つを選択して外部に出力する出力端子Ｉを備えている。また、選択回路４は、出力確認回路６を備えている。出力確認回路６は、選択回路４の入力端子Ｅと入力端子Ｇとに入力される信号を確認し、第１ＦＰＧＡ２と代替ＦＰＧＡ３とが故障しているか否かを判定する。また、出力確認回路６は、第１ＦＰＧＡ２と代替ＦＰＧＡ３とが故障しているか否かを判定した結果を制御回路５に対して入力する。制御回路５は、第１ＦＰＧＡ２と代替ＦＰＧＡ３とのコンフィグレーションの制御を行う。また、制御回路５は、選択回路４の信号出力の制御を行う。
【００３３】
次に、第１機能回路がコンフィグレーションされている第１ＦＰＧＡ２が信号処理を行っている際に、第１ＦＰＧＡ２が故障した場合における信号処理回路１の動作手順について説明する。なお、信号処理回路１の通常動作時には、第１ＦＰＧＡ２には第１機能回路がコンフィグレーションされており、代替ＦＰＧＡ３には機能回路がコンフィグレーションされていないとする。
【００３４】
信号処理回路１が通常動作している時には、信号処理回路１に入力された信号は、第１ＦＰＧＡ２の入力端子Ａと代替ＦＰＧＡ３の入力端子Ａとに入力される。第１ＦＰＧＡ２は、入力端子Ａに入力された信号に対して第１機能回路に基づいた信号処理を行い、出力端子Ｅから出力する。出力端子Ｅから出力された信号は、選択回路４の入力端子Ｅに入力される。なお、代替ＦＰＧＡ３には機能回路がコンフィグレーションされていないため、代替ＦＰＧＡ３は処理を行わない。
【００３５】
選択回路４は、制御回路５の制御により、入力端子Ｅに入力される信号と、入力端子Ｇに入力される信号とのうち、入力端子Ｅに入力される信号を出力端子Ｉから外部に出力する。なお、選択回路４が、入力端子Ｅに入力された第１ＦＰＧＡ２の出力信号を選択して出力端子Ｉから出力する前に、出力確認回路６は、第１ＦＰＧＡ２の出力信号を確認して第１ＦＰＧＡ２が故障しているか否かを判定する。
【００３６】
ここで、第１ＦＰＧＡ２が故障した場合、第１ＦＰＧＡ２の出力信号は通常とは異なる信号となる。出力確認回路６は、通常とは異なる第１ＦＰＧＡ２の出力信号を確認した場合、第１ＦＰＧＡ２は故障していると判定し、判定結果「第１ＦＰＧＡ：故障」を制御回路５に入力する。
【００３７】
制御回路５は、出力確認回路６から判定結果「第１ＦＰＧＡ：故障」が入力されると、代替ＦＰＧＡ３に対して「代替ＦＰＧＡコンフィグ開始信号：第１機能回路」を入力する。代替ＦＰＧＡ３は、制御回路５から入力された「代替ＦＰＧＡコンフィグ開始信号：第１機能回路」に基づいて、第１機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。また、代替ＦＰＧＡ３は、入力端子Ａに入力された信号に対して第１機能回路に基づいた信号処理を行い、出力端子Ｇから出力する。代替ＦＰＧＡ３の出力端子Ｇから出力された信号は、選択回路４の入力端子Ｇに入力される。
【００３８】
制御回路５は、代替ＦＰＧＡ３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定する。制御回路５は、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力端子Ｅから出力されて選択回路４の入力端子Ｅに入力される信号と、代替ＦＰＧＡ３の出力端子Ｇから出力されて選択回路４の入力端子Ｇに入力される信号とのうち、代替ＦＰＧＡ３の出力端子Ｇから出力されて選択回路４の入力端子Ｇに入力される信号を選択して出力端子Ｉから外部に出力するように、選択回路４に対して「選択信号：代替ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：代替ＦＰＧＡ」に基づいて、代替ＦＰＧＡ３の出力端子Ｇから出力されて選択回路４の入力端子Ｇに入力される信号を選択して出力端子Ｉから外部に出力する。
【００３９】
上述したとおり、第１ＦＰＧＡ２が故障した場合、出力確認回路６は、第１ＦＰＧＡ２の出力信号を確認することで、第１ＦＰＧＡ２が故障していると判定することができる。そして、出力確認回路６が第１ＦＰＧＡ２は故障していると判定した場合、制御回路５は、代替ＦＰＧＡ３に第１機能回路をコンフィグレーションさせるように制御する。また、制御回路５は、第１ＦＰＧＡ２の出力端子Ｅから出力されて選択回路４の入力端子Ｅに入力される信号と、代替ＦＰＧＡ３の出力端子Ｇから出力されて選択回路４の入力端子Ｇに入力される信号とのうち、代替ＦＰＧＡ３の出力端子Ｇから出力されて選択回路４の入力端子Ｇに入力される信号を選択して出力端子Ｉから外部に出力するように、選択回路４を制御する。従って、信号処理回路１は、第１ＦＰＧＡ２が故障した場合においても、継続して信号処理を行うことができる。
【００４０】
次に、第１ＦＰＧＡ２の機能回路を第１の機能回路から第２の機能回路に書き換える場合における信号処理回路１の動作タイミングについて説明する。図２は、本実施形態において、第１ＦＰＧＡ２の機能回路を第１の機能回路から第２の機能回路に書き換える場合における信号処理回路１の動作タイミングを示したタイミングチャートである。
【００４１】
信号処理回路１が搭載されている装置の電源が投入されると、制御回路５に入力されているシステムリセット信号が解除される。システムリセット信号が解除されると、制御回路５は、第１ＦＰＧＡ２に第１機能回路をコンフィグレーションさせるように、第１ＦＰＧＡ２に対して「第１ＦＰＧＡコンフィグ開始信号：第１機能回路」を入力する。第１ＦＰＧＡ２は、制御回路５から入力された「第１ＦＰＧＡコンフィグ開始信号：第１機能回路」に基づいて、第１機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ２は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【００４２】
制御回路５は、第１ＦＰＧＡ２から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定する。制御回路５は、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、第１ＦＰＧＡ２の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：第１ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：第１ＦＰＧＡ」に基づいて、第１ＦＰＧＡ２の出力信号を選択して外部に出力する。なお、選択回路４が第１ＦＰＧＡ２の出力信号を選択して外部に出力する前（出力を切り替える前）に、出力確認回路６は、第１ＦＰＧＡ２が出力する信号を確認して第１ＦＰＧＡ２が故障しているか否かを判定する。
【００４３】
これにより、信号処理回路１は、外部から入力される信号に対して、第１ＦＰＧＡ２で第１機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【００４４】
また、制御回路５に対して、第１ＦＰＧＡ２の機能回路を、第１機能回路から第２機能回路に変更する指示が入力された場合、制御回路５は、代替ＦＰＧＡ３に第２機能回路をコンフィグレーションさせるように、代替ＦＰＧＡ３に対して「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。代替ＦＰＧＡ３は、制御回路５から入力された「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【００４５】
制御回路５は、代替ＦＰＧＡ３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定する。制御回路５は、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、代替ＦＰＧＡ３の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：代替ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：代替ＦＰＧＡ」に基づいて、代替ＦＰＧＡ３の出力信号を選択して外部に出力する。なお、選択回路４が代替ＦＰＧＡ３の出力信号を選択して外部に出力する前に、出力確認回路６は、代替ＦＰＧＡ３が出力する信号を確認して代替ＦＰＧＡ３が故障しているか否かを判定する。
【００４６】
これにより、信号処理回路１は、外部から入力される信号に対して、代替ＦＰＧＡ３で第２機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【００４７】
続いて、制御回路５は、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションさせるように、第１ＦＰＧＡ２に対して「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。第１ＦＰＧＡ２は、制御回路５から入力された「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ２は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【００４８】
制御回路５は、第１ＦＰＧＡ２から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定する。制御回路５は、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、第１ＦＰＧＡ２の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：第１ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：第１ＦＰＧＡ」に基づいて、第１ＦＰＧＡ２の出力信号を選択して外部に出力する。なお、選択回路４が第１ＦＰＧＡ２の出力信号を選択して外部に出力する前に、出力確認回路６は、第１ＦＰＧＡ２が出力する信号を確認して第１ＦＰＧＡ２が故障しているか否かを判定する。
【００４９】
これにより、信号処理回路１は、外部から入力される信号に対して、第１ＦＰＧＡ２で第２機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【００５０】
信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路の変更や更新動作時には、上述した動作を行う。例えば、第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に書き換える際に、制御回路５は、まず代替ＦＰＧＡ３に対して第２機能回路をコンフィグレーションする。そして、制御回路５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路４が代替ＦＰＧＡ３の出力を選択して外部に出力するように制御する。次に、制御回路５は、第１ＦＰＧＡ２の代わりに代替ＦＰＧＡ３で信号処理を行いつつ、第１ＦＰＧＡ２に対して第２機能回路をコンフィグレーションする。そして、制御回路５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路４が第１ＦＰＧＡ２の出力を選択して外部に出力するように制御する。これにより、第１ＦＰＧＡ２のコンフィグレーションを行っている間においても、第１ＦＰＧＡ２の代わりに代替ＦＰＧＡ３を用いて信号処理を行うことができるため、信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【００５１】
また、信号処理回路１は、代替ＦＰＧＡ３に第２機能回路をコンフィグレーションした後、代替ＦＰＧＡ３を用いて処理をし続けるのではなく、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションして第１ＦＰＧＡ２を用いて処理を行う。これにより、信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路を変更した後においても、通常経路（第１ＦＰＧＡ２が信号の処理を行う経路）で動作することができる。
【００５２】
また、代替ＦＰＧＡ３に対して第２機能回路をコンフィグレーションした後、選択回路４が備える出力確認回路６が、代替ＦＰＧＡ３の故障を検知した場合、制御回路５は、選択回路４の出力を代替ＦＰＧＡ３の出力に切り替えず、そのまま第１ＦＰＧＡ２の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路１は、代替ＦＰＧＡ３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００５３】
なお、代替ＦＰＧＡ３が故障した場合において、入力された信号に対する処理を停止させてでも第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に変更したい場合、制御回路５は、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションさせるように制御することで、第１ＦＰＧＡ２の機能回路を第２機能回路に変更することができる。
【００５４】
また、代替ＦＰＧＡ３に対して第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションする際に第１ＦＰＧＡ２に何らかの故障が起きた場合、制御回路５は、選択回路４の出力を第１ＦＰＧＡ２の出力に切り替えず、そのまま代替ＦＰＧＡ３の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路１は、第１ＦＰＧＡ２に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００５５】
また、代替ＦＰＧＡ３に対して第２機能回路をコンフィグレーションし、その後、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ２に何らかの障害が起き、出力確認回路６が第１ＦＰＧＡ２の障害を確認した場合、制御回路５は、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路６が第１ＦＰＧＡ２が正常に動作していることを確認した場合、制御回路５は、選択回路４の出力を第１ＦＰＧＡ２の出力に切り替えるようにしてもよい。これにより、第１ＦＰＧＡ２に障害が起きた場合においても、コンフィグレーションをリトライすることで、第１ＦＰＧＡ２の機能回路を第２機能回路に変更することができる。
【００５６】
なお、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【００５７】
また、制御回路５が第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライするタイミングは、例えば、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路６が第１ＦＰＧＡ２が正常に動作しているか否かを確認した際に第１ＦＰＧＡ２の障害を確認したタイミングである。また、出力確認回路６が、第１ＦＰＧＡ２は正常に動作しているか否かを確認するタイミングは、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【００５８】
（第２の実施形態）
次に、本発明の第２の実施形態について図面を参照して説明する。図３は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路２０は、第１ＦＰＧＡ２１（第１の回路ブロック）と、第２ＦＰＧＡ２２（第３の回路ブロック）と、代替ＦＰＧＡ２３（第２の回路ブロック）と、選択回路２４と、制御回路２５とを備える。なお、破線で示すように、第３ＦＰＧＡ２７をさらに備えるようにしてもよい。
【００５９】
第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、代替ＦＰＧＡ２３と、第３ＦＰＧＡ２７とは、第１の実施形態の第１ＦＰＧＡ２と代替ＦＰＧＡ３と同様に、ＲＯＭ（図示せず）に記憶されたコンフィグレーションデータを読み込むことによりコンフィグレーションが可能なプログラマブル集積回路の一種である。
【００６０】
第１ＦＰＧＡ２１は、外部から信号が入力される入力端子Ａを備えている。また、第１ＦＰＧＡ２１は、入力端子Ａに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第１ＦＰＧＡ２１は、処理を行った信号を出力する出力端子Ｃと出力端子ｅとを備えている。
【００６１】
第２ＦＰＧＡ２２は、選択回路２４から信号が入力される入力端子Ｉと外部から信号が入力される入力端子ｂとを備えている。また、第２ＦＰＧＡ２２は、入力端子Ｉと入力端子ｂとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第２ＦＰＧＡ２２は、処理を行った信号を出力する出力端Ｋと出力端子ｄとを備えている。
【００６２】
第３ＦＰＧＡ２７は、選択回路２４から信号が入力される入力端子Ｎと外部から信号が入力される入力端子ｊとを備えている。また、第３ＦＰＧＡ２７は、入力端子Ｎと入力端子ｊとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第３ＦＰＧＡ２７は、処理を行った信号を出力する出力端子Ｍと出力端子ｐとを備えている。
【００６３】
代替ＦＰＧＡ２３は、第１ＦＰＧＡ２１が備える入力端子Ａに入力される信号と同じ信号が入力される入力端子Ａと、第２ＦＰＧＡ２２が備える入力端子ｂに入力される信号と同じ信号が入力される入力端子ｂと、第３ＦＰＧＡ２７が備える入力端子ｊに入力される信号と同じ信号が入力される入力端子ｊとを備えている。また、代替ＦＰＧＡ２３は、第１ＦＰＧＡ２１が処理を行った信号が入力される入力端子Ｃと、第２ＦＰＧＡ２２が処理を行った信号が入力される入力端子Ｋと、第３ＦＰＧＡ２７が処理を行った信号が入力される入力端子Ｍとを備えている。また、代替ＦＰＧＡ２３は、入力端子Ａと、入力端子ｂと、入力端子ｊと、入力端子Ｃと、入力端子Ｋと、入力端子Ｍとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替ＦＰＧＡ３は、処理を行った信号を出力する出力端子Ｇと出力端子ｇとを備えている。
【００６４】
選択回路２４は、第１ＦＰＧＡ２１が出力する信号が入力される入力端子Ｃと入力端子ｅと、第２ＦＰＧＡ２２が出力する信号が入力される入力端子Ｋと入力端子ｄと、第３ＦＰＧＡ２７が出力する信号が入力される入力端子Ｍと入力端子ｐと、代替ＦＰＧＡ２３が出力する信号が入力される入力端子Ｇと入力端子ｇとを備えている。また、選択回路２４は、第１ＦＰＧＡ２１が出力する信号（第１ＦＰＧＡ２１の出力信号）と、第２ＦＰＧＡ２２が出力する信号（第２ＦＰＧＡ２２の出力信号）と、第３ＦＰＧＡ２７が出力する信号（第３ＦＰＧＡ２７の出力信号）と、代替ＦＰＧＡ２３が出力する信号（代替ＦＰＧＡ２３の出力信号）とのうちいずれか１つを選択して出力する出力端子Ｉと、出力端子Ｎと、出力端子Ｈと、出力端子ｈとを備えている。
【００６５】
出力確認回路２６は、選択回路２４に入力された第１ＦＰＧＡ２１が出力する信号と、第２ＦＰＧＡ２２が出力する信号と、第３ＦＰＧＡ２７が出力する信号と、代替ＦＰＧＡ２３が出力する信号とを確認し、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７と、代替ＦＰＧＡ２３とが故障しているか否かを判定する。また、出力確認回路２６は、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７と、代替ＦＰＧＡ２３とが故障しているか否かを判定した結果を制御回路２５に対して入力する。制御回路２５は、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７と、代替ＦＰＧＡ２３とのコンフィグレーションの制御を行う。また、制御回路２５は、選択回路２４の信号出力の制御を行う。
【００６６】
次に、信号処理回路２０の動作手順について説明する。以下、信号処理回路２０が、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、代替ＦＰＧＡ２３とを用いて動作する際の動作手順を例に説明する。なお、第１ＦＰＧＡ２１には第１機能回路がコンフィグレーションされており、第２ＦＰＧＡ２２には第３機能回路がコンフィグレーションされており、代替ＦＰＧＡ２３には機能回路がコンフィグレーションされていないとする。
【００６７】
信号処理回路２０が通常動作している時には、信号処理回路２０に入力された信号は、第１ＦＰＧＡ２１の入力端子Ａと代替ＦＰＧＡ２３の入力端子Ａとに入力される。第１ＦＰＧＡ２１は、入力端子Ａに入力された信号に対して第１機能回路に基づいた信号処理を行い、出力端子Ｃから出力する。出力端子Ｃから出力された信号は、選択回路２４の入力端子Ｃに入力される。なお、代替ＦＰＧＡ２３には機能回路がコンフィグレーションされていないため、代替ＦＰＧＡ２３は処理を行わない。
【００６８】
選択回路２４は、制御回路２５の制御により、入力端子Ｃに入力された信号を出力端子Ｉから出力する。出力端子Ｉから出力された信号は、第２ＦＰＧＡ２２の入力端子Ｉに入力される。第２ＦＰＧＡ２２は、入力端子Ｉに入力された信号に対して第３機能回路に基づいた信号処理を行い、出力端子Ｋから出力する。出力端子Ｋから出力された信号は、選択回路２４の入力端子Ｋに入力される。選択回路２４は、制御回路２５の制御により、入力端子Ｋに入力された信号を出力端子Ｈから外部に出力する。
【００６９】
次に、第１ＦＰＧＡ２１の機能回路を第１機能回路から第２機能回路に書き換える際の動作手順について説明する。第１ＦＰＧＡ２１の機能回路を第１機能回路から第２機能回路に書き換える際には、まず、制御回路２５は、代替ＦＰＧＡ２３に第２機能回路をコンフィグレーションさせるため、代替ＦＰＧＡ２３に対して「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。代替ＦＰＧＡ２３は、制御回路２５から入力された「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ２３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路２５に対して入力する。
【００７０】
制御回路２５は、代替ＦＰＧＡ２３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ２３のコンフィグレーションは正常に完了したと判定する。制御回路２５は、代替ＦＰＧＡ２３のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２１の出力端子Ｃから出力され、選択回路２４の入力端子Ｃに入力される信号と、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力される信号とのうち、入力端子Ｇに入力される信号を選択して出力端子Ｉから出力するように、選択回路２４に対して「選択信号：代替ＦＰＧＡ−第２ＦＰＧＡ」を入力する。選択回路２４は、入力された「選択信号：代替ＦＰＧＡ−第２ＦＰＧＡ」に基づいて、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力された信号を選択して出力端子Ｉから出力する。選択回路２４の出力端子Ｉから出力された信号は、第２ＦＰＧＡ２２に入力される。なお、選択回路２４が入力端子Ｇに入力された信号を出力端子Ｉから出力する前に、出力確認回路２６は、代替ＦＰＧＡ２３が出力する信号を確認して代替ＦＰＧＡ２３が故障しているか否かを判定する。
【００７１】
これにより、信号処理回路２０は、外部から入力される信号に対して、代替ＦＰＧＡ２３で第２機能回路に基づいた信号処理を行い、処理を行った信号を第２ＦＰＧＡ２２に入力することができる。なお、第２ＦＰＧＡ２２に入力された信号については上述した処理と同様の処理を行われ、選択回路２４の出力端子Ｈから外部に出力される。
【００７２】
続いて、制御回路２５は、第１ＦＰＧＡ２１に第２機能回路をコンフィグレーションさせるため、第１ＦＰＧＡ２１に対して「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。第１ＦＰＧＡ２１は、制御回路２５から入力された「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ２１は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路２５に対して入力する。
【００７３】
制御回路２５は、第１ＦＰＧＡ２１から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ２１のコンフィグレーションは正常に完了したと判定する。制御回路２５は、第１ＦＰＧＡ２１のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２１の出力端子Ｃから出力され、選択回路２４の入力端子Ｃに入力される信号と、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力される信号とのうち、入力端子Ｃに入力される信号を選択して出力端子Ｉから出力するように、選択回路２４に対して「選択信号：第１ＦＰＧＡ−第２ＦＰＧＡ」を入力する。選択回路２４は、入力された「選択信号：第１ＦＰＧＡ−第２ＦＰＧＡ」に基づいて、第１ＦＰＧＡ２１の出力端子Ｃから出力され、選択回路２４の入力端子Ｃに入力された信号を選択して出力端子Ｉから出力する。選択回路２４の出力端子Ｉから出力された信号は、第２ＦＰＧＡ２２に入力される。なお、選択回路２４が入力端子Ｃに入力された信号を出力端子Ｉから出力する前に、出力確認回路２６は、第１ＦＰＧＡ２１が出力する信号を確認して第１ＦＰＧＡ２１が故障しているか否かを判定する。
【００７４】
これにより、信号処理回路２０は、外部から入力される信号に対して、第１ＦＰＧＡ２１で第２機能回路に基づいた信号処理を行い、処理を行った信号を第２ＦＰＧＡ２２に入力することができる。なお、第２ＦＰＧＡ２２に入力された信号については上述した処理と同様の処理を行われ、選択回路２４の出力端子Ｈから外部に出力される。
【００７５】
上述したとおり、第１ＦＰＧＡ２１の機能回路を第１機能回路から第２機能回路に書き換える際に、制御回路２５は、まず代替ＦＰＧＡ２３に対して第２機能回路をコンフィグレーションする。そして、制御回路２５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路２４が代替ＦＰＧＡ２３の出力を選択して第２ＦＰＧＡ２２に対して入力するように制御する。次に、制御回路２５は、第１ＦＰＧＡ２１の代わりに代替ＦＰＧＡ２３で信号処理を行いつつ、第１ＦＰＧＡ２１に対して第２機能回路をコンフィグレーションする。そして、制御回路２５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路２４が第１ＦＰＧＡ２１の出力を選択して第２ＦＰＧＡ２２に対して入力するように制御する。これにより、第１ＦＰＧＡ２１のコンフィグレーションを行っている間においても、第１ＦＰＧＡ２１の代わりに代替ＦＰＧＡ２３を用いて信号処理を行うことができるため、信号処理回路２０は、第１ＦＰＧＡ２１にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【００７６】
また、信号処理回路２０は、代替ＦＰＧＡ２３に第２機能回路をコンフィグレーションした後、代替ＦＰＧＡ２３を用いて処理をし続けるのではなく、第１ＦＰＧＡ２１に第２機能回路をコンフィグレーションして第１ＦＰＧＡ２１を用いて処理を行う。これにより、信号処理回路２０は、第１ＦＰＧＡ２１にコンフィグレーションする機能回路を変更した後においても、通常経路（第１ＦＰＧＡ２１が信号の処理を行う経路）で動作することができる。これにより、代替ＦＰＧＡ２３を他の用途（例えば、他のＦＰＧＡの書き換え）に用いることができる。
【００７７】
また、代替ＦＰＧＡ２３に対して第２機能回路をコンフィグレーションした後、選択回路２４が備える出力確認回路２６が、代替ＦＰＧＡ２３の故障を検知した場合、制御回路２５は、選択回路２４の出力を代替ＦＰＧＡ２３の出力に切り替えず、そのまま第１ＦＰＧＡ２１の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路２０は、代替ＦＰＧＡ２３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００７８】
なお、代替ＦＰＧＡ２３が故障した場合において、入力された信号に対する処理を停止させてでも第１ＦＰＧＡ２１の機能回路を第１機能回路から第２機能回路に変更したい場合、制御回路２５は、第１ＦＰＧＡ２１に第２機能回路をコンフィグレーションさせるように制御することで、第１ＦＰＧＡ２１の機能回路を第２機能回路に変更することができる。
【００７９】
また、代替ＦＰＧＡ２３に対して第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ２１に第２機能回路をコンフィグレーションする際に第１ＦＰＧＡ２１に何らかの故障が起きた場合、制御回路２５は、選択回路２４の出力を第１ＦＰＧＡ２１の出力に切り替えず、そのまま代替ＦＰＧＡ２３の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路２０は、第１ＦＰＧＡ２１に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００８０】
また、代替ＦＰＧＡ２３に対して第２機能回路をコンフィグレーションし、その後、第１ＦＰＧＡ２１に第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ２１に何らかの障害が起き、出力確認回路２６が第１ＦＰＧＡ２１の障害を確認した場合、制御回路２５は、第１ＦＰＧＡ２１への第２機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路２６が第１ＦＰＧＡ２１が正常に動作していることを確認した場合、制御回路２５は、選択回路２４の出力を第１ＦＰＧＡ２１の出力に切り替えるようにしてもよい。これにより、第１ＦＰＧＡ２１に障害が起きた場合においても、コンフィグレーションをリトライすることで、第１ＦＰＧＡ２１の機能回路を第２機能回路に変更することができる。
【００８１】
なお、第１ＦＰＧＡ２１への第２機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【００８２】
また、制御回路２５が第１ＦＰＧＡ２１への第２機能回路のコンフィグレーションをリトライするタイミングは、例えば、第１ＦＰＧＡ２１への第２機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路２６が第１ＦＰＧＡ２１が正常に動作しているか否かを確認した際に第１ＦＰＧＡ２１の障害を確認したタイミングである。また、出力確認回路２６が、第１ＦＰＧＡ２１は正常に動作しているか否かを確認するタイミングは、第１ＦＰＧＡ２１への第２機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【００８３】
次に、第２ＦＰＧＡ２２の機能回路を第３機能回路から第４機能回路に書き換える際の動作手順について説明する。第２ＦＰＧＡ２２の機能回路を第３機能回路から第４機能回路に書き換える際には、まず、制御回路２５は、代替ＦＰＧＡ２３に第４機能回路をコンフィグレーションさせるため、代替ＦＰＧＡ２３に対して「代替ＦＰＧＡコンフィグ開始信号：第４機能回路」を入力する。代替ＦＰＧＡ２３は、制御回路２５から入力された「代替ＦＰＧＡコンフィグ開始信号：第４機能回路」に基づいて、第４機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ２３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路２５に対して入力する。
【００８４】
制御回路２５は、代替ＦＰＧＡ２３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ２３のコンフィグレーションは正常に完了したと判定する。制御回路２５は、代替ＦＰＧＡ２３のコンフィグレーションは正常に完了したと判定した場合、第２ＦＰＧＡ２２の出力端子Ｋから出力され、選択回路２４の入力端子Ｋに入力される信号と、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力される信号とのうち、入力端子Ｇに入力される信号を選択して出力端子Ｈから外部に出力するように、選択回路２４に対して「選択信号：代替ＦＰＧＡ−外部」を入力する。選択回路２４は、入力された「選択信号：代替ＦＰＧＡ−外部」に基づいて、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力された信号を選択して出力端子Ｈから外部に出力する。なお、選択回路２４が入力端子Ｇに入力された信号を出力端子Ｈから出力する前に、出力確認回路２６は、代替ＦＰＧＡ２３が出力する信号を確認して代替ＦＰＧＡ２３が故障しているか否かを判定する。
【００８５】
これにより、信号処理回路２０は、第１ＦＰＧＡ２１が処理した信号に対して、代替ＦＰＧＡ２３で第４機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【００８６】
続いて、制御回路２５は、第２ＦＰＧＡ２２に第４機能回路をコンフィグレーションさせるため、第２ＦＰＧＡ２２に対して「第２ＦＰＧＡコンフィグ開始信号：第４機能回路」を入力する。第２ＦＰＧＡ２２は、制御回路２５から入力された「第２ＦＰＧＡコンフィグ開始信号：第４機能回路」に基づいて、第４機能回路をコンフィグレーションする。そして、第２ＦＰＧＡ２２は、コンフィグレーションが正常に完了した後、「第２ＦＰＧＡコンフィグ完了信号」を制御回路２５に対して入力する。
【００８７】
制御回路２５は、第２ＦＰＧＡ２２から「第２ＦＰＧＡコンフィグ完了信号」が入力されると、第２ＦＰＧＡ２２のコンフィグレーションは正常に完了したと判定する。制御回路２５は、第２ＦＰＧＡ２２のコンフィグレーションは正常に完了したと判定した場合、第２ＦＰＧＡ２２の出力端子Ｋから出力され、選択回路２４の入力端子Ｋに入力される信号と、代替ＦＰＧＡ２３の出力端子Ｇから出力され、選択回路２４の入力端子Ｇに入力される信号とのうち、入力端子Ｋに入力される信号を選択して出力端子Ｈから外部に出力するように、選択回路２４に対して「選択信号：第２ＦＰＧＡ−外部」を入力する。選択回路２４は、入力された「選択信号：第２ＦＰＧＡ−外部」に基づいて、第２ＦＰＧＡ２２の出力端子Ｋから出力され、選択回路２４の入力端子Ｋに入力された信号を選択して出力端子Ｈから外部に出力する。なお、選択回路２４が入力端子Ｋに入力された信号を出力端子Ｈから外部に出力する前に、出力確認回路２６は、第２ＦＰＧＡ２２が出力する信号を確認して第２ＦＰＧＡ２２が故障しているか否かを判定する。
【００８８】
これにより、信号処理回路２０は、第１ＦＰＧＡ２１が処理した信号に対して、第２ＦＰＧＡ２２で第４機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【００８９】
上述したとおり、第２ＦＰＧＡ２２の機能回路を第３機能回路から第４機能回路に書き換える際に、制御回路２５は、まず代替ＦＰＧＡ２３に対して第４機能回路をコンフィグレーションする。そして、制御回路２５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路２４が代替ＦＰＧＡ２３の出力を選択して外部に出力するように制御する。次に、制御回路２５は、第２ＦＰＧＡ２２の代わりに代替ＦＰＧＡ２３で信号処理を行いつつ、第２ＦＰＧＡ２２に対して第４機能回路をコンフィグレーションする。そして、制御回路２５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路２４が第２ＦＰＧＡ２２の出力を選択して外部に出力するように制御する。これにより、第２ＦＰＧＡ２２のコンフィグレーションを行っている間においても、第２ＦＰＧＡ２２の代わりに代替ＦＰＧＡ２３を用いて信号処理を行うことができるため、信号処理回路２０は、第２ＦＰＧＡ２２にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【００９０】
また、信号処理回路２０は、代替ＦＰＧＡ２３に第４機能回路をコンフィグレーションした後、代替ＦＰＧＡ２３を用いて処理をし続けるのではなく、第２ＦＰＧＡ２２に第４機能回路をコンフィグレーションして第２ＦＰＧＡ２２を用いて処理を行う。これにより、信号処理回路２０は、第２ＦＰＧＡ２２にコンフィグレーションする機能回路を変更した後においても、通常経路（第２ＦＰＧＡ２２が信号の処理を行う経路）で動作することができる。これにより、代替ＦＰＧＡ２３を他の用途（例えば、他のＦＰＧＡの書き換え）に用いることができる。
【００９１】
また、代替ＦＰＧＡ２３に対して第４機能回路をコンフィグレーションした後、選択回路２４が備える出力確認回路２６が、代替ＦＰＧＡ２３の故障を検知した場合、制御回路２５は、選択回路２４の出力を代替ＦＰＧＡ２３の出力に切り替えず、そのまま第２ＦＰＧＡ２２の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路２０は、代替ＦＰＧＡ２３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００９２】
なお、代替ＦＰＧＡ２３が故障した場合において、入力された信号に対する処理を停止させてでも第２ＦＰＧＡ２２の機能回路を第３機能回路から第４機能回路に変更したい場合、制御回路２５は、第２ＦＰＧＡ２２に第４機能回路をコンフィグレーションさせるように制御することで、第２ＦＰＧＡ２２の機能回路を第４機能回路に変更することができる。
【００９３】
また、代替ＦＰＧＡ２３に対して第４機能回路をコンフィグレーションした後、第２ＦＰＧＡ２２に第４機能回路をコンフィグレーションする際に第２ＦＰＧＡ２２に何らかの故障が起きた場合、制御回路２５は、選択回路２４の出力を第２ＦＰＧＡ２２の出力に切り替えず、そのまま代替ＦＰＧＡ２３の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路２０は、第２ＦＰＧＡ２２に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【００９４】
また、代替ＦＰＧＡ２３に対して第４機能回路をコンフィグレーションし、その後、第
２ＦＰＧＡ２２に第４機能回路をコンフィグレーションした後、第２ＦＰＧＡ２２に何らかの障害が起き、出力確認回路２６が第２ＦＰＧＡ２２の障害を確認した場合、制御回路２５は、第２ＦＰＧＡ２２への第４機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路２６が第２ＦＰＧＡ２２が正常に動作していることを確認した場合、制御回路２５は、選択回路２４の出力を第２ＦＰＧＡ２２の出力に切り替えるようにしてもよい。これにより、第２ＦＰＧＡ２２に障害が起きた場合においても、コンフィグレーションをリトライすることで、第２ＦＰＧＡ２２の機能回路を第４機能回路に変更することができる。
【００９５】
なお、第２ＦＰＧＡ２２への第４機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【００９６】
また、制御回路２５が第２ＦＰＧＡ２２への第４機能回路のコンフィグレーションをリトライするタイミングは、例えば、第２ＦＰＧＡ２２への第４機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路２６が第２ＦＰＧＡ２２が正常に動作しているか否かを確認した際に第２ＦＰＧＡ２２の障害を確認したタイミングである。また、出力確認回路２６が、第２ＦＰＧＡ２２は正常に動作しているか否かを確認するタイミングは、第２ＦＰＧＡ２２への第４機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【００９７】
なお、図３に示した信号処理回路２０が備える第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７と、代替ＦＰＧＡ２３と、選択回路２４とは、上記の説明で用いた入力端子および出力端子以外の入力端子および出力端子を備えている。例えば、第２ＦＰＧＡ２２と代替ＦＰＧＡ２３とは、それぞれＦＰＧＡ間で入出力する信号以外の信号を入力する入力端子ｂを備えている。また、第２ＦＰＧＡ２２は出力端子ｄを備え、代替ＦＰＧＡ２３は出力端子ｇを備えている。
【００９８】
この構成により、第２ＦＰＧＡ２２が、外部から入力端子ｂに入力された信号に対して処理を行い、処理を行った信号を出力端子ｄから出力する場合に、第２ＦＰＧＡ２２の機能回路を書き換える時においても、代替ＦＰＧＡ２３に入力する信号を入力端子ｂから入力する信号に切り替え、代替ＦＰＧＡ２３から出力する信号を出力端子ｇから出力するように切り替えることで、第２ＦＰＧＡ２２の機能回路を代替ＦＰＧＡ２３で代替することができる。すなわち、第２ＦＰＧＡ２２が、ＦＰＧＡ間で入出力する信号以外の信号や、外部と入出力する信号の処理を行う場合においても、第２ＦＰＧＡ２２の機能回路を代替ＦＰＧＡ２３で代替することができる。
【００９９】
また、上述した例では、信号処理回路２０が、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、代替ＦＰＧＡ２３とを用いて動作する際の動作手順について説明したが、第３ＦＰＧＡ２７を用いて動作することも可能である。具体的には、図３の点線で示すように、第２ＦＰＧＡ２２の入出力端子と同様に、第３ＦＰＧＡ２７の入出力端子を代替ＦＰＧＡ２３と選択回路２４とに接続すれば良い。また、信号処理回路２０が４つ以上のＦＰＧＡを備え、４つ以上のＦＰＧＡを用いて動作するようにしてもよい。
【０１００】
また、上述した例では、代替ＦＰＧＡ２３の回路規模は、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７との回路規模と同等以上の場合の例を用いて説明したが、これに限らない。例えば、代替ＦＰＧＡ２３の回路規模は、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７との回路規模よりも小さくてもよい。この場合、代替ＦＰＧＡ２３は、代替する第１ＦＰＧＡ２１や、第２ＦＰＧＡ２２や、第３ＦＰＧＡ２７と同じ機能回路を実現する必要は無く、代替する第１ＦＰＧＡ２１や、第２ＦＰＧＡ２２や、第３ＦＰＧＡ２７の機能回路のうち、代替時に信号の出力を維持することができる最低限必要な機能回路のみを、専用のコンフィグレーションデータを用いてコンフィグレーションすればよい。これにより、信号処理回路２０は、第１ＦＰＧＡ２１と、第２ＦＰＧＡ２２と、第３ＦＰＧＡ２７との回路規模よりも回路規模が小さい代替ＦＰＧＡ２３を備える場合においても、最低限の処理を継続して行うことができる。
【０１０１】
（第３の実施形態）
次に、本発明の第３の実施形態について図面を参照して説明する。本実施形態における信号処理回路１は、第１の実施形態における信号処理回路１と同様の構成である。本実施形態と第１の実施形態とで異なる点は、第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に書き換える際に、第１の実施形態では代替ＦＰＧＡ３に第２機能回路をコンフィグレーションしたが、本実施形態では代替ＦＰＧＡ３に第１機能回路をコンフィグレーションする点である。
【０１０２】
次に、第１ＦＰＧＡ２の機能回路を第１の機能回路から第２の機能回路に書き換える場合における信号処理回路１の動作タイミングについて説明する。図４は、本実施形態において、第１ＦＰＧＡ２の機能回路を第１の機能回路から第２の機能回路に書き換える場合における信号処理回路１の動作タイミングを示したタイミングチャートである。
【０１０３】
信号処理回路１が搭載されている装置の電源が投入されると、制御回路５に入力されているシステムリセット信号が解除される。システムリセット信号が解除されると、制御回路５は、第１ＦＰＧＡ２に第１機能回路をコンフィグレーションさせるように、第１ＦＰＧＡ２に対して「第１ＦＰＧＡコンフィグ開始信号：第１機能回路」を入力する。第１ＦＰＧＡ２は、制御回路５から入力された「第１ＦＰＧＡコンフィグ開始信号：第１機能回路」に基づいて、第１機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ２は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【０１０４】
制御回路５は、第１ＦＰＧＡ２から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定する。制御回路５は、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、第１ＦＰＧＡ２の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：第１ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：第１ＦＰＧＡ」に基づいて、第１ＦＰＧＡ２の出力信号を選択して外部に出力する。なお、選択回路４が第１ＦＰＧＡ２の出力信号を選択して外部に出力する前（出力を切り替える前）に、出力確認回路６は、第１ＦＰＧＡ２が出力する信号を確認して第１ＦＰＧＡ２が故障しているか否かを判定する。
【０１０５】
これにより、信号処理回路１は、外部から入力される信号に対して、第１ＦＰＧＡ２で第１機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【０１０６】
また、制御回路５に対して、第１ＦＰＧＡ２の機能回路を、第１機能回路から第２機能回路に変更する指示が入力された場合、制御回路５は、代替ＦＰＧＡ３に第１機能回路をコンフィグレーションさせるように、代替ＦＰＧＡ３に対して「代替ＦＰＧＡコンフィグ開始信号：第１機能回路」を入力する。代替ＦＰＧＡ３は、制御回路５から入力された「代替ＦＰＧＡコンフィグ開始信号：第１機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【０１０７】
制御回路５は、代替ＦＰＧＡ３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定する。制御回路５は、代替ＦＰＧＡ３のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、代替ＦＰＧＡ３の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：代替ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：代替ＦＰＧＡ」に基づいて、代替ＦＰＧＡ３の出力信号を選択して外部に出力する。なお、選択回路４が代替ＦＰＧＡ３の出力信号を選択して外部に出力する前に、出力確認回路６は、代替ＦＰＧＡ３が出力する信号を確認して代替ＦＰＧＡ３が故障しているか否かを判定する。
【０１０８】
これにより、信号処理回路１は、外部から入力される信号に対して、代替ＦＰＧＡ３で第１機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【０１０９】
続いて、制御回路５は、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションさせるように、第１ＦＰＧＡ２に対して「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。第１ＦＰＧＡ２は、制御回路５から入力された「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ２は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路５に対して入力する。
【０１１０】
制御回路５は、第１ＦＰＧＡ２から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定する。制御回路５は、第１ＦＰＧＡ２のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ２の出力信号と代替ＦＰＧＡ３の出力信号とのうち、第１ＦＰＧＡ２の出力信号を選択して外部に出力するように、選択回路４に対して「選択信号：第１ＦＰＧＡ」を入力する。選択回路４は、入力された「選択信号：第１ＦＰＧＡ」に基づいて、第１ＦＰＧＡ２の出力信号を選択して外部に出力する。なお、選択回路４が第１ＦＰＧＡ２の出力信号を選択して外部に出力する前に、出力確認回路６は、第１ＦＰＧＡ２が出力する信号を確認して第１ＦＰＧＡ２が故障しているか否かを判定する。
【０１１１】
これにより、信号処理回路１は、外部から入力される信号に対して、第１ＦＰＧＡ２で第２機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【０１１２】
信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路の変更や更新動作時には、上述した動作を行う。例えば、第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に書き換える際に、制御回路５は、まず代替ＦＰＧＡ３に対して第１機能回路をコンフィグレーションする。そして、制御回路５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路４が代替ＦＰＧＡ３の出力を選択して外部に出力するように制御する。次に、制御回路５は、第１ＦＰＧＡ２の代わりに代替ＦＰＧＡ３で信号処理を行いつつ、第１ＦＰＧＡ２に対して第２機能回路をコンフィグレーションする。そして、制御回路５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路４が第１ＦＰＧＡ２の出力を選択して外部に出力するように制御する。これにより、第１ＦＰＧＡ２のコンフィグレーションを行っている間においても、第１ＦＰＧＡ２の代わりに代替ＦＰＧＡ３を用いて信号処理を行うことができるため、信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【０１１３】
また、信号処理回路１は、代替ＦＰＧＡ３に第１機能回路をコンフィグレーションした後、代替ＦＰＧＡ３を用いて処理をし続けるのではなく、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションして第１ＦＰＧＡ２を用いて処理を行う。これにより、信号処理回路１は、第１ＦＰＧＡ２にコンフィグレーションする機能回路を変更した後においても、通常経路（第１ＦＰＧＡ２が信号の処理を行う経路）で動作することができる。
【０１１４】
また、代替ＦＰＧＡ３に対して第１機能回路をコンフィグレーションした後、選択回路４が備える出力確認回路６が、代替ＦＰＧＡ３の故障を検知した場合、制御回路５は、選択回路４の出力を代替ＦＰＧＡ３の出力に切り替えず、そのまま第１ＦＰＧＡ２の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路１は、代替ＦＰＧＡ３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１１５】
なお、代替ＦＰＧＡ３が故障した場合において、入力された信号に対する処理を停止させてでも第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に変更したい場合、制御回路５は、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションさせるように制御することで、第１ＦＰＧＡ２の機能回路を第２機能回路に変更することができる。
【０１１６】
また、代替ＦＰＧＡ３に対して第１機能回路をコンフィグレーションした後、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションする際に第１ＦＰＧＡ２に何らかの故障が起きた場合、制御回路５は、選択回路４の出力を第１ＦＰＧＡ２の出力に切り替えず、そのまま代替ＦＰＧＡ３の出力を選択して出力するように制御するようにしてもよい。これにより、信号処理回路１は、第１ＦＰＧＡ２に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１１７】
また、代替ＦＰＧＡ３に対して第１機能回路をコンフィグレーションし、その後、第１ＦＰＧＡ２に第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ２に何らかの障害が起き、出力確認回路６が第１ＦＰＧＡ２の障害を確認した場合、制御回路５は、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路６が第１ＦＰＧＡ２が正常に動作していることを確認した場合、制御回路５は、選択回路４の出力を第１ＦＰＧＡ２の出力に切り替えるようにしてもよい。これにより、第１ＦＰＧＡ２に障害が起きた場合においても、コンフィグレーションをリトライすることで、第１ＦＰＧＡ２の機能回路を第２機能回路に変更することができる。
【０１１８】
なお、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【０１１９】
また、制御回路５が第１ＦＰＧＡ２への第２機能回路のコンフィグレーションをリトライするタイミングは、例えば、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路６が第１ＦＰＧＡ２が正常に動作しているか否かを確認した際に第１ＦＰＧＡ２の障害を確認したタイミングである。また、出力確認回路６が、第１ＦＰＧＡ２は正常に動作しているか否かを確認するタイミングは、第１ＦＰＧＡ２への第２機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【０１２０】
また、信号処理回路１が、第１ＦＰＧＡ２の機能回路を第１機能回路から第２機能回路に書き換えた後に再度第１機能回路を用いて信号処理を行う場合においては、代替ＦＰＧＡ３には既に第１機能がコンフィグレーションされているため、選択回路４が出力する信号を、第１ＦＰＧＡ２の出力信号から代替ＦＰＧＡ３の出力信号に切り替えるだけで、瞬時に第１機能回路を用いて信号処理を行うことができる。
【０１２１】
なお、本実施形態では、信号処理回路１を用いて説明したが、これに限らない。例えば、第２の実施形態における信号処理回路２０においても、本実施形態の処理と同様の処理を行い、同様の効果を得ることができる。具体的には、第２の実施形態では、第１ＦＰＧＡ２１の機能回路を第１機能回路から第２機能回路に書き換える際に、代替ＦＰＧＡ２３には第２機能回路をコンフィグレーションしたが、上述した例と同様に、代替ＦＰＧＡ２３に第１機能回路をコンフィグレーションすることで本実施形態と同様の効果を得ることができる。また、第２の実施形態では、第２ＦＰＧＡ２２の機能回路を第３機能回路から第４機能回路に書き換える際に、代替ＦＰＧＡ２３には第４機能回路をコンフィグレーションしたが、上述した例と同様に、代替ＦＰＧＡ２３に第３機能回路をコンフィグレーションすることで本実施形態と同様の効果を得ることができる。
【０１２２】
（第４の実施形態）
次に、本発明の第４の実施形態について図面を参照して説明する。図５は、本実施形態における信号処理回路の構成を示した概略図である。図示する例では、信号処理回路３０は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、代替ＦＰＧＡ３３と、選択回路３４と、制御回路３５とを備える。なお、破線で示すように、第３ＦＰＧＡ３７をさらに備えるようにしてもよい。
【０１２３】
第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、代替ＦＰＧＡ３３と、第３ＦＰＧＡ３７とは、第１の実施形態の第１ＦＰＧＡ２と代替ＦＰＧＡ３と同様に、ＲＯＭ（図示せず）に記憶されたコンフィグレーションデータを読み込むことによりコンフィグレーションが可能なプログラマブル集積回路の一種である。また、第２ＦＰＧＡ３２は、選択器４０を備える。また、選択器４０は、出力確認回路４１を備える。なお、第２ＦＰＧＡ３２が備える選択器４０と、選択器４０が備える出力確認回路４１とは、第２ＦＰＧＡ３２のコンフィグレーションによって構成されるようにしてもよい。
【０１２４】
第１ＦＰＧＡ３１は、外部から信号が入力される入力端子Ａを備えている。また、第１ＦＰＧＡ３１は、入力端子Ａに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第１ＦＰＧＡ３１は、処理を行った信号を出力する出力端子Ｃと出力端子Ｅとを備えている。
【０１２５】
第２ＦＰＧＡ３２は、第１ＦＰＧＡ３１から信号が入力される入力端子Ｃと、代替ＦＰＧＡ３３から信号が入力される入力端子Ｆと、外部から信号が入力される入力端子Ｂとを備えている。また、第２ＦＰＧＡ３２は、入力端子Ｃと、入力端子Ｆと、入力端子Ｂとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第２ＦＰＧＡ３２は、処理を行った信号を出力する出力端子Ｄと出力端子Ｋとを備えている。
【０１２６】
第３ＦＰＧＡ２７は、第２ＦＰＧＡ３２から信号が入力される入力端子Ｋと、代替ＦＰＧＡ３３から信号が入力される入力端子Ｍと、外部から信号が入力される入力端子Ｊとを備えている。また、第３ＦＰＧＡ３７は、入力端子Ｋと、入力端子Ｍと、入力端子Ｊとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、第３ＦＰＧＡ３７は、処理を行った信号を出力する出力端子Ｌを備えている。
【０１２７】
代替ＦＰＧＡ３３は、第１ＦＰＧＡ３１が備える入力端子Ａに入力される信号と同じ信号が入力される入力端子Ａと、第２ＦＰＧＡ３２が備える入力端子Ｂに入力される信号と同じ信号が入力される入力端子Ｂと、第２ＦＰＧＡ３２が備える入力端子Ｃに入力される信号と同じ信号が入力される入力端子Ｃと、第３ＦＰＧＡ３７が備える入力端子Ｊに入力される信号と同じ信号が入力される入力端子Ｊと、第３ＦＰＧＡ３７が備える入力端子Ｋに入力される信号と同じ信号が入力される入力端子Ｋとを備えている。また、代替ＦＰＧＡ３３は、入力端子Ａと、入力端子Ｂと、入力端子Ｃと、入力端子Ｊと、入力端子Ｋとに入力される信号に対して、コンフィグレーションされた機能回路に基づいた処理を行う。また、代替ＦＰＧＡ３３は、処理を行った信号を出力する出力端子Ｇを備えている。
【０１２８】
選択回路３４は、第１ＦＰＧＡ３１が出力する信号が入力される入力端子Ｅと、第２ＦＰＧＡ３２が出力する信号が入力される入力端子Ｄと、第３ＦＰＧＡ３７が出力する信号が入力される入力端子Ｌと、代替ＦＰＧＡ３３が出力する信号が入力される入力端子Ｇとを備えている。また、選択回路３４は、第１ＦＰＧＡ３１が出力する信号（第１ＦＰＧＡ３１の出力信号）と、第２ＦＰＧＡ３２が出力する信号（第２ＦＰＧＡ３２の出力信号）と、第３ＦＰＧＡ３７が出力する信号（第３ＦＰＧＡ３７の出力信号）と、代替ＦＰＧＡ３３が出力する信号（代替ＦＰＧＡ３３の出力信号）とのうちいずれか１つを選択して外部に出力する出力端子Ｉと、出力端子Ｎと、出力端子Ｈとを備えている。
【０１２９】
出力確認回路３６は、選択回路３４に入力された第１ＦＰＧＡ３１が出力する信号と、第２ＦＰＧＡ３２が出力する信号と、第３ＦＰＧＡ３７が出力する信号と、代替ＦＰＧＡ３３が出力する信号とを確認し、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７と、代替ＦＰＧＡ３３とが故障しているか否かを判定する。また、出力確認回路３６は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７と、代替ＦＰＧＡ３３とが故障しているか否かを判定した結果を制御回路３５に対して入力する。
【０１３０】
選択器４０は、第１ＦＰＧＡ３１が出力し、第２ＦＰＧＡ３２の入力端子Ｃに入力される信号と、代替ＦＰＧＡ３３が出力し、第２ＦＰＧＡ３２の入力端子Ｆに入力される信号と、外部から第２ＦＰＧＡ３２の入力端子Ｂに入力される信号とのうちいずれか１つを選択し、第２ＦＰＧＡ２２の入力信号とする。
【０１３１】
出力確認回路４１は、第１ＦＰＧＡ３１が出力し、第２ＦＰＧＡ３２の入力端子Ｃに入力される信号と、代替ＦＰＧＡ３３が出力し、第２ＦＰＧＡ３２の入力端子Ｆに入力される信号とを確認し、第１ＦＰＧＡ３１と代替ＦＰＧＡ３３とが故障しているか否かを判定する。また、出力確認回路４１は、第１ＦＰＧＡ３１と代替ＦＰＧＡ３３とが故障しているか否かを判定した結果を制御回路３５に対して入力する。制御回路３５は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７と、代替ＦＰＧＡ３３とのコンフィグレーションの制御を行う。また、制御回路３５は、選択回路３４と選択器４０との信号出力の制御を行う。
【０１３２】
次に、信号処理回路３０の動作手順について説明する。以下、信号処理回路３０が、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、代替ＦＰＧＡ３３とを用いて動作する際の動作手順を例に説明する。なお、第１ＦＰＧＡ３１には第１機能回路がコンフィグレーションされており、第２ＦＰＧＡ３２には第３機能回路がコンフィグレーションされており、代替ＦＰＧＡ３３には機能回路がコンフィグレーションされていないとする。
【０１３３】
信号処理回路３０が通常動作している時には、信号処理回路３０に入力された信号は、第１ＦＰＧＡ３１の入力端子Ａと代替ＦＰＧＡ３３の入力端子Ａとに入力される。第１ＦＰＧＡ３１は、入力端子Ａに入力された信号に対して第１機能回路に基づいた信号処理を行い、出力端子Ｃから出力する。出力端子Ｃから出力された信号は、第２ＦＰＧＡ３２の入力端子Ｃと代替ＦＰＧＡ３３の入力端子Ｃとに入力される。なお、代替ＦＰＧＡ３３には機能回路がコンフィグレーションされていないため、代替ＦＰＧＡ３３は処理を行わない。
【０１３４】
第２ＦＰＧＡ３２の選択器４０は、制御回路３５の制御により、入力端子Ｃに入力された信号を選択し、第２ＦＰＧＡ３２の入力信号とする。第２ＦＰＧＡ３２は、選択器４０が選択した、入力端子Ｃに入力された信号に対して第３機能回路に基づいた信号処理を行い、出力端子Ｄから出力する。出力端子Ｄから出力された信号は、選択回路３４の入力端子Ｄに入力される。選択回路３４は、制御回路３５の制御により、入力端子Ｄに入力された信号を出力端子Ｈから外部に出力する。
【０１３５】
次に、第１ＦＰＧＡ３１の機能回路を第１機能回路から第２機能回路に書き換える際の動作手順について説明する。第１ＦＰＧＡ３１の機能回路を第１機能回路から第２機能回路に書き換える際には、まず、制御回路３５は、代替ＦＰＧＡ３３に第２機能回路をコンフィグレーションさせるため、代替ＦＰＧＡ３３に対して「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。代替ＦＰＧＡ３３は、制御回路３５から入力された「代替ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ３３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路３５に対して入力する。
【０１３６】
制御回路３５は、代替ＦＰＧＡ３３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ３３のコンフィグレーションは正常に完了したと判定する。制御回路３５は、代替ＦＰＧＡ３３のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ３１の出力端子Ｃから出力され、第２ＦＰＧＡ３２の入力端子Ｃに入力される信号と、代替ＦＰＧＡ３３の出力端子Ｆから出力され、第２ＦＰＧＡ３２の入力端子Ｆに入力される信号とのうち、入力端子Ｆに入力される信号を選択して第２ＦＰＧＡ３２の入力信号とするように、選択器４０に対して「選択信号：代替ＦＰＧＡ」を入力する。
【０１３７】
選択器４０は、入力された「選択信号：代替ＦＰＧＡ」に基づいて、代替ＦＰＧＡ３３の出力端子Ｆから出力され、第２ＦＰＧＡ３２の入力端子Ｆに入力された信号を選択して第２ＦＰＧＡ３２の入力信号とする。なお、選択器４０が入力端子Ｆに入力された信号を第２ＦＰＧＡ３２の入力信号とする前に、出力確認回路４１は、代替ＦＰＧＡ３３が出力する信号を確認して代替ＦＰＧＡ３３が故障しているか否かを判定する。
【０１３８】
これにより、信号処理回路３０は、外部から入力される信号に対して、代替ＦＰＧＡ３３で第２機能回路に基づいた信号処理を行い、処理を行った信号を第２ＦＰＧＡ３２に入力することができる。なお、第２ＦＰＧＡ３２に入力された信号については上述した処理と同様の処理を行われ、選択回路３４の出力端子Ｈから外部に出力される。
【０１３９】
続いて、制御回路３５は、第１ＦＰＧＡ３１に第２機能回路をコンフィグレーションさせるため、第１ＦＰＧＡ３１に対して「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」を入力する。第１ＦＰＧＡ３１は、制御回路３５から入力された「第１ＦＰＧＡコンフィグ開始信号：第２機能回路」に基づいて、第２機能回路をコンフィグレーションする。そして、第１ＦＰＧＡ３１は、コンフィグレーションが正常に完了した後、「第１ＦＰＧＡコンフィグ完了信号」を制御回路３５に対して入力する。
【０１４０】
制御回路３５は、第１ＦＰＧＡ３１から「第１ＦＰＧＡコンフィグ完了信号」が入力されると、第１ＦＰＧＡ３１のコンフィグレーションは正常に完了したと判定する。制御回路３５は、第１ＦＰＧＡ３１のコンフィグレーションは正常に完了したと判定した場合、第１ＦＰＧＡ３１の出力端子Ｃから出力され、第２ＦＰＧＡ３２の入力端子Ｃに入力される信号と、代替ＦＰＧＡ３３の出力端子Ｆから出力され、第２ＦＰＧＡ３２の入力端子Ｆに入力される信号とのうち、入力端子Ｃに入力される信号を選択して第２ＦＰＧＡ３２の入力信号とするように、選択器４０に対して「選択信号：第１ＦＰＧＡ」を入力する。
【０１４１】
選択器４０は、入力された「選択信号：第１ＦＰＧＡ」に基づいて、第１ＦＰＧＡ３１の出力端子Ｃから出力され、第２ＦＰＧＡ３２の入力端子Ｃに入力された信号を選択して第２ＦＰＧＡ３２の入力信号とする。なお、選択器４０が入力端子Ｃに入力された信号を第２ＦＰＧＡ３２の入力信号とする前に、出力確認回路４１は、第１ＦＰＧＡ３１が出力する信号を確認して第１ＦＰＧＡ３１が故障しているか否かを判定する。
【０１４２】
これにより、信号処理回路３０は、外部から入力される信号に対して、第１ＦＰＧＡ３１で第２機能回路に基づいた信号処理を行い、処理を行った信号を第２ＦＰＧＡ３２に入力することができる。なお、第２ＦＰＧＡ３２に入力された信号については上述した処理と同様の処理を行われ、選択回路３４の出力端子Ｈから外部に出力される。
【０１４３】
上述したとおり、第１ＦＰＧＡ３１の機能回路を第１機能回路から第２機能回路に書き換える際に、制御回路３５は、まず代替ＦＰＧＡ３３に対して第２機能回路をコンフィグレーションする。そして、制御回路３５は、このコンフィグレーションが正常に完了したことを確認した後に、選択器４０が入力端子Ｆに入力される信号を選択して第２ＦＰＧＡ３２の入力信号とするように制御する。次に、制御回路３５は、第１ＦＰＧＡ３１の代わりに代替ＦＰＧＡ３３で信号処理を行いつつ、第１ＦＰＧＡ３１に対して第２機能回路をコンフィグレーションする。そして、制御回路３５は、このコンフィグレーションが正常に完了したことを確認した後に、選択器４０が入力端子Ｃに入力される信号を選択して第２ＦＰＧＡ３２の入力信号とするように制御する。これにより、第１ＦＰＧＡ３１のコンフィグレーションを行っている間においても、第１ＦＰＧＡ３１の代わりに代替ＦＰＧＡ３３を用いて信号処理を行うことができるため、信号処理回路３０は、第１ＦＰＧＡ３１にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【０１４４】
また、信号処理回路３０は、代替ＦＰＧＡ３３に第２機能回路をコンフィグレーションした後、代替ＦＰＧＡ３３を用いて処理をし続けるのではなく、第１ＦＰＧＡ３１に第２機能回路をコンフィグレーションして第１ＦＰＧＡ３１を用いて処理を行う。これにより、信号処理回路３０は、第１ＦＰＧＡ３１にコンフィグレーションする機能回路を変更した後においても、通常経路（第１ＦＰＧＡ３１が信号の処理を行う経路）で動作することができる。これにより、代替ＦＰＧＡ３３を他の用途（例えば、他のＦＰＧＡの書き換え）に用いることができる。
【０１４５】
また、代替ＦＰＧＡ３３に対して第２機能回路をコンフィグレーションした後、選択器４０が備える出力確認回路４１が、代替ＦＰＧＡ３３の故障を検知した場合、制御回路３５は、選択器４０が選択する出力を代替ＦＰＧＡ３３の出力に切り替えず、そのまま第１ＦＰＧＡ３１の出力を選択して第２ＦＰＧＡ３２の入力信号とするように制御するようにしてもよい。これにより、信号処理回路３０は、代替ＦＰＧＡ３３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１４６】
なお、代替ＦＰＧＡ３３が故障した場合において、入力された信号に対する処理を停止させてでも第１ＦＰＧＡ３１の機能回路を第１機能回路から第２機能回路に変更したい場合、制御回路３５は、第１ＦＰＧＡ３１に第２機能回路をコンフィグレーションさせるように制御することで、第１ＦＰＧＡ３１の機能回路を第２機能回路に変更することができる。
【０１４７】
また、代替ＦＰＧＡ３３に対して第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ３１に第２機能回路をコンフィグレーションする際に第１ＦＰＧＡ３１に何らかの故障が起きた場合、制御回路３５は、選択器４０が選択する出力を第１ＦＰＧＡ３１の出力に切り替えず、そのまま代替ＦＰＧＡ２３の出力を選択して第２ＦＰＧＡ３２の入力信号とするように制御するようにしてもよい。これにより、信号処理回路３０は、第１ＦＰＧＡ３１に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１４８】
また、代替ＦＰＧＡ３３に対して第２機能回路をコンフィグレーションし、その後、第１ＦＰＧＡ３１に第２機能回路をコンフィグレーションした後、第１ＦＰＧＡ３１に何らかの障害が起き、出力確認回路４１が第１ＦＰＧＡ３１の障害を確認した場合、制御回路３５は、第１ＦＰＧＡ３１への第２機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路４１が第１ＦＰＧＡ３１が正常に動作していることを確認した場合、制御回路３５は、選択器４０が選択する出力を第１ＦＰＧＡ３１の出力に切り替えて第２ＦＰＧＡ３２の入力信号とするようにしてもよい。これにより、第１ＦＰＧＡ３１に障害が起きた場合においても、コンフィグレーションをリトライすることで、第１ＦＰＧＡ３１の機能回路を第２機能回路に変更することができる。
【０１４９】
なお、第１ＦＰＧＡ３１への第２機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【０１５０】
また、制御回路３５が第１ＦＰＧＡ３１への第２機能回路のコンフィグレーションをリトライするタイミングは、例えば、第１ＦＰＧＡ３１への第２機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路４１が第１ＦＰＧＡ３１が正常に動作しているか否かを確認した際に第１ＦＰＧＡ３１の障害を確認したタイミングである。また、出力確認回路４１が、第１ＦＰＧＡ３１は正常に動作しているか否かを確認するタイミングは、第１ＦＰＧＡ３１への第２機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【０１５１】
また、第２ＦＰＧＡ３２は選択器４０を備えており、第１ＦＰＧＡ３１が処理した信号と、代替ＦＰＧＡ３３が処理した信号のうちいずれかを選択して第２ＦＰＧＡ３２の入力信号とする事ができるため、第１ＦＰＧＡ３１および代替ＦＰＧＡ３３で処理を行った信号を、選択回路３４を経由することなく第２ＦＰＧＡ３２に入力することができる。従って、信号を伝達するための経路が短くなるため、第１ＦＰＧＡ３１および代替ＦＰＧＡ３３から第２ＦＰＧＡ３２に入力される信号の遅延を減少させることができる。
【０１５２】
次に、第２ＦＰＧＡ３２の機能回路を第３機能回路から第４機能回路に書き換える際の動作手順について説明する。第２ＦＰＧＡ３２の機能回路を第３機能回路から第４機能回路に書き換える際には、まず、制御回路３５は、代替ＦＰＧＡ３３に第４機能回路をコンフィグレーションさせるため、代替ＦＰＧＡ３３に対して「代替ＦＰＧＡコンフィグ開始信号：第４機能回路」を入力する。代替ＦＰＧＡ３３は、制御回路３５から入力された「代替ＦＰＧＡコンフィグ開始信号：第４機能回路」に基づいて、第４機能回路をコンフィグレーションする。そして、代替ＦＰＧＡ３３は、コンフィグレーションが正常に完了した後、「代替ＦＰＧＡコンフィグ完了信号」を制御回路３５に対して入力する。
【０１５３】
制御回路３５は、代替ＦＰＧＡ３３から「代替ＦＰＧＡコンフィグ完了信号」が入力されると、代替ＦＰＧＡ３３のコンフィグレーションは正常に完了したと判定する。制御回路３５は、代替ＦＰＧＡ３３のコンフィグレーションは正常に完了したと判定した場合、第２ＦＰＧＡ３２の出力端子Ｄから出力され、選択回路３４の入力端子Ｄに入力される信号と、代替ＦＰＧＡ３３の出力端子Ｇから出力され、選択回路３４の入力端子Ｇに入力される信号とのうち、入力端子Ｇに入力される信号を選択して出力端子Ｈから外部に出力するように、選択回路３４に対して「選択信号：代替ＦＰＧＡ−外部」を入力する。選択回路３４は、入力された「選択信号：代替ＦＰＧＡ−外部」に基づいて、代替ＦＰＧＡ３３の出力端子Ｇから出力され、選択回路３４の入力端子Ｇに入力された信号を選択して出力端子Ｈから外部に出力する。なお、選択回路３４が入力端子Ｇに入力された信号を出力端子Ｈから出力する前に、出力確認回路３６は、代替ＦＰＧＡ３３が出力する信号を確認して代替ＦＰＧＡ３３が故障しているか否かを判定する。
【０１５４】
これにより、信号処理回路３０は、第１ＦＰＧＡ３１が処理した信号に対して、代替ＦＰＧＡ３３で第４機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【０１５５】
続いて、制御回路３５は、第２ＦＰＧＡ３２に第４機能回路をコンフィグレーションさせるため、第２ＦＰＧＡ３２に対して「第２ＦＰＧＡコンフィグ開始信号：第４機能回路」を入力する。第２ＦＰＧＡ３２は、制御回路３５から入力された「第２ＦＰＧＡコンフィグ開始信号：第４機能回路」に基づいて、第４機能回路をコンフィグレーションする。そして、第２ＦＰＧＡ３２は、コンフィグレーションが正常に完了した後、「第２ＦＰＧＡコンフィグ完了信号」を制御回路３５に対して入力する。
【０１５６】
制御回路３５は、第２ＦＰＧＡ３２から「第２ＦＰＧＡコンフィグ完了信号」が入力されると、第２ＦＰＧＡ３２のコンフィグレーションは正常に完了したと判定する。制御回路３５は、第２ＦＰＧＡ３２のコンフィグレーションは正常に完了したと判定した場合、第２ＦＰＧＡ３２の出力端子Ｄから出力され、選択回路３４の入力端子Ｄに入力される信号と、代替ＦＰＧＡ３３の出力端子Ｇから出力され、選択回路３４の入力端子Ｇに入力される信号とのうち、入力端子Ｄに入力される信号を選択して出力端子Ｈから外部に出力するように、選択回路３４に対して「選択信号：第２ＦＰＧＡ−外部」を入力する。選択回路３４は、入力された「選択信号：第２ＦＰＧＡ−外部」に基づいて、第２ＦＰＧＡ３２の出力端子Ｄから出力され、選択回路３４の入力端子Ｄに入力された信号を選択して出力端子Ｈから外部に出力する。なお、選択回路３４が入力端子Ｄに入力された信号を出力端子Ｈから外部に出力する前に、出力確認回路３６は、第２ＦＰＧＡ３２が出力する信号を確認して第２ＦＰＧＡ３２が故障しているか否かを判定する。
【０１５７】
これにより、信号処理回路３０は、第１ＦＰＧＡ３１が処理した信号に対して、第２ＦＰＧＡ３２で第４機能回路に基づいた信号処理を行い、処理を行った信号を外部に出力することができる。
【０１５８】
上述したとおり、第２ＦＰＧＡ３２の機能回路を第３機能回路から第４機能回路に書き換える際に、制御回路３５は、まず代替ＦＰＧＡ３３に対して第４機能回路をコンフィグレーションする。そして、制御回路３５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路３４が代替ＦＰＧＡ３３の出力を選択して外部に出力するように制御する。次に、制御回路３５は、第２ＦＰＧＡ３２の代わりに代替ＦＰＧＡ３３で信号処理を行いつつ、第２ＦＰＧＡ３２に対して第４機能回路をコンフィグレーションする。そして、制御回路３５は、このコンフィグレーションが正常に完了したことを確認した後に、選択回路３４が第２ＦＰＧＡ３２の出力を選択して外部に出力するように制御する。これにより、第２ＦＰＧＡ３２のコンフィグレーションを行っている間においても、第２ＦＰＧＡ３２の代わりに代替ＦＰＧＡ３３を用いて信号処理を行うことができるため、信号処理回路３０は、第２ＦＰＧＡ３２にコンフィグレーションする機能回路を更新する場合においても、継続して処理を行うことができる。
【０１５９】
また、信号処理回路３０は、代替ＦＰＧＡ３３に第４機能回路をコンフィグレーションした後、代替ＦＰＧＡ３３を用いて処理をし続けるのではなく、第２ＦＰＧＡ３２に第４機能回路をコンフィグレーションして第２ＦＰＧＡ３２を用いて処理を行う。これにより、信号処理回路３０は、第２ＦＰＧＡ３２にコンフィグレーションする機能回路を変更した後においても、通常経路（第２ＦＰＧＡ３２が信号の処理を行う経路）で動作することができる。これにより、代替ＦＰＧＡ３３を他の用途（例えば、他のＦＰＧＡの書き換え）に用いることができる。
【０１６０】
また、代替ＦＰＧＡ３３に対して第４機能回路をコンフィグレーションした後、選択回路３４が備える出力確認回路３６が、代替ＦＰＧＡ３３の故障を検知した場合、制御回路３５は、選択回路３４の出力を代替ＦＰＧＡ３３の出力に切り替えず、そのまま第２ＦＰＧＡ３２の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路３０は、代替ＦＰＧＡ３３に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１６１】
なお、代替ＦＰＧＡ３３が故障した場合において、入力された信号に対する処理を停止させてでも第２ＦＰＧＡ３２の機能回路を第３機能回路から第４機能回路に変更したい場合、制御回路３５は、第２ＦＰＧＡ３２に第４機能回路をコンフィグレーションさせるように制御することで、第２ＦＰＧＡ３２の機能回路を第４機能回路に変更することができる。
【０１６２】
また、代替ＦＰＧＡ３３に対して第４機能回路をコンフィグレーションした後、第２ＦＰＧＡ３２に第４機能回路をコンフィグレーションする際に第２ＦＰＧＡ３２に何らかの故障が起きた場合、制御回路３５は、選択回路３４の出力を第２ＦＰＧＡ３２の出力に切り替えず、そのまま代替ＦＰＧＡ３３の出力を選択して外部に出力するように制御するようにしてもよい。これにより、信号処理回路３０は、第２ＦＰＧＡ３２に障害が起きた場合においても、入力された信号に対して継続して処理を行うことができる。
【０１６３】
また、代替ＦＰＧＡ３３に対して第４機能回路をコンフィグレーションし、その後、第２ＦＰＧＡ３２に第４機能回路をコンフィグレーションした後、第２ＦＰＧＡ３２に何らかの障害が起き、出力確認回路３６が第２ＦＰＧＡ３２の障害を確認した場合、制御回路３５は、第２ＦＰＧＡ３２への第４機能回路のコンフィグレーションをリトライするようにしてもよい。そして、出力確認回路３６が第２ＦＰＧＡ３２が正常に動作していることを確認した場合、制御回路３５は、選択回路３４の出力を第２ＦＰＧＡ３２の出力に切り替えるようにしてもよい。これにより、第２ＦＰＧＡ３２に障害が起きた場合においても、コンフィグレーションをリトライすることで、第２ＦＰＧＡ３２の機能回路を第４機能回路に変更することができる。
【０１６４】
なお、第２ＦＰＧＡ３２への第４機能回路のコンフィグレーションをリトライする際には、再度同じＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよく、別途異なるＲＯＭを備え、このＲＯＭからコンフィグレーションデータを読み出してコンフィグレーションを行ってもよい。また、コンフィグレーション方法を変えて、コンフィグレーションのリトライを行うようにしてもよい。
【０１６５】
また、制御回路３５が第２ＦＰＧＡ３２への第４機能回路のコンフィグレーションをリトライするタイミングは、例えば、第２ＦＰＧＡ３２への第４機能回路のコンフィグレーションが正常に完了しなかった場合や、出力確認回路３６が第２ＦＰＧＡ３２が正常に動作しているか否かを確認した際に第２ＦＰＧＡ３２の障害を確認したタイミングである。また、出力確認回路３６が、第２ＦＰＧＡ３２は正常に動作しているか否かを確認するタイミングは、第２ＦＰＧＡ３２への第４機能回路のコンフィグレーションが完了したタイミングや、垂直同期信号のブランキング期間など、ある周期で定期的に行う。
【０１６６】
また、上述した例では、信号処理回路３０が、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、代替ＦＰＧＡ３３とを用いて動作する際の動作手順について説明したが、第３ＦＰＧＡ３７を用いて動作することも可能である。具体的には、図５の点線で示すように第３ＦＰＧＡ３７の入力端子Ｋを第２ＦＰＧＡ３２の出力端子Ｋに接続し、第３ＦＰＧＡ３７の入力端子Ｊを外部入力に接続し、第３ＦＰＧＡ３７の入力端子Ｍを代替ＦＰＧＡ３３の出力端子Ｍに接続し、第３ＦＰＧＡ３７の出力端子Ｌを選択回路３６の入力端子Ｌに接続すれば良い。また、信号処理回路３０が４つ以上のＦＰＧＡを備え、４つ以上のＦＰＧＡを用いて動作するようにしてもよい。
【０１６７】
また、上述した例では、代替ＦＰＧＡ３３の回路規模は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７との回路規模と同等以上の場合の例を用いて説明したが、これに限らない。例えば、代替ＦＰＧＡ３３の回路規模は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７との回路規模よりも小さくてもよい。この場合、代替ＦＰＧＡ３３は、代替する第１ＦＰＧＡ３１や、第２ＦＰＧＡ３２や、第３ＦＰＧＡ３７と同じ機能回路を実現する必要は無く、代替する第１ＦＰＧＡ３１や、第２ＦＰＧＡ３２や、第３ＦＰＧＡ３７の機能回路のうち、代替時に信号の出力を維持することができる最低限必要な機能回路のみを、専用のコンフィグレーションデータを用いてコンフィグレーションすればよい。これにより、信号処理回路３０は、第１ＦＰＧＡ３１と、第２ＦＰＧＡ３２と、第３ＦＰＧＡ３７との回路規模よりも回路規模が小さい代替ＦＰＧＡ３３を備える場合においても、最低限の処理を継続して行うことができる。
【０１６８】
以上、この発明の第１の実施形態から第４の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１６９】
例えば、上述した実施形態では、信号処理回路が複数のＦＰＧＡと、選択回路と、制御回路とを備えている例を用いて説明したが、これに限らない。例えば、各ＦＰＧＡと、選択回路と、制御回路とをそれぞれ１つ毎の回路ブロックと解釈して、全ての回路ブロックを１つのＦＰＧＡ内で構成する。そして、ＦＰＧＡに構成した回路が動作している際においても、ＦＰＧＡの一部分を書き換えることができるパーシャルリコンフィグレーション機能を用いて、所望の回路ブロックについて、部分的にリコンフィグレーションを実施して第１の実施形態から第４の実施形態に示した動作を行うようにしてもよい。これにより、信号処理回路に含まれるデバイスの個数を削減することができるため、基板の面積を削減することができる。また、デバイスの個数を削減することができるため、信号処理回路を生成するためのコストも削減することができる。
【符号の説明】
【０１７０】
１，２０，３０・・・信号処理回路、２，２１，３１・・・第１ＦＰＧＡ、３，２３，３３・・・代替ＦＰＧＡ、４，２４，３４・・・選択回路、５，２５，３５・・・制御回路、６，２６，３６，４１・・・出力確認回路、２２．３２・・・第２ＦＰＧＡ、２７，３７・・・第３ＦＰＧＡ、４０・・・選択器
【図１】
2012146020.tif 000003
【図２】
2012146020.tif 000004
【図３】
2012146020.tif 000005
【図４】
2012146020.tif 000006
【図５】
2012146020.tif 000007
【図６】
2012146020.tif 000008
【図７】
2012146020.tif 000009