VLSI Based Low Power FFT Implementation using Floating Point Operations

Similar documents
Design and Implementation of IEEE-754 Decimal Floating Point Adder, Subtractor and Multiplier

A Pipelined Fused Processing Unit for DSP Applications

IMPLEMENTATION OF DOUBLE PRECISION FLOATING POINT RADIX-2 FFT USING VHDL

ARCHITECTURAL DESIGN OF 8 BIT FLOATING POINT MULTIPLICATION UNIT

A comparative study of Floating Point Multipliers Using Ripple Carry Adder and Carry Look Ahead Adder

Low Power Floating-Point Multiplier Based On Vedic Mathematics

Fused Floating Point Arithmetic Unit for Radix 2 FFT Implementation

Run-Time Reconfigurable multi-precision floating point multiplier design based on pipelining technique using Karatsuba-Urdhva algorithms

International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Implementation of Double Precision Floating Point Multiplier Using Wallace Tree Multiplier

AN IMPROVED FUSED FLOATING-POINT THREE-TERM ADDER. Mohyiddin K, Nithin Jose, Mitha Raj, Muhamed Jasim TK, Bijith PS, Mohamed Waseem P

Implementation of Floating Point Multiplier Using Dadda Algorithm

Fig.1. Floating point number representation of single-precision (32-bit). Floating point number representation in double-precision (64-bit) format:

VHDL IMPLEMENTATION OF FLOATING POINT MULTIPLIER USING VEDIC MATHEMATICS

Vedic Mathematics Based Floating Point Multiplier Implementation for 24 Bit FFT Computation

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm

International Journal of Research in Computer and Communication Technology, Vol 4, Issue 11, November- 2015

OPTIMIZING THE POWER USING FUSED ADD MULTIPLIER

An Efficient Implementation of Floating Point Multiplier

Architecture and Design of Generic IEEE-754 Based Floating Point Adder, Subtractor and Multiplier

Implementation of Efficient Modified Booth Recoder for Fused Sum-Product Operator

An Efficient Design of Sum-Modified Booth Recoder for Fused Add-Multiply Operator

Floating point. Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties. Next time. !

EE260: Logic Design, Spring n Integer multiplication. n Booth s algorithm. n Integer division. n Restoring, non-restoring

ISSN: X Impact factor: (Volume3, Issue2) Analyzing Two-Term Dot Product of Multiplier Using Floating Point and Booth Multiplier

Comparison of Adders for optimized Exponent Addition circuit in IEEE754 Floating point multiplier using VHDL

Floating point. Today. IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Next time.

Chapter 5 : Computer Arithmetic

Implementation of Double Precision Floating Point Multiplier on FPGA

A Novel Design of 32 Bit Unsigned Multiplier Using Modified CSLA

Design of Double Precision Floating Point Multiplier Using Vedic Multiplication

An FPGA based Implementation of Floating-point Multiplier

Power Optimized Programmable Truncated Multiplier and Accumulator Using Reversible Adder

University, Patiala, Punjab, India 1 2

Module 2: Computer Arithmetic

COMPUTER ARCHITECTURE AND ORGANIZATION. Operation Add Magnitudes Subtract Magnitudes (+A) + ( B) + (A B) (B A) + (A B)

Study, Implementation and Survey of Different VLSI Architectures for Multipliers

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

VTU NOTES QUESTION PAPERS NEWS RESULTS FORUMS Arithmetic (a) The four possible cases Carry (b) Truth table x y

Floating Point Puzzles The course that gives CMU its Zip! Floating Point Jan 22, IEEE Floating Point. Fractional Binary Numbers.

Implementation of Double Precision Floating Point Multiplier in VHDL

FFT REPRESENTATION USING FLOATING- POINT BUTTERFLY ARCHITECTURE

ECE232: Hardware Organization and Design

High speed Integrated Circuit Hardware Description Language), RTL (Register transfer level). Abstract:

Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:

Fused Floating Point Three Term Adder Using Brent-Kung Adder

Number Systems and Computer Arithmetic

Implementation of FFT Processor using Urdhva Tiryakbhyam Sutra of Vedic Mathematics

