A scalable, fixed-shuffling, parallel FFT butterfly processing architecture for SDR environment

Similar documents
RECENTLY, researches on gigabit wireless personal area

THE orthogonal frequency-division multiplex (OFDM)

Low Power and Memory Efficient FFT Architecture Using Modified CORDIC Algorithm

Linköping University Post Print. Analysis of Twiddle Factor Memory Complexity of Radix-2^i Pipelined FFTs

FAST FOURIER TRANSFORM (FFT) and inverse fast

The Serial Commutator FFT

MULTIPLIERLESS HIGH PERFORMANCE FFT COMPUTATION

DESIGN OF PARALLEL PIPELINED FEED FORWARD ARCHITECTURE FOR ZERO FREQUENCY & MINIMUM COMPUTATION (ZMC) ALGORITHM OF FFT

AN FFT PROCESSOR BASED ON 16-POINT MODULE

A Normal I/O Order Radix-2 FFT Architecture to Process Twin Data Streams for MIMO

DESIGN METHODOLOGY. 5.1 General

Low Power Complex Multiplier based FFT Processor

Parallel-computing approach for FFT implementation on digital signal processor (DSP)

Twiddle Factor Transformation for Pipelined FFT Processing

Research Article Design of A Novel 8-point Modified R2MDC with Pipelined Technique for High Speed OFDM Applications

Implementation of FFT Processor using Urdhva Tiryakbhyam Sutra of Vedic Mathematics

IMPLEMENTATION OF OPTIMIZED 128-POINT PIPELINE FFT PROCESSOR USING MIXED RADIX 4-2 FOR OFDM APPLICATIONS

ISSN Vol.02, Issue.11, December-2014, Pages:

Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding

Keywords: Fast Fourier Transforms (FFT), Multipath Delay Commutator (MDC), Pipelined Architecture, Radix-2 k, VLSI.

Low-Power Split-Radix FFT Processors Using Radix-2 Butterfly Units

LOW-POWER SPLIT-RADIX FFT PROCESSORS

DESIGN & SIMULATION PARALLEL PIPELINED RADIX -2^2 FFT ARCHITECTURE FOR REAL VALUED SIGNALS

FPGA Implementation of 16-Point Radix-4 Complex FFT Core Using NEDA

A MULTIBANK MEMORY-BASED VLSI ARCHITECTURE OF DIGITAL VIDEO BROADCASTING SYMBOL DEINTERLEAVER

Analysis of Radix- SDF Pipeline FFT Architecture in VLSI Using Chip Scope

Design and Implementation of Lifting Based Two Dimensional Discrete Wavelet Transform

High Throughput Energy Efficient Parallel FFT Architecture on FPGAs

MPSOC 2011 BEAUNE, FRANCE

Genetic Algorithm Optimization for Coefficient of FFT Processor

A Fine-Grained Pipelined Implementation of LU Decomposition on SIMD Processors

DCT/IDCT Constant Geometry Array Processor for Codec on Display Panel

Efficient Radix-4 and Radix-8 Butterfly Elements

AnySP: Anytime Anywhere Anyway Signal Processing

ANYSP: ANYTIME ANYWHERE ANYWAY SIGNAL PROCESSING

Abstract. Literature Survey. Introduction. A.Radix-2/8 FFT algorithm for length qx2 m DFTs

II. MOTIVATION AND IMPLEMENTATION

Parallel graph traversal for FPGA

Vertex Shader Design I

Fixed Point Streaming Fft Processor For Ofdm

Linköping University Post Print. epuma: a novel embedded parallel DSP platform for predictable computing

Energy Optimizations for FPGA-based 2-D FFT Architecture

Research Article International Journal of Emerging Research in Management &Technology ISSN: (Volume-6, Issue-8) Abstract:

Modified Welch Power Spectral Density Computation with Fast Fourier Transform

An Efficient High Speed VLSI Architecture Based 16-Point Adaptive Split Radix-2 FFT Architecture

A full-pipelined 2-D IDCT/ IDST VLSI architecture with adaptive block-size for HEVC standard

FAST Fourier transform (FFT) is an important signal processing

A 4096-Point Radix-4 Memory-Based FFT Using DSP Slices

