JP4654731B2 - 集積回路装置および信号処理装置 - Google Patents

集積回路装置および信号処理装置 Download PDF

Info

Publication number
JP4654731B2
JP4654731B2 JP2005101298A JP2005101298A JP4654731B2 JP 4654731 B2 JP4654731 B2 JP 4654731B2 JP 2005101298 A JP2005101298 A JP 2005101298A JP 2005101298 A JP2005101298 A JP 2005101298A JP 4654731 B2 JP4654731 B2 JP 4654731B2
Authority
JP
Japan
Prior art keywords
ram
circuit
data
address
input
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
JP2005101298A
Other languages
English (en)
Other versions
JP2006285386A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005101298A priority Critical patent/JP4654731B2/ja
Publication of JP2006285386A publication Critical patent/JP2006285386A/ja
Application granted granted Critical
Publication of JP4654731B2 publication Critical patent/JP4654731B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、再構成可能な集積回路装置およびそれを用いた信号処理装置に関するものである。
データパスをプログラムにより変更可能な集積回路装置としてFPGA(Field Programmable Gate Array)が知られている。また、FPGAに対し、動的に回路を再構成することを目的としたプロセッサ(ダイナミック・リコンフィグラブル・プロセッサ)が提案されており、たとえば、国際公開WO02/095946号を挙げることができる。この国際公開WO02/095946号に開示された集積回路装置は、2次元に複数の処理エレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー(データパス)を再構成できるようにしている。
国際公開WO02/095946号公報
回路を再構成可能な集積回路の構成は幾つか提案されており、その1つは、最小単位となる処理エレメントがほとんど同じ内部回路を備えており、ルックアップテーブルなどにより処理エレメント毎に機能を設定できるものである。集積回路を構成する処理エレメントの規模はさまざまである。例えば、トランジスタあるいは単純な論理ゲートに近いレベルの処理エレメントを組み合わせて所望の機能を実現するデータパスを構成するものがある。一方、ALUを含み、1つの処理エレメントにより算術論理演算が可能なレベルの処理エレメントを組み合わせて所望の機能を実現するデータパスを構成するものもある。小規模な処理エレメントを組み合わせる方式は、フレキシブルではあるが、冗長性が大きくAC特性を改善することが難しい。一方、大規模な処理エレメントを組み合わせる方法は、実装するアプリケーションとの適合性が問題となりやすく、AC特性を改善できる場合も多いが、アプリケーションによっては冗長性がかえって高くなり処理速度を改善し難い場合もある。
これらに対し、国際公開WO02/095946号に開示された集積回路装置のように、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部回路を備えた複数種類の処理エレメントを配置する方法が提案されている。内部回路の異なる複数種類の処理エレメントを採用することにより、アプリケーションに対するフレキシビリティが増加し、冗長性を削減でき、AC特性および処理速度も向上できる。
しかしながら、処理エレメントを接続してデータパスを構成する以上、再構成可能な集積回路装置では、ASICなどの専用回路に比較すればフレキシビリティは小さく、専用回路においては単純な回路構成で実装できる機能が単純には実装できない場合がある。例えば、通信やデータ格納などの分野において使われる符号化・復号化技術において多項式で表される演算回路である。BCH符号あるいはRS符号などのブロック符号化における冗長ビットの生成回路、畳み込み符号化あるいはターボ符号化などにおける畳み込み符号の生成回路は、ASICではシフトレジスタと簡単な論理ゲートの組み合わせにより実現できる。それに対し、再構成可能な集積回路装置において、同様の回路を論理演算レベルの処理エレメントを接続して構成したのでは、処理エレメントに利用効率は低く、さらに、1ビット(データ)/1クロックの処理速度も確保できず、パイプライン処理するようにデータパスを構成することも容易ではない。
そこで、本発明においては、従来、シフトレジスタを用いて実現されている線形順序マシンなどの有限状態マシンを含むデータパスを、簡単に、フレキシブルに再構成できる集積回路装置を提供することを目的としている。さらに、符号化において1ビット(データ)/1クロックの処理速度も確保できる再構成可能な集積回路装置およびそれを用いた信号処理装置を提供することを本発明の目的としている。さらに、有限状態マシンをパイプラインに組み込むことができる再構成可能な集積回路装置を提供することを本発明の目的としている。
本発明の集積回路装置は、異なる内部回路を具備する複数種類の処理エレメントと、それら複数種類の処理エレメントを可変接続する配線群とを備えた、再構成可能な回路区画を有する。複数種類の処理エレメントは、データを格納するためのRAMエレメントを含み、RAMエレメントは、RAM回路と、RAMエレメントに対するエレメント入力データからRAM回路へアクセスするためのRAMアドレスを生成するRAMモードと、RAM回路のRAM出力データの少なくとも一部をフィードバックしてRAMアドレスを生成するフィードバックモードとを切り替え可能な制御回路とを備えている。
このRAMエレメントは、RAMモードにおいては、RAM回路の所望のアドレス(RAMアドレス)にデータを書き込み、また、所望のアドレスのデータをリードすることができる。したがって、RAMエレメントを、データパス中の一時的なメモリあるいはルックアップテーブルなどとして利用できる。一方、フィードバックモードにおいては、RAM出力データの一部あるいは全部をステータスとしてRAMアドレスにフィードバックすることができ、RAMエレメントの内部で有限状態マシンあるいは状態遷移マシンを構成できる。すなわち、本発明の集積回路装置は、異なる内部回路を具備する複数種類の処理エレメントの接続を変えて種々のデータパスを再構成可能な集積回路装置であって、複数種類の処理エレメントは、データを格納するためのRAMエレメントを含み、RAMエレメントは、RAM回路と、当該RAMエレメントに対するエレメント入力データをアドレスとしてRAM回路へアクセスする内部データパスと、RAM回路のRAM出力データの少なくとも一部をフィードバックしてRAMアドレスを生成するためのフィードバックパスとを備えている。
RAMモードのRAMエレメントのエレメント入力に対し、エレメント出力を他の論理演算用のエレメントを介してフィードバックすることによっても、RAMエレメントを用いた状態遷移回路は構成可能である。しかしながら、他のエレメントを介してステータスをフィードバックするために遷移後の状態が出力されるまでに数クロックあるいはそれ以上を消費する。したがって、パイプラインを構成しようとしても、状態遷移回路がクリティカルパスとなり実行速度の向上が望めない。これに対し、本発明の集積回路装置であれば、RAMエレメント内で状態遷移マシンを構成できるので、1クロックで状態遷移した結果を得ることも可能となり、状態遷移マシンとしての処理をパイプライン化して処理速度を向上できる。
本発明の1つの形態は、RAMエレメントが、第1のRAM回路と、第2のRAM回路と、当該RAMエレメントに対する第1のエレメント入力データをラッチする第1の入力インターフェイスと、当該RAMエレメントに対する第2のエレメント入力データをラッチする第2の入力インターフェイスと、第1の入力インターフェイスにラッチされる第1のエレメント入力データ、および第1のRAM回路から読み出される第1のRAM出力データの中から第1のRAM回路にアクセスする第1のRAMアドレスを生成して第1のアドレスインターフェイスに供給する第1のセレクタ回路と、第1の入力インターフェイスにラッチされる第1のエレメント入力データ、第2の入力インターフェイスにラッチされる第2のエレメント入力データ、および第2のRAM回路から読み出される第2のRAM出力データの中から第2のRAM回路にアクセスする第2のRAMアドレスを生成して第2のアドレスインターフェイスに供給する第2のセレクタ回路と、第1のセレクタ回路および第2のセレクタ回路により、第1の入力インターフェイスおよび第2の入力インターフェイスと第1のRAM回路および第2のRAM回路との接続を制御する制御回路とを有し、制御回路は、第1のエレメント入力データから第1のRAMアドレスおよび第2のRAMアドレスを生成し、第2のエレメント入力データを第1のRAM回路および第2のRAM回路へ書き込むRAMライトモードと、第1のエレメント入力データから第1のRAMアドレスを生成し、第1のRAM回路から第1のRAM出力データを読み出し、第2のエレメント入力データから第2のRAMアドレスを生成し、第2のRAM回路から第2のRAM出力データを読み出すRAMリードモードと、第1のRAM出力データの少なくとも一部をフィードバックして第1のRAMアドレスを生成し、第2のRAM出力データの少なくとも一部をフィードバックして第2のRAMアドレスを生成するフィードバックモードとを備えている。インターフェイスは、フリップフロップ(以降においてはFF)で構成でき、1クロック単位での動作が保証される。したがって、1データ/1クロックのスループットを確保できる。このため、状態遷移マシン(有限状態マシン)として動作するRAMエレメントを、そのままパイプライン処理を行うデータパスに組み込むことが可能であり、再構成可能な集積回路装置を用いて、専用回路と同等の符号化能力を備えた信号処理装置を提供できる。
すなわち、本発明においては、集積回路装置を備えた信号処理装置が提供される。その1つの形態は、上記のデータパスを再構成可能な集積回路装置を有し、そのデータ処理区画に、複数種類の処理エレメントにより、入力信号を、符号多項式を用いた方法でエンコードする符号化データパスが構成され、符号多項式をフィードバックモードのRAMエレメントを用いて実装されているものである。符号化データパスが複数の生成多項式を用いた再帰的畳み込み符号化を含むターボ符号化データパスを備えている場合は、そのターボ符号化データパスは、入力信号を複数の生成多項式により符号化する符号化テーブルがRAM回路に設定されたフィードバックモードのRAMエレメントを含んでいる。
本発明の信号処理装置は、データパスを再構成可能な集積回路装置を用いて、専用回路と同等の速度で符号化することが可能であり、さらに、データパスを再構成することにより、データ処理区画に含まれる回路資源(処理エレメントおよび配線群)を符号化された信号を復号処理するために使用することができる。さらに、データ処理区画に含まれる回路資源を他の方式により符号化および復号化のために使用することも可能となる。
図1に、本発明の集積回路装置1の一例を示してある。この集積回路装置1は、チップ化されており、再構成可能なデータ処理区画2と、この再構成可能なデータ処理区画2を再構成する機能および入出力を制御する機能などをサポートする周辺区画(周辺領域)3とを備えている。
再構成可能な回路区画(回路領域)2は、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称される区画または構成となっており、以降においてはマトリクスと呼ぶ。本例のマトリクス2は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。これら複数のPE21は、異なる内部回路を備えた複数種類のエレメントを含んでいる。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントの機能グループに分けて、それぞれの処理に適した内部構成のPE21がマトリクス2に配置されている。このような構成を採用することにより、マトリクス2のスペース効率を向上でき、また、回路の冗長性が減少するのでAC特性および処理速度も向上できるといったメリットを得ている。
代表的なタイプのPEは図2に示すアドレス発生用のPE21aと、図3に示す算術演算用のPE21bであり、さらに、本例のマトリクス2には図4に示すRAMエレメント21cが配置されている。各PEの構成についてはさらに後述する。各々のPE21は、機能を変更可能な内部回路領域29と、入力および出力用に配線22のいずれかの配線を選択するためのセレクタ24と、PE毎に内部回路領域29の機能やセレクタ24の設定を行う制御回路(制御ユニット)25を備えている。
複数のPE21を接続する配線群22は、複数のPE21を選択的に接続し、さらに接続を変えることにより種々のデータパスを構成することができる。スイッチングユニット(SU)23は、プロセッシングエレメントの1種類として構成情報を受け付け、PE間の接続を変更する。このため、PE21と同様に、配線群22の配線の接続を切り替える機能を設定する制御ユニット25を備えている。したがって、本例のマトリクス2においては、PE21のセレクタ24と、配線群22と、スイッチングユニット23とを組み合わせることにより、複数種類のPE21を可変接続し、種々のデータパスを構成でき、また、データパスの構成を動的に変更できる。そして、複数のPE21の内部回路29の構成も制御回路25により変更されるので、種々の機能を備えたデータパスをマトリクス2に動的に構成できる。
マトリクス2の複数のPE21により構成されるデータパスには、周辺区画3の入力バッファ33と出力バッファ34とを用いてデータが入出力される。これらのバッファ33および34は、バススイッチングユニット(バスインターフェイス、BSU)36に接続されており、マトリクス2はBSU36を介して外部の回路あるいはメモリとの間でデータを入出力できる。入力バッファ33は4つの入力エレメントLDBを備えており、バッファ33の構成および制御を構成情報により設定できるようになっている。出力バッファ34も同様であり、4つの出力エレメントSTBを備えており、構成および制御を構成情報により設定できるようになっている。さらに、ダイレクト入力31およびダイレクト出力32が用意されており、1つのチップ(PU)1では回路要素が不足するようなアプリケーションの処理も複数のチップ1を連結することにより対処可能な構成となっている。
マトリクス2のPE21およびSU23、および入出力バッファ33および34に対し、それぞれの処理機能およびPE間の接続を設定あるいは変更するための構成情報は、制御バス39により供給される。構成情報の主な供給元は、プロセッサ(RISC)35であり、プロセッサ35により実行されるソフトウェアによりマトリクス2の構成を制御することができる。構成情報をマトリクス2に構成されたデータパス、あるいは、他のPU1などから供給することも可能である。
図2に、アドレス発生用のPE21aを示してある。このPE21aの内部回路領域29aは、カウンタなどからなるアドレス発生回路28と、セレクタSELとを備えており、制御ユニット25により設定された条件で生成されたアドレスが出力信号doとして配線22に出力される。この出力信号doは、行配線および列配線を介して、そのまま、あるいは、他のPE21によって処理された後に入力信号dixあるいはdiyとしてPE21aにフィードバックされる。そして、制御ユニット25によりセットされた条件でセレクタSELが選択したアドレスがマトリクス2からデータ入力あるいは出力用のアドレスとして出力される。PE21aは、配線22のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ24も備えており、それらの設定も制御ユニット25により行われる。
図3に、算術演算および論理演算に適した算術演算用のPEの例を示してある。このPE21bの内部回路29bは、シフト回路SHIFT、マスク回路MASK、論理演算ユニットALUを備えている。そして、上記のPE21aと同様に、制御回路25により、これらのシフト回路SHIFT、マスク回路MASK、論理演算ユニットALUの状態が設定される。したがって、配線群22を介して供給される入力データdixおよびdiyを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果は出力信号doとして配線群(バス)22に出力される。
図4に、データ格納用のPE(RAMエレメント)の例を示してある。このPE21cは、容量16KB(32ビット×4096ワード)のデータ格納用のメモリエレメントであり、上述したアドレス発生用のPE21aあるいは演算用のPE21bを使用してアクセス用のアドレスを生成し、エレメントに入力することによりデータの入出力を行うことができる。PE21cの内部回路29cは、16ビット×2048ワードのRAM回路51を4つ備えており、これらのRAM回路51の接続を制御回路25により制御することにより、32ビットモード、デュアルポート32ビットモード、FIFOモード、2系統の16ビットモード、4系統の8ビットモードに切り替えることが可能である。このPE21cは、さらに、制御回路25の制御により、4系統のフィードバックステートモード(フィードバックモード、有限状態モード、状態遷移モード)に切り換えて使用することが可能である。
内部回路29cは、RAM回路51に加えて、エレメント入力データを保持する入力インターフェイス52と、各々のRAM回路51へアクセスするためのRAMアドレスを保持するアドレスインターフェイス53と、各々のRAM回路51へ書き込むデータを保持するデータインターフェイス54と、エレメント出力データを保持する出力インターフェイス55と、キャリー出力を保持するキャリー出力インターフェイス56とを備えている。これらのインターフェイス52〜56は、マトリクス2においてPE21を駆動する動作クロックに同期してアドレスおよびデータをラッチするフリップフロップ(FF)により構成されている。
PE21cには、配線群22を介して、入力dixとしてメモリへのアドレスが入力され、入力diyとしてメモリへのライトデータが入力される。また、PE21cからは、配線群22を介して、リードデータが出力doとして出力される。さらに、配線群22のキャリー用のバスには、キャリー出力coとして、FIFOモードのときにFIFO制御回路57からRAMの容量がフルまたはエンプティーであることを示す信号が出力される。デュアルポートモードにおいては、入力dixとしてリードアドレスとライトアドレスを入力できる。FIFOモードにおいては、入力dixの入力は不要で、入力diyのみ入力するとRAM回路51をFIFOとして使用することができる。
16ビットモードでは、入力dixのビット[12:0]を用いて第1のアドレスをセットでき、入力dixのビット[27:16]に第2のアドレスをセットでき、入力diyのビット[15:0]を用いて第1のライトデータをセットでき、入力diyのビット[31:16]に第2のライトデータをセットできる。また、出力doのビット[15:0]に第1のリードデータをセットでき、出力doのビット[31:16]に第2のリードデータをセットできる。
8ビットモードのライトモードでは、入力dixのビット[10:0]を用いてアドレスをセットでき、入力diyに4つのライトデータをセットできる。また、リードモードでは、入力dixのビット[10:0]およびビット[26:16]と、入力diyのビット[10:0]およびビット[26:16]とを用いて4つのアドレスをセットでき、出力dioに4つのリードデータをセットできる。
これらのモードは、PE21cに対する入力データからRAM回路51へアクセスするためのRAMアドレスを生成するRAMモードである。これに対し、フィードバックステートモードは、RAM回路51のRAM出力データの少なくとも一部をフィードバックしてRAMアドレスを生成する。このPE21cにおいては、RAM回路51から読み出したデータと、入力dix、diyから入力されたリードアドレスを組み合わせて、RAM回路51のリードアドレスを生成し、8ビット幅の4つのデータを読み出す。このため、入力dixのビット[10:0]およびビット[26:16]と、入力diyのビット[10:0]およびビット[26:16]とを用いて4つのリードアドレスをセットでき、出力dioに4つのリードデータをセットできる。
このため、内部回路29cは、入力インターフェイス52にセットされた入力dixをRAMアドレスとして供給する内部データパス26に加えて、RAM回路51の出力をRAMアドレスにフィードバックするフィードバックパス27と、RAMアドレスセレクタ58とを備えている。RAMアドレスセレクタ58は、入力インターフェイス52にセットされた入力dixおよびRAM回路51の出力の中から、アドレスインターフェイス53にセットするRAMアドレスを生成する。RAMアドレスセレクタ58は、RAM回路51に対応して複数設けられている。これらのRAMアドレスセレクタ58の内、32ビットモードにおいて上位ビットのアドレスのデータを格納する2つのRAM回路51のRAMアドレスセレクタ58は、入力インターフェイス52にセットされた入力diyおよびRAM回路51の出力からアドレスインターフェイス53にセットするRAMアドレスを生成できるようになっている。また、内部回路29cは、4つのRAM回路51の出力データから出力doを生成するためのRAM出力セレクタ59を備えている。
したがって、PE21cにおいては、制御回路25が、制御バス39を介してプロセッサ35からセットされるコンフィグレーションデータに従い、RAMアドレスセレクタ58とRAM出力セレクタ59を設定することにより、内部回路29cは上記の各モードとして機能するように構成される。このため、RAMエレメントPE21cは、コンフィグレーションデータを動的に変更することにより、上記の各モードの機能を発揮するエレメントに動的に変更することができる。
フィードバックステートモードにおいては、RAMアドレスセレクタ58は、コンフィグレーションデータにより、RAM出力データからRAMアドレスにフィードバックされるビッド数を3〜8の範囲で自由に設定できる。したがって、このRAMエレメントPE21cにおいては、RAM回路51のRAM出力およびPE21cに入力されたアドレスデータによりRAMアドレスを生成でき、また、RAM出力だけでRAMアドレスを生成することも可能である。そして、このRAMエレメント21cにおいては、RAMアドレスセレクタ58にRAM回路51のRAM出力がダイレクトにフィードバックされるので、1データ/1クロックでの状態遷移が保証される。したがって、RAMエレメント21cは、スループットが1データ/1クロックの状態遷移マシン、有限状態マシンまたはデータ駆動型プロセッサとして機能する。このため、RAMエレメント21cを状態遷移マシンとして接続してデータパスを生成することにより、生成多項式などの処理に用いられる線形順序マシンとしての機能を含むデータパスをマトリクス2に構成でき、その機能を動的に変更することができる。
図5に、本例の再構成可能な集積回路装置(リコンフィグラブルプロセッサ)1を備えた信号処理装置10の構成を示している。この信号処理装置10は、ターボ符号を用いてデータの変復調を行う装置である。種々のデジタル機器との間でデータを交換するためのユーザ側のユーザインターフェイス11と、無線などによりデータを送受信する側との間でデータを交換するための送受信側インターフェイス12と、信号処理装置10の機能を制御するコントローラ13と、リコンフィグラブルプロセッサ1に種々の回路を実装するためのコンフィグレーションデータを格納したコンフィグレーションメモリ14と、符号化あるいは復号化する際のデータの一時的な蓄積領域となるデータメモリ15とを備えている。本例の信号処理装置10は、1つのリコンフィグラブルプロセッサ1を動的に再構成して、符号化および復号化を時分割で行うようにしている。リコンフィグラブルプロセッサ1のマトリクス2に含まれるPE21の数が十分であれば、符号化および復号化を並列に行うことも可能である。符号化および復号化を同時に行う際に、同時に実装する可能性があるデータパスを実現するにはマトリクス2に含まれるPE21の数が不足する可能性がある場合は、複数のリコンフィグラブルプロセッサ1を用いて信号処理装置10を構成することも可能である。
図6(a)に符号化(変調)するときの信号処理装置10の構成を示してある。また、図6(b)に復号化(復調)するときの信号処理装置10の構成を示してある。符号化する際は、リコンフィグラブルプロセッサ1に、コンフィグレーションメモリ14に格納された第1のコンフィグレーションデータ(ブロックデータ)がロードされ、マトリクス2にターボ符号化用のデータパス61と、パンクチャリング用のデータパス62と、多重化用のデータパス63とが実装される。復号化する際は、まず、リコンフィグラブルプロセッサ1に、コンフィグレーションメモリ14に格納された第2のコンフィグレーションデータ(ブロックデータ)がロードされ、マトリクス2に非多重化用のデータパス64と、非パンクチャリング用のデータパス65とが実装され、データはいったんメモリ15に格納される。次に、第3のコンフィグレーションデータ(ブロックデータ)がロードされ、マトリクス2にターボ復号用のデータパス66が実装され、復調されたデータがユーザ側に出力される。
信号処理装置10の符号化状態では、ユーザインターフェイス11に入力されたユーザソースデータ71に対して、ターボ符号化用のデータパス61は、2つの畳み込み処理されたパリティーデータ系列72を生成する。パンクチャリング用のデータパス62は、それぞれのパリティーデータ系列72のデータエレメントを予め決められたパターンにしたがって選択する。そして、多重化用のデータパス63は、ユーザインターフェイス11から出力されたデータ系列と、パンクチャリングされた2つのデータ系列を多重化し、ユーザソースデータ71に対して符号化されたデータ73を送受信インターフェイス12に出力する。信号処理装置10の復号化状態では逆の処理を行い、符号化されたデータ73をユーザソースデータ71に復調してユーザインターフェイス11に出力する。
図7に、ターボ符号化用のデータパス61の概略構成を示している。ユーザソースデータ71は、そのまま多重化用のデータ系列として、RAMモードのRAMエレメントPE21cからなる内部メモリ89aに格納される。また、ユーザソースデータ71は、第1の畳み込み符号化データパス81により第1のパリティーデータ系列72aに変換されて内部メモリ89bに格納される。さらに、ユーザソースデータ71は、インターリーバ83により並び替えられ、そのデータが第2の畳み込み符号化データパス82により第2のパリティーデータ系列72bに変換されて内部メモリ89cに格納される。
図8に、畳み込み符号化データパス81の概略構成を示してある。ユーザソースデータ71は、演算用PE21bをシフトマスク回路として機能させたビットシフト回路88により1ビットずつに分割され、変換するための所望の位置にセットされる。そして、フィードバックモードのRAMエレメント21cからなるパリティー化回路87によりパリティーデータに変換され、ビットシフト回路86によりパリティーデータ系列72aに生成される。
図9は、本例の畳み込み符号化データパス81の機能を、シフトレジスタ83と、モジュロ2の加算器84により表現している。符号化データパス81では、ユーザソースデータ71に対して、図9に示した2つの生成多項式(1)および(2)を用いて再帰的畳み込みを行い、パリティーデータ系列72aを生成する。図10に、シフトレジスタ83の各レジスタの状態を入力側から順番に示し、さらに、入力データが「0」と「1」のときのパリティー出力と、畳み込み符号化データパス81の次の状態とを示してある。
図11に、図10の状態を有限状態マシンの真理値表として捉えて、その機能をフィードバックモードのRAMエレメント21cで実現するために、RAM51にロードされるRAMテーブル85の構成を示してある。このRAMテーブル85は、1ビットのデータと符号器の直前の状態(4ビット)がアドレスのビット4とビット0〜3として入力されたときに、パリティー(1ビット)および符号器の現在の状態(4ビット)がビット7とビット0〜3として出力されるように構成されている。したがって、符号化データパス81を構成するRAMエレメント21cにおいては、RAM回路51の1つに予めRAMテーブル85がロードされる。さらに、制御回路25により、そのRAM回路51のRAMアドレスを生成するRAMアドレスセレクタ58は、RAMアドレス[3:0]にRAM回路51のRAM出力データ[3:0]をフィードバックしてセットし、RAMアドレス[4]にエレメントへの入力データをセットする。RAMアドレスの他のビットは、RAMテーブルおよびビットシフト回路88により不要なビットが立たないようになっているので、初期状態「0」である。RAMアドレスセレクタにより「0」に設定しても良い。また、出力セレクタ59は、パリティーデータ(RAM出力[7])を含むデータを出力するように設定される。
このように、本例のマトリクス2では、従来、複数のシフトレジストと加算器で構成される機能を1つのエレメントPE21cで実装でき、その構成を自由に変えることができる。したがって、再構成可能な回路領域であるマトリクス2を用いて、従来の符号化専用回路を搭載した装置と同じ能力で、ユーザソースデータをエンコードできる機能を備えた信号処理装置10を提供できる。さらに、マトリクス2には符号化あるいは復号化に要するデータパスを再構成可能なので、そのマトリクス2のハードウェアリソースは他の機能にも流用することができ、信号処理装置10に搭載するリソースを最小限に止めることができる。そして、稼動するリソースも最小限に止めることができる。したがって、コンパクトであり、低消費電力で符号化および復号化できる信号処理装置10を提供できる。
本例のマトリクス2には、ターボ符号化に関わらず、PE21cを用いて他の形式の符号化における線形順序マシンを構成することは容易であり、リコンフィグラブルプロセッサ1が適用できる符号化および復号化処理はターボ符号に限定されるものではない。また、マトリクス2に構成可能なデータパスは符号化あるいは復号化に関するものに限定されない。本例のマトリクス2においては、フィードバックモードにセットできるRAMエレメントPE21cを備えているので、マトリクス2に再構成可能なデータパスとして、1データ1クロックのスループットの状態遷移マシン、有限状態マシンあるいは線形順序マシンと称される機能を含むデータパスを簡単に構成できる。特に、エレメントPE21cの内部回路の設定により有限状態マシンへ構成を変更できるようにしているので、1クロックでのステータスフィードバックが保証され、時間遅れなく、1クロックで有限状態マシンとしての出力が得られる。このため、有限状態マシンを組み込んだパイプラインをマトリクス2に容易に構成することが可能である。
さらに、本例のPE21cは1つで4系統のフィードバックモードのRAM回路51をセットできるので、1つのエレメントで4系統の独立した有限状態マシンをセットでき、独立の論理をそれぞれのRAM回路51にセットできる。さらに、RAM回路51のロジックを変更して再構成に要する時間は数μsのオーダであり、予め複数のRAM回路51に異なるロジックをセットしておけば、1クロックで異なるロジックに切り換えることも可能であり、本例のマトリクス2に実装および再構成可能なデータパスのフレキシビリティーは非常に大きい。
なお、上述したRAMエレメント21cの構成、マトリクス2の構成およびリコンフィグラブルプロセッサ(集積回路装置)1の構成などは一例にすぎず、本発明はこれに限定されるものではない。RAMエレメントは、3つ以下のRAM回路を含むものであっても良く、5つ以上のRAM回路を含むものであっても良い。また、マトリクスは、複数種類のプロセッシングエレメントの接続を変えて種々のデータパスを再構成するタイプの集積回路装置であれば良く、配線群のみならずエレメントを配線資源としてデータパスを再構成できるものなど、接続方法の異なる再構成可能な集積回路装置であっても良い。さらに、本発明のデータ処理システムは、電子回路に限定されることはなく、光回路あるいは光電子回路をベースとする集積回路装置および信号処理装置にも適用できるものである。
集積回路装置(リコンフィグラブルプロセッサ)の概要を示す図である。 プロセッシングエレメント(PE)の一例を示す図である。 演算用のPEの構成を示す図である。 RAM用のPEの構成を示す図である。 信号処理装置の構成を示す図である。 信号処理装置において、リコンフィグラブルプロセッサに実現する機能を示す図である。 ターボ符号化用のデータパスを示す図である。 畳み込み符号化用のデータパスを示す図である。 図8の畳み込み符号化用データパスの機能を異なる表現で示す図である。 畳み込み符号化の真理値表を示す図である。 畳み込み符号化を実現するためにRAM回路に格納されるRAMテーブルを示す図である。
符号の説明
1 集積回路装置、 2 マトリクス
10 信号処理装置
21 プロセッシングエレメント(PE)、 29 内部回路