Data Representation Floating Point

Chapter 2 Float Point Arithmetic. Real Numbers in Decimal Notation. Real Numbers in Decimal Notation

Implementation of IEEE754 Floating Point Multiplier

Design of High Speed Area Efficient IEEE754 Floating Point Multiplier

Pipelined High Speed Double Precision Floating Point Multiplier Using Dadda Algorithm Based on FPGA

FPGA Implementation of Low-Area Floating Point Multiplier Using Vedic Mathematics

Floating Point January 24, 2008

Data Representation Floating Point

Design of a Floating-Point Fused Add-Subtract Unit Using Verilog

FPGA IMPLEMENTATION OF FLOATING POINT ADDER AND MULTIPLIER UNDER ROUND TO NEAREST

MIPS Integer ALU Requirements

UNIT - I: COMPUTER ARITHMETIC, REGISTER TRANSFER LANGUAGE & MICROOPERATIONS

FPGA Implementation of Single Precision Floating Point Multiplier Using High Speed Compressors

DESIGN OF A COMPOSITE ARITHMETIC UNIT FOR RATIONAL NUMBERS

Floating Point Numbers

Floating Point Numbers

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666

Design a floating-point fused add-subtract unit using verilog

CPE300: Digital System Architecture and Design

ARITHMETIC operations based on residue number systems

FLOATING POINT NUMBERS

HIGH SPEED SINGLE PRECISION FLOATING POINT UNIT IMPLEMENTATION USING VERILOG

Digital Design with FPGAs. By Neeraj Kulkarni

A Floating-Point Fused Dot-Product Unit

A High Speed Design of 32 Bit Multiplier Using Modified CSLA

Foundations of Computer Systems

Comparison of pipelined IEEE-754 standard floating point multiplier with unpipelined multiplier

CS222: Processor Design

System Programming CISC 360. Floating Point September 16, 2008

An Efficient Carry Select Adder with Less Delay and Reduced Area Application

Systems I. Floating Point. Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties

An FPGA Based Floating Point Arithmetic Unit Using Verilog

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard

The Sign consists of a single bit. If this bit is '1', then the number is negative. If this bit is '0', then the number is positive.

By, Ajinkya Karande Adarsh Yoga

Design and Simulation of Pipelined Double Precision Floating Point Adder/Subtractor and Multiplier Using Verilog

Low Power Floating Point Computation Sharing Multiplier for Signal Processing Applications

Embedded Soc using High Performance Arm Core Processor D.sridhar raja Assistant professor, Dept. of E&I, Bharath university, Chennai

Timing for Ripple Carry Adder

Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3

CHAPTER 7 FPGA IMPLEMENTATION OF HIGH SPEED ARITHMETIC CIRCUIT FOR FACTORIAL CALCULATION

Implementation of CMOS Adder for Area & Energy Efficient Arithmetic Applications

Floating Point Puzzles. Lecture 3B Floating Point. IEEE Floating Point. Fractional Binary Numbers. Topics. IEEE Standard 754

Floating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.

II. MOTIVATION AND IMPLEMENTATION

Divide: Paper & Pencil

Floating Point. The World is Not Just Integers. Programming languages support numbers with fraction

VHDL implementation of 32-bit floating point unit (FPU)

Evaluation of High Speed Hardware Multipliers - Fixed Point and Floating point

An Effective Implementation of Dual Path Fused Floating-Point Add-Subtract Unit for Reconfigurable Architectures

A BSD ADDER REPRESENTATION USING FFT BUTTERFLY ARCHITECHTURE

Chapter 03: Computer Arithmetic. Lesson 09: Arithmetic using floating point numbers

Transcription:

