(57)【要約】【課題】  回路規模の縮小化に貢献するリコンフィギュラブル回路を備えた処理装置を提供する。【解決手段】  本発明による処理装置１０は、１つの回路を分割した複数の分割回路をリコンフィギュラブル回路１２上に順次構成し、ある分割回路の出力を次の分割回路の入力にフィードバックして分割回路における演算処理を実行し、最後に構成された分割回路から出力を取り出す。フィードバックパスとして、リコンフィギュラブル回路１２の出力をその入力に接続する経路部２４を形成する。分割回路を順次構成することによって、全体として１つの回路を実現できる。【選択図】        図１
2004310730.tif 000002
【特許請求の範囲】
【請求項１】
機能の変更が可能なリコンフィギュラブル回路と、
前記リコンフィギュラブル回路の出力を、前記リコンフィギュラブル回路の入力として伝達するための経路部と、
前記リコンフィギュラブル回路に所期の回路を構成するための設定データを供給する設定部と、
前記リコンフィギュラブル回路に複数の設定データを順次供給するように前記設定部を制御し、ある設定データにより前記リコンフィギュラブル回路上で構成された回路の出力を、前記経路部を通じて次の設定データにより構成される回路の入力に供給させる制御部とを備える、処理装置。
【請求項２】
前記設定部が、複数の設定データを前記リコンフィギュラブル回路に順次供給することにより、全体として１つの回路が構成される、請求項１に記載の処理装置。
【請求項３】
複数の設定データは、１つの回路を分割した複数の分割回路をそれぞれ表現したものである、請求項１または請求項２に記載の処理装置。
【請求項４】
前記リコンフィギュラブル回路は組合せ回路として構成される、請求項１〜３のいずれか１項に記載の処理装置。
【請求項５】
前記リコンフィギュラブル回路の出力を受ける内部状態保持回路をさらに備え、この内部状態保持回路は、前記経路部に接続されている、請求項４に記載の処理装置。
【請求項６】
前記リコンフィギュラブル回路の出力を受ける出力回路をさらに備え、前記出力回路は、前記設定部により前記リコンフィギュラブル回路が複数回構成されると、前記リコンフィギュラブル回路の出力を出力する、請求項５に記載の処理装置。
【請求項７】
前記ある設定データにより前記リコンフィギュラブル回路上で構成された回路の出力を所定の領域に記憶するメモリ部をさらに備え、
前記制御部は、前記メモリ部の前記所定の領域に記憶された前記リコンフィギュラブル回路上で構成された回路の出力を、前記経路部を通じて次の設定データにより構成される回路の入力に供給させる、請求項１に記載の処理装置。
【請求項８】
前記リコンフィギュラブル回路の入力として、前記経路部からの入力と、外部からの入力とを切替える切替回路をさらに備える、請求項７に記載の処理装置。
【請求項９】
前記リコンフィギュラブル回路は、それぞれが複数の演算機能を選択的に実行可能な複数の論理回路と、論理回路間の接続関係を設定可能な接続部とを含み、
前記設定部は、前記論理回路の機能および前記接続関係を設定する、請求項１〜８のいずれか１項に記載の処理装置。
【請求項１０】
前記論理回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路である、請求項９に記載の処理装置。
【請求項１１】
１つの回路を分割した複数の分割回路をリコンフィギュラブル回路上に順次構成し、ある分割回路の出力を次の分割回路の入力にフィードバックして分割回路における演算処理を実行し、最後に構成された分割回路から出力を取り出す、処理方法。
【請求項１２】
機能の変更が可能なリコンフィギュラブル回路と、
前記リコンフィギュラブル回路の出力を、前記リコンフィギュラブル回路の入力に接続する経路部と、
前記リコンフィギュラブル回路に所期の回路を構成するための設定データを供給する設定部とを備える、集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、集積回路技術に関し、特にリコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法の技術に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）はＬＳＩ製造後に回路データを書き込んで比較的自由に回路構成を設計することが可能であり、専用ハードウエアの設計に利用されている。ＦＰＧＡは、論理回路の真理値表を格納するためのルックアップテーブル（ＬＵＴ）と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソースとを含む。ＦＰＧＡでは、ＬＵＴに格納するデータと配線データを書き込むことで目的とする論理演算を実現できる。しかし、ＦＰＧＡでＬＳＩを設計した場合、ＡＳＩＣ（Application Specific IC）による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、ＦＰＧＡを動的に再構成することで、回路構成の再利用を図る方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平１０−２５６３８３号公報  （全文、第１−４図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば衛星放送では、季節などにより、放送モードを切り替えて画質の調整などを行うこともある。受信機では、放送モードごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り替えて受信している。したがって、受信機の他の放送モード用の回路はその間遊んでいることになる。モード切り替えのように、複数の専用回路を切り替えて使用し、その切り替え間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切り替え時にＬＳＩを瞬時に再構成することにすれば、回路構造をシンプルにして汎用性を高め、同時に実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なＬＳＩに製造業界の関心が高まってきている。特に、携帯電話やＰＤＡ（Personal Data Assistant）などのモバイル端末に搭載されるＬＳＩは小型化が必須であり、ＬＳＩを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、ＬＳＩの実装面積を低く抑えることができる。
【０００４】
ＦＰＧＡは回路構成の設計自由度が高く、汎用的である反面、全ての基本セル間の接続を可能とするため、多数のスイッチとスイッチのＯＮ／ＯＦＦを制御するための制御回路を含む必要があり、必然的に制御回路の実装面積が大きくなる。また、基本セル間の接続に複雑な配線パターンをとるため、配線が長くなる傾向がある。さらに１本の配線に多くのスイッチが接続される構造であるため、遅延が大きくなる。そのため、ＦＰＧＡによるＬＳＩは、試作や実験のために利用されるにとどまることが多く、実装効率、性能、コストなどを考えると、量産には適していない。さらに、ＦＰＧＡでは、多数のＬＵＴ方式の基本セルに設定データを送る必要があるため、回路のコンフィグレーションにはかなりの時間を要する。そのため、瞬時に回路構成の切り替えが必要な用途にはＦＰＧＡは適していない。
【０００５】
本発明はこうした状況に鑑みてなされたもので、その目的は、回路規模の縮小化に貢献するリコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法の提供にある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様は、機能の変更が可能なリコンフィギュラブル回路と、リコンフィギュラブル回路の出力をリコンフィギュラブル回路の入力に接続する経路部と、リコンフィギュラブル回路に所期の回路を構成するための設定データを供給する設定部と、リコンフィギュラブル回路に複数の設定データを順次供給するように設定部を制御し、ある設定データによりリコンフィギュラブル回路上で構成された回路の出力を経路部を通じて次の設定データにより構成される回路の入力に供給させる制御部とを備える処理装置を提供する。経路部は、リコンフィギュラブル回路の出力と入力のフィードバックパスとして機能する。
【０００７】
この態様の処理装置によれば、構成するべき回路の規模が大きい場合であっても、その回路を分割してリコンフィギュラブル回路に順次構成することができるため、構成するべき回路に合わせてリコンフィギュラブル回路の回路規模を大きく設定する必要がなく、リコンフィギュラブル回路の回路規模を縮小化することができる。また、リコンフィギュラブル回路の回路規模を小さくするため、消費電力を小さくすることができる。
【０００８】
この態様の処理装置においては、設定部が、複数の設定データをリコンフィギュラブル回路に順次供給することにより、全体として１つの回路が構成されることになる。複数の設定データは、１つの回路を分割した複数の分割回路をそれぞれ表現する。
【０００９】
リコンフィギュラブル回路は組合せ回路、あるいは順序回路等の論理回路である。特に、組合せ回路の場合は、一度入力データを設定すれば、高速に、例えば１クロック内で出力を取り出すことができる。処理装置は、リコンフィギュラブル回路の出力を受ける内部状態保持回路をさらに備え、この内部状態保持回路は、経路部に接続される。また、処理装置は、リコンフィギュラブル回路の出力を受ける出力回路をさらに備え、この出力回路は、設定部によりリコンフィギュラブル回路が複数回構成されると、リコンフィギュラブル回路の出力を出力してもよい。リコンフィギュラブル回路に全ての分割回路をマッピングした後、最後の分割回路の出力を取り出すことにより、所期の出力を得ることができる。また、処理装置は、メモリ部をさらに備え、制御部は、記憶部に記憶されたリコンフィギュラブル回路上で構成された回路の出力を次の設定データにより構成される回路の入力に供給する。制御部は、必要に応じてメモリ部から入力データをリコンフィギュラブル回路に入力することができるため並列的な処理を実行可能である。また、処理装置は、経路部からの入力と、外部からの入力とを切替える切替回路をさらに備える。
【００１０】
リコンフィギュラブル回路は、それぞれが複数の演算機能を選択的に実行可能な複数の論理回路と、論理回路間の接続関係を設定可能な接続部とを含み、設定部は、論理回路の機能および接続関係を設定してもよい。リコンフィギュラブル回路は、論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを含んでもよい。論理回路の多段配列の構造は、横方向に並べられた論理回路の列が縦方向に複数段組み合わされた配列をとり、横方向すなわち列内の論理回路間に接続用結線はなく、各段の論理回路列の出力と直後の段の論理回路列の入力との間に接続用結線が設けられた構造であってもよい。
【００１１】
各論理回路は、比較的高性能な演算が可能な回路であってもよく、例えば、複数種類の多ビット演算を選択的に実行可能な算術論理回路（ＡＬＵ（Arithmetic Logic Unit））であってもよい。論理回路は、複数の演算機能を選択するためのセレクタを有し、セレクタは、外部からロードされた設定データにより演算機能を選択する。論理回路の演算機能をセレクタで選択可能とすることにより、論理回路の機能の切替を瞬時に行なうことができ、ひいてはリコンフィギュラブル回路の機能を瞬時に設定することが可能となる。
【００１２】
本発明の別の態様は、１つの回路を分割した複数の分割回路をリコンフィギュラブル回路上に順次構成し、ある分割回路の出力を次の分割回路の入力にフィードバックして分割回路における演算処理を実行し、最後に構成された分割回路から出力を取り出すことを特徴とする処理方法を提供する。この態様の処理方法によると、構成するべき回路の規模が大きい場合であっても、その回路を分割してリコンフィギュラブル回路に順次構成することができるため、構成するべき回路に合わせてリコンフィギュラブル回路の回路規模を大きく設定する必要がなく、リコンフィギュラブル回路の回路規模を縮小化することができる。
【００１３】
本発明のさらに別の態様は、機能の変更が可能なリコンフィギュラブル回路と、リコンフィギュラブル回路の出力をリコンフィギュラブル回路の入力に接続する経路部と、リコンフィギュラブル回路に所期の回路を構成するための設定データを供給する設定部とを備える集積回路装置を提供する。この態様の集積回路装置によると、リコンフィギュラブル回路、経路部および設定部を１チップ上に形成するため、高速な処理が可能となる。
【００１４】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、回路規模の縮小化に貢献するリコンフィギュラブル回路を備えた集積回路装置および処理装置、これらを利用した処理方法を提供できる。
【発明を実施するための最良の形態】
【００１６】
以下において、本発明の実施の形態について図面を参照しながら詳細に説明する。なお図中における同一符号は、同一または相当部分を示すものとする。
【００１７】
（実施の形態１）
図１は、実施の形態に係る処理装置１０の構成図である。処理装置１０は、集積回路装置２６を備える。集積回路装置２６は、回路構成を再構成可能とする機能を有する。集積回路装置２６は１チップとして構成され、リコンフィギュラブル回路１２、設定部１４、制御部１８、内部状態保持回路２０、出力回路２２および経路部２４を備える。リコンフィギュラブル回路１２は、設定を変更することにより、機能の変更を可能とする。
【００１８】
設定部１４は、第１設定部１４ａ、第２設定部１４ｂ、第３設定部１４ｃ、第４設定部１４ｄおよび選択器１６を有し、リコンフィギュラブル回路１２に所期の回路を構成するための設定データ４０を供給する。
【００１９】
経路部２４は、フィードバックパスとして機能し、リコンフィギュラブル回路１２の出力を、リコンフィギュラブル回路１２の入力に接続する。内部状態保持回路２０および出力回路２２は、例えばデータフリップフロップ（Ｄ−ＦＦ）などの順序回路として構成され、リコンフィギュラブル回路１２の出力を受ける。内部状態保持回路２０は経路部２４に接続されている。リコンフィギュラブル回路１２は組合せ回路または順序回路等の論理回路として構成される。
【００２０】
リコンフィギュラブル回路１２は、機能の変更が可能な論理回路を有して構成される。具体的にリコンフィギュラブル回路１２は、複数の演算機能を選択的に実行可能な論理回路を複数段に配列させた構成を有し、前段の論理回路列の出力と後段の論理回路列の入力との接続関係を設定可能な接続部を含む。複数の論理回路は、マトリックス状に配置される。各論理回路の機能と、論理回路間の接続関係は、設定部１４により供給される設定データ４０に基づいて設定される。設定データ４０は、以下の手順で生成される。
【００２１】
集積回路装置２６により実現されるべきプログラム３６が、記憶部３４に保持されている。プログラム３６は、信号処理回路または信号処理アルゴリズムなどをＣ言語などの高級言語で記述したものである。コンパイル部３０は、記憶部３４に格納されたプログラム３６をコンパイルし、データフローグラフ３８に変換して記憶部３４に格納する。データフローグラフ３８は、入力変数および定数の演算の流れをグラフ構造で表現したものである。
【００２２】
設定データ生成部３２は、データフローグラフ３８から設定データ４０を生成する。設定データ４０は、データフローグラフ３８をリコンフィギュラブル回路１２にマッピングするためのデータであり、リコンフィギュラブル回路１２における論理回路の機能や論理回路間の接続関係を定める。本実施の形態では、設定データ生成部３２が、１つの回路を分割してできる複数の回路の設定データ４０を生成する。
【００２３】
図２は、１つの回路４２を分割してできる複数の回路の設定データ４０について説明するための図である。１つの回路４２を分割して生成される回路を、「分割回路」と呼ぶ。この例では、１つの回路４２が、４つの分割回路、すなわち分割回路Ａ、分割回路Ｂ、分割回路Ｃ、分割回路Ｄに分割されている。回路４２は、データフローグラフ３８における演算の流れにしたがって分割される。データフローグラフ３８において、上から下に向かう方向に演算の流れが表現される場合には、そのデータフローグラフ３８を上から所定の間隔で切り取り、その切り取った部分を分割回路として設定する。流れにしたがって切り取る間隔は、リコンフィギュラブル回路１２における論理回路の段数以下に定められる。回路４２は、データフローグラフ３８の横方向で分割されてもよい。横方向に分割する幅は、リコンフィギュラブル回路１２における論理回路の１段当たりの個数以下に定められる。
【００２４】
特に、生成すべき回路がリコンフィギュラブル回路１２よりも大きい場合に、設定データ生成部３２は、リコンフィギュラブル回路１２にマッピングできる大きさになるように、回路４２を分割することが好ましい。設定データ生成部３２は、リコンフィギュラブル回路１２における論理回路の配列構造とデータフローグラフ３８によって、回路４２の分割方法を定める。リコンフィギュラブル回路１２の配列構造は、制御部１８から設定データ生成部３２に伝えられてもよく、また予め記憶部３４に記録されていてもよい。また、制御部１８が、回路４２の分割方法を設定データ生成部３２に指示してもよい。
【００２５】
以上の手順を実行することにより、記憶部３４は、リコンフィギュラブル回路１２を所期の回路として構成するための複数の設定データ４０を記憶する。複数の設定データ４０は、分割回路Ａを構成するための設定データ４０ａ、分割回路Ｂを構成するための設定データ４０ｂ、分割回路Ｃを構成するための設定データ４０ｃ、および分割回路Ｄを構成するための設定データ４０ｄである。既述のごとく、複数の設定データ４０は、１つの回路４２を分割した複数の分割回路をそれぞれ表現したものである。このように、リコンフィギュラブル回路１２の回路規模に応じて、生成すべき回路４２の設定データ４０を生成することにより、汎用性の高い処理装置１０を実現することが可能となる。別の視点からみると、本実施の形態の処理装置１０によれば、回路規模の小さいリコンフィギュラブル回路１２を用いて、所望の回路を再構成することが可能となる。
【００２６】
図３は、リコンフィギュラブル回路１２の構成図である。リコンフィギュラブル回路１２は、複数の論理回路５０の列が複数段にわたって配列されたもので、各段に設けられた接続部５２によって、前段の論理回路列の出力と後段の論理回路列の入力が設定により任意に接続可能な構造となっている。ここでは、論理回路５０の例としてＡＬＵを示す。各ＡＬＵは、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる。各ＡＬＵは、複数の演算機能を選択するためのセレクタを有している。
【００２７】
図示のように、リコンフィギュラブル回路１２は、横方向にＹ個、縦方向にＸ個のＡＬＵが配置されたＡＬＵアレイとして構成される。第１段のＡＬＵ１１、ＡＬＵ１２、・・・、ＡＬＵ１Ｙには、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第１段の接続部５２に設定された接続にしたがって、第２段のＡＬＵ２１、ＡＬＵ２２、・・・、ＡＬＵ２Ｙに入力される。第１段の接続部５２においては、第１段のＡＬＵ列の出力と第２段のＡＬＵ列の入力の間で任意の接続関係、あるいは、決められた組み合わせのうちより選択された接続関係を実現できるように結線が構成されており、設定により所期の結線が有効となる。以下、第（Ｘ−１）段の接続部５２まで、同様の構成であり、最終段である第Ｘ段のＡＬＵ列は演算の最終結果を出力する。
【００２８】
図４は、他のリコンフィギュラブル回路１２＃の構成図である。
【００２９】
図４を参照して、リコンフィギュアブル回路１２♯は、リコンフィギュアブル回路１２と比較して、接続部５２を接続部５２＃に置換した点が異なる。接続部５２＃は、接続部５２の機能に加えて外部から直接入力変数や定数の入力が可能な構成であるとともに、接続部５２＃から直接外部に前段のＡＬＵの演算結果を出力することも可能な構成である。この構成により図３に示されるリコンフィギュアブル回路１２の構成よりも多様な組合せ回路を構成することが可能となり、設計の自由度が向上する。他の部分および構成については図３で示されるリコンフィギュアブル回路１２の構成と同様であるのでその詳細な説明は繰返さない。
【００３０】
図５は、データフローグラフ３８の例を示す図である。データフローグラフ３８においては、入力される変数や定数の演算の流れが段階的にグラフ構造で表現されている。図中、演算子は丸印で示されている。設定データ生成部３２は、このデータフローグラフ３８をリコンフィギュラブル回路１２にマッピングするための設定データ４０を生成する。本実施の形態では、特にデータフローグラフ３８をリコンフィギュラブル回路１２にマッピングしきれない場合に、データフローグラフ３８を複数の領域に分割して、分割回路の設定データ４０を生成する。データフローグラフ３８による演算の流れを回路上で実現するべく、設定データ４０は、演算機能を割り当てる論理回路を特定し、また論理回路間の接続関係を定め、さらに入力変数や入力定数などを定義したデータとなる。したがって、設定データ４０は、各論理回路５０の機能を選択するセレクタに供給する選択情報、接続部５２の結線を設定する接続情報、必要な変数データや定数データなどを含んで構成される。
【００３１】
図１に戻って、回路の構成時、制御部１８は、１つの回路を構成するための複数の設定データ４０を選択する。ここでは、制御部１８が、図２に示す回路４２を構成するための設定データ４０、すなわち分割回路Ａの設定データ４０ａ、分割回路Ｂの設定データ４０ｂ、分割回路Ｃの設定データ４０ｃおよび分割回路Ｄの設定データ４０ｄを選択するものとする。制御部１８は、選択した設定データ４０を設定部１４に供給する。設定部１４はキャッシュメモリや他の種類のメモリを有し、供給される設定データ４０をそれぞれ保持する。具体的に制御部１８は、設定データ４０ａを第１設定部１４ａに、設定データ４０ｂを第２設定部１４ｂに、設定データ４０ｃを第３設定部１４ｃに、設定データ４０ｄを第４設定部１４ｄに供給する。なお、本例においては、制御部１８が記憶部３４から設定データ４０を受けて設定部１４に供給する構成について説明するが、制御部１８を設けることなく、予め設定部１４に設定データおよび各回路を制御するための制御データを記憶するＲＡＭ（Random Access Memory）や、ＲＯＭ（Read Only memory）等のメモリを備えた構成とすることも可能である。
【００３２】
設定部１４は、選択された設定データ４０をリコンフィギュラブル回路１２に設定し、リコンフィギュラブル回路１２の回路を再構成する。これにより、リコンフィギュラブル回路１２は、所期の演算を実行できる。リコンフィギュラブル回路１２は、基本セルとして高性能の演算能力のあるＡＬＵを用いており、またリコンフィギュラブル回路１２および設定部１４を１チップ上に構成（マッピング）することから、コンフィグレーションを高速に、例えば１クロックで実現することができる。制御部１８はクロック機能を有し、クロック信号は、内部状態保持回路２０および出力回路２２に供給される。また制御部１８はカウンタ回路を含み、カウント信号を選択器１６に供給してもよい。この場合、カウンタ回路は４進カウンタである。
【００３３】
図６は、本実施の形態における信号処理のフローチャートを示す。制御部１８は、カウンタ回路からのカウント信号に合わせて、リコンフィギュラブル回路１２に複数の設定データ４０、すなわち設定データ４０ａ、設定データ４０ｂ、設定データ４０ｃおよび設定データ４０ｄを順次供給するように設定部１４を制御する。設定部１４が、複数の設定データ４０をリコンフィギュラブル回路１２に順次供給することにより、全体として１つの回路が構成されることになる。出力回路２２は、設定部１４によりリコンフィギュラブル回路１２が複数回、ここでは４回構成されると、リコンフィギュラブル回路１２の出力を出力する。この回数は、使用する設定データ４０の個数となる。以下、具体的な手順を示す。
【００３４】
まず、制御部１８が、選択器１６を制御して第１設定部１４ａを選択する。選択器１６は、カウンタ回路により制御されてもよい。第１設定部１４ａは、分割回路Ａの設定データ４０ａをリコンフィギュラブル回路１２に供給し、リコンフィギュラブル回路１２上に分割回路Ａを構成する（ステップＳ１０）。分割回路Ａが構成されると同時に、入力データが分割回路Ａに供給される。組合せ回路である分割回路Ａは、次のクロック信号までの間に、演算処理を実行する。
【００３５】
制御部１８がクロック信号を内部状態保持回路２０に供給すると、内部状態保持回路２０は、分割回路Ａによる処理結果を保持する（ステップＳ１２）。ステップＳ１０およびステップＳ１２のステップを第１サイクルと呼ぶ。同時に、制御部１８が、選択器１６を制御して第２設定部１４ｂを選択する。第２設定部１４ｂは、分割回路Ｂの設定データ４０ｂをリコンフィギュラブル回路１２に供給し、リコンフィギュラブル回路１２上に分割回路Ｂを構成する。このとき、内部状態保持回路２０に保持された分割回路Ａの処理結果が、経路部２４を通って分割回路Ｂの入力に供給される（ステップＳ１４）。分割回路Ｂは、次のクロック信号までの間に、演算処理を実行する。
【００３６】
制御部１８が次のクロック信号を内部状態保持回路２０に供給すると、内部状態保持回路２０は、分割回路Ｂの処理結果を保持する（ステップＳ１６）。ステップＳ１４およびステップＳ１６のステップを第２サイクルと呼ぶ。同時に、制御部１８が、選択器１６を制御して第３設定部１４ｃを選択する。第３設定部１４ｃは、分割回路Ｃの設定データ４０ｃをリコンフィギュラブル回路１２に供給し、リコンフィギュラブル回路１２上に分割回路Ｃを構成する。このとき、内部状態保持回路２０に保持された分割回路Ｂの処理結果が、経路部２４を通って分割回路Ｃの入力に供給される（ステップＳ１８）。分割回路Ｃは、次のクロック信号までの間に、演算処理を実行する。
【００３７】
制御部１８が次のクロック信号を内部状態保持回路２０に供給すると、内部状態保持回路２０は、分割回路Ｃの処理結果を保持する（ステップＳ２０）。ステップＳ１８およびステップＳ２０のステップを第３サイクルと呼ぶ。同時に、制御部１８が、選択器１６を制御して第４設定部１４ｄを選択する。第４設定部１４ｄは、分割回路Ｄの設定データ４０ｄをリコンフィギュラブル回路１２に供給し、リコンフィギュラブル回路１２上に分割回路Ｄを構成する。このとき、内部状態保持回路２０に保持された分割回路Ｃの処理結果が、経路部２４を通って分割回路Ｄの入力に供給される（ステップＳ２２）。分割回路Ｄは、次のクロック信号までの間に、演算処理を実行する。
【００３８】
制御部１８が次のクロック信号を出力回路２２に供給すると、出力回路２２は、分割回路Ｄの処理結果を出力する（ステップＳ２４）。ステップＳ２２およびステップＳ２４のステップを第４サイクルと呼ぶ。第１サイクルから第４サイクルまでの処理を繰り返し行う場合には、再度、制御部１８が選択器１６を制御して第１設定部１４ａを選択し、リコンフィギュラブル回路１２上に分割回路Ａを構成して、入力データが供給される。
【００３９】
以上のように、１つの回路４２を分割した複数の分割回路Ａ〜Ｄをリコンフィギュラブル回路１２上に順次構成し、各分割回路の出力を次の分割回路の入力にフィードバックして各分割回路における演算処理を実行し、最後に構成された分割回路Ｄから、回路４２の出力を取り出す。ステップＳ１０からステップＳ２４までにかかる時間は４クロック分であり、本実施の形態の処理装置１０によると、限られたリコンフィギュラブル回路１２の回路規模のなかで、効率よい演算処理を実行することができる。また、リコンフィギュラブル回路１２の回路規模が小さいため、消費電力も小さくできる。
【００４０】
制御部１８は、内部状態保持回路２０および出力回路２２に同一のクロック信号を供給してもよいが、出力回路２２に供給するクロック信号の周期を、内部状態保持回路２０に供給するクロック信号の周期の４倍に設定してもよい。内部状態保持回路２０および出力回路２２に同一のクロック信号を供給する場合は、内部状態保持回路２０に出力回路２２の役目をもたせ、１つの回路にまとめることもできる。この場合は、出力先の回路以降で必要な信号を取り出すための回路が必要となる。図６に示した例では１つの回路４２を４サイクルの分割回路で表現したため、出力回路２２の動作周期が内部状態保持回路２０の動作周期の４倍となっているが、周期の比は、回路４２の分割数に応じて変化する。また、この例では第１設定部１４ａ〜第４設定部１４ｄの４つの設定部を利用したが、この数も回路４２の分割数に応じて変動することは当業者に容易に理解されるところである。
【００４１】
図７は、前後７点を利用する７タップからなるＦＩＲフィルタ回路を示す。以下、このＦＩＲ（Finite Impulse Response）フィルタ回路を、本実施の形態における処理装置１０で実現する具体例を示す。このＦＩＲフィルタ回路の係数は、図示のごとく、対称に設定されている。
【００４２】
図８は、図７で示すＦＩＲフィルタ回路を置き換えた回路を示す。回路の置き換えは、フィルタ係数の対称性を利用している。
【００４３】
図９は、図８で示すＦＩＲフィルタ回路をさらに置き換えた回路を示す。ここでは、フィルタ係数に着目した置き換えを行っている。具体的には、係数1/16を1/2×1/2×1/2×1/2に、2/16を1/2×1/2×1/2に、8/16を1/2に置き換えている。
係数1/2の演算はデータを右に１ビットシフトすることで実現できる。１ビットシフタは、複数ビットシフタと比べて、ＡＬＵ内において非常に小さいスペースで形成することができる。
【００４４】
図１０は、図９に示すＦＩＲフィルタ回路をコンパイルして作成したデータフローグラフ３８ａを示す。図中、“＋”は加算を示し、“＞＞１”は１ビットのシフトを示し、 “ＭＯＶ”はスルー用のパスを示す。図示のごとく、データフローグラフ３８ａは、７段の演算子で構成される。
【００４５】
図１１は、本実施例で使用するリコンフィギュラブル回路１２を示す。本実施例では、リコンフィギュラブル回路１２が、４列２段のＡＬＵを含んで構成される。
【００４６】
図１２は、図１０に示すデータフローグラフ３８ａを、図１１のリコンフィギュラブル回路１２を用いて実現する例を示す。データフローグラフ３８ａが７段で構成され、リコンフィギュラブル回路１２が２段で構成されていることから、データフローグラフ３８ａは、４つに分割される。
【００４７】
第１サイクルでは、第１設定部１４ａが、データフローグラフ３８ａの第１段および第２段の内容を、設定データ４０ａによりリコンフィギュラブル回路１２上に構成する。第２サイクルでは、第２設定部１４ｂが、データフローグラフ３８ａの第３段および第４段の内容を、設定データ４０ｂによりリコンフィギュラブル回路１２上に構成（マッピング）する。第３サイクルでは、第３設定部１４ｃが、データフローグラフ３８ａの第５段および第６段の内容を、設定データ４０ｃによりリコンフィギュラブル回路１２上に構成（マッピング）する。第４サイクルでは、第４設定部１４ｄが、データフローグラフ３８ａの第７段の内容を、設定データ４０ｄによりリコンフィギュラブル回路１２上に構成（マッピング）する。各サイクルにおける出力結果は、次のサイクルの入力としてフィードバックされる。
【００４８】
実施例１において、ＡＬＵは、“＋”、“＞＞１”、“ＭＯＶ”の３種類のみで実現することができる。複数ビットのシフトを、１ビットシフタを複数回利用することにより表現することとしたため、必要とされるＡＬＵの機能を非常に少なくすることができる。これにより、リコンフィギュラブル回路１２の回路規模を小さくできる。なお、４種類の設定データ４０を供給するため、制御部１８におけるカウンタ回路は、４進カウンタとなる。
【００４９】
（実施の形態２）
図１３は、図８に示すＦＩＲフィルタ回路をコンパイルして作成したデータフローグラフ３８ｂを示す。図中、“＋”は加算を、“ＭＯＶ”はスルー用のパスを、“＞＞４”は４ビットのシフトを、“＞＞３”は３ビットのシフトを、“＞＞１”は１ビットのシフトを示す。図９の例では、複数ビットのシフトを１ビットシフトにおとしてデータフローグラフ３８ａを作成したが、図１３の例では、複数ビットのシフトをそのままにデータフローグラフ３８ｂを作成している。図示のごとく、データフローグラフ３８ｂは、４段の演算子で構成される。
【００５０】
図１４は、図１３に示すデータフローグラフ３８ｂを、図１１のリコンフィギュラブル回路１２を用いて実現する例を示す。データフローグラフ３８ｂが４段で構成され、リコンフィギュラブル回路１２が２段で構成されていることから、データフローグラフ３８ｂは、２つに分割される。
【００５１】
第１サイクルでは、第１設定部１４ａが、データフローグラフ３８ｂの第１段および第２段の内容を、設定データ４０ａによりリコンフィギュラブル回路１２上に構成（マッピング）する。第２サイクルでは、第２設定部１４ｂが、データフローグラフ３８ｂの第３段および第４段の内容を、設定データ４０ｂによりリコンフィギュラブル回路１２上に構成（マッピング）する。第１サイクルにおける出力結果は、次の第２サイクルの入力としてフィードバックされる。
【００５２】
実施例２において、ＡＬＵは、“＋”、“＞＞４”、“＞＞３”、“＞＞１”、“ＭＯＶ”の５種類で実現することができる。実施例１と比較すると、必要なＡＬＵの機能は増加するが、使用する設定部の数は２つと減少している。なお、２種類の設定データ４０を供給するため、制御部１８におけるカウンタ回路は、２進カウンタとなる。また、出力回路２２の動作周期は、内部状態保持回路２０の動作周期の２倍となる。
【００５３】
（実施の形態３）
上記の実施の形態１および２の構成においては、具体例として単一の回路であるＦＩＲフィルタ回路をリコンフュギラブル回路を用いて実現する例について説明したが、本発明の実施の形態３においては複数の回路をリコンフュギラブル回路で実現する方式について説明する。
【００５４】
図１５は、本発明の実施の形態３に従う処理装置１０ａの構成図である。
【００５５】
図１５を参照して、本発明の実施の形態３に従う処理装置１０ａは、実施の形態１に従う処理装置１０と比較して、集積回路装置２６を集積回路装置２６ａに置換した点が異なる。集積回路装置２６ａは、図１に示される集積回路装置２６と比較して、メモリ部２７と切替回路２８と、経路部２９とをさらに備える点で異なる。
【００５６】
メモリ部２７は、制御部１８からの指示に基づきリコンフュギラブル回路１２から出力されるデータ信号を格納するための記憶領域である。また、制御部１８からの指示に基づき格納されたデータ信号は、経路部２９を通じてリコンフィギュラブル回路１２の入力として伝達される。リコンフィギュラブル回路１２への入力は経路部２４，２９の２系統存在するが、経路部２４は、メモリ部２７を介さないために高速にフィードバック処理することが可能である。特に、メモリ部２７が低速で動作処理する場合には、経路部２４は、経路部２９よりもさらに高速に処理する。
【００５７】
切替回路２８は、入力データおよび経路部２４，２９を介してフィードバックされる入力データを、選択器１６から出力される切替指示に基づいて選択的にリコンフュギラブル回路１２に入力する。具体的には、第１設定部１４ａ〜第４設定部１４ｄの制御部１８の選択に伴い、設定される設定データに基づく所定のタイミングで選択器１６から切替指示がなされる。その他の点は図１で示される集積回路装置２６の構成と同様であるので、その詳細な説明は繰返さない。
【００５８】
以下においては、複数の回路としてデジタル復調回路群を具体例としてリコンフィギュラブル回路上に構成（マッピング）する方式について説明する。
【００５９】
図１６は、本発明の実施の形態３に従うリコンフュギラブル回路を用いて構成するデジタル復調回路群の構成図である。
【００６０】
図１６を参照して、デジタル復調回路群は、ＦＩＲフィルタ回路５０と、ＦＩＲフィルタ回路５２と、復調処理回路５４とを含む。ＦＩＲフィルタ回路５０は、入力信号Ｉの入力を受けて中間出力信号ＭＩを出力する。ＦＩＲフィルタ回路５２は、入力信号Ｑを受けて中間出力信号ＭＱを出力する。復調処理回路５４は、中間出力信号ＭＩ，ＭＱの入力を受けて復調処理し、フィードバック制御出力信号Ｙ２と、出力信号Ｙ１を出力する。
【００６１】
図１７は、復調処理回路５４の構成を説明する概念図である。
【００６２】
図１７を参照して、復調処理回路５４は、ループフィルタ５６と、乗算器５８と、正負判定回路６０（ＳＧＮ）とで構成されている。正負判定回路６０は、中間出力信号ＭＩの入力を受けて、判定結果に基づいて復調出力信号Ｙ１を出力する。乗算器５８は、中間出力信号ＭＩ，ＭＱの入力を受けて、乗算結果をループフィルタ５６に出力する。ループフィルタ５６は、乗算器５８からの出力信号を受けて、フィードバック制御出力信号Ｙ２を出力する。なお、フィードバック制御出力信号Ｙ２は、図示しないが、他のデジタル復調処理に用いられる回路にフィードバック入力される制御信号である。
【００６３】
図１８は、ループフィルタ５６を示す。
【００６４】
図１９は、図１７に示す復調処理回路５４をコンパイルして作成したデータフローグラフ３８ｂを示す。図中、“×”は乗算を示し、“ＳＧＮ”は正負判定を示す。他の演算子については上述したのと同様の構成である。図示のごとく、データフローグラフ３８ｂは、３段の演算子で構成される。
【００６５】
図２０は、本発明の実施の形態３に従うデジタル復調回路群をリコンフュギラブル回路にマッピングする場合の処理の流れを説明する図である。
【００６６】
図２０を参照して、まず最初にＦＩＲフィルタ回路５０をマッピングし、入力信号Ｉに基づく出力信号ＭＩを生成する。具体的には、図１２で説明したのと同様の方式にしたがって、データフローグラフ３８ａが４つに分割され、第１設定部１４ａ〜第４設定部１４ｄを用いてＦＩＲフィルタ５０がリコンフィギュラブル回路１２上に構成（マッピング）される。上述したように各サイクルにおける出力結果は、次のサイクルの入力としてフィードバックされるが、最後の第４サイクルの出力結果すなわち出力信号ＭＩはメモリ部２７の所定領域に格納される。
【００６７】
次に、ＦＩＲフィルタ回路５２をマッピングし、入力信号Ｑに基づく出力信号ＭＱを生成する。具体的には、ＦＩＲフィルタ回路５０と同様の方式にしたがって、第５サイクル〜第８サイクルにおいてリコンフィギュラブル回路１２上にＦＩＲフィルタ回路５２がマッピングされる。この場合、最後の第８サイクルの出力結果すなわち出力信号ＭＱはメモリ部２７の所定領域に格納される。
【００６８】
次に、復調処理回路５４をマッピングし、中間出力信号ＭＩ，ＭＱ（入力信号）に基づく出力信号Ｙ１，Ｙ２を生成する。
【００６９】
図２１は、図１９に示すデータフローグラフ３８ｂを、図１１のリコンフィギュラブル回路１２を用いて実現する例を示す。データフローグラフ３８ｂが４段で構成され、リコンフィギュラブル回路１２が２段で構成されていることから、データフローグラフ３８ｂは、２つに分割される。
【００７０】
第９サイクルでは、第１設定部１４ａが、データフローグラフ３８ｂの第１段および第２段の内容を、設定データ４０ａによりリコンフィギュラブル回路１２上に構成する。第１０サイクルでは、第２設定部１４ｂが、データフローグラフ３８ａの第３段および第４段の内容を、設定データ４０ｂによりリコンフィギュラブル回路１２上に構成（マッピング）する。各サイクルにおける出力結果は、次のサイクルの入力としてフィードバックされる。これに伴い、復調処理回路５４をマッピングすることができる。
【００７１】
ここで、第９サイクルにおいて、メモリ部２７の所定領域に格納された中間出力信号ＭＩ，ＭＱおよび出力信号ＭＹ＃が経路部２９を介してリコンフィギュラブル回路１２に入力される。また、本例の如く、メモリ部２７の記憶領域を設けてリコンフィギュラブル回路１２を用いてマッピングした回路の出力データ等を保持することにより、並列処理を実行する回路群においても１つのリコンフィギュラブル回路１２を用いて構成することができる。なお、入力信号ＭＹ＃は、前回に復調処理回路５４をマッピングした場合の第１０サイクル後に出力される出力信号であり、メモリ部２７の記憶領域に格納されているものとする。上記においては、ＦＩＲフィルタ回路５０をマッピングした後にＦＩＲフィルタ回路５２をマッピングする場合について説明したがその順序を入れ替えても同様である。
【００７２】
すなわち、メモリ部２７を設けて出力データ等に記憶させておくことにより、任意の回路を任意の順序でリコンフィギュラブル回路１２を用いてマッピングすることができる。  
【００７３】
なお、本実施の形態３においてはＡＬＵは、“＋”、“＞＞１”、“ＭＯＶ”、“×”、“ＳＧＮ”の５種類のみで実現することができる。
【００７４】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７５】
例えば、リコンフィギュラブル回路１２におけるＡＬＵの配列は、縦方向にのみ接続を許した多段配列に限らず、横方向の接続も許した、メッシュ状の配列であってもよい。また、上記の説明では、段を飛ばして論理回路を接続する結線は設けられていないが、このような段を飛ばす接続結線を設ける構成としてもよい。
【００７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００７７】
【図１】実施の形態に係る処理装置の構成図である。
【図２】１つの回路を分割してできる複数の回路の設定データについて説明するための図である。
【図３】リコンフィギュラブル回路の構成図である。
【図４】他のリコンフィギュラブル回路１２＃の構成図である。
【図５】データフローグラフの例を示す図である。
【図６】実施の形態における信号処理のフローチャートである。
【図７】前後７点を利用する７タップからなるＦＩＲフィルタ回路を示す図である。
【図８】図７で示すＦＩＲフィルタ回路を置き換えた回路を示す図である。
【図９】図８で示すＦＩＲフィルタ回路をさらに置き換えた回路を示す図である。
【図１０】図９に示すＦＩＲフィルタ回路をコンパイルして作成したデータフローグラフを示す図である。
【図１１】実施例で使用するリコンフィギュラブル回路を示す図である。
【図１２】図１０に示すデータフローグラフを、図１１のリコンフィギュラブル回路を用いて実現する例を示す図である。
【図１３】図８に示すＦＩＲフィルタ回路をコンパイルして作成したデータフローグラフを示す図である。
【図１４】図１３に示すデータフローグラフを、図１１のリコンフィギュラブル回路を用いて実現する例を示す図である。
【図１５】本発明の実施の形態３に従う処理装置１０ａの構成図である。
【図１６】本発明の実施の形態３に従うリコンフュギラブル回路を用いて構成するデジタル復調回路群の構成図である。
【図１７】復調処理回路５４の構成を説明する概念図である。
【図１８】ループフィルタ５６を示す図である。
【図１９】図１７に示す復調処理回路５４をコンパイルして作成したデータフローグラフ３８ｂを示す図である。
【図２０】本発明の実施の形態３に従うデジタル復調回路群をリコンフュギラブル回路にマッピングする場合の処理の流れを説明する図である。
【図２１】図１９に示すデータフローグラフ３８ｂを、図１１のリコンフィギュラブル回路１２を用いて実現する例を示すずである。
【符号の説明】
【００７８】
１０  処理装置、１２  リコンフィギュラブル回路、１４  設定部、１６  選択器、１８  制御部、２０  内部状態保持回路、２２  出力回路、２４  経路部、２６  集積回路装置、３０  コンパイル部、３２  設定データ生成部、３４  記憶部、３６  プログラム、３８  データフローグラフ、４０  設定データ、５０  論理回路、５２  接続部。
【図１】
2004310730.tif 000003
【図２】
2004310730.tif 000004
【図３】
2004310730.tif 000005
【図４】
2004310730.tif 000006
【図５】
2004310730.tif 000007
【図６】
2004310730.tif 000008
【図７】
2004310730.tif 000009
【図８】
2004310730.tif 000010
【図９】
2004310730.tif 000011
【図１０】
2004310730.tif 000012
【図１１】
2004310730.tif 000013
【図１２】
2004310730.tif 000014
【図１３】
2004310730.tif 000015
【図１４】
2004310730.tif 000016
【図１５】
2004310730.tif 000017
【図１６】
2004310730.tif 000018
【図１７】
2004310730.tif 000019
【図１８】
2004310730.tif 000020
【図１９】
2004310730.tif 000021
【図２０】
2004310730.tif 000022
【図２１】
2004310730.tif 000023