JP2007172284A - データ多重化記憶装置及び処理装置 - Google Patents

データ多重化記憶装置及び処理装置 Download PDF

Info

Publication number
JP2007172284A
JP2007172284A JP2005368898A JP2005368898A JP2007172284A JP 2007172284 A JP2007172284 A JP 2007172284A JP 2005368898 A JP2005368898 A JP 2005368898A JP 2005368898 A JP2005368898 A JP 2005368898A JP 2007172284 A JP2007172284 A JP 2007172284A
Authority
JP
Japan
Prior art keywords
data
memory
circuit
multiplexing
multiplexed
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.)
Granted
Application number
JP2005368898A
Other languages
English (en)
Other versions
JP4753709B2 (ja
Inventor
Katsunori Hirase
勝典 平瀬
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005368898A priority Critical patent/JP4753709B2/ja
Publication of JP2007172284A publication Critical patent/JP2007172284A/ja
Application granted granted Critical
Publication of JP4753709B2 publication Critical patent/JP4753709B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】限られた記憶容量を有効に或いは効率的に利用可能な記憶装置を提供する。
【解決手段】FPGAにおいて、リコンフィギュラブル回路12から出力される複素データIとQとが、一定の多重化条件に合致する場合には、多重化回路241は、対応するデータIとQを多重化してメモリ20に格納する。メモリ20からデータを読み出す際には、分離回路242が、多重化されているデータをIとQに分離して元のデータを再生して出力する。再生されたデータは、必要に応じて、リコンフィギュラブル回路12に再度入力される。
【選択図】図4

Description

本発明はデータ記憶装置に関し、特に、データを多重化して記憶することにより、個別に記憶する場合に比して記憶容量を抑えることが可能な多重化記憶装置、処理装置等に関する。
FPGA(Field Programmable Gate Array)は、回路データを書き込んで比較的自由に回路構成を設計することが可能なLSI(Large Scale Integrated circuit)である。FPGAは、真理値表を格納するためのルックアップテーブル(LUT)と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソース、設定データや中間データを記憶するメモリとを含む。FPGAでは、LUTに格納するデ一夕と配線データを書き込むことで目的とする論理演算を実現できる。しかし、FPGAでLSIを設計した場合、ASIC(Application Specific Integrated Circuit)による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、FPGAを動的に再構成することで、回路構成の再利用を図る方法が提案されている(例えば、特許文献1参照)。
例えば、衛星放送では、季節などにより、放送モ一ドを切り換えて画質の調整などを行うこともある。このため、従来の受信機では、放送モ一ドごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り換えて受信している。従って、受信機の他の放送モード用の回路はその間遊んでいることになる。
モード切り替えのように、複数の専用回路を切り督えて使用し、その切り替え間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切り替え時にLSIを再構成することにすれば、回路構成をシンプルにして汎用性を高め、実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なLSIに関心が高まってきている。特に、携帯電話やPDA(Personal Data Assistant)などのモバイル端末に総裁されるLSIは小型化が必携であり、LSIを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、LSIの実装面積を小さく抑えることができる。
特開平10−256383号公報(全文、第1−第4図)
上述のように、FPGAは回路構成の設計自由度が高く、汎用的である反面、基本セル間の接続を可能とするため、多数のスイッチとスイッチのON/OFFを制御するための制御回路を含む必要があり、実装面積が大きくなってしまう。一方で、装置の小型化・高密度実装などの要望により、FPGAの小型化も要望されており、メモリなどのサイズにも制限が生じてしまう。このため、求められる機能の高度化に伴って、限られた容量のメモリをより有効に活用できるようにすることが望まれる。
特に、動的に再構成可能なFPGAの場合、例えば、FPGAを第1の処理回路に構成して処理結果をメモリに保存し、続いて、FPGAを第2の処理回路に構成して、元の処理結果を追加的に処理するなどの処理も可能である。このような場合、アプリケーションによっては、大量の中間データ及び最終データが生成され、限られた容量のメモリの有効利用が必要である。
メモリの有効利用の問題は、高密度化と機能の高度化とを要求される近時の処理回路においては、FPGAに限らず、種々の処理回路において、共通に存在する問題である。
本発明は、上記状況に鑑みてなされたものであり、その目的は、限られた記憶容量を有効に或いは効率的に利用可能な記憶装置及びそれをもちいた処理回路を提供することにある。
また、本発明の他の目的は、集積回路の回路規模の縮小化に貢献することにある。
上記目的を達成するため、本発明の第1の観点に係るデータ多重化記憶装置は、
データを、各アドレス位置に所定のデータサイズで格納するメモリと、
複数のデータを多重化して、前記メモリの各アドレスに格納する格納手段と、
前記メモリの各アドレス位置に格納したデータを読み出して、分離することにより元のデータを再生するデータ再生手段と、
を備えることを特徴とする。
予め定められた基準に従って、前記メモリの各アドレスにデータを多重化して格納するか多重化せずに格納するかを切り替え、前記メモリの各アドレスに格納されているデータを分割するか、分割しないかを切り替えて制御する切り替え制御手段を配置してもよい。
前記切り替え制御手段は、例えば、多重化対象となるデータの関連性、前記メモリのアクセス時間、メモリアクセスの処理量、前記メモリの使用量、処理速度の少なくとも1つに基づいて多重化するか否かを決定する手段を備える。
例えば、前記格納手段は、一対の複素データを多重化して前記メモリの1つのアドレス位置に格納し、前記データ再生手段は、前記メモリの1つのアドレス位置から読み出したデータを分割することにより、元の一対のデータを再生する。
例えば、前記格納手段は、順番にアクセスされるべき複数のデータについて、連続する所定数のデータ単位で多重化して前記メモリに格納し、前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、前記順番にアクセスされるべき複数のデータを再生する。
例えば、前記格納手段は、相関のある一対のデータを多重化して各アドレス位置に前記メモリに格納し、前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、相関のある一対のデータを再生する。
例えば、前記格納手段は、同時にアクセスするデータが無く、且つ、データの多重・分離処理の処理量が予め定められた値よりも大きくなる場合には、データの多重を行わない。
上記構成のデータ多重化記憶装置は、処理装置に用いて好適である。この場合、処理手段で処理したデータを処理して前記格納手段に供給して前記メモリに多重化して記憶し、或いは、前記データ再生手段で再生されたデータを処理手段で処理する。
また、リコンフィギュラブル回路で処理したデータを前記格納手段に供給して前記メモリに多重化して記憶し、或いは、前記データ再生手段で再生されたデータをリコンフィギュラブル回路で処理することも可能である。この場合、例えば、前記リコンフィギュラブル回路が、第1の回路構成で処理したデータを前記格納手段に供給して前記メモリに多重化して格納し、設定手段により回路構成を第2の回路構成に切り替えらた後で、前記データ再生手段を介して前記メモリから読み出したデータを処理するようにしてもよい。このような構成とすれば、メモリにデータを多重化せずに格納する場合に比して、メモリのサイズを抑えて回路全体のサイズを小さくすることができる。また、全体のサイズに変更がなければ、リコンフィギュラブル回路のサイズを大きくすること等が可能である。
本発明によれば、複数データを多重化してメモリに格納するので、多重化しない場合に対して、大量のデータを格納することが可能となる。
以下、この発明の実施の形態に係る多重化記憶装置を備える処理装置10を説明する。
この処理装置10は、図1に示すように、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップで構成され、リコンフィギュラブル回路12と、設定部14と、制御部18と、メモリ20と、出力回路22と、メモリ制御回路24と、バス42と、レジスタ群44,46とを備える。
リコンフィギュラブル回路12は、設定を変更することにより、機能の変更を可能とする。
設定部14は、第1設定部14a、第2設定部14b、第3設定部14c、第4設定部14dおよび選択器16を有し、リコンフィギュラブル回路12に所期の回路を構成するための設定データ40を供給する。
レジスタ群46は、リコンフィギュラブル回路12の中間出力データを一次記憶する。
バス42は、フィードバックパスとして機能し、リコンフィギュラブル回路12の中間出力を、リコンフィギュラブル回路12の入力に接続する。
レジスタ群44は、バスを介してフィードバックされた中間出力データを一次記憶して、リコンフィギュラブル回路12の入力に供給する。
メモリ20は、各アドレス位置(1アドレス)に1ワード(2バイト(16ビット))の記憶容量を有するメモリ回路であり、DRAM(Dinamic Randam Access Memory)などから構成される。メモリ20は、リコンフィギュラブル回路12から出力される中間データを多重化して、記憶容量を節約した上で、記憶する。
出力回路22は、データフリップフロップ(D−FF)などの順序回路から構成され、リコンフィギュラブル回路12の出力を受ける。
メモリ制御回路24は、リコンフィギュラブル回路12の出力する中間データを多重化してメモリ20に格納し、また、メモリ20から読み出したデータを分離することで元の2つのデータを再生し、バス42上に出力する。メモリ制御回路24による、記憶データの多重化処理及び元のデータの復元処理については、図4を参照して後述する。
リコンフィギュラブル回路12は組合せ回路または順序回路などの論理回路として構成される。
リコンフィギュラブル回路12は、機能の変更が可能な論理回路を有して構成される。具体的にリコンフィギュラブル回路12は、複数の演算機能を選択的に実行可能な論理回路を複数段に配列させた構成を有し、前段の論理回路列の出力と後段の論理回路列の入力との接続関係を設定可能な接続部を含む。複数の論理回路は、マトリックス状に配置される。各論理回路の機能と、論理回路間の接続関係は、設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。
集積回路装置26により実現されるべきプログラム36が、記憶部34に保持されている。プログラム36は、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ38に変換して記憶部34に格納するためのコンパイル部30が処理装置10内に配置されている。データフローグラフ38は、入力変数および定数の演算の流れをグラフ構造で表現したものである。
また、記憶部34に設けられている設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路12にマッピングするためのデータであり、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。本実施の形態では、設定データ生成部32が、1つの生成対象回路60を分割してできる複数の回路の設定データ40を生成する。
図2は、1つの任意の生成対象回路60を分割してできる複数の回路の設定データ40について説明するための図である。1つの生成対象回路60を分割して生成される回路を、「分割回路」と呼ぶ。図2の例では、1つの生成対象回路60が、4つの分割回路、すなわち分割回路A、分割回路B、分割回路C、分割回路Dに分割されている。生成対象回路60は、データフローグラフ38における演算の流れにしたがって分割される。データフローグラフ38において、上から下に向かう方向に演算の流れが表現される場合には、そのデータフローグラフ38を上から所定の間隔で切り取り、その切り取った部分を分割回路として設定する。流れにしたがって切り取る間隔は、リコンフィギュラブル回路12における論理回路の段数以下に定められる。
各分割回路の出力データ(中間データ)は、メモリ20に多重化して効率よく格納され、リコンフィギュラブル回路12の回路構成が切り替えられた後、読み出されて分離されて、入力に供給される。
任意の生成対象回路60は、データフローグラフ38の横方向で分割されてもよい。横方向に分割する幅は、リコンフィギュラブル回路12における論理回路の1段当たりの個数以下に定められる。
特に、生成対象回路60がリコンフィギュラブル回路12よりも大きい場合に、設定データ生成部32は、リコンフィギュラブル回路12にマッピングできる大きさになるように、生成対象回路60を分割することが好ましい。設定データ生成部32は、リコンフィギュラブル回路12における論理回路の配列構造とデータフローグラフ38によって、生成対象回路60の分割方法を定める。リコンフィギュラブル回路12の配列構造は、制御部18から設定データ生成部32に伝えられてもよく、また予め記憶部34に記録されていてもよい。また、制御部18が、生成対象回路60の分割方法を設定データ生成部32に指示してもよい。
以上の手順を実行することにより、記憶部34は、リコンフィギュラブル回路12を所期の生成対象回路60として構成するための複数の設定データ40を記憶する。複数の設定データ40は、分割回路Aを構成するための設定データA、分割回路Bを構成するための設定データB、分割回路Cを構成するための設定データC、および分割回路Dを構成するための設定データDである。
図3は、リコンフィギュラブル回路12の構成図である。リコンフィギュラブル回路12は、複数の論理回路50の列が複数段にわたって配列されたもので、各段に設けられた接続部52によって、前段の論理回路50の列の出力と後段の論理回路50の列の入力が設定により任意に接続可能な構造となっている。各論理回路50は、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる、例えば、ALU(算術論理回路;Arithmetic Logic Unit)などから構成される。
図3に示すように、リコンフィギュラブル回路12は、横方向にY個、縦方向にX個のALU50が配置されたALU50のアレイとして構成される。第1段のALU11、ALU12、・・・、ALU1Yには、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第1段の接続部52に設定された接続に従って、第2段のALU21、ALU22、・・・、ALU2Yに入力される。第1段の接続部52においては、第1段のALU50の列の出力と第2段のALU50の列の入力の間で任意の接続関係、あるいは、決められた組み合わせのうちより選択された接続関係を実現できるように結線が構成されており、設定により所期の結線が有効となる。以下、第(X−1)段の接続部52まで、同様の構成であり、最終段である第X段のALU50の列は演算の最終結果を出力する。
図1に戻って、リコンフィギュラブル回路12の構成時、制御部18は、1つの生成対象回路60を構成するための複数の設定データ40を選択する。ここでは、制御部18が、図2に示す生成対象回路60を構成するための設定データ40、すなわち分割回路Aの設定データA、分割回路Bの設定データB、分割回路Cの設定データCおよび分割回路Dの設定データDを選択するものとする。制御部18は、選択した設定データ40を設定部14に供給する。設定部14はキャッシュメモリや他の種類のメモリを有し、供給される設定データ40をそれぞれ保持する。
設定部14は、選択された設定データ40をリコンフィギュラブル回路12に設定し、リコンフィギュラブル回路12の回路を再構成する。これにより、リコンフィギュラブル回路12は、所期の演算を実行できる。
次に、図1に示すメモリ20、メモリ制御回路24、バス42、レジスタ群44,46、の構成と動作とを図4を参照して説明する。
リコンフィギュラブル回路12が出力するデータのうち、最終的な出力データは、出力回路22を介して集積回路装置26の外部に出力される。一方、中間的な出力データ(中間データ)は、複数の出力レジスタ46a〜46cから構成されるレジスタ群46を介して出力される。中間データは、制御部18の制御に従って、メモリ制御回路24を構成する多重化回路241に供給される。多重化回路241は、2つのデータを多重化して、メモリ20に格納することにより、メモリスペースを有効活用する。
ここで、多重化回路241が実行する多重化処理について説明する。
本実施形態においては、図5(a)に示すように、メモリ20の各アドレス位置(アクセス単位)は1ワード(2バイト)の容量を有し、リコンフィギュラブル回路12から出力される中間データは、図5(b)に示すように、1ワード構成であるものの、少なくとも上位1バイト(8ビット)は全て「0」の無効データであり、下位1バイトのみが有効(実効)データであるものとする。
このような場合でも、通常であれば、1アドレスに1データが格納される。
しかし、本実施の形態においては、多重化回路241は、2つのデータを多重化して、メモリ20の1アドレスに格納することにより、メモリ20を有効に活用する。
まず、多重化回路241が、多重化するデータを図5(c)に示すそれぞれ2バイトのデータD1とD2であるとする。多重化回路241は、一方のデータ、例えば、データD2を上位(MSB)方向に8ビットシフトする。このとき、各下位ビットにはビットデータ「0」を供給する。続いて、他方のデータD1とシフトした一方のデータD2との論理和を取って、両データを多重化し、下位1バイトにD1,上位1バイトにD2が含まれた多重化データを生成する。
多重化回路241はこのようにして生成した多重化データをメモリ20の適当なアドレス位置に格納する。
このようにして格納されたデータを読み出す際には、メモリ制御回路24を構成する分離回路242が、図5(d)に示すように、制御部18の制御に従って、読み出し対象の2バイトデータを読み出し、データ0Fh(0000000011111111)と論理積をとることにより、読み出した1ワードデータの下位1バイトに格納されていたデータD1を復元する。
また、読み出した2バイトデータを下位方向に8ビットシフトすることにより、読み出した1ワードデータの上位1バイトに格納されていたデータD2を復元する。この際、上位ビットには0を供給する。
分離回路242は、読み出した再生した2つのデータを、例えば、バス42を介して、入力レジスタ群46に供給し、リコンフィギュラブル回路12の入力に供給する。
次に、上記構成の処理装置の10の動作を、生成対象回路60を、図6に例示するQPKS(quadrature phase shift keying)変調信号の復調(直交検波)回路とした場合を例に説明する。
まず、図6に示す復調回路について説明する。
同調回路104は、目的周波数に同調し、アンテナ102を介して信号を受信する。受信信号は、増幅などの処理を行った後、A/D(アナログデジタル)変換回路106により、ディジタル信号に変換され、一旦バッファ回路108に格納される。
バッファ回路108に格納されたデータはミクサ110と114に供給される。
ミクサ110は供給された受信信号とコサイン信号(cosωt)とを混合して、同相成分の信号Iを生成し、これをローパスフィルタ(LPF)112がフィルタリングして同相成分FIを生成する。
ミクサ114は供給された受信信号とサイン信号(sinωt)とを混合して、直交成分の信号Qを生成し、これをローパスフィルタ(LPF)116がフィルタリングして直交成分FQを生成する。
このような構成を実現するため、リコンフィギュラブル回路12は、第1設定部14aの設定により、まず、ミクサ(乗算器)110,114として構成されて、1フレーム分の同相成分Iと直交成分Qを求める。求めた1フレーム分の同相成分Iと直交成分Qとは、多重化回路241により多重化され、メモリ20に格納される。続いて、リコンフィギュラブル回路12は、ローパスフィルタ112,116として再構成される。メモリ20に格納されていた1フレーム分の同相成分Iと直交成分Qとが、分離回路242により順次読み出されて分離され、リコンフィギュラブル回路12の入力に投入される。リコンフィギュラブル回路12は、同相成分Iと直交成分Qをフィルタリングして、同相成分FIと直交成分FQとを求め、出力回路22を介して外部に出力する。
この処理をフレーム単位に繰り返して実行する。
リコンフィギュラブル回路12がミクサ110,114として動作している間、メモリ20の各アドレス位置には、図7に示すように、同相成分のデータIと直交成分のデータQの対応するもの同士が多重化して格納される。
即ち、リコンフィギュラブル回路12から同相成分I(x)と直交成分Q(x)とが出力され、これが多重化回路241により多重化されて多重化データI(x)Q(x)が生成され、これが1つのアドレス位置に格納される。以後、I(x+1)とQ(x+1)、I(x+2)とQ(x+2)、..とが順次出力され、多重化回路241により、多重化データI(x+1)Q(x+1)、I(x+2)Q(x+2)、..が生成され、これらがアドレスを順次更新しながら、格納される。
一方、リコンフィギュラブル回路12がローパスフィルタとして動作している間、メモリ20の各アドレス位置から、同相成分のデータIと直交成分のデータQの多重化データI(x)Q(x)、I(x+1)Q(x+1)、I(x+2)Q(x+2)、..が読み出される。そして、分離回路242により、同相成分と直交成分とが分離されて、元のデータI(x)とQ(x)、I(x+1)とQ(x+1)、I(x+2)とQ(x+2)、..が順次再生され、バス42上に出力される。再生されたデータIとQは、バス42と入力レジスタ44(44a〜44c)を介してリコンフィギュラブル回路12に供給され、フィルタリング処理が行われる。
このような構成によれば、メモリ20の各アドレス位置に、2つのデータI(x)とQ(x)とを格納できる。従って、各アドレス位置に同相成分のデータIと直交成分のデータQとをそれぞれ格納する場合に比して、2倍のデータをメモリ20に格納することができる。従って、メモリ20の記憶容量が同一ならば、IとQを別々のアドレスに格納する場合に比して、2倍の量のデータを蓄積することができる。換言すれば、同一量のデータを格納するのであれば、メモリ20の記憶容量を1/2にすることができる。
なお、前述したように、生成対象回路60を横方向に分割することも可能である。
例えば、図8に示すように、リコンフィギュラブル回路12を、まず、同相成分処理用の回路(ミクサ110,ローパスフィルタ112)として構成して、A/D変換後の受信データを処理して同相成分のデータFIを求めてメモリ20に格納し、続いて、リコンフィギュラブル回路12を、直交成分処理用の回路(ミクサ114,ローパスフィルタ116)として再構成して、同一のデータを処理して、直交成分のデータFQを求めるようにしてもよい。
この場合には、リコンフィギュラブル回路12が同相成分を処理している間は、メモリ制御回路24には、同相成分のデータFI(x)、FI(x+1)、FI(x+2)、FI(x+3)...が順次供給される。多重化回路241は、図9(a)に示すように、連続する2つのデータFI(x)とFI(x+1)、FI(x+2)とFI(x+3)...を多重化し、メモリ20の各アドレス位置に順次格納する。
また、リコンフィギュラブル回路12が直交成分を処理している間は、メモリ制御回路24には、直交成分のデータFQ(x)、FQ(x+1)、FQ(x+2)、FQ(x+3)...が順次供給される。多重化回路241は、図9(b)に示すように、連続する2つのデータFQ(x)とFQ(x+1)、FQ(x+2)とFQ(x+3)...を多重化し、メモリ20の各アドレス位置に順次格納する。
分離回路242は、このようにして格納されている各データを制御回路18の制御に従って読み出して、適宜分離し、外部に出力し、或いはリコンフィギュラブル回路12に再供給する。
図5〜図7に示したように、複素数データであるIとQとを同時にアクセスする必要が生じる場合には、これを多重化することにより多重化・分離に要する時間を抑えてメモリ容量を抑えることが可能となる。
一方、図8,図9に示したように、連続するデータに同時にアクセスする必要が生じる場合には、これらを多重化することにより多重化・分離に要する時間を抑えてメモリ容量を抑えることが可能となる。
また、例えば、図5の回路で、同相成分Iと直交成分Qとの間に時間差が存在し、例えば、同相成分I(x)と直交成分Q(x+a)、I(x+1)とQ(x+a+1)、I(x+2)とQ(x+a+2)、...とを同時にアクセスするデータの位置関係に相関がある場合には、図10(a)に示すように、位置的に相関のあるデータ同士を多重化することが望ましい。例えば、同相成分のデータ又は直交成分のデータがレジスタなどの遅延素子を介して供給される場合に、このような場面が生ずる。
同様に、同相成分FIのデータ列内及び直交成分FQのデータ列内でも、離れた位置のデータをアクセスが行われる場合には、図10(b)、(c)に示すように、同時にアクセスするデータ同士を多重化することが望ましい。
データを多重化するか否か、どのように多重化するかは、例えば、図11に示す判断基準に従って、決定される。
まず、メモリ20の各アドレス位置の記憶容量と多重化される対象のデータ(I,Q)のビット幅との間に多重化する余裕があるか否かを、例えば、メモリの使用量などに基づいて判別する(ステップS11)。例えば、メモリ20の各アドレス位置が1ワードで、2つのデータの有効データが1バイトより大きい場合、データを多重化することはできない。逆に、一方のデータの有効データが7ビットで、他方のデータが9ビットであるならば、多重化は可能である。
次に、同一相対アドレスのデータを同時にアクセスするか否かを判別する(ステップS12)。即ち、複素データ(I,Q)のように、それぞれのデータ配列内の相対アドレス(位置)が等しいものを同時にアクセスするか否かを判別する。相対アドレスが等しいものを同時にアクセスすると判別した場合(ステップS12;Yes)、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS13)。
時間的・処理的余裕があると判断すれば(ステップS13;Yes)、I(x)とQ(x)のように、それぞれのデータ配列で相対位置が同一のデータ同士を多重化する第1の多重化方法を採用する(ステップS14)。この多重化方法は、複素データ(I,Q)のように、複数のデータ配列内の同一の相対アドレスのデータを同時にアクセスする場合などに、特に有効である。
一方、ステップS12又はS13で、Noと判別された場合には、同時にアクセスする相対アドレスに相関があるか否かを判別する(ステップS15)。例えば、図10(a)に示したように、2つのデータ配列I(x)とQ(x+a)を同時にアクセスする場合や、図10(b)、(c)に示したように1つのデータ配列I(x)内で、FI(x)とFI(y)を同時にアクセスする場合や、FQ(x)とFQ(x+b)を同時にアクセスする場合には、相関があると判別する。
同時にアクセスする相対アドレスに相関がある場合(ステップS15;Yes)、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS16)。時間的・処理的余裕があれば(ステップS16;Yes)、I(x)とQ(x+a)、I(x)とI(y)、Q(x)とQ(x+b)のように、相関がある位置のデータ同士を多重化する多重化方法2を選択する(ステップS17)。この方法は、例えば、Sin、Cosデータなどのように、同時にアクセスする相対アドレスに相関がある場合や、前述のように、複素データの一方に遅延があるような場合に有効である。
一方、ステップS15又はS16で、Noと判別された場合には、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS18)。時間的・処理的余裕があれば(ステップS18;Yes)、I(x)とI(x+1)、Q(y)とQ(y+1)のように、同一データ配列内で連続する位置のデータ同士を多重化する多重化方法3を選択する(ステップS19)。この多重化方法は、2つの配列データへのアクセスが同時ではなく、アクセス時間や、アクセス処理量(多重・分離処理)に余裕がある場合、又は、同じ配列データの連続するデータに同時にアクセスする場合などに特に有効である。
ステップS19でもNoと判別された場合、即ち、メモリのアクセス時間、メモリのアクセスの処理量、メモリの使用量、処理速度などに基づいて、多重化の余裕が無いと判別された場合には、データの多重化を行わないと判断する(ステップS20)。
なお、多重・分離処理の時間的処理量的余裕は、例えば、メモリアクセスの処理時間、メモリアクセスの処理量、処理速度、多重化処理に要する時間及び分離処理に要する時間を予め求めておき、メモリ20へのアクセス(ライト・リード)がリコンフィギュラブル回路12の処理速度よりも短いときに余裕があると判断し、長いときには余裕が無いと判断する。
また、図11に示す判別処理をコンパイル部30が行って、判別結果に応じたデータフローグラフ38を生成するようにしてもよい。
この場合、例えば、記憶部34に、メモリ20のアドレス位置のサイズ、多重化回路241と分離部242の処理時間、通常のメモリ20へのアクセス時間、メモリアクセスの処理量、リコンフィギュラブル回路12の動作クロックの周波数(処理速度)、入力信号のサンプリング周波数などのデータを登録しておく。また、プログラム36には、上述の判別処理を実行するための判別プログラムを格納しておく。コンパイル部30は、コンパイルの過程で、リコンフィギュラブル回路12の動作をシミュレートし、上述の条件のいずれに合致するかを判別し、多重化の有無・多重化方法を特定し、判別結果に対応するデータフロー図を生成する。設定データ生成部32は、生成されたデータフローに対応する設定データ40を生成する。制御部18は、生成された設定データ40を設定部14に供給する。
このような構成によれば、多重化の有無・多重化方法の設定自体を自動化することができる。
以上、本発明の実施の形態を説明したが、この発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。
例えば、上記実施の形態においては、受信回路の復調回路に本願発明を適用した例を示したが、本願発明を適用するアプリケーションは任意であり、上述したような同時にアクセスされる複数のデータ配列、データ配列内の複数のデータに同時にアクセスする場合などに、広く適用可能である。
上記実施の形態においては、ハードウエア構成が大きく、占有面積が大きくなる傾向のあるFPGAに本願発明を適用することによりメモリ容量を抑える例を示した。即ち、リコンフィギュラブル回路12の処理結果(中間データ)を多重化してメモリ20に格納し、さらに、リコンフィギュラブル回路12の回路構成を切り替えて、元のデータを再生して処理する構成とすることにより、メモリ20のサイズを抑えて、集積回路チップ26内のメモリ20の占有面積を抑えることができる。このような構成は、リコンフィギュラブル回路12の処理内容が高度化・複雑化してリコンフィギュラブル回路12の占有面積が増大する場合や、集積回路チップ26のより高密度化が要求される場合などに特に有効である。同様に、リコンフィギュラブル回路12が処理又は生成するデータが大量である場合には、メモリ20のサイズを抑える上で効果的である。
ただし、この発明はこれに限定されず、本願発明を適用する集積回路の種類は任意である。例えば、DSP(Digital Signal Processor)やCPU(Central Processing Unit)などに本願発明を適用し、内部メモリの容量をおさえてもよい。
さらに、上記実施の形態においては、集積回路素子内のメモリ格納するデータを多重化する例を示したが、図12に示すような、集積回路(処理装置)70から外部バス72を介してアクセスする必要があるような外部(外付け)メモリ76にデータを格納・読み出しする場合に、メモリ制御回路74を配置してデータを多重化・分離することにより、1度に複数のデータをアクセス可能とし、アクセスを高速化することも可能である。
上記実施の形態においては、主に、メモリの各記憶位置を1ワード構成、各データの有効ビット数を8ビットとする例を示したが、メモリの記憶位置のサイズや各データの有効ビット数は任意である。例えば、メモリの各記憶位置(アドレス位置)を2ワード構成とし、各データの有効ビット数を16ビットとしたり、一方のデータの有効ビット数を10ビットとし、他方のデータの有効ビット数を22ビットとするなどしてもよい。
また、多重化するデータは、2つに限定されず、3つ以上のデータを多重化してもよい。
以上説明したように、本実施の形態によれば、メモリのビット幅に対して、保持するデータのビット幅小さく、複数データを多重する余裕がある場合、データアクセスの関連性、メモリアクセス時間、データアクセス処理量、等を考慮してメモリを使用量、処理速度などの要求条件に最も適した方法でデータの多重を行う。これにより、必要となるメモリ使用量を削減、或いは、処理速度の高速化を図ることができる。
本発明の実施の形態に係るFPGA回路(処理装置)の構成を示すブロック図である。 図1に示す設定部の構成を示すブロック図である。 図1に示すリコンフィギュラブル回路の構成例を示す図である。 図1に示すリコンフィギュラブル回路、メモリ制御回路、及び、メモリ、の構成と動作を説明するためのブロック図である。 多重化処理及び分離処理を説明するための図であり、(a)はメモリの1アドレス(1記憶位置)の構成を示し、(b)はデータの構成を示し、(c)は多重化の方法を示し、(d)は分離の方法を示す。 図1の処理回路で実現される復調回路の一例を示す図である。 図6の回路を構成した場合に、メモリの各記憶位置に格納される複素データを多重化したデータの例を示す図である。 図1の処理回路で実現される復調回路の他の例を示す図である。 図8の回路を構成した場合に、メモリの各記憶位置に格納される連続してアクセスされるデータを多重化したデータの例を示す図である。 図6の回路を構成した場合に、メモリの各記憶位置に格納される、同時にアクセスされるアドレスが相関を有するデータを多重化したデータの例を示す図であり、(a)は、異なるデータ配列のデータを同時にアクセスする場合、(b)と(c)は同一のデータ配列のデータをアクセスする場合の例を示す。 データの多重化を行うか否か、行う場合には、どのような多重化を行うかを判別するためのフローチャートである。 この発明を外部メモリをアクセスする場合に適用した場合の構成例を示すブロック図である。
符号の説明
10 処理回路
12 リコンフィギュラブル回路
14 設定部
18 制御部
20 メモリ
24 メモリ制御回路
42 バス
26 集積回路装置

