Design and Development of Vedic Mathematics based BCD Adder

Similar documents
Reduced Delay BCD Adder

Chapter 5 Design and Implementation of a Unified BCD/Binary Adder/Subtractor

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

A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor

CS Computer Architecture. 1. Explain Carry Look Ahead adders in detail

Approximate implementation of DCT unit and analyzing its effect on the JPEG encoder unit

Carry-Free Radix-2 Subtractive Division Algorithm and Implementation of the Divider

16-BIT DECIMAL CONVERTER FOR DECIMAL / BINARY MULTI-OPERAND ADDER

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

MODULO 2 n + 1 MAC UNIT

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

Low-Area Low-Power Parallel Prefix Adder Based on Modified Ling Equations

A New Family of High Performance Parallel Decimal Multipliers

I. Introduction. India; 2 Assistant Professor, Department of Electronics & Communication Engineering, SRIT, Jabalpur (M.P.

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

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

1. Introduction. Raj Kishore Kumar 1, Vikram Kumar 2

ARCHITECTURAL DESIGN OF 8 BIT FLOATING POINT MULTIPLICATION UNIT

Design and Implementation of High Performance Parallel Prefix Adders

Numbering Systems. Number Representations Part 1

A Unified Addition Structure for Moduli Set {2 n -1, 2 n,2 n +1} Based on a Novel RNS Representation

Designing and Characterization of koggestone, Sparse Kogge stone, Spanning tree and Brentkung Adders

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

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

Design of Double Precision Floating Point Multiplier Using Vedic Multiplication

the main limitations of the work is that wiring increases with 1. INTRODUCTION

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

Area Delay Power Efficient Carry-Select Adder

HIGH PERFORMANCE QUATERNARY ARITHMETIC LOGIC UNIT ON PROGRAMMABLE LOGIC DEVICE

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

Area Delay Power Efficient Carry-Select Adder

A Review of Various Adders for Fast ALU

A Macro Generator for Arithmetic Cores

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

DESIGN OF A COMPOSITE ARITHMETIC UNIT FOR RATIONAL NUMBERS

A Binary Floating-Point Adder with the Signed-Digit Number Arithmetic

High Speed Han Carlson Adder Using Modified SQRT CSLA

Carry Select Adder with High Speed and Power Efficiency

Lecture 19: Arithmetic Modules 14-1

Implementation of Ripple Carry and Carry Skip Adders with Speed and Area Efficient

S 3 = r 4 r S 2 r S 1 r

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

How a Digital Binary Adder Operates

DESIGN AND IMPLEMENTATION OF ADDER ARCHITECTURES AND ANALYSIS OF PERFORMANCE METRICS

Performance of Constant Addition Using Enhanced Flagged Binary Adder

International Journal of Scientific & Engineering Research, Volume 4, Issue 10, October ISSN

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


Design and Characterization of High Speed Carry Select Adder

A High Performance Unified BCD and Binary Adder/Subtractor

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

Area-Time Efficient Square Architecture

Design of Delay Efficient Carry Save Adder

Srinivasasamanoj.R et al., International Journal of Wireless Communications and Network Technologies, 1(1), August-September 2012, 4-9

DESIGN OF DECIMAL / BINARY MULTI-OPERAND ADDER USING A FAST BINARY TO DECIMAL CONVERTER

Exploration of Low Power Adders for a SIMD Data Path

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

A Novel Floating Point Comparator Using Parallel Tree Structure

Functional Verification of Enhanced RISC Processor

Design of Delay Efficient Distributed Arithmetic Based Split Radix FFT

Implementation of Floating Point Multiplier Using Dadda Algorithm

FPGA Implementation of Efficient Carry-Select Adder Using Verilog HDL

AN EFFICIENT FLOATING-POINT MULTIPLIER DESIGN USING COMBINED BOOTH AND DADDA ALGORITHMS

A Novel Pseudo 4 Phase Dual Rail Asynchronous Protocol with Self Reset Logic & Multiple Reset

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

Area Delay Power Efficient Carry Select Adder

A General Sign Bit Error Correction Scheme for Approximate Adders

DESIGN AND IMPLEMENTATION 0F 64-BIT PARALLEL PREFIX BRENTKUNG ADDER

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

Design and Implementation of Parallel Prefix Adder for Improving the Performance of Carry Lookahead Adder

High Performance and Area Efficient DSP Architecture using Dadda Multiplier

VLSI Implementation of Fast Addition Using Quaternary Signed Digit Number System

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

Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration

ENERGY-EFFICIENT VLSI REALIZATION OF BINARY64 DIVISION WITH REDUNDANT NUMBER SYSTEMS 1 AVANIGADDA. NAGA SANDHYA RANI

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

University, Patiala, Punjab, India 1 2

Low Power Circuits using Modified Gate Diffusion Input (GDI)

Novel BCD Adders and Their Reversible Logic Implementation for IEEE 754r Format

DESIGN AND IMPLEMENTATION OF FAST DECIMAL MULTIPLIER USING SMSD ENCODING TECHNIQUE

Computer Architecture and Organization

Compound Adder Design Using Carry-Lookahead / Carry Select Adders

EE878 Special Topics in VLSI. Computer Arithmetic for Digital Signal Processing

Implementation of 64-Bit Kogge Stone Carry Select Adder with ZFC for Efficient Area

Design and Implementation of CVNS Based Low Power 64-Bit Adder

Design of Two Different 128-bit Adders. Project Report

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Chapter 3 Arithmetic for Computers

Analysis of Different Multiplication Algorithms & FPGA Implementation

High Speed Special Function Unit for Graphics Processing Unit

Improved Combined Binary/Decimal Fixed-Point Multipliers

Principles of Computer Architecture. Chapter 3: Arithmetic

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

Low Complexity Architecture for Max* Operator of Log-MAP Turbo Decoder

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

DESIGN AND PERFORMANCE ANALYSIS OF CARRY SELECT ADDER

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

Design and Optimized Implementation of Six-Operand Single- Precision Floating-Point Addition

Improved Design of High Performance Radix-10 Multiplication Using BCD Codes

*Instruction Matters: Purdue Academic Course Transformation. Introduction to Digital System Design. Module 4 Arithmetic and Computer Logic Circuits

Transcription:

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org Design and Development of Vedic Mathematics based BCD Adder C. Sundaresan School of Information Sciences, Manipal University, Manipal, CVS Chaitanya School of Information Sciences, Manipal University, Manipal, PR Venkateswaran Welding Research Institute, BHEL, Tiruchirappalli, Somashekara Bhat Manipal Institute of Technology, Manipal University, Manipal, J Mohan Kumar School of Information Sciences, Manipal University, Manipal, ABSTRACT In a conventional Binary Coded Decimal (BCD) representation is used in the scientific and computing calculation. Now they are also started to have impact in the processing unit. The only overhead in the converting the value from decimal to binary, processing and converting back to decimal. The direct reproduction of decimal value in computation produces the significant improvement in conversion and processing time. This paper is the extended version of Alp Arslan Bayracci and Ahmet Akkas et al of reduced delay Binary Coded Decimal (BCD) adder. When the design is simulated for the corner cases, the design was not responding as expected and we have proposed the modified design. Keywords BCD adder, decimal adder, higher valence adder, adder. 1. INTRODUCTION Human beings have preferred decimal numbers for all calculations although binary numbers are used as default base in all computers because of the storage and speed efficiency of binary hardware [1]. The efficiency of binary numbers was given in the report by John von Neumann at the Institute for Advanced Study [2]. Subsequently, the designers have preferred binary computers because of the speed and the simplicity of binary arithmetic. But nowadays, demand for the decimal arithmetic hardware in financial and commercial applications increasing. This is due to three reasons, as stated in the paper of Cowlishaw [3] First, most of the commercial databases uses decimal format to store data than data in binary format. Therefore, if the binary hardware is used in processing the decimal data, then first decimal data is converted to binary format and once after it has been processed; later the binary data is converted back to decimal format. However, the hardware takes considerable amount of delay in the process of conversion between decimal and binary formats [1]. Second, representation of fractional decimal numbers in binary format will not be exact and hence, the approximate representations of fractional numbers are used in binary arithmetic operations. Thus for most financial and commercial applications representing the decimal numbers in binary format is not tolerable. Third, nowadays all financial applications use decimal software in order to get the exact results. This decimal software will be running on binary hardware, but the major drawback is that the speed of decimal software is less than the binary implementation in hardware [3]. When decimal software is used in applications like Internet-based warehouse, the software spends more than 50% of its processing time in decimal arithmetic, but for few applications overhead can even reach up to 90%. In all arithmetic unit s adder is used for addition of both binary and decimal formats numbers. Therefore many addition techniques have been invented, even for the decimal addition to make addition faster. This paper introduces the modified reduced delay BCD adder, also gives details about previously proposed reduced delay BCD adder and other five decimal adders. The remainder of this paper is organized as follows: the paper initiates with the Literature review where most of the available the decimal adder is discussed, followed by the Modified Reduced Delay BCD adder design where it discusses about the proposed design and brings out the difference between the proposed design and reduced delay BCD adder, followed by results and discussion and finally the conclusion. 2. LITERATURE REVIEW In this section, let us discuss the different decimal adders available in the literature and in the market. Conventional decimal adder was designed first as in []. It consists of two -bit binary adders for carry detection and correction logic between them. An addition on the inputs is carried out by the first stage -bit adders. The result of the addition is analyzed to check whether output is equal to 9 or greater than 9 means carry generated. If the carry out is asserted, then result is added with value 6 to correct the result else it directly provided as the result. The carry output produced is used as a carry input for the number that follows. This nature of the design dictates the performance of the design ie., the ripple effect of the every stage dictates the result performance for the higher valence adder. This is the main shortcoming of the conventional decimal adder. 16

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org The second adder is one that could support both binary and decimal additions as proposed in Hwang s patent [5]. A binary carry look-ahead adder (CLA) is used to add two input operands. Unlike binary addition, decimal addition will require correction at the output. Therefore, for decimal addition, the final corrected result is obtained from the binary addition result in CLA and the carries generated (C[],C[8],C[12],...). For the correction procedure, digit generate and digit propagate signals are computed for each digit. The digit generate signal dictates if the -bit result is in the range of [10, 15] and the digit propagate signal denotes if the -bit result is 9. These signals are used in CLA network and output is generated which is ORed with the carries from the binary CLA. Correction with addition of value 6 is performed based on the output from the OR gate mentioned above. Finally, carry out from each digit addition is considered to be decided whether an addition 1 is to be added to the output value for correction or not. Third one employs redundant binary coded decimal (RBCD) which is based on [6]. In this adder, addition operation happens basically in three levels. Initially, BCD inputs are converted in RBCD format. Output is calculated using the operands in RBCD format in the second level. Finally the result is converted back to BCD. Conversion of output back to BCD from RBCD is based on carry propagation and hence the delay incurred by this step is directly proportional to the input operand lengths, whereas, the delay for the first two steps is constant and does not have dependence on the length of the operands. Hence, more the number of times the constant-time Adder proposed by Schmookler et al. [7] is the fourth one worked out in this paper. One unique feature of this decimal adder that it determines the decimal carries before any addition operation, similar to the way CLA works. Two signals named K and L are computed for each decimal digit. K and L indicates that the sum output value is greater than or equal to 10, or greater than or equal to 8 respectively. Moreover, these signal solely can be used to determine the carries and the decimal addition result and hence making the module free from addition correction logic. The final decimal adder explored is used in [8] for 6-bit decimal floating-point adder. Approach in this adder is each operands are added a value 6 before the addition operation. It is essentially, a kind of pre-correction. This pre-corrected operands are added with a Kogge-Stone binary adder [9]. Finally, depending on the value of the output, value 6 is subtracted if required. This post correction unit is the one that holds the responsibility of detection of the correction requirement. Pre-correction and post-correction unit works in parallel for all digits 3. MODIFIED REDUCED DELAY BCD ADDER DESIGN The conventional BCD adder [] is very simple, but also very slow due to the carry ripple effect. If the BCD addition is analyzed carefully, we see that there are three cases : Case 1: N2 N1 -Bit Binary Carry Look Ahead Adder Cin Cout Sum[3:0] sum[1] sum[2] sum[0] sum[3] sum[3] sum[3] Cout Sum[3:0] Carry Generate Carry Propagate Figure 1: Carry Generate and Carry Propagate deign addition are used, more fruitful the RBCD adder is [8]. The sum of two BCD digits is smaller than 9. In this case, it is certain that there is no carry output even if there is a carry 17

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org input. Furthermore, the result for this digit does not require a correction. Case 2: The sum of two BCD digits is greater than 9. In this case, a correction is required. Moreover, a carry output is produced regardless of the carry input. Case 3: The sum of two BCD digits is exactly 9. In this case, the input carry determines whether a correction is required and whether proposed adder Cin will not have a role in correcting the first stage output. Figure 3 shows the block diagram for modified reduced delay BCD adder which includes first stage CLA adder, Carry Network and Correction logic. There are two major differences between reduced delay BCD adder and suggested one First, for Adder and Analyzer block an extra input is given which is connected to Cin in the first stage and for subsequent stages this input is grounded. Second, Cin is no more used to correct the sum output of first stage adder. Adder + Analyser D CP CG BS[15:12].... Adder + Analyser D CP CG BS[7:] Adder + Analyser D CP CG BS[3:0] Cin... Cout Decision + Carry Network CV BS[15:0] 16 Figure 2: Modified Reduced Delay BCD Adder with Carry Network 16 a carry output is produced. Figure 1 shows how the CG and CP signals of a digit are computed in our design. CG and CP signals are calculated from the SUM and Carry outputs of the first stage CLA adder using equations 1 and 2 respectively. CP = Sum[3]. Sum[0] (1) CG = Cout + Sum[3].Sum[2] + Sum[3].Sum[1] (2) In the modified Adder-Analyzer block an additional input is given which in first stage is connected to Carry In(Cin) and for the remaining stages it is grounded. After having all CG and CP values the output carry of each digit can be calculated using carry network. Carry Network can be a parallel prefix network which performs their operations in a constant time, irrespective of length of the inputs. In this paper Kogge-Stone prefix network is used as carry network as in [10]. The output of the carry network is used for correction of the output. The integrated block diagram of Adder, Analyzer and Carry Network is shown in Figure 2. The carry for subsequent blocks are calculated in the carry network. The correction to the sum output of first stage adder is done by adding 0, 1, 6 or 7 to it. For each sum output, the present carry network output and previous carry network output determines the value to be added for correction. Unlike reduced delay BCD adder [10] in. RESULTS AND DISCUSSIONS A scalable n-bit modified reduced delay BCD adder and reduced delay are implemented in Verilog HDL and simulated with different corner case inputs. In case of reduced delay BCD adder, if the sum of first two digits is greater than 9 and Cin is zero the output correction from binary to BCD is found to be error some. Here two cases are mentioned which will explain the above scenario. If the sum of the first digits in the both the operands is greater than 9 and Cin is one then the output is coming as expected, but if the Cin is zero, even though the sum value is greater than 9 the value added in the correction step is b0000 instead of b0110. In the second case which is mentioned in Table 1, the first digits from the two inputs are 6 and 6 respectively and the sum output is C. Hence the correction value should have been b0110 i.e., 6, which would have given the value b0010 and a carry. But since Cin is zero the correction value is b0000 which will lead to the erroneous output of C. Similar is the case with first scenario also. In case of modified reduced delay BCD adder the above mentioned flaw is rectified by using Cin only in first stage adder and not in correction logic. The results for the modified reduced delay BCD adder can be observed in Table 2. 18

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org The reduced delay BCD adder [10] and the modified reduced delay BCD adder has been designed to support 6-bit and 128-bit decimal addition with BCD operands. All the adders are designed using Verilog HDL and the designs are optimized in synopsys design compiler using TSMC 65nm library and the results of 6-bit and 128 bit presented in table 3. When Reduced Delay BCD (RBCD) adder is compared for delay with Modified Reduced Delay BCD adder (MRBCD), delay decreases by 2.2%. In terms of area, when Reduced Delay BCD (RBCD) adder is compared, Modified Reduced Delay BCD adder (MRBCD), area increases by 2.6%. Power calculations show that Reduced Delay BCD (RBCD) adder shows an increase of 3.3% over Reduced Delay BCD adder (MRBCD). When simulations are repeated for 128 bit design, the results are as in Table 3. In terms of delay, Modified Reduced Delay BCD adder (MRBCD), delay decreases by 5%. For area calculations, when Reduced Delay BCD (RBCD) adder is compared, Modified Reduced Delay BCD adder (MRBCD), area increases by 0.9%. Power calculations show, Modified Reduced Delay BCD adder (MRBCD), power increases by 2.3%. 6 N2 6 N1 C[15] Adder + Analyzer + Carry Network Cin C[15] BS[63:60] C[2] BS[7:] C[0] BS[3:0} 0.... 0 0 0 -bit Binary Adder -bit Binary Adder -bit Binary Adder Figure 3: Modified Reduced Delay BCD Adder C - Carry BS - Binary Sum CR - Corrected Result Table 1 Simulation results of Reduced Delay BCD adder Inputs Decimal Values Carry In (Cin) Sum Out Carry Out Expected Sum Output Expected Carry Out 0 9082 1 9098 1 1 9099 1 9099 1 A 6626 0 209C 1 2102 1 19

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org B 576 A 6626 B 576 1 2103 1 2103 1 Table 2 Simulation results of Modified reduced delay BCD adder. Inputs Decimal Values Carry In (Cin) Sum Out Carry Out Expected Sum Output Expected Carry Out A 6626 B 576 A 6626 B 576 0 9098 1 9098 1 1 9099 1 9099 1 0 2102 1 2102 1 1 2103 1 2103 1 Table 3 Synthesis results of Reduced Delay BCD adder and Modified Reduced delay BCD adder for 6-bit & 128-bit Parameters Reduced Delay BCD adder 6-bit Modified Reduced Delay Reduced Delay BCD adder 128-bit Modified Reduced Delay Gate Count 5 52 92 950 Area 1187µm 1218µm 293µm 2517.11µm Delay 0.9ns 0.88ns 1.2ns 1.1ns Dynamic Power 355.1µw 365.83µw 735.32pW 78.65pW leakage Power 33.2µw 35.9µw 68.1pW 73.3pW Total Power 388.61µw 01.73µw 803.2pW 821.95pW 5. CONCLUSION A details study of reduced delay BCD adder was done and few functional errors were identified when simulated with corner cases. A modified reduced delay BCD adder has been proposed by bringing in few changes in the normal reduced delay BCD adder. The proposed design can handle all the corner cases where the previous design failed. 6. REFERENCES [1] W Buchholz Fingers or Fists? (The Choice of Decimal or Binary Representation). Communications of the ACM, vol.2, issue 12, pg 3 11, December 1959. [2] A. H. Burks, H. H. Goldstein, and J. von Neumann. Preliminary Discussion of The Logical Design of An Electronic Computing Instrument. Technical report, Institute for Advanced Study, June 196. 20

International Journal of Applied Information Systems (IJAIS) ISSN : 229-0868 Volume 6 No. 9, March 201 www.ijais.org [3] M. F. Cowlishaw. Decimal Floating-Point: Algorism for Computers. In Proceedings of 16th IEEE Symposium oncomputer Arithmetic, pages 10 111, June 2003 [] M. M. Mano. Digital Design, pages 129 131. Prentice Hall, third edition, 2002. [5] I. S. Hwang. High Speed Binary and Decimal Arithmetic Unit. United States Patent, (,866,656), September 1989. [6] B. Shirazi, D. Y. Y. Young, and C. N. Zhang. RBCD: Redundant Binary Coded Decimal Adder. In IEEE Proceedings, Part E, No. 2, volume 136, pages 156 160, March 1989. [7] M. S. Schmookler and A.W.Weinberger. High Speed Decimal Addition. IEEE Transactions on Computers, C- 20:862 867, Aug. 1971. [8] J. D. Thompson, N. Karra, and M. J. SchulteB. A 6-Bit Decimal Floating-Point Adder. In Proceedings of the IEEE Computer Society Annual Symposium on VLSI, pages 297 298, February 200. [9] P. M. Kogge and H. S. Stone. A Parallel Algorithm for The Efficient Solution of a General Class of Recurrence Equations. IEEE Trans. on Computers, C-22(8), Aug. 1973. [10] Alp Arslan Bayrakci and Ahmet Akkas. Reduced Delay BCD Adder. IEEE, 2007. 21