VLSI ased Low Power FFT Implementation using Floating Point Operations Pooja Andhale, Manisha Ingle Abstract This paper presents low power floating point FFT implementation based low power multiplier architectures such as FPZFAD and FPVM. Power is more important and major factor for any system. FFT is widely used in major DSP applications. Fast Fourier Transform processors use butterfly diagrams which requires arithmetic operations like addition, subtraction and multiplication frequently. Floating Point Arithmetic provides a wide dynamic range, freeing special purpose processor designers from the scaling and overflow, underflow concerns that arise with fixed-point arithmetic. Multipliers are responsible for power consumption as they consist of switching activity. In this paper, a low-power architectures like Floating Point based ypass Zero Feed A Directly (FPZFAD) and Floating Point based Vedic Multiplier (FPVM) for FFT is proposed and Power consumption is compared with Shift and Add architecture. Thus when these multipliers are used for FFT, the total power consumption by FFT with FPZFAD and FPVM is reduced up to 50%. The architecture is implemented in Verilog Hardware Description Language and synthesized in Quartus II software. Index Terms Floating Point Arithmetic, Fast Fourier Transform, Digital Signal Processing, FPZFAD, FPVM. I. INTRODUCTION Digital Signal Processing Systems are changing from Fixed Point to Floating Point for arithmetic operations. Fixedpoint arithmetic has been used for the longest time in computer arithmetic calculations due to its ease of implementation compared to floating-point arithmetic and the limited integration capabilities of available chip design technologies in the past, but now advanced technology applications require a data space that ranges from the infinitesimally small to the infinitely large. Such applications require the design of floating-point hardware. A floating point number representation can simultaneously provide a large range of numbers and a high degree of precision. Manuscript received July, 2015. Pooja Andhale, E & TC department Maharashtra Institute of Technology, Pune,India,9405404529. Manisha Ingle, E & TC department, Maharashtra Institute of Technology, Pune,India,7720800505, Floating point arithmetic is efficient for the implementation for a variety of Digital Signal Processing (DSP) applications because Designer can directly focus on the architecture without worrying the numerical issues like underflow, overflow and scaling. Up to 1985 each company had their own standards, in 1985 IEEE-754 was introduced which gives the standard format for floating point representation [3]. According to IEEE-754 there are two basic standards, first is Single Precision Number and second is Double Precision Number. Table 1 shows the specifications for both. Single precision and double precision formats are used based on the application requirements. These standards can be used for arithmetic operations like Multiplication, Subtraction, Addition as well as Division. According to the standard of Floating Point Number Standard Table 2 below shows what a number represents for different values of sign, exponent and Significand. TALE I. Floating point number format Type Sign Exponent Significand Single Precision Double Precision 1[31] 8[30-22] 23[22-00] 1[63] 11[62-52] 52[51-00] TALE 2. Number Representation in Single precision Single Precision Number Exponent Significand Number Represented 0 0 0 0 Nonzero Denormalized Number 1 to 254 Anything Floating Point Number 255 0 Infinity 255 Nonzero Not A Number Fast Fourier Transform Processors frequently require these operations. Few years ago, power reduction and low power Fast Fourier Transform Processors frequently require these operations. Few years ago, power reduction and low power ISSN: 2278 1323 All Rights Reserved 2015 IJARCET 3163