Claims (10)

  1. データを、各アドレス位置に所定のデータサイズで格納するメモリと、
    複数のデータを多重化して、前記メモリの各アドレスに格納する格納手段と、
    前記メモリの各アドレス位置に格納したデータを読み出して、分離することにより元のデータを再生するデータ再生手段と、
    を備えることを特徴とするデータ多重化記憶装置。
  2. 予め定められた基準に従って、前記メモリの各アドレスにデータを多重化して格納するか多重化せずに格納するかを切り替え、前記メモリの各アドレスに格納されているデータを分割するか、分割しないかを切り替えて制御する切り替え制御手段、をさらに備える、ことを特徴とする請求項1に記載のデータ多重化記憶装置。
  3. 前記切り替え制御手段は、多重化対象となるデータの関連性、前記メモリのアクセス時間、メモリアクセスの処理量、前記メモリの使用量、処理速度の少なくとも1つに基づいて多重化するか否かを決定する手段を備える、ことを特徴とする請求項2に記載のデータ多重化記憶装置。
  4. 前記格納手段は、一対の複素データを多重化して前記メモリの1つのアドレス位置に格納し、
    前記データ再生手段は、前記メモリの1つのアドレス位置から読み出したデータを分割することにより元の一対の複素データを再生する、
    ことを特徴とする請求項1に記載のデータ多重化記憶装置。
  5. 前記格納手段は、順番にアクセスされるべき複数のデータについて、連続する所定数のデータ単位で多重化して前記メモリに格納し、
    前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、前記順番にアクセスされるべき複数のデータを再生する、
    ことを特徴とする請求項1に記載のデータ多重化記憶装置。
  6. 前記格納手段は、相関のある一対のデータを多重化して各アドレス位置に前記メモリに格納し、
    前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、相関のある一対のデータを再生する、
    ことを特徴とする請求項1に記載のデータ多重化記憶装置。
  7. 前記格納手段は、同時にアクセスするデータが無く、且つ、データの多重化及び分離処理の処理量が予め定められた値よりも大きくなる場合には、データの多重化を行わない、
    ことを特徴とする請求項1に記載のデータ多重化記憶装置。
  8. 請求項1乃至7のいずれか1項に記載のデータ多重化記憶装置と、
    データを処理して前記格納手段に供給し、或いは、前記データ再生手段で再生されたデータを処理する処理手段と、を備える処理装置。
  9. 請求項1乃至7のいずれか1項に記載のデータ多重化記憶装置と、
    データを処理して前記格納手段に供給し、或いは、前記データ再生手段で再生されたデータを処理するリコンフィギュラブル回路と、
    前記リコンフィギュラブル回路の回路構成を切り替えて設定する設定手段と、
    を備える処理装置。
  10. 前記リコンフィギュラブル回路は、第1の回路構成で処理したデータを前記格納手段に供給して前記メモリに多重化して格納し、前記設定手段により回路構成が第2の回路構成に切り替えられた後、前記データ再生手段を介して前記メモリから読み出したデータを処理する、
    ことを特徴とする請求項9に記載の処理装置。
