HIGH PERFORMANCE QUATERNARY ARITHMETIC LOGIC UNIT ON PROGRAMMABLE LOGIC DEVICE

Similar documents
VLSI Implementation of Fast Addition Using Quaternary Signed Digit Number System

DESIGN OF QUATERNARY ADDER FOR HIGH SPEED APPLICATIONS

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Low-Power Programmable PRPG with Test Compression Capabilities

VLSI Implementation of Fast Addition Subtraction and Multiplication (Unsigned) Using Quaternary Signed Digit Number System

A Review of Various Adders for Fast ALU

Binary Addition. Add the binary numbers and and show the equivalent decimal addition.

Simulation Results Analysis Of Basic And Modified RBSD Adder Circuits 1 Sobina Gujral, 2 Robina Gujral Bagga

Performance of Constant Addition Using Enhanced Flagged Binary Adder

Analysis of Different Multiplication Algorithms & FPGA Implementation

Chapter 4. Combinational Logic

Chapter 4 Arithmetic Functions

Chapter 3: part 3 Binary Subtraction

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

High Speed Multiplication Using BCD Codes For DSP Applications

Number System. Introduction. Decimal Numbers

High Performance and Area Efficient DSP Architecture using Dadda Multiplier

A Novel Design of 32 Bit Unsigned Multiplier Using Modified CSLA

Efficient Radix-10 Multiplication Using BCD Codes

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

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

International Journal of Engineering and Techniques - Volume 4 Issue 2, April-2018

CO Computer Architecture and Programming Languages CAPL. Lecture 9

Reducing Computational Time using Radix-4 in 2 s Complement Rectangular Multipliers

D I G I T A L C I R C U I T S E E

High Throughput Radix-D Multiplication Using BCD

Analysis of Performance and Designing of Bi-Quad Filter using Hybrid Signed digit Number System

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

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

On-Line Error Detecting Constant Delay Adder

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

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

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 352 Digital System Fundamentals.

A Novel Architecture of Parallel Multiplier Using Modified Booth s Recoding Unit and Adder for Signed and Unsigned Numbers

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

Signed Binary Addition Circuitry with Inherent Even Parity Outputs

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

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

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

Reduced Delay BCD Adder

Design of Low Power Digital CMOS Comparator

OPTIMIZING THE POWER USING FUSED ADD MULTIPLIER

COMBINATIONAL LOGIC CIRCUITS

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

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

Implementation of Floating Point Multiplier Using Dadda Algorithm

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

Array Multipliers. Figure 6.9 The partial products generated in a 5 x 5 multiplication. Sec. 6.5

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

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

CHAPTER V NUMBER SYSTEMS AND ARITHMETIC

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

CHW 261: Logic Design

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

Performance Analysis of CORDIC Architectures Targeted by FPGA Devices

Combinational Logic with MSI and LSI

EE 486 Winter The role of arithmetic. EE 486 : lecture 1, the integers. SIA Roadmap - 2. SIA Roadmap - 1


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

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

MODULO 2 n + 1 MAC UNIT

Digital Fundamentals

DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS

Design of BCD Parrell Multiplier Using Redundant BCD Codes

An Efficient Implementation of Floating Point Multiplier

Digital Fundamentals. CHAPTER 2 Number Systems, Operations, and Codes

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

High Speed Radix 8 CORDIC Processor

THE LOGIC OF COMPOUND STATEMENTS

Hybrid Signed Digit Representation for Low Power Arithmetic Circuits

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

An Efficient Constant Multiplier Architecture Based On Vertical- Horizontal Binary Common Sub-Expression Elimination Algorithm

1. Mark the correct statement(s)

Performance Analysis of 64-Bit Carry Look Ahead Adder

University, Patiala, Punjab, India 1 2

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

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

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-II COMBINATIONAL CIRCUITS

Chapter Three. Digital Components

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

Korea University of Technology and Education

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

ABSTRACT I. INTRODUCTION. 905 P a g e

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-278: Digital Logic Design Fall Notes - Unit 4. hundreds.

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

IMPLEMENTATION OF AN ADAPTIVE FIR FILTER USING HIGH SPEED DISTRIBUTED ARITHMETIC

Logic Circuits I ECE 1411 Thursday 4:45pm-7:20pm. Nathan Pihlstrom.

