International Journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

Similar documents
Adder (electronics) - Wikipedia, the free encyclopedia

Design of 16-bit Heterogeneous Adder Architectures Using Different Homogeneous Adders

AREA AND POWER EFFICIENT CARRY SELECT ADDER USING BRENT KUNG ARCHITECTURE

CHAPTER 3 ANALYSIS OF LOW POWER, AREA EFFICIENT AND HIGH SPEED ADDER TOPOLOGIES

Design of 32-bit Carry Select Adder with Reduced Area

DESIGN OF LOW POWER HIGH SPEED ERROR TOLERANT ADDERS USING FPGA

High Speed, Low power and Area Efficient Processor Design Using Square Root Carry Select Adder

Comparative Analysis of Various Adders using VHDL

Performance Analysis of a 64-bit signed Multiplier with a Carry Select Adder Using VHDL

CSE 370 Winter Homework 5 Solutions

DESIGN AND IMPLEMENTATION OF AREA EFFICIENT, LOW-POWER AND HIGH SPEED 128-BIT REGULAR SQUARE ROOT CARRY SELECT ADDER

PERFORMANCE ANALYSIS OF DIFFERENT ADDERS USING FPGA

FPGA Implementation of Area Efficient and Delay Optimized 32-Bit SQRT CSLA with First Addition Logic

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm

Analysis & Comparison Different Adders

Design, Implementation and performance analysis of 8-bit Vedic Multiplier

II. LITERATURE REVIEW

A Novel Approach For Designing A Low Power Parallel Prefix Adders

Implementation of 32-Bit Unsigned Multiplier Using CLAA and CSLA

POWER DISSAPATION CHARACTERISTICS IN VARIOUS ADDERS

Multiplier and Accumulator Using Csla

Design of Delay Efficient PASTA by Using Repetition Process

Comparison among Different Adders

Implementation of High Performance Carry Save Adder Using Domino Logic

FPGA IMPLEMENATION OF HIGH SPEED AND LOW POWER CARRY SAVE ADDER

DESIGN OF BINARY MULTIPLIER USING ADDERS

High Performance Low-Power Signed Multiplier

NOVEL HIGH SPEED IMPLEMENTATION OF 32 BIT MULTIPLIER USING CSLA and CLAA

Area Delay Efficient Novel Adder By QCA Technology

Design and Implementation of High Speed Area Efficient Carry Select Adder Using Spanning Tree Adder Technique

Implementation of Carry Select Adder using CMOS Full Adder

A High Speed Low Power Adder in Multi Output Domino Logic

IMPLEMENTATION OF UNSIGNED MULTIPLIER USING MODIFIED CSLA

Performance analysis of different 8-bit full adders

Design of Static Segment Adder for Approximating Computing Applications

DESIGN OF HIGH SPEED AND ENERGY EFFICIENT CARRY SKIP ADDER

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors

An Efficient Low Power and High Speed carry select adder using D-Flip Flop