Claims (4)

  1. 異なる内部回路を具備する複数種類の処理エレメントと、それら複数種類の処理エレメントを可変接続する配線群とを備えた、再構成可能な回路区画を有し、
    前記複数種類の処理エレメントは、データを格納するためのRAMエレメントを含み、
    前記RAMエレメントは、第1のRAM回路と、第2のRAM回路と、
    当該RAMエレメントに対する第1のエレメント入力データをラッチする第1の入力インターフェイスと、
    当該RAMエレメントに対する第2のエレメント入力データをラッチする第2の入力インターフェイスと、
    前記第1の入力インターフェイスにラッチされる前記第1のエレメント入力データ、および前記第1のRAM回路から読み出される第1のRAM出力データの中から前記第1のRAM回路にアクセスする第1のRAMアドレスを生成して第1のアドレスインターフェイスに供給する第1のセレクタ回路と、
    前記第1の入力インターフェイスにラッチされる前記第1のエレメント入力データ、前記第2の入力インターフェイスにラッチされる前記第2のエレメント入力データ、および前記第2のRAM回路から読み出される第2のRAM出力データの中から前記第2のRAM回路にアクセスする第2のRAMアドレスを生成して第2のアドレスインターフェイスに供給する第2のセレクタ回路と、
    前記第1のセレクタ回路および前記第2のセレクタ回路により、前記第1の入力インターフェイスおよび前記第2の入力インターフェイスと前記第1のRAM回路および前記第2のRAM回路との接続を制御する制御回路とを有し、
    前記制御回路は、前記第1のエレメント入力データから前記第1のRAMアドレスおよび前記第2のRAMアドレスを生成し、前記第2のエレメント入力データを前記第1のRAM回路および前記第2のRAM回路へ書き込むRAMライトモードと
    前記第1のエレメント入力データから前記第1のRAMアドレスを生成し、前記第1のRAM回路から前記第1のRAM出力データを読み出し、前記第2のエレメント入力データから前記第2のRAMアドレスを生成し、前記第2のRAM回路から前記第2のRAM出力データを読み出すRAMリードモードと、
    前記第1のRAM出力データの少なくとも一部をフィードバックして前記第1のRAMアドレスを生成し、前記第2のRAM出力データの少なくとも一部をフィードバックして前記第2のRAMアドレスを生成するフィードバックモードと備えている、集積回路装置。
  2. 請求項に記載の集積回路装置を有する信号処理装置。
  3. 請求項において、前記複数種類の処理エレメントにより、入力信号を、符号多項式を用いた方法でエンコードする符号化データパスが構成されており、
    前記符号多項式は前記フィードバックモードにセットされた前記RAMエレメントを用いて実装されている、信号処理装置。
  4. 請求項において、前記符号化データパスは、複数の生成多項式を用いた再帰的畳み込み符号化を含むターボ符号化データパスを備えており、
    前記ターボ符号化データパスに含まれる前記フィードバックモードの前記RAMエレメントの前記第1のRAM回路および前記第2のRAM回路に、前記入力信号を前記複数の生成多項式により符号化する符号化テーブルがセットされている、信号処理装置。