DIGITAL SYSTEM DESIGN

Number Systems CHAPTER Positional Number Systems

Binary Adders. Ripple-Carry Adder

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

Area-Time Efficient Square Architecture

Arithmetic Processing

Modified Booth Encoder Comparative Analysis

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

DESIGN AND IMPLEMENTATION OF FAST DECIMAL MULTIPLIER USING SMSD ENCODING TECHNIQUE

On Designs of Radix Converters Using Arithmetic Decompositions

Partial product generation. Multiplication. TSTE18 Digital Arithmetic. Seminar 4. Multiplication. yj2 j = xi2 i M

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

Transcription:

International Journal of Advances in Applied Science and Engineering (IJAEAS) ISSN (P): 2348-1811; ISSN (E): 2348-182X Vol. 2, Issue 1, Feb 2015, 01-07 IIST HIGH PERFORMANCE QUATERNARY ARITHMETIC LOGIC UNIT ON PROGRAMMABLE LOGIC DEVICE K. CH. SUBBA REDDY 1, DR. D.VENKATA RAO 2 1 M.T.ech Scholar( VLSI&ES), Narasaraopeta Institute of Technology, Narasaraopeta,A.P 2 Professor in E.C.E Department, Narasaraopeta Institute of Technology, Narasaraopeta,A.P ABSTRACT :- Arithmetic operations in digital signal processing applications suffer from problems including propagation delay and circuit complexity. In this paper a higher radix number system like quaternary signed digit number system (QSD) is used for faster, higher information storage density, less complexity and more accurate arithmetic operations. High speed digital circuits became more prominent with incorporating information processing and computing. Binary Signed Digit Numbers are known to allow limited carry propagation with more complex addition process. Some of the limitations of this system are computational speed which limits formation and propagation of carry especially as the number of bits increases. Therefore it provides large complexity and low storage density. By using Quaternary Signed Digit Number System it is possible to perform carry free addition, borrow free subtraction and multiplication. A QSD number system s digit is represented by a number from -3 to 3. Carry free addition and borrow free subtraction and multiplication can be performed for higher number of bits with constant delay and less complexity. Design is simulated and synthesized using Xilinx Tool. INDEX TERMS : - Carry free addition, Borrow free Subtraction, Multiplication, QSD I. INTRODUCTION HESE high performance adders are essential since the speed of the digital processor depends heavily on the speed of the adders used is the system. Also, it serves as a building block for synthesis of all other arithmetic operations. Adders are most commonly used in various electronic applications e.g. Digital signal processing in which adders are used to perform various algorithms like FIR, IIR etc. In past, the major challenge for VLSI designer is to reduce area of chip by using efficient optimization techniques. Then the next phase is to increase the speed of operation to achieve fast calculations like, in today s microprocessors millions of instructions are performed per second. Speed of operation is one of the major constraints in designing DSP processors. The redundancy associated with signed-digit numbers offers the possibility of carry free addition. The redundancy provided in signed-digit representation allows for fast addition and subtraction because the sum or difference digit is a function of only the digits in two adjacent digit positions of the operands for a radix greater than 2, and 3 adjacent digit positions for a radix of 2. Thus, the add time for two redundant signed-digit numbers is a constant independent of the 1 word length of the operands, which is the key to high speed computation. The advantage of carry free addition offered by QSD numbers is exploited in designing a fast adder circuit. Additionally adder designed with QSD number system has a regular layout which is suitable for VLSI implementation which is the great advantage over the BSD adder. An Algorithm for design of QSD adder is proposed. This algorithm is used to write the VHDL code for QSD adders. VHDL codes for QSD adder is simulated and synthesized and the timing report is generated. The timing report gives the delay time produced by the adder structure. Binary signed-digit numbers are known to allow limited carry propagation with a somewhat more complex addition process requiring very large circuit for implementation [4]. A special higher radix-based (quaternary) representation of binary signed-digit numbers not only allows carryfree addition and borrow-free subtraction but also offers other important advantages such as simplicity in logic and higher storage density. I.I THEOREM It offers the advantage of reduced circuit complexity both in terms of transistor count and interconnections. QSD number uses 25% less space