An efficient multiplierless approximation of the fast Fourier transform using sum-of-powers-of-two (SOPOT) coefficients

DUE to the high computational complexity and real-time

High performance, power-efficient DSPs based on the TI C64x

FIR Filter Architecture for Fixed and Reconfigurable Applications

Reconfigurable Cell Array for DSP Applications

Fused Floating Point Arithmetic Unit for Radix 2 FFT Implementation

Design Optimization Techniques Evaluation for High Performance Parallel FIR Filters in FPGA

FPGA Implementation of an Efficient Two-dimensional Wavelet Decomposing Algorithm

Low Power DSP Architectures

ENERGY EFFICIENT PARAMETERIZED FFT ARCHITECTURE. Ren Chen, Hoang Le, and Viktor K. Prasanna

Implementation of Low-Memory Reference FFT on Digital Signal Processor

International Journal of Innovative and Emerging Research in Engineering. e-issn: p-issn:

ISSCC 2006 / SESSION 22 / LOW POWER MULTIMEDIA / 22.1

Sum to Modified Booth Recoding Techniques For Efficient Design of the Fused Add-Multiply Operator

Design and Implementation of 3-D DWT for Video Processing Applications

Fine Grain Word Length Optimization for Dynamic Precision Scaling in DSP Systems

Real-time and smooth scalable video streaming system with bitstream extractor intellectual property implementation

Design of local ESD clamp for cross-power-domain interface circuits

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 9 /Issue 3 / OCT 2017

Unique Journal of Engineering and Advanced Sciences Available online: Research Article

Variable Length Floating Point FFT Processor Using Radix-2 2 Butterfly Elements P.Augusta Sophy

Vertical-Horizontal Binary Common Sub- Expression Elimination for Reconfigurable Transposed Form FIR Filter

Efficient Methods for FFT calculations Using Memory Reduction Techniques.

Implementation of Two Level DWT VLSI Architecture

A hardware operating system kernel for multi-processor systems

Design of 2-D DWT VLSI Architecture for Image Processing

Computing the Discrete Fourier Transform on FPGA Based Systolic Arrays

Area Efficient, Low Power Array Multiplier for Signed and Unsigned Number. Chapter 3

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path

A Software LDPC Decoder Implemented on a Many-Core Array of Programmable Processors

Speed Optimised CORDIC Based Fast Algorithm for DCT

VLSI IMPLEMENTATION AND PERFORMANCE ANALYSIS OF EFFICIENT MIXED-RADIX 8-2 FFT ALGORITHM WITH BIT REVERSAL FOR THE OUTPUT SEQUENCES.

Gated-Demultiplexer Tree Buffer for Low Power Using Clock Tree Based Gated Driver

VLSI Implementation of Low Power Area Efficient FIR Digital Filter Structures Shaila Khan 1 Uma Sharma 2

A 167-processor Computational Array for Highly-Efficient DSP and Embedded Application Processing

PERFORMANCE ANALYSIS OF HIGH EFFICIENCY LOW DENSITY PARITY-CHECK CODE DECODER FOR LOW POWER APPLICATIONS

TOPICS PIPELINE IMPLEMENTATIONS OF THE FAST FOURIER TRANSFORM (FFT) DISCRETE FOURIER TRANSFORM (DFT) INVERSE DFT (IDFT) Consulted work:

Fast Fourier Transform Architectures: A Survey and State of the Art

KiloCore: A 32 nm 1000-Processor Array

Image Compression System on an FPGA

VLSI Design and Implementation of High Speed and High Throughput DADDA Multiplier

Content Addressable Memory with Efficient Power Consumption and Throughput

Transport Triggered Architecture processor for Mixed-Radix FFT

DYNAMIC CIRCUIT TECHNIQUE FOR LOW- POWER MICROPROCESSORS Kuruva Hanumantha Rao 1 (M.tech)

Massively Parallel Computing on Silicon: SIMD Implementations. V.M.. Brea Univ. of Santiago de Compostela Spain

MCM Based FIR Filter Architecture for High Performance

Reconfigurable FFT Processor A Broader Perspective Survey

Implementation of Asynchronous Topology using SAPTL

A VLSI Architecture for H.264/AVC Variable Block Size Motion Estimation