JP2005101298A 2005-03-31 2005-03-31 集積回路装置および信号処理装置 Active JP4654731B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005101298A JP4654731B2 (ja) 2005-03-31 2005-03-31 集積回路装置および信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005101298A JP4654731B2 (ja) 2005-03-31 2005-03-31 集積回路装置および信号処理装置

Publications (2)

Publication Number Publication Date
JP2006285386A JP2006285386A (ja) 2006-10-19
JP4654731B2 true JP4654731B2 (ja) 2011-03-23

Family

ID=37407283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005101298A Active JP4654731B2 (ja) 2005-03-31 2005-03-31 集積回路装置および信号処理装置

Country Status (1)

Country Link
JP (1) JP4654731B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5098358B2 (ja) * 2007-02-22 2012-12-12 富士通セミコンダクター株式会社 プロセッシングエレメント及びそれを備えたリコンフィギャラブル回路
JP5388323B2 (ja) * 2007-11-09 2014-01-15 独立行政法人 宇宙航空研究開発機構 計算機
JP4894013B2 (ja) * 2007-12-03 2012-03-07 学校法人慶應義塾 ネットワークに含まれるノード間の経路を探索するためのシステムおよび方法
JP5119902B2 (ja) 2007-12-19 2013-01-16 富士通セミコンダクター株式会社 動的再構成支援プログラム、動的再構成支援方法、動的再構成回路、動的再構成支援装置および動的再構成システム
US8766666B2 (en) * 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073331A (ja) * 2000-08-29 2002-03-12 Pacific Design Kk データ処理装置
WO2002095946A1 (fr) * 2001-05-24 2002-11-28 Ip Flex Inc. Dispositif a circuit integre

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073331A (ja) * 2000-08-29 2002-03-12 Pacific Design Kk データ処理装置
WO2002095946A1 (fr) * 2001-05-24 2002-11-28 Ip Flex Inc. Dispositif a circuit integre