devices were not very demanding as the device was enough to meet the requirement as device density was not an issue at that time, but today most of the devices are packed with many of processors in a single chip for increased performance with reduced size. So we have to concentrate on power constraint also that s why in the architectures given lowers the switching activity which takes place in traditional multipliers, So that total power of processor gets reduced. Section II consists FFT processor algorithm. Floating point based ZFAD multiplier is explained in section III. Section IV is containing floating point based Vedic multiplier. At the end complete comparison is done in results and conclusion. II. FAST FOURIER TRANSFORM ALGORITHM Discrete Fourier Transform (DFT) computation can be done efficiently by using Fast Fourier Transform (FFT). asically there are two types of FFT algorithm, Decimation in Time and Decimation in frequency. The speed, area, power consumption and energy consumption of the butterfly operation have a direct impact on the overall performance of the FFT. All lines carry complex pairs of 32-bit IEEE-754 numbers and all operations are complex. This is the asic module for FFT. We can find for different Radix-N data. For computation of FFT we always require addition, subtraction and multiplication operation [2] [9]. A. Floating point Add-Subtract unit The floating point add-subtract unit can be shown as in Fig. 1. The total procedure for addition is given as follows: 1) First exponent of A and is compared by Exponent compare logic and difference is calculated. 2) The exponent comparison difference is used for the significand swap logic. When exponents are equal there is no need to go for swapping. 3) The smaller number s significand is going to shift by the amount of difference of exponents. 4) These two Significand directly go to the Add-Subtract block. This time it will perform operation like add or subtract. For subtraction LZA block is used. The LZA i.e. Leading Zero Anticipator detects the number of 0 s so that the subtraction result is immediately normalized. 5) After getting result we will require it in normalized form so it will go for normalization block and exponent adjust block will adjust the exponent of result accordingly. 6) To get the result in 32 bit it will go to post normalization block and we will get the final Significand of the result. 7) Sign logic block will take care of the sign of the Result [1].. Floating point multiplication unit According to IEEE standard format multiplication of single precision number, it consists of: 1] Sign calculation unit 2] Exponent calculation unit 3] Significand calculation unit [31] SIGN LOGIC A[22:0] EXP_COMP SIGNI_COMP A[31:0] EXPONENT COMPARE EXPONENT ADJUST [22:0] SUM[31:0] [31:0] A[30:23] [30:23] A[22:0] [22:0] EXP[7:0] [30:23] SIGN INCREMENT NORM_SHIFT[4:0] INEXACT GREATER[23:0] SIGNIFICAND SWAP ADD, SUTRACT AND ROUND POST NORM A+[23:0] ALIGN AND STICY SMALLER[23:0] Result Fig 1. Floating point add-subtract unit Sign Logic will check for the sign of the result of multiplier. y doing XOR of both sign we will get the exact sign for result. The exponents of both numbers first added with bias individually then exponents with bias are added after that bias is subtracted from the result and this will be the exponent of result. Now the two significands are multiplied by shift and add method. Here we have 24 bit significands for both numbers therefore during this process it takes so many switching activities. In this process there is maximum power consumption and because of that FFT also have maximum power consumption so to get low power FFT we have to replace this multiplier with low power multiplier so this paper has given new multiplier concept for FFT calculation [7]. [22:0] III. FLOATING POINT ASED ZFAD MULTIPLIER (FPZFAD) The traditional floating point multiplication can be done in three sections. i) Multiplication of mantissa ii) xoring of sign bit and iii) addition of exponents. The power in this structure can be reduced by using power efficient mantissa multiplication majorly. Power consumption in the exponent addition can also be significantly reduced by using adders such carry save adder (CSA). Here, we are using low power by pass zero- feed A directly (Z-FAD).The major advantage of Z-FAD structure is we can bypass the direct passage of one of the multiplicand and partial product shift, whenever they are not required. It minimizes switching activity of the circuit drastically, thereby reducing the power. In Shift and Add multiplier, there are many factors like signal activity on counter, shifting of multiplicand and partial products etc. To eliminate all these power dominating factors we have designed Z-FAD multiplier for significand or mantissa multiplication. ISSN: 2278 1323 All Rights Reserved 2015 IJARCET 3164