ENERGY EFFICIENT PARAMETERIZED FFT ARCHITECTURE. Ren Chen, Hoang Le, and Viktor K. Prasanna

Novel design of multiplier-less FFT processors

Architectures for Dynamic Data Scaling in 2/4/8K Pipeline FFT Cores

Transcription:

LETTER IEICE Electronics Express, Vol.11, No.2, 1 9 A scalable, fixed-shuffling, parallel FFT butterfly processing architecture for SDR environment Ting Chen a), Hengzhu Liu, and Botao Zhang College of Computer, National University of Defense Technology, Changsha, China a) tingchen@undt.edu.cn Abstract: This paper presents a programmable and high-efficient application specific instruction-set processor (ASIP) for fast Fourier transformation (FFT) processing based on software defined radio (SDR) methodology. It adopts single instruction multiple data (SIMD) architecture to exploit the parallelism of butterfly operations in FFT algorithm. The proposed ASIP features eight parallel radix-2 butterfly computations with fixed vector data shuffling pattern. In addition, a flexible vector address generation unit is proposed to support innerand inter-group addressing mode. Experiment results show that the proposed FFT ASIP is much more flexible than previous works and outperforms state-of-the-art FFT ASIP architectures in term of energyefficiency. Keywords: FFT, parallel butterfly processing, SDR Classification: Integrated circuits References [1] S.-N. Tang, C.-H. Liao and T.-Y. Chang: IEEE J. Solid-State Circuits 47 [6] (2012) 1419. [2] X. Guan, Y. Fei and H. Lin: IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 20 [3] (2012) 551. [3] B. Zhang, H. Liu, H. Zhao, F. Mo and T. Chen: Design, Automation & Test in Europe Conference & Exhibition (2010) 1414. [4] M. Woh, S. Seo, S. Mahlke, T. Mudge, C. Chakrabarti and K. Flautner: ISCA 09 (2009) 128. [5] B. M. Baas: IEEE J. Solid-State Circuits 34 [3] (1999) 380. [6] Y. Bo, J. Han, Y. Zou and X. Zeng: Proc. 2012 Asia-Pacific APSIPA ASC (2012) 1. [7] Y. Chen, Y.-W. Lin, Y.-C. Taso and C.-Y. Lee: IEEE J. Solid-State Circuits 43 [5] (2008) 1260. [8] S. W. Reitwiesner: Advances in Computers (Academic Press, 1966) 231. 1 Introduction FFT processing is one of the most critical components in the orthogonal 1

frequency-division multiplexing (OFDM)-based systems. OFDM is used in a number of systems from WLAN, WiMAX to broadcast technologies including DVB and DAB. It directly affects the system throughput and accuracy of the channel estimation. Nowadays, multiple wireless standards are emerging and requiring different FFT size with various throughput. For example, in WiMax and LTE standards, the size of FFT processing can be configured from 128 to 2048 points according to the channel bandwidth scaling from 1.25 to 20 MHz under different operation environment. Further more, multi-band UWB standard proposed for short-range high-bandwidth communications requires the data rates ranging from 200 to 480 Mb/s. All of these systems need real-time implementation of FFT processing with different sizes. Hence, efficient implemention of the FFT with high throughput and appropriate flexibility is very important for multi-standard communication environment. In the last decades, various efficient FFT architectures have been investigated. Generally, they can be divided into two categories: pipeline architecture and memory-based architecture. Pipeline architectures [1] have the advantage of high throughput, but demand high area cost especially for longsize FFT algorithms. Moreover, dynamic overflow protecting is difficult to be applied on the pipeline architecture, so it needs to extend the width of processing data to prevent overflow. Memory-based architectures [2] usually consist of a butterfly processing unit, a multi-bank memory and control unit. Though they have low area cost, their throughput are constrained by the size of processing unit and memory bandwidth. Recently, platforms for SDR [3, 4] are proposed for wireless baseband signal processing. They feature multiprocessor systems with SIMD vector processing engines to exploit the parallelism of FFT processing and other algorithms. In case of AnySP architecture, it consists of a simple scale datapath and a SIMD datapath, in which a SRAM-based network is adopted to support different vector data shuffling modes among SIMD lanes when performing parallel butterfly processing. It can be programmed to support multiple standards and the SIMD architecture provides a highly energy-efficient way to exploit inherent parallelism in certain tasks. FFT algorithm has natural parallelism in butterfly processing. This paper adopts the similar idea as AnySP to exploit the parallelism of butterfly in FFT computation. However, the data flow is totally different. We construct a parallel butterfly processing unit with fixed data shuffling and computation pattern, which is easy for hardware implementation, reusability and control. Furthermore, a flexible and efficient vector address generation mechanism is proposed for both vector data and coefficient memory accessing. The proposed ASIP can be easily extended to support various-size FFT algorithms. 2 Parallel FFT algorithm Implementing an efficient FFT processing requires a good exploitation of the computational complexity reduction and parallelism. The N-point Discrete Fourier Transform (DFT) of complex input x(n) can be defined as 2

