JP2003150576A - Fft arithmetic unit and fft arithmetic method - Google Patents

Fft arithmetic unit and fft arithmetic method

Info

Publication number
JP2003150576A
JP2003150576A JP2001351055A JP2001351055A JP2003150576A JP 2003150576 A JP2003150576 A JP 2003150576A JP 2001351055 A JP2001351055 A JP 2001351055A JP 2001351055 A JP2001351055 A JP 2001351055A JP 2003150576 A JP2003150576 A JP 2003150576A
Authority
JP
Japan
Prior art keywords
data
unit
memory
fft
address
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.)
Withdrawn
Application number
JP2001351055A
Other languages
Japanese (ja)
Inventor
Tetsuya Ikeda
徹哉 池田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001351055A priority Critical patent/JP2003150576A/en
Publication of JP2003150576A publication Critical patent/JP2003150576A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To speed up an FFT arithmetic operation by allowing pipeline processing in respective FFT arithmetic stage units by avoiding access competi tion to the same bank. SOLUTION: Respective memories 7 and 9 are divided into the i number of banks according to the data number i simultaneously inputted to a butterfly arithmetic operation part 21. The readout/write-in address of data to the respective banks is controlled by two address forming parts 11 and 13. When the memory 7 outputs the data to the butterfly arithmetic operation part 21 in a certain FFT arithmetic stage, the memory 9 stores an output result from the butterfly arithmetic operation part 21 via a swap means 23 and a selector 25, and while, when the memory 9 outputs the data to the butterfly arithmetic operation part 21, the memory 7 stores the output result from the butterfly arithmetic operation part 21 via the swap means 23 and the selector 25.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、高速フーリエ変換
(FFT:Fast Fourier Transformation)を行うFF
T演算装置およびFFT演算方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an FF that performs a fast Fourier transform (FFT).
The present invention relates to a T calculation device and an FFT calculation method.

【0002】[0002]

【従来の技術】FFT演算装置は、一般に、バタフライ
演算器を組み合わせて構成される。図10は、従来の1
6ポイントFFT演算の処理手順の一例を示す図であ
る。同図に示すように、たとえば、データ数N=16の
FFT演算は、複数(ここでは4個)のバタフライ演算
器から構成される4ポイントFFT演算装置(バタフラ
イ演算部)101での処理を所定の回数(ここでは8
回)実行することによって行われる。なお、図10に
は、便宜上、複数の4ポイントFFT演算装置101が
示されているが、実際の動作は、1つの4ポイントFF
T演算装置101を使い回すことによって行われる。
2. Description of the Related Art An FFT arithmetic unit is generally constructed by combining butterfly arithmetic units. FIG. 10 shows the conventional 1
It is a figure which shows an example of the processing procedure of 6-point FFT calculation. As shown in the figure, for example, in the FFT operation with the number of data N = 16, the processing in the 4-point FFT operation device (butterfly operation unit) 101 composed of a plurality of (here, four) butterfly operation units is predetermined. The number of times (here 8
Times) by executing. Although a plurality of 4-point FFT operation devices 101 are shown in FIG. 10 for the sake of convenience, the actual operation is one 4-point FF.
It is performed by using the T arithmetic unit 101 repeatedly.

【0003】具体的には、ステップ1において、まず、
16個のデータが格納されているメモリ103から4ポ
イント置きにサンプリングしたデータx(0),x(4),x
(8),x(12)を順次読み出して4ポイントFFT演算を
実行する。そして、その演算結果をメモリ105に1ポ
イント置きにg2(0),g2(1),g2(2),g2(3)に順次格
納する。そして、引き続き、メモリ103から4ポイン
ト置きにサンプリングしたデータx(1),x(5),x
(9),x(13)を読み出して4ポイントFFT演算を実行
し、その演算結果をメモリ105のg2(4),g2(5),g
2(6),g2(7)に順次格納する。以後、同様にして、メモ
リ103のすべてのデータに対して4ポイントFFT演
算が実行され、その演算結果がメモリ105にマッピン
グされる。
Specifically, in step 1, first,
Data x (0), x (4), x sampled at every 4 points from the memory 103 storing 16 data
(8) and x (12) are sequentially read to execute the 4-point FFT operation. Then, the operation result is sequentially stored in the memory 105 every other point in g2 (0), g2 (1), g2 (2), and g2 (3). Then, continuously, data x (1), x (5), x sampled from the memory 103 at every 4 points.
(9), x (13) are read out, 4-point FFT operation is executed, and the operation result is g2 (4), g2 (5), g in the memory 105.
Sequentially store in 2 (6) and g2 (7). Thereafter, in the same manner, the 4-point FFT operation is executed on all the data in the memory 103, and the operation result is mapped in the memory 105.

【0004】次に、ステップ2において、ステップ1で
得られた上記の結果から、ステップ1と同様にメモリ1
05から4ポイント置きに順次データを読み出して4ポ
イントFFT演算を実行する。メモリ105内のすべて
のデータに対して4ポイントFFT演算を実行した結果
がデータX(0),X(1),…,X(14),X(15)として出力
され、データ数N=16のFFT演算が終了する。
Next, in step 2, from the result obtained in step 1, the memory 1
The data is sequentially read every four points from 05, and the four-point FFT operation is executed. The result of executing the 4-point FFT operation on all the data in the memory 105 is output as data X (0), X (1), ..., X (14), X (15), and the number of data N = 16. The FFT calculation of is completed.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
FFT演算装置においては、次のような問題がある。
However, the conventional FFT operation device has the following problems.

【0006】まず、メモリが図10に示すように4つの
バンクから構成されている場合(4バンク構成)ではな
くただ1つのバンクから構成されている場合、1回のメ
モリアクセスで1つのデータしか読み出すことができな
いので、4ポイントFFT演算装置に入力する4つのデ
ータを順番に時分割でメモリから読み出す必要があるた
め、パイプライン処理を行うことができず、FFT演算
の高速化には一定の限界がある。
First, in the case where the memory is composed of only four banks as shown in FIG. 10 (four bank structure), but only one bank, only one data is stored in one memory access. Since it cannot be read, it is necessary to sequentially read the four pieces of data input to the 4-point FFT operation device from the memory in a time-division manner. Therefore, pipeline processing cannot be performed, which is a constant for increasing the speed of the FFT operation. There is a limit.

【0007】すなわち、パイプライン処理を行う場合、
パイプラインステージとして4つのデータを読み出すた
めには必ず4段のデータ読み出しを行うためのステージ
が必要になる(M1、M2、M3、M4、EX、…)。
ここで、M1は、1つ目のデータ読み出しステージ、M
2は、2つ目のデータ読み出しステージ、M3は、3つ
目のデータ読み出しステージ、M4は、4つ目のデータ
読み出しステージ、EXは、4ポイントFFT実行ステ
ージである。したがって、たとえば、M2ステージとM
1ステージが重なると(パイプライン処理ではこのよう
な重なりが生じる)、同時に読み出すことができないた
め、パイプライン処理を行うことができない。
That is, when performing pipeline processing,
In order to read four data as pipeline stages, it is necessary to have four stages for reading data (M1, M2, M3, M4, EX, ...).
Here, M1 is the first data read stage, M
2 is the second data read stage, M3 is the third data read stage, M4 is the fourth data read stage, and EX is the 4-point FFT execution stage. Thus, for example, M2 stage and M
If one stage is overlapped (such overlap occurs in pipeline processing), it is not possible to read simultaneously, so pipeline processing cannot be performed.

【0008】次に、4ポイントFFT演算に必要な4つ
のデータを同時に読み出すために、図10に示すよう
に、メモリ103およびメモリ105を4バンク構成に
した場合でも、メモリ105への書き込みに関して、同
一バンクに対するアクセス競合が起こり、同一バンクへ
の複数の書き込みが競合してしまう。よって、この場合
も、パイプライン処理を行うことができず、FFT演算
の高速化には一定の限界がある。
Next, in order to read out the four data required for the 4-point FFT operation at the same time, as shown in FIG. 10, even when the memory 103 and the memory 105 have a four-bank configuration, with respect to the writing to the memory 105, Access conflict occurs in the same bank, and a plurality of writes in the same bank conflict. Therefore, in this case as well, pipeline processing cannot be performed, and there is a certain limit to speeding up the FFT operation.

【0009】すなわち、たとえば、FFT処理を次の3
ステージパイプラインと考える。1ステージ目は、FF
T演算対象のデータをメモリ103から読み出すステー
ジ、2ステージ目は、FFT演算を実行するステージ、
3ステージ目は、演算結果をメモリ105へ書き込むス
テージであるとする。このとき、メモリ103からの読
み出しに関しては、各バンクから1データずつ読み出す
ため、1ステージ(1サイクル)で同時読み出しが可能
である。しかし、メモリ105への書き込みに関して
は、ステップ2において、同時に4つのデータ読み出し
を可能とするためには4ポイントFFT演算装置101
から出力される4つのデータを同一バンクに書き込む必
要があるため、この時1サイクルで同一バンクに書き込
むと、アクセス競合が起こってしまい、パイプライン処
理を行うことができない。さらに、メモリ105の書き
込みに関して、図11に示すように、アクセス競合が起
こらないように4ポイントFFT演算装置101から出
力される4つのデータをそれぞれ4つのバンクに書き込
んだ場合、1サイクルで同時書き込みは可能だが、ステ
ップ2のFFT演算を行う時にメモリ105からの読み
出しにおいてアクセス競合が起きてしまう。したがっ
て、いずれの場合においてもパイプライン処理を行うこ
とができない。
That is, for example, the FFT processing is performed in the following three steps.
Think of it as a stage pipeline. The first stage is FF
A stage for reading the data of the T operation target from the memory 103, a second stage for executing the FFT operation,
The third stage is a stage for writing the calculation result to the memory 105. At this time, as for reading from the memory 103, since one data is read from each bank, simultaneous reading can be performed in one stage (one cycle). However, regarding writing to the memory 105, in order to enable reading of four data at the same time in step 2, the 4-point FFT operation device 101
Since it is necessary to write the four data output from the same bank to the same bank, if the data is written to the same bank in one cycle at this time, access conflict occurs and pipeline processing cannot be performed. Further, regarding the writing of the memory 105, as shown in FIG. 11, when the four data output from the 4-point FFT operation unit 101 are written in four banks respectively so that access conflict does not occur, simultaneous writing is performed in one cycle. However, access conflict occurs in reading from the memory 105 when the FFT operation of step 2 is performed. Therefore, in either case, pipeline processing cannot be performed.

【0010】本発明は、かかる点に鑑みてなされたもの
であり、FFT演算に必要な中間バッファへのデータの
マッピング方法を改善することにより、FFT演算の高
速化を図ることができるFFT演算装置およびFFT演
算方法を提供することを目的とする。
The present invention has been made in view of the above points, and an FFT arithmetic unit capable of speeding up the FFT arithmetic by improving a method of mapping data to an intermediate buffer required for the FFT arithmetic. And an FFT calculation method.

【0011】[0011]

【課題を解決するための手段】(1)本発明のFFT演
算装置は、バタフライ演算部と、複数のバンクから構成
され前記バタフライ演算部で処理されるデータを記憶す
る第1記憶部と、前記第1記憶部からデータを読み出す
時に同一バンクに対するアクセスが競合しないように前
記第1記憶部に対するデータ読み出し用のアドレスを生
成する第1アドレス生成部と、前記バタフライ演算部か
ら出力される演算結果を並び替える並び替え部と、複数
のバンクから構成され前記並び替え部から出力されるデ
ータを記憶する第2記憶部と、前記第2記憶部にデータ
を書き込む時に同一バンクに対するアクセスが競合しな
いように前記第2記憶部に対するデータ書き込み用のア
ドレスを生成する第2アドレス生成部と、を有する構成
を採る。
(1) An FFT operation device according to the present invention comprises a butterfly operation unit, a first storage unit configured to include a plurality of banks and storing data processed by the butterfly operation unit, A first address generation unit that generates a data read address for the first storage unit so that access to the same bank does not conflict when reading data from the first storage unit, and a calculation result output from the butterfly calculation unit. A rearrangement unit for rearranging, a second storage unit configured from a plurality of banks for storing data output from the rearrangement unit, and an access to the same bank do not conflict when writing data to the second storage unit. And a second address generation unit that generates an address for writing data to the second storage unit.

【0012】この構成によれば、第1記憶部からデータ
を読み出す時および第2記憶部にデータを書き込む時に
それぞれ同一バンクに対するアクセスが競合しないよう
にアドレス制御を行うため、同一バンクに対するアクセ
ス競合が回避され、各FFT演算ステージ単位でパイプ
ライン処理が可能になるので、FFT演算を高速に行う
ことができる。
According to this structure, when the data is read from the first storage unit and the data is written to the second storage unit, address control is performed so that accesses to the same bank do not conflict with each other. Since it is avoided and pipeline processing can be performed in units of each FFT operation stage, FFT operation can be performed at high speed.

【0013】(2)本発明のFFT演算装置は、上記の
構成において、FFT処理されるデータを一時蓄積する
入力バッファと、前記入力バッファに蓄積されたデータ
を前記第1記憶部に設定された所定のデータ配列に変換
するデータ変換部と、をさらに有する構成を採る。
(2) In the FFT operation device of the present invention, in the above configuration, an input buffer for temporarily storing data to be FFT processed and data stored in the input buffer are set in the first storage section. And a data conversion unit that converts the data into a predetermined data array.

【0014】この構成によれば、FFT処理されるデー
タをあらかじめ入力バッファに一時蓄積しておき、入力
バッファに蓄積されたデータを所定のデータ配列に変換
して第1記憶部に格納するため、任意のデータに対して
FFT演算を高速に行うことができる。
According to this structure, the data to be FFT processed is temporarily stored in the input buffer beforehand, and the data stored in the input buffer is converted into a predetermined data array and stored in the first storage section. The FFT operation can be performed at high speed on arbitrary data.

【0015】(3)本発明のFFT演算装置は、上記の
構成において、前記バタフライ演算部は、2入力のバタ
フライ演算器を1または複数個並列に配置して構成され
ている構成を採る。
(3) In the FFT arithmetic unit of the present invention, in the above-mentioned constitution, the butterfly arithmetic unit is constructed by arranging one or a plurality of two-input butterfly arithmetic units in parallel.

【0016】この構成によれば、2入力のバタフライ演
算器を1または複数個並列に配置してバタフライ演算部
を構成するため、複数のデータを任意の単位で並列に処
理することができ、各FFT演算ステージ単位でパイプ
ライン処理が可能になることと相俟って、FFT演算を
より高速に行うことができる。
According to this configuration, one or a plurality of two-input butterfly computing units are arranged in parallel to form the butterfly computing unit, so that a plurality of data can be processed in arbitrary units in parallel. Coupled with the fact that pipeline processing can be performed in units of FFT operation stages, FFT operations can be performed at higher speed.

【0017】(4)本発明のFFT演算装置は、上記の
構成において、前記第1記憶部および前記第2記憶部
は、いずれも、各アドレスに前記バタフライ演算器に同
時に入力される2つのデータを記憶する構成を採る。
(4) In the FFT operation device of the present invention having the above-mentioned configuration, the first storage unit and the second storage unit are both two data that are simultaneously input to the butterfly operation unit at each address. Take the configuration to memorize.

【0018】この構成によれば、第1記憶部および第2
記憶部においてはいずれも各アドレスにバタフライ演算
器に同時に入力される2つのデータが記憶されているた
め、1回に読み出すアドレスおよび書き込むアドレスの
指定先を少なくすることができ、同一バンクに対するア
クセス競合を回避して各FFT演算ステージ単位でパイ
プライン処理が可能になることと相俟って、FFT演算
をより高速に行うことができる。
According to this configuration, the first storage section and the second storage section
In the storage unit, since two data that are simultaneously input to the butterfly computing unit are stored at each address, it is possible to reduce the number of designated addresses for reading and writing addresses at one time, and access conflict for the same bank. In combination with avoiding the above and enabling pipeline processing in units of each FFT operation stage, the FFT operation can be performed at a higher speed.

【0019】(5)本発明のFFT演算装置は、上記の
構成において、前記バタフライ演算部が2入力のバタフ
ライ演算器を1または複数個並列に配置して構成されて
いる場合、前記データ変換部は、前記第1記憶部に対し
て各アドレスに前記バタフライ演算器に同時に入力され
る2つのデータが記憶されるように前記変換処理を行う
構成を採る。
(5) In the FFT operation device of the present invention, in the above configuration, when the butterfly operation unit is configured by arranging one or a plurality of two-input butterfly operation units in parallel, the data conversion unit. Has a configuration in which the conversion process is performed so that two addresses that are simultaneously input to the butterfly computing unit are stored in each address in the first storage unit.

【0020】この構成によれば、第1記憶部においては
各アドレスにバタフライ演算器に同時に入力される2つ
のデータが記憶されるため、1回に読み出すアドレスの
指定先を少なくすることができ、同一バンクに対するア
クセス競合を回避して各FFT演算ステージ単位でパイ
プライン処理が可能になることと相俟って、FFT演算
をより高速に行うことができる。
According to this structure, in the first storage section, two data that are simultaneously input to the butterfly computing unit are stored at each address, so that it is possible to reduce the number of addresses to be read at one time. Coupled with the fact that pipeline processing can be performed in units of each FFT operation stage while avoiding access competition for the same bank, FFT operation can be performed at higher speed.

【0021】(6)本発明のFFT演算装置は、上記の
構成において、前記第1記憶部および前記第2記憶部
は、いずれも、前記バタフライ演算部に同時に入力され
るデータ数と同数のバンクから構成されている構成を採
る。
(6) In the FFT operation device of the present invention, in the above-mentioned configuration, both the first storage unit and the second storage unit have the same number of banks as the number of data simultaneously input to the butterfly operation unit. The configuration is composed of.

【0022】この構成によれば、第1記憶部および第2
記憶部はいずれもバタフライ演算部に同時に入力される
データ数と同数のバンクから構成されているため、同一
バンクに対するアクセス競合を回避して各FFT演算ス
テージ単位でパイプライン処理が可能になり、FFT演
算を高速に行うことができる。
According to this structure, the first storage section and the second storage section
Since each storage unit is composed of the same number of banks as the number of data input to the butterfly operation unit at the same time, it is possible to avoid access conflict for the same bank and perform pipeline processing in units of each FFT operation stage. The calculation can be performed at high speed.

【0023】(7)本発明のFFT演算装置は、前記第
1記憶部および前記第2記憶部は、2個のメモリで構成
され、FFT演算ステージに応じて前記2個のメモリの
うち一方が前記第1記憶部として機能し他方が第2記憶
部として機能するように前記2個のメモリの機能を選択
的に切り替える切り替え手段をさらに有する構成を採
る。
(7) In the FFT operation device of the present invention, the first storage section and the second storage section are composed of two memories, and one of the two memories corresponds to an FFT operation stage. The configuration further includes a switching unit that selectively switches the functions of the two memories so that the second memory functions as the first memory and the other functions as the second memory.

【0024】この構成によれば、2個のメモリを設けて
おき、一方が第1記憶部として機能する時は他方が第2
記憶部として機能するように切り替え制御を行うため、
必要最小限のメモリ数でパイプライン処理が可能にな
り、FFT演算を高速に行うことができる。
According to this structure, two memories are provided, and when one functions as the first storage unit, the other functions as the second memory.
Since switching control is performed so that it functions as a storage unit,
Pipeline processing can be performed with the minimum required number of memories, and FFT operation can be performed at high speed.

【0025】(8)本発明の受信装置は、上記いずれか
に記載のFFT演算装置を有する構成を採る。
(8) The receiving apparatus of the present invention has a configuration including any one of the FFT arithmetic units described above.

【0026】この構成によれば、上記と同様の作用効果
を有する受信装置を提供することができる。
According to this structure, it is possible to provide a receiving device having the same effects as the above.

【0027】(9)本発明の無線通信端末装置は、上記
の受信装置を有する構成を採る。
(9) The wireless communication terminal device of the present invention has a configuration including the above-mentioned receiving device.

【0028】この構成によれば、上記と同様の作用効果
を有する無線通信端末装置を提供することができる。
With this configuration, it is possible to provide a wireless communication terminal device having the same effects as the above.

【0029】(10)本発明の基地局装置は、上記の受
信装置を有する構成を採る。
(10) The base station apparatus of the present invention has a configuration including the above receiving apparatus.

【0030】この構成によれば、上記と同様の作用効果
を有する基地局装置を提供することができる。
With this configuration, it is possible to provide a base station device having the same effects as the above.

【0031】(11)本発明のFFT演算方法は、複数
のバンクから構成されバタフライ演算部で処理されるデ
ータを記憶する第1記憶部からデータを読み出す時に同
一バンクに対するアクセスが競合しないように前記第1
記憶部に対するデータ読み出し用のアドレスを生成する
第1アドレス生成ステップと、前記バタフライ演算部か
ら出力される演算結果を並び替える並び替えステップ
と、複数のバンクから構成され前記並び替えステップで
出力されるデータを記憶する第2記憶部にデータを書き
込む時に同一バンクに対するアクセスが競合しないよう
に前記第2記憶部に対するデータ書き込み用のアドレス
を生成する第2アドレス生成ステップと、を有するよう
にした。
(11) In the FFT operation method of the present invention, the access to the same bank is prevented from competing when reading data from the first storage unit which is composed of a plurality of banks and which stores the data processed by the butterfly operation unit. First
A first address generation step of generating a data read address for the storage section, a rearrangement step of rearranging the operation results output from the butterfly operation section, and a plurality of banks which are output in the rearrangement step. A second address generating step of generating an address for writing data to the second storage unit so that access to the same bank does not conflict when writing data to the second storage unit which stores data.

【0032】この方法によれば、第1記憶部からデータ
を読み出す時および第2記憶部にデータを書き込む時に
それぞれ同一バンクに対するアクセスが競合しないよう
にアドレス制御を行うため、同一バンクに対するアクセ
ス競合が回避され、各FFT演算ステージ単位でパイプ
ライン処理が可能になるので、FFT演算を高速に行う
ことができる。
According to this method, address control is performed so that access to the same bank does not conflict when reading data from the first storage unit and when writing data to the second storage unit. Since it is avoided and pipeline processing can be performed in units of each FFT operation stage, FFT operation can be performed at high speed.

【0033】[0033]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below in detail with reference to the drawings.

【0034】図1は、本発明の一実施の形態に係るFF
T演算装置の構成を示すブロック図である。
FIG. 1 shows an FF according to an embodiment of the present invention.
It is a block diagram which shows the structure of T arithmetic unit.

【0035】このFFT演算装置は、FFT演算される
N=2k(kは正の整数)のデータが最初格納される入
力バッファ1と、データ変換部3と、第1のセレクタ5
と、第1のメモリ7と、第2のメモリ9と、第1のアド
レス生成部11と、第2のアドレス生成部13と、第2
のセレクタ15と、第3のセレクタ17と、第4のセレ
クタ19と、バタフライ演算部21と、スワップ手段
(並び替え部)23と、第5のセレクタ25と、第6の
セレクタ27とを有する。ここで、以下の説明に際し
て、FFT処理されるデータの総数をN=2k(kは正
の整数)とし、バタフライ演算部21を構成する並列に
配置されたバタフライ演算器の個数をbとし、バタフラ
イ演算部21に同時に入力されるデータの数をiとする
(バタフライ演算器が2入力の場合は、i=2b)。
This FFT operation device has an input buffer 1 in which N = 2 k (k is a positive integer) data to be subjected to FFT operation is initially stored, a data conversion section 3, and a first selector 5.
A first memory 7, a second memory 9, a first address generator 11, a second address generator 13, and a second memory
Selector 15, a third selector 17, a fourth selector 19, a butterfly computing unit 21, a swap means (sorting unit) 23, a fifth selector 25, and a sixth selector 27. . Here, in the following description, the total number of FFT-processed data is N = 2 k (k is a positive integer), and the number of butterfly calculators arranged in parallel that configure the butterfly calculator 21 is b, Let i be the number of data that are simultaneously input to the butterfly operation unit 21 (i = 2b when the butterfly operation unit has two inputs).

【0036】入力バッファ1は、FFT処理されるN個
のデータが最初格納されているバッファであり、ここで
は、1つのアドレスに1つのデータが格納されているも
のとする。なお、複数のデータを同時に読み出すことが
できるように、入力バッファ1を複数のバンクで構成す
ることも可能である。
The input buffer 1 is a buffer in which N pieces of data to be FFT processed are initially stored, and here it is assumed that one data is stored in one address. The input buffer 1 can be composed of a plurality of banks so that a plurality of data can be read simultaneously.

【0037】データ変換部3は、入力バッファ1からm
(0≦m<N/2)番目のデータと(m+N/2)番目
のデータとを読み出し、読み出した2つのデータを1ワ
ード中に結合して(図2参照)、セレクタ5を介して第
1のメモリ7に出力する。ここで、図2は、メモリに格
納されるデータの配置を示している。そして、パラメー
タmの値を0から(N/2−1)までインクリメントし
て上記の処理を行い、入力バッファ1のすべてのデータ
を第1のメモリ7にロードする。このとき、1ワード中
に結合されたデータの、第1のメモリ7への入力アドレ
スは、バタフライ演算部21への入力データ数iに依存
し、データ変換部3で結合されたデータは、iアドレス
置きに第1のメモリ7に入力される。
The data conversion unit 3 includes the input buffers 1 to m.
The (0 ≦ m <N / 2) -th data and the (m + N / 2) -th data are read out, the two read-out data are combined into one word (see FIG. 2), and the 1 to the memory 7. Here, FIG. 2 shows an arrangement of data stored in the memory. Then, the value of the parameter m is incremented from 0 to (N / 2−1) and the above processing is performed to load all the data in the input buffer 1 into the first memory 7. At this time, the input address of the data combined in one word to the first memory 7 depends on the number i of input data to the butterfly operation unit 21, and the data combined in the data conversion unit 3 is i. The data is input to the first memory 7 every other address.

【0038】セレクタ5は、データ変換部3の出力とセ
レクタ25の出力のいずれか一方を選択する。具体的に
は、最初に入力バッファ1から第1のメモリ7にデータ
をロードする時のみ、データ変換部3の出力を選択し、
それ以後は、セレクタ25の出力を選択する。
The selector 5 selects either the output of the data converter 3 or the output of the selector 25. Specifically, only when the data is first loaded from the input buffer 1 to the first memory 7, the output of the data conversion unit 3 is selected,
After that, the output of the selector 25 is selected.

【0039】第1のメモリ7および第2のメモリ9は、
同一バンクに対するアクセス競合を回避するために、バ
タフライ演算部21に同時に入力されるデータ数iに従
って、それぞれi個のバンクに分割されている。各メモ
リ7、9において、各メモリバンクに対するデータの読
み出しアドレスおよび書き込みアドレスは、いずれも、
第1のアドレス生成部11および第2のアドレス生成部
13によって制御される。
The first memory 7 and the second memory 9 are
In order to avoid access contention for the same bank, it is divided into i banks according to the number i of data that is simultaneously input to the butterfly operation unit 21. In each of the memories 7 and 9, the read address and the write address of data for each memory bank are
It is controlled by the first address generator 11 and the second address generator 13.

【0040】また、第1のメモリ7および第2のメモリ
9は、おのおの、FFT演算ステージによって、バタフ
ライ演算部21にデータを出力する動作を行う時と、バ
タフライ演算部21の演算結果を格納する動作を行う時
とがある。具体的には、あるFFT演算ステージにおい
て、第1のメモリ7がバタフライ演算部21にデータを
出力している時は、第2のメモリ9は、バタフライ演算
部21からの出力結果を、スワップ手段23およびセレ
クタ25を介して格納し、逆に、第2のメモリ9がバタ
フライ演算部21にデータを出力している時は、第1の
メモリ7はバタフライ演算部21からの出力結果を、ス
ワップ手段23およびセレクタ25を介して格納すると
いう動作が行われる。
The first memory 7 and the second memory 9 each store an operation result of the butterfly operation unit 21 when the FFT operation stage outputs data to the butterfly operation unit 21. There are times when it takes action. Specifically, in a certain FFT operation stage, when the first memory 7 is outputting data to the butterfly operation unit 21, the second memory 9 uses the swap result of the output result from the butterfly operation unit 21. 23 and the selector 25, and conversely, when the second memory 9 is outputting data to the butterfly computing unit 21, the first memory 7 swaps the output result from the butterfly computing unit 21. The operation of storing via the means 23 and the selector 25 is performed.

【0041】第1のアドレス生成部11は、第1のメモ
リ7と第2のメモリ9のいずれか一方が読み出し動作を
行う時に、読み出しアドレスを制御する。
The first address generator 11 controls the read address when either the first memory 7 or the second memory 9 performs the read operation.

【0042】ここで、図3を用いて読み出し手順を説明
する。図3は、第1のメモリ7および第2のメモリ9の
バンク構成を示している。なお、便宜上、第1のメモリ
7および第2のメモリ9を「第1のメモリ7(第2のメ
モリ9)」と略記する。
The reading procedure will be described with reference to FIG. FIG. 3 shows a bank configuration of the first memory 7 and the second memory 9. For the sake of convenience, the first memory 7 and the second memory 9 are abbreviated as “first memory 7 (second memory 9)”.

【0043】第1のメモリ7(第2のメモリ9)のi個
に区切られたバンクを上位アドレスから順に、bank0,b
ank1,…,bank(i-1)とすると、第1のアドレス生成部
11は、上位バンクから順にb個のバンク、つまり、ba
nk0,bank1,…,bank(b-1)の各バンクの先頭アドレス
を一度に選択して、第1のメモリ7(第2のメモリ9)
に対する読み出し動作を制御して、第1のメモリ7(第
2のメモリ9)からバタフライ演算部21に並列にデー
タを出力させる。そして、次に読み出すアドレスは、残
りのb個(i=2b)のバンク、つまり、bank(b),ban
k(b+1),…,bank(i-1)の各バンクの先頭アドレスとな
り、選択されたアドレスからデータが読み出されてバタ
フライ演算部21に並列にデータが出力される。そし
て、bank(i-1)までデータが読み出されると、再び最上
位のバンクに戻り、今度は、bank0,bank1,…,bank(b
-1)の先頭アドレスから1つインクリメントしたアドレ
スからデータが読み出されるように、読み出しアドレス
を制御する。以後、同様に、第1のメモリ7(第2のメ
モリ9)からすべてのデータが読み出されるように読み
出しアドレスの制御を行う。
Banks of the first memory 7 (second memory 9) divided into i banks are bank0, b
If ank1, ..., bank (i-1) are set, the first address generation unit 11 determines that b banks, that is, ba
The first address of each bank of nk0, bank1, ..., Bank (b-1) is selected at once, and the first memory 7 (second memory 9) is selected.
The read operation is controlled to cause the butterfly operation unit 21 to output data in parallel from the first memory 7 (second memory 9). Then, the address to be read next is the remaining b (i = 2b) banks, that is, bank (b), ban.
It becomes the head address of each bank of k (b + 1), ..., Bank (i-1), data is read from the selected address, and the data is output in parallel to the butterfly operation unit 21. Then, when data is read up to bank (i-1), it returns to the highest bank again, and this time, bank0, bank1, ..., bank (b
The read address is controlled so that the data is read from the address that is incremented by 1 from the start address of (-1). Thereafter, similarly, the read address is controlled so that all the data is read from the first memory 7 (second memory 9).

【0044】第2のアドレス生成部13は、第1のメモ
リ7と第2のメモリ9のいずれか一方がスワップ手段2
3の出力結果の書き込み動作を行う時の書き込みアドレ
スを制御する。
In the second address generation unit 13, one of the first memory 7 and the second memory 9 is the swap means 2
The write address at the time of performing the write operation of the output result of 3 is controlled.

【0045】ここで、同じく図3を用いて書き込み手順
を説明する。分割されたi個の物理バンクに対して、上
位アドレスから順にb個の論理バンクbank0-1(bank0と
bank1の領域),bank2-3(bank2とbank3の領域),…,
bank(i-2)-(i-1)(bank(i-2)とbank(i-1)の領域)を考
える。この場合、第2のアドレス生成部13は、上位バ
ンクから順に合計b個の論理バンク、つまり、bank0-
1,bank2-3,…,bank(i-2)-(i-1)の各バンクの先頭ア
ドレスを一度に選択して、スワップ手段23から出力さ
れるb個のデータを第1のメモリ7(第2のメモリ9)
へ同時に書き込むように、書き込みアドレスを制御す
る。そして、次の書き込みアドレスは、各論理バンクの
先頭アドレスから1つインクリメントしたアドレスにス
ワップ手段23から出力されるb個のデータが書き込ま
れるように制御される。以後、同様に、データが書き込
まれる度にアドレスをインクリメントして、FFT演算
ステージでの演算結果のすべてが第1のメモリ7(第2
のメモリ9)に書き込まれるように書き込みアドレスの
制御を行う。
Here, the writing procedure will be described with reference to FIG. For the i physical banks that have been divided, b logical banks bank0-1 (bank0 and
area of bank1), bank2-3 (area of bank2 and bank3), ...
Consider bank (i-2)-(i-1) (area of bank (i-2) and bank (i-1)). In this case, the second address generation unit 13 outputs a total of b logical banks in order from the upper bank, that is, bank0-
1, bank2-3, ..., Bank (i-2)-(i-1) are selected at once for the start address of each bank, and b pieces of data output from the swap means 23 are stored in the first memory 7 (Second memory 9)
The write address is controlled so that the write addresses are simultaneously written to. Then, the next write address is controlled so that the b pieces of data output from the swap means 23 are written to the address incremented by 1 from the head address of each logical bank. Thereafter, similarly, the address is incremented each time data is written, and all the calculation results in the FFT calculation stage are stored in the first memory 7 (second
The write address is controlled so as to be written in the memory 9).

【0046】セレクタ15は、第1のメモリ7が読み出
し動作を行う場合は、第1のアドレス生成部11の出力
を選択し、第1のメモリ7が書き込み動作を行う場合
は、第2のアドレス生成部13の出力を選択する。
The selector 15 selects the output of the first address generator 11 when the first memory 7 performs the read operation, and the second address when the first memory 7 performs the write operation. The output of the generation unit 13 is selected.

【0047】セレクタ17は、第2のメモリ9が読み出
し動作を行う場合は、第1のアドレス生成部11の出力
を選択し、第2のメモリ9が書き込み動作を行う場合
は、第2のアドレス生成部11の出力を選択する。
The selector 17 selects the output of the first address generator 11 when the second memory 9 performs the read operation, and the second address when the second memory 9 performs the write operation. The output of the generation unit 11 is selected.

【0048】セレクタ19は、FFT演算ステージに従
って、第1のメモリ7を選択するかまたは第2のメモリ
9を選択するかを決定する。
The selector 19 determines whether to select the first memory 7 or the second memory 9 according to the FFT operation stage.

【0049】バタフライ演算部21は、2入力のバタフ
ライ演算器をb個並列に配置して構成されている。図4
は、2入力のバタフライ演算器の構成を示している。
The butterfly computing unit 21 is configured by arranging b two-input butterfly computing units in parallel. Figure 4
Shows the configuration of a two-input butterfly computing unit.

【0050】スワップ手段23は、バタフライ演算部2
1の出力結果に対してデータの並び替え(スワップ)を
行う。
The swap means 23 is the butterfly computing unit 2
Data rearrangement (swap) is performed on the output result of 1.

【0051】ここで、図5を用いてスワップ方法を説明
する。第1のメモリ7(第2のメモリ9)の異なるb個
のバンクから同時に読み出されたデータをdata0,data
1,data2,…,data(b-2),data(b-1)とすると、各デー
タは、上位ビットと下位ビット(たとえば、data0の場
合は、0_Uと0_L)に分けられて(図2参照)、バタフラ
イ演算部21を構成するb個のバタフライ演算器にそれ
ぞれ入力される。そして、各バタフライ演算器の演算結
果は、図5に示すように、0_U',0_L',1_U',1_L',
…,(b-2)_U',(b-2)_L',(b-1)_U',(b-1)_L'として出
力される。そこで、隣り合う2つのバタフライ演算器で
得られた4つの出力結果、たとえば、0_U',0_L',1_
U',1_L'に対して、各バタフライ演算器において回転子
係数との乗算を行わなかった方の出力結果同士(たとえ
ば、0_U'と1_U')を、バタフライ演算器に入力されたデ
ータのアドレスが上位であるデータの方の出力を上位ビ
ットとしてデータを結合して、出力する。また、各バタ
フライ演算器において回転子係数との乗算を行った方の
出力結果同士(たとえば、0_L'と1_L')に関しても、同
様にデータの結合を行って出力する。以下、同様の手順
で、(b-2)_U',(b-2)_L',(b-1)_U',(b-1)_L'までデー
タのスワップ(並び替え)と結合を行って出力する。
The swap method will be described with reference to FIG. The data read simultaneously from the different b banks of the first memory 7 (second memory 9) are data0, data.
1, data2, ..., data (b-2), data (b-1), each data is divided into upper bits and lower bits (for example, 0_U and 0_L in the case of data0) (see FIG. 2). Reference), and is input to each of the b butterfly computing units constituting the butterfly computing unit 21. Then, the calculation result of each butterfly calculator is 0_U ', 0_L', 1_U ', 1_L', as shown in FIG.
..., (b-2) _U ', (b-2) _L', (b-1) _U ', (b-1) _L' are output. Therefore, four output results obtained by two adjacent butterfly computing units, for example, 0_U ', 0_L', 1_
For U'and 1_L ', the output results (for example, 0_U' and 1_U ') that are not multiplied by the rotor coefficient in each butterfly computing unit are the addresses of the data input to the butterfly computing unit. The output of the data having the higher order is used as the higher order bits to combine the data and output. Also, regarding the output results (for example, 0_L 'and 1_L') that are multiplied by the rotor coefficient in each butterfly computing unit, data is similarly combined and output. Then, in the same procedure, swap (sort) and combine data up to (b-2) _U ', (b-2) _L', (b-1) _U ', and (b-1) _L'. Output.

【0052】セレクタ25は、スワップ手段23からの
出力結果を、FFT演算ステージに応じて、第1のメモ
リ7と第2のメモリ9のどちらに出力するかを選択す
る。
The selector 25 selects whether to output the output result from the swap means 23 to the first memory 7 or the second memory 9 according to the FFT operation stage.

【0053】セレクタ27は、FFT演算ステージが最
終段の時だけ外部への出力を選択し、FFT演算ステー
ジが最終段以外の時はスワップ手段23側を選択する。
The selector 27 selects the output to the outside only when the FFT operation stage is the final stage, and selects the swap means 23 side when the FFT operation stage is other than the final stage.

【0054】次いで、上記構成を有するFFT演算装置
の動作について、図6〜図9を用いて具体的に説明す
る。図6は、入力バッファ1から第1のメモリ7へのデ
ータのロード方法を示す図、図7は、本実施の形態にお
ける16ポイントFFT演算の処理手順を示す図、図8
は、FFT演算ステージごとのFFT演算処理を示す
図、図9は、スワップ方法を示す図である。ここでは、
FFT処理されるデータ総数N=16、乗数k=4、バ
タフライ演算部21に含まれるバタフライ演算器の個数
b=2、バタフライ演算部21に同時に入力されるデー
タ数i=4の場合を例にとって説明する。
Next, the operation of the FFT operation device having the above configuration will be specifically described with reference to FIGS. FIG. 6 is a diagram showing a method of loading data from the input buffer 1 to the first memory 7, FIG. 7 is a diagram showing a processing procedure of 16-point FFT operation in the present embodiment, and FIG.
FIG. 9 is a diagram showing an FFT calculation process for each FFT calculation stage, and FIG. 9 is a diagram showing a swap method. here,
Taking as an example the case where the total number of FFT-processed data N = 16, the multiplier k = 4, the number b of butterfly computing units included in the butterfly computing unit 21 = 2, and the number i of data simultaneously input to the butterfly computing unit 21 = 4 explain.

【0055】まず、ステップ1おいて、データ変換部3
およびセレクタ5を介して入力バッファ1から第1のメ
モリ7へのデータのロードを行う。このとき、図6に示
すように、入力バッファ1からは、x(0)とx(8)、x
(1)とx(9)、x(2)とx(10)、x(3)とx(11)、x(4)と
x(12)、x(5)とx(13)、x(6)とx(14)、x(7)とx(1
5)の組み合わせでデータを読み出し、読み出した2つの
データを結合して第1のメモリ7に順次格納する。な
お、入力バッファ1を、たとえば、2バンク構成とすれ
ば、2つのデータを同じサイクルで読み出すことが可能
となり、処理速度が向上する。
First, in step 1, the data conversion unit 3
And the data is loaded from the input buffer 1 to the first memory 7 via the selector 5. At this time, as shown in FIG. 6, x (0), x (8), x
(1) and x (9), x (2) and x (10), x (3) and x (11), x (4) and x (12), x (5) and x (13), x (6) and x (14), x (7) and x (1
The data is read by the combination of 5), the two read data are combined and sequentially stored in the first memory 7. If the input buffer 1 has, for example, a two-bank configuration, two data can be read in the same cycle, and the processing speed is improved.

【0056】また、上記処理において順次結合されたデ
ータは、バタフライ演算部21への入力データ数iが4
であるので、4アドレス置きに第1のメモリ7に書き込
まれる。
In the data sequentially combined in the above processing, the number i of input data to the butterfly operation unit 21 is 4
Therefore, the data is written in the first memory 7 every four addresses.

【0057】次に、ステップ2において、たとえば、周
波数間引き法による16ポイントFFT処理を行う。図
7に示すように、16ポイントFFT処理は、4段のF
FT演算ステージから構成されており、本発明のFFT
演算装置は、FFT演算ステージ単位でFFT処理を行
い、第1のメモリ7および第2のメモリ9は、FFT演
算ステージ単位で、どちらか一方がバタフライ演算部2
1へデータを出力している時は、他方がスワップ手段2
3の出力を記憶するという動作を行う。また、このと
き、第1のメモリ7および第2のメモリ9は、それぞ
れ、上位アドレスから順に4つのバンクから構成されて
いる。
Next, in step 2, for example, 16-point FFT processing by the frequency thinning method is performed. As shown in FIG. 7, the 16-point FFT processing is performed by four stages of F
The FFT of the present invention is composed of an FT operation stage.
The arithmetic unit performs FFT processing in units of FFT arithmetic stages, and the first memory 7 and the second memory 9 are in units of FFT arithmetic stages, one of which is the butterfly arithmetic unit 2
While outputting data to 1, the other is swap means 2
The operation of storing the output of 3 is performed. At this time, the first memory 7 and the second memory 9 are each composed of four banks in order from the higher address.

【0058】まず、FFT演算ステージ1では、図8に
示すように、最初のサイクルで、第1のメモリ7は、ba
nk0とbank1の先頭アドレスからデータx(0),x(8),x
(4),x(12)を同時に読み出してバタフライ演算部21
(2つのバタフライ演算器21−1)に出力する。
First, in the FFT operation stage 1, as shown in FIG. 8, in the first cycle, the first memory 7 is
Data x (0), x (8), x from the start address of nk0 and bank1
(4) and x (12) are read out at the same time to calculate the butterfly operation unit 21.
It outputs to (two butterfly computing units 21-1).

【0059】そして、次のサイクルで、1サイクル前に
読み出したデータx(0),x(8),x(4),x(12)に対す
るバタフライ演算を実行し、その演算結果g1(0),g1
(8),g1(4),g1(12)を出力する。また、同じサイクル
で、第1のメモリ7からデータx(1),x(9),x(5),
x(13)を同時に読み出してバタフライ演算部21(2つ
のバタフライ演算器21−2)に出力する。
Then, in the next cycle, a butterfly operation is performed on the data x (0), x (8), x (4), x (12) read one cycle before, and the operation result g1 (0) is obtained. , G1
Outputs (8), g1 (4), g1 (12). Further, in the same cycle, the data x (1), x (9), x (5),
x (13) is read at the same time and output to the butterfly computing unit 21 (two butterfly computing units 21-2).

【0060】そして、さらに次のサイクルで、図9に示
すように、バタフライ演算部21(バタフライ演算器2
1−1)の演算結果g1(0),g1(8),g1(4),g1(12)
を、スワップ手段23で、g1(0)が上位ビットとなるよ
うにg1(4)と結合して、第2のメモリ9のbank0の先頭
アドレスに書き込み、さらに、g1(8)が上位ビットとな
るようにg1(12)と結合して、第2のメモリ9のbank2の
先頭アドレスに書き込む。また、同じサイクルで、1サ
イクル前に読み出したデータx(1),x(9),x(5),x
(13)に対するバタフライ演算を実行し、その演算結果g
1(1),g1(9),g1(5),g1(13)を出力するとともに、
第1のメモリ7からデータx(2),x(10),x(6),x(1
4)を同時に読み出してバタフライ演算部21に出力す
る。
Then, in the next cycle, as shown in FIG. 9, the butterfly computing unit 21 (the butterfly computing unit 2
1-1) Operation result g1 (0), g1 (8), g1 (4), g1 (12)
Is combined with g1 (4) by the swap means 23 so that g1 (0) is the upper bit, and is written to the head address of bank0 of the second memory 9, and g1 (8) is the upper bit. It is combined with g1 (12) so that it is written into the head address of bank2 of the second memory 9. In the same cycle, the data x (1), x (9), x (5), x read one cycle before
The butterfly operation for (13) is executed and the operation result g
While outputting 1 (1), g1 (9), g1 (5), g1 (13),
Data x (2), x (10), x (6), x (1) from the first memory 7
4) is read at the same time and output to the butterfly computing unit 21.

【0061】そして、上記一連の動作を、第1のメモリ
7に格納されたすべてのデータに対して実行すること
で、FFT演算ステージ1の演算をすべて終了する。
Then, the series of operations described above is executed for all the data stored in the first memory 7 to complete all the operations of the FFT operation stage 1.

【0062】なお、このとき、FFT演算ステージ1に
おける各セレクタ15,17,19,25,27の向き
は、それぞれ、次のとおりである。セレクタ15は、第
1のアドレス生成部11を選択し、セレクタ17は、第
2のアドレス生成部13を選択し、セレクタ19は、第
1のメモリ7を選択し、セレクタ25は、第2のメモリ
9を出力先として選択し、セレクタ27は、スワップ手
段23を出力先として選択する。
At this time, the orientations of the selectors 15, 17, 19, 25 and 27 in the FFT operation stage 1 are as follows. The selector 15 selects the first address generator 11, the selector 17 selects the second address generator 13, the selector 19 selects the first memory 7, and the selector 25 selects the second memory. The memory 9 is selected as the output destination, and the selector 27 selects the swap means 23 as the output destination.

【0063】次に、FFT演算ステージ2では、FFT
演算ステージ1の場合とは逆に、バタフライ演算部21
に入力するデータを第2のメモリ9から読み出し、バタ
フライ演算部21の演算結果を第1のメモリ7に格納す
る。これ以外の点、たとえば、第2のメモリ9に対する
読み出しアドレスの制御や、第1のメモリ7に対する書
き込みアドレスの制御などは、すべて、FFT演算ステ
ージ1の場合と同様の動作であるので、その説明を省略
する。
Next, in the FFT operation stage 2, the FFT
Contrary to the case of the operation stage 1, the butterfly operation unit 21
The data input to the first memory 7 is read from the second memory 9, and the calculation result of the butterfly calculation unit 21 is stored in the first memory 7. Other than this, for example, the control of the read address for the second memory 9 and the control of the write address for the first memory 7 are all the same as in the case of the FFT operation stage 1. Is omitted.

【0064】なお、このときの各セレクタ15,17,
19,25,27の向きは、それぞれ、次のとおりであ
る。セレクタ15は、第2のアドレス生成部13を選択
し、セレクタ17は、第1のアドレス生成部11を選択
し、セレクタ19は、第2のメモリ9を選択し、セレク
タ25は、第1のメモリ7を出力先として選択し、セレ
クタ27は、スワップ手段23を出力先として選択す
る。
At this time, each selector 15, 17,
The directions of 19, 25, and 27 are as follows, respectively. The selector 15 selects the second address generation unit 13, the selector 17 selects the first address generation unit 11, the selector 19 selects the second memory 9, and the selector 25 selects the first address. The memory 7 is selected as the output destination, and the selector 27 selects the swap means 23 as the output destination.

【0065】次に、FFT演算ステージ3では、FFT
演算ステージ1の場合と同じ動作を行うので、その説明
を省略する。
Next, in the FFT calculation stage 3, the FFT
Since the same operation as in the case of the arithmetic stage 1 is performed, its explanation is omitted.

【0066】最後に、最終段のFFT演算ステージ4で
は、FFT演算ステージ2の場合の動作とは異なり、最
終段に限り、第2のメモリ9からの読み出し順序を第2
のアドレス生成部13のアドレス制御に従うように、セ
レクタ17の選択も最終段のFFT処理に限って通常の
動作とは異なる。このように、第2のアドレス生成部1
3による読み出しアドレス制御に従って第2のメモリ9
から出力されたデータは、バタフライ演算部21に入力
される。そして、バタフライ演算部21から順次出力さ
れるデータは、最初入力バッファ1に格納されたデータ
に対する最終のFFT演算結果X(0),X(8),X(4),
X(12),X(2),X(10),X(6),X(14),X(1),X
(9),X(5),X(13),X(3),X(11),X(7),X(15)と
なる。このとき、セレクタ27は、外部への出力を選択
する。
Finally, in the final stage FFT operation stage 4, unlike the operation in the case of the FFT operation stage 2, only in the final stage, the reading order from the second memory 9 is set to the second order.
The selection of the selector 17 is different from the normal operation only in the final stage FFT processing so as to follow the address control of the address generation unit 13. In this way, the second address generator 1
The second memory 9 according to the read address control by
The data output from is input to the butterfly computing unit 21. The data sequentially output from the butterfly operation unit 21 is the final FFT operation result X (0), X (8), X (4), for the data first stored in the input buffer 1.
X (12), X (2), X (10), X (6), X (14), X (1), X
(9), X (5), X (13), X (3), X (11), X (7), X (15). At this time, the selector 27 selects the output to the outside.

【0067】このように、本実施の形態によれば、第1
のメモリ7と第2のメモリ9に対するメモリアクセスに
関して、第1のアドレス生成部11と第2のアドレス生
成部13によって、同一バンクに対して同時に複数のア
クセスが行われないようにアドレス制御を行うため、F
FT演算ステージ単位でパイプライン処理を行うことが
でき、FFT演算を高速に行うことができる。
As described above, according to this embodiment, the first
With respect to memory access to the memory 7 and the second memory 9, the first address generation unit 11 and the second address generation unit 13 perform address control so that a plurality of accesses to the same bank are not performed at the same time. Therefore, F
Pipeline processing can be performed in units of FT operation stages, and FFT operations can be performed at high speed.

【0068】なお、本実施の形態に係るFFT演算装置
は、ディジタル移動体通信システム等における受信装置
(たとえば、SUD(Single User Detection)受信装
置など)ならびに当該受信装置を有する無線通信端末装
置(たとえば、TDD(TimeDivision Duplex)移動局
装置など)および基地局装置の受信部に搭載することが
できる。
The FFT operation device according to the present embodiment is a receiving device (for example, a SUD (Single User Detection) receiving device) in a digital mobile communication system or the like, and a wireless communication terminal device (for example, a receiving device) having the receiving device. , TDD (Time Division Duplex) mobile station apparatus) and a base station apparatus.

【0069】[0069]

【発明の効果】以上説明したように、本発明によれば、
同一バンクに対するアクセス競合を回避して各FFT演
算ステージ単位でパイプライン処理を行うことができ、
FFT演算を高速に行うことができる。
As described above, according to the present invention,
Pipeline processing can be performed in units of each FFT operation stage while avoiding access conflict for the same bank.
FFT calculation can be performed at high speed.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施の形態に係るFFT演算装置の
構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an FFT operation device according to an embodiment of the present invention.

【図2】図1の各メモリに格納されるデータの配置を示
す図
FIG. 2 is a diagram showing an arrangement of data stored in each memory of FIG.

【図3】図1の各メモリのバンク構成を示す図FIG. 3 is a diagram showing a bank configuration of each memory in FIG.

【図4】2入力のバタフライ演算器の構成を示す図FIG. 4 is a diagram showing a configuration of a two-input butterfly computing unit.

【図5】スワップ方法の説明図FIG. 5 is an explanatory diagram of a swap method.

【図6】入力バッファから第1のメモリへのデータのロ
ード方法の具体例を示す図
FIG. 6 is a diagram showing a specific example of a method of loading data from the input buffer to the first memory.

【図7】本実施の形態における16ポイントFFT演算
の処理手順の具体例を示す図
FIG. 7 is a diagram showing a specific example of a processing procedure of 16-point FFT calculation according to the present embodiment.

【図8】FFT演算ステージごとのFFT演算処理の具
体例を示す図
FIG. 8 is a diagram showing a specific example of FFT calculation processing for each FFT calculation stage.

【図9】スワップ方法の具体例を示す図FIG. 9 is a diagram showing a specific example of a swap method.

【図10】従来の16ポイントFFT演算の処理手順の
一例を示す図
FIG. 10 is a diagram showing an example of a processing procedure of a conventional 16-point FFT calculation.

【図11】従来の16ポイントFFT演算の処理手順の
他の例を示す図
FIG. 11 is a diagram showing another example of the processing procedure of the conventional 16-point FFT calculation.

【符号の説明】[Explanation of symbols]

1 入力バッファ 3 データ変換部 5、15、17、19、25、27 セレクタ 7 第1のメモリ 9 第2のメモリ 11 第1のアドレス生成部 13 第2のアドレス生成部 21 バタフライ演算部 21−1、21−2 バタフライ演算器 23 スワップ手段 1 input buffer 3 data converter 5, 15, 17, 19, 25, 27 Selector 7 First memory 9 Second memory 11 First Address Generator 13 Second address generator 21 Butterfly operation unit 21-1, 21-2 Butterfly computing unit 23 Swap means

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 バタフライ演算部と、複数のバンクから
構成され前記バタフライ演算部で処理されるデータを記
憶する第1記憶部と、前記第1記憶部からデータを読み
出す時に同一バンクに対するアクセスが競合しないよう
に前記第1記憶部に対するデータ読み出し用のアドレス
を生成する第1アドレス生成部と、前記バタフライ演算
部から出力される演算結果を並び替える並び替え部と、
複数のバンクから構成され前記並び替え部から出力され
るデータを記憶する第2記憶部と、前記第2記憶部にデ
ータを書き込む時に同一バンクに対するアクセスが競合
しないように前記第2記憶部に対するデータ書き込み用
のアドレスを生成する第2アドレス生成部と、を有する
ことを特徴とするFFT演算装置。
1. A butterfly operation unit, a first storage unit configured by a plurality of banks for storing data processed by the butterfly operation unit, and access to the same bank for reading data from the first storage unit compete with each other. A first address generation unit that generates an address for reading data from the first storage unit so as not to do so, and a rearrangement unit that rearranges the calculation results output from the butterfly calculation unit.
A second storage unit configured of a plurality of banks for storing data output from the rearrangement unit and data for the second storage unit so that access to the same bank does not conflict when writing data to the second storage unit. An FFT operation device, comprising: a second address generation unit that generates a write address.
【請求項2】 FFT処理されるデータを一時蓄積する
入力バッファと、前記入力バッファに蓄積されたデータ
を前記第1記憶部に設定された所定のデータ配列に変換
するデータ変換部と、をさらに有することを特徴とする
請求項1記載のFFT演算装置。
2. An input buffer for temporarily storing data to be FFT processed, and a data conversion unit for converting the data stored in the input buffer into a predetermined data array set in the first storage unit. The FFT operation device according to claim 1, further comprising:
【請求項3】 前記バタフライ演算部は、2入力のバタ
フライ演算器を1または複数個並列に配置して構成され
ていることを特徴とする請求項1記載のFFT演算装
置。
3. The FFT operation device according to claim 1, wherein the butterfly operation unit is configured by arranging one or a plurality of two-input butterfly operation units in parallel.
【請求項4】 前記第1記憶部および前記第2記憶部
は、いずれも、各アドレスに前記バタフライ演算器に同
時に入力される2つのデータを記憶することを特徴とす
る請求項3記載のFFT演算装置。
4. The FFT according to claim 3, wherein each of the first storage unit and the second storage unit stores two pieces of data which are simultaneously input to the butterfly computing unit at each address. Arithmetic unit.
【請求項5】 前記バタフライ演算部が2入力のバタフ
ライ演算器を1または複数個並列に配置して構成されて
いる場合、前記データ変換部は、前記第1記憶部に対し
て各アドレスに前記バタフライ演算器に同時に入力され
る2つのデータが記憶されるように前記変換処理を行う
ことを特徴とする請求項2記載のFFT演算装置。
5. When the butterfly operation unit is configured by arranging one or a plurality of two-input butterfly operation units in parallel, the data conversion unit sets the address to the first storage unit at each address. 3. The FFT operation device according to claim 2, wherein the conversion processing is performed so that two pieces of data that are simultaneously input to the butterfly operation unit are stored.
【請求項6】 前記第1記憶部および前記第2記憶部
は、いずれも、前記バタフライ演算部に同時に入力され
るデータ数と同数のバンクから構成されていることを特
徴とする請求項1記載のFFT演算装置。
6. The first storage unit and the second storage unit are each composed of the same number of banks as the number of data simultaneously input to the butterfly operation unit. FFT operation device.
【請求項7】 前記第1記憶部および前記第2記憶部
は、2個のメモリで構成され、FFT演算ステージに応
じて前記2個のメモリのうち一方が前記第1記憶部とし
て機能し他方が第2記憶部として機能するように前記2
個のメモリの機能を選択的に切り替える切り替え手段を
さらに有することを特徴とする請求項1記載のFFT演
算装置。
7. The first storage section and the second storage section are composed of two memories, and one of the two memories functions as the first storage section according to an FFT operation stage, and the other of the two memories functions as the first storage section. So that it functions as a second storage unit.
2. The FFT operation device according to claim 1, further comprising switching means for selectively switching the function of each memory.
【請求項8】 請求項1から請求項7のいずれかに記載
のFFT演算装置を有することを特徴とする受信装置。
8. A receiver comprising the FFT operation device according to any one of claims 1 to 7.
【請求項9】 請求項8記載の受信装置を有することを
特徴とする無線通信端末装置。
9. A wireless communication terminal device comprising the receiving device according to claim 8.
【請求項10】 請求項8記載の受信装置を有すること
を特徴とする基地局装置。
10. A base station device comprising the receiving device according to claim 8.
【請求項11】 複数のバンクから構成されバタフライ
演算部で処理されるデータを記憶する第1記憶部からデ
ータを読み出す時に同一バンクに対するアクセスが競合
しないように前記第1記憶部に対するデータ読み出し用
のアドレスを生成する第1アドレス生成ステップと、前
記バタフライ演算部から出力される演算結果を並び替え
る並び替えステップと、複数のバンクから構成され前記
並び替えステップで出力されるデータを記憶する第2記
憶部にデータを書き込む時に同一バンクに対するアクセ
スが競合しないように前記第2記憶部に対するデータ書
き込み用のアドレスを生成する第2アドレス生成ステッ
プと、を有することを特徴とするFFT演算方法。
11. A data read-out device for reading data from the first storage unit so that access to the same bank does not conflict when reading data from the first storage unit which stores data to be processed by a butterfly operation unit and which is composed of a plurality of banks. A first address generation step of generating an address, a rearrangement step of rearranging the operation results output from the butterfly operation unit, and a second memory configured of a plurality of banks and storing the data output in the rearrangement step. A second address generating step of generating an address for writing data to the second storage unit so that access to the same bank does not conflict when writing data to the unit.
JP2001351055A 2001-11-16 2001-11-16 Fft arithmetic unit and fft arithmetic method Withdrawn JP2003150576A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001351055A JP2003150576A (en) 2001-11-16 2001-11-16 Fft arithmetic unit and fft arithmetic method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001351055A JP2003150576A (en) 2001-11-16 2001-11-16 Fft arithmetic unit and fft arithmetic method

Publications (1)

Publication Number Publication Date
JP2003150576A true JP2003150576A (en) 2003-05-23

Family

ID=19163433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001351055A Withdrawn JP2003150576A (en) 2001-11-16 2001-11-16 Fft arithmetic unit and fft arithmetic method

Country Status (1)

Country Link
JP (1) JP2003150576A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221648A (en) * 2005-02-12 2006-08-24 Samsung Electronics Co Ltd Fast fourier transformation processor and fast fourier transformation method capable of reducing memory size
JP2010531504A (en) * 2007-06-28 2010-09-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for conversion calculation
US9002919B2 (en) 2009-09-24 2015-04-07 Nec Corporation Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221648A (en) * 2005-02-12 2006-08-24 Samsung Electronics Co Ltd Fast fourier transformation processor and fast fourier transformation method capable of reducing memory size
JP2010531504A (en) * 2007-06-28 2010-09-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for conversion calculation
US8788558B2 (en) 2007-06-28 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method and device for transform computation
US9002919B2 (en) 2009-09-24 2015-04-07 Nec Corporation Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method

Similar Documents

Publication Publication Date Title
US5113339A (en) Data processor for detecting identical data simultaneously coexisting in a plurality of data sections of data transmission paths
US12056531B2 (en) Method and apparatus for accelerating convolutional neural network
CN110222818B (en) Multi-bank row-column interleaving read-write method for convolutional neural network data storage
CN101330489A (en) Processor for FFT / IFFT as well as processing method thereof
CN114398308A (en) Near memory computing system based on data-driven coarse-grained reconfigurable array
JPH10161868A (en) Synchronous semiconductor memory device having macro instruction function and macro instruction storage and execution method
JP2003150576A (en) Fft arithmetic unit and fft arithmetic method
JP2940457B2 (en) Semiconductor memory
JPWO2011102291A1 (en) Fast Fourier transform circuit
WO2022027172A1 (en) Data processing apparatus, method, and system, and neural network accelerator
JP4071930B2 (en) Synchronous DRAM
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
US11983508B2 (en) Processing-in-memory (PIM) system and operating methods of the PIM system
JP2003015862A (en) Arithmetic unit and receiver
CN117194861A (en) Reconfigurable mixed-base FFT device supporting output pruning
CN118153648A (en) Convolutional neural network hardware accelerator based on Zynq and acceleration method
JPH06208614A (en) Image processor
JPH07160575A (en) Memory system
JP3357693B2 (en) Emulation memory mapping circuit and emulation system
JPH04360425A (en) Semiconductor storage device
CN117909266A (en) Data selection method, device, circuit and equipment
JPH02128286A (en) Standard pattern reading out circuit
CN114186679A (en) Convolutional neural network accelerator based on FPGA and optimization method thereof
CN111045965A (en) Hardware implementation method for multi-channel conflict-free splitting, computer equipment and readable storage medium for operating method
JPH0934876A (en) Fourier transformation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040917

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20061102