Hemraj Sharma 1, Abhilasha 2

Similar documents
An Efficient Design of Vedic Multiplier using New Encoding Scheme

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

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

Design of Double Precision Floating Point Multiplier Using Vedic Multiplication

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

Implementation of FFT Processor using Urdhva Tiryakbhyam Sutra of Vedic Mathematics

REALIZATION OF MULTIPLE- OPERAND ADDER-SUBTRACTOR BASED ON VEDIC MATHEMATICS

Design of High Speed Area Efficient IEEE754 Floating Point Multiplier

VHDL IMPLEMENTATION OF FLOATING POINT MULTIPLIER BASED ON VEDIC MULTIPLICATION TECHNIQUE

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

Survey on Implementation of IEEE754 Floating Point Number Division using Vedic Techniques

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

DESIGN AND ANALYSIS OF COMPETENT ARITHMETIC AND LOGIC UNIT FOR RISC PROCESSOR

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

Area-Time Efficient Square Architecture

Verilog Implementation of High Performance RC6 Algorithm using Ancient Indian Vedic Mathematics

Implementation of Double Precision Floating Point Multiplier on FPGA

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

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

ISSN: (Online) Volume 2, Issue 10, October 2014 International Journal of Advance Research in Computer Science and Management Studies

Designing an Improved 64 Bit Arithmetic and Logical Unit for Digital Signaling Processing Purposes

FPGA Implementation of a High Speed Multiplier Employing Carry Lookahead Adders in Reduction Phase

University, Patiala, Punjab, India 1 2

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

FPGA IMPLEMENTATION OF DFT PROCESSOR USING VEDIC MULTIPLIER. Amrita School of Engineering, Coimbatore, Amrita Vishwa Vidyapeetham, India

Design and Implementation of VLSI 8 Bit Systolic Array Multiplier

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

Design of Vedic Multiplier for Digital Signal Processing Applications R.Naresh Naik 1, P.Siva Nagendra Reddy 2, K. Madan Mohan 3

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS

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

Design and Analysis of 64 bit Multiplier using Carry Look Ahead Logic for Low Latency and Optimized Power Delay Product

SINGLE PRECISION FLOATING POINT DIVISION

ARCHITECTURAL DESIGN OF 8 BIT FLOATING POINT MULTIPLICATION UNIT

DESIGN AND IMPLEMENTATION OF ADDER ARCHITECTURES AND ANALYSIS OF PERFORMANCE METRICS

DESIGN & SIMULATION OF FAST AND EFFICIENT MULTIPLICATION ALGORITHM IN VEDIC MATHEMATICS USING VERILOG

International Journal of Advanced Research in Computer Science and Software Engineering

VLSI Implementation of High Speed and Area Efficient Double-Precision Floating Point Multiplier

Implementation of 64-Bit Pipelined Floating Point ALU Using Verilog

32 bit Arithmetic Logical Unit (ALU) using VHDL

16 BIT IMPLEMENTATION OF ASYNCHRONOUS TWOS COMPLEMENT ARRAY MULTIPLIER USING MODIFIED BAUGH-WOOLEY ALGORITHM AND ARCHITECTURE.

Design and Implementation of an Efficient Single Precision Floating Point Multiplier using Vedic Multiplication

Design and Simulation of Floating Point Adder, Subtractor & 24-Bit Vedic Multiplier

Review on 32 bit single precision Floating point unit (FPU) Based on IEEE 754 Standard using VHDL

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

Review on Floating Point Adder and Converter Units Using VHDL

THE DESIGN OF HIGH PERFORMANCE BARREL INTEGER ADDER S.VenuGopal* 1, J. Mahesh 2

FPGA IMPLEMENTATION OF HIGH SPEED DCT COMPUTATION OF JPEG USING VEDIC MULTIPLIER

DESIGN AND IMPLEMENTATION OF APPLICATION SPECIFIC 32-BITALU USING XILINX FPGA

FPGA Implementation of 4-Point and 8-Point Fast Hadamard Transform

Keywords: throughput, power consumption, area, pipeline, fast adders, vedic multiplier. GJRE-F Classification : FOR Code:

Design and Analysis of Kogge-Stone and Han-Carlson Adders in 130nm CMOS Technology

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

[Sahu* et al., 5(7): July, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

Performance of Constant Addition Using Enhanced Flagged Binary Adder

International Journal of Advanced Research in Computer Science and Software Engineering

An Efficient Approach to an 8-Bit Digital Multiplier Architecture based on Ancient Indian Mathematics

Power Optimized Programmable Truncated Multiplier and Accumulator Using Reversible Adder

FPGA based High Speed Double Precision Floating Point Divider

High Performance and Area Efficient DSP Architecture using Dadda Multiplier

OPTIMIZATION OF AREA COMPLEXITY AND DELAY USING PRE-ENCODED NR4SD MULTIPLIER.

VLSI DESIGN OF FLOATING POINT ARITHMETIC & LOGIC UNIT

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

VLSI Design Of a Novel Pre Encoding Multiplier Using DADDA Multiplier. Guntur(Dt),Pin:522017

High speed DCT design using Vedic mathematics N.J.R. Muniraj 1 and N.Senathipathi 2

Fused Floating Point Arithmetic Unit for Radix 2 FFT Implementation

PROJECT REPORT IMPLEMENTATION OF LOGARITHM COMPUTATION DEVICE AS PART OF VLSI TOOLS COURSE

2 Prof, Dept of ECE, VNR Vignana Jyothi Institute of Engineering & Technology, A.P-India,

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

A Novel Efficient VLSI Architecture for IEEE 754 Floating point multiplier using Modified CSA

International Journal of Advance Engineering and Research Development

COMPARISION OF PARALLEL BCD MULTIPLICATION IN LUT-6 FPGA AND 64-BIT FLOTING POINT ARITHMATIC USING VHDL

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

CHAPTER 1 Numerical Representation

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

International Journal for Research in Applied Science & Engineering Technology (IJRASET) IIR filter design using CSA for DSP applications

An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam Multiplication

Implementation of IEEE754 Floating Point Multiplier

A High-Speed FPGA Implementation of an RSD- Based ECC Processor

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

A Modified Radix2, Radix4 Algorithms and Modified Adder for Parallel Multiplication

OPTIMIZING THE POWER USING FUSED ADD MULTIPLIER

Synthesis and Simulation of 64 Bit Floating Point Unit with Square Root Operation

Implementation and Analysis of Modified Double Precision Interval Arithmetic Array Multiplication

An FPGA Based Floating Point Arithmetic Unit Using Verilog

Low Power Floating-Point Multiplier Based On Vedic Mathematics

IEEE-754 compliant Algorithms for Fast Multiplication of Double Precision Floating Point Numbers

Implementation of Double Precision Floating Point Multiplier in VHDL

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

Vendor Agnostic, High Performance, Double Precision Floating Point Division for FPGAs

Review on 32-Bit IEEE 754 Complex Number Multiplier Based on FFT Architecture using BOOTH Algorithm

Design of 8 bit Pipelined Adder using Xilinx ISE

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

An Efficient Fused Add Multiplier With MWT Multiplier And Spanning Tree Adder

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

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

Design & Analysis of 16 bit RISC Processor Using low Power Pipelining

Available online at ScienceDirect. Procedia Technology 24 (2016 )

International Journal Of Global Innovations -Vol.6, Issue.II Paper Id: SP-V6-I1-P01 ISSN Online:

32-bit Signed and Unsigned Advanced Modified Booth Multiplication using Radix-4 Encoding Algorithm

Transcription:

FPGA Implementation of Pipelined Architecture of Point Arithmetic Core and Analysis of Area and Timing Performances Hemraj Sharma 1, Abhilasha 2 1 JECRC University, M.Tech VLSI Design, Rajasthan, India 2 JECRC University, Rajasthan, India Abstract: The aim of this paper is FPGA implementation of architecture of floating point arithmetic core and analysis of area and timing performances of that arithmetic core. The basic concept behind designing such a core is to optimally utilize the algorithms of floating point arithmetic operations, i.e., addition, subtraction, multiplication and division and to enhance the operational speed of these calculations in order to determine the better code amongst them in order to use it in future to increase the processor efficiency. The simulation has been carried out on Modelsim (Student edition) EDA tool 10.0c and synthesis has been carried out on ISE Design Suit EDA tool 14.4. Keywords: Binary Division, Carry Look Ahead Adder, Exponent Subtraction, Point, FPGA, Single Precision technique, Urdhva tiryakbhyam 1. Introduction Real world is full of different types of mathematical calculations. Today people have shortage of time and they want calculations to be performed at a very fast speed. Some of the common applications of mathematical calculations are in determining the exponential values, logarithmic calculations, etc. where it is essential to eliminate the time consumed or in other words, we can call it as delay in performing high speed calculations. Therefore, some kind of electronic calculation technique is highly essential to be used to perform this calculation at a very fast speed. Mathematical calculations including addition, subtraction, multiplication and division are very important fundamental functions in arithmetic calculative operations. Computational performance of a DSP system is limited by the performance of these mathematical operations. So, in order to improve its performance, a floating point arithmetic core is proposed. In case of floating point arithmetic calculations, a significant improvement can be observed in execution speed using its algorithms because of inherent integer math hardware support in a large number of processors but this speed improvement does come at the cost of reduced range and accuracy of the algorithm variables. So to increase the range of variables and accuracy of operations, floating point arithmetic core is being used for addition, subtraction, multiplication and division. 2. Proposed Design In floating point arithmetic core based design we use single precision (or 4 byte) technique. This technique is commonly known as float in the C language family and real or real*4 in FORTRAN. This binary format occupies 32 bits, i.e., 4 bytes and its significant and has a precision of 24 bits (about 7 decimal digits).[1] Format is as shown below- Figure 1: Single Precision Format Using this format, we create codes of mathematical computations, namely, addition/subtraction, multiplication and division. After implementing the codes, we execute them on FPGA and then analyze their area and timing performances. The proposed floating point design flow is as drawn in figure below: Figure 2: Point Design Flow In the floating point design architecture, codes of 32-bit addition/subtraction, multiplication and division codes have been designed and implemented. Complete coding is implemented using single precision technique.[2] For this purpose, different modes have been considered as mode 00 for add/subtract, mode 01 for multiplication and mode 10 for division. Add/subtract code is being Paper ID: J2013288 24 of 28

designed using conventional add/subtract methods using Carry Look Ahead Adder. Multiplication code is designed using vedic multiplication technique named Urdhva - Table 3: Multiplication Code Timing Min. i/p arrival time before clock (ns) tiryakbhyam, i.e., Vertically and Crosswise Max. o/p required time after clock (ns) technique.[3,4] Division code is implemented using binary division and exponent subtraction techniques. Table 4: Multiplication Code Area For addition/subtraction coding, we use Carry Look Ahead Adder instead of ripple carry adder and any other kind of adder because this adder is a practical design with reduced delay. In case of multiplication, we use Vedic multiplier instead of any other conventional or array multipliers.[5,6] In Vedic multiplier, there are Nikhilam sutra which literally means All from 9 and last from 10 and Urdhva tiryakbhyam sutra which literally means Vertically and Crosswise out of which we proceed with Urdhva - tiryakbhyam sutra [7,8]. 3. Timing and Area Analysis The timing and area analysis of codes are as under: 3.1 Add/Subtract The timing and area analysis, respectively, of add/subtract code are as shown under. Table 1: Add/Subtract Code Timing Min. i/p arrival time before clock (ns) 7.382 Max. o/p required time after clock (ns) 4.368 Max. combinational path delay (ns) 28.726 Table 2: Add/Subtract Code Area Total Number of 4-input LUTs 447 out of 7168 (6%) Number of occupied Slices 234 out of 3584 (6%) Total Gate Count 3179 3.2 Multiplication The timing and area analysis, respectively, of multiplication code are as shown under. Max. combinational path delay (ns) 107.379 Total Number of 4-input LUTs 3412 out of 7176 (47%) Number of occupied Slices 1751 out of 3584 (48%) Total Gate Count 23,597 3.3 Division The timing and area analysis, respectively, of division code are as shown under. Table 5: Division Code Timing Min. Period (ns) Min. i/p arrival time before clock (ns) Max. o/p required time after clock (ns) Max. combinational path delay (ns) 177.221 Table 6: Division Code Area Total Number of 4-input LUTs 1352 out of 7168 (18%) Number of occupied Slices 700 out of 3584 (19%) Total Gate Count 11,991 4. Results The simulation waveforms of add/subtract, multiplication and division codes of floating point arithmetic core are shown in Fig.3, Fig.5 and Fig.7, respectively, along with their respective RTL top level schematics in Fig.4, Fig.6 and Fig.8 below- 4.1 Add/subtract Inputs-> mantissa_a => 000007 exponent_a => 05 opa => 02800007 mantissa_b => 000038 exponent_b => 05 opb => 02800038 Output-> add_out => 0280003F Paper ID: J2013288 25 of 28

Figure 3: Simulation Waveform of Add/Subtract Code Figure 4: RTL Top Level Schematic of Add/Subtract Code 4.2 Multiplication Inputs-> mantissa_a => 00001F exponent_a => 06 opa => 0300001F mantissa_b => 000007 exponent_b => 1E opb => 0F000007 Output-> multiply_out => 120000D9 Figure 5: Simulation Waveform of Multiplication Code Paper ID: J2013288 26 of 28

4.3 Division Inputs-> x => 0000000D y => 00000003 Output-> z => 7F800000 Figure 6: RTL Top Level Schematic of Multiplication Code Figure 7: Simulation Waveform of Division Code Figure 8: RTL Top Level Schematic of Division Code 5. Conclusion From the timing and area analysis tables, we find that the timing and area performances of floating point add/subtract code are better than the timing and area performances of floating point multiplication and division codes. But amongst multiplication and division codes, multiplication code is having an upper hand over division Paper ID: J2013288 27 of 28

code in case of less delay, while division code is better Author Profile than multiplication code in case of less area consumption. Hence, we can conclude that for less delay, less area consumption and high speed computation, floating point add/subtract code using CLA is the best amongst the three while floating point division code using binary division and exponent subtraction techniques is better in area than multiplication code while in case of timing performance, multiplication code is better to use than division code. Acknowledgement I would like to acknowledge my mentor Gaurav Jindal Sir and Kanchan Sengar Ma am who supported me during the period in calculating my results and verifying codes. References [1] Kahan W., On the Cost of -Point Computation Without Extra-Precise Arithmetic, 2012 [2] Serene Jose, Sonali Agarwal, Single Precision Point Divider Design, International Journal Of Computational Engineering Research, 2(3), 955-958, 2012 [3] Ganesh Kumar G. and Charishma V., Design of high Speed Vedic Multiplier using Vedic Mathematic Techniques, International Journal of Scientific and Research Publication, 2(3), 2012 [4] Nicholas A.P., Williams K.R. and Pickles J., Application of Urdhava Sutra, Spiritual Study Group, Roorkee, India, 1984. [5] Hemraj Sharma, Gaurav K. Jindal and Abhilasha Choudhary, Comparison Between Array Multiplier And Vedic Multiplier, International Journal of Computer Science information And Engg.,Technologies, 4(1), 2014 [6] Basavaraj B., Comparison of Vedic Multipliers With Conventional Hierarchical Array of Multipliers, International Journal of Engineering Research & Technology, 2(10), 2013 [7] Sree Nivas A, Kayalvizhi N, Implementation of Power Efficient Vedic Multiplier, International Journal of Computer Applications, 43(16), 2012 [8] Verma Pushpalata, Mehta K. K., Implementation of an Efficient Multiplier based on Vedic Mathematics Using EDA Tool, International Journal of Engineering and Advanced Technology (IJEAT), 1(5), 2012 Hemraj Sharma received the B. Tech. degree in Electronics and Communication Engineering from Rajasthan Technical University, Kota in the year 2012 and pursuing M. Tech. degree in VLSI Design from JECRC University, Jaipur, Rajasthan, India Abhilasha received the B.Tech. and M.Tech. degrees in Electeonics and communication Engineering and VLSI Design respectively from Mody Institute of Technology and science, India in 2010 and 2012, respectively. Currently she associate with JECRC University, Jaipur, Rajasthan, India Paper ID: J2013288 28 of 28