Fig. 1. SFG of 128-point FFT algorithms with fixed data shuffle between stages X(k) = N 1 n=0 x(n)w nk N,k =0, 1,...,N 1; W nk N = e j2πnk/n (1) Cooley-Turkey radix factorization is used to reduce the hardware cost. As shown in the equation (2), a 128-point DFT can be decomposed into one epoch [5] with eight radix-16 butterfly groups and one final epoch with sixteen radix-8 butterfly groups. X(k 1 +16k 2 )= 7 { n 1 =0 15 n 2 =0 x(n 1 +8n 2 )W k 1n 2 16 W k 1n 1 128 }W k 2n 1 8 (2) where k 1 =0, 1, 2,...,15 and k 2 =0, 1, 2,...,7. Radix-16 and radix-8 can be replaced by radix-2 4 and radix-2 3 respectively to further reduce the number of complex multiplications [1]. Based on our further investigation of FFT signal flow graph (SFG), we reschedule the FFT signal flow structure, as shown in Fig. 1. The SFG within the butterfly group contains a fixed data shuffling 3

and butterfly computation mode, which is suitable for parallel processing. In order to reduce power and area cost, the multiplications between butterfly stages can be implemented by constant multipliers, instead of the full complex multipliers. Radices beyond 2 4 are impractical because the increasing adders required by constant multiplier are no longer beneficial compared to full multiplier. 3 Parallel butterfly computation architecture Fig. 2 shows the architecture of proposed FFT ASIP. It consists of a scale processing and control unit (SPCU), a parallel butterfly processing unit (PBPU) and a vector load/store unit (VLSU). The SPCU is a C-compiler supported RISC processor executing program control and system parameter configuration instructions. In this section, we mainly introduce the PBPU and VLSU of the proposed processor. 3.1 Parallel butterfly processing unit The PBPU structure is shown in Fig. 2, which consists of a 16-entry local vector registers (LVR) and eight radix-2 butterfly processing units (BPU0 7). In this design, Dual LVRs feed the data for the BUP0 7, and a complex data point consists of a 16-bit real part and a 16-bit imaginary part, so each LVR is 8 32-bit. Intermediate data within the butterfly group are stored in the LVR, so data communication between vector memory (VM) and LVR only occurs at the beginning and the end of computation of butterfly groups. C0 7 are constant multipliers. In order to support parallel butterfly computation of radix-2 to radix-2 4 groups, different constant parameters are needed for C0 7. Table I shows the parameters of C0 7 and its corresponding custom instructions. Besides butterfly computations within groups, full complex multiplications are required between epoches, thus every BPU also incorporates a complex multiplier. Fig. 3 shows the structure of BPU. The 32-bit full complex multiplier is divided into two pipeline stages for high frequency: one for four 16-bit real number multipliers and the other one for two 32-bit adders. Constant multipliers in PBPU use canonic signed-digit (CSD) representation for area-efficient implementation [8]. Among them, C6 and C7 are Fig. 2. Architecture of FFT ASIP 4

Table I. Constant parameters and corresponding instructions Instructions R2BF0 R2BF1 R2BF2 R2BF3 C0 1 1 1 1 C1 1 -j -j -j C2 1 1 W8 1 W8 1 C3 1 -j W8 3 W8 3 C4 1 1 1 W16 1 C5 1 -j -j W16 3 C6 1 1 W8 1 W16 5 C7 1 -j W8 3 W16 7 Fig. 3. Butterfly processing unit Fig. 4. CSD representation and constant multiplier the most complex constant multipliers since they have three constant real factors, as shown in Fig. 4 (a). Two of the factors 0.7071 and 0.3828 are not used at the same time in the computation, so they can share part of partial products. Fig. 4 (b) shows the constant multiplier of C6 and C7, it mainly consists of four constant real factor multipliers and two adders. Constant real 5