JP2005368898A 2005-12-21 2005-12-21 データ多重化記憶装置及び処理装置 Expired - Fee Related JP4753709B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005368898A JP4753709B2 (ja) 2005-12-21 2005-12-21 データ多重化記憶装置及び処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005368898A JP4753709B2 (ja) 2005-12-21 2005-12-21 データ多重化記憶装置及び処理装置

Publications (2)

Publication Number Publication Date
JP2007172284A true JP2007172284A (ja) 2007-07-05
JP4753709B2 JP4753709B2 (ja) 2011-08-24

Family

ID=38298768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005368898A Expired - Fee Related JP4753709B2 (ja) 2005-12-21 2005-12-21 データ多重化記憶装置及び処理装置

Country Status (1)

Country Link
JP (1) JP4753709B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5378744A (en) * 1976-12-23 1978-07-12 Fujitsu Ltd Arithmetic system for complex number
JPS57146341A (en) * 1981-03-04 1982-09-09 Hitachi Ltd Data processor
JPS6286912A (ja) * 1985-10-14 1987-04-21 Fujitsu Ltd フイルタ演算制御方式
JPH03254525A (ja) * 1990-03-05 1991-11-13 Sony Corp ディジタル信号処理装置
JPH0736773A (ja) * 1993-04-21 1995-02-07 Gi Corp 記憶データから多重データストリームを得るためのデュアルメモリバッファ装置及び方法
JPH07202635A (ja) * 1994-01-06 1995-08-04 Nippon Steel Corp デジタル信号処理装置
JPH0895953A (ja) * 1994-09-21 1996-04-12 Nec Corp 相関演算プロセッサ
JP2004272817A (ja) * 2003-03-11 2004-09-30 Ricoh Co Ltd 画像メモリ制御方法
JP2004310730A (ja) * 2003-01-15 2004-11-04 Sanyo Electric Co Ltd リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5378744A (en) * 1976-12-23 1978-07-12 Fujitsu Ltd Arithmetic system for complex number
JPS57146341A (en) * 1981-03-04 1982-09-09 Hitachi Ltd Data processor
JPS6286912A (ja) * 1985-10-14 1987-04-21 Fujitsu Ltd フイルタ演算制御方式
JPH03254525A (ja) * 1990-03-05 1991-11-13 Sony Corp ディジタル信号処理装置
JPH0736773A (ja) * 1993-04-21 1995-02-07 Gi Corp 記憶データから多重データストリームを得るためのデュアルメモリバッファ装置及び方法
JPH07202635A (ja) * 1994-01-06 1995-08-04 Nippon Steel Corp デジタル信号処理装置
JPH0895953A (ja) * 1994-09-21 1996-04-12 Nec Corp 相関演算プロセッサ
JP2004310730A (ja) * 2003-01-15 2004-11-04 Sanyo Electric Co Ltd リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法
JP2004272817A (ja) * 2003-03-11 2004-09-30 Ricoh Co Ltd 画像メモリ制御方法