Published by: PIONEER RESEARCH & DEVELOPMENT GROUP ( 1

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

Modelling Of Adders Using CMOS GDI For Vedic Multipliers

ADVANCES in NATURAL and APPLIED SCIENCES

[Krishna, 2(9): September, 2013] ISSN: Impact Factor: INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY

A Novel High-Speed, Higher-Order 128 bit Adders for Digital Signal Processing Applications Using Advanced EDA Tools

CHAPTER 4 ANALYSIS OF LOW POWER, AREA EFFICIENT AND HIGH SPEED MULTIPLIER TOPOLOGIES

Design and Implementation of Carry Select Adder Using Binary to Excess-One Converter

Minimization of Area and Power in Digital System Design for Digital Combinational Circuits

A HIGH SPEED DYNAMIC RIPPLE CARRY ADDER

DESIGN AND IMPLEMENTATION OF 64- BIT CARRY SELECT ADDER IN FPGA

Design of High Speed and Low Power Adder by using Prefix Tree Structure

A Highly Efficient Carry Select Adder

International Journal of Modern Trends in Engineering and Research

FPGA Implementation of Area-Delay and Power Efficient Carry Select Adder

Study and Analysis of Full Adder in Different Sub-Micron Technologies with an Area Efficient Layout of 4-Bit Ripple Carry Adder

Implementation of 32-Bit Carry Select Adder using Brent-Kung Adder

DESIGN OF HIGH SPEED 32 BIT UNSIGNED MULTIPLIER USING CLAA AND CSLA

DESIGN OF LOW POWER MULTIPLIERS

Design of Robust and power Efficient 8-Bit Ripple Carry Adder using Different Logic Styles

Design and Simulation of Low Power and Area Efficient 16x16 bit Hybrid Multiplier

Structural VHDL Implementation of Wallace Multiplier

IJMIE Volume 2, Issue 5 ISSN:

Design and Analysis of Row Bypass Multiplier using various logic Full Adders

DESIGN OF CARRY SELECT ADDER WITH REDUCED AREA AND POWER

Design and Implementation of Low Power Error Tolerant Adder

A CASE STUDY OF CARRY SKIP ADDER AND DESIGN OF FEED-FORWARD MECHANISM TO IMPROVE THE SPEED OF CARRY CHAIN

Implementation of 256-bit High Speed and Area Efficient Carry Select Adder

An Optimized Design of High-Speed and Energy- Efficient Carry Skip Adder with Variable Latency Extension

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

A Survey on A High Performance Approximate Adder And Two High Performance Approximate Multipliers

A Hierarchical Design of High Performance Carry Select Adder Using Reversible Logic

Design and Implementation of High Speed Carry Select Adder Korrapatti Mohammed Ghouse 1 K.Bala. 2

Group 10 Group 9 Group 8 Group 7 Group 6 Group 5 Group 4 Group 3 Group 2 Group 1 Group 0 GG5 PG5 GG4 PG4. Block 3 Block 2 Block 1 Block 0

Design and Implementation of High Speed Carry Select Adder

Design and Simulation of 32-Bit Carry-Ripple Adder using HSPICE and Mentor Graphics

ISSN Vol.03, Issue.07, September-2015, Pages:

An Optimized Implementation of CSLA and CLLA for 32-bit Unsigned Multiplier Using Verilog

Low power high speed hybrid CMOS Full Adder By using sub-micron technology

Digital Integrated CircuitDesign

Design and Comparative Analysis of Conventional Adders and Parallel Prefix Adders K. Madhavi 1, Kuppam N Chandrasekar 2

UNIT III. Designing Combinatorial Circuits. Adders

Design and Simulation of Convolution Using Booth Encoded Wallace Tree Multiplier

Area and Delay Efficient Carry Select Adder using Carry Prediction Approach

Survey of VLSI Adders

2 Assoc Prof, Dept of ECE, George Institute of Engineering & Technology, Markapur, AP, India,

Comparative Analysis of Multiplier in Quaternary logic

Low Power 32-bit Improved Carry Select Adder based on MTCMOS Technique

32-bit High Speed Adder

FPGA Realization of Hybrid Carry Select-cum- Section-Carry Based Carry Lookahead Adders

Design and Estimation of delay, power and area for Parallel prefix adders

Design and Analysis of Improved Sparse Channel Adder with Optimization of Energy Delay

Design of Low Power High Speed Adders in McCMOS Technique

International Journal of Scientific & Engineering Research, Volume 7, Issue 3, March-2016 ISSN

Combinational Logic Circuits. Combinational Logic

REVIEW ARTICLE: EFFICIENT MULTIPLIER ARCHITECTURE IN VLSI DESIGN

DESIGN OF HIGH SPEED PASTA

Analysis of Parallel Prefix Adders

Design of High Speed Hybrid Sqrt Carry Select Adder

EFFICIENT DESIGN AND IMPLEMENTATION OF ADDERS WITH REVERSIBLE LOGIC

Signal Processing Using Digital Technology

AREA AND DELAY EFFICIENT DESIGN FOR PARALLEL PREFIX FINITE FIELD MULTIPLIER

Transcription:

RESEARCH ARTICLE ISSN: 2321-7758 ANALYSIS & SIMULATION OF DIFFERENT 32 BIT ADDERS SHAHZAD KHAN, Prof. M. ZAHID ALAM, Dr. RITA JAIN Department of Electronics and Communication Engineering, LNCT, Bhopal, (MP) ABSTRACT Adders are the used as digital components in digital circuit design. In this paper, various adder structures are used to execute addition such as serial and parallel structures and most of researches have done research on the design of highspeed, low-area, or low power adders. Adders like ripple carry adder, carry select adder, carry look ahead adder, carry skip adder exist numerous adder implementations each with good attributes and some drawbacks. This paper focuses on the delay comparison of these adders. We have recorded the performance improvements in propagating the carry and generating the sum when compared with the traditional carry look ahead adder designed in the same technology. KY PUBLICATIONS INTRODUCTION Adders are widely used in generic computer for adding data in the processor, it is also commonly used in various electronic applications e.g. digital signal processing to perform various algorithms. In past, the major challenge for VLSI designer is to reduce area of chip by using efficient optimization techniques and then the next phase is to increase the speed of the operation to achieve fast calculations. Arithmetic logic unit is the main component of central processing unit, where the addition, multiplication, comparison and other logical operations are performed. There are three performance parameter on which a VLSI designer has to optimize their design, which are Area, Speed, and Power. Moreover, there are various types of adders such as Ripple Carry Adder (RCA), Carry-Look ahead Adder (CLA), Carry Select Adder (CSA), Carry-Bypass Adder or Carry Skip Adder (CSK) discussed. RIPPLE CARRY ADDER (RCA) It is possible to create a logical circuit using multiple full adders to add N-bit numbers. Each full adder inputs a C in, which is the C out of the previous adder. This kind of adder is called a ripple-carry adder, since each carry bit "ripples" to the next full adder. Note that the first (and only the first) full adder may be replaced by a half adder. The layout of a ripple-carry adder is simple, which allows for fast design time; however, the ripple-carry adder is relatively slow, since each full adder must wait for the carry bit to be calculated from the previous full adder. The gate delay can easily be calculated by inspection of the full adder circuit. Each full adder requires three levels of logic. In a 32-bit ripple-carry adder, there are 32 full adders, so the critical path (worst case) delay is 3 (from input to carry in first adder) + 31 * 2 (for carry propagation in later adders) = 65 gate delays. A design with alternating carry polarities and optimized AND-OR-Invert gates can be about twice as fast. Multiple full adder circuits can be cascaded in parallel to add an N-bit number. For an N- bit parallel adder, there must be N number of full adder circuits. A ripple carry adder is a logic circuit in which the carryout of each full adder is the carry in of the succeeding next most significant full adder. It is called a ripple carry adder because each carry bit gets rippled into 6 SHAHZAD KHAN et al

the next stage. In a ripple carry adder the sum and carry out bits of any half adder stage is not valid until the carry in of that stage occurs. Propagation delays inside the logic circuitry are the reason behind this. Propagation delay is time elapsed between the application of an input and occurrence of the corresponding output. Consider a NOT gate, When the input is 0 the output will be 1 and vice versa. The time taken for the NOT gate s output to become 0 after the application of logic 1 to the NOT gate s input is the propagation delay here. Similarly the carry propagation delay is the time elapsed between the application of the carry in signal and the occurrence of the carry out (Cout) signal. The carry generate G i variables can be generated directly from A i and B i inputs and the carry generate P i variables are obtained by EXORing A i and B i inputs and C -1 is the carry input. Logic diagram of a look ahead carry generator shown in fig.2; if all the logic variables are available simultaneously, the carry outputs are implemented by using 2-level logic realization. Look ahead carry utilizes logic gates to look at the lower order bits of the augend and addend to see if a higher order carry is to be generated. The propagation delay time through the adder is considerably reduced and it becomes independent of the number of full-adders in circuit. Fig. 1: Ripple Carry Adder CARRY LOOK AHEAD ADDER Fig. 2: Full Adder Block From the above figure of full adder P i = A i EXOR B i G i = A i. B i S i = P i EXOR C i-1 = A i EXOR B i EXOR C i-1 C i = G i + P i.c i-1 The logic variable G i is known as a carry generate and is independent of input carry. The logic variable P i is known as a carry propagate because this is the term associated with the propagation of the carry from C i-1 to C i. Now, C i+1 = G i+1 + P i+1.c i = G i+1 + P i+1 [G i + P i.c i-1 ] C i+1 = G i+1 + P i+1.g i + P i+1.p i.c i-1 Therefore, for 4-bit parallel adder P 0 = A 0 EXOR B 0 G 0 = A 0.B 0 C 0 = G 0 + P 0.C -1 C 1 = G 1 + P 1.G 0 + P 1.P 0.C -1 C 2 = G 2 + P 2.G 1 + P 2.P 1.G 0 + P 2.P 1.P 0.C -1 C 3 = G 3 + P 3.G 2 + P 3.P 2.G 1 + P 3.P 2.P 1.G 0 + P 3.P 2.P 1. P 0.C -1 7 SHAHZAD KHAN et al Fig. 3: 4-bit adder with look ahead carry generator Fig. 4: n bit Adder with Carry Look Ahead CARRY-SKIP ADDER (RCA) A carry-skip adder (also known as a carry-bypass adder) is an adder implementation that improves on the delay of a ripple-carry adder. The two addends are split in blocks of n bits. The output carry of each block is dependent on the input carry only if, for each of the n bits in the block, at least one addend has a 1 bit. The output carry Co i+n-1, for the block corresponding to bits i to i+n-1 is obtained from a multiplexer, wired as follows: SEL = (A i + B i ) (A i+1 + B i+1 ).. (A i+n-1 + B i+n-1 )

A = C ripple, i+n-1 (the carry output for the ripple adder summing bits i to i+n-1) B = C out, i-1 This greatly reduces the latency of the adder through its critical path, since the carry bit for each block can now "skip" over blocks with a group propagate signal set to logic 1 (as opposed to a long ripple-carry chain, which would require the carry to ripple through each bit in the adder). With a RCA, if the input bits Xi and Yi are different for all position i, then the carry signal is propagated at all positions and the addition is completed when the carry signal has propagated through the whole adder. In this case, the RCA is as slow as it is large. Actually, RCA are fast only for some configurations of the input words, where carry signals are generated at some positions. Depending on the position at which a carry signal has been generated, the propagation time can be variable. Carry Skip Adders take advantage both of the generation or the propagation of the carry signal. They are divided into blocks, where a special circuit detects quickly if all the bits to be added are different (P i = 1 in the entire block). The signal produced by this circuit will be called block propagation signal. If the carry is propagated at all positions in the block, then the carry signal entering into the block can directly bypass it and so be transmitted through a multiplexer to the next block. As soon as the carry signal is transmitted to a block, it starts to propagate through the block, as if it had been generated at the beginning of the block. Figure 5 shows the structure of a 16-bits skip carry adder, divided into 2, 4 and 8- blocks. It becomes now obvious that there exist a trade-off between the speed and the size of the blocks. In this part we analyze the division of the adder into blocks of equal size. We denote k1 the time needed by the carry signal to propagate through an adder cell (one FA propagates), and k 2 the time it needs to skip over one block. Suppose the N-bit Carry Skip Adder is divided into M blocks, and each block contains P adder cells. The actual addition time of a RCA depends on the configuration of the input words. The completion time may be small but it also may reach the worst case, when all adder cells propagate the carry signal. In the same way, we must evaluate the worst carry propagation time for the Carry Skip Adder. The worst case of carry propagation is for X i =1 and Y i =0 and C in =1 inputs. Fig. 5: Carry Skip Logic Let an Example: M = 4 bits; N = 16 bits. If P(j) = 1 (Propagation); then Group(j) will be skipped X(j) : m-bits of group (j) Y(j) : m-bits of group (j) Cin(j) : Carry in to group(j) Cout(j) = Cin(j+1) : Carry out of group(j) = Carry in to next group(j+1). ( j ) : Group(j) consisting of m- bits numbers to add Fig. 6: Carry Skip Adder Block diagram consider addition of the following numbers.. a k+1 a k+2 a k 010101 a l+2 a l+1 a l... b k+1 b k+2 b k 101010 b l+2 b l+1 b l. If C l+3 = 1 then carry will propagate to position k; to speed-up operation, propagation is skipped to position i without waiting for rippling operation time varies according to operands as in carry-complete addition to implement carry-skip adder, stages are divided into blocks and carry-skip logic is added to each block to detect when carry-in the block can be passed directly to the next block define carry transfer T i = a i + b i carry skipping can be detected for a block size of m as follows (carry propagates through all stages): T j. T j+1.t j+m-1 = 1 ( = (a j + b j ). (a j+1 + b j+1 ). ) note: this takes into account both propagated and generated carries! Carry out from the block (m-bits in a block) is T j. T j+1. T j+m-1. C j + C j+m Skipped Generated Block size in carry-skip adder is very important; worst case operation time takes place when carry is generated in the first block; carry skips intermediate stages and carry is killed in the last block. 8 SHAHZAD KHAN et al

Worst case addition time is T; where (n = adder width, m = block size) In practice, non-uniform block sizes give the best performance but in general, outer blocks should be smaller than middle blocks. 0, and the other assumes a carry-in of 1, selecting which adder had the correct assumption via the actual carry-in yields the desired result. A 16-bit carry-select adder with a uniform block size of 4 can be created with three of these blocks and a 4-bit ripple carry adder. Since carry-in is known at the beginning of computation, a carry select block is not needed for the first four bits. The delay of this adder will be four full adder delays, plus three MUX delays. SIMULATION RESULTS Fig. 7: Carry Skip Adder Circuit CARRY-SELECT ADDER (CSA) The carry-select adder generally consists of two ripple carry adders and a multiplexer. Adding two n-bit numbers with a carry select adder is done with two adders (therefore two ripple carry adders) in order to perform the calculation twice, one time with the assumption of the carry being zero and the other assuming one. After the two results are calculated, the correct sum, as well as the correct carry, is then selected with the multiplexer once the correct carry is known. The number of bits in each carry select block can be uniform, or variable. In the uniform case, the optimal delay occurs for a block size of n. When variable, the block size should have a delay, from addition inputs A and B to the carry out, equal to that of the multiplexer chain leading into it, so that the carry out is calculated just in time. The o( n) delay is derived from uniform sizing, where the ideal number of full-adder elements per block is equal to the square root of the number of bits being added, since that will yield an equal number of MUX delays. (a) (c) Fig. 9: Simulation Results (a) CLA (b) Carry Skip (c) CSA CONCLUSION This work has presented improved 32-bit conditional sum adders for high-speed low-power applications. The capacitance of the multiplexer network tree is reduced, yielding benefits in power consumption and operation speed. It was found that the proposed adders always outperformed the old ones in these circuit implementations. These improved 32-bit adders can reduce the power delay product by 10% to 25% and reduce the layout area by about 20%. Table: Delay Comparison between various adder circuits (in nanoseconds, ns) (b) ADDER CLA Carry Skip CSA DELAY 41.900 31.900 31.900 Fig. 8: Carry Select Adder Above is the basic building block of a carry-select adder, where the block size is 4. Two 4-bit ripple carry adders are multiplexed together, where the resulting carry and sum bits are selected by the carryin. Since one ripple carry adder assumes a carry-in of REFERENCES [1]. Pierre, L. VHDL description and formal verification of systolic multipliers. In CHDL, N. Holland, 1993. [2]. A. Kaldewaij, Programming: The Derivation of Algorithms, Prentice-Hall, 1990. 9 SHAHZAD KHAN et al

[3]. John G. Proakis and Dimitris G. Manolakis (1996), Digital Signal Processing: Principles,. Algorithms and Applications, Third Edition. [4]. A. D. Booth, A signed binary multiplication technique. Quart. J. of Mech. Appl. Math, 4(2), 1951. [5]. Volnei A. Pedroni: Circuit Design and Simulation with VHDL, Second edition, PHI. [6]. *6+ BROWN, Stephen D., Fundamentals of Digital Logic with VHDL design, Boston: McGraw-Hill, 2000. [7]. Peter J. Ashenden, The Designer s Guide to VHDL, Morgan Kaufmann Publishers, 95 Inc., 1996. [8]. V. Kantabulra, Designing optimum onelevel carry-skip adders, IEEE Transactions on Computers, vol. 42, no. 6, pp. 759-764, June 1993. [9]. Beebe, H.F. Nelson, Floating Point Arithmetic, Computation in Modern Science & Technology, December, 2007. [10]. N. Weste, D. Harris, CMOS VLSI Design, Third Edition, Addison Wesley. 10 SHAHZAD KHAN et al