Also Published As

Publication number Publication date
JP2006285386A (ja) 2006-10-19

Similar Documents

Publication Publication Date Title
US7230978B2 (en) Channel CODEC processor configurable for multiple wireless communications standards
US8880850B2 (en) Low power, high performance, heterogeneous, scalable processor architecture
JP4594666B2 (ja) 再構成可能な演算装置
US7953956B2 (en) Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit
JP4654731B2 (ja) 集積回路装置および信号処理装置
US7908542B2 (en) Method of and apparatus for implementing a reconfigurable trellis-type decoding
WO2006026334A1 (en) A method of and apparatus for implementing a reconfigurable trellis-type decoding
US20150236723A1 (en) Parallel VLSI architectures for constrained turbo block convolutional decoding
KR20080040706A (ko) 데이터 스트림에 주기적 덧붙임 검사(crc)를 수행하기위한 crc 생성 회로를 구성하는 방법 및 장치
WO2012108411A1 (ja) 符号化/復号化処理プロセッサ、および無線通信装置
US20140040700A1 (en) Multicore type error correction processing system and error correction processing apparatus
US6523146B1 (en) Operation processing apparatus and operation processing method
JPH1174800A (ja) ビタビデコーダ
US20070198901A1 (en) Configurable interface for connecting various chipsets for wireless communication to a programmable (multi-)processor
US7693928B2 (en) Galois field linear transformer trellis system
CN1635731A (zh) 可重构密码协处理器电路
EP1779256A2 (en) Programmable processor architecture
JP5336398B2 (ja) 半導体集積回路、半導体集積回路の構成変更方法
EP1674986A1 (en) Data processing device
Asghar Flexible Interleaving Sub–systems for FEC in Baseband Processors
Scarpellino et al. Reconfigurable architecture for LDPC and turbo decoding: A NoC case study
Sánchez-Ortiz et al. Design and implementation of a multi-standard interleaver for 802.11 a, 802.11 n, 802.16 e & DVB standards
US20070230606A1 (en) Viterbi traceback
JP2006081076A (ja) データ処理装置
JP2000114986A (ja) 符号化方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081002

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

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: 20101124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4654731

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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