A 0 k A (k it) k ypass CSA ( it) it Tri State uffer Array + +1 SUM[0] MUX A RESET SHIFTED -1 Clock Gating to 1 Feeder Mux LS D F/F it it Ring Counter it it Tri State uffer Array Upper Result PP it Latch COUNTER READY Fig. 2. Traditional multiplier architecture A.Shift of the multiplicand (-1 TO 1) In the traditional multiplier architecture Figure 2, the one multiplicand, say. depending upon the LS bit of,(0) it has to decide whether another multiplicand, say A, need to be added to partial product or not. Hence has to shift at each cycle, so as to generate partial product. This increases the signal activity and hence power [4]..Power reduction in Adder circuit In traditional multiplier, depending upon the bit (0), each time, at each clock cycle, A has to be added to partial products. Hence when (0) is 0, partial product would be same as that of previous. ut still, some power will be waste due to unwanted transition while adding it to partial product. This can be avoided in FPZFAD (Figure 3)structure by the provision of two registers i) feeder register and ii) bypass register. In this structure, at each current clock cycle, the LS bit of register (0) for next clock cycle is checked. If it is zero, then there is no need of addition operation of A and partial products, at this time bypass register is used to store the partial product generated at that particular clock cycle. If for the next clock cycle, addition operation is required, then feeder register is used to stored current partial product generated. This partial product is then fed in the next clock cycle. To select bypass or feeder register, we have used a NAND and NOR combinational logic. In this way, this entire circuitry will determine, whether partial products will generate from feeder register or bypass register [6]. Hence whenever the LS of is zero, no more transitions are present in the adder circuit. Previous partial products are preserved in the bypass register and feeder register maintain its same value. Another input is A, which remains same during multiplication operation. This detaches multiplexer and A is directly provided to adder, yielding reduction in the power. Lower Result Figure 3. Low power multiplier architecture (FPZFAD) C.Partial product generation In the design of traditional multiplication (shown in Fig. 2), partial product is moved or shifted in each clock cycle, giving rise to the transitions and responsible for the power consumption. Multiplication is finished when most significant bits are processed. In conventional structure, the partial products are shifted until all bit multiplication is performed [6]. We can cease the power consumption due to this, by not shifting the least significant bits of generated partial product. As shown in the figure 3, numbers of latches are used to save lower half of the partial products in the ring counter. The ring counter is provided with sample and hold circuit, which ensures that nth bit of counter, is one by nth clock cycle. In this way generated partial product bits are stored properly into the latch. In the first clock cycle, when pp (0) bit is determined, it is stored into the rightmost latch [8]. y this way, there is no need to shift the partial product. Only higher part of the partial product is shifted while lower part remains same. D. Low power ring counter and clock gating We have made use of ring counter which shifts the 1 from right to left, at each clock cycle. Hence only 1 is shifted at a time, hence just two flip flops are triggered. So this ring counter is called as low power ring counter. The counter is subdivided into number of groups or blocks and which are clock gated so as to minimize transition and power. IV. FLOATING POINT ASED VEDIC MULTIPLIER (FPVM) The technique used is Urdhva-Tiryakbhyam sutra. It does the multiplication by generating partial product parallel and adding it simultaneously. So the switching activity gets reduced which is helpful for the Power reduction of FFT [5]. The architectures for 3 3, 6 6, 12 12, 24 24 N N bit modules are discussed. In this project we are going for 24 bit Multiplication. To get output for 24 bit first we have designed ISSN: 2278 1323 All Rights Reserved 2015 IJARCET 3165

A. 3 3 Vedic multiplier block a0b2 a1b1 a2b0 a0b1 a1b0 a0b0 b[23:12] a[23:12] b[23:12] a[11:0] b[11:0] a[23:12] b[11:0] a[11:0] Full Adder C2 C1 C0 q3[23:0] q2[23:0] q1[23:0] a2b1 a1b2 C3 S0 temp2[23:0] a2b2 C3 Full Adder S2 S1 temp2[24] S3 temp5[23:0] temp3[11:0] S5 S4 Fig. 4. 3 3 Vedic multiplier block 3 3 multiplier which is used for 6 6 and so on for 24 24 [5]. To explain this method let us consider 2 numbers with 3 bits each and the numbers are A and where A=a2a1a0 and =b2b1b0 as shown in the below line diagram. First the least significant bit (LS) bit of final product (vertical) is obtained by taking the product of two least significant bit (LS) bits of A and is a0b0. Second step is to take the products in a crosswise manner such as the least significant bit (LS) of the first number A (multiplicand) is multiplied with the second bit of the multiplicand in a crosswise manner. The output generated is 1-Carry bit and 1bit used in the result as shown below. Next steps can be shown as given below. S0 = a0b0 ( 1 ) S1 = a0b1 + a1b0 ( 2 ) S2 = a0b2 + a2b0 + a1b1 + c1 ( 3 ) S3 = a1b2 + a2b1 + c2 ( 4 ) S4 = a2b2 + c3 ( 5 ) S5 = c4 ( 6 ). 24 24 Vedic multiplier block We have seen the basic 3 3 multiplier block. Now for designing of the 24 bit multiplier we require 3 3, 6 6, 12 12 multiplier blocks. As shown in the above figure for 6 bit multiplier we have used 3 bit multiplier. For 12 bit multiplier we have used 6 bit multiplier and for 24 bit we have used 12 bit multiplier. Here we have one additional block RCA i.e. Ripple Carry Adder. Ripple carry adder is designed using multiple full adders to add 24-bit numbers. Each full adder inputs a which is the of the previous adder. In the Ripple Carry Adder every carry bit gets rippled to full adder which is next to him. It has very fast design time because of its simple layout. Ripple adder is a combination of 4 full adders in which output carry is used as input carry to the next full adder. RCA uses large number of AND, OR, NOT gates. It has the advantages of high speed and less delay. Thus it is a simple technique for multiplication with lesser number of steps and also in very less computational time [5]. c[47:24] c[23:12] 24 bit Vedic Multiplier Fig 5. 24 24 bit multiplier V. RESULTS AND DISCUSSIONS c[11:0] To get the improved architecture for FFT, we implemented three different Radix-4 FFT with different multipliers. Traditional, FPZFAD and FPVM architecture. The power consumed by FFT with FPZFAD, FPVM and Traditional Shift and Add Multiplier is shown in Fig below. The power consumed is given in milliwatt. As Vedic multiplier has recursive architecture, it contains more area as compared to other structures. Hence, proposed structures are used as per the area and power requirements. Fig 6. Power comparison of various architectures According to the number of registers required for the total design the Area is compared and can be shown as given in the Fig. 7 Fig 7. Area comparison of various architectures ISSN: 2278 1323 All Rights Reserved 2015 IJARCET 3166