than BSD to store number and it can be verified by the theorem described as under-qsd numbers save 25% storage compared to BSD, To represent a numeric value N log 4 N number of QSD digits and 3 log 4N binary bits are required while for the same log 2N BSD digits and 2 log 2N binary bits are required in BSD representation. Ratio of number of bits in QSD to BSD representation for an arbitrary number N. So the proposed QSD adder is better than RBSD adder in Terms of number of gates, input connections and delay though both perform addition within constant time. Proposed design has the advantages of both parallelisms as well as reduced gate Complexity. The computation speed and circuit complexity increases as the number of computation steps decreases. A two-step schemes appear to be a prudent choice in terms of computation speed and storage complexity. NUMBERS RANGE Quaternary is the base 4 redundant number system. The degree of redundancy usually increases with the increase of the radix. The signed digit number system allows us to implement parallel arithmetic by using redundancy. QSD numbers are the SD numbers with the digit set as:{ 3, 2,1, 0,1, 2, 3 } where 3, 2, and 1 represent -3, -2, and -1 respectively. In general, a signed-digit decimal number D can be represented in terms of an n digit quaternary signed digit number as n 1 D= Xi4 i i=0 Where X i can be any value from the set { 3, 2,1, 0,1, 2, 3 } for producing an appropriate decimal representation. For digital implementation, QSD numbers are represented using 3-bit 2 s complement notation. A QSD negative number is the QSD complement of the QSD positive number. For example, using primes to denote complementation, we have 3 ' = -3, 3 =3, 2 ' = 2, 1'= -1. Operation Block Diagram: As shown in the above figure, in first step decimal number is converted into QSD. And then carries and sums are generated. In step2 further addition progresses and the result is converted into decimal system. II. DESIGN ALGORITHM In QSD number system carry propagation chain are eliminated which reduce the computation time substantially, thus enhancing the speed of the machine. As range of QSD number is from -3 to 3, the addition result of two QSD numbers varies from - 6 to +6. Table I depicts the output for all possible combinations of two numbers.the decimal numbers in the range of -3 to +3 are represented by one digit QSD number. As the decimal number exceeds from this range, more than one digit of QSD number is required. For the addition result, which is in the range of -6 to +6, two QSD digits are needed. In the two digits QSD result the LSB digit represents the sum bit and the MSB digit represents the carry bit. To prevent this carry bit to propagate from lower digit position to higher digit position QSD number representation is used. QSD numbers allow redundancy in the number representations. The same decimal number can be represented in more than one QSD representations. So we choose such QSD represented number which prevents further rippling of carry. To perform carry free addition, the addition of two QSD numbers can be done in two steps. Step 1: First step generates an intermediate carry and intermediate sum from the input QSD digits i.e., addend and augends. Step 2: Second step combines intermediate sum of current digit with the intermediate carry of the lower significant digit. So the addition of two QSD numbers is done in two stages. First stage of adder generates intermediate carry and intermediate sum from the input digits. Second stage of adder adds the intermediate sum of current digit with the intermediate carry of lower significant digit. To remove the further rippling of carry there are two rules to perform QSD addition in two steps: Rule 1: First rule states that the magnitude of the intermediate sum must be less than or equal to 2 i.e., it should be in the range of -2 to +2. Fig.1: Block diagram representation of QSD. 2

