(57)【要約】【課題】複数のプログラム可能なロジックデバイスで、より簡単に、且つ、より迅速に信号処理を実現できるようにする。【解決手段】  内部バス５１−１−２は、信号処理装置を構成するFPGA１−２に対応する外部RAM１１−２に書き込まれるか、または、外部RAM１１−２から読み出されるデータを伝送する。内部RAM７２−１−１乃至内部RAM７２−１−ｍは、内部バス５１−１−２によって伝送されるデータを記憶する。信号処理部７１−１は、内部RAM７２−１−１乃至内部RAM７２−１−ｍに記憶されているデータを基に、信号を処理する。内部バス５１−１−２、内部RAM７２−１−１乃至内部RAM７２−１−ｍ、および信号処理部７１−１は、プログラミングされることによって実現される。本発明は、信号処理装置を構成する、FPGAなどのプログラム可能なロジックデバイスに適用することができる。【選択図】図２
2005202504.tif 000002
【特許請求の範囲】
【請求項１】
信号処理装置を構成するプログラム可能なロジックデバイスにおいて、
前記信号処理装置を構成する他のデバイスに対応する第１の記憶媒体に書き込まれるか、
または、前記第１の記憶媒体から読み出される第１のデータのみを伝送する第１の伝送手段と、
前記第１の伝送手段によって伝送される前記第１のデータを記憶する記憶手段と、
前記記憶手段に記憶されている前記第１のデータを基に、信号を処理する信号処理手段と
を含み、
前記第１の伝送手段、前記記憶手段、および前記信号処理手段は、プログラミングされることによって実現される
ことを特徴とするロジックデバイス。
【請求項２】
自分に対応する第２の記憶媒体に書き込まれるか、または前記第２の記憶媒体から読み出される第２のデータのみを伝送する、プログラミングされることによって実現される第２の伝送手段をさらに含み、
前記記憶手段は、前記第１のデータ、または前記第２の伝送手段によって伝送される前記第２のデータを記憶し、
前記信号処理手段は、前記記憶手段に記憶されている前記第１のデータまたは前記第２のデータを基に、前記信号を処理する
ことを特徴とする請求項１に記載のロジックデバイス。
【請求項３】
前記他のデバイスにおける信号処理に対して、前記信号処理手段における信号処理を同期させる同期手段をさらに含む
ことを特徴とする請求項１に記載のロジックデバイス。
【請求項４】
信号処理装置を構成するロジックデバイスをプログラミングするプログラミング装置のプログラミング方法において、
前記信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または前記記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップと、
前記伝送手段によって伝送される前記データを記憶する記憶手段を実現する第２のステップと、
前記記憶手段に記憶されている前記データを基に、信号を処理する信号処理手段を実現する第３のステップと
を含むことを特徴とするプログラミング方法。
【請求項５】
信号処理装置を構成するロジックデバイスをプログラミングする処理を、コンピュータに行わせるプログラムにおいて、
前記信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または前記記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップと、
前記伝送手段によって伝送される前記データを記憶する記憶手段を実現する第２のステップと、
前記記憶手段に記憶されている前記データを基に、信号を処理する信号処理手段を実現する第３のステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置、プログラミング方法、およびプログラムに関し、特に、ディジタル回路設計の変更を容易に行うことができるようにした信号処理装置、プログラミング方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、IC（Integrated Circuit）やFPGA（Field Programmable Gate Array）などを用いた基板では、より少ない数のチップで、回路規模に問題がなければ１つのチップで処理が完結するような回路設計（システム設計）がされていた。
【０００３】
また、ディジタル回路設計において、CPLD（Complex Programmable Logic Device）やFPGAなどのPLD（Programmable Logic Device）を用いた基板は、内部論理を入れ替えれば様々な処理が可能であった。これにより、FPGAを利用した装置が、多数提案されている。
【０００４】
例えば、特許文献１には、ビデオ処理システムにおいて、従来のフレームバッファと、従来のデジタルアナログ変換機と共に、プログラマブルロジックデバイスを付加し、実時間およびオフスクリーン処理能力を供給し、ビデオ出力能力を高くすることが提案されている。
【０００５】
また、特許文献２には、プリンタやスキャナなどの画像処理装置において、制御回路の回路構成をFPGAにより構成し、ヘッドがプリントヘッドからスキャナヘッドに交換された場合、交換後のヘッドに適合するように、制御回路が再プログラムされる。すなわち、ノズル配列、解像度、ヘッド側データ受信ロジック、およびインク特性などが変更されるように、FPGAの回路構成を変更することが提案されている。
【０００６】
さらに、特許文献３には、装置内部にFPGAを配置することで電子回路構成を任意に変更可能にし、一つの装置で複数の処理機能を実現することが提案されている。
【０００７】
また、特許文献４には、FPGAを備えた装置とネットワークを介して接続される管理装置およびネットワークを介してアクセスすることができる端末を設ける。これにより、FPGA装置の開発、運用、保守時に、ネットワーク上に存在するFPGAを備えた装置のFPGAに対してFPGAコンフィグレーションデータの提供やFPGAの運用状況を確認可能にすることが提案されている。
【特許文献１】特表平８−５０４５１４号公報
【特許文献２】特開２０００−１１２７４４号公報
【特許文献３】特開２００１−２５７５８４号公報
【特許文献４】特開２００１−３０６３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、複数のチップで処理がなされるような回路設計がされる場合、各チップ毎にインターフェースが異なってくるため、回路全体を見る人の負担が重くなってしまい、各チップの設計者は他のチップの設計に手を出しづらくなる（設計の変更が困難になる）という課題があった。
【０００９】
また、回路全体を見たとき、複数の外部RAM（Random Access Memory）に同じデータを重複し記憶しておくような場合が生じてしまう。これを回避するために、外部RAMを他のチップからアクセス可能にしようとすると、アクセスを制御するためのチップを追加しなければならないという課題があった。
【００１０】
さらに、FPGAで構成される基板であれば、後で回路（システム）の入れ替えが可能であるが、変更の内容によっては回路（システム）を最初から見直す必要がでてくるという課題があった。
【００１１】
すなわち、複数のPLDで機能を実現する場合、回路設計（プログラミング）そのものに手間がかかりすぎるという課題があった。また、１つのPLDにおいて設計が変更された場合、他のPLDにおいても設計を変更しなければならないときがあるという課題があった。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、複数のプログラム可能なロジックデバイスで信号処理を実現する場合に、より簡単に、且つ、より迅速に実現できるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の信号処理装置は、信号処理装置を構成する他のデバイスに対応する第１の記憶媒体に書き込まれるか、または、第１の記憶媒体から読み出される第１のデータのみを伝送する第１の伝送手段と、第１の伝送手段によって伝送される第１のデータを記憶する記憶手段と、記憶手段に記憶されている第１のデータを基に、信号を処理する信号処理手段とを含み、第１の伝送手段、記憶手段、および信号処理手段は、プログラミングされることによって実現されることを特徴とする。
【００１４】
自分に対応する第２の記憶媒体に書き込まれるか、または第２の記憶媒体から読み出される第２のデータのみを伝送する、プログラミングされることによって実現される第２の伝送手段をさらに含み、記憶手段は、第１のデータ、または第２の伝送手段によって伝送される第２のデータを記憶し、信号処理手段は、記憶手段に記憶されている第１のデータまたは第２のデータを基に、信号を処理するようにすることができる。
【００１５】
他のデバイスにおける信号処理に対して、信号処理手段における信号処理を同期させる同期手段をさらに含むようにすることができる。
【００１６】
本発明のプログラミング方法は、信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップと、伝送手段によって伝送されるデータを記憶する記憶手段を実現する第２のステップと、記憶手段に記憶されているデータを基に、信号を処理する信号処理手段を実現する第３のステップとを含むことを特徴とする。
【００１７】
本発明のプログラムは、信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップと、伝送手段によって伝送されるデータを記憶する記憶手段を実現する第２のステップと、記憶手段に記憶されているデータを基に、信号を処理する信号処理手段を実現する第３のステップとを含むことを特徴とする。
【００１８】
第１の本発明においては、プログラミングによって実現された第１の伝送手段により信号処理装置を構成する他のデバイスに対応する第１の記憶媒体に書き込まれるか、または、第１の記憶媒体から読み出される第１のデータのみが伝送され、プログラミングによって実現された記憶手段により伝送された第１のデータが記憶され、プログラミングによって実現された信号処理手段により記憶された第１のデータを基に、信号が処理される。
【００１９】
第２の本発明においては、プログラミングによって、信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または記憶媒体から読み出されるデータのみを伝送する伝送手段が実現され、伝送されるデータを記憶する記憶手段が実現され、記憶されているデータを基に、信号を処理する信号処理手段が実現される。
【発明の効果】
【００２０】
本発明によれば、複数のプログラム可能なロジックデバイスで信号処理を実現することができる。また、本発明によれば、複数のプログラム可能なロジックデバイスで信号処理を実現する場合に、より簡単に、且つより迅速に実現できるようにするものである。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２３】
本発明によれば、ロジックデバイスが提供される。このロジックデバイス（例えば、図２のFPGA１−１）は、信号処理装置（例えば、外部RAM１１−１とFPGA１−１とを組み合わせた装置）を構成するプログラム可能なロジックデバイスであって、信号処理装置を構成する他のデバイス（例えば、図２のFPGA１−２）に対応する第１の記憶媒体（例えば、図２の外部RAM１１−２）に書き込まれるか、または、第１の記憶媒体から読み出される第１のデータのみを伝送する第１の伝送手段（例えば、図２の内部バス５１−１−２や内部バス６１−１−２）と、第１の伝送手段によって伝送される第１のデータを記憶する記憶手段（例えば、図２の内部RAM７２−１−１乃至７２−１−ｍ）と、記憶手段に記憶されている第１のデータを基に、信号を処理する信号処理手段（例えば、図２の信号処理部７１−１）とを含み、第１の伝送手段、記憶手段、および信号処理手段は、プログラミングされることによって実現されることを含む。
【００２４】
このロジックデバイスは、自分（例えば、図２のFPGA１−１）に対応する第２の記憶媒体（例えば、図２の外部RAM１１−１）に書き込まれるか、または第２の記憶媒体から読み出される第２のデータのみを伝送する、プログラミングされることによって実現される第２の伝送手段（例えば、図２の内部バス５１−１−１、内部バス６１−１−１）をさらに含み、記憶手段は、第１のデータ、または第２の伝送手段によって伝送される第２のデータを記憶し、信号処理手段は、記憶手段に記憶されている第１のデータまたは第２のデータを基に、信号を処理するようにすることができる。
【００２５】
このロジックデバイスは、他のデバイスにおける信号処理に対して、信号処理手段における信号処理を同期させる同期手段（例えば、図４のシフトレジスタ８３−１）をさらに含むようにすることができる。
【００２６】
本発明によれば、プログラミング方法が提供される。このプログラミング方法は、信号処理装置を構成するロジックデバイスをプログラミングするプログラミング装置（例えば、図８のFPGAプログラミング装置１６１）のプログラミング方法であって、信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップ（例えば、図１０のステップＳ３やステップＳ４）と、伝送手段によって伝送されるデータを記憶する記憶手段を実現する第２のステップ（例えば、図１０のステップＳ５）と、記憶手段に記憶されているデータを基に、信号を処理する信号処理手段を実現する第３のステップ（例えば、図１０のステップＳ６）とを含む。
【００２７】
本発明によれば、プログラムが提供される。このプログラムは、信号処理装置を構成するロジックデバイスをプログラミングする処理を、コンピュータに行わせるプログラムであって、信号処理装置を構成する他のデバイスに対応する記憶媒体に書き込まれるか、または記憶媒体から読み出されるデータのみを伝送する伝送手段を実現する第１のステップ（例えば、図１０のステップＳ３やステップＳ４）と、伝送手段によって伝送されるデータを記憶する記憶手段を実現する第２のステップ（例えば、図１０のステップＳ５）と、記憶手段に記憶されているデータを基に、信号を処理する信号処理手段を実現する第３のステップ（例えば、図１０のステップＳ６）とを含む。
【００２８】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２９】
図１は本発明を適用した信号処理装置の構成例を示している。FPGA１−１乃至１−ｎのそれぞれは、所定の信号処理を実行する。外部RAM１１−１乃至１１−ｎのそれぞれは、FPGA１−１乃至１−ｎにおける信号処理に必要な信号（データ）を記憶する。
【００３０】
この信号処理装置では、FPGA１−１乃至１−ｎのそれぞれが、外部RAM１１−１乃至１１−ｎのそれぞれと外部バス２１−１乃至２１−ｎのそれぞれを介して相互に接続される。また、FPGA１−１およびFPGA１−２は、外部バス３１−１−１乃至３１−１−ｎを介して相互に接続され、同様にして、FPGA１−２乃至１−ｎのそれぞれは、隣り合うFPGA同士で外部バス（例えば、外部バス３１−２−１乃至３１−２−ｎや外部バス３１−（ｎ−１）−１乃至３１−（ｎ−１）−ｎ）を介して相互に接続される。
【００３１】
例えば、外部バス３１−１−１、および外部バス３１−２−１乃至外部バス３１−（ｎ−１）−１は、外部RAM１１−１に書き込まれるか、または外部RAM１１−１から読み出される信号（データ）を伝送する。例えば、外部バス３１−１−２、および外部バス３１−２−２乃至外部バス３１−（ｎ−１）−２は、外部RAM１１−２に書き込まれるか、または外部RAM１１−２から読み出される信号（データ）を伝送する。
【００３２】
同様に、例えば、外部バス３１−１−３（図示せず）および外部バス３１−２−３乃至外部バス３１−（ｎ−１）−３（図示せず）、並びに外部バス３１−１−ｎおよび外部バス３１−２−ｎ乃至外部バス３１−（ｎ−１）−ｎのそれぞれは、外部RAM１１−３（図示せず）乃至外部RAM１１−ｎのいずれかに書き込まれるか、またはいずれかから読み出される信号（データ）を伝送する。
【００３３】
すなわち、１つのFPGAに対して、１つの外部RAMの組み合わせ（例えば、FPGA１−１と外部RAM１１−１の組み合わせ）が原則として信号処理装置の最小の構成要素とされ、これが複数個接続されることで信号処理装置が構成される。なお、構成要素は、外部RAMを含まず、１つのFPGAのみからなる場合もある。
【００３４】
例えば、FPGA１−１乃至１−ｎは、図２を参照して後述する信号処理部７１−１乃至７１−ｎを有し、それぞれが異なる所定の処理を行う。外部RAM１１−１乃至１１−ｎのそれぞれは、例えば、SSRAM（Synchronous Static Random Access Memory）により構成され、対応するFPGA１−１乃至１−ｎのそれぞれによって処理されるデータを保持する。また、外部RAM１１−１乃至１１−ｎのそれぞれに対するデータの読み出し、または書き込みの制御は、外部バス２１−１乃至２１−ｎのそれぞれを介して接続されているFPGA１−１乃至１−ｎのいずれか１つによって行われる。
【００３５】
図２は、プログラミングによって実現される、FPGA１−１乃至１−ｎの機能の構成例を示している。FPGA１−１は、処理部４１−１、レジスタ４２−１、およびレジスタ４３−１により構成されている。処理部４１−１は、外部RAM１１−１乃至外部RAM１１−ｎに記憶されている信号（データ）を基に、信号処理を実行する。レジスタ４２−１およびレジスタ４３−１は、いわゆるＤフリップフロップである。
【００３６】
レジスタ４２−１とレジスタ４３−１は、内部バス５１−１−１乃至５１−１−ｎを介して接続されている。外部バス２１−１は、内部バス５１−１−１に接続されている。また、レジスタ４３−１は、外部バス３１−１−１乃至３１−１−ｎに接続されている。レジスタ４３−１は、図示せぬクロック信号を基に、内部バス５１−１−１のデータを、外部バス３１−１−１に出力する。また、レジスタ４３−１は、図示せぬクロック信号を基に、外部バス３１−１−２乃至外部バス３１−１−ｎのそれぞれを介して伝送されてきたデータを、内部バス５１−１−２乃至内部バス５１−１−ｎに出力する。
【００３７】
内部バス５１−１−１乃至５１−１−ｎのそれぞれは、内部バス６１−１−１乃至６１−１−ｎのそれぞれを介して処理部４１−１に接続されている。
【００３８】
すなわち、内部バス５１−１−１乃至５１−１−ｎのいずれかを介して伝送されるデータは、内部バス６１−１−１乃至６１−１−ｎのいずれかを介して処理部４１−１に供給される。また、処理部４１−１は、内部バス６１−１−１乃至６１−１−ｎのいずれかを介して、内部バス５１−１−１乃至５１−１−ｎのいずれかにデータを伝送させる。
【００３９】
なお、レジスタ４２−１、レジスタ４３−１、および内部バス５１−１−１乃至５１−１−ｎ、内部バス６１−１−１乃至６１−１−ｎの詳細な構成は、図６を参照して後述する。
【００４０】
内部バス５１−１−１乃至５１−１−ｎおよび内部バス６１−１−１乃至６１−１−ｎの数は、外部RAM１１−１乃至１１−ｎの数と同じである。すなわち、この場合、各内部バスおよび外部RAMは、ｎ個設けられている。
【００４１】
処理部４１−１は、信号処理部７１−１と内部RAM７２−１−１乃至７２−１−ｍにより構成されている。信号処理部７１−１は、内部バス７３−１を介して、内部RAM７２−１−１乃至７２−１−ｍに記憶されているデータを取得して、信号処理を実行する。信号処理部７１−１は、信号処理の結果を示すデータを、内部バス７３−１を介して内部RAM７２−１−１乃至７２−１−ｍに記憶させる。
【００４２】
内部RAM７２−１−１乃至７２−１−ｍは、例えば、SRAM（Static Random Access Memory）として構成される。内部RAM７２−１−１乃至７２−１−ｍは、内部バス６１−１−１乃至６１−１−ｎを介して伝送されてきたデータを記憶し、記憶している信号処理の結果を示すデータを内部バス６１−１−１乃至６１−１−ｎを介して、出力する。信号処理部７１−１は、内部バス７３−１を介して全ての内部RAM７２−１−１乃至７２−１−ｍと接続される。
【００４３】
従って、外部RAM１１−１に保持されているデータは、外部バス２１−１、内部バス５１−１−１、および内部バス６１−１−１に順に伝送され、処理部４１−１に供給される。処理部４１−１に供給されたデータは、内部RAM７２−１−１乃至７２−１−ｍのいずれかに記憶され、データを伝送する内部バス７３−１を介して信号処理部７１−１に供給される。信号処理部７１−１は、供給されたデータに対して所定の処理を行い、その処理結果を上述した外部RAM１１−１から信号処理部７１−１にデータを供給する順序とは逆の順序でデータ（処理結果）の転送を行い、外部RAM１１−１に記憶させる。このように、外部RAM１１−１に保持されているデータは、直接、信号処理部７１−１に供給されることはなく、必ず内部RAM７２−１−１乃至７２−１−ｍを介して供給される。
【００４４】
以上のように、データ処理は、各FPGA単体で完結する。また、データ処理は、完全にFPGAの外部と内部に分離される。
【００４５】
FPGA１−２乃至１−ｎもFPGA１−１と基本的に同様の構成とされるので、その詳細な説明は適宜省略する。
【００４６】
FPGA１−２は、処理部４１−２、レジスタ４２−２、およびレジスタ４３−２により構成されている。レジスタ４２−２は、図示せぬクロック信号を基に、内部バス５１−２−２のデータを、外部バス３１−１−２に出力する。レジスタ４２−２は、図示せぬクロック信号を基に、外部バス３１−１−１または、外部バス３１−１−３（図示せず）乃至３１−１−ｎを介して伝送されてきたデータを、内部バス５１−２−１または内部バス５１−２−３（図示せず）乃至５１−２−ｎに出力する。
【００４７】
レジスタ４３−２は、図示せぬクロック信号を基に、内部バス５１−２−２のデータを、外部バス３１−２−２に出力する。レジスタ４３−２は、図示せぬクロック信号を基に、外部バス３１−２−１または外部バス３１−２−３（図示せず）乃至３１−２−ｎを介して伝送されてきたデータを、内部バス５１−２−１または内部バス５１−２−３（図示せず）乃至５１−２−ｎに出力する。
【００４８】
同様に、FPGA１−３（図示せず）乃至１−ｎは、それぞれ、処理部４１−３乃至４１−ｎのいずれか１つ、レジスタ４２−３乃至４２−ｎのいずれか１つ、およびレジスタ４３−３乃至４３−ｎのいずれか１つにより構成されている。
【００４９】
レジスタ４２−３（図示せず）乃至４２−ｎは、それぞれ、図示せぬクロック信号を基に、内部バス５１−３−３（図示せず）のデータ乃至５１−ｎ−ｎのデータのそれぞれを、外部バス３１−２−３（図示せず）乃至外部バス３１−（ｎ−１）−ｎのそれぞれに出力する。レジスタ４２−３乃至４２−ｎは、図示せぬクロック信号を基に、外部バス３１−２−３乃至外部バス３１−（ｎ−１）−ｎを除く、外部バス３１−２−１乃至３１−（ｎ−１）−（ｎ−１）を介して伝送されてきたデータを、内部バス５１−３−１（図示せず）乃至内部バス５１−ｎ−（ｎ−１）（図示せず）に出力する。
【００５０】
レジスタ４３−３（図示せず）乃至４３−（ｎ−１）（図示せず）は、それぞれ、図示せぬクロック信号を基に、内部バス５１−３−３（図示せず）のデータ乃至内部バス５１−（ｎ−１）−（ｎ−１）のデータのそれぞれを、外部バス３１−３−３（図示せず）乃至外部バス３１−（ｎ−１）−（ｎ−１）のそれぞれに出力する。レジスタ４３−３乃至４３−（ｎ−１）は、図示せぬクロック信号を基に、外部バス３１−３−３乃至外部バス３１−ｎ−ｎを除く、外部バス３１−２−１乃至３１−（ｎ−１）−ｎを介して伝送されてきたデータを、内部バス５１−３−１（図示せず）乃至内部バス５１−（ｎ−１）−（ｎ−１）（図示せず）に出力する。
【００５１】
すなわち、例えば、外部RAM１１−１乃至１１−ｎの中のｇ番目の外部RAM１１−ｇに保持されているデータを、対応するFPGA１−ｇの処理部４１−ｇに供給する場合、外部RAM１１−ｇに保持されているデータが、外部バス２１−ｇ、内部バス５１−ｇ−ｇ、および内部バス６１−ｇ−ｇを介して、処理部４１−ｇに供給される。
【００５２】
なお、処理部４１−１乃至４１−ｎのそれぞれの内部RAM（例えば、内部RAM７２−１−１乃至７２−１−ｍや内部RAM７２−２−１乃至７２−２−ｋ）の個数は、図２上では、処理部４１−１乃至４１−ｎ内に２つ以上有するように示されているが、１つの内部RAMが充分な記憶容量を有していれば、１つでもよい。
【００５３】
また、FPGA１−１乃至１−ｎのそれぞれは、図１を参照して上述したように、隣り合うFPGA同士で、外部バス３１−１−１乃至３１−（ｎ−１）−１によって相互に接続されている。例えば、FPGA１−１とFPGA１−２は、FPGA１−１のレジスタ４３−１およびFPGA１−２のレジスタ４２−２が外部バス３１−１−１乃至３１−１−ｎを介して接続されている。また、重複して説明するとFPGA１−１乃至１−ｎの中の（ｇ−１）番目のFPGA１−（ｇ−１）とｇ番目のFPGA１−ｇは、FPGA１−（ｇ−１）のレジスタ４３−（ｇ−１）およびFPGA１−ｇのレジスタ４２−ｇが外部バス３１−（ｇ−１）−１乃至３１−（ｇ−１）−ｎを介して接続される。
【００５４】
外部RAM１１−１乃至１１−ｎの中のｊ番目の外部RAM１１−ｊに保持されているデータを、FPGA１−ｇの処理部４１−ｇに供給する場合、外部RAM１１−ｊに保持されているデータが、外部バス２１−ｊおよび内部バス５１−ｊ−ｊ、または外部バス３１−１−ｊ乃至３１−（ｎ−１）−ｊ、もしくは内部バス５１−１−ｊ乃至５１−ｎ−ｊを介し、さらに内部バス６１−ｇ−ｊを介して、処理部４１−ｇに供給される。
【００５５】
例えば、外部RAM１１−１に保持されているデータを、FPGA１−２の処理部４１−２に供給し、信号処理部７１−２が所定の処理を行う場合、外部RAM１１−１に保持されているデータが、データを伝送する外部バス２１−１、内部バス５１−１−１を介し、レジスタ４３−１に供給される。レジスタ４３−１は、供給されたデータを１クロックだけ保持し、データを伝送する外部バス３１−１−１に、供給されたデータを出力する。外部バス３１−１−１は、レジスタ４２−２に、データを伝送する。
【００５６】
レジスタ４２−２は、供給されたデータを１クロックだけ保持し、データを伝送する内部バス５１−２−１に、供給されたデータを出力する。内部バス５１−２−１に入力されたデータは、さらにデータを伝送する内部バス６１−２−１を介して処理部４１−２に供給される。
【００５７】
処理部４１−２に供給されたデータは、内部RAM７２−２−１乃至７２−２−ｋのいずれかに記憶され、データを伝送する内部バス７３−２を介して信号処理部７１−２に供給される。信号処理部７１−２は、供給されたデータ（外部RAM１１−１に保持されるデータ）を基に、所定の処理を実行する。
【００５８】
ここで、FPGA１−１乃至１−ｎのうちの複数のFPGA間で、直接的なデータの受け渡しは実行されない。例えば、FPGA１−１の信号処理部７１−１により処理されたデータを外部RAM１１−１に記憶せずに、直接、FPGA１−２の信号処理部７１−２に送信されることはない。全て外部RAM１１−１乃至１１−ｎのいずれかを経由することで、FPGA１−１乃至１−ｎのデータの授受が行われる。例えば、FPGA１−１の信号処理部７１−１により処理されたデータは、一旦、外部RAM１１−１に記憶され、外部RAM１１−１に記憶されているデータが、FPGA１−２の信号処理部７１−２に取得される。
【００５９】
このようにして、外部RAM１１−１乃至１１−ｎのそれぞれに保持されるデータは、外部RAM１１−１乃至１１−ｎのそれぞれと対応するFPGA１−１乃至１−ｎのそれぞれに供給することが可能となると共に、外部RAM１１−１乃至１１−ｎに保持されているデータは、全てのFPGA（FPGA１−１乃至１−ｎ）において、参照することが可能となる。
【００６０】
また、FPGA１−１乃至１−ｎのそれぞれは、対応する外部RAM１１−１乃至１１−ｎのそれぞれに、処理結果を格納することができるようになる共に、外部RAM１１−１乃至１１−ｎのうちの所望の１つに処理結果を格納することができるようになる。
【００６１】
外部バス３１−１−１乃至３１−（ｎ−１）−ｎ、内部バス５１−１−１乃至５１−ｎ−ｎ、および内部バス６１−１−１乃至６１−ｎ−ｎを介して、外部RAM１１−１乃至１１−ｎからデータを読み出し、または信号処理の結果のデータを外部RAM１１−１乃至１１−ｎに書き込むようにしたので、処理部４１−１乃至４１−ｎのいずれかにおける信号処理が変更になっても、外部バス３１−１−１乃至３１−（ｎ−１）−ｎ、内部バス５１−１−１乃至５１−ｎ−ｎ、および内部バス６１−１−１乃至６１−ｎ−ｎの構成を変更する必要がない。また、処理部４１−１乃至４１−ｎのいずれかにおける信号処理の変更に対応した、処理部４１−１乃至４１−ｎの他の信号の処理の変更を最小限とすることができる。
【００６２】
外部RAM１１−１乃至１１−ｎのうちの１つに記憶されているデータが、複数のFPGA１−１乃至１−ｎで使用することが可能となるので、同じデータを重複して記憶する必要がなくなり、信号処理装置全体として必要な記憶容量の外部RAM１１−１乃至１１−ｎを設ければよい。従って、より少ない記憶容量の外部RAM１１−１乃至１１−ｎで信号処理を実行することができるようになる。また、異なる箇所で同じ内容のデータに対して同じ処理を適用するなどの重複した信号処理を実行する必要がなくなり、処理の効率を向上させることが可能となる。
【００６３】
次に、図３のタイミングチャートを参照して、基本処時間内での外部RAM１１−１乃至１１−ｎへのアクセス処理を説明する。基本処理時間は、FPGA１−１乃至１−ｎにおける信号処理の単位となる時間である。例えば、基本処理時間は、図示せぬ装置から入力される入力信号の周期を、予め設定され、処理に最適な値「ａ」（ａは、整数）で除算した値とされる。また、基本処理時間内において、外部RAM１１−１乃至１１−ｎのいずれかに記憶されているデータがFPGA１−１乃至１−ｎにより読み出される場合、またはFPGA１−１乃至１−ｎのいずれかにより処理されたデータ（処理結果）が、外部RAM１１−１乃至１１−ｎのいずれかに対して書き込まれる場合には、各々のデータは、送信先のアドレスなどの制御情報を付加された単位に分割される。また、データが分割された単位は、基本処理時間を分割した、より短い時間単位である「slot」（スロット）を基に、外部RAM１１−１乃至１１−ｎに書き込まれるか、または外部RAM１１−１乃至１１−ｎから読み出される。
【００６４】
すなわち、例えば、基本処理時間の前半の２つのスロットにおいて、外部RAM１１−１に保持されているデータが、そのデータを必要とするFPGA１−１乃至１−ｎ（FPGA１−１ではないFPGA１−２乃至１−ｎも含む）のいずれかに読み出される（read）。データを読み出したFPGA１−１乃至１−ｎのいずれかは、読み出したデータを基に信号の処理を実行して、基本処理時間の後半の２つのスロットにおいて、FPGA１−１乃至１−ｎのいずれかにより処理されたデータ（信号の処理の結果のデータ）が外部RAM１１−１に書き込まれる（write）。
【００６５】
また、例えば、基本処理時間の前半の３つのスロットにおいて、外部RAM１１−２に保持されているデータが、そのデータを必要とするFPGA１−１乃至１−ｎ（FPGA１−２ではないFPGA１−１、FPGA１−３乃至１−ｎも含む）のいずれかによって読み出される（read）。データを読み出したFPGA１−１乃至１−ｎのいずれかは、読み出したデータを基に信号の処理を実行して、基本処理時間の後半の１つのスロットにおいて、FPGA１−１乃至１−ｎのいずれかにより処理されたデータ（信号の処理の結果のデータ）が外部RAM１１−２に書き込まれる（write）。FPGA１−１乃至１−ｎのデータは、基本処理時間の前半と後半の間の時間で処理される。
【００６６】
１つの基本処理時間において、FPGA１−１乃至１−ｎが所定の信号の処理を実行して、次の基本処理時間において、FPGA１−１乃至１−ｎは、前回の基本処理時間における結果を基に、信号の処理を実行するか、または前回の基本処理時間における処理の対象とは別の対象に対して、信号の処理を実行する。ａ回の基本処理時間において、FPGA１−１乃至１−ｎは、順次、入力信号に対する信号の処理を実行する。
【００６７】
FPGA１−１乃至１−ｎは、基本処理時間を処理の単位とし、さらに、ａ回の基本処理時間を処理の単位として、信号の処理を実行するようにしたので、FPGA１−１乃至１−ｎのそれぞれにおける信号処理のタイミングの変更や、処理内容の分担の変更などをより容易に行うことができるようになる。
【００６８】
このように、基本処理時間において、外部RAM１１−１乃至１１−ｎに対するアクセスを行うようにしたので、信号処理装置の管理や、変更をより容易にすることができるようになる。
【００６９】
図４は、FPGAの同期回路の構成例を示している。図４では、FPGA１−１とFPGA１−２の同期回路の構成例を示している。FPGA１−１における同期回路は、レジスタ８１−１，８２−１とシフトレジスタ８３−１により構成される。FPGA１−２における同期回路は、レジスタ８１−２，８２−２とシフトレジスタ８３−２により構成される。FPGA１−３乃至１−ｎにおける同期回路も同様の構成とされる。
【００７０】
図示せぬ入力周期パルス生成部によって生成され、入力される入力信号の周期に同期するパルス（以下、入力周期パルスと称する）は、FPGA１−１のレジスタ８１−１に供給される。レジスタ８１−１は、供給された入力周期パルスを図示せぬクロック信号の１クロック（周期）だけ保持し、保持した入力周期パルスをレジスタ８２−１およびシフトレジスタ８３−１に供給する。レジスタ８２−１は、レジスタ８１−１から供給された入力周期パルスをクロック信号の１クロックだけ保持し、保持した入力周期パルスをFPGA１−２のレジスタ８１−２に供給する。
【００７１】
FPGA１−２のレジスタ８１−２は、FPGA１−１から供給された入力周期パルスをクロック信号の１クロックだけ保持し、保持した入力周期パルスをレジスタ８２−２およびシフトレジスタ８３−２に供給する。レジスタ８２−２は、供給された入力周期パルスをクロック信号の１クロックだけ保持し、保持した入力周期パルスをFPGA１−３に供給する。
【００７２】
入力周期パルスは、順次、FPGA１−３乃至１−ｎにも供給される。レジスタ８１−１，８１−２、レジスタ８２−１，および８２−２は、例えばＤフリップフロップにより構成される。
【００７３】
図５Ａに示されるように、例えば、シフトレジスタ８３−１には、FPGA１−１のレジスタ８１−１に供給される入力周期パルスに対して、レジスタ８１−１によってクロック信号の１クロックだけ遅延された入力周期パルスが供給される。シフトレジスタ８３−１は、図５Ｂに示されるように、レジスタ８１−１から供給された入力周期パルスを、クロック信号を基準とする予め定めた期間（クロック数）だけ遅延（delay）して、遅延した入力周期パルスをスタート信号として、FPGA１−１の図示せぬカウンタに供給する。
【００７４】
FPGA１−１の図示せぬカウンタは、シフトレジスタ８３−１からスタート信号としての入力周期パルスが供給されると、入力周期パルスの立ち上がりエッジにおいて（立ち上がりの時刻を基準として）、図５Ｃに示されるように、カウント値をクリアし（０に設定し）、カウントを開始する。
【００７５】
同様に、シフトレジスタ８３−２には、FPGA１−１のレジスタ８１−１に供給される入力周期パルスに対して、レジスタ８１−１，８２−１、および８１−２によってクロック信号の３クロックだけ遅延（delay）された入力周期パルスが、供給される。シフトレジスタ８３−２は、レジスタ８１−２から供給された入力周期パルスをクロック信号を基準とする予め定めた期間（クロック数）だけ遅延（delay）して、遅延した入力周期パルスをスタート信号として、FPGA１−２の図示せぬカウンタに供給する。
【００７６】
FPGA１−２の図示せぬカウンタは、シフトレジスタ８３−２からスタート信号としての入力周期パルスが供給されると、入力周期パルスの立ち上がりエッジにおいて（立ち上がりの時刻を基準として）、図５Ｃに示されるように、カウント値をクリアし（０に設定し）、カウントを開始する。
【００７７】
以下、同様にして、FPGA１−３乃至１−ｎに、FPGA１−１のレジスタ８１−１に供給される入力周期パルスに対して、所定のクロックだけ遅延した入力周期パルスが供給される。FPGA１−３乃至１−ｎにおいて、所定のクロックだけ遅延した入力周期パルスを基準に、シフトレジスタによりスタート信号の出力のタイミングが調整される。
【００７８】
例えば、ｎが２である場合、FPGA１−２のシフトレジスタ８３−２は、入力周期パルスをクロック信号の１クロック分だけ遅延させて、スタート信号としての入力周期パルスをFPGA１−２の図示せぬカウンタに出力し、FPGA１−１のシフトレジスタ８３−１は、入力周期パルスをクロック信号の３クロック分だけ遅延させて、スタート信号としての入力周期パルスをFPGA１−１の図示せぬカウンタに出力する。
【００７９】
このようにすることで、FPGA１−１およびFPGA１−２において、同じタイミングの（同期した）スタート信号が生成され、その結果、FPGA１−１のカウンタのカウンタ値と、FPGA１−２のカウンタのカウンタ値とが、同じ値になる。
【００８０】
例えば、ｎがｉである場合、FPGA１−ｉのシフトレジスタ８３−ｉは、入力周期パルスをクロック信号の１クロックだけ遅延させて、スタート信号としての入力周期パルスをFPGA１−ｉの図示せぬカウンタに出力し、FPGA１−（ｉ−１）のシフトレジスタ８３−（ｉ−１）は、入力周期パルスをクロック信号の３クロック分だけ遅延させて、スタート信号としての入力周期パルスをFPGA１−（ｉ−１）の図示せぬカウンタに出力する。ｎがｉである場合、FPGA１−ｐ（ｐ＜ｉ）のシフトレジスタ８３−ｐは、入力周期パルスをクロック信号の（１＋２×（ｉ−ｐ））クロック分だけ遅延させて、スタート信号としての入力周期パルスをFPGA１−ｐの図示せぬカウンタに出力し、FPGA１−１のシフトレジスタ８３−１は、入力周期パルスをクロック信号の（１＋２×（ｉ−１））クロック分だけ遅延させて、スタート信号としての入力周期パルスをFPGA１−１の図示せぬカウンタに出力する。
【００８１】
以上のように、FPGA１−１のレジスタ８１−１に供給される入力周期パルスを基準として、FPGA１−１乃至１−ｎにおいて、同じタイミングのスタート信号が生成され、FPGA１−１乃至１−ｎがスタート信号を基に信号の処理を実行するので、FPGA１−１乃至１−ｎの処理が同期される。その結果、FPGA１−１乃至１−ｎの管理や、FPGA１−１乃至１−ｎのそれぞれにおける信号処理の変更を容易に行うことが可能となる。
【００８２】
図６は、図２のFPGAの詳細な構成例を示している。すなわち、図６に、FPGA１−１乃至１−ｎの中の（ｇ−１）番目のFPGA１−（ｇ−１）およびｇ番目のFPGA１−ｇの回路の構成を示す。ここでは、FPGA１−（ｇ−１）およびFPGA１−ｇにおける、外部RAM１１−（ｇ−１）に保持されているデータの伝送処理について説明する。
【００８３】
ここで、FPGA１−（ｇ−１）のデータ伝送部９１−（ｇ−１）およびデータ伝送部９２−（ｇ−１）は、例えば、図２のレジスタ４２−１およびレジスタ４３−１並びにそれを接続する内部バス５１−１−１および内部バス５１−１−２、さらに内部バス５１−１−１および内部バス５１−１−２と処理部４１−１を接続する内部バス６１−１−１および６１−１−２に対応する。同様に、FPGA１−ｇのデータ伝送部９１−ｇおよびデータ伝送部９２−ｇのそれぞれは、例えば、図２のレジスタ４２−２およびレジスタ４３−２並びにそれを接続する内部バス５１−２−２および内部バス５１−２−１、さらに内部バス５１−２−２および内部バス５１−２−１と処理部４１−２を接続する内部バス６１−２−２および６１−２−１に対応する。
【００８４】
FPGA１−（ｇ−１）のデータ伝送部９１−（ｇ−１）は、外部RAM１１−（ｇ−１）から読み出されたデータ、または外部RAM１１−（ｇ−１）に書き込むデータを伝送する。
【００８５】
FPGA１−（ｇ−１）のデータ伝送部９１−（ｇ−１）は、外部RAM１１−（ｇ−１）と外部バス２１−（ｇ−１）を介して接続される外部RAMローカルインターフェース（IF）１０１−（ｇ−１）、レジスタ４２−（ｇ−１）a、トライステートバッファ１１１−（ｇ−１）、バッファゲート１１２−（ｇ−１）を有している。また、FPGA１−（ｇ−１）のデータ伝送部９１−（ｇ−１）は、レジスタ４３−（ｇ−１）a、トライステートバッファ１１３−（ｇ−１）、バッファゲート１１４−（ｇ−１）を有している。
【００８６】
外部RAMローカルインターフェース（IF）１０１−（ｇ−１）は、カウンタ１４１−（ｇ−１）のカウンタ値を基に、外部RAM１１−（ｇ−１）からのデータの読み出し、および外部RAM１１−（ｇ−１）へのデータの書き込みを制御する。外部RAMローカルインターフェース（IF）１０１−（ｇ−１）は、外部RAM１１−（ｇ−１）から読み出したデータを処理部４１−（ｇ−１）、レジスタ４２−（ｇ−１）ａ、およびレジスタ４３−（ｇ−１）ａに供給し、また、処理部４１−（ｇ−１）、バッファゲート１１２−（ｇ−１）、またはバッファゲート１１４−（ｇ−１）から供給されたデータを外部RAM１１−（ｇ−１）に書き込む。
【００８７】
レジスタ４２−（ｇ−１）ａは、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給されたデータを、クロック信号の１クロックの期間だけ保持して、保持しているデータをトライステートバッファ１１１−（ｇ−１）に供給する。
【００８８】
トライステートバッファ１１１−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）の制御の基に、レジスタ４２−（ｇ−１）ａから供給されたデータをFPGA１−（ｇ−２）に供給する。すなわち、トライステートバッファ１１１−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給される信号が“０”である場合、レジスタ４２−（ｇ−１）ａから供給されたデータが所定の閾値以上であるとき、“１”であるデータをFPGA１−（ｇ−２）に供給し、レジスタ４２−（ｇ−１）ａから供給されたデータが閾値未満であるとき、“０”であるデータをFPGA１−（ｇ−２）に供給する。また、トライステートバッファ１１１−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給される信号が“１”である場合、出力をハイインピーダンスとする。
【００８９】
バッファゲート１１２−（ｇ−１）は、FPGA１−（ｇ−２）から供給されたデータが所定の閾値以上であるとき、“１”であるデータを外部RAMローカルインターフェース（IF）１０１−（ｇ−１）に供給し、FPGA１−（ｇ−２）から供給されたデータが閾値未満であるとき、“０”であるデータを外部RAMローカルインターフェース（IF）１０１−（ｇ−１）に供給する。
【００９０】
また、レジスタ４３−（ｇ−１）ａは、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給されたデータを、クロック信号の１クロックの期間だけ保持して、保持しているデータをトライステートバッファ１１３−（ｇ−１）に供給する。
【００９１】
トライステートバッファ１１３−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）の制御の基に、レジスタ４３−（ｇ−１）ａから供給されたデータをFPGA１−ｇに供給する。すなわち、トライステートバッファ１１３−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給される信号が“０”である場合、レジスタ４３−（ｇ−１）ａから供給されたデータが所定の閾値以上であるとき、“１”であるデータをFPGA１−ｇに供給し、レジスタ４３−（ｇ−１）ａから供給されたデータが閾値未満であるとき、“０”であるデータをFPGA１−ｇに供給する。また、トライステートバッファ１１３−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から供給される信号が“１”である場合、出力をハイインピーダンスとする。
【００９２】
バッファゲート１１４−（ｇ−１）は、FPGA１−ｇから供給されたデータが所定の閾値以上であるとき、“１”であるデータを外部RAMローカルインターフェース（IF）１０１−（ｇ−１）に供給し、FPGA１−ｇから供給されたデータが閾値未満であるとき、“０”であるデータを外部RAMローカルインターフェース（IF）１０１−（ｇ−１）に供給する。
【００９３】
FPGA１−（ｇ−１）のデータ伝送部９２−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）、トライステートバッファ１２１−（ｇ−１）、バッファゲート１２２−（ｇ−１）、レジスタ４３−（ｇ−１）b、レジスタ４２−（ｇ−１）b、トライステートバッファ１２３−（ｇ−１）、およびバッファゲート１２４−（ｇ−１）を有している。
【００９４】
外部RAMインターフェース（IF）１０２−（ｇ−１）は、カウンタ１４１−（ｇ−１）のカウンタ値を基に、外部RAM１１−ｇに書き込まれるデータまたは外部RAM１１−ｇから読み出されたデータの伝送を制御する。外部RAMインターフェース（IF）１０２−（ｇ−１）は、バッファゲート１２４−（ｇ−１）から供給された外部RAM１１−ｇに書き込まれるデータを、トライステートバッファ１２１−（ｇ−１）に供給する。
【００９５】
トライステートバッファ１２１−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）の制御の基に、外部RAMインターフェース（IF）１０２−（ｇ−１）から供給されたデータをFPGA１−ｇに供給する。すなわち、トライステートバッファ１２１−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）から供給される信号が“０”である場合、外部RAMインターフェース（IF）１０２−（ｇ−１）から供給されたデータが所定の閾値以上であるとき、“１”であるデータをFPGA１−ｇに供給し外部RAMインターフェース（IF）１０２−（ｇ−１）から供給されたデータが閾値未満であるとき、“０”であるデータをFPGA１−ｇに供給する。また、トライステートバッファ１２１−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）から供給される信号が“１”である場合、出力をハイインピーダンスとする。
【００９６】
バッファゲート１２２−（ｇ−１）は、FPGA１−ｇから供給されたデータが所定の閾値以上であるとき、“１”であるデータをレジスタ４３−（ｇ−１）ｂに供給し、FPGA１−ｇから供給されたデータが閾値未満であるとき、“０”であるデータをレジスタ４３−（ｇ−１）ｂに供給する。
【００９７】
レジスタ４３−（ｇ−１）ｂは、バッファゲート１２２−（ｇ−１）から供給された、外部RAM１１−ｇから読み出されたデータを、クロック信号の１クロックの期間だけ保持して、保持しているデータをレジスタ４２−（ｇ−１）ｂおよび処理部４１−（ｇ−１）に供給する。
【００９８】
レジスタ４２−（ｇ−１）ｂは、レジスタ４３−（ｇ−１）ｂから供給されたデータを、クロック信号の１クロックの期間だけ保持して、保持しているデータをトライステートバッファ１２３−（ｇ−１）に供給する。
【００９９】
なお、レジスタ４２−（ｇ−１）ａおよびレジスタ４２−（ｇ−１）ｂは、レジスタ４２−（ｇ−１）に対応し、レジスタ４３−（ｇ−１）ａおよびレジスタ４３−（ｇ−１）ｂは、レジスタ４３−（ｇ−１）に対応する。
【０１００】
トライステートバッファ１２３−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）の制御の基に、レジスタ４２−（ｇ−１）ｂから供給されたデータをFPGA１−（ｇ−２）に供給する。すなわち、トライステートバッファ１２３−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）ｂから供給される信号が“１”である場合、レジスタ４２−（ｇ−１）ｂから供給されたデータが閾値以上であるとき、“１”であるデータをFPGA１−（ｇ−２）に供給し、レジスタ４２−（ｇ−１）ｂから供給されたデータが閾値未満であるとき、“０”であるデータをFPGA１−（ｇ−２）に供給する。また、トライステートバッファ１２３−（ｇ−１）は、外部RAMインターフェース（IF）１０２−（ｇ−１）から供給される信号が“０”である場合、出力をハイインピーダンスとする。
【０１０１】
バッファゲート１２４−（ｇ−１）は、FPGA１−（ｇ−２）から供給されたデータが所定の閾値以上であるとき、“１”であるデータを外部RAMインターフェース（IF）１０２−（ｇ−１）に供給し、FPGA１−（ｇ−２）から供給されたデータが閾値未満であるとき、“０”であるデータを外部RAMインターフェース（IF）１０２−（ｇ−１）に供給する。
【０１０２】
図４を参照して上述したように、入力周期パルスは、図示せぬ入力周期パルス生成部によって生成され、バッファゲート１３１−（ｇ−１）に入力される。バッファゲート１３１−（ｇ−１）は、入力周期パルスの値が所定の閾値以上である場合、“１”である入力周期パルスをレジスタ８１−（ｇ−１）に出力し、入力周期パルスの値が閾値未満である場合、“０”である入力周期パルスをレジスタ８１−（ｇ−１）に出力する。レジスタ８１−（ｇ−１）は、入力された入力周期パルスを１クロックだけ保持し、１クロック遅延した入力周期パルスをシフトレジスタ８３−（ｇ−１）およびレジスタ８２−（ｇ−１）に出力する。
【０１０３】
シフトレジスタ８３−（ｇ−１）は、レジスタ８１−（ｇ−１）から供給された入力周期パルスを所定の期間遅延して、遅延した入力周期パルスをスタート信号としてカウンタ１４１−（ｇ−１）に供給する。カウンタ１４１−（ｇ−１）は、シフトレジスタ８３−（ｇ−１）からスタート信号としての入力周期パルスが供給された場合、カウントを開始する。
【０１０４】
レジスタ８２−（ｇ−１）は、入力された入力周期パルスを１クロックだけ保持し、１クロック遅延した入力周期パルスをバッファゲート１３２−（ｇ−１）に出力する。バッファゲート１３２−（ｇ−１）は、入力周期パルスの値が所定の閾値以上である場合、“１”である入力周期パルスをFPGA１−ｇのバッファゲート１３１−ｇに出力し、入力周期パルスの値が閾値未満である場合、“０”である入力周期パルスをFPGA１−ｇのバッファゲート１３１−ｇに出力する。
【０１０５】
バッファゲート１３１−ｇは、入力周期パルスの値が所定の閾値以上である場合、“１”である入力周期パルスをレジスタ８１−ｇに出力し、入力周期パルスの値が閾値未満である場合、“０”である入力周期パルスをレジスタ８１−ｇに出力する。レジスタ８１−ｇは、入力された入力周期パルスを１クロックだけ保持し、１クロック遅延した入力周期パルスをシフトレジスタ８３−ｇおよびレジスタ８２−ｇに出力する。
【０１０６】
シフトレジスタ８３−ｇは、レジスタ８１−ｇから供給された入力周期パルスを所定の期間遅延して、遅延した入力周期パルスをスタート信号としてカウンタ１４１−ｇに供給する。カウンタ１４１−ｇは、シフトレジスタ８３−ｇからスタート信号としての入力周期パルスが供給された場合、カウントを開始する。
【０１０７】
レジスタ８２−ｇは、入力された入力周期パルスを１クロックだけ保持し、１クロック遅延した入力周期パルスをバッファゲート１３２−ｇに出力する。バッファゲート１３２−ｇは、入力周期パルスの値が所定の閾値以上である場合、“１”である入力周期パルスを図示せぬFPGA１−（ｇ＋１）のバッファゲート１３１−（ｇ＋１）に出力し、入力周期パルスの値が閾値未満である場合、“０”である入力周期パルスをFPGA１−（ｇ＋１）のバッファゲート１３１−（ｇ＋１）に出力する。
【０１０８】
以下、同様にして、FPGA１−（ｇ＋１）乃至FPGA１−ｎに入力周期パルスが供給される。これにより、図４を参照して上述したように、各FPGA毎に発生する遅延（delay）が、シフトレジスタ８３−１乃至８３−ｎ（図示せず）により調整され、FPGA１−１乃至１−ｎが全て同期される。
【０１０９】
FPGA１−ｇは、FPGA１−（ｇ−１）と同様に構成されているので、その説明は省略する。
【０１１０】
以下、データ伝送部９１−（ｇ−１）およびデータ伝送部９１−ｇを個々に区別する必要がないとき、単に、データ伝送部９１と称する。データ伝送部９２−（ｇ−１）およびデータ伝送部９２−ｇを個々に区別する必要のないとき、単にデータ伝送部９２と称する。
【０１１１】
次に図７のタイミングチャートを参照して、外部RAM１１−（ｇ−１）に保持されているデータがFPGA１−（ｇ−１）およびFPGA１−ｇによって読み込まれる読み込み処理、並びにFPGA１−（ｇ−１）によって所定の信号処理が適用された結果のデータが外部RAM１１−（ｇ−１）に書き込まれる書き込み処理のタイミングを説明する。
【０１１２】
外部RAMに対するアクセスは、予め設定されたタイミングで行われる。例えば、FPGA１−（ｇ−１）の外部RAM１１−（ｇ−１）に保持されているデータは、図中の０で示されるタイミング（スロット）で、データを伝送する外部バス２１−（ｇ−１）およびdata bus（local）である外部RAMローカルインターフェース（IF）１０１−（ｇ−１）を介して、FPGA１−（ｇ−１）の処理部４１−（ｇ−１）に供給され、その後、処理部４１−（ｇ−１）の図示せぬ内部RAM７２−（ｇ−１）−１乃至７２−（ｇ−１）−ｙ（ｙは、内部RAM７２−（ｇ−１）の個数を示す）のいずれかに記憶される。図示せぬ信号処理部７１−（ｇ−１）は、内部RAM７２−（ｇ−１）−１乃至７２−（ｇ−１）−ｙのいずれかに記憶されているデータを基に、信号処理を実行する。
【０１１３】
また、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）は、図中の０でしめされるタイミング（スロット）において、外部RAM１１−（ｇ−１）から読み出されたデータを、レジスタ４３−（ｇ−１）ａおよびトライステートバッファ１１３−（ｇ−１）を介して、FPGA１−ｇに供給する。
【０１１４】
FPGA１−ｇの処理部４１−ｇは、図示せぬ内部RAM７２−ｇ−１乃至７２−ｇ−ｐ（ｐは、内部RAM７２−ｇの個数を示す）のいずれかに、外部RAM１１−（ｇ−１）から読み出されたデータを記憶させる。図示せぬ信号処理部７１−ｇは、内部RAM７２−ｇ−１乃至７２−ｇ−ｐのいずれかに記憶されているデータを基に、信号処理を実行する。
【０１１５】
同様に、図７の１で示されるタイミング（スロット）において、外部RAM１１−（ｇ−１）に保持されているデータが、外部バス２１−（ｇ−１）、data bus（local）である外部RAMローカルインターフェース（IF）１０１−（ｇ−１）を介して、レジスタ４３−（ｇ−１）ａに供給される。レジスタ４３−（ｇ−１）ａは、供給されたデータを１クロックだけ保持し、保持しているデータをトライステートバッファ１１３−（ｇ−１）に供給する。トライステートバッファ１１３−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から入力される制御信号がＬ（ロー）である場合（正論理において「０」の場合）、レジスタ４３−（ｇ−１）ａから供給されたデータをFPGA１−ｇのバッファゲート１２２−ｇに供給する。
【０１１６】
バッファゲート１２２−ｇは、FPGA１−（ｇ−１１）から供給されたデータをレジスタ４２−ｇｂに供給する。レジスタ４２−ｇｂは、供給されたデータを１クロックだけ保持し、保持しているデータを処理部４１−ｇに供給する。処理部４１−ｇは、図示せぬ内蔵している内部RAM７２−ｇ−１乃至７２−ｇ−ｐ（ｐは、内部RAM７２−ｇの個数を示す）のいずれかにレジスタ４２−ｇｂから供給されたデータを記憶させる。処理部４１−ｇの図示せぬ信号処理部７１−ｇは、内部RAM７２−ｇ−１乃至７２−ｇ−ｐに記憶されたデータを基に、所定の信号処理を実行する。
【０１１７】
図７の２で示されるタイミング（スロット）において、FPGA１−（ｇ−１）により所定のデータ処理（信号処理）の処理結果がdata bus（local）である外部RAMローカルインターフェース（IF）１０１−（ｇ−１）および外部バス２１−（ｇ−１）を介して外部RAM１１−（ｇ−１）に供給され、記憶される。
【０１１８】
また、外部RAM１１−（ｇ−１）に保持されているデータをFPGA１−１乃至FPGA１−（ｇ−２）に供給する場合、所定のタイミングにおいて、外部RAM１１−（ｇ−１）に保持されているデータが、データを伝送する外部バス２１−（ｇ−１）を介し、data bus（local）である外部RAMローカルインターフェース（IF）１０１−（ｇ−１）によって読み出され、読み出されたデータがレジスタ４２−（ｇ−１）ａに供給される。レジスタ４２−（ｇ−１）ａは、供給されたデータを１クロックだけ保持し、トライステートバッファ１１１−（ｇ−１）に供給する。トライステートバッファ１１１−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から入力される制御信号がＬ（ロー）の場合、（正論理において「０」の場合）、供給されたデータを図示せぬFPGA１−（ｇ−２）に供給する。
【０１１９】
そして、FPGA１−（ｇ−２）に供給されたデータは、FPGA１−（ｇ−２）乃至FPGA１−１のそれぞれのデータ伝送部９２を介して、FPGA１−（ｇ−３）乃至FPGA１−１に順次供給される。
【０１２０】
このようにして、FPGA１−（ｇ−２）乃至FPGA１−１は、外部RAM１１−（ｇ−１）に保持されているデータを取得することができる。
【０１２１】
一方、FPGA１−（ｇ−２）乃至FPGA１−１が、信号処理の結果のデータを外部RAM１１−（ｇ−１）に記憶させる場合、FPGA１−（ｇ−２）乃至FPGA１−１は、FPGA１−（ｇ−２）乃至FPGA１−１のそれぞれのデータ伝送部９２を介して、信号処理の結果のデータを伝送し、信号処理の結果のデータをFPGA１−（ｇ−１）に供給する。FPGA１−（ｇ−１）の外部RAMローカルインターフェース（IF）１０１−（ｇ−１）は、バッファゲート１１２−（ｇ−１）を介して、FPGA１−（ｇ−２）乃至FPGA１−１のいずれかから送信されてきた、信号処理の結果のデータを取得して、取得したデータの外部RAM１１−（ｇ−１）に記憶させる。
【０１２２】
このように、FPGA１−（ｇ−２）乃至FPGA１−１は、外部RAM１１−（ｇ−１）に信号処理の結果のデータを記憶させることができる。
【０１２３】
さらに、外部RAM１１−（ｇ−１）に保持されているデータをFPGA１−（ｇ＋１）乃至FPGA１−ｎに供給する場合、所定のタイミングにおいて、外部RAM１１−（ｇ−１）に保持されているデータが、データを伝送する外部バス２１−（ｇ−１）を介し、data bus（local）である外部RAMローカルインターフェース（IF）１０１−（ｇ−１）によって読み出され、読み出されたデータがレジスタ４３−（ｇ−１）ａに供給される。レジスタ４３−（ｇ−１）ａは、供給されたデータを１クロックだけ保持し、トライステートバッファ１１３−（ｇ−１）に供給する。トライステートバッファ１１３−（ｇ−１）は、外部RAMローカルインターフェース（IF）１０１−（ｇ−１）から入力される制御信号がＬ（ロー）の場合、（正論理において「０」の場合）、供給されたデータをFPGA１−ｇのバッファゲート１２２−ｇに供給する。
【０１２４】
バッファゲート１２２−ｇは、供給されたデータを、レジスタ４２−ｇｂに供給する。レジスタ４２−ｇｂは、供給されたデータを１クロックだけ保持し、レジスタ４３−ｇｂに供給する。レジスタ４３−ｇｂは、供給されたデータを１クロックだけ保持し、トライステートバッファ１２３−ｇに供給する。トライステートバッファ１２３−ｇは、外部RAM IF１０２−ｇから入力される制御信号がＨ（ハイ）の場合、（正論理において「１」の場合）、供給されたデータを図示せぬFPGA１−（ｇ＋１）に供給する。
【０１２５】
そして、FPGA１−（ｇ＋１）に供給されたデータは、FPGA１−（ｇ＋１）乃至FPGA１−ｎのそれぞれのデータ伝送部９２を介して、FPGA１−（ｇ＋１）乃至FPGA１−ｎに順次供給される。
【０１２６】
このようにして、FPGA１−（ｇ＋１）乃至FPGA１−ｎは、外部RAM１１−（ｇ−１）に保持されているデータを取得することができる。
【０１２７】
一方、FPGA１−（ｇ＋１）乃至FPGA１−ｎが、信号処理の結果のデータを外部RAM１１−（ｇ−１）に記憶させる場合、FPGA１−（ｇ＋１）乃至FPGA１−ｎは、FPGA１−（ｇ＋１）乃至FPGA１−ｎのそれぞれのデータ伝送部９２を介して、信号処理の結果のデータを伝送し、FPGA１−ｇのデータ伝送部９２−ｇに信号処理の結果のデータを供給する。FPGA１−ｇのデータ伝送部９２−ｇは、供給された信号処理の結果のデータを取得し、取得した信号処理の結果のデータをFPGA１−（ｇ−１）に供給する。FPGA１−（ｇ−１）の外部RAMローカルインターフェース（IF）１０１−（ｇ−１）は、FPGA１−ｇから供給されたデータ、すなわち、FPGA１−（ｇ＋１）乃至FPGA１−ｎのいずれかから送信されてきた、信号処理の結果のデータを取得して、取得したデータを外部RAM１１−（ｇ−１）に記憶させる。
【０１２８】
このように、FPGA１−（ｇ＋１）乃至FPGA１−ｎは、外部RAM１１−（ｇ−１）に信号処理の結果のデータを記憶させることができる。
【０１２９】
FPGA１−１乃至FPGA１−ｎが、外部RAM１１−（ｇ−１）に保持されているデータをそれぞれ読み出して、それぞれ信号処理を実行し、信号処理の結果のデータを外部RAM１１−（ｇ−１）に記憶させると説明したが、同様に、FPGA１−１乃至１−ｎは、外部RAM１１−ｇに保持されているデータをそれぞれ読み出して、それぞれ信号処理を実行し、信号処理の結果のデータを外部RAM１１−ｇに記憶させることができる。
【０１３０】
また、同様に、FPGA１−１乃至FPGA１−ｎは、外部RAM１１−１乃至１１−ｎのいずれかに保持されているデータをそれぞれ読み出して、それぞれ信号処理を実行し、信号処理の結果のデータを外部RAM１１−１乃至１１−ｎのいずれかに記憶させることができる。
【０１３１】
このように、FPGA１−１乃至１−ｎのインターフェースにかかる部分の回路が共通化されることで、FPGA１−１乃至１−ｎの検証を容易に行うことが可能になる。
【０１３２】
FPGA１−１乃至FPGA１−ｎにおける信号処理のうち、相互の関係を考慮すべき部分がより少なくなるので、FPGA１−１乃至１−ｎを用いることにより、設計の分担により容易になり、より簡単に色々な機能を実現することが可能になる。また、装置全体の構成、および動作の理解がより容易にできるようになる。
【０１３３】
さらに、FPGAのRTL（Register Transfer Level）設計の分担を容易にし、設計の効率化に寄与することが可能となる。また、信号処理装置の拡張、修正を容易なものにしている。
【０１３４】
以下、FPGA１−１乃至FPGA１−ｎを個々に区別する必要がないとき、単に、FPGA１と称する。また、外部RAM１１−１乃至１１−ｎを個々に区別する必要がないとき、単に、外部RAM１１と称する。
【０１３５】
次に、以上の信号処理装置を構築するためのFPGAプログラミング装置１６１を説明する。FPGAプログラミング装置１６１は、FPGA１をプログラミングすることにより、信号処理装置を構築する。例えば、FPGAプログラミング装置１６１は、パーソナルコンピュータ、ワークステーション、または専用プログラミング装置である。
【０１３６】
FPGAプログラミング装置１６１は、例えば、図８で示されるように構成される。CPU（Central Processing Unit）１７１は、ROM（Read Only Memory）１７２に記憶されているプログラム、または記憶部１７９からRAM（Random Access Memory）１７３にロードされたプログラムに従って各種の処理を実行する。RAM１７３にはまた、CPU１７１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３７】
CPU１７１、ROM１７２、およびRAM１７３は、バス１７４を介して相互に接続されている。このバス１７４にはまた、入出力インターフェース１７５も接続されている。
【０１３８】
入出力インターフェース１７５には、キーボード、マウスなどよりなる入力部１７６，CRT（Cathode Ray Tube），LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部１７７、モデム、ターミナルアダプタなどより構成される通信部１７８、ハードディスクなどより構成される記憶部１７９が接続されている。通信部１７８は、図示せぬLAN（Local Area Network）やインターネットを介して他の装置との通信処理を行う。
【０１３９】
入出力インターフェース１７５にはまた、ドライブ１８０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１８１が適宜装着され、それらから読み出されたコンピュータプログラム（FPGA書き込みプログラムなど）が、必要に応じて記憶部１７９にインストールされる。
【０１４０】
図９は、例えば、FPGA書き込みプログラムを実行するCPU１７１により実現される、FPGAプログラミング装置１６１の機能の構成の例を表している。ユーザ操作情報取得部２０１は、ユーザにより、入力部１７６が操作されることで、信号処理装置（例えば、FPGA１−１および外部RAM１１−１の組み合わせ）に関する情報（例えば、必要なFPGA１の個数や配置の構成などの情報）を取得し、取得した情報をFPGA構成部２０２、外部RAM構成部２０３、外部バス構成部２０４、内部バス構成部２０５、内部RAM構成部２０６、および信号処理構成部２０７に供給する。
【０１４１】
FPGA構成部２０２は、供給された情報に基づいて、必要なFPGA１の数やその配置などを決定し、決定したFPGA１の構成に関する情報を装置構築部２０８に供給する。外部RAM構成部２０３は、供給された情報に基づいて、必要な外部RAM１１の個数やその記憶容量、またはその配置を決定し、決定した外部RAM１１に関する情報を装置構築部２０８に供給する。
【０１４２】
外部バス構成部２０４は、FPGA１や外部RAM１１の数などに合わせた外部バスの構成（例えば、外部バス２１−１乃至２１−ｎや外部バス３１−１−１乃至３１−（ｎ−１）―ｎの構成）を決定し、決定した外部バスの構成に関する情報を装置構築部２０８に供給する。内部バス構成部２０５は、FPGA１や外部RAM１１の数などに合わせた内部バスやレジスタの構成（例えば、外部バス２１−１乃至２１−ｎや外部バス３１−１−１乃至３１−（ｎ−１）―ｎとの接続およびデータの伝送を行うための内部バス５１−１−１乃至５１−１−ｎ、内部バス６１−１−１乃至６１−１−ｎ、レジスタ４２−１、およびレジスタ４３−１の構成）を決定し、決定した内部バスに関する情報を装置構築部２０８に供給する。
【０１４３】
内部RAM構成部２０６は、供給された情報に基づいてFPGA１のバッファの役割を担う内部RAM（例えば、内部RAM７２−１−１乃至７２−１−ｍ）の個数やその記憶容量を決定し、決定した内部RAMに関する情報を装置構築部２０８に供給する。信号処理構成部２０７は、FPGA１の信号処理部（例えば、信号処理部７１−１乃至７１−ｎ）が行う所定の処理の構成を決定し、決定した信号処理に関する情報を装置構築部２０８に供給する。
【０１４４】
装置構築部２０８は、供給された情報に基づいて、信号処理装置を構築する。動作確認部２０９は、構築された信号処理装置の動作を確認する。また、動作確認部２０９は、動作確認においてエラーが発生した場合、エラーが発生したことを示す信号を再構成部２１０に出力し、再構成部２１０は、入力された信号に基づいて、構築された信号処理装置の再構成を行う。
【０１４５】
次に図１０のフローチャートを参照して、FPGAプログラミング装置１６１によるFPGA１へのプログラミングの処理である信号処理装置構築処理を説明する。この処理は、ユーザにより、入力部１７６が操作されることで、ユーザ操作情報取得部２０１が信号処理装置に関する情報を取得することにより開始される。ステップＳ１において、FPGA構成部２０２は、構築する信号処理装置に必要なFPGA１の個数や１つ１つのFPGA１の配置に基づいた構成を決定する。すなわち、例えば、図１に示されるようにFPGA１−１乃至１−ｎの個数やその配置場所、または相互の接続などの構成を決定する。
【０１４６】
ステップＳ２において、外部RAM構成部２０３は、FPGA１に対する外部RAM１１の構成やその記憶容量を決定する。すなわち、図１に示されるように外部RAM１１を必要とするFPGA１がある場合は、そのFPGA１のそれぞれに対して１つの外部RAM１１が設けられ、外部RAMを必要としないFPGA１がある場合には、そのFPGA１に対応する外部RAM１１は設けられない。
【０１４７】
ステップＳ３において、外部バス構成部２０４は、隣り合うFPGA同士およびFPGAと外部RAMを接続する外部バスの構成を決定する。すなわち、図１のFPGA１−１とFPGA１−２を接続する外部バス３１−１−１乃至３１−１−ｎの数や外部RAM１１−１乃至１１−ｎのそれぞれとFPGA１−１乃至１−ｎのそれぞれを接続する外部バス２１−１乃至２１−ｎの数が決定される。例えば、図１のFPGA１−１乃至FPGA１−ｎを相互に接続する外部バス３１−１−１乃至３１−（ｎ−１）−ｎの数は、外部RAM１１の数によって決定される。
【０１４８】
ステップＳ４において、内部バス構成部２０５は、内部バスの構成を決定する。すなわち、図２に示されるようにFPGA１−１乃至１−ｎの数、外部バス２１−１乃至２１−ｎや外部バス３１−１−１乃至３１−（ｎ−１）―ｎの数に基づいて、内部バスやレジスタの構成（例えば、内部バス５１−１−１乃至５１−１−ｎ、内部バス６１−１−１乃至６１−１−ｎ、レジスタ４２−１、およびレジスタ４３−１の構成）が決定される。
【０１４９】
ステップＳ５において、内部RAM構成部２０６は、FPGA毎に必要な内部RAM（例えば、内部RAM７２−１−１乃至７２−１−ｍ）の個数およびその記憶容量を決定する。
【０１５０】
ステップＳ６において、信号処理構成部２０７は、所定の処理を行う信号処理部（信号処理部７１−１乃至７１−ｎ）を構成する。すなわち、例えば、ステップＳ６において、信号処理構成部２０７は、信号処理部７１−１乃至７１−ｎのそれぞれの回路構成を決定することにより、信号処理部７１−１乃至７１−ｎのそれぞれにおける信号処理の内容を定める。
【０１５１】
ステップＳ７において、装置構築部２０８は、ステップＳ１乃至Ｓ６の処理に基づいて、信号処理装置を構築する。すなわち、ステップＳ７において、装置構築部２０８は、FPGA１をそれぞれプログラミングすることにより、図２に示されるような信号処理装置を構築する。
【０１５２】
ステップＳ８において、動作確認部２０９は、ステップＳ７の処理で構築された信号処理装置の動作確認を行い、ステップＳ９において、エラーが無いか否かを判定する。動作確認部２０９は、ステップＳ９の処理でエラーが無いと判定した場合、処理を終了する。これに対して、ステップＳ９において、エラーが有ると判定された場合、ステップＳ１０に進み、再構成部２１０は、信号処理装置の構成の変更および論理素子（ロジックデバイス）に対するプログラムの変更を行い、ステップＳ８に戻り、動作確認の処理を繰り返す。
【０１５３】
信号処理装置は、FPGAのみに限らず、CPLD、ゲートアレイなどのプログラムの書き換え可能な信号処理装置に適用することができる。
【０１５４】
本明細書において、上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１５５】
【図１】本発明を適用した信号処理装置の構成例を示すブロック図である。
【図２】図１のFPGAの機能の構成の例を示すブロック図である。
【図３】FPGAと外部RAMのアクセスのタイミングを説明するためのタイミングチャートである。
【図４】同期回路の構成例を示すブロック図である。
【図５】同期回路の動作を説明するためのタイミングチャートである。
【図６】図２のFPGAの詳細な構成例を示すブロック図である。
【図７】FPGAと外部RAMのアクセスを説明するためのタイミングチャートである。
【図８】FPGAプログラミング装置の構成例を示すブロック図である。
【図９】FPGAプログラミング装置の機能の構成の例を示すブロック図である。
【図１０】信号処理装置構築処理を説明するためのフローチャートである。
【符号の説明】
【０１５６】
１−１乃至１−ｎ  FPGA，  １１−１乃至１１−ｎ  外部RAM，  ２１−１乃至２１−ｎ  外部バス，  ３１−１−１乃至３１−（ｎ−１）−ｎ  外部バス，  ４１−１乃至４１−ｎ  処理部，  ５１−１−１乃至５１−ｎ−ｎ  内部バス，  ６１−１−１乃至６１−ｎ−ｎ  内部バス，  ７１−１乃至７１−ｎ  信号処理部，  ７２−１−１乃至７２−ｎ−ｈ  内部RAM,  １７１  ＣＰＵ,  １７９  記憶部,  １８１  リムーバブルメディア
【図１】
2005202504.tif 000003
【図２】
2005202504.tif 000004
【図３】
2005202504.tif 000005
【図４】
2005202504.tif 000006
【図５】
2005202504.tif 000007
【図６】
2005202504.tif 000008
【図７】
2005202504.tif 000009
【図８】
2005202504.tif 000010
【図９】
2005202504.tif 000011
【図１０】
2005202504.tif 000012