factor multipliers are directly realized by using partial products compression and trivial additions for low delay time. Resource sharing is exploited to reduce the area cost in each BPU, where adders in the constant multiplier are shared with the adders of compressed partial product of the 16-bit multipliers in complex multiplier, besides, four 16-bit adders for radix-2 butterfly processing can be reconfigured as two 32-bit adders for complex multiplier in the second pipeline stage. Resource sharing in BPU lead to maximum 9% area increase compared with a solo complex multiplier. Rather than different data shuffling patterns between SIMD lanes in [3, 4], the fixed computation and data shuffling mode in this work makes the PBPU easy to be implemented and extended. 3.2 Vector address generation unit The VLSU controls the VM reading and writing operations. It generates both data memory and coefficient addresses. VM is a static random access memory (SRAM) decomposed into eight banks for parallel data accessing. In-place scheme which stores the butterfly output at the same memory locations used by the input of same butterfly is adopted to minimize the memory size. The VLSU can load or store eight data points per clock. The strides (the address offset between two date points) of butterfly are different epoch by epoch that may cause bank conflicts in parallel accesses. Conflict-free memory access strategy is adopted to avoid bank conflicts [6]. The row and bank address of 2 n -point FFT can be expressed as follows. row address = b[n 1]b[n 2] b[4]b[3]. bank address = b[n 1]b[n 2]b[n 3] b[2]b[1]b[0]. (3) where means the modulo-8 addition. It is a inner-group linear addressing mode. Besides data, inter-epoch twiddle coefficients are stored in the VM too. Taking 2048-point FFT for example, it is decomposed into two radix-2 4 epoches and one radix-2 3 epoch. Between the first two epochs, there are 128 different inter-epoch coefficient groups [W 0 N,W8 k N,W4 k N,W12 k N,...,W15 k N ], where k is the radix-2 4 butterfly group number in the first epoch and k = 0, 1, 2,...,127. The sixteen twiddle factors in each coefficient group is stored in two aligned rows of VM. Between the second epoch and third epoch, coefficient groups with k = 0, 16, 32, 48,...,112 are used circularly. Obviously, it is a inter-group linear addressing mode with a fixed offset. Fig. 5 shows the hardware implementation of vector address generation logic and corresponding instructions. The address consists of three elements: pt1 indexes the base address, pt2 indexes the vector offset addresses that provide small offset values for each data-point within groups, and imm12 delivers a unified offset between groups for linear group addressing. All the three elements are added together to get the final addresses for vector memory access. The flexible address generation mechanism supports both inner- and inter-group linear addressing mode. 6

Fig. 5. Vector address generation unit Fig. 6. Pseudo-code of FFT algorithm With all the custom hardware extensions and new instructions in place, an N-point FFT computation can be easily implemented on the proposed ASIP. Fig. 6 illustrates the mapping flow of FFT computation which is decomposed of several radix-2 4 epoches. Software pipeline can be applied in the inner loop to greatly improve the usage of functional units and execution pace, about 6 cycles per radix2 4 butterfly group on average. 4 Experiment results A maximum 2048-point FFT ASIP is setup to demonstrate the efficiency of proposed technique, the VM size is 4k words (including coefficient memory). The whole project is synthesized with Design compiler under a 65 nm low-power low-leakage standard cell library, and gate-level dynamic power is evaluated using Synopsys PrimePower, which considers both switching and leakage components. Fig. 7 (a) shows the chip micrograph and features are summarized in Fig. 7 (b). The core size is 0.75 mm 2. With careful pipeline partition and gate-clock enabled, power consumption is about 51 mw when running 2048-point FFT at 470 MHz. In order to validate the efficiency of the proposed scheme, normalized Energy/FFT and normalized area [7] are used to compare the energy and area efficiency of various FFT processors respectively. Table II shows the comparison of the proposed FFT processor with other previous FFT ASIPs, our proposed FFT ASIP outperforms in energy-efficiency compared with other works. Among them, [2] adopts the similar epoch idea to implement parallel butterfly operations, but needs extra data shuffle operations at the beginning and end of butterfly group. It utilizes large register file (RF) to store the inc IEICE 2014 7