Rule 2: Second rule states that the magnitude of the intermediate carry must be less than or equal to 1 i.e., it should be in the range of -1 to +1. TABLE 1: The Intermediate Carry and Sum between -6 To +6 Sum QSD represented number QSD code number -6 22,12 12-5 23,11 11-4 10 10-3 11,03 11-2 12,02 02-1 13,01 01 0 00 00 1 01,13 01 2 02,12 02 3 03,11 11 4 10 10 5 11,23 11 6 12,22 12 According to these two rules the intermediate sum and intermediate carry from the first step QSD adder can have the range of -6 to +6. But by exploiting the redundancy feature of QSD numbers we choose such QSD represented number, which satisfies the above mentioned two rules. When the second step QSD adder adds the intermediate sum of current digit, which is in the range of -2 to +2, with the intermediate carry of lower significant digit, which is in the range of -1 to +1, the addition result cannot be greater than 3 i.e., it will be in the range of -3 to +3. The addition result in this range can be represented by a single digit QSD number; hence no further carry is required. In the step 1 QSD adder, the range of output is from -6 to +6 which can be represented in the intermediate carry and sum in QSD format as shown in table 1. We can see in the first column of Table 1 that some numbers have multiple representations, but only those that meet the above defined two rules are chosen. This addition process can be well understood by following III.LOGIC DESIGN AND IMPLEMENTATION USING OF SINGLE DIGIT QSD ADDER UNIT 3.1. Operation: There are two steps involved in the carry-free addition. The first step generates an intermediate carry and sum from the addend and augends. The second step combines the intermediate sum of the current digit with the carry of the lower significant digit. To prevent carry from further rippling, two rules are defined. The first rule states that the magnitude of the intermediate sum must be less than or equal to 2. The second rule states that the magnitude of the carry must be less than or equal to 1. Consequently, the magnitude of the second step output cannot be greater than 3 which can be represented by a single -digit QSD number; hence no further carry is required. In step 1, all possible input pairs of the addend and augends are considered. The range of input numbers can vary from -3 to +3, so the addition result will vary from -6 to +6 which needs two QSD digits. The lower significant digit serves as sum and most significant digit serves as carry. The generation of the carry can be avoided by mapping the two digits into a pair of intermediate sum and intermediate carry such that the nth intermediate sum and the (n-1) th intermediate carry never form any carry generating pair. If we restrict the representation such that the intermediate carry is limited to a maximum of 1, and the intermediate sum is restricted to be less than 2, then the final addition will become carry free. Both inputs and outputs can be encoded in 3-bit 2 s complement binary number. The mapping between the inputs, addend and augend, and the outputs, the intermediate carry and sum are shown in binary format in Table 2. To remove the further carry propagation the redundancy feature of QSD numbers is used. We restrict the representation such that all the intermediate carries are limited to a maximum of 1, and the intermediate sums are restricted to be less than 3, then the final addition will become carry free. The QSD representations according to these rules are shown in Table 2 for the range of -6 to +6. As the range of intermediate carry is from -1 to +1, it can be represented in 2 bit binary number but we take the 3 bit representation for the bit compatibility with the intermediate sum. 3

Table2: Conversion between the inputs and outputs of the intermediate carry and intermediate sum Fig. 3: Single digit QSD adder cell. 3.2 LOGIC DESIGN At the input side, the addend A i is represented by 3 variable input as A 2, A 1, A 0 and the augends B i is represented by 3 variable input as B 2, B 1, B 0. At the output side, the intermediate carry IC is represented by IC 2, IC 1, IC 0 and the intermediate sum IS is represented by IS 2, IS 1, IS 0. The six variable expressions for intermediate carry and intermediate sum in terms of inputs (A 2, A 1, A 0, B 2, B 1 and B 0 ) can be derived from Table 3. So we get the six output expressions for IC 2, IC 1, IC 0, IS 2, IS 1 and IS 0. As the intermediate carry can be represented by only 2 bits, the third appended bit IC 2 is equal to IC 1 so the expression for both outputs will be the same. The VHDL code for intermediate carry and sum generator in step 1 adder, by taking the six inputs (A 2, A 1, A 0, B 2, B 1 and B 0 ) and six outputs (IC 2, IC 1, IC 0, IS 2, IS 1 and IS 0 ), the logic equations specifying a minimal hardware realization for generating the intermediate carry and intermediate sum are derived. The min terms for the intermediate carry (IC 2, IC 1, and IC 0 ) are generated from table2. The below logic circuit will gives us all the possibilities of sums and carries. The results are shown in binary and decimal also. From these results we can draw a K- map; it gives some equations for IC 0 -IC 2 and IS 0 - IS 2.Addition operation for higher order digit does not wait for the completion of addition operation of the immediate lower order digit resulting in a parallel addition of each individual pair of digits. The above circuit generates the intermediate carries IC 0, IC1, IC2 and intermediate sums IS 0, IS1, IS2. These results are come from all possibilities of the carry propagations and respective sums. The final sum is the collection of all ICs and ISs. 4

