IP Library Granted Patent US 9,740,663
Granted Patent B2
US 9,740,663 · App. 14/283,918 · Granted Aug 22, 2017

Processing device and method for performing a stage of a Fast Fourier Transform

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,740,663
App. No.
14/283,918
Granted
Aug 22, 2017
Kind
B2
Abstract

A data processing device and a method for performing second or next stage of an N point Fast Fourier Transform is suggested. The processing device comprises an input operand memory unit and an input buffer comprising a plurality of addressable memory cells arranged in lines and columns. Furthermore, the device comprises a number of radix-P operation units for producing output operands that are buffered in an output buffer. Input operands are read from the input operand memory unit and buffering into the input buffer. The input operands are stored and fetched from the input buffer according to a reordering scheme that allows efficient parallel processing of the operands by the butterflies and the buffering of subsequent input operands.

Claims (62)

1. A data processing device for performing a stage of an N point Fast Fourier Transform, the stage comprising computing N output operands on the basis of N input operands by applying a set of N/P radix-P butterflies to the N input operands, with N being a positive integer and P being a value equal to 2 or 4, wherein the data processing device comprises:

an input operand memory unit arranged to store a plurality of input operands addressable in blocks of K operands, with K being a positive integer;

an input buffer comprising a plurality of addressable memory cells arranged in lines and columns;

K/P radix-P operation units for calculating the N/P radix-P butterflies, each operation unit being connected to the input buffer;

a logic circuit arranged to control the input operand memory unit and the input buffer according to an addressing scheme so as to perform the following actions:

read P subsequent blocks of K input operands from the input operand memory unit;

buffer the P subsequent blocks into P subsequent lines of the input buffer;

transfer K column oriented input operands from K/P subsequent columns of the input buffer to the radix-P operation units for processing by the radix-P operation units;

repeat transferring of the K column oriented input operands from the K/P subsequent columns of the input buffer to the radix-P operation units for processing until K of the columns of the input buffer are transferred and processed;

read P further subsequent blocks of K input operands from the input operand memory unit;

buffer the P further subsequent blocks into P subsequent columns of the input buffer;

transfer K line oriented input operands from K/P subsequent lines of the input buffer to the radix-P operation units for processing by the radix-P operation units; and

repeat transferring of the K line oriented input operands from the K/P subsequent lines of the input buffer to the radix-P operation units for processing until K of the lines of the input buffer are transferred and processed;

wherein at least two actions are performed in parallel.

2. The device according to claim 1 , wherein the logic circuit is arranged to perform the following two actions in a single clock cycle:

read a P th block of K input operands from the input operand memory unit and buffer the P th block into a P th line of the input buffer and

transfer K input operands from the first K/P columns of the input buffer to the radix-P operation units.

3. The device according to claim 1 wherein the logic circuit is arranged to perform the following two actions in a single clock cycle:

transfer K input operands from K/P columns of the input buffer subsequent to the first K/P columns, to the radix-P operation units, and

read a (P+1) th block of K input operands from the input operand memory unit and buffer the (P+) th block into a first column of the input buffer.

4. The device according to claim 1 , wherein the logic circuit is arranged to perform the following two actions in a single clock cycle:

read a (2×P) th block of K input operands from the input operand memory unit and buffer the (2×P) th block of K input operands into a P th column of the input buffer;

transfer K input operands from the first K/P lines of the input buffer.

5. The device according to claim 1 , wherein the device comprises:

an output operand memory unit arranged to store a plurality of output operands;

an output buffer comprising a plurality of addressable memory cells arranged in lines and columns;

a further logic circuit arranged to control the output operand memory unit and the output buffer so as to:

buffer operands processed by the radix-P operation units, into the output buffer;

write the processed operands from the output buffer into the output operand memory unit.

6. The device according to claim 5 , wherein the further logic circuit is arranged to address the output buffer according to the addressing scheme used by the logic circuit for addressing the input buffer.

7. The device according to claim 1 , wherein the input operand memory unit is a random-access memory unit.

8. The device according to claim 1 , wherein the input buffer comprises a set of K 2 -(K-4) 2 individually addressable buffer cells, each cell being capable of buffering one input operand.

9. The device according to claim 1 , wherein K is a multiple of 4.

10. The device according to claim 1 , wherein K is 8.

11. A method for performing a stage of an N point Fast Fourier Transform, wherein each stage comprises computing N output operands on the basis of N input operands by applying a set of N/P radix-P butterflies to the N input operands, with N being a positive integer and P being a value equal to 2 or 4, wherein a logic circuit is arranged to control an input operand memory unit and an input buffer to perform the method comprising:

reading P subsequent blocks of K input operands from the input operand memory unit, with K being a positive integer;

buffering the P subsequent blocks into P subsequent lines of the input buffer having a plurality of addressable memory cells arranged in lines and columns;

transferring K column oriented input operands from K/P subsequent columns of the input buffer to K/P radix-P operation units for calculating the N/P radix-P butterflies;

processing the K column oriented input operands in radix-P operation units;

repeating the transferring of K column oriented input operands from the K/P subsequent columns of the input buffer and the processing of the K column oriented input operands in the radix-P operation units until K of the columns of the input buffer are transferred and processed;

reading P further subsequent blocks of K input operands from the input operand memory unit;

buffering the P further subsequent blocks into P subsequent columns of the input buffer;

transferring K line oriented input operands from K/P subsequent lines of the input buffer to the radix-P operation units;

processing the K line oriented input operands in the radix-P operation units; and

repeating the transferring of K line oriented input operands from the K/P subsequent lines of the input buffer and processing the K line oriented input operands until K of the lines of the input buffer are addressed and processed;

wherein at least two actions are performed in parallel.

12. The method according to claim 11 , wherein the following two actions are performed in a single clock cycle:

reading a P th block of K input operands from the input operand memory unit and buffering the P th block into a P th line of the input buffer and

transferring K input operands from the first K/P columns of the input buffer to the radix-P operation units.

13. The method according to claim 11 , wherein the following two actions are performed in a single clock cycle:

transferring K input operands from K/P columns of the input buffer subsequent to the first K/P columns, to the radix-P operation units, and

reading a (P+1) th block of K input operands from the input operand memory unit and buffering the (P+1) th block into a first column of the input buffer.

14. The method according to claim 11 , wherein the following two actions are performed in a single clock cycle:

reading a (2×P) th block of K input operands from the input operand memory unit and buffering the (2×P) th block of K input operands into a P th column of the input buffer;

transferring K input operands from the first K/P lines of the input buffer.

15. The method according to claim 11 , wherein the method comprises:

buffering operands processed by the radix-P operation units, into an output buffer having a plurality of addressable memory cells arranged in lines and columns;

writing processed operands from the output buffer into an output operand memory unit.

16. The method according to claim 11 , wherein the input operand memory unit is a random-access memory unit.

17. The method according to claim 11 , wherein the input buffer comprises a set of K 2 -(K-4) 2 individually addressable buffer cells, each cell being capable of buffering one input operand.

18. The method according to an claim 11 , wherein K is a multiple of 4.

19. The method according to claim 11 wherein K is 8.

Assignments (26)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 14/258,829 AND REPLACE ITWITH 14/258,629 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0082. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OFSECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0332 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPLICATION 14/258,829 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0109. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0208 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0082 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0109 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0903 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0293 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0267 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033460/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2014
From: TOMAR, ROHIT; BRETT, MAIK; PRASAD, TEJBAL; SINGH, GURINDER
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 032984/0969 →