(57)【要約】【課題】運用を停止させることなく処理内容を変更することが可能であるとともに、構成の複雑化を避けることを可能にする信号処理装置、および、その信号処理装置に用いられるプログラマブルロジックデバイスの構成方法を提供する。【解決手段】信号処理装置１０１は、処理ブロック２１〜２５と、入力回路１１〜１４と、選択回路（受信回路）３１〜３４とを備える。予備系ブロックには処理ブロックの現在の処理内容または変更後の処理内容が書き込まれる。信号処理装置１０１は、予備系ブロックに処理ブロックの現在の処理内容または変更後の処理内容が書き込まれると、処理ブロックが処理することが確定されたフレームより後のフレームを、予備系ブロックへと割り当てる。【選択図】図１
2014138382.tif 000002
【特許請求の範囲】
【請求項１】
フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
前記運用領域に対して前記データ信号を投入する入力回路とを備え、
前記信号処理装置は、
前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当てる、信号処理装置。
【請求項２】
前記フレームの境界で、前記フレームを処理すべき領域を、前記運用領域から前記予備領域へと切換える、請求項１に記載の信号処理装置。
【請求項３】
前記運用領域は、当該運用領域の使用または非使用を示す使用情報を出力し、
前記運用領域から出力される前記使用情報が、前記運用領域の使用から非使用へと変化した場合に、前記フレームを処理すべき領域を、前記運用領域から前記予備領域へと切換える、請求項１または２に記載の信号処理装置。
【請求項４】
前記運用領域および前記予備領域の各々は、
稼働または非稼動を制御するリセット信号と、
前記データ信号を受けるか否かを制御する選択信号とを受けるように構成され、
前記予備領域に前記現在の処理内容または前記変更後の処理内容を書き込むときには、前記リセット信号によって前記予備領域が非稼動状態に制御され、
前記選択信号は、前記運用領域と前記予備領域とのうちの一方に前記データ信号が入力されるように、前記運用領域と前記予備領域とを制御するための信号である、請求項１から３のいずれか１項に記載の信号処理装置。
【請求項５】
前記予備領域には、前記変更後の処理内容が書き込まれ、
前記運用領域から前記予備領域への切換後、前記運用領域は新しい予備領域として確保される、請求項１から４のいずれか１項に記載の信号処理装置。
【請求項６】
前記信号処理装置は、
前記運用領域を複数備え、
前記予備領域には、前記変更後の処理内容が書き込まれ、
前記複数の運用領域を順次選択し、前記予備領域を利用して、前記複数の運用領域の各々の処理内容を変更する、請求項１から５のいずれか１項に記載の信号処理装置。
【請求項７】
前記信号処理装置は、
前記運用領域を複数備え、
前記予備領域は、前記複数の運用領域の各々の処理内容を変更するための共通の領域として確保され、
前記予備領域には、前記現在の処理内容が書き込まれ、
前記運用領域から前記予備領域への切換後に、当該運用領域に、変更後の処理内容を書き込む、請求項１から４のいずれか１項に記載の信号処理装置。
【請求項８】
前記信号処理装置は、前記運用領域と前記予備領域との間の接続のための接続領域を含み、
前記運用領域の接続点は、前記運用領域と前記接続領域との境界に固定され、
前記予備領域の接続点は、前記予備領域と前記接続領域との境界に固定される、請求項１から７のいずれか１項に記載の信号処理装置。
【請求項９】
フレーム単位で到来するデータ信号を処理して、その処理結果を出力するように構成されたプログラマブルロジックデバイスの構成方法であって、
前記プログラマブルロジックデバイスは、
前記データ信号を処理するための運用領域および、前記運用領域のための予備領域として確保された処理領域と、
前記運用領域に対して前記データ信号を投入する入力回路とを備える信号処理装置として構成され、
前記構成方法は、
前記予備領域に、前記運用領域の現在の処理内容または変更後の処理内容を書き込むステップと、
前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当てるステップとを備える、プログラマブルロジックデバイスの構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイスを用いた信号処理装置、およびプログラマブルロジックデバイスの構成方法に関する。
【背景技術】
【０００２】
近年、プログラマブルロジックデバイス（ＰＬＤ）が多くの電子機器に搭載されている。ＰＬＤの１つにＦＰＧＡ（Field  Programmable  Gate  Array）がある。ＦＰＧＡは、論理回路を記述する回路情報を読み込むことにより、回路構成および機能を再構成することができる半導体集積回路である。
【０００３】
たとえば特開２００８−１７７９００号公報（特許文献１）は、ルータに用いられるＦＰＧＡを開示する。ルータのコンフィグレーションコントロール部は、ＦＰＧＡのコンフィグレーションデータをアップグレードする場合に、ルータからのデータ送信を一時的に停止させる。このためコンフィグレーションコントロール部は、バックプレッシャ要求信号を生成して論理ゲート部に送出する。
【０００４】
特開２０１０−７４４６１号公報（特許文献２）は、デバイスの運用を中断することなくデバイスの機能を更新するための方法を開示する。この開示によれば、ＦＰＧＡは、信号を複数の論理回路に分配する分配回路部と、複数の論理回路からの出力のうちのいずれかを選択するセレクタ回路部と、セレクタ回路部を制御する切り替え制御部とを備える。ＦＰＧＡの機能を追加する場合には、ＦＰＧＡの内部の空き領域を利用して新規の論理回路が生成される。新規の論理回路は、既に生成された分配回路部およびセレクタ回路部に接続される。
【０００５】
特開２００２−９６１３号公報（特許文献３）は、動作中に回路機能を部分的に再構成することができるプログラマブル論理回路装置を開示する。特開２００１−１３６０５８号公報（特許文献４）は、ＦＰＧＡにおいて、故障部分に該当する機能を、論理回路データ内の空き部分で代用する技術を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１７７９００号公報
【特許文献２】特開２０１０−７４４６１号公報
【特許文献３】特開２００２−９６１３号公報
【特許文献４】特開２００１−１３６０５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特開２００８−１７７９００号公報（特許文献１）によれば、ＦＰＧＡのコンフィグレーションデータをアップグレードする際に、ルータからのデータ送信が一時的に停止する。しかしながらルータからのデータ送信だけでなく、ルータのデータ受信も一時的に停止させる必要があると考えられる。したがって、ルータが受信すべきデータを一時的に蓄えるためのバッファが必要になる。エンドユーザに対するサービスを停止させることなく、コンフィグレーションデータをアップグレードするためには、大容量のバッファが必要である。このような大容量のバッファを不要とするためには、ルータの運用を停止させることなくＦＰＧＡのコンフィグレーションデータをアップグレードすることが必要である。
【０００８】
特開２０１０−７４４６１号公報（特許文献２）によれば、ＦＰＧＡの内部の空き領域を利用して、新規の論理回路が生成される。したがって、新規の論理回路は、分配回路部あるいはセレクタ回路部が形成された領域から、大きく離れている可能性がある。ＦＰＧＡでは、たとえばスイッチマトリクスの設定によって、ＦＰＧＡの内部の配線が決定される。したがって、新規の論理回路が分配回路部あるいはセレクタ回路部が形成された領域から大きく離れていると、ＦＰＧＡの内部の配線が複雑化する可能性が高い。配線の複雑化により、たとえば信号の伝送遅延が生じる可能性がある。
【０００９】
このように、運用を停止させることなく処理内容を変更するためのプログラマブルロジック回路の構成方法が求められている。さらに、プログラマブルロジックデバイスの処理内容が変更された後に、デバイスの内部構成が複雑になることを避けることも求められる。しかしながら、上記の特許文献１〜４はこれらの課題を同時に解決するための具体的方法について示していない。
【００１０】
本発明の目的は、運用を停止させることなく処理内容を変更することが可能であるとともに、構成の複雑化を避けることを可能にする信号処理装置、および、その信号処理装置に用いられるプログラマブルロジックデバイスの構成方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明のある局面に係る信号処理装置は、フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置である。信号処理装置は、データ信号を処理するための運用領域、および運用領域のための予備領域として確保された処理領域と、運用領域に対してデータ信号を投入する入力回路とを備える。運用領域は、当該運用領域の使用または非使用を示す使用情報を出力する。信号処理装置は、運用領域の処理を変更する場合において、予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおく。信号処理装置は、予備領域に現在の処理内容または変更後の処理内容が書き込まれると、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てる。
【００１２】
この構成によれば、予備領域に運用領域の現在の処理内容または変更後の処理内容が書き込まれる。予備領域に運用領域の現在の処理内容が書き込まれた場合には、フレームを処理すべき領域を運用領域から予備領域に切り換えることで、現在の処理の内容を維持したまま運用領域の処理内容を変更することができる。一方、予備領域に運用領域の変更後の処理内容が書き込まれた場合には、フレームを処理すべき領域を運用領域から予備領域に切り換えることで、処理内容を直ちに変更することができる。さらに、運用領域が処理することが確定されたフレームより後のフレームが予備領域に割り当てられることで、フレームの流れを停止させることなく、フレームを処理すべき領域を運用領域から予備領域へと切り換えることが可能になる。したがって、無瞬断で処理内容を変更することができる。
【００１３】
さらに、処理領域として運用領域および少なくとも１つの予備領域が確保されている。信号処理装置は、予備領域に、運用領域の現在の処理内容または変更後の処理内容を書き込むことにより、当該予備領域を、いわば運用領域のバックアップ領域として再構成したり、新しい運用領域として再構成したりすることができる。これにより、処理領域として確保された領域の中で、データ信号を処理すべき運用領域を切換えることができる。したがって、データ信号を処理すべき運用領域を切換えても配線が複雑化することを回避することができる。
【００１４】
予備領域を、運用領域のバックアップのための領域として再構成した場合、運用領域の処理内容を予備領域に一旦退避させて、当該運用領域の処理を更新することができる。運用領域の処理の更新が失敗した場合には、予備領域に処理を切換えることによって、運用への影響を最小限とすることができる。いずれの場合にも、予め確保された領域を変更する必要がないため、領域どうしを接続するための配線が複雑化することを回避することができる。
【００１５】
「運用領域が処理することが確定されたフレーム」とは、運用領域が処理中または処理を終了させたフレームであってもよく、運用領域がこれから処理することが予定されているフレームであってもよい。
【００１６】
好ましくは、信号処理装置は、フレームの境界で、フレームを処理すべき領域を、運用領域から予備領域へと切換える。
【００１７】
この構成によれば、現在の処理内容または変更後の処理内容が書き込まれた予備領域にフレームを投入することができる。したがって、フレームを処理できない時間が生じることを防ぐことができる。
【００１８】
好ましくは、運用領域は、当該運用領域の使用または非使用を示す使用情報を出力する。信号処理装置は、運用領域から出力される使用情報が、運用領域の使用から非使用へと変化した場合に、フレームを処理すべき領域を、運用領域から予備領域へと切換える。
【００１９】
この構成によれば、運用領域の状態が非使用状態であるときにおいて、フレームを処理すべき領域が、運用領域から予備領域へと切換えられる。運用領域においてフレームの処理が終了すると、運用領域が非使用状態になる。つまり、運用領域が非使用状態であるときには、次のフレームがまだ信号処理装置に到来していない。この状態においてフレームを処理すべき領域を、運用領域から予備領域へと切換えることで、次のフレームは予備領域によって処理される。したがって、フレームの処理が一時的に停止されることを防ぐことができる。
【００２０】
さらに、運用領域から出力される使用情報が運用領域の使用から非使用へと変化した場合、フレームの境界となるタイミングで、フレームを処理すべき領域を、運用領域から予備領域へと切換えてもよい。この場合には、運用領域が処理することが確定されたフレームより後のフレームを、より確実に予備領域に割り当てることができる。
【００２１】
好ましくは、運用領域および予備領域の各々は、稼働または非稼動を制御するリセット信号と、データ信号を受けるか否かを制御する選択信号とを受けるように構成される。予備領域に現在の内容または変更後の処理内容を書き込むときには、リセット信号によって予備領域が非稼動状態に制御される。選択信号は、運用領域と予備領域とのうちの一方にデータ信号が入力されるように、運用領域と予備領域とを制御するための信号である。
【００２２】
この構成によれば、予備領域の再構成が終了した後に誤動作する（たとえば選択された運用領域が処理中であるにもかかわらず、データ信号を処理する）ことを回避することができる。したがって、フレームの境界で、運用領域から予備領域へとデータ信号を処理すべき領域を切換えることができる。さらに選択信号によって、運用領域と予備領域との両方にデータ信号が入力されることを回避できる。したがって、予備領域の再構成が終了した後の誤動作をより確実に防ぐことができる。
【００２３】
好ましくは、予備領域には、変更後の処理内容が書き込まれる。運用領域から予備領域への切換後、運用領域は新しい予備領域として確保される。
【００２４】
この構成によれば、たとえば再構成時にエラーが発生した場合に、運用領域を再度使用することができる。したがって再構成時にエラーが発生しても、運用への影響を小さくすることができる。
【００２５】
好ましくは、信号処理装置は、運用領域を複数備える。予備領域には、変更後の処理内容が書き込まれる。信号処理装置は、複数の運用領域を順次選択し、予備領域を利用して、複数の運用領域の各々の処理内容を変更する。
【００２６】
この構成によれば、処理領域として確保された領域の中で、複数の運用領域の処理を順次更新することができる。したがって、データ信号を処理すべき運用領域を切換えても配線が複雑化することを回避することができる。
【００２７】
好ましくは、信号処理装置は、運用領域を複数備える。予備領域は、複数の運用領域の各々の処理内容を変更するための共通の領域として確保される。予備領域には、現在の処理内容が書き込まれる。信号処理装置は、運用領域から予備領域への切換後に、運用領域に、変更後の処理内容を書き込む。
【００２８】
この構成によれば、運用領域の処理内容を予備領域に一旦退避させて、その運用領域の処理内容を変更することができる。予備領域においてフレームを処理することにより現在の処理内容を維持しながら、運用領域の処理内容を更新することができる。
【００２９】
また、複数の運用領域の間で実使用領域の大きさが異なる可能性がある場合にも、処理領域の全体のサイズが増大するのを抑えることができる。複数の運用領域のうちの１つを予備領域として使用する場合、複数の運用領域のサイズを同じにするとともに、そのサイズを最大の実使用領域に応じたサイズにする必要がある。上記構成によれば、たとえば予備領域のサイズは複数の運用領域のサイズのうちの最大のサイズと同じであればよい。したがって、処理領域のサイズの増大を抑制することができる。
【００３０】
好ましくは、信号処理装置は、運用領域と予備領域との間の接続のための接続領域を含む。運用領域の接続点は、運用領域と接続領域との境界に固定される。予備領域の接続点は、予備領域と接続領域との境界に固定される。
【００３１】
この構成によれば、運用領域の更新によって、その運用領域の内部の回路構成が変更されたとしても、その運用領域と他の領域（予備領域あるいは別の運用領域）とを接続するための接続点の位置が変更されることを回避できる。したがって、領域どうしを接続するための配線が複雑化することを防ぐことができる。
【００３２】
本発明の他の局面に係るプログラマブルロジックデバイスの構成方法は、フレーム単位で到来するデータ信号を処理して、その処理結果を出力するように構成されたプログラマブルロジックデバイスの構成方法である。プログラマブルロジックデバイスは、データ信号を処理するための運用領域および、運用領域のための予備領域として確保された処理領域と、運用領域に対してデータ信号を投入する入力回路とを備える信号処理装置として構成される。構成方法は、予備領域に、運用領域の現在の処理内容または変更後の処理内容を書き込むステップと、予備領域に現在の処理内容または変更後の処理内容が書き込まれると、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てるステップとを備える。
【００３３】
この構成によれば、運用領域の状態が非使用状態であるときにおいて、フレームを処理すべき領域が、運用領域から予備領域へと切換えられる。次のフレームは予備領域によって処理される。したがって、フレームを処理できない時間が生じることを防ぐことができる。さらに、データ信号を処理すべき領域を切換えても配線が複雑化することが回避されるように信号処理装置を構成することができる。
【発明の効果】
【００３４】
本発明によれば、運用しながら処理内容を停止させることなく処理内容を変更することができる。さらに本発明によれば、プログラマブルロジックデバイスの内部の配線の複雑化を避けることができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態１に係る信号処理装置の機能ブロック図である。
【図２】図１に示された不揮発性メモリに格納されるデータを模式的に示した図である。
【図３】信号処理装置の運用中に１つの処理ブロックの機能を変更するための方法を説明した図である。
【図４】図３に示された処理ブロック２４，２５およびその周囲の領域を示した図である。
【図５】図４に示された処理ブロック２４，２５に入力される信号および処理ブロック２４，２５から出力される信号を説明するためのタイミング図である。
【図６】本発明の実施の形態１に係る信号処理装置の構成方法の一例を説明したフローチャートである。
【図７】図６に示した構成方法によって再構成された信号処理装置１０１のブロック図である。
【図８】本発明の実施の形態１に係る信号処理装置の構成方法の他の例を説明したフローチャートである。
【図９】本発明の実施の形態２に係る信号処理装置の構成方法の一例を説明したフローチャートである。
【図１０】本発明の実施の形態２に係る信号処理装置に異常が発生した場合の処理を説明したフローチャートである。
【図１１】本発明の第３の実施形態に係る信処理装置の機能ブロック図である。
【図１２】本発明の実施の形態３に係る再構成方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００３６】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付して、それらについての詳細な説明は繰り返さない。
【００３７】
［実施の形態１］
図１は、本発明の実施の形態１に係る信号処理装置の機能ブロック図である。図１を参照して、本発明の実施の形態１に係る信号処理装置１０１は、信号Ｉｎ１〜Ｉｎ４を並列に受信することができる。信号処理装置１０１は、信号Ｉｎ１〜Ｉｎ４の各々に対して所定の処理を実行する。信号処理装置１０１は、信号Ｉｎ１〜Ｉｎ４に対する処理結果を信号Ｏｕｔ１〜Ｏｕｔ４として出力する。
【００３８】
上記の信号Ｉｎ１〜Ｉｎ４は、フレーム単位で到来するデータ信号である。「所定の処理」は、たとえば画像処理あるいは通信処理を含むことができるが、これらに限定されるものではない。信号処理装置１０１は、処理結果として、処理後のデータを出力する。あるいは、信号処理装置１０１は、所定の処理として、たとえばデータの妥当性の判断などの任意の判断処理を実行してもよい。このような処理の場合、信号処理装置１０１は、その判断結果を処理結果として出力することができる。
【００３９】
本発明の実施の形態では、信号処理装置１０１は、プログラマブルロジックデバイスによって実現される。本発明では、「プログラマブルロジックデバイス」とは、製造後にユーザにおいて内部の回路構成を定義あるいは変更できる装置であり、一般的には半導体集積回路によって実現される。信号処理装置１０１は、プログラマブルロジックデバイスの一種であるＦＰＧＡによって実現可能である。ただし本発明に係る信号処理装置は、ＦＰＧＡ以外の回路を含んでもよい。
【００４０】
信号処理装置１０１は、起動時（電源オン時）に、ＣＰＵ（Central  Processing  Unit）１０２から、設定情報（コンフィギュレーション情報）をロードする。具体的には、たとえばフラッシュメモリなどの不揮発性メモリ１０３に、ＦＰＧＡの設定情報が予め格納される。信号処理装置１０１に電源を投入したとき、あるいは信号処理装置１０１をリセットしたときに、ＣＰＵ１０２は、設定情報を不揮発性メモリ１０３から読み出す。ＣＰＵ１０２は、その情報をＦＰＧＡの内部に転送してＦＰＧＡを動作可能な状態にする。ＦＰＧＡの設定に関する、この一連の処理は、一般に「コンフィグレーション」と呼ばれる。以後の説明では、上記の「設定情報」のことを「コンフィグレーションデータ」と呼ぶ。
【００４１】
この明細書では、「コンフィグレーション」に代えて「構成」あるいは「再構成」との用語を用いる場合もある。これらの用語は、すべて上述の処理を指す。
【００４２】
この実施の形態では、信号処理装置１０１は、部分的に再構成可能なＦＰＧＡによって実現可能である。したがって、信号処理装置１０１を運用させながら、その処理内容を更新することができる。ＦＰＧＡの部分的再構成とは、ＦＰＧＡの特定の領域を再構成できる機能を意味する。
【００４３】
信号処理装置１０１は、入力回路１１〜１４と、処理ブロック２１〜２５と、選択回路（受信回路）３１〜３４と、ブロック制御部４０とを備える。以後の説明との対応のために、図１では、処理ブロック２１〜２５が、それぞれ「ブロック１」、「ブロック２」、「ブロック３」、「ブロック４」、「ブロック５」と示される。
【００４４】
入力回路１１〜１４は、信号Ｉｎ１〜Ｉｎ４をそれぞれ受ける。各々の入力回路は、入力されたデータ信号を、そのデータ信号を処理すべきブロック（領域）に対して投入する。たとえば入力回路に入力される信号に、２つの処理ブロックのうちのどちらに振り分けるかを決定するための信号を含めることができる。これにより各々の入力回路は、入力信号を、２つの処理ブロックのうちの一方に振り分けることができる。
【００４５】
上記の実施の形態では、入力回路１１〜１４の各々を、複数のブロックの中から、データ信号を処理すべきブロックを選択するセレクタとして構成することができる。また、入力回路１１〜１４の各々を、データ信号を複数のブロックに同時に投入する回路として構成してもよい。すなわち、入力回路１１〜１４の各々を、信号を分配させる分配回路として構成することもできる。
【００４６】
図１に示された構成によれば、処理ブロック２１〜２４の各々が運用領域に相当し、処理ブロック２５が予備領域に相当する。処理ブロック２１〜２５が構成された領域は、運用領域および予備領域が確保された処理領域に相当する。この実施の形態では、処理領域として予め確保された領域を変化させることなく、ブロックの処理内容（処理ブロックの機能と読み替えることもできる）を更新することができる。これは、ＦＰＧＡの部分的再構成によって実現可能である。このような更新処理については後に詳細に説明する。なお、この実施の形態では、「処理の変更」の１つの形態として、処理内容を更新することが示されている。しかしながら「処理の変更」は、処理内容の更新に限定されず、一旦更新された処理内容を元の処理（更新前の処理）に戻すことを含んでもよい。
【００４７】
図１に示された構成では、運用系の処理ブロックの個数が４であり予備系の処理ブロックの個数が１であるが、このように運用系の処理ブロックおよび予備系の処理ブロックの個数が限定されるものではない。予備系の処理ブロックは、最低１つあればよい。また、運用系の処理ブロックの個数も最低１つあればよい。
【００４８】
信号処理装置１０１は、たとえば画像処理装置として実現される。この実現例では、運用系の処理ブロックをデジタルフィルタとして構成することができる。別の例では、信号処理装置１０１は、通信装置に含まれる装置として実現できる。より具体的には、信号処理装置１０１は、たとえば、イーサーネット（登録商標）フレームのＬ２（レイヤー２；データリンク層）スイッチに含まれる信号処理装置として用いることができる。この実現例では、信号処理装置１０１は、たとえばフレーム識別、フレーム変換、および振り分け処理などの各種の処理を実行することができる。
【００４９】
処理ブロック２１〜２４（ブロック１〜４）は、互いに独立に処理を実行することができる。この実施の形態では、処理ブロック２１〜２４は互いに異なる処理を実行してもよく、同じ処理を並列に実行してもよい。
【００５０】
各々の処理ブロックは２つの入力ポート（「ポートＡ」および「ポートＢ」）と２つの出力ポート（「ポートＣ」および「ポートＤ」）とを有する。各々の処理ブロックは、ポートＡに入力された信号に対して所定の処理を実行して、その処理結果をポートＣから出力する。同様に、各々の処理ブロックは、ポートＢに入力された信号に対して所定の処理を実行して、その処理結果をポートＤから出力する。ただし、ポートＡおよびポートＢのうちのどちらか一方の入力ポートに信号が入力された場合には、各々の処理ブロックは、その信号の受信が終わるまで、他方のポートへの入力を無視する、あるいは他方のポートへの入力を受け付けない。
【００５１】
さらに、処理ブロック２１〜２５は、エンプティ信号Ｅｍｐ１〜Ｅｍｐ５をそれぞれ出力する。エンプティ信号Ｅｍｐ１〜Ｅｍｐ５は、ブロック制御部４０に入力される。エンプティ信号は、当該処理ブロックが処理を終わっている（処理を行なっていない）状態を示す信号である。言い換えると、エンプティ信号Ｅｍ１〜Ｅｍｐは、該当のブロックの使用または非使用を示す使用情報に相当する。
【００５２】
選択回路３１〜３４は、２つの処理ブロックのうちの一方から信号を受けて、その信号を信号処理装置１０１の外部へと出力する。各々の選択回路は、２つの処理ブロックのうちの一方からの信号の受信を開始すると、その信号を受け続ける。すなわち、各々の選択回路は、一方の信号の受信が完了するまで、他方の信号を受信しない。つまり、各々の選択回路は、２つの信号のうちの１つの信号を排他的に受信する。これにより、ブロックの処理結果（たとえば処理後のデータ）の損失を防止することができる。
【００５３】
たとえば選択回路３１は、処理ブロック２１，２２に対応して設けられる。選択回路３１は、処理ブロック２１（ブロック１）のポートＤから出力される信号、あるいは処理ブロック２２（ブロック２）のポートＣから出力される信号を受ける。選択回路３１は、処理ブロック２１のポートＤから出力される信号の受信を開始すると、その信号の受信を完了するまでは、処理ブロック２２のポートＣから出力される信号を受信しない。逆に、選択回路３１は、処理ブロック２２のポートＣから出力される信号の受信を開始すると、その信号の受信を完了するまでは、処理ブロック２１のポートＣから出力される信号を受信しない。
【００５４】
ブロック制御部４０は、処理ブロック２１〜２５からエンプティ信号Ｅｍｐ1〜Ｅｍｐ５をそれぞれ受けて、処理ブロック２１〜２５の処理内容を更新するための処理を実行する。具体的には、ブロック制御部４０は、各処理ブロックの稼働および非稼動を制御する。さらにブロック制御部４０は、選択信号ＳＥＬ１〜ＳＥＬ４を出力して、更新前の処理ブロックと更新後の処理ブロックとを切換える。なお、選択信号ＳＥＬ１〜ＳＥＬ４はＣＰＵ１０２から送信されてもよい。選択信号ＳＥＬ１〜ＳＥＬ４は、データ信号を受けるか否かを制御する選択信号である。
【００５５】
不揮発性メモリ１０３は、ＣＰＵ１０２により実行されるプログラムを記憶する。さらに、不揮発性メモリ１０３は、ＦＰＧＡの構成のコンフィグレーションデータを記憶する。不揮発性メモリ１０３は、情報を書き換えることができるとともにその情報を不揮発的に記憶することができる記憶装置であり、たとえばフラッシュメモリである。
【００５６】
この実施の形態では、不揮発性メモリ１０３の記憶領域は、ＦＰＧＡを正しく起動させるためのコンフィグレーションデータを記憶する領域と、新しいコンフィグレーションデータを書き込むとともに記憶するための領域とを含む。さらにこの実施の形態では、部分的にＦＰＧＡを再構成するためのデータを書き込むとともに格納する領域が不揮発性メモリ１０３に設けられる。
【００５７】
図２は、図１に示された不揮発性メモリに格納されるデータを模式的に示した図である。図２を参照して、不揮発性メモリ１０３は、「ＦＰＧＡ全体コンフィグレーションデータ（１）」と、「ＦＰＧＡ全体コンフィグレーションデータ（２）」と、「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック１）」と、「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック２）」と、「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック３）」と、「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック４）」と、「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック５）」とを含む。
【００５８】
「ＦＰＧＡ全体コンフィグレーションデータ（１）」は、ＦＰＧＡを正しく起動させるためのコンフィグレーションデータである。「ＦＰＧＡ全体コンフィグレーションデータ（２）」は、「ＦＰＧＡ全体コンフィグレーションデータ（１）」の予備のデータである。「ＦＰＧＡ全体コンフィグレーションデータ（１）」を用いてＦＰＧＡを起動させたものの、ＦＰＧＡが正常に起動できなかった場合には、「ＦＰＧＡ全体コンフィグレーションデータ（２）」を用いてＦＰＧＡを起動させる。
【００５９】
「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック１）」〜「ＦＰＧＡ部分コンフィグレーションデータ＋座標データ（ブロック５）」は、各ブロックの論理回路の構成を定義するためのコンフィグレーションデータ、および、そのブロックの平面上の領域を指定するための座標データを含む。
【００６０】
図３は、信号処理装置の運用中に１つの処理ブロックの機能を変更するための方法を説明した図である。図３を参照して、たとえば処理ブロック２４（ブロック４）の処理内容を更新する。この場合、予備領域である処理ブロック２５（ブロック５）に、処理ブロック２４の新しい処理内容が書き込まれる。これにより処理ブロック２５が、いわば新しいブロック４（新しい運用領域）として再構成される。処理ブロック２５は、新しい処理内容への切換要求を出力する。ただし処理ブロック２５は、非稼動状態（リセット状態）である。信号処理装置１０１（たとえば入力回路１４）がフレームの先頭を受信したときに、切換要求が生じている場合、ブロック制御部４０は、選択信号ＳＥＬ４を制御して、次に到来する信号Ｉｎ４（フレーム）の受信を処理ブロック２５に行なわせる。
【００６１】
一方、処理ブロック２４は、最後に入力されたフレームの処理が完了すると、データを受信しなくなるとともに、処理が完了したことを示すエンプティ信号Ｅｍｐ４を出力する。応じてブロック制御部４０は、処理ブロック２４（ブロック４）をリセット状態に制御する。
【００６２】
図４は、図３に示された処理ブロック２４，２５およびその周囲の領域を示した図である。図４を参照して、処理ブロック２４，２５は、矩形領域として予め設定される。処理ブロック２４は、実使用領域２４ａおよび余裕領域２４ｂを含む。処理ブロック２４，２５の周囲の領域は、２つの処理ブロック（たとえば処理ブロック２４，２５）の接続のための接続領域１１１として割り当てられる。
【００６３】
図が煩雑になるため図４には詳細に示されていないが、信号処理装置１０１として示された領域には、種々の論理回路を構成するための回路素子および配線のための素子（たとえばスイッチマトリクスなど）が配置される。それらの素子は、コンフィグレーション情報にしたがって互いに接続される。
【００６４】
実使用領域２４ａは、処理ブロック２４の機能を担う部分である。余裕領域２４ｂは、処理ブロック２４の機能変更あるいは機能拡張に備えて確保された領域である。実使用領域２４ａおよび余裕領域２４ｂには、論理回路を構成するための様々な回路素子およびスイッチマトリクスなどが配置されている。このように、実使用領域よりも大きい領域が処理ブロックのための領域として、座標データによって規定される。これにより、機能の変更あるいは機能の拡張によって実使用領域の面積が大きくなる場合にも、処理ブロックの面積を変更する必要はない。すなわち、処理ブロックとして確保された領域の中において、配線の変更によって機能の変更あるいは拡張を行なうことができる。したがって、ブロックどうしの配線が複雑化することを回避できる。
【００６５】
さらに、各々の処理ブロックのポートＡ、ポートＢ、ポートＣおよびポートＤは、当該処理ブロックと接続領域との接続点（たとえば接続点２４１）に設けられる。具体的には、処理ブロックの１つの辺に沿ってポートＡおよびポートＢが配置される。その辺と反対側に位置する処理ブロックの１つの辺にポートＣおよびポートＤが配置される。すなわち運用領域（処理ブロック２４）の接続点は、その運用領域と接続領域１１１との境界に固定される。予備領域（処理ブロック２５）の接続点は、その予備領域と接続領域１１１との境界に固定される。
【００６６】
実使用領域２４ａの境界にポートを設けた場合、実使用領域２４ａの拡張に伴ってポートの位置を変更する必要がある。このために２つの処理ブロックの間の配線が複雑化するおそれがある。処理ブロック２４として予め確保された領域と接続領域との境界にポートが配置されているため、その領域の内部の回路構成が変更されたとしても、その領域と他の領域（運用領域または予備領域）とを接続するための接続点の位置が変更されることを回避できる。したがって、領域どうしを接続するための配線が複雑化することを防ぐことができる。
【００６７】
処理ブロック２４，２５の各々は、ポートＡ〜ポートＤに加えて、リセット信号を受けるためのポート（Ｒｅｓｅｔ）と、選択信号ＳＥＬ４を受けるためのポート（Ｄｉｓａｂｌｅ＿ＡおよびＥｎａｂｌｅ＿Ｂ）とを備える。リセット信号は、処理ブロックを稼働状態および非稼動状態（リセット状態）の間で切換えるための制御信号である。
【００６８】
選択信号ＳＥＬ４は、処理ブロック２４のポートＥｎａｂｌｅ＿Ｂおよび処理ブロック２５のポートＤｉｓａｂｌｅ＿Ａに入力される。選択信号ＳＥＬ４の論理レベルは、ロー（Ｌｏｗ）とハイ（Ｈｉｇh）との間で切換わる。たとえば選択信号ＳＥＬ４の論理レベルがローである場合、処理ブロック２４のポートＥｎａｂｌｅ＿Ｂがローレベルに設定される。この場合には、フレームの先頭が処理ブロック２４に到来したとしても、処理ブロック２４はそのフレームを受信しない。一方、処理ブロック２５のポートＤｉｓａｂｌｅ＿Ａもローレベルに設定される。処理ブロック２５は、フレームを受信可能な状態となる。したがって、フレームの先頭が処理ブロック２５に到来したときに、処理ブロック２５は、そのフレームを受信する。
【００６９】
図５は、図４に示された処理ブロック２４，２５に入力される信号および処理ブロック２４，２５から出力される信号を説明するためのタイミング図である。図５を参照して、時刻ｔ１において、信号Ｉｎ４が信号処理装置１０１に到来する。時刻ｔ１では、選択信号ＳＥＬ４がハイである。処理ブロック２４（以後、「ブロック４」と呼ぶ）のポートＥｎａｂｌｅ＿Ｂがハイであるので、ブロック４は、そのフレームを受信できる。時刻ｔ１において、ブロック４は、エンプティ信号Ｅｍｐ４をハイからローに変化させる。エンプティ信号Ｅｍｐ４がローである状態とは、ブロック４が、信号Ｉｎ１（フレーム）を処理している状態であることを示す。一方、処理ブロック２５（以後、「ブロック５」と呼ぶ）のポートＤｉｓａｂｌｅ＿Ａがハイであるので、ブロック５はそのフレームを受信しない。
【００７０】
時刻ｔ２において、選択信号ＳＥＬ４がハイからローに切換わる。これにより、ブロック５は新しい処理を実行できる。しかしながらブロック４が時刻ｔ１においてフレームの受信を開始したため、そのフレームの最後（「Ｅ」）までフレームを受信し続ける。すなわち、このフレームは、運用領域（処理ブロック２４）によって処理することが確定されたフレームである。時刻ｔ３において、ブロック４は、フレームの受信（および処理）を完了するとともに、エンプティ信号Ｅｍｐ４をローからハイへと切換える。
【００７１】
時刻ｔ４において、次のフレームが信号処理装置１０１に到来する。時刻ｔ４では、選択信号ＳＥＬ４がローである。ブロック４のポートＥｎａｂｌｅ＿Ｂがローであるので、ブロック４は、そのフレームを受信しない。一方、ブロック５のポートＤｉｓａｂｌｅ＿Ａがローであるので、ブロック５は、そのフレームを受信する。時刻ｔ４において、ブロック５は、当該フレームを処理するとともに、エンプティ信号Ｅｍｐ５をハイからローへと変化させる。つまり、ブロック５によって処理されるフレームは、ブロック４（運用領域）によって処理することが確定されたフレームより後のフレームである。
【００７２】
時刻ｔ５において、ブロック５は、フレームに対する処理を終了して、エンプティ信号Ｅｍｐ５をローからハイへと変化させる。
【００７３】
図５に示されるように、あるブロックがフレームを一旦受信すると、当該ブロックは、そのフレームを受信し続ける。フレームの受信の途中において選択信号が変化した（すなわち、処理ブロックの処理内容の更新が指示された）場合には、そのフレームの受信完了後に、フレームを処理すべきブロックが、現在のブロックから新しいブロックへと切り換えられて、次のフレームからは新しいブロックが処理を行なう。処理内容をフレームの境界で更新することができるので、運用しながら処理内容を停止させることなく処理内容を変更することができる。
【００７４】
無瞬断で処理内容を更新するために、たとえばブロック制御部４０が、連続する２つのフレームの間の期間に現在の処理ブロックから新しい処理ブロックへ切換えることが考えられる。しかしながら、処理ブロックを切換えるためにＣＰＵ１０２が要する時間よりも、連続する２つのフレームの間の時間間隔が短くなる可能性がある。このような場合、ＦＰＧＡの処理を一旦停止させる必要が生じる。さらに、ＣＰＵ１０２あるいはブロック制御部４０は、信号処理装置１０１に到来するフレームを常に監視する必要がある。このためＣＰＵ１０２あるいはおよび信号処理装置１０１の負荷が増大する。
【００７５】
この実施の形態では、予備系のブロックに新しい処理内容を書き込むことで、予備系のブロックを予め新しい処理ブロックとして準備する。予備系のブロックへの処理の書き込みが完了すると、その予備系ブロックは、切換要求を出力する。ブロック制御部４０は、その切換要求に応じて、選択信号をハイレベルからローレベルに変化させる。ただし、処理ブロックは、フレームを一旦受け始めると、そのフレームの受信が完了するまで、当該フレームを受け続ける。したがって、その処理ブロックによって処理されることが確定されたフレームより後のフレームが、新しい処理ブロック（予備系ブロック）で処理される。
【００７６】
したがって、ブロック制御部４０は、選択信号ＳＥＬを任意のタイミングでハイレベルからローレベルに切り換えることができる。すなわち、ブロック制御部４０は、新しいブロックを再構成した後、任意のタイミングで、現在のブロックから新しいブロックへの切換えを指示することができる。本実施の形態によれば、任意のタイミングで新しいブロックへの切換えが指示されても、フレームの境界で処理内容を更新することができる。したがって無瞬断で処理内容を更新できる。
【００７７】
図６は、本発明の実施の形態１に係る信号処理装置の構成方法の一例を説明したフローチャートである。信号処理装置の構成方法とは、上記したような、ブロックの処理内容の変更に相当する。図６を参照して、ステップＳ１において、変数ｎの初期値が５に設定される。変数ｎの初期値は、運用領域および予備領域として予め確保される領域の数である。たとえば変数ｎは、ＣＰＵ１０２の内部に記憶される。
【００７８】
次にステップＳ２において、ＣＰＵ１０２は、不揮発性メモリ１０３に、更新後の処理ブロックの部分コンフィグレーションデータ（ブロック１〜ブロック５）を書き込む（図２を参照）。ただし、各ブロックの部分コンフィグレーションデータを不揮発性メモリ１０３に書き込んだ後も、各ブロックの領域を指定するための座標データは変化しない。
【００７９】
ステップＳ３において、ブロックｎが更新される。たとえばｎ＝５の場合には、ブロック５（処理ブロック２５）の処理内容が更新される。ブロック１〜４（処理ブロック２１〜２４）は運用中である。ＣＰＵ１０２は、不揮発性メモリ１０３から、ブロック５の座標データを取得する。
【００８０】
なお、ブロック５を更新する間、ブロック５は、リセット状態、すなわち非稼動状態に制御される。これにより、ブロック５の更新完了後にブロック５がすぐに稼働することを防ぐことができる。したがって誤作動を防ぐことができる。ＣＰＵ１０２は、ブロック５の座標データに基づいて、不揮発性メモリ１０３から読出したコンフィグレーションデータに基づいてブロック５に新しい処理内容を書き込む。これによりブロック５が再構成する。すなわち部分的再構成が実行される。
【００８１】
ブロック５の再構成が完了すると、ステップＳ４において、ブロック制御部４０は、選択信号ＳＥＬ（ｎ−１）を送信する。たとえばｎ＝５の場合、選択信号ＳＥＬ４がハイからローへと切換わる。すなわちローレベルの選択信号ＳＥＬ４がブロック制御部４０からブロック４，５に送信される。これにより、運用系ブロック（ブロック４）が処理することが確定されたフレームより後のフレームが、予備系ブロック（ブロック５）に割り当てられる。つまり、ステップＳ４は、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てるステップに相当する。
【００８２】
ステップＳ５において、ブロック制御部４０は、ブロック４からのエンプティ信号Ｅｍｐ４に基づいて、ブロック４がエンプティであるかどうかを判定する。「エンプティである」とは、非稼動状態、すなわちフレームを処理していない状態に相当する。ブロック４が稼働中である場合、すなわちブロック４がエンプティでない場合（ステップＳ５においてＮＯ）、ステップＳ５の処理が繰り返される。したがってブロック制御部４０は、ブロック４がエンプティとなるまで待機する。ブロック４がエンプティになった場合（ステップＳ５においてＹＥＳ）、処理はステップＳ６に進む。
【００８３】
ステップＳ６において、ブロック制御部４０は、ブロック（ｎ−１）をリセット状態にする。ｎ＝５の場合、ブロック制御部４０は、ブロック４をリセット状態にする。ブロック４は新しい予備領域として確保される。
【００８４】
ステップＳ７において、たとえばＣＰＵ１０２は、変数ｎから１を減じる。ステップＳ８において、ＣＰＵ１０２は、ｎが１であるかどうかを判定する。ｎ＝１でない場合（すなわちｎが１より大きい場合）、処理はステップＳ３に戻される。一方、ｎ＝１である場合、全体の処理が終了する。
【００８５】
このような処理によって、複数の運用領域が順次選択されて、予備領域を利用して、複数の運用領域の各々の処理内容が変更される。
【００８６】
図７は、図６に示した構成方法によって再構成された信号処理装置１０１のブロック図である。図１および図７を参照して、ブロック５、ブロック４、ブロック３、およびブロック２が再構成されて処理内容が更新される。ブロック５、ブロック４、ブロック３、およびブロック２は新しい運用系ブロックとなる。ブロック１はリセット状態のまま、予備系ブロックとして保たれる。
【００８７】
次にブロック１〜４を更新する場合には、以下の処理を採用することができる。予備系ブロックであるブロック１の処理内容を新しいブロック２に相当する処理内容に更新する。これにより、ブロック２が予備系ブロックとなる。次に、ブロック２の処理内容を、新しいブロック３の処理内容に相当する内容へと更新する。このような処理を繰り返して、ブロック１〜ブロック４が再構成される。ブロック５はリセット状態のまま、予備系ブロックとして保たれる。したがって図１に示された構成が得られる。
【００８８】
図８は、本発明の実施の形態１に係る信号処理装置の構成方法の他の例を説明したフローチャートである。図８を参照して、ステップＳ１１〜Ｓ１８の処理は、それぞれ、図６に示されたステップＳ１〜Ｓ８の処理と基本的に同じである。図８に示されたフローチャートは、変数ｎの変化の点で図６に示されたフローチャートと相違する。このフローチャートの処理を実行することにより、図７に示された信号処理装置を、図１に示されるように再構成することができる。
【００８９】
さらに実施の形態１によれば、運用系ブロックのすべてを変更できるだけでなく、運用系ブロックのうちのある特定のブロックだけを変更することもできる。具体的には、図６に示したフローチャートのステップＳ３〜Ｓ６の処理、あるいは図８に示したフローチャートのステップＳ１３〜Ｓ１６の処理を選択的に実行することにより、特定のブロックだけを変更することができる。たとえば図７の状態から、次のようにして、ブロック１，ブロック２を更新することができる。
【００９０】
まずブロック１の処理内容を変更して、選択信号ＳＥＬ１をローからハイへと切り換える。ブロック１のリセット状態を解除する。ブロック２についてはリセットをアサートする。次に、ブロック２の処理内容を変更して、選択信号ＳＥＬ２をローからハイへと切り換える。ブロック３についてはリセットをアサートする。
【００９１】
このように実施の形態１によれば、運用を停止することなくブロックの処理内容を更新することができる。さらに実施の形態１によれば、予め確保された領域の中でブロックの処理内容を更新するので、ブロック間の配線が複雑化することを回避することができる。
【００９２】
また、実施の形態１では、予備系ブロックは、リセット状態のまま残されている。すなわち、更新前の機能が保たれている。したがって、たとえば、あるブロックの処理内容を更新したものの、その更新内容に不具合があった場合には、予備系ブロックのリセットを解除することによって、元の処理内容を復元することができる。このように予備系ブロックの領域を常に確保することによって、異常発生時に信号処理装置の復帰時間を短くすることができる。
【００９３】
［実施の形態２］
実施の形態２では、運用系ブロックおよび予備系ブロックが同一の処理を実行できるように構成される。ただし予備系ブロックは、実際には処理を行なわず、リセット状態にある。１つの運用系ブロックに異常が生じた際に、予備系ブロックのリセットが解除される。
【００９４】
なお、実施の形態２に係る信号処理装置は、図１に示されるように構成される。したがって、実施の形態２に係る信号処理装置の構成要素については詳細な説明を繰り返さない。
【００９５】
図９は、本発明の実施の形態２に係る信号処理装置の構成方法の一例を説明したフローチャートである。図６および図９を参照して、実施の形態２に係る構成方法は、ステップＳ９の処理が追加される点において実施の形態１に係る構成方法と異なる。ステップＳ１〜Ｓ８の処理については、図６に示された処理と同様であるので以後の説明を繰り返さない。ステップＳ９において、予備系ブロックであるブロック１が更新されて、運用系ブロック（ブロック２〜ブロック５）と同じ機能を有する。
【００９６】
図１０は、本発明の実施の形態２に係る信号処理装置に異常が発生した場合の処理を説明したフローチャートである。図１０に示された処理は、たとえば所定の周期で実行される。図１０を参照して、ステップＳ２１において運用系ブロックのいずれかに異常が発生したかどうかが判定される。たとえばステップＳ２１の処理はＣＰＵ１０２によって実行される。運用系ブロックのいずれかに異常が発生している場合（ステップＳ２１においてＹＥＳ）、ステップＳ２２の処理が実行される。ステップＳ２２において、ブロック制御部４０は、予備系ブロックのリセット状態を解除する。運用系ブロックがすべて正常である場合（ステップＳ２１においてＮＯ）、ステップＳ２２の処理はスキップされる。
【００９７】
実施の形態２によれば、予備系ブロックを、異常が生じた運用系ブロックに代えて使用することができる。したがって、運用を継続させることができる。また、異常時の復帰時間を短くすることができる。
【００９８】
［実施の形態３］
図１１は、本発明の第３の実施形態に係る信処理装置の機能ブロック図である。本発明の第３の実施形態に係る信号処理装置１０１Ａは、ブロック５（処理ブロック２５）を常に、予備系ブロックとして確保する。予備系ブロックは、複数の運用領域の各々の処理内容を変更するための共通の領域として確保されており、運用系ブロックの処理内容を変更する際に、現在の処理内容を一時的に退避させるための領域として使用される。
【００９９】
なお、図１１では、入力回路１１〜１４の記載が省略されているが、これは図が煩雑化するのを避けるためである。信号Ｉｎ１は、ブロック１とブロック５との両方に送られるように、信号処理装置１０１Ａの内部で分配される。同様の方式によって、信号Ｉｎ２〜Ｉｎ４は、ブロック２〜４にそれぞれ送られるだけでなく、ブロック５にも送られる。入力回路１１〜１４は、このような信号分配処理を担う。
【０１００】
ブロック１〜ブロック４の各々について、ポートＥｎａｂｌｅ＿Ｂポートに選択信号ＳＥＬ１〜ＳＥＬ４がそれぞれ入力される。ブロック５のＤｉsａｂｌｅ＿Ａポートには、選択信号ＳＥＬ１〜ＳＥＬ４が入力される。
【０１０１】
図１２は、本発明の実施の形態３に係る再構成方法を説明するためのフローチャートである。例としてブロック１の処理内容を変更する場合について説明する。図１２を参照して、まず、ステップＳ３１において、ブロック１の処理内容をブロック５にコピーする。すなわち、ブロック１のコンフィグレーションデータの内容をブロック５に反映させる。ブロック５はリセット状態にある。
【０１０２】
次にステップＳ３２において、ブロック制御部４０は、ブロック１からのエンプティ信号Ｅｍｐ１に基づいて、ブロック１がエンプティであるか否かを判定する。ブロック１がエンプティでない場合（ステップＳ３２においてＮＯ）、ステップＳ３２の処理が繰り返される。すなわちブロック制御部４０は、ブロック１がエンプティとなるまで待機する。ブロック１がエンプティになった場合（ステップＳ３２においてＹＥＳ）、処理はステップＳ３３に進む。
【０１０３】
ステップＳ３３において、ブロック制御部４０は、選択信号ＳＥＬ１をハイからローに切換える。以後に到来するフレームは、ブロック１ではなく、ブロック５により受信される（割り当てられる）。
【０１０４】
ステップＳ３４において、ブロック制御部４０は、ブロック１をリセット状態にする。
ステップＳ３５において、ブロック１の処理内容が変更される。まず、不揮発性メモリ１０３に記憶された、ブロック１のコンフィグレーションデータがＣＰＵ１０２によって更新される。次に、そのコンフィグレーションデータが信号処理装置１０１Ａにロードされる。たとえばブロック制御部４０が、そのコンフィグレーションデータに従って、ブロック１を再構成する。
【０１０５】
ステップＳ３６において、ブロック制御部４０は、ブロック５からのエンプティ信号Ｅｍｐ５に基づいて、ブロック５がエンプティであるか否かを判定する。ブロック５がエンプティでない場合（ステップＳ３６においてＮＯ）、ステップＳ３６の処理が繰り返される。すなわちブロック制御部４０は、ブロック５がエンプティとなるまで待機する。ブロック５がエンプティになった場合（ステップＳ３６においてＹＥＳ）、処理はステップＳ３７に進む。
【０１０６】
ステップＳ３７において、ブロック制御部４０は、選択信号ＳＥＬ１をローからハイに切換える。以後に到来するフレームは、ブロック５ではなく、ブロック１により受信される（割り当てられる）。したがって、フレームの境界でブロック１の処理内容を更新することができる。
【０１０７】
ステップＳ３８において、ブロック制御部４０は、ブロック５をリセット状態にする。ステップＳ３８の処理が終了すると、全体の処理が終了する。
【０１０８】
ブロック２〜ブロック４の各々の処理内容を変更する場合にも、図１２のフローチャートに従って処理が実行される。この場合には、図１２に示された「ブロック１」がブロック２〜ブロック４の各々に置き換えられる。
【０１０９】
以上のように実施の形態３によれば、フレームの境界において処理ブロックの処理内容を変更することができる。したがって、実施の形態１と同様に、実施の形態３によれば無瞬断で処理ブロックの処理内容を変更することができる。
【０１１０】
また、実施の形態３によれば、複数の運用領域の間で実使用領域の大きさが異なる可能性がある場合にも、処理領域の全体のサイズが増大するのを抑えることができる。実施の形態１あるいは実施の形態２では、複数の運用領域のサイズを同じにするとともに、そのサイズを最大の実使用領域に応じたサイズにする必要がある。実施の形態３によれば、たとえば予備領域のサイズは複数の運用領域のサイズのうちの最大のサイズと同じであればよい。したがって、処理領域のサイズの増大を抑制することができる。
【０１１１】
なお、上記の各実施の形態では、フレームを処理すべきブロックを、運用系ブロックから予備系ブロックへと切換えるために、ブロックの使用および非使用を示す情報（エンプティ信号Ｅｍｐ１〜Ｅｍｐ５）が用いられる。さらに、フレームの境界において運用系ブロックから予備系ブロックへと切換えられる。ただし、運用系ブロック（運用領域）の状態が非使用状態であるかどうかのみを検知して、フレームを処理すべき領域を運用領域から予備領域へと切換えてもよい。運用領域の非使用状態とは、運用領域においてフレームの処理が終了した状態に相当する。つまり、運用領域が非使用状態であるときには、次のフレームがまだ信号処理装置に到来していない状態に相当する。この状態においてフレームを処理すべき領域を、運用領域から予備領域へと切換えることで、次のフレームは予備領域によって処理することができる。
【０１１２】
あるいは、エンプティ信号を用いずに、予備領域のフレームの境界を検出して、フレームを処理すべきブロックを、運用系ブロックから予備系ブロックへと切換えてもよい。たとえば、予備系ブロックへの変更後の処理内容が開始される。その時点から信号処理装置に到来する所定数のフレームは運用系ブロックで処理される。その次に到来したフレームは、予備系ブロックで処理される。すなわち、上記の所定数のフレームが、運用領域で処理することが確定されたフレームとなり、その次からのフレームが予備領域に割り当てられるフレームとなる。
【０１１３】
このように、予備領域に処理内容が書き込まれ、運用領域が処理することが確定されたフレームより後のフレームを予備領域に割り当てるように処理が行われるのであれば、その具体的な方法は、上記の各実施の形態に示された方法以外の方法も採用することができる。
【０１１４】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１５】
１１〜１４  入力回路、２１〜２５  処理ブロック、２４ａ  実使用領域、２４ｂ  余裕領域、３１〜３４  選択回路、４０  ブロック制御部、１０１，１０１Ａ  信号処理装置、１０２  ＣＰＵ、１０３  不揮発性メモリ、１１１  接続領域、２４１  接続点。
【図１】
2014138382.tif 000003
【図２】
2014138382.tif 000004
【図３】
2014138382.tif 000005
【図４】
2014138382.tif 000006
【図５】
2014138382.tif 000007
【図６】
2014138382.tif 000008
【図７】
2014138382.tif 000009
【図８】
2014138382.tif 000010
【図９】
2014138382.tif 000011
【図１０】
2014138382.tif 000012
【図１１】
2014138382.tif 000013
【図１２】
2014138382.tif 000014