(57)【要約】【課題】  専用回路においては、シフトレジスタを用いて実現されている線形順序マシンなどの有限状態マシンを含むデータパスを、簡単に、そして、フレキシブルに再構成できる集積回路装置を提供する。【解決手段】  複数種類のプロセッシングエレメントの接続を変えて種々のデータパスを再構成するタイプの集積回路装置において、ＲＡＭとして機能するとＲＡＭモードと、ＲＡＭ回路５１のＲＡＭ出力データの少なくとも一部をフィードバックしてＲＡＭアドレスを生成するフィードバックモードとを切り替え可能なＲＡＭエレメント２１ｃを有する集積回路装置を提供する。【選択図】        図４
2006285386.tif 000002
【特許請求の範囲】
【請求項１】
異なる内部回路を具備する複数種類の処理エレメントと、それら複数種類の処理エレメントを可変接続する配線群とを備えた、再構成可能な回路区画を有し、
前記複数種類の処理エレメントは、データを格納するためのＲＡＭエレメントを含み、
前記ＲＡＭエレメントは、ＲＡＭ回路と、
当該ＲＡＭエレメントに対するエレメント入力データから前記ＲＡＭ回路へアクセスするためのＲＡＭアドレスを生成するＲＡＭモードと、前記ＲＡＭ回路のＲＡＭ出力データの少なくとも一部をフィードバックして前記ＲＡＭアドレスを生成するフィードバックモードとを切り替え可能な制御回路とを備えている、集積回路装置。
【請求項２】
請求項１において、
前記ＲＡＭエレメントは、前記エレメント入力データをクロック単位でラッチする入力インターフェイスと、
前記ＲＡＭアドレスをクロック単位でラッチするアドレスインターフェイスと、
前記入力インターフェイスにラッチされた前記エレメント入力データ、および前記ＲＡＭ出力データの中から前記ＲＡＭアドレスを生成して前記アドレスインターフェイスに供給するセレクタ回路と、を備えており、前記制御回路は、前記セレクタ回路の状態を制御する、集積回路装置。
【請求項３】
異なる内部回路を具備する複数種類の処理エレメントの接続を変えて種々のデータパスを再構成可能な集積回路装置であって、
前記複数種類の処理エレメントは、データを格納するためのＲＡＭエレメントを含み、
前記ＲＡＭエレメントは、ＲＡＭ回路と、
当該ＲＡＭエレメントに対するエレメント入力データをアドレスとして前記ＲＡＭ回路へアクセスする内部データパスと、
前記ＲＡＭ回路のＲＡＭ出力データの少なくとも一部をフィードバックして前記ＲＡＭアドレスを生成するためのフィードバックパスとを備えている、集積回路装置。
【請求項４】
請求項１ないし３のいずれかに記載の集積回路装置を有する信号処理装置。
【請求項５】
請求項４において、前記複数種類の処理エレメントにより、入力信号を、符号多項式を用いた方法でエンコードする符号化データパスが構成されており、
前記符号多項式は前記フィードバックモードにセットされた前記ＲＡＭエレメントを用いて実装されている、信号処理装置。
【請求項６】
請求項５において、前記符号化データパスは、ターボ符号化データパスを備えており、
前記ターボ符号化データパスに含まれる前記フィードバックモードの前記ＲＡＭエレメントは、前記入力信号に対し、再帰循環畳み込み符号を出力するように前記ＲＡＭ回路に符号化テーブルがセットされている、信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能な集積回路装置およびそれを用いた信号処理装置に関するものである。
【背景技術】
【０００２】
データパスをプログラムにより変更可能な集積回路装置としてＦＰＧＡ（Field Programmable Gate Array）が知られている。また、ＦＰＧＡに対し、動的に回路を再構成することを目的としたプロセッサ（ダイナミック・リコンフィグラブル・プロセッサ）が提案されており、たとえば、国際公開ＷＯ０２／０９５９４６号を挙げることができる。この国際公開ＷＯ０２／０９５９４６号に開示された集積回路装置は、２次元に複数の処理エレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー（データパス）を再構成できるようにしている。
【特許文献１】国際公開ＷＯ０２／０９５９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
回路を再構成可能な集積回路の構成は幾つか提案されており、その１つは、最小単位となる処理エレメントがほとんど同じ内部回路を備えており、ルックアップテーブルなどにより処理エレメント毎に機能を設定できるものである。集積回路を構成する処理エレメントの規模はさまざまである。例えば、トランジスタあるいは単純な論理ゲートに近いレベルの処理エレメントを組み合わせて所望の機能を実現するデータパスを構成するものがある。一方、ＡＬＵを含み、１つの処理エレメントにより算術論理演算が可能なレベルの処理エレメントを組み合わせて所望の機能を実現するデータパスを構成するものもある。小規模な処理エレメントを組み合わせる方式は、フレキシブルではあるが、冗長性が大きくＡＣ特性を改善することが難しい。一方、大規模な処理エレメントを組み合わせる方法は、実装するアプリケーションとの適合性が問題となりやすく、ＡＣ特性を改善できる場合も多いが、アプリケーションによっては冗長性がかえって高くなり処理速度を改善し難い場合もある。
【０００４】
これらに対し、国際公開ＷＯ０２／０９５９４６号に開示された集積回路装置のように、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部回路を備えた複数種類の処理エレメントを配置する方法が提案されている。内部回路の異なる複数種類の処理エレメントを採用することにより、アプリケーションに対するフレキシビリティが増加し、冗長性を削減でき、ＡＣ特性および処理速度も向上できる。
【０００５】
しかしながら、処理エレメントを接続してデータパスを構成する以上、再構成可能な集積回路装置では、ＡＳＩＣなどの専用回路に比較すればフレキシビリティは小さく、専用回路においては単純な回路構成で実装できる機能が単純には実装できない場合がある。例えば、通信やデータ格納などの分野において使われる符号化・復号化技術において多項式で表される演算回路である。ＢＣＨ符号あるいはＲＳ符号などのブロック符号化における冗長ビットの生成回路、畳み込み符号化あるいはターボ符号化などにおける畳み込み符号の生成回路は、ＡＳＩＣではシフトレジスタと簡単な論理ゲートの組み合わせにより実現できる。それに対し、再構成可能な集積回路装置において、同様の回路を論理演算レベルの処理エレメントを接続して構成したのでは、処理エレメントに利用効率は低く、さらに、１ビット（データ）／１クロックの処理速度も確保できず、パイプライン処理するようにデータパスを構成することも容易ではない。
【０００６】
そこで、本発明においては、従来、シフトレジスタを用いて実現されている線形順序マシンなどの有限状態マシンを含むデータパスを、簡単に、フレキシブルに再構成できる集積回路装置を提供することを目的としている。さらに、符号化において１ビット（データ）／１クロックの処理速度も確保できる再構成可能な集積回路装置およびそれを用いた信号処理装置を提供することを本発明の目的としている。さらに、有限状態マシンをパイプラインに組み込むことができる再構成可能な集積回路装置を提供することを本発明の目的としている。
【課題を解決するための手段】
【０００７】
本発明の集積回路装置は、異なる内部回路を具備する複数種類の処理エレメントと、それら複数種類の処理エレメントを可変接続する配線群とを備えた、再構成可能な回路区画を有する。複数種類の処理エレメントは、データを格納するためのＲＡＭエレメントを含み、ＲＡＭエレメントは、ＲＡＭ回路と、ＲＡＭエレメントに対するエレメント入力データからＲＡＭ回路へアクセスするためのＲＡＭアドレスを生成するＲＡＭモードと、ＲＡＭ回路のＲＡＭ出力データの少なくとも一部をフィードバックしてＲＡＭアドレスを生成するフィードバックモードとを切り替え可能な制御回路とを備えている。
【０００８】
このＲＡＭエレメントは、ＲＡＭモードにおいては、ＲＡＭ回路の所望のアドレス（ＲＡＭアドレス）にデータを書き込み、また、所望のアドレスのデータをリードすることができる。したがって、ＲＡＭエレメントを、データパス中の一時的なメモリあるいはルックアップテーブルなどとして利用できる。一方、フィードバックモードにおいては、ＲＡＭ出力データの一部あるいは全部をステータスとしてＲＡＭアドレスにフィードバックすることができ、ＲＡＭエレメントの内部で有限状態マシンあるいは状態遷移マシンを構成できる。すなわち、本発明の集積回路装置は、異なる内部回路を具備する複数種類の処理エレメントの接続を変えて種々のデータパスを再構成可能な集積回路装置であって、複数種類の処理エレメントは、データを格納するためのＲＡＭエレメントを含み、ＲＡＭエレメントは、ＲＡＭ回路と、当該ＲＡＭエレメントに対するエレメント入力データをアドレスとしてＲＡＭ回路へアクセスする内部データパスと、ＲＡＭ回路のＲＡＭ出力データの少なくとも一部をフィードバックしてＲＡＭアドレスを生成するためのフィードバックパスとを備えている。
【０００９】
ＲＡＭモードのＲＡＭエレメントのエレメント入力に対し、エレメント出力を他の論理演算用のエレメントを介してフィードバックすることによっても、ＲＡＭエレメントを用いた状態遷移回路は構成可能である。しかしながら、他のエレメントを介してステータスをフィードバックするために遷移後の状態が出力されるまでに数クロックあるいはそれ以上を消費する。したがって、パイプラインを構成しようとしても、状態遷移回路がクリティカルパスとなり実行速度の向上が望めない。これに対し、本発明の集積回路装置であれば、ＲＡＭエレメント内で状態遷移マシンを構成できるので、１クロックで状態遷移した結果を得ることも可能となり、状態遷移マシンとしての処理をパイプライン化して処理速度を向上できる。
【００１０】
本発明の１つの形態は、ＲＡＭエレメントが、ＲＡＭ回路および制御回路に加えて、エレメント入力データをクロック単位でラッチする入力インターフェイスと、ＲＡＭアドレスをクロック単位でラッチするアドレスインターフェイスと、入力インターフェイスにラッチされたエレメント入力データ、およびＲＡＭ出力データの中からＲＡＭアドレスを生成してアドレスインターフェイスに供給するセレクタ回路とを備えており、制御回路が、セレクタ回路の状態を制御するものである。これらのインターフェイスは、フリップフロップ（以降においてはＦＦ）で構成でき、１クロック単位での動作が保証される。したがって、１データ／１クロックのスループットを確保できる。このため、状態遷移マシン（有限状態マシン）として動作するＲＡＭエレメントを、そのままパイプライン処理を行うデータパスに組み込むことが可能であり、再構成可能な集積回路装置を用いて、専用回路と同等の符号化能力を備えた信号処理装置を提供できる。
【００１１】
すなわち、本発明においては、集積回路装置を備えた信号処理装置が提供される。その１つの形態は、上記のデータパスを再構成可能な集積回路装置を有し、そのデータ処理区画に、複数種類の処理エレメントにより、入力信号を、符号多項式を用いた方法でエンコードする符号化データパスが構成され、符号多項式をフィードバックモードのＲＡＭエレメントを用いて実装されているものである。符号化データパスがターボ符号化データパスを備えている場合は、そのターボ符号化データパスは、入力信号に対し、再帰循環畳み込み符号を出力するようにＲＡＭ回路に符号化テーブルが設定されたフィードバックモードのＲＡＭエレメントを含んでいる。
【００１２】
本発明の信号処理装置は、データパスを再構成可能な集積回路装置を用いて、専用回路と同等の速度で符号化することが可能であり、さらに、データパスを再構成することにより、データ処理区画に含まれる回路資源（処理エレメントおよび配線群）を符号化された信号を復号処理するために使用することができる。さらに、データ処理区画に含まれる回路資源を他の方式により符号化および復号化のために使用することも可能となる。
【発明を実施するための最良の形態】
【００１３】
図１に、本発明の集積回路装置１の一例を示してある。この集積回路装置１は、チップ化されており、再構成可能なデータ処理区画２と、この再構成可能なデータ処理区画２を再構成する機能および入出力を制御する機能などをサポートする周辺区画（周辺領域）３とを備えている。
【００１４】
再構成可能な回路区画（回路領域）２は、複数のエレメントがアレイまたはマトリクス状に２次元に配置されており、マトリクスと称される区画または構成となっており、以降においてはマトリクスと呼ぶ。本例のマトリクス２は、縦横に２次元に配置された複数のプロセッシングエレメント（ＰＥ）２１と、それらの間に格子状に配置された配線２２と、配線２２の接続ポイントで縦横の配線２２の接続を自由に切り替えることができるスイッチングユニット２３とを備えている。これら複数のＰＥ２１は、異なる内部回路を備えた複数種類のエレメントを含んでいる。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントの機能グループに分けて、それぞれの処理に適した内部構成のＰＥ２１がマトリクス２に配置されている。このような構成を採用することにより、マトリクス２のスペース効率を向上でき、また、回路の冗長性が減少するのでＡＣ特性および処理速度も向上できるといったメリットを得ている。
【００１５】
代表的なタイプのＰＥは図２に示すアドレス発生用のＰＥ２１ａと、図３に示す算術演算用のＰＥ２１ｂであり、さらに、本例のマトリクス２には図４に示すＲＡＭエレメント２１ｃが配置されている。各ＰＥの構成についてはさらに後述する。各々のＰＥ２１は、機能を変更可能な内部回路領域２９と、入力および出力用に配線２２のいずれかの配線を選択するためのセレクタ２４と、ＰＥ毎に内部回路領域２９の機能やセレクタ２４の設定を行う制御回路（制御ユニット）２５を備えている。
【００１６】
複数のＰＥ２１を接続する配線群２２は、複数のＰＥ２１を選択的に接続し、さらに接続を変えることにより種々のデータパスを構成することができる。スイッチングユニット（ＳＵ）２３は、プロセッシングエレメントの１種類として構成情報を受け付け、ＰＥ間の接続を変更する。このため、ＰＥ２１と同様に、配線群２２の配線の接続を切り替える機能を設定する制御ユニット２５を備えている。したがって、本例のマトリクス２においては、ＰＥ２１のセレクタ２４と、配線群２２と、スイッチングユニット２３とを組み合わせることにより、複数種類のＰＥ２１を可変接続し、種々のデータパスを構成でき、また、データパスの構成を動的に変更できる。そして、複数のＰＥ２１の内部回路２９の構成も制御回路２５により変更されるので、種々の機能を備えたデータパスをマトリクス２に動的に構成できる。
【００１７】
マトリクス２の複数のＰＥ２１により構成されるデータパスには、周辺区画３の入力バッファ３３と出力バッファ３４とを用いてデータが入出力される。これらのバッファ３３および３４は、バススイッチングユニット（バスインターフェイス、ＢＳＵ）３６に接続されており、マトリクス２はＢＳＵ３６を介して外部の回路あるいはメモリとの間でデータを入出力できる。入力バッファ３３は４つの入力エレメントＬＤＢを備えており、バッファ３３の構成および制御を構成情報により設定できるようになっている。出力バッファ３４も同様であり、４つの出力エレメントＳＴＢを備えており、構成および制御を構成情報により設定できるようになっている。さらに、ダイレクト入力３１およびダイレクト出力３２が用意されており、１つのチップ（ＰＵ）１では回路要素が不足するようなアプリケーションの処理も複数のチップ１を連結することにより対処可能な構成となっている。
【００１８】
マトリクス２のＰＥ２１およびＳＵ２３、および入出力バッファ３３および３４に対し、それぞれの処理機能およびＰＥ間の接続を設定あるいは変更するための構成情報は、制御バス３９により供給される。構成情報の主な供給元は、プロセッサ（ＲＩＳＣ）３５であり、プロセッサ３５により実行されるソフトウェアによりマトリクス２の構成を制御することができる。構成情報をマトリクス２に構成されたデータパス、あるいは、他のＰＵ１などから供給することも可能である。
【００１９】
図２に、アドレス発生用のＰＥ２１ａを示してある。このＰＥ２１ａの内部回路領域２９ａは、カウンタなどからなるアドレス発生回路２８と、セレクタＳＥＬとを備えており、制御ユニット２５により設定された条件で生成されたアドレスが出力信号ｄｏとして配線２２に出力される。この出力信号ｄｏは、行配線および列配線を介して、そのまま、あるいは、他のＰＥ２１によって処理された後に入力信号ｄｉｘあるいはｄｉｙとしてＰＥ２１ａにフィードバックされる。そして、制御ユニット２５によりセットされた条件でセレクタＳＥＬが選択したアドレスがマトリクス２からデータ入力あるいは出力用のアドレスとして出力される。ＰＥ２１ａは、配線２２のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ２４も備えており、それらの設定も制御ユニット２５により行われる。
【００２０】
図３に、算術演算および論理演算に適した算術演算用のＰＥの例を示してある。このＰＥ２１ｂの内部回路２９ｂは、シフト回路ＳＨＩＦＴ、マスク回路ＭＡＳＫ、論理演算ユニットＡＬＵを備えている。そして、上記のＰＥ２１ａと同様に、制御回路２５により、これらのシフト回路ＳＨＩＦＴ、マスク回路ＭＡＳＫ、論理演算ユニットＡＬＵの状態が設定される。したがって、配線群２２を介して供給される入力データｄｉｘおよびｄｉｙを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果は出力信号ｄｏとして配線群（バス）２２に出力される。
【００２１】
図４に、データ格納用のＰＥ（ＲＡＭエレメント）の例を示してある。このＰＥ２１ｃは、容量１６ＫＢ（３２ビット×４０９６ワード）のデータ格納用のメモリエレメントであり、上述したアドレス発生用のＰＥ２１ａあるいは演算用のＰＥ２１ｂを使用してアクセス用のアドレスを生成し、エレメントに入力することによりデータの入出力を行うことができる。ＰＥ２１ｃの内部回路２９ｃは、１６ビット×２０４８ワードのＲＡＭ回路５１を４つ備えており、これらのＲＡＭ回路５１の接続を制御回路２５により制御することにより、３２ビットモード、デュアルポート３２ビットモード、ＦＩＦＯモード、２系統の１６ビットモード、４系統の８ビットモードに切り替えることが可能である。このＰＥ２１ｃは、さらに、制御回路２５の制御により、４系統のフィードバックステートモード（フィードバックモード、有限状態モード、状態遷移モード）に切り換えて使用することが可能である。
【００２２】
内部回路２９ｃは、ＲＡＭ回路５１に加えて、エレメント入力データを保持する入力インターフェイス５２と、各々のＲＡＭ回路５１へアクセスするためのＲＡＭアドレスを保持するアドレスインターフェイス５３と、各々のＲＡＭ回路５１へ書き込むデータを保持するデータインターフェイス５４と、エレメント出力データを保持する出力インターフェイス５５と、キャリー出力を保持するキャリー出力インターフェイス５６とを備えている。これらのインターフェイス５２〜５６は、マトリクス２においてＰＥ２１を駆動する動作クロックに同期してアドレスおよびデータをラッチするフリップフロップ（ＦＦ）により構成されている。
【００２３】
ＰＥ２１ｃには、配線群２２を介して、入力ｄｉｘとしてメモリへのアドレスが入力され、入力ｄｉｙとしてメモリへのライトデータが入力される。また、ＰＥ２１ｃからは、配線群２２を介して、リードデータが出力ｄｏとして出力される。さらに、配線群２２のキャリー用のバスには、キャリー出力ｃｏとして、ＦＩＦＯモードのときにＦＩＦＯ制御回路５７からＲＡＭの容量がフルまたはエンプティーであることを示す信号が出力される。デュアルポートモードにおいては、入力ｄｉｘとしてリードアドレスとライトアドレスを入力できる。ＦＩＦＯモードにおいては、入力ｄｉｘの入力は不要で、入力ｄｉｙのみ入力するとＲＡＭ回路５１をＦＩＦＯとして使用することができる。
【００２４】
１６ビットモードでは、入力ｄｉｘのビット［１２：０］を用いて第１のアドレスをセットでき、入力ｄｉｘのビット［２７：１６］に第２のアドレスをセットでき、入力ｄｉｙのビット［１５：０］を用いて第１のライトデータをセットでき、入力ｄｉｙのビット［３１：１６］に第２のライトデータをセットできる。また、出力ｄｏのビット［１５：０］に第１のリードデータをセットでき、出力ｄｏのビット［３１：１６］に第２のリードデータをセットできる。
【００２５】
８ビットモードのライトモードでは、入力ｄｉｘのビット［１０：０］を用いてアドレスをセットでき、入力ｄｉｙに４つのライトデータをセットできる。また、リードモードでは、入力ｄｉｘのビット［１０：０］およびビット［２６：１６］と、入力ｄｉｙのビット［１０：０］およびビット［２６：１６］とを用いて４つのアドレスをセットでき、出力ｄｉｏに４つのリードデータをセットできる。
【００２６】
これらのモードは、ＰＥ２１ｃに対する入力データからＲＡＭ回路５１へアクセスするためのＲＡＭアドレスを生成するＲＡＭモードである。これに対し、フィードバックステートモードは、ＲＡＭ回路５１のＲＡＭ出力データの少なくとも一部をフィードバックしてＲＡＭアドレスを生成する。このＰＥ２１ｃにおいては、ＲＡＭ回路５１から読み出したデータと、入力ｄｉｘ、ｄｉｙから入力されたリードアドレスを組み合わせて、ＲＡＭ回路５１のリードアドレスを生成し、８ビット幅の４つのデータを読み出す。このため、入力ｄｉｘのビット［１０：０］およびビット［２６：１６］と、入力ｄｉｙのビット［１０：０］およびビット［２６：１６］とを用いて４つのリードアドレスをセットでき、出力ｄｉｏに４つのリードデータをセットできる。
【００２７】
このため、内部回路２９ｃは、入力インターフェイス５２にセットされた入力ｄｉｘをＲＡＭアドレスとして供給する内部データパス２６に加えて、ＲＡＭ回路５１の出力をＲＡＭアドレスにフィードバックするフィードバックパス２７と、ＲＡＭアドレスセレクタ５８とを備えている。ＲＡＭアドレスセレクタ５８は、入力インターフェイス５２にセットされた入力ｄｉｘおよびＲＡＭ回路５１の出力の中から、アドレスインターフェイス５３にセットするＲＡＭアドレスを生成する。ＲＡＭアドレスセレクタ５８は、ＲＡＭ回路５１に対応して複数設けられている。これらのＲＡＭアドレスセレクタ５８の内、３２ビットモードにおいて上位ビットのアドレスのデータを格納する２つのＲＡＭ回路５１のＲＡＭアドレスセレクタ５８は、入力インターフェイス５２にセットされた入力ｄｉｙおよびＲＡＭ回路５１の出力からアドレスインターフェイス５３にセットするＲＡＭアドレスを生成できるようになっている。また、内部回路２９ｃは、４つのＲＡＭ回路５１の出力データから出力ｄｏを生成するためのＲＡＭ出力セレクタ５９を備えている。
【００２８】
したがって、ＰＥ２１ｃにおいては、制御回路２５が、制御バス３９を介してプロセッサ３５からセットされるコンフィグレーションデータに従い、ＲＡＭアドレスセレクタ５８とＲＡＭ出力セレクタ５９を設定することにより、内部回路２９ｃは上記の各モードとして機能するように構成される。このため、ＲＡＭエレメントＰＥ２１ｃは、コンフィグレーションデータを動的に変更することにより、上記の各モードの機能を発揮するエレメントに動的に変更することができる。
【００２９】
フィードバックステートモードにおいては、ＲＡＭアドレスセレクタ５８は、コンフィグレーションデータにより、ＲＡＭ出力データからＲＡＭアドレスにフィードバックされるビッド数を３〜８の範囲で自由に設定できる。したがって、このＲＡＭエレメントＰＥ２１ｃにおいては、ＲＡＭ回路５１のＲＡＭ出力およびＰＥ２１ｃに入力されたアドレスデータによりＲＡＭアドレスを生成でき、また、ＲＡＭ出力だけでＲＡＭアドレスを生成することも可能である。そして、このＲＡＭエレメント２１ｃにおいては、ＲＡＭアドレスセレクタ５８にＲＡＭ回路５１のＲＡＭ出力がダイレクトにフィードバックされるので、１データ／１クロックでの状態遷移が保証される。したがって、ＲＡＭエレメント２１ｃは、スループットが１データ／１クロックの状態遷移マシン、有限状態マシンまたはデータ駆動型プロセッサとして機能する。このため、ＲＡＭエレメント２１ｃを状態遷移マシンとして接続してデータパスを生成することにより、生成多項式などの処理に用いられる線形順序マシンとしての機能を含むデータパスをマトリクス２に構成でき、その機能を動的に変更することができる。
【００３０】
図５に、本例の再構成可能な集積回路装置（リコンフィグラブルプロセッサ）１を備えた信号処理装置１０の構成を示している。この信号処理装置１０は、ターボ符号を用いてデータの変復調を行う装置である。種々のデジタル機器との間でデータを交換するためのユーザ側のユーザインターフェイス１１と、無線などによりデータを送受信する側との間でデータを交換するための送受信側インターフェイス１２と、信号処理装置１０の機能を制御するコントローラ１３と、リコンフィグラブルプロセッサ１に種々の回路を実装するためのコンフィグレーションデータを格納したコンフィグレーションメモリ１４と、符号化あるいは復号化する際のデータの一時的な蓄積領域となるデータメモリ１５とを備えている。本例の信号処理装置１０は、１つのリコンフィグラブルプロセッサ１を動的に再構成して、符号化および復号化を時分割で行うようにしている。リコンフィグラブルプロセッサ１のマトリクス２に含まれるＰＥ２１の数が十分であれば、符号化および復号化を並列に行うことも可能である。符号化および復号化を同時に行う際に、同時に実装する可能性があるデータパスを実現するにはマトリクス２に含まれるＰＥ２１の数が不足する可能性がある場合は、複数のリコンフィグラブルプロセッサ１を用いて信号処理装置１０を構成することも可能である。
【００３１】
図６（ａ）に符号化（変調）するときの信号処理装置１０の構成を示してある。また、図６（ｂ）に復号化（復調）するときの信号処理装置１０の構成を示してある。符号化する際は、リコンフィグラブルプロセッサ１に、コンフィグレーションメモリ１４に格納された第１のコンフィグレーションデータ（ブロックデータ）がロードされ、マトリクス２にターボ符号化用のデータパス６１と、パンクチャリング用のデータパス６２と、多重化用のデータパス６３とが実装される。復号化する際は、まず、リコンフィグラブルプロセッサ１に、コンフィグレーションメモリ１４に格納された第２のコンフィグレーションデータ（ブロックデータ）がロードされ、マトリクス２に非多重化用のデータパス６４と、非パンクチャリング用のデータパス６５とが実装され、データはいったんメモリ１５に格納される。次に、第３のコンフィグレーションデータ（ブロックデータ）がロードされ、マトリクス２にターボ復号用のデータパス６６が実装され、復調されたデータがユーザ側に出力される。
【００３２】
信号処理装置１０の符号化状態では、ユーザインターフェイス１１に入力されたユーザソースデータ７１に対して、ターボ符号化用のデータパス６１は、２つの畳み込み処理されたパリティーデータ系列７２を生成する。パンクチャリング用のデータパス６２は、それぞれのパリティーデータ系列７２のデータエレメントを予め決められたパターンにしたがって選択する。そして、多重化用のデータパス６３は、ユーザインターフェイス１１から出力されたデータ系列と、パンクチャリングされた２つのデータ系列を多重化し、ユーザソースデータ７１に対して符号化されたデータ７３を送受信インターフェイス１２に出力する。信号処理装置１０の復号化状態では逆の処理を行い、符号化されたデータ７３をユーザソースデータ７１に復調してユーザインターフェイス１１に出力する。
【００３３】
図７に、ターボ符号化用のデータパス６１の概略構成を示している。ユーザソースデータ７１は、そのまま多重化用のデータ系列として、ＲＡＭモードのＲＡＭエレメントＰＥ２１ｃからなる内部メモリ８９ａに格納される。また、ユーザソースデータ７１は、第１の畳み込み符号化データパス８１により第１のパリティーデータ系列７２ａに変換されて内部メモリ８９ｂに格納される。さらに、ユーザソースデータ７１は、インターリーバ８３により並び替えられ、そのデータが第２の畳み込み符号化データパス８２により第２のパリティーデータ系列７２ｂに変換されて内部メモリ８９ｃに格納される。
【００３４】
図８に、畳み込み符号化データパス８１の概略構成を示してある。ユーザソースデータ７１は、演算用ＰＥ２１ｂをシフトマスク回路として機能させたビットシフト回路８８により１ビットずつに分割され、変換するための所望の位置にセットされる。そして、フィードバックモードのＲＡＭエレメント２１ｃからなるパリティー化回路８７によりパリティーデータに変換され、ビットシフト回路８６によりパリティーデータ系列７２ａに生成される。
【００３５】
図９は、本例の畳み込み符号化データパス８１の機能を、シフトレジスタ８３と、モジュロ２の加算器８４により表現している。符号化データパス８１では、ユーザソースデータ７１に対して、図９に示した２つの生成多項式（１）および（２）を用いて再帰的畳み込みを行い、パリティーデータ系列７２ａを生成する。図１０に、シフトレジスタ８３の各レジスタの状態を入力側から順番に示し、さらに、入力データが「０」と「１」のときのパリティー出力と、畳み込み符号化データパス８１の次の状態とを示してある。
【００３６】
図１１に、図１０の状態を有限状態マシンの真理値表として捉えて、その機能をフィードバックモードのＲＡＭエレメント２１ｃで実現するために、ＲＡＭ５１にロードされるＲＡＭテーブル８５の構成を示してある。このＲＡＭテーブル８５は、１ビットのデータと符号器の直前の状態（４ビット）がアドレスのビット４とビット０〜３として入力されたときに、パリティー（１ビット）および符号器の現在の状態（４ビット）がビット７とビット０〜３として出力されるように構成されている。したがって、符号化データパス８１を構成するＲＡＭエレメント２１ｃにおいては、ＲＡＭ回路５１の１つに予めＲＡＭテーブル８５がロードされる。さらに、制御回路２５により、そのＲＡＭ回路５１のＲＡＭアドレスを生成するＲＡＭアドレスセレクタ５８は、ＲＡＭアドレス［３：０］にＲＡＭ回路５１のＲＡＭ出力データ［３：０］をフィードバックしてセットし、ＲＡＭアドレス［４］にエレメントへの入力データをセットする。ＲＡＭアドレスの他のビットは、ＲＡＭテーブルおよびビットシフト回路８８により不要なビットが立たないようになっているので、初期状態「０」である。ＲＡＭアドレスセレクタにより「０」に設定しても良い。また、出力セレクタ５９は、パリティーデータ（ＲＡＭ出力［７］）を含むデータを出力するように設定される。
【００３７】
このように、本例のマトリクス２では、従来、複数のシフトレジストと加算器で構成される機能を１つのエレメントＰＥ２１ｃで実装でき、その構成を自由に変えることができる。したがって、再構成可能な回路領域であるマトリクス２を用いて、従来の符号化専用回路を搭載した装置と同じ能力で、ユーザソースデータをエンコードできる機能を備えた信号処理装置１０を提供できる。さらに、マトリクス２には符号化あるいは復号化に要するデータパスを再構成可能なので、そのマトリクス２のハードウェアリソースは他の機能にも流用することができ、信号処理装置１０に搭載するリソースを最小限に止めることができる。そして、稼動するリソースも最小限に止めることができる。したがって、コンパクトであり、低消費電力で符号化および復号化できる信号処理装置１０を提供できる。
【００３８】
本例のマトリクス２には、ターボ符号化に関わらず、ＰＥ２１ｃを用いて他の形式の符号化における線形順序マシンを構成することは容易であり、リコンフィグラブルプロセッサ１が適用できる符号化および復号化処理はターボ符号に限定されるものではない。また、マトリクス２に構成可能なデータパスは符号化あるいは復号化に関するものに限定されない。本例のマトリクス２においては、フィードバックモードにセットできるＲＡＭエレメントＰＥ２１ｃを備えているので、マトリクス２に再構成可能なデータパスとして、１データ１クロックのスループットの状態遷移マシン、有限状態マシンあるいは線形順序マシンと称される機能を含むデータパスを簡単に構成できる。特に、エレメントＰＥ２１ｃの内部回路の設定により有限状態マシンへ構成を変更できるようにしているので、１クロックでのステータスフィードバックが保証され、時間遅れなく、１クロックで有限状態マシンとしての出力が得られる。このため、有限状態マシンを組み込んだパイプラインをマトリクス２に容易に構成することが可能である。
【００３９】
さらに、本例のＰＥ２１ｃは１つで４系統のフィードバックモードのＲＡＭ回路５１をセットできるので、１つのエレメントで４系統の独立した有限状態マシンをセットでき、独立の論理をそれぞれのＲＡＭ回路５１にセットできる。さらに、ＲＡＭ回路５１のロジックを変更して再構成に要する時間は数μｓのオーダであり、予め複数のＲＡＭ回路５１に異なるロジックをセットしておけば、１クロックで異なるロジックに切り換えることも可能であり、本例のマトリクス２に実装および再構成可能なデータパスのフレキシビリティーは非常に大きい。
【００４０】
なお、上述したＲＡＭエレメント２１ｃの構成、マトリクス２の構成およびリコンフィグラブルプロセッサ（集積回路装置）１の構成などは一例にすぎず、本発明はこれに限定されるものではない。ＲＡＭエレメントは、３つ以下のＲＡＭ回路を含むものであっても良く、５つ以上のＲＡＭ回路を含むものであっても良い。また、マトリクスは、複数種類のプロセッシングエレメントの接続を変えて種々のデータパスを再構成するタイプの集積回路装置であれば良く、配線群のみならずエレメントを配線資源としてデータパスを再構成できるものなど、接続方法の異なる再構成可能な集積回路装置であっても良い。さらに、本発明のデータ処理システムは、電子回路に限定されることはなく、光回路あるいは光電子回路をベースとする集積回路装置および信号処理装置にも適用できるものである。
【図面の簡単な説明】
【００４１】
【図１】集積回路装置（リコンフィグラブルプロセッサ）の概要を示す図である。
【図２】プロセッシングエレメント（ＰＥ）の一例を示す図である。
【図３】演算用のＰＥの構成を示す図である。
【図４】ＲＡＭ用のＰＥの構成を示す図である。
【図５】信号処理装置の構成を示す図である。
【図６】信号処理装置において、リコンフィグラブルプロセッサに実現する機能を示す図である。
【図７】ターボ符号化用のデータパスを示す図である。
【図８】畳み込み符号化用のデータパスを示す図である。
【図９】図８の畳み込み符号化用データパスの機能を異なる表現で示す図である。
【図１０】畳み込み符号化の真理値表を示す図である。
【図１１】畳み込み符号化を実現するためにＲＡＭ回路に格納されるＲＡＭテーブルを示す図である。
【符号の説明】
【００４２】
１    集積回路装置、  ２    マトリクス
１０    信号処理装置
２１    プロセッシングエレメント（ＰＥ）、  ２９    内部回路
【図１】
2006285386.tif 000003
【図２】
2006285386.tif 000004
【図３】
2006285386.tif 000005
【図４】
2006285386.tif 000006
【図５】
2006285386.tif 000007
【図６】
2006285386.tif 000008
【図７】
2006285386.tif 000009
【図８】
2006285386.tif 000010
【図９】
2006285386.tif 000011
【図１０】
2006285386.tif 000012
【図１１】
2006285386.tif 000013