JP6111680B2 - 信号処理装置およびプログラマブルロジックデバイスの構成方法 - Google Patents

信号処理装置およびプログラマブルロジックデバイスの構成方法 Download PDF

Info

Publication number
JP6111680B2
JP6111680B2 JP2013007368A JP2013007368A JP6111680B2 JP 6111680 B2 JP6111680 B2 JP 6111680B2 JP 2013007368 A JP2013007368 A JP 2013007368A JP 2013007368 A JP2013007368 A JP 2013007368A JP 6111680 B2 JP6111680 B2 JP 6111680B2
Authority
JP
Japan
Prior art keywords
area
processing
signal
operation area
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013007368A
Other languages
English (en)
Other versions
JP2014138382A (ja
Inventor
吉村 明展
明展 吉村
進吾 西岡
進吾 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2013007368A priority Critical patent/JP6111680B2/ja
Publication of JP2014138382A publication Critical patent/JP2014138382A/ja
Application granted granted Critical
Publication of JP6111680B2 publication Critical patent/JP6111680B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

本発明は、プログラマブルロジックデバイスを用いた信号処理装置、およびプログラマブルロジックデバイスの構成方法に関する。
近年、プログラマブルロジックデバイス(PLD)が多くの電子機器に搭載されている。PLDの1つにFPGA(Field Programmable Gate Array)がある。FPGAは、論理回路を記述する回路情報を読み込むことにより、回路構成および機能を再構成することができる半導体集積回路である。
たとえば特開2008−177900号公報(特許文献1)は、ルータに用いられるFPGAを開示する。ルータのコンフィグレーションコントロール部は、FPGAのコンフィグレーションデータをアップグレードする場合に、ルータからのデータ送信を一時的に停止させる。このためコンフィグレーションコントロール部は、バックプレッシャ要求信号を生成して論理ゲート部に送出する。
特開2010−74461号公報(特許文献2)は、デバイスの運用を中断することなくデバイスの機能を更新するための方法を開示する。この開示によれば、FPGAは、信号を複数の論理回路に分配する分配回路部と、複数の論理回路からの出力のうちのいずれかを選択するセレクタ回路部と、セレクタ回路部を制御する切り替え制御部とを備える。FPGAの機能を追加する場合には、FPGAの内部の空き領域を利用して新規の論理回路が生成される。新規の論理回路は、既に生成された分配回路部およびセレクタ回路部に接続される。
特開2002−9613号公報(特許文献3)は、動作中に回路機能を部分的に再構成することができるプログラマブル論理回路装置を開示する。特開2001−136058号公報(特許文献4)は、FPGAにおいて、故障部分に該当する機能を、論理回路データ内の空き部分で代用する技術を開示する。
特開2008−177900号公報 特開2010−74461号公報 特開2002−9613号公報 特開2001−136058号公報
特開2008−177900号公報(特許文献1)によれば、FPGAのコンフィグレーションデータをアップグレードする際に、ルータからのデータ送信が一時的に停止する。しかしながらルータからのデータ送信だけでなく、ルータのデータ受信も一時的に停止させる必要があると考えられる。したがって、ルータが受信すべきデータを一時的に蓄えるためのバッファが必要になる。エンドユーザに対するサービスを停止させることなく、コンフィグレーションデータをアップグレードするためには、大容量のバッファが必要である。このような大容量のバッファを不要とするためには、ルータの運用を停止させることなくFPGAのコンフィグレーションデータをアップグレードすることが必要である。
特開2010−74461号公報(特許文献2)によれば、FPGAの内部の空き領域を利用して、新規の論理回路が生成される。したがって、新規の論理回路は、分配回路部あるいはセレクタ回路部が形成された領域から、大きく離れている可能性がある。FPGAでは、たとえばスイッチマトリクスの設定によって、FPGAの内部の配線が決定される。したがって、新規の論理回路が分配回路部あるいはセレクタ回路部が形成された領域から大きく離れていると、FPGAの内部の配線が複雑化する可能性が高い。配線の複雑化により、たとえば信号の伝送遅延が生じる可能性がある。
このように、運用を停止させることなく処理内容を変更するためのプログラマブルロジック回路の構成方法が求められている。さらに、プログラマブルロジックデバイスの処理内容が変更された後に、デバイスの内部構成が複雑になることを避けることも求められる。しかしながら、上記の特許文献1〜4はこれらの課題を同時に解決するための具体的方法について示していない。
本発明の目的は、運用を停止させることなく処理内容を変更することが可能であるとともに、構成の複雑化を避けることを可能にする信号処理装置、および、その信号処理装置に用いられるプログラマブルロジックデバイスの構成方法を提供することである。
本発明のある局面に係る信号処理装置は、フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置である。信号処理装置は、データ信号を処理するための運用領域、および運用領域のための予備領域として確保された処理領域と、運用領域に対してデータ信号を投入する入力回路とを備える。運用領域は、当該運用領域の使用または非使用を示す使用情報を出力する。信号処理装置は、運用領域の処理を変更する場合において、予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおく。信号処理装置は、予備領域に現在の処理内容または変更後の処理内容が書き込まれると、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てる。
この構成によれば、予備領域に運用領域の現在の処理内容または変更後の処理内容が書き込まれる。予備領域に運用領域の現在の処理内容が書き込まれた場合には、フレームを処理すべき領域を運用領域から予備領域に切り換えることで、現在の処理の内容を維持したまま運用領域の処理内容を変更することができる。一方、予備領域に運用領域の変更後の処理内容が書き込まれた場合には、フレームを処理すべき領域を運用領域から予備領域に切り換えることで、処理内容を直ちに変更することができる。さらに、運用領域が処理することが確定されたフレームより後のフレームが予備領域に割り当てられることで、フレームの流れを停止させることなく、フレームを処理すべき領域を運用領域から予備領域へと切り換えることが可能になる。したがって、無瞬断で処理内容を変更することができる。
さらに、処理領域として運用領域および少なくとも1つの予備領域が確保されている。信号処理装置は、予備領域に、運用領域の現在の処理内容または変更後の処理内容を書き込むことにより、当該予備領域を、いわば運用領域のバックアップ領域として再構成したり、新しい運用領域として再構成したりすることができる。これにより、処理領域として確保された領域の中で、データ信号を処理すべき運用領域を切換えることができる。したがって、データ信号を処理すべき運用領域を切換えても配線が複雑化することを回避することができる。
予備領域を、運用領域のバックアップのための領域として再構成した場合、運用領域の処理内容を予備領域に一旦退避させて、当該運用領域の処理を更新することができる。運用領域の処理の更新が失敗した場合には、予備領域に処理を切換えることによって、運用への影響を最小限とすることができる。いずれの場合にも、予め確保された領域を変更する必要がないため、領域どうしを接続するための配線が複雑化することを回避することができる。
「運用領域が処理することが確定されたフレーム」とは、運用領域が処理中または処理を終了させたフレームであってもよく、運用領域がこれから処理することが予定されているフレームであってもよい。
好ましくは、信号処理装置は、フレームの境界で、フレームを処理すべき領域を、運用領域から予備領域へと切換える。
この構成によれば、現在の処理内容または変更後の処理内容が書き込まれた予備領域にフレームを投入することができる。したがって、フレームを処理できない時間が生じることを防ぐことができる。
好ましくは、運用領域は、当該運用領域の使用または非使用を示す使用情報を出力する。信号処理装置は、運用領域から出力される使用情報が、運用領域の使用から非使用へと変化した場合に、フレームを処理すべき領域を、運用領域から予備領域へと切換える。
この構成によれば、運用領域の状態が非使用状態であるときにおいて、フレームを処理すべき領域が、運用領域から予備領域へと切換えられる。運用領域においてフレームの処理が終了すると、運用領域が非使用状態になる。つまり、運用領域が非使用状態であるときには、次のフレームがまだ信号処理装置に到来していない。この状態においてフレームを処理すべき領域を、運用領域から予備領域へと切換えることで、次のフレームは予備領域によって処理される。したがって、フレームの処理が一時的に停止されることを防ぐことができる。
さらに、運用領域から出力される使用情報が運用領域の使用から非使用へと変化した場合、フレームの境界となるタイミングで、フレームを処理すべき領域を、運用領域から予備領域へと切換えてもよい。この場合には、運用領域が処理することが確定されたフレームより後のフレームを、より確実に予備領域に割り当てることができる。
好ましくは、運用領域および予備領域の各々は、稼働または非稼動を制御するリセット信号と、データ信号を受けるか否かを制御する選択信号とを受けるように構成される。予備領域に現在の内容または変更後の処理内容を書き込むときには、リセット信号によって予備領域が非稼動状態に制御される。選択信号は、運用領域と予備領域とのうちの一方にデータ信号が入力されるように、運用領域と予備領域とを制御するための信号である。
この構成によれば、予備領域の再構成が終了した後に誤動作する(たとえば選択された運用領域が処理中であるにもかかわらず、データ信号を処理する)ことを回避することができる。したがって、フレームの境界で、運用領域から予備領域へとデータ信号を処理すべき領域を切換えることができる。さらに選択信号によって、運用領域と予備領域との両方にデータ信号が入力されることを回避できる。したがって、予備領域の再構成が終了した後の誤動作をより確実に防ぐことができる。
好ましくは、予備領域には、変更後の処理内容が書き込まれる。運用領域から予備領域への切換後、運用領域は新しい予備領域として確保される。
この構成によれば、たとえば再構成時にエラーが発生した場合に、運用領域を再度使用することができる。したがって再構成時にエラーが発生しても、運用への影響を小さくすることができる。
好ましくは、信号処理装置は、運用領域を複数備える。予備領域には、変更後の処理内容が書き込まれる。信号処理装置は、複数の運用領域を順次選択し、予備領域を利用して、複数の運用領域の各々の処理内容を変更する。
この構成によれば、処理領域として確保された領域の中で、複数の運用領域の処理を順次更新することができる。したがって、データ信号を処理すべき運用領域を切換えても配線が複雑化することを回避することができる。
好ましくは、信号処理装置は、運用領域を複数備える。予備領域は、複数の運用領域の各々の処理内容を変更するための共通の領域として確保される。予備領域には、現在の処理内容が書き込まれる。信号処理装置は、運用領域から予備領域への切換後に、運用領域に、変更後の処理内容を書き込む。
この構成によれば、運用領域の処理内容を予備領域に一旦退避させて、その運用領域の処理内容を変更することができる。予備領域においてフレームを処理することにより現在の処理内容を維持しながら、運用領域の処理内容を更新することができる。
また、複数の運用領域の間で実使用領域の大きさが異なる可能性がある場合にも、処理領域の全体のサイズが増大するのを抑えることができる。複数の運用領域のうちの1つを予備領域として使用する場合、複数の運用領域のサイズを同じにするとともに、そのサイズを最大の実使用領域に応じたサイズにする必要がある。上記構成によれば、たとえば予備領域のサイズは複数の運用領域のサイズのうちの最大のサイズと同じであればよい。したがって、処理領域のサイズの増大を抑制することができる。
好ましくは、信号処理装置は、運用領域と予備領域との間の接続のための接続領域を含む。運用領域の接続点は、運用領域と接続領域との境界に固定される。予備領域の接続点は、予備領域と接続領域との境界に固定される。
この構成によれば、運用領域の更新によって、その運用領域の内部の回路構成が変更されたとしても、その運用領域と他の領域(予備領域あるいは別の運用領域)とを接続するための接続点の位置が変更されることを回避できる。したがって、領域どうしを接続するための配線が複雑化することを防ぐことができる。
本発明の他の局面に係るプログラマブルロジックデバイスの構成方法は、フレーム単位で到来するデータ信号を処理して、その処理結果を出力するように構成されたプログラマブルロジックデバイスの構成方法である。プログラマブルロジックデバイスは、データ信号を処理するための運用領域および、運用領域のための予備領域として確保された処理領域と、運用領域に対してデータ信号を投入する入力回路とを備える信号処理装置として構成される。構成方法は、予備領域に、運用領域の現在の処理内容または変更後の処理内容を書き込むステップと、予備領域に現在の処理内容または変更後の処理内容が書き込まれると、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てるステップとを備える。
この構成によれば、運用領域の状態が非使用状態であるときにおいて、フレームを処理すべき領域が、運用領域から予備領域へと切換えられる。次のフレームは予備領域によって処理される。したがって、フレームを処理できない時間が生じることを防ぐことができる。さらに、データ信号を処理すべき領域を切換えても配線が複雑化することが回避されるように信号処理装置を構成することができる。
本発明によれば、運用しながら処理内容を停止させることなく処理内容を変更することができる。さらに本発明によれば、プログラマブルロジックデバイスの内部の配線の複雑化を避けることができる。
本発明の実施の形態1に係る信号処理装置の機能ブロック図である。 図1に示された不揮発性メモリに格納されるデータを模式的に示した図である。 信号処理装置の運用中に1つの処理ブロックの機能を変更するための方法を説明した図である。 図3に示された処理ブロック24,25およびその周囲の領域を示した図である。 図4に示された処理ブロック24,25に入力される信号および処理ブロック24,25から出力される信号を説明するためのタイミング図である。 本発明の実施の形態1に係る信号処理装置の構成方法の一例を説明したフローチャートである。 図6に示した構成方法によって再構成された信号処理装置101のブロック図である。 本発明の実施の形態1に係る信号処理装置の構成方法の他の例を説明したフローチャートである。 本発明の実施の形態2に係る信号処理装置の構成方法の一例を説明したフローチャートである。 本発明の実施の形態2に係る信号処理装置に異常が発生した場合の処理を説明したフローチャートである。 本発明の第3の実施形態に係る信処理装置の機能ブロック図である。 本発明の実施の形態3に係る再構成方法を説明するためのフローチャートである。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付して、それらについての詳細な説明は繰り返さない。
[実施の形態1]
図1は、本発明の実施の形態1に係る信号処理装置の機能ブロック図である。図1を参照して、本発明の実施の形態1に係る信号処理装置101は、信号In1〜In4を並列に受信することができる。信号処理装置101は、信号In1〜In4の各々に対して所定の処理を実行する。信号処理装置101は、信号In1〜In4に対する処理結果を信号Out1〜Out4として出力する。
上記の信号In1〜In4は、フレーム単位で到来するデータ信号である。「所定の処理」は、たとえば画像処理あるいは通信処理を含むことができるが、これらに限定されるものではない。信号処理装置101は、処理結果として、処理後のデータを出力する。あるいは、信号処理装置101は、所定の処理として、たとえばデータの妥当性の判断などの任意の判断処理を実行してもよい。このような処理の場合、信号処理装置101は、その判断結果を処理結果として出力することができる。
本発明の実施の形態では、信号処理装置101は、プログラマブルロジックデバイスによって実現される。本発明では、「プログラマブルロジックデバイス」とは、製造後にユーザにおいて内部の回路構成を定義あるいは変更できる装置であり、一般的には半導体集積回路によって実現される。信号処理装置101は、プログラマブルロジックデバイスの一種であるFPGAによって実現可能である。ただし本発明に係る信号処理装置は、FPGA以外の回路を含んでもよい。
信号処理装置101は、起動時(電源オン時)に、CPU(Central Processing Unit)102から、設定情報(コンフィギュレーション情報)をロードする。具体的には、たとえばフラッシュメモリなどの不揮発性メモリ103に、FPGAの設定情報が予め格納される。信号処理装置101に電源を投入したとき、あるいは信号処理装置101をリセットしたときに、CPU102は、設定情報を不揮発性メモリ103から読み出す。CPU102は、その情報をFPGAの内部に転送してFPGAを動作可能な状態にする。FPGAの設定に関する、この一連の処理は、一般に「コンフィグレーション」と呼ばれる。以後の説明では、上記の「設定情報」のことを「コンフィグレーションデータ」と呼ぶ。
この明細書では、「コンフィグレーション」に代えて「構成」あるいは「再構成」との用語を用いる場合もある。これらの用語は、すべて上述の処理を指す。
この実施の形態では、信号処理装置101は、部分的に再構成可能なFPGAによって実現可能である。したがって、信号処理装置101を運用させながら、その処理内容を更新することができる。FPGAの部分的再構成とは、FPGAの特定の領域を再構成できる機能を意味する。
信号処理装置101は、入力回路11〜14と、処理ブロック21〜25と、選択回路(受信回路)31〜34と、ブロック制御部40とを備える。以後の説明との対応のために、図1では、処理ブロック21〜25が、それぞれ「ブロック1」、「ブロック2」、「ブロック3」、「ブロック4」、「ブロック5」と示される。
入力回路11〜14は、信号In1〜In4をそれぞれ受ける。各々の入力回路は、入力されたデータ信号を、そのデータ信号を処理すべきブロック(領域)に対して投入する。たとえば入力回路に入力される信号に、2つの処理ブロックのうちのどちらに振り分けるかを決定するための信号を含めることができる。これにより各々の入力回路は、入力信号を、2つの処理ブロックのうちの一方に振り分けることができる。
上記の実施の形態では、入力回路11〜14の各々を、複数のブロックの中から、データ信号を処理すべきブロックを選択するセレクタとして構成することができる。また、入力回路11〜14の各々を、データ信号を複数のブロックに同時に投入する回路として構成してもよい。すなわち、入力回路11〜14の各々を、信号を分配させる分配回路として構成することもできる。
図1に示された構成によれば、処理ブロック21〜24の各々が運用領域に相当し、処理ブロック25が予備領域に相当する。処理ブロック21〜25が構成された領域は、運用領域および予備領域が確保された処理領域に相当する。この実施の形態では、処理領域として予め確保された領域を変化させることなく、ブロックの処理内容(処理ブロックの機能と読み替えることもできる)を更新することができる。これは、FPGAの部分的再構成によって実現可能である。このような更新処理については後に詳細に説明する。なお、この実施の形態では、「処理の変更」の1つの形態として、処理内容を更新することが示されている。しかしながら「処理の変更」は、処理内容の更新に限定されず、一旦更新された処理内容を元の処理(更新前の処理)に戻すことを含んでもよい。
図1に示された構成では、運用系の処理ブロックの個数が4であり予備系の処理ブロックの個数が1であるが、このように運用系の処理ブロックおよび予備系の処理ブロックの個数が限定されるものではない。予備系の処理ブロックは、最低1つあればよい。また、運用系の処理ブロックの個数も最低1つあればよい。
信号処理装置101は、たとえば画像処理装置として実現される。この実現例では、運用系の処理ブロックをデジタルフィルタとして構成することができる。別の例では、信号処理装置101は、通信装置に含まれる装置として実現できる。より具体的には、信号処理装置101は、たとえば、イーサーネット(登録商標)フレームのL2(レイヤー2;データリンク層)スイッチに含まれる信号処理装置として用いることができる。この実現例では、信号処理装置101は、たとえばフレーム識別、フレーム変換、および振り分け処理などの各種の処理を実行することができる。
処理ブロック21〜24(ブロック1〜4)は、互いに独立に処理を実行することができる。この実施の形態では、処理ブロック21〜24は互いに異なる処理を実行してもよく、同じ処理を並列に実行してもよい。
各々の処理ブロックは2つの入力ポート(「ポートA」および「ポートB」)と2つの出力ポート(「ポートC」および「ポートD」)とを有する。各々の処理ブロックは、ポートAに入力された信号に対して所定の処理を実行して、その処理結果をポートCから出力する。同様に、各々の処理ブロックは、ポートBに入力された信号に対して所定の処理を実行して、その処理結果をポートDから出力する。ただし、ポートAおよびポートBのうちのどちらか一方の入力ポートに信号が入力された場合には、各々の処理ブロックは、その信号の受信が終わるまで、他方のポートへの入力を無視する、あるいは他方のポートへの入力を受け付けない。
さらに、処理ブロック21〜25は、エンプティ信号Emp1〜Emp5をそれぞれ出力する。エンプティ信号Emp1〜Emp5は、ブロック制御部40に入力される。エンプティ信号は、当該処理ブロックが処理を終わっている(処理を行なっていない)状態を示す信号である。言い換えると、エンプティ信号Em1〜Empは、該当のブロックの使用または非使用を示す使用情報に相当する。
選択回路31〜34は、2つの処理ブロックのうちの一方から信号を受けて、その信号を信号処理装置101の外部へと出力する。各々の選択回路は、2つの処理ブロックのうちの一方からの信号の受信を開始すると、その信号を受け続ける。すなわち、各々の選択回路は、一方の信号の受信が完了するまで、他方の信号を受信しない。つまり、各々の選択回路は、2つの信号のうちの1つの信号を排他的に受信する。これにより、ブロックの処理結果(たとえば処理後のデータ)の損失を防止することができる。
たとえば選択回路31は、処理ブロック21,22に対応して設けられる。選択回路31は、処理ブロック21(ブロック1)のポートDから出力される信号、あるいは処理ブロック22(ブロック2)のポートCから出力される信号を受ける。選択回路31は、処理ブロック21のポートDから出力される信号の受信を開始すると、その信号の受信を完了するまでは、処理ブロック22のポートCから出力される信号を受信しない。逆に、選択回路31は、処理ブロック22のポートCから出力される信号の受信を開始すると、その信号の受信を完了するまでは、処理ブロック21のポートCから出力される信号を受信しない。
ブロック制御部40は、処理ブロック21〜25からエンプティ信号Emp1〜Emp5をそれぞれ受けて、処理ブロック21〜25の処理内容を更新するための処理を実行する。具体的には、ブロック制御部40は、各処理ブロックの稼働および非稼動を制御する。さらにブロック制御部40は、選択信号SEL1〜SEL4を出力して、更新前の処理ブロックと更新後の処理ブロックとを切換える。なお、選択信号SEL1〜SEL4はCPU102から送信されてもよい。選択信号SEL1〜SEL4は、データ信号を受けるか否かを制御する選択信号である。
不揮発性メモリ103は、CPU102により実行されるプログラムを記憶する。さらに、不揮発性メモリ103は、FPGAの構成のコンフィグレーションデータを記憶する。不揮発性メモリ103は、情報を書き換えることができるとともにその情報を不揮発的に記憶することができる記憶装置であり、たとえばフラッシュメモリである。
この実施の形態では、不揮発性メモリ103の記憶領域は、FPGAを正しく起動させるためのコンフィグレーションデータを記憶する領域と、新しいコンフィグレーションデータを書き込むとともに記憶するための領域とを含む。さらにこの実施の形態では、部分的にFPGAを再構成するためのデータを書き込むとともに格納する領域が不揮発性メモリ103に設けられる。
図2は、図1に示された不揮発性メモリに格納されるデータを模式的に示した図である。図2を参照して、不揮発性メモリ103は、「FPGA全体コンフィグレーションデータ(1)」と、「FPGA全体コンフィグレーションデータ(2)」と、「FPGA部分コンフィグレーションデータ+座標データ(ブロック1)」と、「FPGA部分コンフィグレーションデータ+座標データ(ブロック2)」と、「FPGA部分コンフィグレーションデータ+座標データ(ブロック3)」と、「FPGA部分コンフィグレーションデータ+座標データ(ブロック4)」と、「FPGA部分コンフィグレーションデータ+座標データ(ブロック5)」とを含む。
「FPGA全体コンフィグレーションデータ(1)」は、FPGAを正しく起動させるためのコンフィグレーションデータである。「FPGA全体コンフィグレーションデータ(2)」は、「FPGA全体コンフィグレーションデータ(1)」の予備のデータである。「FPGA全体コンフィグレーションデータ(1)」を用いてFPGAを起動させたものの、FPGAが正常に起動できなかった場合には、「FPGA全体コンフィグレーションデータ(2)」を用いてFPGAを起動させる。
「FPGA部分コンフィグレーションデータ+座標データ(ブロック1)」〜「FPGA部分コンフィグレーションデータ+座標データ(ブロック5)」は、各ブロックの論理回路の構成を定義するためのコンフィグレーションデータ、および、そのブロックの平面上の領域を指定するための座標データを含む。
図3は、信号処理装置の運用中に1つの処理ブロックの機能を変更するための方法を説明した図である。図3を参照して、たとえば処理ブロック24(ブロック4)の処理内容を更新する。この場合、予備領域である処理ブロック25(ブロック5)に、処理ブロック24の新しい処理内容が書き込まれる。これにより処理ブロック25が、いわば新しいブロック4(新しい運用領域)として再構成される。処理ブロック25は、新しい処理内容への切換要求を出力する。ただし処理ブロック25は、非稼動状態(リセット状態)である。信号処理装置101(たとえば入力回路14)がフレームの先頭を受信したときに、切換要求が生じている場合、ブロック制御部40は、選択信号SEL4を制御して、次に到来する信号In4(フレーム)の受信を処理ブロック25に行なわせる。
一方、処理ブロック24は、最後に入力されたフレームの処理が完了すると、データを受信しなくなるとともに、処理が完了したことを示すエンプティ信号Emp4を出力する。応じてブロック制御部40は、処理ブロック24(ブロック4)をリセット状態に制御する。
図4は、図3に示された処理ブロック24,25およびその周囲の領域を示した図である。図4を参照して、処理ブロック24,25は、矩形領域として予め設定される。処理ブロック24は、実使用領域24aおよび余裕領域24bを含む。処理ブロック24,25の周囲の領域は、2つの処理ブロック(たとえば処理ブロック24,25)の接続のための接続領域111として割り当てられる。
図が煩雑になるため図4には詳細に示されていないが、信号処理装置101として示された領域には、種々の論理回路を構成するための回路素子および配線のための素子(たとえばスイッチマトリクスなど)が配置される。それらの素子は、コンフィグレーション情報にしたがって互いに接続される。
実使用領域24aは、処理ブロック24の機能を担う部分である。余裕領域24bは、処理ブロック24の機能変更あるいは機能拡張に備えて確保された領域である。実使用領域24aおよび余裕領域24bには、論理回路を構成するための様々な回路素子およびスイッチマトリクスなどが配置されている。このように、実使用領域よりも大きい領域が処理ブロックのための領域として、座標データによって規定される。これにより、機能の変更あるいは機能の拡張によって実使用領域の面積が大きくなる場合にも、処理ブロックの面積を変更する必要はない。すなわち、処理ブロックとして確保された領域の中において、配線の変更によって機能の変更あるいは拡張を行なうことができる。したがって、ブロックどうしの配線が複雑化することを回避できる。
さらに、各々の処理ブロックのポートA、ポートB、ポートCおよびポートDは、当該処理ブロックと接続領域との接続点(たとえば接続点241)に設けられる。具体的には、処理ブロックの1つの辺に沿ってポートAおよびポートBが配置される。その辺と反対側に位置する処理ブロックの1つの辺にポートCおよびポートDが配置される。すなわち運用領域(処理ブロック24)の接続点は、その運用領域と接続領域111との境界に固定される。予備領域(処理ブロック25)の接続点は、その予備領域と接続領域111との境界に固定される。
実使用領域24aの境界にポートを設けた場合、実使用領域24aの拡張に伴ってポートの位置を変更する必要がある。このために2つの処理ブロックの間の配線が複雑化するおそれがある。処理ブロック24として予め確保された領域と接続領域との境界にポートが配置されているため、その領域の内部の回路構成が変更されたとしても、その領域と他の領域(運用領域または予備領域)とを接続するための接続点の位置が変更されることを回避できる。したがって、領域どうしを接続するための配線が複雑化することを防ぐことができる。
処理ブロック24,25の各々は、ポートA〜ポートDに加えて、リセット信号を受けるためのポート(Reset)と、選択信号SEL4を受けるためのポート(Disable_AおよびEnable_B)とを備える。リセット信号は、処理ブロックを稼働状態および非稼動状態(リセット状態)の間で切換えるための制御信号である。
選択信号SEL4は、処理ブロック24のポートEnable_Bおよび処理ブロック25のポートDisable_Aに入力される。選択信号SEL4の論理レベルは、ロー(Low)とハイ(High)との間で切換わる。たとえば選択信号SEL4の論理レベルがローである場合、処理ブロック24のポートEnable_Bがローレベルに設定される。この場合には、フレームの先頭が処理ブロック24に到来したとしても、処理ブロック24はそのフレームを受信しない。一方、処理ブロック25のポートDisable_Aもローレベルに設定される。処理ブロック25は、フレームを受信可能な状態となる。したがって、フレームの先頭が処理ブロック25に到来したときに、処理ブロック25は、そのフレームを受信する。
図5は、図4に示された処理ブロック24,25に入力される信号および処理ブロック24,25から出力される信号を説明するためのタイミング図である。図5を参照して、時刻t1において、信号In4が信号処理装置101に到来する。時刻t1では、選択信号SEL4がハイである。処理ブロック24(以後、「ブロック4」と呼ぶ)のポートEnable_Bがハイであるので、ブロック4は、そのフレームを受信できる。時刻t1において、ブロック4は、エンプティ信号Emp4をハイからローに変化させる。エンプティ信号Emp4がローである状態とは、ブロック4が、信号In1(フレーム)を処理している状態であることを示す。一方、処理ブロック25(以後、「ブロック5」と呼ぶ)のポートDisable_Aがハイであるので、ブロック5はそのフレームを受信しない。
時刻t2において、選択信号SEL4がハイからローに切換わる。これにより、ブロック5は新しい処理を実行できる。しかしながらブロック4が時刻t1においてフレームの受信を開始したため、そのフレームの最後(「E」)までフレームを受信し続ける。すなわち、このフレームは、運用領域(処理ブロック24)によって処理することが確定されたフレームである。時刻t3において、ブロック4は、フレームの受信(および処理)を完了するとともに、エンプティ信号Emp4をローからハイへと切換える。
時刻t4において、次のフレームが信号処理装置101に到来する。時刻t4では、選択信号SEL4がローである。ブロック4のポートEnable_Bがローであるので、ブロック4は、そのフレームを受信しない。一方、ブロック5のポートDisable_Aがローであるので、ブロック5は、そのフレームを受信する。時刻t4において、ブロック5は、当該フレームを処理するとともに、エンプティ信号Emp5をハイからローへと変化させる。つまり、ブロック5によって処理されるフレームは、ブロック4(運用領域)によって処理することが確定されたフレームより後のフレームである。
時刻t5において、ブロック5は、フレームに対する処理を終了して、エンプティ信号Emp5をローからハイへと変化させる。
図5に示されるように、あるブロックがフレームを一旦受信すると、当該ブロックは、そのフレームを受信し続ける。フレームの受信の途中において選択信号が変化した(すなわち、処理ブロックの処理内容の更新が指示された)場合には、そのフレームの受信完了後に、フレームを処理すべきブロックが、現在のブロックから新しいブロックへと切り換えられて、次のフレームからは新しいブロックが処理を行なう。処理内容をフレームの境界で更新することができるので、運用しながら処理内容を停止させることなく処理内容を変更することができる。
無瞬断で処理内容を更新するために、たとえばブロック制御部40が、連続する2つのフレームの間の期間に現在の処理ブロックから新しい処理ブロックへ切換えることが考えられる。しかしながら、処理ブロックを切換えるためにCPU102が要する時間よりも、連続する2つのフレームの間の時間間隔が短くなる可能性がある。このような場合、FPGAの処理を一旦停止させる必要が生じる。さらに、CPU102あるいはブロック制御部40は、信号処理装置101に到来するフレームを常に監視する必要がある。このためCPU102あるいはおよび信号処理装置101の負荷が増大する。
この実施の形態では、予備系のブロックに新しい処理内容を書き込むことで、予備系のブロックを予め新しい処理ブロックとして準備する。予備系のブロックへの処理の書き込みが完了すると、その予備系ブロックは、切換要求を出力する。ブロック制御部40は、その切換要求に応じて、選択信号をハイレベルからローレベルに変化させる。ただし、処理ブロックは、フレームを一旦受け始めると、そのフレームの受信が完了するまで、当該フレームを受け続ける。したがって、その処理ブロックによって処理されることが確定されたフレームより後のフレームが、新しい処理ブロック(予備系ブロック)で処理される。
したがって、ブロック制御部40は、選択信号SELを任意のタイミングでハイレベルからローレベルに切り換えることができる。すなわち、ブロック制御部40は、新しいブロックを再構成した後、任意のタイミングで、現在のブロックから新しいブロックへの切換えを指示することができる。本実施の形態によれば、任意のタイミングで新しいブロックへの切換えが指示されても、フレームの境界で処理内容を更新することができる。したがって無瞬断で処理内容を更新できる。
図6は、本発明の実施の形態1に係る信号処理装置の構成方法の一例を説明したフローチャートである。信号処理装置の構成方法とは、上記したような、ブロックの処理内容の変更に相当する。図6を参照して、ステップS1において、変数nの初期値が5に設定される。変数nの初期値は、運用領域および予備領域として予め確保される領域の数である。たとえば変数nは、CPU102の内部に記憶される。
次にステップS2において、CPU102は、不揮発性メモリ103に、更新後の処理ブロックの部分コンフィグレーションデータ(ブロック1〜ブロック5)を書き込む(図2を参照)。ただし、各ブロックの部分コンフィグレーションデータを不揮発性メモリ103に書き込んだ後も、各ブロックの領域を指定するための座標データは変化しない。
ステップS3において、ブロックnが更新される。たとえばn=5の場合には、ブロック5(処理ブロック25)の処理内容が更新される。ブロック1〜4(処理ブロック21〜24)は運用中である。CPU102は、不揮発性メモリ103から、ブロック5の座標データを取得する。
なお、ブロック5を更新する間、ブロック5は、リセット状態、すなわち非稼動状態に制御される。これにより、ブロック5の更新完了後にブロック5がすぐに稼働することを防ぐことができる。したがって誤作動を防ぐことができる。CPU102は、ブロック5の座標データに基づいて、不揮発性メモリ103から読出したコンフィグレーションデータに基づいてブロック5に新しい処理内容を書き込む。これによりブロック5が再構成する。すなわち部分的再構成が実行される。
ブロック5の再構成が完了すると、ステップS4において、ブロック制御部40は、選択信号SEL(n−1)を送信する。たとえばn=5の場合、選択信号SEL4がハイからローへと切換わる。すなわちローレベルの選択信号SEL4がブロック制御部40からブロック4,5に送信される。これにより、運用系ブロック(ブロック4)が処理することが確定されたフレームより後のフレームが、予備系ブロック(ブロック5)に割り当てられる。つまり、ステップS4は、運用領域が処理することが確定されたフレームより後のフレームを、予備領域に割り当てるステップに相当する。
ステップS5において、ブロック制御部40は、ブロック4からのエンプティ信号Emp4に基づいて、ブロック4がエンプティであるかどうかを判定する。「エンプティである」とは、非稼動状態、すなわちフレームを処理していない状態に相当する。ブロック4が稼働中である場合、すなわちブロック4がエンプティでない場合(ステップS5においてNO)、ステップS5の処理が繰り返される。したがってブロック制御部40は、ブロック4がエンプティとなるまで待機する。ブロック4がエンプティになった場合(ステップS5においてYES)、処理はステップS6に進む。
ステップS6において、ブロック制御部40は、ブロック(n−1)をリセット状態にする。n=5の場合、ブロック制御部40は、ブロック4をリセット状態にする。ブロック4は新しい予備領域として確保される。
ステップS7において、たとえばCPU102は、変数nから1を減じる。ステップS8において、CPU102は、nが1であるかどうかを判定する。n=1でない場合(すなわちnが1より大きい場合)、処理はステップS3に戻される。一方、n=1である場合、全体の処理が終了する。
このような処理によって、複数の運用領域が順次選択されて、予備領域を利用して、複数の運用領域の各々の処理内容が変更される。
図7は、図6に示した構成方法によって再構成された信号処理装置101のブロック図である。図1および図7を参照して、ブロック5、ブロック4、ブロック3、およびブロック2が再構成されて処理内容が更新される。ブロック5、ブロック4、ブロック3、およびブロック2は新しい運用系ブロックとなる。ブロック1はリセット状態のまま、予備系ブロックとして保たれる。
次にブロック1〜4を更新する場合には、以下の処理を採用することができる。予備系ブロックであるブロック1の処理内容を新しいブロック2に相当する処理内容に更新する。これにより、ブロック2が予備系ブロックとなる。次に、ブロック2の処理内容を、新しいブロック3の処理内容に相当する内容へと更新する。このような処理を繰り返して、ブロック1〜ブロック4が再構成される。ブロック5はリセット状態のまま、予備系ブロックとして保たれる。したがって図1に示された構成が得られる。
図8は、本発明の実施の形態1に係る信号処理装置の構成方法の他の例を説明したフローチャートである。図8を参照して、ステップS11〜S18の処理は、それぞれ、図6に示されたステップS1〜S8の処理と基本的に同じである。図8に示されたフローチャートは、変数nの変化の点で図6に示されたフローチャートと相違する。このフローチャートの処理を実行することにより、図7に示された信号処理装置を、図1に示されるように再構成することができる。
さらに実施の形態1によれば、運用系ブロックのすべてを変更できるだけでなく、運用系ブロックのうちのある特定のブロックだけを変更することもできる。具体的には、図6に示したフローチャートのステップS3〜S6の処理、あるいは図8に示したフローチャートのステップS13〜S16の処理を選択的に実行することにより、特定のブロックだけを変更することができる。たとえば図7の状態から、次のようにして、ブロック1,ブロック2を更新することができる。
まずブロック1の処理内容を変更して、選択信号SEL1をローからハイへと切り換える。ブロック1のリセット状態を解除する。ブロック2についてはリセットをアサートする。次に、ブロック2の処理内容を変更して、選択信号SEL2をローからハイへと切り換える。ブロック3についてはリセットをアサートする。
このように実施の形態1によれば、運用を停止することなくブロックの処理内容を更新することができる。さらに実施の形態1によれば、予め確保された領域の中でブロックの処理内容を更新するので、ブロック間の配線が複雑化することを回避することができる。
また、実施の形態1では、予備系ブロックは、リセット状態のまま残されている。すなわち、更新前の機能が保たれている。したがって、たとえば、あるブロックの処理内容を更新したものの、その更新内容に不具合があった場合には、予備系ブロックのリセットを解除することによって、元の処理内容を復元することができる。このように予備系ブロックの領域を常に確保することによって、異常発生時に信号処理装置の復帰時間を短くすることができる。
[実施の形態2]
実施の形態2では、運用系ブロックおよび予備系ブロックが同一の処理を実行できるように構成される。ただし予備系ブロックは、実際には処理を行なわず、リセット状態にある。1つの運用系ブロックに異常が生じた際に、予備系ブロックのリセットが解除される。
なお、実施の形態2に係る信号処理装置は、図1に示されるように構成される。したがって、実施の形態2に係る信号処理装置の構成要素については詳細な説明を繰り返さない。
図9は、本発明の実施の形態2に係る信号処理装置の構成方法の一例を説明したフローチャートである。図6および図9を参照して、実施の形態2に係る構成方法は、ステップS9の処理が追加される点において実施の形態1に係る構成方法と異なる。ステップS1〜S8の処理については、図6に示された処理と同様であるので以後の説明を繰り返さない。ステップS9において、予備系ブロックであるブロック1が更新されて、運用系ブロック(ブロック2〜ブロック5)と同じ機能を有する。
図10は、本発明の実施の形態2に係る信号処理装置に異常が発生した場合の処理を説明したフローチャートである。図10に示された処理は、たとえば所定の周期で実行される。図10を参照して、ステップS21において運用系ブロックのいずれかに異常が発生したかどうかが判定される。たとえばステップS21の処理はCPU102によって実行される。運用系ブロックのいずれかに異常が発生している場合(ステップS21においてYES)、ステップS22の処理が実行される。ステップS22において、ブロック制御部40は、予備系ブロックのリセット状態を解除する。運用系ブロックがすべて正常である場合(ステップS21においてNO)、ステップS22の処理はスキップされる。
実施の形態2によれば、予備系ブロックを、異常が生じた運用系ブロックに代えて使用することができる。したがって、運用を継続させることができる。また、異常時の復帰時間を短くすることができる。
[実施の形態3]
図11は、本発明の第3の実施形態に係る信処理装置の機能ブロック図である。本発明の第3の実施形態に係る信号処理装置101Aは、ブロック5(処理ブロック25)を常に、予備系ブロックとして確保する。予備系ブロックは、複数の運用領域の各々の処理内容を変更するための共通の領域として確保されており、運用系ブロックの処理内容を変更する際に、現在の処理内容を一時的に退避させるための領域として使用される。
なお、図11では、入力回路11〜14の記載が省略されているが、これは図が煩雑化するのを避けるためである。信号In1は、ブロック1とブロック5との両方に送られるように、信号処理装置101Aの内部で分配される。同様の方式によって、信号In2〜In4は、ブロック2〜4にそれぞれ送られるだけでなく、ブロック5にも送られる。入力回路11〜14は、このような信号分配処理を担う。
ブロック1〜ブロック4の各々について、ポートEnable_Bポートに選択信号SEL1〜SEL4がそれぞれ入力される。ブロック5のDisable_Aポートには、選択信号SEL1〜SEL4が入力される。
図12は、本発明の実施の形態3に係る再構成方法を説明するためのフローチャートである。例としてブロック1の処理内容を変更する場合について説明する。図12を参照して、まず、ステップS31において、ブロック1の処理内容をブロック5にコピーする。すなわち、ブロック1のコンフィグレーションデータの内容をブロック5に反映させる。ブロック5はリセット状態にある。
次にステップS32において、ブロック制御部40は、ブロック1からのエンプティ信号Emp1に基づいて、ブロック1がエンプティであるか否かを判定する。ブロック1がエンプティでない場合(ステップS32においてNO)、ステップS32の処理が繰り返される。すなわちブロック制御部40は、ブロック1がエンプティとなるまで待機する。ブロック1がエンプティになった場合(ステップS32においてYES)、処理はステップS33に進む。
ステップS33において、ブロック制御部40は、選択信号SEL1をハイからローに切換える。以後に到来するフレームは、ブロック1ではなく、ブロック5により受信される(割り当てられる)。
ステップS34において、ブロック制御部40は、ブロック1をリセット状態にする。
ステップS35において、ブロック1の処理内容が変更される。まず、不揮発性メモリ103に記憶された、ブロック1のコンフィグレーションデータがCPU102によって更新される。次に、そのコンフィグレーションデータが信号処理装置101Aにロードされる。たとえばブロック制御部40が、そのコンフィグレーションデータに従って、ブロック1を再構成する。
ステップS36において、ブロック制御部40は、ブロック5からのエンプティ信号Emp5に基づいて、ブロック5がエンプティであるか否かを判定する。ブロック5がエンプティでない場合(ステップS36においてNO)、ステップS36の処理が繰り返される。すなわちブロック制御部40は、ブロック5がエンプティとなるまで待機する。ブロック5がエンプティになった場合(ステップS36においてYES)、処理はステップS37に進む。
ステップS37において、ブロック制御部40は、選択信号SEL1をローからハイに切換える。以後に到来するフレームは、ブロック5ではなく、ブロック1により受信される(割り当てられる)。したがって、フレームの境界でブロック1の処理内容を更新することができる。
ステップS38において、ブロック制御部40は、ブロック5をリセット状態にする。ステップS38の処理が終了すると、全体の処理が終了する。
ブロック2〜ブロック4の各々の処理内容を変更する場合にも、図12のフローチャートに従って処理が実行される。この場合には、図12に示された「ブロック1」がブロック2〜ブロック4の各々に置き換えられる。
以上のように実施の形態3によれば、フレームの境界において処理ブロックの処理内容を変更することができる。したがって、実施の形態1と同様に、実施の形態3によれば無瞬断で処理ブロックの処理内容を変更することができる。
また、実施の形態3によれば、複数の運用領域の間で実使用領域の大きさが異なる可能性がある場合にも、処理領域の全体のサイズが増大するのを抑えることができる。実施の形態1あるいは実施の形態2では、複数の運用領域のサイズを同じにするとともに、そのサイズを最大の実使用領域に応じたサイズにする必要がある。実施の形態3によれば、たとえば予備領域のサイズは複数の運用領域のサイズのうちの最大のサイズと同じであればよい。したがって、処理領域のサイズの増大を抑制することができる。
なお、上記の各実施の形態では、フレームを処理すべきブロックを、運用系ブロックから予備系ブロックへと切換えるために、ブロックの使用および非使用を示す情報(エンプティ信号Emp1〜Emp5)が用いられる。さらに、フレームの境界において運用系ブロックから予備系ブロックへと切換えられる。ただし、運用系ブロック(運用領域)の状態が非使用状態であるかどうかのみを検知して、フレームを処理すべき領域を運用領域から予備領域へと切換えてもよい。運用領域の非使用状態とは、運用領域においてフレームの処理が終了した状態に相当する。つまり、運用領域が非使用状態であるときには、次のフレームがまだ信号処理装置に到来していない状態に相当する。この状態においてフレームを処理すべき領域を、運用領域から予備領域へと切換えることで、次のフレームは予備領域によって処理することができる。
あるいは、エンプティ信号を用いずに、予備領域のフレームの境界を検出して、フレームを処理すべきブロックを、運用系ブロックから予備系ブロックへと切換えてもよい。たとえば、予備系ブロックへの変更後の処理内容が開始される。その時点から信号処理装置に到来する所定数のフレームは運用系ブロックで処理される。その次に到来したフレームは、予備系ブロックで処理される。すなわち、上記の所定数のフレームが、運用領域で処理することが確定されたフレームとなり、その次からのフレームが予備領域に割り当てられるフレームとなる。
このように、予備領域に処理内容が書き込まれ、運用領域が処理することが確定されたフレームより後のフレームを予備領域に割り当てるように処理が行われるのであれば、その具体的な方法は、上記の各実施の形態に示された方法以外の方法も採用することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11〜14 入力回路、21〜25 処理ブロック、24a 実使用領域、24b 余裕領域、31〜34 選択回路、40 ブロック制御部、101,101A 信号処理装置、102 CPU、103 不揮発性メモリ、111 接続領域、241 接続点。

Claims (9)

  1. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て
    前記処理領域は、前記運用領域または前記予備領域となり得るように予め確保された複数の処理ブロックを含み、
    前記運用領域の前記現在の処理内容または前記変更後の処理内容が書き込まれるべき前記予備領域は、前記複数の処理ブロックのうち前記運用領域の隣の処理ブロックである、信号処理装置。
  2. 前記フレームの境界で、前記フレームを処理すべき領域を、前記運用領域から前記予備領域へと切換える、請求項1に記載の信号処理装置。
  3. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記運用領域は、当該運用領域の使用または非使用を示す使用情報を出力し、
    前記運用領域から出力される前記使用情報が、前記運用領域の使用から非使用へと変化した場合に、前記フレームを処理すべき領域を、前記運用領域から前記予備領域へと切換える、信号処理装置。
  4. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記運用領域および前記予備領域の各々は、
    稼働または非稼動を制御するリセット信号と、
    前記データ信号を受けるか否かを制御する選択信号とを受けるように構成され、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容を書き込むときには、前記リセット信号によって前記予備領域が非稼動状態に制御され、
    前記選択信号は、前記運用領域と前記予備領域とのうちの一方に前記データ信号が入力されるように、前記運用領域と前記予備領域とを制御するための信号である、信号処理装置。
  5. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記予備領域には、前記変更後の処理内容が書き込まれ、
    前記運用領域から前記予備領域への切換後、前記運用領域は新しい予備領域として確保される、信号処理装置。
  6. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記信号処理装置は、
    前記運用領域を複数備え、
    前記予備領域には、前記変更後の処理内容が書き込まれ、
    前記複数の運用領域を順次選択し、前記予備領域を利用して、前記複数の運用領域の各々の処理内容を変更する、信号処理装置。
  7. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記信号処理装置は、
    前記運用領域を複数備え、
    前記予備領域は、前記複数の運用領域の各々の処理内容を変更するための共通の領域として確保され、
    前記予備領域には、前記現在の処理内容が書き込まれ、
    前記運用領域から前記予備領域への切換後に、当該運用領域に、変更後の処理内容を書き込む、信号処理装置。
  8. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するようにプログラマブルロジックデバイスによって構成された信号処理装置であって、
    前記データ信号を処理するための運用領域、および前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備え、
    前記信号処理装置は、
    前記運用領域の処理を変更する場合において、前記予備領域に、当該運用領域の現在の処理内容または変更後の処理内容を書き込んでおき、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当て、
    前記信号処理装置は、前記運用領域と前記予備領域との間の接続のための接続領域を含み、
    前記運用領域の接続点は、前記運用領域と前記接続領域との境界に固定され、
    前記予備領域の接続点は、前記予備領域と前記接続領域との境界に固定される、信号処理装置。
  9. フレーム単位で到来するデータ信号を処理して、その処理結果を出力するように構成されたプログラマブルロジックデバイスの構成方法であって、
    前記プログラマブルロジックデバイスは、
    複数の処理ブロックが予め前記データ信号を処理するための運用領域および、前記運用領域のための予備領域として確保された処理領域と、
    前記運用領域に対して前記データ信号を投入する入力回路とを備える信号処理装置として構成され、
    前記構成方法は、
    前記複数の処理ブロックのうち前記運用領域の隣の処理ブロックを前記予備領域として、前記予備領域に、前記運用領域の現在の処理内容または変更後の処理内容を書き込むステップと、
    前記予備領域に前記現在の処理内容または前記変更後の処理内容が書き込まれると、前記運用領域が処理することが確定されたフレームより後のフレームを、前記予備領域に割り当てるステップとを備える、プログラマブルロジックデバイスの構成方法。
JP2013007368A 2013-01-18 2013-01-18 信号処理装置およびプログラマブルロジックデバイスの構成方法 Active JP6111680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013007368A JP6111680B2 (ja) 2013-01-18 2013-01-18 信号処理装置およびプログラマブルロジックデバイスの構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013007368A JP6111680B2 (ja) 2013-01-18 2013-01-18 信号処理装置およびプログラマブルロジックデバイスの構成方法

Publications (2)

Publication Number Publication Date
JP2014138382A JP2014138382A (ja) 2014-07-28
JP6111680B2 true JP6111680B2 (ja) 2017-04-12

Family

ID=51415653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013007368A Active JP6111680B2 (ja) 2013-01-18 2013-01-18 信号処理装置およびプログラマブルロジックデバイスの構成方法

Country Status (1)

Country Link
JP (1) JP6111680B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6489954B2 (ja) * 2015-06-19 2019-03-27 ルネサスエレクトロニクス株式会社 半導体装置及びその制御方法
WO2017188416A1 (ja) * 2016-04-28 2017-11-02 Necソリューションイノベータ株式会社 回路装置、回路書き換え方法、及びコンピュータ読み取り可能な記録媒体
JP6751057B2 (ja) * 2017-07-04 2020-09-02 日立オートモティブシステムズ株式会社 電子制御システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3165320B2 (ja) * 1994-03-31 2001-05-14 三菱電機株式会社 自己修復回路
JP3365581B2 (ja) * 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP5359142B2 (ja) * 2008-09-18 2013-12-04 富士通株式会社 伝送装置
US8860460B1 (en) * 2012-11-05 2014-10-14 Altera Corporation Programmable integrated circuits with redundant circuitry

Also Published As

Publication number Publication date
JP2014138382A (ja) 2014-07-28

Similar Documents

Publication Publication Date Title
US8299816B2 (en) Data processing apparatus
KR102504172B1 (ko) 소프트 코어 프로세서에 기초한 fpga 멀티-미러 업그레이드 로딩 방법 및 장치
US9313364B2 (en) Image processing apparatus and control method for the same
JP4152319B2 (ja) データ処理システムおよびその制御方法
US8917111B1 (en) Configuration of programmable integrated circuits
JP2000311156A (ja) 再構成可能並列計算機
US10289787B2 (en) Control program and control method for programmable logic device and information processing apparatus including the same
JP6111680B2 (ja) 信号処理装置およびプログラマブルロジックデバイスの構成方法
JP5158187B2 (ja) ストレージ装置、ストレージ制御装置およびストレージ制御方法
JP2016035692A (ja) 画像処理装置、システム、情報処理方法及びプログラム
US8386759B1 (en) Integrated circuit boot method and apparatus for configuring memory device read mode using programmable circuitry boot code read from the memory device
JP2016103755A (ja) 情報処理装置、情報処理装置を備えた画像処理装置、その制御方法及びプログラム
JP2006236106A (ja) データ処理装置及びデータ処理方法
JP2010072843A (ja) 検証用デバイス及び検証装置並びに検証システム
US9237096B2 (en) Network relay apparatus
US7768300B1 (en) Programmable logic device providing serial peripheral interfaces
JP5034979B2 (ja) 起動装置、起動方法、及び、起動プログラム
JP6816380B2 (ja) 画像処理装置、画像処理方法、情報処理プログラム、および記録媒体
JP2016110499A (ja) データ処理装置およびデータ処理方法
US11461524B2 (en) Information processing apparatus and configuration method
US11169945B1 (en) Bridge supporting multiple interfaces access to subsystem
JP4853185B2 (ja) 情報処理システム
JP2009070265A (ja) 情報処理装置
JP2006303730A (ja) 半導体集積回路装置および半導体集積回路装置の設計装置
JP3836109B2 (ja) プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170227

R150 Certificate of patent or registration of utility model

Ref document number: 6111680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250