Fig. 7. Layout and features of the proposed processor Table II. Performance comparison of Various FFT ASIP Proposed Guan [2] Bo [6] GAEA [3] 2 AnySP [4] 2 Technology 65 nm 130 nm 130 nm 90 nm 65 nm Supported FFT variable 16-1024 16-4096 variable variable Wordlength 16-bit 16-bit 16-bit 16-bit 16-bit Core voltage 0.9V 1.2V 1.2V 1.2V 0.9V Clock rate 470 Mhz 320 Mhz 100 Mhz 350 Mhz 300 Mhz Cycles for About 1024 4526 1280 1950 1k-point FFT 556 Power (mw) 51 60.7 87.2 96.9 258.2 Area (mm 2 ) 0.75 0.85 1 2.23 1.47 2.18 Norm. Energy 3 FFT 111 nj 120.7 nj 157 nj 151.9 nj 478.5 nj Norm. Area 3 0.75-0.56 0.77 2.18 1 Not include the data memory 2 The performance is estimated on one core, and memory size is normalized to 4k-word 3 Norm. Energy FFT = Power T clock N FFT ( Tech. vdd, Norm. Area = area ) ( 65nm 0.9 )2 ( Tech. 65nm )2 termediate data and reduce the number of memory access, but RF is accessed much more frequently than the memory and costs a lot of power itself. Our proposed processor only uses a 16-entry RF with two write and one read ports. Besides, [2] did not make use of the constant multiplier within the butterfly groups. In [6], it adopts radix-4/2 butterfly structure and exploits limited parallelism in FFT computation, so the power-consuming memory accessing is much more frequent. Our processor has higher area cost than [6], that is because it has almost four times radix-2 butterfly computation units of that in [6], and the SPCU occupies about 20% area of the processor. However, our FFT ASIP is much more flexible than [6]. As for processors designed for SDR environment, both GAEA [3] and AnySP [4] adopt multi-processing cores that employ wide VLIW and SIMD architecture to exploit instruction and data parallelism in FFT computation. The processing core of GAEA employs a four-way VLIW and four-lane SIMD architecture with complex-number supported instructions for FFT computac IEICE 2014 8

tion in 4G wireless communication, and the vector register file in each lane has 8 read ports and 4 write ports. The wide VLIW and multiple-port RF enhanced the power and area cost. The single processing core of GAEA has similar normalized area cost with our proposed processor, but our processor delivers a better energy-efficiency than it. In AnySP, the processing core adopts five-way VLIW and 64-wide 16-bit SIMD lanes to exploit the parallelism of different algorithms. The fine-grain 16-bit ALUs in each lane need to run multiple iterations to implement the complex-number operations, like complex multiplication and addition in FFT computation, which increases the number of RF accessing and power consumption. Besides, both GAEA and AnySP use a dedicated shuffling network between SIMD lanes to regulate the vector data. They need to reconfigure the shuffle pattern in every butterfly stage to regulate the vector data in FFT computation, which further increases the power cost and hardware complexity. Power and area consumption of one processing core in AnySP is about 258.2 mw and 2.18 mm 2 respectively under the same condition. The single processing core consumes triple area of our processor, and needs about 556 clock cycles when implementing 1k-point FFT, which is about half the cycle number needed in our FFT processor. However, the proposed architecture is much more energy-efficient than it. The fixed shuffle pattern, complex multiplier, fused constant multiplier and butterfly processing instructions enable our proposed architecture to be much more efficient for FFT computation than GAEA and AnySP. 5 Conclusion This paper presents an energy-efficient FFT processor based on parallel butterfly processing. It implements eight butterflies simultaneously with a fixed data shuffling and butterfly computation pattern. Resource sharing, constant multipliers and simple control structure minimize system area and power consumption. Besides, this paper provides a scalable parallel butterfly processing architecture to support various-point FFT algorithms, which is suitable for future evolving standards in SDR environment. 9