VI. CONCLUSION Thus proposed work shows various approaches to reduce the power of traditional FFT up to some extent. The Power consumed by FFT with FPZFAD and FPVM is almost reduced up to 50% as compared to FFT with Shift and Add Architecture. The area required for Normal FFT is greater than the remaining two. VII. REFERENCES [1] Jongwook Sohn, and Earl E. Swartzlander, Improved Architectures for a Fused Floating-Point Add-Subtract Unit IEEE transactions on circuits and systems i: regular papers, vol. 59, no. 10, october 2012 [2] Earl E. Swartzlander and Hani H.M.Saleh FFT Implementation with Fused Floating-Point Operations IEEE Transactions on Computers,vol.61,No. 2,February 2012 [3] IEEE Standard for Floating-Point Arithmetic, ANSI/IEEE Standard 754-2008, New York: IEEE, Inc., Aug. 29, 2008. [4] M. Mottaghi-Dastjerdi, A. Afzali-usha, and M. Pedram Z-FAD: A Low-Power Low-Area Multiplier based on Shift-and-Add Architecture IEEE Trans. on VLSI Systems, 2008 [5] havani Prasad.Y, Ganesh Chokkakula, Srikanth Reddy.P and Samhitha.N.R Design of Low Power and High Speed Modified Carry Select Adder for 16 bit Vedic Multiplier ISN No.978-1-4799-3834- 6/14/$31.00 2014 IEEE [6] Premananda.S., Samarth S. Pai, Shashank, Shashank S. hat Design and Implementation of 8 it Vedic Multiplier IJAREEIE Vol. 2, Issue 12, December 2013 [7] Akash umar Gupta, irendra iswal A High Speed Floating Point Dot Product Unit International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT),2014 [8] P. Sheela M. Ramesh umar Low Dense Packed Fused Floating Point FFT with Optimized Complex Structures International Journal of Applied Research & Studies ISSN 2278 9480 [9] Takahashi, A Radix-16 FFT Algorithm Suitable for Multiply-Add Instruction ased on Goedecker Method, Proc. Int l Conf. Multimedia and Expo, vol. 2, pp. II-845-II-848, July 2003. [10] Manuel de la Guia Solaz, WeiHan, and Richard Conway A Flexible Low Power DSP With a Programmable Truncated Multiplier IEEE transactions on circuits and systems i: regular papers, vol. 59, no. 11, november 2012 ME (Digital Systems) Maharashtra Institute of Technology. Pune, Maharashtra,India ISSN: 2278 1323 All Rights Reserved 2015 IJARCET 3167