3.3 Design of 4-bit QSD adder cell block diagram: IV.QSD MULTIPLIER: Multiplication is done with partial product generators and QSD adders. Partial product generator consists of single digit multiplier and adders. For n x n QSD Single digit multiplication, n partial product generator circuit and n-1 QSD adders are required. TABLE IV. Outputs of The Step 1 QSD Adder. Fig.3.1 4-bit QSD adder block diagram representation. Three 5-variable Boolean expressions can be extracted from Table 5. Figure 2 shows the diagram of the second step Adder. The implementation of an n-digit QSD adder requires n QSD carry and sum generators and n-1 second step Adders as shown in Figure 3. The result turns out to be an n+1-digit number. TABLE 3.The mapping between inputs and outputs Of the second step QSD Adder. Table V. The QSD Multiplication Fig 3.2. The second step QSD adder. 5

Multiplication requires partial product generator and QSD adder [2]. Partial product generator produces M as result of multiplication between n digit input An-1-A0 with a single digit input Bi where i=0 to n-1. Partial product generator is a combination of a single digit multiplication unit and QSD added. The n digit partial product uses n single digit QSD multiplier. An nxn-digit QSD multiplication requires n partial product terms. In an iterative implementation, a 2ndigit QSD adder is used to perform add-shift operations between the partial product generator and the accumulator. After n iterations, the multiplication is complete. In contrast, a parallel implementation requires n partial product circuits and n-1 QSD adder units. V. SIMULATION RESULTS Figure 4.1: A Single- digit QSD Multiplier The implementation of an n-digit partial product generator uses n units of the single-digit QSD multiplier. Gathering all the outputs to produce a partial product result presents a small challenge. The QSD representation of a single digit multiplication output, shown in Table 4, contains a carry-out of magnitude 2 when the output is either -9 or 9. This prohibits the use of the second step QSD adder alone as a gatherer [4, 5]. In fact, we can use the complete QSD adder from the previous section as the gatherer. Furthermore, the intermediate carry and sum circuit can be optimized by not considering the input of magnitude 3. The QSD partial product generator implementation is shown in Figure 4.2. Fig 5.1- Simulation results single digit QSD adder Fig 5.2- Simulation results 4 digit QSD adder Fig5.3.Simulation result of partial product generator Figure 4.2: The n-digit QSD partial product generator Table VI compares the delays of proposed design with previous designs. It has been observe that delays of previous design are more than delay of QSD adder. 6

TABLE VI. Comparisons of QSD Adder [5] A.A.S Awwal, Syed M. Munir, A.T.M. Shafiqul Khalid, Howard E.Michel and O. N. Garcia, Multivalued Optical Parallel Computation Using An Optical Programmable Logic Array, Informatica, vol. 24, No. 4, pp. 467-473, 2000. [7] John Moskal, Erdal Oruklu and Jafar Saniie, Design and Synthesis of a Carry-Free Signed-Digit Decimal Adder, IEEE International symposium on Circuits and Systems, pp 1089-1092, 2007. VI. CONCLUSION: The Proposed QSD arithmetic logic unit is better than other binary arithmetic unit in terms of number of gates and higher number of bits operation with in constant time. Efficient design for adder block to perform addition and multiplication will increase operation speed.qsd number uses 25% less space than BCD to store number, higher number of gates can be tolerated for further improvement of QSD adder. [8] Kai Hwang, Computer Arithmetic Principles, Architecture and Design, ISBN 0-471-03496-7, John Wiley & Sons, 1979. [9] P. K. Dakhole, D.G. Wakde, Multi Digit Quaternary adder on Programmable Device : Design and verification, International Conference on Electronic Design, pp. 1-4, Dec 2008. REFERENCES [1] A. Avizinis signed digit number representation for fast parallel arithmetic, IRE Transactions on Elec. Comp..Vol EC-10,pp 389-400,sept-1961. [2] A.A.S. Awwal and J.U. Ahmed, fast carry free adder design using QSD number system proceedings of the IEEE 1993 national aerospace and electronic conference, vol 2,pp 1085-1090,1993. [3] Behrooz perhami generalized signed digit umber systems, a unifying frame work for redundant umber reperesentation.ieee transactions on computers,vol 39,no.1,pp.89-98,January 19990. [4] O. Ishizuka, A. Ohta, K. Tannno, Z. Tang, D. andoko, VLSI design of a quaternary multiplier with direct generation of partial products, Proceedings of the 27th International Symposium on Multiple- Valued Logic, pp. 169-174, 1997. 7