Also Published As

Publication number Publication date
JP4753709B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
US10644877B2 (en) Configurable number theoretic transform (NTT) butterfly circuit for homomorphic encryption
US9323716B2 (en) Hierarchical reconfigurable computer architecture
JP4982080B2 (ja) デジタルフィルタ
US7725681B2 (en) Parallel processing array
US20100211747A1 (en) Processor with reconfigurable architecture
JP2003516692A (ja) 正準符号桁数字係数表現を用いる再構成可能な有限応答フィルタ
US6463518B1 (en) Generation of memory addresses for accessing a memory utilizing scheme registers
JP4011007B2 (ja) リコンフィギュラブル回路を備えた集積回路装置および処理装置
JP4753709B2 (ja) データ多重化記憶装置及び処理装置
US7613760B1 (en) Efficient implementation of multi-channel integrators and differentiators in a programmable device
JP4260197B2 (ja) 処理装置
JP4553615B2 (ja) 処理装置
US6401106B1 (en) Methods and apparatus for performing correlation operations
US7996657B2 (en) Reconfigurable computing circuit
JP4748944B2 (ja) 処理装置
JP4156010B2 (ja) 処理装置
JP2010097356A (ja) 演算処理装置、それを搭載した通信装置および放送受信装置、ならびに情報処理装置
JP4330472B2 (ja) 処理装置
Kartheek et al. FPGA Based High Speed 8-Tap FIR Filter
Warrier et al. Reconfigurable DSP block design for dynamically reconfigurable architecture
JP2005128709A (ja) リコンフィギュラブル回路を備えた処理装置
Liang et al. Dynamic coarse grain dataflow reconfiguration technique for real-time systems design
JP2004221997A (ja) リコンフィギュラブル回路とそれを利用可能な集積回路装置
Heysters et al. Flexibility of the Montium Word-Level Reconfigurable Processing Tile
JPH0832409A (ja) デジタルfirフィルタ回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110407

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110524

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees