CN103034621B - The address mapping method of base 2 × K parallel FFT framework and system - Google Patents

The address mapping method of base 2 × K parallel FFT framework and system Download PDF

Info

Publication number
CN103034621B
CN103034621B CN201210541084.0A CN201210541084A CN103034621B CN 103034621 B CN103034621 B CN 103034621B CN 201210541084 A CN201210541084 A CN 201210541084A CN 103034621 B CN103034621 B CN 103034621B
Authority
CN
China
Prior art keywords
fft
address
arithmetic operation
operation number
base
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.)
Expired - Fee Related
Application number
CN201210541084.0A
Other languages
Chinese (zh)
Other versions
CN103034621A (en
Inventor
侯宁
张多利
杜高明
宋宇鲲
贾靖华
王晓蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HEFEI GONGDA XIANXING MICROELECTRONIC TECHNOLOGY Co Ltd
Hefei University of Technology
Original Assignee
HEFEI GONGDA XIANXING MICROELECTRONIC TECHNOLOGY Co Ltd
Hefei University of Technology
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 HEFEI GONGDA XIANXING MICROELECTRONIC TECHNOLOGY Co Ltd, Hefei University of Technology filed Critical HEFEI GONGDA XIANXING MICROELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201210541084.0A priority Critical patent/CN103034621B/en
Publication of CN103034621A publication Critical patent/CN103034621A/en
Application granted granted Critical
Publication of CN103034621B publication Critical patent/CN103034621B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

The invention discloses a kind of address mapping method and system of base 2 × K parallel FFT framework, it is characterized in that the base 2FFT computing flow graph adopting permanent structure; Comprise K base 2 dish and calculate unit, K is the integer power of 2; With 2K dual port data memory for shared storage, form two memory set with two groups of 2K single port data storeies respectively; K base 2 dish calculates unit by FFT arithmetic operation number from a memory set parallel read-out, and operation result operand parallel is write another memory set; Twiddle factor leaves in K twiddle factor ROM; FFT arithmetic operation number deposits algorithm, determines to input the address of FFT arithmetic operation number in memory set; Parallel read/write address produces algorithm, determines FFT arithmetic operation number read/write address.Parallel FFT processor framework designed according to this invention, avoids and use multi-level lookup table circuit in operand replacement part, simplifies operand parallel read/write address production part circuit simultaneously.

Description

The address mapping method of base 2 × K parallel FFT framework and system
Technical field
The present invention relates to fft processor, more particularly relate to a kind of address mapping method and system of parallel FFT processor.
Background technology
Discrete Fourier transformation DFT is the important mathematical tool describing discrete signal time domain and frequency domain relation, along with the appearance of quick computing technique FFT, it is widely used in digital signal processing and picture signal process etc., is its main operational of many systems.FFT operating structure is special, in the application scenario that some have higher requirements to FFT arithmetic speed, needs to adopt fft processor.
The target of fft processor is the flowing water execution of butterfly processing element, and this just requires that multiple operands of butterfly processing element can walk abreast and reads in or write out.Parallel FFT processor makes multiple butterfly processing element parallel pipelining process perform, and arithmetic speed is faster, requires that numerous operand parallels that multiple butterfly calculates unit read in or write out simultaneously, therefore there is the storage arrangement of FFT arithmetic operation number and parallel conflict-free access problem.Until 2008, the problems referred to above just obtain system and solve.D.Reisis and N.Vlassopoulos (is published in IEEE Transactions on circuits and systems I at article " Conflict-Free Parallel Memory Accessing Techniques for FFT Architectures ", Vol.55, No.11, p3438-3447) in adopt the fft algorithm of former address computing to propose a kind of parallel FFT processor framework.This framework uses multi-level lookup table circuit to calculate the input and output data sorting of unit to butterfly, forms described FFT arithmetic operation number replacement part, to realize the parallel conflict-free access of FFT arithmetic operation number storer.Although the program solves the storage arrangement of FFT arithmetic operation number and parallel conflict-free access problem, and the data storage capacity needed is minimum, owing to using multi-level lookup table circuit, causes operand replacement part circuit complicated.In addition, program extendability is poor, if desired increases the dish comprised in parallel FFT processor and calculates element number, just need to redesign lut circuits.
Summary of the invention
The present invention is for avoiding the weak point existing for above-mentioned prior art, a kind of address mapping method and system of base 2 × K parallel FFT framework are provided, adopt the base 2FFT computing flow graph of permanent structure, FFT arithmetic operation number is utilized to deposit algorithm and parallel read/write address generation algorithm, avoid using multi-level lookup table circuit in operand replacement part, make operand parallel read/write address production part circuit simpler simultaneously.
The present invention is that technical solution problem adopts following technical scheme:
The feature of the address mapping method of base 2 × K parallel FFT framework of the present invention is:
Adopt the base 2FFT computing flow graph of permanent structure, parallel FFT framework comprises K base 2 dish and calculates unit, and K is the integer power of 2;
With 2K dual port data memory for shared storage, a described 2K dual port data memory and first group of 2K single port data storer form a memory set, and are formed another memory set with a described 2K dual port data memory and second group of 2K single port data storer;
K base 2 dish calculates unit by FFT arithmetic operation number from a memory set parallel read-out, and FFT operation result operand parallel is write another memory set;
Twiddle factor leaves in K twiddle factor ROM;
The address mapping method of described base 2 × K parallel FFT framework carries out as follows:
A, determine the deposit method of described FFT arithmetic operation number in memory set:
If N is the quantity of described FFT arithmetic operation number; K is the label of operand, k=0,1 ..., N-1; It is B (k) that operand k leaves body label in, and inner address is in the memory set of A (k);
When time, operand k leaves in the dual port data memory of memory set, and has:
When operand k leaves in the single port data storer of memory set, and has:
Wherein p ( k ) = 0 , k mod 2 = 1 2 , k mod 2 = 0 , for downward round numbers, mod is remainder number;
B, determine described FFT arithmetic operation number read address;
If m is described base 2 dish calculate element numerals, m=0,1 ..., K-1; Base 2 dish is calculated unit m and is comprised two read port BFI (m, 0) and BFI (m, 1); The FFT arithmetic operation number that read port BFI (m, 0) and BFI (m, 1) reads in is represented respectively with MBFI (m, 0) and MBFI (m, 1); The parallel read operation number of times of one deck FFT computing needs has been represented with cntr,
cntr = 0,1 , · · · , N 2 K - 1 ;
Described FFT arithmetic operation number MBFI (m, 0) is from the dual port data memory of memory set, and reading address is
Described FFT arithmetic operation number MBFI (m, 1) is from the single port data storer of memory set, and reading address is
C, determine the write address of described FFT arithmetic operation number;
Base 2 dish is calculated unit m and is comprised two write port BFO (m, 0) and BFO (m, 1); The FFT arithmetic operation number that write port BFO (m, 0) and BFO (m, 1) writes is represented respectively with MBFO (m, 0) and MBFO (m, 1); The concurrent write number of operations of one deck FFT computing needs has been represented with cntw,
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the dual port data memory of memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 m B ( MBFO ( m , 1 ) ) = 2 m + 1 A ( MBFO ( m , 0 ) ) = A ( MBFO ( m , 1 ) ) = cntw - - - ( 4 ) ;
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the single port data storer of memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 K - 2 - 2 m B ( MBFO ( m , 1 ) ) = 2 K - 1 - 2 m A ( MBFO ( m , 0 ) ) = A ( MBFO ( m , 1 ) ) = cntw - N 4 K - - - ( 5 ) ;
D, determine the deposit method of twiddle factor in described twiddle factor ROM:
The storage content of a described K twiddle factor ROM is identical, all deposits by address increment order the twiddle factor that index is w, and w span is [0, N-1];
E, determine that twiddle factor reads address:
Represent that one deck FFT computing walks abreast with cnt and read the number of times of twiddle factor, n=2 lfor the quantity of described FFT arithmetic operation number; N is FFT computing progression, n=1,2 ..., L; Then butterfly calculation unit m when n-th grade of FFT computing address P (m, n) of reading of twiddle factor is:
P ( m , n ) = 0 , n = 1 rev ( ( m + K × cnt ) mod 2 n - 1 ) , n ≠ 1 - - - ( 6 )
Wherein rev (), represents bit-reversed operation.
The feature of the address mapping system of base 2 × K parallel FFT framework of the present invention is that described System's composition comprises:
System control component, for Systematical control with synchronous;
Base 2 butterfly computation parts, complete base 2 butterfly computation within each cycle, and described base 2 butterfly computation parts are K;
2K dual port data memory, for storing described FFT arithmetic operation number and supporting that concurrent reading and concurrent writing operates;
4K single port data storer, for storing described FFT arithmetic operation number and supporting write or read operation;
Twiddle factor ROM, for storing twiddle factor and only supporting read operation, described twiddle factor ROM is K independently ROM (read-only memory);
Operand parallel read/write address production part, for producing the address of FFT arithmetic operation number in memory set in FFT calculating process;
Operand replacement part, exchanges described FFT arithmetic operation number for dual port data memory and between single port data storer and a described K base 2 butterfly computation parts;
Operand initial address production part, at the described FFT arithmetic operation number inputted outside stored in described memory set process, produces memory pool address;
Twiddle factor address generating component, for generating the address of twiddle factor ROM.
Compared with the prior art, beneficial effect of the present invention is embodied in:
1, the present invention is by adopting the base 2FFT computing flow graph of permanent structure, FFT arithmetic operation number is utilized to deposit algorithm and parallel read/write address generation algorithm, make the operand replacement part circuit of parallel FFT processor simple, avoid the use of multi-level lookup table circuit, simplify FFT arithmetic operation number simultaneously and to walk abreast read/write address production part;
2, the present invention comprises different base 2 dish and calculates the parallel FFT processor of element number, its FFT arithmetic operation number walk abreast read/write address produce and replacement part structure identical, therefore increase base 2 dish and calculate unit and do not need to redesign circuit, extensibility is good.
Accompanying drawing explanation
Fig. 1 is base 2 × K parallel FFT processor structured flowchart in the present invention;
Fig. 2 is permanent structure FFT computing flow graph (N=16) in the present invention;
Fig. 3 is the organizational form of memory set described in the present invention;
Fig. 4 is that in the present invention, in memory set, operand sends into the operand replacement part that unit process calculated by K base 2 dish;
Fig. 5 is the operand replacement part of the operand feeding memory set process of K base 2 dish calculation unit generation in the present invention;
Fig. 6 is that in the present invention, operand parallel reads address generating component;
Fig. 7 is operand parallel write address production part in the present invention.
Embodiment
In the present embodiment, the address mapping method of base 2 × K parallel FFT framework is:
Adopt the base 2FFT computing flow graph of permanent structure, parallel FFT framework comprises K base 2 dish and calculates unit, and K is the integer power of 2;
With 2K dual port data memory for shared storage, a described 2K dual port data memory and first group of 2K single port data storer form a memory set, and are formed another memory set with a described 2K dual port data memory and second group of 2K single port data storer;
K base 2 dish calculates unit by FFT arithmetic operation number from a memory set parallel read-out, and FFT operation result operand parallel is write another memory set;
Twiddle factor leaves in K twiddle factor ROM;
The address mapping method of described base 2 × K parallel FFT framework carries out as follows:
A, determine the deposit method of described FFT arithmetic operation number in memory set:
If N is the quantity of described FFT arithmetic operation number; K is the label of described FFT operand, k=0,1 ..., N-1; It is B (k) that operand k leaves body label in, and inner address is in the described memory set of A (k).
When time, operand k leaves in the dual port data memory of described memory set, and has:
When operand k leaves in the single port data storer of described memory set, and has:
Wherein p ( k ) = 0 , k mod 2 = 1 2 , k mod 2 = 0 , for downward round numbers, mod is remainder number.
B, determine described FFT arithmetic operation number read address;
If m is described base 2 dish calculate element numerals, m=0,1 ..., K-1; Base 2 dish is calculated unit m and is comprised two read port BFI (m, 0) and BFI (m, 1); The FFT arithmetic operation number that read port BFI (m, 0) and BFI (m, 1) reads in is represented respectively with MBFI (m, 0) and MBFI (m, 1); The parallel read operation number of times of one deck FFT computing needs has been represented with cntr,
cntr = 0,1 , · · · , N 2 K - 1 ;
Described FFT arithmetic operation number MBFI (m, 0) is from the dual port data memory of described memory set, and reading address is
Described FFT arithmetic operation number MBFI (m, 1) is from the single port data storer of described memory set, and reading address is
C, determine the write address of described FFT arithmetic operation number;
Base 2 dish is calculated unit m and is comprised two write port BFO (m, 0) and BFO (m, 1); The FFT arithmetic operation number that write port BFO (m, 0) and BFO (m, 1) writes is represented respectively with MBFO (m, 0) and MBFO (m, 1); The concurrent write number of operations of one deck FFT computing needs has been represented with cntw,
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the dual port data memory of described memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 m B ( MBFO ( m , 1 ) ) = 2 m + 1 A ( MBFO ( m , 0 ) ) = A ( MBFO ( m , 1 ) ) = cntw - - - ( 4 ) ;
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the single port data storer of described memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 K - 2 - 2 m B ( MBFO ( m , 1 ) ) = 2 K - 1 - 2 m A ( MBFO ( m , 0 ) ) = A ( MBFO ( m , 1 ) ) = cntw - N 4 K - - - ( 5 ) ;
D, determine the deposit method of twiddle factor in described twiddle factor ROM:
The storage content of a described K twiddle factor ROM is identical, all deposits by address increment order the twiddle factor that index is w, and w span is [0, N-1];
E, determine that twiddle factor reads address:
Represent that one deck FFT computing walks abreast with cnt and read the number of times of twiddle factor, n=2 lfor the quantity of described FFT arithmetic operation number; N is FFT computing progression, n=1,2 ..., L; Then butterfly calculation unit m when n-th grade of FFT computing address P (m, n) of reading of twiddle factor is:
P ( m , n ) = 0 , n = 1 rev ( ( m + K × cnt ) mod 2 n - 1 ) , n ≠ 1 - - - ( 6 )
Wherein rev (), represents bit-reversed operation.
In the present embodiment, the formation of the address mapping system of base 2 × K parallel FFT framework comprises:
System control component, for the control of system and synchronous;
Base 2 butterfly computation parts, complete base 2 butterfly computation within each cycle, and base 2 butterfly computation parts are K;
2K dual port data memory, for storing FFT arithmetic operation number and supporting that concurrent reading and concurrent writing operates;
4K single port data storer, for storing FFT arithmetic operation number and supporting write or read operation;
Twiddle factor ROM, for storing twiddle factor and only supporting read operation, twiddle factor ROM is K independently ROM (read-only memory);
Operand parallel read/write address production part, in FFT calculating process, produces the address of FFT arithmetic operation number in memory set;
Operand replacement part, for dual port data memory and the exchange described FFT arithmetic operation number between single port data storer and a described K base 2 butterfly computation parts.
Operand initial address production part, at the described FFT arithmetic operation number inputted outside stored in described memory set process, produces memory pool address;
Twiddle factor address generating component, for generating the address of twiddle factor ROM;
Fig. 1 shows base 2 × K parallel FFT processor structured flowchart, and chief component is: system control component, for the treatment of the control of device and synchronous; Butterfly computation parts, complete base 2 butterfly computation within each cycle, K altogether; Dual port data memory, for storing FFT arithmetic operation number and supporting that concurrent reading and concurrent writing operates, 2K altogether; Single port data storer, for storing FFT arithmetic operation number and supporting write or read operation, 4K altogether; 4K single port data storer is divided into two parts, and every part comprises 2K single port data storer; Be shared with 2K dual port data memory; 2K single port data storer and 2K dual port data memory form memory set, can form altogether two memory set; Twiddle factor ROM, for storing twiddle factor and only supporting read operation, K altogether; Operand parallel read/write address production part, for generating the described address of FFT arithmetic operation number in described memory set; Operand replacement part, for dual port data memory and the exchange described FFT arithmetic operation number between single port data storer and a described K base 2 butterfly computation parts; Operand initial address production part, at the described FFT arithmetic operation number inputted outside stored in described memory set process, produces memory pool address; Twiddle factor address generating component, for generating the address of twiddle factor ROM; Operand communication interface parts, for pending FFT arithmetic operation number is read in parallel FFT processor, or send the operand that parallel FFT processor computing obtains.
After parallel FFT processor starts, a memory set described in N number of FFT arithmetic operation number feeding of computing is treated in outside by operand communication interface parts, and determines the address of peripheral operation number in memory set by operand initial address production part.After outside FFT to be calculated operand all writes above-mentioned memory set, each parts of system control component cooperation control parallel FFT processor start computing.The address of address generating component (see figure 4) generation is read according to operand parallel, 2K described FFT arithmetic operation number reads from above-mentioned memory set, sends into K base 2 dish calculation unit through the operand replacement part (see figure 6) calculating unit to described base 2 dish by described memory set.Twiddle factor address generating component produces the address of described twiddle factor ROM simultaneously, and K twiddle factor reads from described twiddle factor ROM, is also admitted to K base 2 dish and calculates unit.K base 2 dish is calculated unit and is started computing, and next cycle by 2K operand result calculating after by described base 2 dish calculation unit to the operand replacement part (see figure 7) of described memory set, the another one memory set described in write.The above-mentioned address of the 2K a calculated operand in this memory set, is produced by operand parallel write address production part (see figure 5).Described step repeats above after secondary, N number of FFT operand is all read by initial memory group altogether, and is written with another memory set after base 2 dish calculation unitary operation.So far, processor completes an individual layer computing of FFT.For the FFT computing of N number of operand, need repetition log altogether 2the computing of N above-mentioned FFT individual layer.The control of all operation times completes by system control component.
Illustrate successively below the base 2FFT computing flow graph of permanent structure, the organizational form of described memory set, described FFT operand address composition, operand parallel reads address generating component, operand parallel write address production part and operand replacement part.Remaining part in base 2 × K parallel FFT processor structured flowchart easily designs, and does not explain.
Base 2 × K parallel FFT processor of the present invention adopts permanent structure FFT computing flow graph (for N=16) as shown in Figure 2, and for N=2 lthe permanent structure FFT computing flow graph of individual operand is just like drawing a conclusion: operand k and progression n has nothing to do, namely in FFT flow graph every grade there is identical structure; Any one-level FFT computing comprises individual dish-style computing, two input end operand labels of dish-style computing be collectively expressed as u and two output terminal operand labels are collectively expressed as 2u and 2u+1, wherein if be m dish-style computing at the twiddle factor of n-th grade, then have
P ( m , n ) = 0 , n = 1 rev ( m mod 2 n - 1 ) , n ≠ 1 - - - ( 7 )
Wherein n=1,2 ..., L; M=0,1 ..., 2 l-1; Rev () represents bit-reversed operation, and the binary representation of routine A is A=1011b, then rev (A)=1101b.
The organizational form of described memory set is shown in Fig. 3.Described fft processor has 2 memory set, and each memory set comprises a described 2K dual-ported memory and a described 2K one-port memory.2 memory set share a described 2K dual-ported memory.
The described address of FFT operand k in memory set is made up of three parts: type of memory, body label B (k) and inner address A (k).Described type of memory represents that operand k place storer is dual-ported memory or one-port memory.Body label B (k) represents operand k place storer label, and span is B (k)=0,1 ..., 2K-1.Inner address A (k) represents memory inside access unit address, and span is A (k)=0,1 ..., H, wherein fig. 3 intuitively describes body label B (k) and the implication represented by inner address A (k).
The design that operand parallel reads address generating component is determined by A (MBFI (m, 0)) and A (MBFI (m, 1)) in formula (2) (3) in right 1.b, and to calculate the label of unit irrelevant with described base 2 dish.Because described FFT operand quantity N and described base 2 butterfly calculate the power that unit number K is 2, L=log can be obtained 2n and r=log 2k.Parallel read address generating component structure and see Fig. 4, wherein AddrGen_R represents the address sending into memory set, gets the high L-r-2 position of L-r-1 digit counter Count_0.
The design of operand parallel write address production part is determined by A (MBFO (m, 0)) and A (MBFO (m, 1)) in formula (4) (5) in right 1.c, and to calculate the label of unit irrelevant with described base 2 dish.Because described FFT operand quantity N and described base 2 butterfly calculate the power that unit number K is 2, L=log can be obtained 2n and r=log 2k.Parallel write address production part structure is shown in Fig. 5, and wherein AddrGen_W represents the address sending into memory set, gets the low L-r-2 position of L-r-1 digit counter Count_1.Calculate unit due to a described K base 2 dish to complete and once calculate 1 cycle of needs, therefore counter Count_1 deposits one-period by described counter Count_0 and obtains.
Operand replacement part completes the exchanges data that a described K base 2 dish calculates unit and described memory set, therefore different according to data direction, divide for by memory set to the replacement part of dish calculation unit process with by the replacement part of dish calculation unit to memory set process, two parts altogether.
The design of being calculated the replacement part of unit process by memory set to dish is determined by the B (MBFI (m, 0)) in formula (2) (3) in right 1.b and B (MBFI (m, 1)).And B (MBFI (m, 0)) and B (MBFI (m, 1)) fixedly gets one in two values, and only relevant with the label m that unit calculated by described base 2 dish.Therefore, the described structure being calculated the replacement part of unit process by memory set to dish is shown in Fig. 6, utilize alternative MUX to realize, and the selecting side of these MUX is identical, is the lowest order B of Fig. 4 Counter Count_0 by 2K 0.
Calculate unit by dish to be determined to the design of the replacement part of memory set process by the B (MBFO (m, 0)) in formula (4) (5) in right 1.c and B (MBFO (m, 1)).And B (MBFO (m, 0)) and B (MBFO (m, 1)) fixedly gets one in two values, and only relevant with the label m that unit calculated by described base 2 dish.Therefore, describedly calculate unit by dish and see Fig. 7 to the replacement part of memory set process, utilize alternative MUX to realize by 2K is individual, and the selecting side of these MUX is identical, is the most significant digit B of Fig. 5 Counter Count_1 l-r-2.

Claims (2)

1. an address mapping method for base 2 × K parallel FFT framework, is characterized in that:
Adopt the base 2FFT computing flow graph of permanent structure, parallel FFT framework comprises K base 2 dish and calculates unit, and K is the integer power of 2;
With 2K dual port data memory for shared storage, a described 2K dual port data memory and first group of 2K single port data storer form a memory set, and are formed another memory set with a described 2K dual port data memory and second group of 2K single port data storer;
K base 2 dish calculates unit by FFT arithmetic operation number from a memory set parallel read-out, and FFT operation result operand parallel is write another memory set;
Twiddle factor leaves in K twiddle factor ROM;
The address mapping method of described base 2 × K parallel FFT framework carries out as follows:
A, determine the deposit method of described FFT arithmetic operation number in memory set:
If N is the quantity of described FFT arithmetic operation number; K is the label of operand, k=0,1 ..., N-1; It is B (k) that operand k leaves body label in, and inner address is in the memory set of A (k);
When time, operand k leaves in the dual port data memory of memory set, and has:
When operand k leaves in the single port data storer of memory set, and has:
Wherein p ( k ) = 0 , k mod 2 = 1 2 , k mod 2 = 0 , for downward round numbers, mod is remainder number;
B, determine described FFT arithmetic operation number read address;
If m is described base 2 dish calculate element numerals, m=0,1 ..., K-1; Base 2 dish is calculated unit m and is comprised two read port BFI (m, 0) and BFI (m, 1); The FFT arithmetic operation number that read port BFI (m, 0) and BFI (m, 1) reads in is represented respectively with MBFI (m, 0) and MBFI (m, 1); The parallel read operation number of times of one deck FFT computing needs has been represented with cntr, cntr = 0,1 , . . . , N 2 K - 1 ;
Described FFT arithmetic operation number MBFI (m, 0) is from the dual port data memory of memory set, and reading address is
Described FFT arithmetic operation number MBFI (m, 1) is from the single port data storer of memory set, and reading address is
C, determine the write address of described FFT arithmetic operation number;
Base 2 dish is calculated unit m and is comprised two write port BFO (m, 0) and BFO (m, 1); The FFT arithmetic operation number that write port BFO (m, 0) and BFO (m, 1) writes is represented respectively with MBFO (m, 0) and MBFO (m, 1); The concurrent write number of operations of one deck FFT computing needs has been represented with cntw,
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the dual port data memory of memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 m B ( MBFO ( m , 1 ) ) = 2 m + 1 A ( MBFO ( m , 0 ) ) = A ( MBFO ( B , 1 ) ) = cntw - - - ( 4 ) ;
When described FFT arithmetic operation number MBFO (m, 0) and MBFO (m, 1) all write in the single port data storer of memory set, and write address is:
B ( MBFO ( m , 0 ) ) = 2 K - 2 - 2 m B ( MBFO ( m , 1 ) ) = 2 K - 1 - 2 m A ( MBFO ( m , 0 ) ) = A ( MBFO ( m , 1 ) ) = cntw - N 4 K - - - ( 5 ) ;
D, determine the deposit method of twiddle factor in described twiddle factor ROM:
The storage content of a described K twiddle factor ROM is identical, all deposits by address increment order the twiddle factor that index is w, and w span is [0, N-1];
E, determine that twiddle factor reads address:
Represent that one deck FFT computing walks abreast with cnt and read the number of times of twiddle factor, n=2 lfor the quantity of described FFT arithmetic operation number; N is FFT computing progression, n=1,2 ..., L; Then butterfly calculation unit m when n-th grade of FFT computing address P (m, n) of reading of twiddle factor is:
P ( m , n ) = 0 , n = 1 rev ( ( m + K × cnt ) mod 2 n - 1 ) , n ≠ 1 - - - ( 6 )
Wherein rev (), represents bit-reversed operation.
2., based on an address mapping system for the address mapping method of base 2 × K parallel FFT framework according to claim 1, it is characterized in that described System's composition comprises:
System control component, for Systematical control with synchronous;
Base 2 butterfly computation parts, complete base 2 butterfly computation within each cycle, and described base 2 butterfly computation parts are K;
2K dual port data memory, for storing FFT arithmetic operation number and supporting that concurrent reading and concurrent writing operates;
4K single port data storer, for storing described FFT arithmetic operation number and supporting write or read operation;
Twiddle factor ROM, for storing twiddle factor and only supporting read operation, described twiddle factor ROM is K independently ROM (read-only memory);
Operand parallel read/write address production part, for producing the memory address of FFT arithmetic operation number in FFT calculating process;
Operand replacement part, exchanges described FFT arithmetic operation number for dual port data memory and between single port data storer and a described K base 2 butterfly computation parts;
Operand initial address production part, at the described FFT arithmetic operation number inputted outside stored in described memory set process, produces memory pool address;
Twiddle factor address generating component, for generating the address of twiddle factor ROM.
CN201210541084.0A 2012-12-13 2012-12-13 The address mapping method of base 2 × K parallel FFT framework and system Expired - Fee Related CN103034621B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210541084.0A CN103034621B (en) 2012-12-13 2012-12-13 The address mapping method of base 2 × K parallel FFT framework and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210541084.0A CN103034621B (en) 2012-12-13 2012-12-13 The address mapping method of base 2 × K parallel FFT framework and system

Publications (2)

Publication Number Publication Date
CN103034621A CN103034621A (en) 2013-04-10
CN103034621B true CN103034621B (en) 2015-08-19

Family

ID=48021525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210541084.0A Expired - Fee Related CN103034621B (en) 2012-12-13 2012-12-13 The address mapping method of base 2 × K parallel FFT framework and system

Country Status (1)

Country Link
CN (1) CN103034621B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699517B (en) * 2014-01-17 2016-06-29 合肥工业大学 A kind of 1-D/2-D mixed architecture fft processor
CN106339353B (en) * 2015-07-13 2019-04-09 无锡华润矽科微电子有限公司 A kind of processor for supporting and 3780 point FFT/IFFT at 4375 points
CN106469134B (en) * 2016-08-29 2019-02-15 北京理工大学 A kind of data conflict-free access method for fft processor
CN110008436B (en) * 2019-03-07 2021-03-26 中国科学院计算技术研究所 Fast Fourier transform method, system and storage medium based on data stream architecture
CN117828247B (en) * 2024-03-05 2024-05-03 北京思凌科半导体技术有限公司 Fast Fourier transform processing method, integrated circuit and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504890A (en) * 2002-12-03 2004-06-16 中国科学院计算技术研究所 Address mapping method and system for FFT processor with completely parallel data
CN101290613A (en) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 FFT processor data storage system and method
CN101339546A (en) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 Address mappings method and operand parallel FFT processing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4295777B2 (en) * 2006-09-26 2009-07-15 Okiセミコンダクタ株式会社 Fast Fourier transform circuit and fast Fourier transform method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504890A (en) * 2002-12-03 2004-06-16 中国科学院计算技术研究所 Address mapping method and system for FFT processor with completely parallel data
CN101290613A (en) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 FFT processor data storage system and method
CN101339546A (en) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 Address mappings method and operand parallel FFT processing system

Also Published As

Publication number Publication date
CN103034621A (en) 2013-04-10

Similar Documents

Publication Publication Date Title
CN103034621B (en) The address mapping method of base 2 × K parallel FFT framework and system
CN101290613B (en) FFT processor data storage system and method
CN104268122B (en) Point-changeable floating point FFT (fast Fourier transform) processor
CN102541774B (en) Multi-grain parallel storage system and storage
CN103955447A (en) FFT accelerator based on DSP chip
CN103488459B (en) Modified high-radix CORDIC method and complex multiplication unit based on modified high-radix CORDIC method
CN103970720A (en) Embedded reconfigurable system based on large-scale coarse granularity and processing method of system
CN102945224A (en) High-speed variable point FFT (Fast Fourier Transform) processor based on FPGA (Field-Programmable Gate Array) and processing method of high-speed variable point FFT processor
CN102495721A (en) Single instruction multiple data (SIMD) vector processor supporting fast Fourier transform (FFT) acceleration
CN103955446A (en) DSP-chip-based FFT computing method with variable length
CN104699624B (en) Lothrus apterus towards FFT parallel computations stores access method
CN103699515A (en) FFT (fast Fourier transform) parallel processing device and FFT parallel processing method
CN101894096A (en) FFT computing circuit structure applied to CMMB and DVB-H/T
US20140089369A1 (en) Multi-granularity parallel fft computation device
Xiao et al. Reduced memory architecture for CORDIC-based FFT
CN103544111B (en) A kind of hybrid base FFT method based on real-time process
CN104050148A (en) FFT accelerator
CN103493039B (en) Data processing method, data processing equipment, access device and subscriber equipment
CN103176949A (en) Circuit and method for achieving fast Fourier transform (FFT) / inverse fast Fourier transform (IFFT)
US9268744B2 (en) Parallel bit reversal devices and methods
CN104268124A (en) FFT (Fast Fourier Transform) implementing device and method
CN102411557A (en) Multi-granularity parallel FFT (Fast Fourier Transform) computing device
CN104317554A (en) Device and method of reading and writing register file data for SIMD (Single Instruction Multiple Data) processor
CN102880594B (en) Parallel matrix based on multi-core DSP full pivoting Gauss Jordan inversion technique
CN102411491B (en) Data access method and device for parallel FFT (Fast Fourier Transform) computation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150819

Termination date: 20211213

CF01 Termination of patent right due to non-payment of annual fee